All files / layers / L1 / contracts repositories.ts

80% Statements 4/5
100% Branches 0/0
75% Functions 3/4
80% Lines 4/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2867x 96x       7x     1x                                      
import type { ApiContract } from '@/layers/interfaces'
import type { components } from '@/types/api'
 
type Repository = components['schemas']['Repository']
type CreateRepositoryRequest = components['schemas']['CreateRepositoryRequest']
type UpdateRepositoryRequest = components['schemas']['UpdateRepositoryRequest']
 
type RepositoryListQuery = {
  [key: string]: string | number | boolean | undefined
}
 
export const repositoriesContract: ApiContract<
  Repository,
  CreateRepositoryRequest,
  UpdateRepositoryRequest,
  RepositoryListQuery
> = {
  idOf: (e) => e.id,
  entityPath: 'repositories',
  endpoints: {
    list: '/repositories',
    detail: (id) => `/repositories/${id}`,
    create: '/repositories',
    update: (id) => `/repositories/${id}`,
    remove: (id) => `/repositories/${id}`,
  },
}