Co-authored-by: gorbenko.pavel <gorbenko.pavel@tansu.kz> Reviewed-on: http://git.tnsu.kz/gorbenko.pavel/tnsu-approval-route/pulls/5
This commit was merged in pull request #5.
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
import { IHttpClient } from './httpClient';
|
||||
import {
|
||||
CreateRequestTypeInput,
|
||||
CreateTemplateRouteInput,
|
||||
CreateTemplateRouteStepInput,
|
||||
PatchRequestTypeInput,
|
||||
PatchTemplateRouteInput,
|
||||
PatchTemplateRouteStepInput,
|
||||
RequestType,
|
||||
ResolveTemplateRouteQuery,
|
||||
ResolveTemplateRouteResult,
|
||||
TemplateRoute,
|
||||
TemplateRouteStep,
|
||||
UpdateRequestTypeInput,
|
||||
UpdateTemplateRouteInput,
|
||||
UpdateTemplateRouteStepInput
|
||||
} from '../models';
|
||||
|
||||
// Тонкий 1:1 фасад над контроллерами бэкенда:
|
||||
// backend/src/Tnsu.ApprovalRoute.Api/Controllers/{RequestTypes,TemplateRoutes,TemplateRouteSteps}Controller.cs
|
||||
|
||||
export class ApprovalRouteApi {
|
||||
constructor(private readonly http: IHttpClient) {}
|
||||
|
||||
public readonly requestTypes = {
|
||||
list: (): Promise<RequestType[]> =>
|
||||
this.http.get<RequestType[]>('/api/request-types'),
|
||||
|
||||
get: (id: number): Promise<RequestType> =>
|
||||
this.http.get<RequestType>(`/api/request-types/${id}`),
|
||||
|
||||
create: (body: CreateRequestTypeInput): Promise<RequestType> =>
|
||||
this.http.post<RequestType>('/api/request-types', body),
|
||||
|
||||
update: (id: number, body: UpdateRequestTypeInput): Promise<RequestType> =>
|
||||
this.http.put<RequestType>(`/api/request-types/${id}`, body),
|
||||
|
||||
patch: (id: number, body: PatchRequestTypeInput): Promise<RequestType> =>
|
||||
this.http.patch<RequestType>(`/api/request-types/${id}`, body),
|
||||
|
||||
remove: (id: number): Promise<void> =>
|
||||
this.http.delete(`/api/request-types/${id}`)
|
||||
};
|
||||
|
||||
public readonly templateRoutes = {
|
||||
list: (requestTypeId?: number): Promise<TemplateRoute[]> =>
|
||||
this.http.get<TemplateRoute[]>('/api/template-routes', { requestTypeId }),
|
||||
|
||||
get: (id: number): Promise<TemplateRoute> =>
|
||||
this.http.get<TemplateRoute>(`/api/template-routes/${id}`),
|
||||
|
||||
create: (body: CreateTemplateRouteInput): Promise<TemplateRoute> =>
|
||||
this.http.post<TemplateRoute>('/api/template-routes', body),
|
||||
|
||||
update: (id: number, body: UpdateTemplateRouteInput): Promise<TemplateRoute> =>
|
||||
this.http.put<TemplateRoute>(`/api/template-routes/${id}`, body),
|
||||
|
||||
patch: (id: number, body: PatchTemplateRouteInput): Promise<TemplateRoute> =>
|
||||
this.http.patch<TemplateRoute>(`/api/template-routes/${id}`, body),
|
||||
|
||||
remove: (id: number): Promise<void> =>
|
||||
this.http.delete(`/api/template-routes/${id}`),
|
||||
|
||||
resolve: (query: ResolveTemplateRouteQuery): Promise<ResolveTemplateRouteResult> =>
|
||||
this.http.get<ResolveTemplateRouteResult>('/api/template-routes/resolve', { ...query })
|
||||
};
|
||||
|
||||
public readonly templateRouteSteps = {
|
||||
list: (routeId: number): Promise<TemplateRouteStep[]> =>
|
||||
this.http.get<TemplateRouteStep[]>(`/api/template-routes/${routeId}/steps`),
|
||||
|
||||
get: (routeId: number, id: number): Promise<TemplateRouteStep> =>
|
||||
this.http.get<TemplateRouteStep>(`/api/template-routes/${routeId}/steps/${id}`),
|
||||
|
||||
create: (routeId: number, body: CreateTemplateRouteStepInput): Promise<TemplateRouteStep> =>
|
||||
this.http.post<TemplateRouteStep>(`/api/template-routes/${routeId}/steps`, body),
|
||||
|
||||
update: (routeId: number, id: number, body: UpdateTemplateRouteStepInput): Promise<TemplateRouteStep> =>
|
||||
this.http.put<TemplateRouteStep>(`/api/template-routes/${routeId}/steps/${id}`, body),
|
||||
|
||||
patch: (routeId: number, id: number, body: PatchTemplateRouteStepInput): Promise<TemplateRouteStep> =>
|
||||
this.http.patch<TemplateRouteStep>(`/api/template-routes/${routeId}/steps/${id}`, body),
|
||||
|
||||
remove: (routeId: number, id: number): Promise<void> =>
|
||||
this.http.delete(`/api/template-routes/${routeId}/steps/${id}`)
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user