workTimeBacklogStateAccessService
workTimeBacklogStateAccessService
- workTimeBacklogStateAccessService
- GetMy() ⇒
Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>> - GetByUser(userId) ⇒
Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>>
- GetMy() ⇒
WorkTimeBacklogStateAccessService ⏏
Persisted-состояние backlog-блокировок офис-менеджера (ManagerTimeTrackerService). Только чтение — пересчёт делается на бэке при event-триггерах (CRUD WorkTimeEntry, AbsenceEntry, WorkSchedule) и ежедневном scheduler-проходе.
Состояние используется фронтом для:
- UI-баннера на учётной странице («У вас не заполнены дни с …»),
- дискриминации soft / hard на форме создания записи (показать textarea причины, или сообщение «обратитесь в HeadOffice»),
- подсветки персон в свод-таблице HeadOffice.
Письма HeadOffice летят строго на переходе false → true — фронт не должен пытаться их триггерить отдельно.
Kind: Exported class
GetMy() ⇒ Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>>
Возвращает состояние вызывающего юзера
Возвращаемые данные
Returns: Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>> - Состояние под полем state (GetWorkTimeBacklogStateResponseDto)
INFO
Если строки в БД ещё нет (recompute не запускался для этого юзера), отдаётся clean-slate ответ { isSoftBlocked: false, isHardBlocked: false, earliestMissingDate: null, lastEvaluatedAt: null }.
GetByUser(userId) ⇒ Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>>
Возвращает состояние указанного юзера — для свода HeadOffice / Admin
Принимаемые параметры
| Param | Type | Description |
|---|---|---|
| userId | number | Идентификатор менеджера |
Возвращаемые данные
Returns: Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>> - Состояние под полем state (GetWorkTimeBacklogStateResponseDto)
INFO
Гейтинг по правам делается upstream; этот эндпоинт доверяет JWT-вызывающему.