Created
January 22, 2024 13:16
-
-
Save vitalibaranov/6ae17e07d9442e8513be0c1dcbd3a409 to your computer and use it in GitHub Desktop.
Декомпозиция мутации
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Декомпозиция мутация | |
[tms-api] задженерить тестовые обвязки под mutation (сейчас все сделано под query) | |
[tms-api] мониторинг мутаций (запросы в разрезе mutations/queries) ??? | |
[tms-api] описание мутации в документации | |
---- | |
а) Создание заявки: | |
[tms-hiring-request] вынести бизнес логику проверки пермишена на создание, валидации tms(существование менеджера) (дубль существующей ручки, выпил старой) | |
[tms-api] резолвер получения ареек с фильтром по названию (id-ки нужны для передачи в резолвер) | |
[tms-api] мутация создания заявки | |
[tms]выпил ручки создания завявки | |
---- | |
b) Создание отклика | |
[tms-core] POST привязки кандидата нв вакансию (проверка пермишена, валидация id-к кандидата и вакансии, определение этапа прикрепления, возврат кастомной ошибки, пуш в очередь автофильтра) | |
[tms-api] мутация создания отклика | |
[tms-api] документация, пример создания отклика | |
-- Перевод автофильтра на кафку ??? | |
[dd] кафка таскс топик автофильтра | |
[tms-core] продюсер автофильтра при прикреплении кандидата к вакансии | |
[tms-core] консьюмер автофильтра | |
[tms] продюсер автофильтра, выпилить сендера rabbit автофильтра | |
[tms] выпил листенер rabbit автофильтре | |
[dd] выпилить убрать кофниги очереди автофильтр | |
[exp] curl удаления очереди автофильтра | |
----- | |
Контракт | |
a) Создания заявки: | |
type Mutation { | |
createHiringRequest(hiringRequestCreate: HiringRequestCreatePayload!): HiringRequestCreate! | |
} | |
union HiringRequestCreate = HiringRequestItem | HiringRequestCreateError // в системе уже есть union HiringRequest - новый добавляется из-за специфических ошибок создания | |
type HiringRequestCreateError { | |
errorType: HiringRequestCreateErrorType | |
errorData: Json | |
message: String | |
} | |
enum HiringRequestCreateErrorType { | |
ACCESS_DENIED | |
VALIDATION | |
} | |
input HiringRequestCreatePayload { | |
areaIds: [Int]! | |
creationReason: HiringRequestCreationReason | |
department: String | |
description: String | |
approvingManagerId: Int! | |
proposedDateOfClose: Instant | |
salary: HiringRequestSalaryRange | |
} | |
input HiringRequestSalaryRange { | |
salaryFrom: Int, | |
salaryTo: Int | |
} | |
{ | |
areas(name: String) { | |
items { | |
id! | |
name! | |
parentId | |
} | |
} | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment