Skip to content

workTimeBacklogStateAccessService

workTimeBacklogStateAccessService

WorkTimeBacklogStateAccessService ⏏

Persisted-состояние backlog-блокировок офис-менеджера (ManagerTimeTrackerService). Только чтение — пересчёт делается на бэке при event-триггерах (CRUD WorkTimeEntry, AbsenceEntry, WorkSchedule) и ежедневном scheduler-проходе.

Состояние используется фронтом для:

  1. UI-баннера на учётной странице («У вас не заполнены дни с …»),
  2. дискриминации soft / hard на форме создания записи (показать textarea причины, или сообщение «обратитесь в HeadOffice»),
  3. подсветки персон в свод-таблице 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


Принимаемые параметры

ParamTypeDescription
userIdnumberИдентификатор менеджера

Возвращаемые данные

Returns: Promise.<ApiResult.<GetWorkTimeBacklogStateResponseDto>> - Состояние под полем state (GetWorkTimeBacklogStateResponseDto)

INFO

Гейтинг по правам делается upstream; этот эндпоинт доверяет JWT-вызывающему.