diff --git a/extensions/ql-vscode/src/remote-queries/shared/repository.ts b/extensions/ql-vscode/src/remote-queries/shared/repository.ts new file mode 100644 index 000000000..af2fc0b0f --- /dev/null +++ b/extensions/ql-vscode/src/remote-queries/shared/repository.ts @@ -0,0 +1,5 @@ +export interface Repository { + id: number, + fullName: string, + private: boolean, +} diff --git a/extensions/ql-vscode/src/remote-queries/shared/variant-analysis.ts b/extensions/ql-vscode/src/remote-queries/shared/variant-analysis.ts index ef6d5f8b0..44d481b80 100644 --- a/extensions/ql-vscode/src/remote-queries/shared/variant-analysis.ts +++ b/extensions/ql-vscode/src/remote-queries/shared/variant-analysis.ts @@ -1,5 +1,74 @@ +import { Repository } from './repository'; + +export interface VariantAnalysis { + id: number, + controllerRepoId: number, + query: { + name: string, + filePath: string, + language: VariantAnalysisQueryLanguage + }, + databases: { + repositories?: string[], + repositoryLists?: string[], + repositoryOwners?: string[], + }, + status: VariantAnalysisStatus, + actionsWorkflowRunId?: number, + failureReason?: VariantAnalysisFailureReason, + scannedRepos?: VariantAnalysisScannedRepository[], + skippedRepos?: VariantAnalysisSkippedRepositories +} + +export enum VariantAnalysisQueryLanguage { + CSharp = 'csharp', + Cpp = 'cpp', + Go = 'go', + Java = 'java', + Javascript = 'javascript', + Python = 'python', + Ruby = 'ruby' +} + export enum VariantAnalysisStatus { InProgress = 'inProgress', Succeeded = 'succeeded', Failed = 'failed', } + +export enum VariantAnalysisFailureReason { + NoReposQueried = 'noReposQueried', + InternalError = 'internalError', +} + +export enum VariantAnalysisRepoStatus { + Pending = 'pending', + InProgress = 'inProgress', + Succeeded = 'succeeded', + Failed = 'failed', + Canceled = 'canceled', + TimedOut = 'timedOut', +} + +export interface VariantAnalysisScannedRepository { + repository: Repository, + analysisStatus: VariantAnalysisRepoStatus, + resultCount?: number, + artifactSizeInBytes?: number, + failureMessage?: string +} + +export interface VariantAnalysisSkippedRepositories { + accessMismatchRepos?: VariantAnalysisSkippedRepositoryGroup, + notFoundRepos?: VariantAnalysisSkippedRepositoryGroup, + noCodeqlDbRepos?: VariantAnalysisSkippedRepositoryGroup, + overLimitRepos?: VariantAnalysisSkippedRepositoryGroup +} + +export interface VariantAnalysisSkippedRepositoryGroup { + repositoryCount: number, + repositories: Array<{ + id?: number, + fullName: string + }> +}