mirror of
https://github.com/tips-of-mine/gestion-certificats2.git
synced 2025-06-28 06:58:43 +02:00
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { apiClient } from './client';
|
|
import { FunctionalPerimeter } from '../../types';
|
|
|
|
export interface CreatePerimeterRequest {
|
|
name: string;
|
|
intermediate_passphrase?: string;
|
|
}
|
|
|
|
export interface PerimeterResponse {
|
|
success: boolean;
|
|
data: FunctionalPerimeter;
|
|
message?: string;
|
|
}
|
|
|
|
export interface PerimetersListResponse {
|
|
success: boolean;
|
|
data: FunctionalPerimeter[];
|
|
message?: string;
|
|
}
|
|
|
|
export const perimetersApi = {
|
|
async getAll(): Promise<FunctionalPerimeter[]> {
|
|
const response = await apiClient.get<PerimetersListResponse>('/perimeters');
|
|
return response.data.data;
|
|
},
|
|
|
|
async getById(id: number): Promise<FunctionalPerimeter> {
|
|
const response = await apiClient.get<PerimeterResponse>(`/perimeters/${id}`);
|
|
return response.data.data;
|
|
},
|
|
|
|
async create(data: CreatePerimeterRequest): Promise<FunctionalPerimeter> {
|
|
const response = await apiClient.post<PerimeterResponse>('/perimeters', data);
|
|
return response.data.data;
|
|
},
|
|
|
|
async delete(id: number): Promise<void> {
|
|
await apiClient.delete(`/perimeters/${id}`);
|
|
},
|
|
}; |