diff --git a/src/api/repository.js b/src/api/repository.js deleted file mode 100644 index 741b68f5c18a9f2c2d9df486603d9e1bc497cf1f..0000000000000000000000000000000000000000 --- a/src/api/repository.js +++ /dev/null @@ -1,11 +0,0 @@ -import axios from 'axios' -import { unique } from '.' - -// List repositories imported on Arkindex -export const listRepositories = unique(async params => (await axios.get('/process/repos/', { params })).data) - -// Retrieve a repository -export const retrieveRepository = unique(async id => (await axios.get(`/process/repos/${id}/`)).data) - -// Delete a repository -export const deleteRepository = unique(id => axios.delete(`/process/repos/${id}/`)) diff --git a/src/api/repository.ts b/src/api/repository.ts new file mode 100644 index 0000000000000000000000000000000000000000..d6a134b3e29e75a4d1a13638d9e49878e449991d --- /dev/null +++ b/src/api/repository.ts @@ -0,0 +1,13 @@ +import axios from 'axios' +import { PageNumberPaginationParameters, unique } from '.' +import { PageNumberPagination, UUID } from '@/types' +import { Repository } from '@/types/worker' + +// List repositories imported on Arkindex +export const listRepositories = unique(async (params: PageNumberPaginationParameters): Promise<PageNumberPagination<Repository>> => (await axios.get('/process/repos/', { params })).data) + +// Retrieve a repository +export const retrieveRepository = unique(async (id: UUID): Promise<Repository> => (await axios.get(`/process/repos/${id}/`)).data) + +// Delete a repository +export const deleteRepository = unique((id: UUID) => axios.delete(`/process/repos/${id}/`)) diff --git a/src/types/worker.ts b/src/types/worker.ts index 1ab5bd8099f6f4b7dc444c3b61ebe5dc5ac8a845..5646d35c3e514443d302919ab015d7e8aa90c3ec 100644 --- a/src/types/worker.ts +++ b/src/types/worker.ts @@ -21,7 +21,7 @@ export interface Worker extends WorkerLight { archived: boolean } -export function isWorker(worker: WorkerLight): worker is Worker { +export function isWorker (worker: WorkerLight): worker is Worker { return ('repository_id' in worker && (worker.repository_id === null || typeof worker.repository_id === 'string')) } @@ -55,3 +55,10 @@ export type WorkerVersion = { revision: RevisionWithRefs version: null }) + +export interface Repository { + id: UUID, + url: string, + workers: Array<WorkerLight>, + authorized_users: number +}