Контроллеры: различия между версиями
Внешний вид
Sidminik (обсуждение | вклад) |
Sidminik (обсуждение | вклад) |
||
| Строка 17: | Строка 17: | ||
getRecordById(id: number, include?: string[]): Promise<JournalRecordResponse>, | getRecordById(id: number, include?: string[]): Promise<JournalRecordResponse>, | ||
getRecordsByStage(searchParameters?: JournalRecordsSearchParameters): | getRecordsByStage(searchParameters?: JournalRecordsSearchParameters): | ||
Promise<PagedModelCustomJournalRecordResponse>, | |||
createRecord(record: JournalRecordRequest): Promise<JournalRecordResponse>, | createRecord(record: JournalRecordRequest): Promise<JournalRecordResponse>, | ||
createRecordPack(records: RecordsGroupRequest): Promise<JournalRecordResponse[]>, | createRecordPack(records: RecordsGroupRequest): Promise<JournalRecordResponse[]>, | ||
Текущая версия от 01:22, 13 мая 2026
Контроллеры - классы имплементирующие запросы REST API Веб-ЛИМС согласно документации Swagger.
В контексте сервиса интеграций могут использоваться самостоятельно, а так же являются компонентами более высокоуровневого API, например:
- JournalRecordManager,
- JournalResultManager.
Для каждого контроллера написаны тесты на jest, проверяющие корректность запросов.
Команда запуска тестов
npm run testКонтроллер записей ЛЖ
interface IJournalRecordsController {
getAll(searchParameters?: JournalRecordsSearchParameters): Promise<PagedModelCustomJournalRecordResponse>,
getRecordById(id: number, include?: string[]): Promise<JournalRecordResponse>,
getRecordsByStage(searchParameters?: JournalRecordsSearchParameters):
Promise<PagedModelCustomJournalRecordResponse>,
createRecord(record: JournalRecordRequest): Promise<JournalRecordResponse>,
createRecordPack(records: RecordsGroupRequest): Promise<JournalRecordResponse[]>,
updateRecord(id: number, record: JournalRecordRequest): Promise<JournalRecordResponse>,
addMethodologies(id: number, methodologies: MethodologiesBindingRequest): Promise<JournalRecordIndicatorResponse>,
addIndicators(id: number, indicators: JournalRecordIndicatorRequest[]): Promise<JournalRecordResponse>,
addAttribute(id: number, attribute: AttributeRequest[]): Promise<JournalRecordResponse>,
movementRecord(movement: RecordMovementRequest): Promise<any>,
deleteRecord(id: number): Promise<void>,
}
Контроллер этапов
interface IJournalStagesController {
getAllStages(): Promise<JournalRecordStageResponse[]>,
getStageByPathname(pathname: string): Promise<JournalRecordStageResponse>,
getInitStages(): Promise<JournalRecordStatusInitInfo[]>,
createStage(payload: JournalRecordStageRequest): Promise<JournalRecordStageResponse>,
updateStage(id: number, payload: JournalRecordStageRequest): Promise<JournalRecordStageResponse>,
deleteStage(id: number): Promise<void>
}
Контроллер результатов анализа
interface IJournalResultController {
getAll(): Promise<JournalResultResponse[]>,
getById(id: number): Promise<JournalResultResponse>,
calculateSingular(payload: CalculateInfo): Promise<ParallelResponse>,
updateParallels(id: number, payload: ParallelRequest[]): Promise<JournalResultResponse>,
updateExecutors(id: number, payload: number[]): Promise<JournalResultResponse>,
updateAttributes(id: number, payload: JournalResultAttributesDto): Promise<JournalResultResponse>,
addParallel(id: number, payload: ParallelRequest): Promise<void>,
calculateById(id: number, payload: CalculateInfo): Promise<CalculationsReportDto>,
}
Контроллер маршрутов
interface IJournalsRouterController {
getAllRoutes(): Promise<JournalRouteResponse[]>;
getRouteById(id: number): Promise<JournalRouteResponse>;
getRoutesByCompanyLevel(id: number): Promise<JournalRouteResponse>;
getAvailableStages(queryParameters?: Record<string, any>): Promise<JournalRecordStageResponse[]>;
createRoute(payload: JournalRouteRequest): Promise<JournalRouteResponse>;
updateRoute(id: number, payload: JournalRouteRequest): Promise<JournalRouteResponse>;
deleteRoute(id: number): Promise<void>;
}
Контроллер атрибутов
interface IJournalAttributeFieldController {
getAll(searchParameters?: Record<string, string>): Promise<JournalRecordAttributeFieldResponse[]>,
getAttributesFieldsByStage(searchParameters: { stageId: string }): Promise<JournalRecordAttributeFieldWithEdit[]>,
getShared(searchParameters?: Record<string, string>): Promise<JournalRecordAttributeFieldResponse[]>,
}
Контроллер формул
interface IFormulaController {
getAllFormulas(): Promise<FormulaResponse[]>,
getFormulaById(formulaId: number): Promise<FormulaResponse>,
createFormula(data: FormulaRequest | any): Promise<FormulaResponse>,
calculateByFormula(payload: CalculationRequest): Promise<CalculationResponse>,
updateFormulaById(formulaId: number, payload: FormulaRequest): Promise<FormulaResponse>,
deleteFormulaById(formulaId: number): Promise<void>,
}
Контроллер утилит
interface IJournalsUtilController {
getFormulaId(methodologyId: number, indicatorId: number, unitId: number): Promise<number>,
}
Контроллер персонала
interface EmployeesController {
getAll(): Promise<PagedModelCustomEmployeeResponse>,
getAllTypedEmployees(employeeType: EmployeeType): Promise<EmployeeResponse[]>,
getById(id: number): Promise<EmployeeResponse>,
getByAccountId(accountId: number),
create(payload: EmployeeRequest): Promise<EmployeeResponse>,
update(id: number, payload: EmployeeRequest): Promise<EmployeeResponse>
delete(id: number): Promise<void>
}
Контроллер объектов анализа
interface IAnalysisObjectController {
getAll(): Promise<PagedModelCustomAnalysisObjectResponse>,
getById(analysisObjectId: number): Promise<AnalysisObjectResponse>,
create(payload: AnalysisObjectRequest | any): Promise<AnalysisObjectResponse>,
update(analysisObjectId: number, payload: AnalysisObjectRequest): Promise<AnalysisObjectResponse>,
delete(analysisObjectId: number): Promise<void>
}
Контроллер методик
interface IMethodologyController {
getAll(): Promise<PagedModelCustomMethodologyResponse>,
getById(id: number): Promise<MethodologyResponse>,
create(payload: MethodologyRequest): Promise<MethodologyResponse>,
update(id: number, payload: MethodologyRequest): Promise<MethodologyResponse>,
delete(id: number): Promise<void>
}