Skip to content

workTimeEntryAccessService

workTimeEntryAccessService

WorkTimeEntryAccessService ⏏

Записи учёта рабочего времени офис-менеджеров (ManagerTimeTrackerService). CRUD по записям + методы запущенного таймера (Start / Stop / Cancel / GetCurrent).

Kind: Exported class




GetManyByUserAndPeriod(userId, dateFrom, dateTo) ⇒ Promise.<ApiResult.<GetWorkTimeEntriesByUserResponseDto>>

Возвращает все записи рабочего времени пользователя за период [dateFrom..dateTo].


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

ParamTypeDescription
userIdnumberID пользователя
dateFromstringНачало периода (ISO 8601 UTC, например 2026-05-01T00:00:00Z)
dateTostringКонец периода включительно (ISO 8601 UTC, например 2026-05-31T23:59:59Z)

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

Returns: Promise.<ApiResult.<GetWorkTimeEntriesByUserResponseDto>> - Список записей и их количество (GetWorkTimeEntriesByUserResponseDto)




GetMany(params) ⇒ Promise.<ApiResult.<GetWorkTimeEntriesResponseDto>>

Возвращает страницу записей рабочего времени с фильтрами. Все фильтры опциональны: не переданы — условие не применяется. dateTimeFrom / dateTimeTo сравниваются с startedAt записи (ISO 8601 UTC). Контракт совпадает с GET /Api/Clients BusinessLogicService — пагинация передаётся вложенным объектом.


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

ParamTypeDescription
paramsGetWorkTimeEntriesRequestDtoФильтры и параметры пагинации. См. GetWorkTimeEntriesRequestDto

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

Returns: Promise.<ApiResult.<GetWorkTimeEntriesResponseDto>> - Страница записей под полем pagination (GetWorkTimeEntriesResponseDto)




Get(id) ⇒ Promise.<ApiResult.<GetWorkTimeEntryResponseDto>>

Возвращает запись рабочего времени по идентификатору.


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

ParamTypeDescription
idnumberИдентификатор записи

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

Returns: Promise.<ApiResult.<GetWorkTimeEntryResponseDto>> - Запись под полем entry (GetWorkTimeEntryResponseDto)




Create(params) ⇒ Promise.<ApiResult.<CreateWorkTimeEntryResponseDto>>

Создаёт запись рабочего времени


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

ParamTypeDescription
paramsCreateWorkTimeEntryRequestDtoПоля новой записи. См. CreateWorkTimeEntryRequestDto

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

Returns: Promise.<ApiResult.<CreateWorkTimeEntryResponseDto>> - Идентификатор записи и список soft-предупреждений (CreateWorkTimeEntryResponseDto)

WARNING

На стороне сервиса прогоняется полный пайплайн валидации (overlap, daily-limit, ArbZG break, 21-day backlog, absence-day-needs-note). Жёсткие нарушения приводят к 4xx; мягкие предупреждения возвращаются в problems.

INFO

Если день записи покрыт утверждённым отсутствием (Vacation / SickLeave / SpecialLeave / UnpaidLeave / TimeOffInLieu), note обязательно — без него сервер вернёт 400 work-time-entry-on-absence-day-needs-note. Если note передан, отсутствие на этот день автоматически прерывается: 1-дневное soft-удаляется, многодневное — обрезается с края или разбивается на две записи (docx Ч.1 §11.1).




Update(params) ⇒ Promise.<ApiResult.<UpdateWorkTimeEntryResponseDto>>

Обновляет существующую запись. Идентификатор передаётся в теле


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

ParamTypeDescription
paramsUpdateWorkTimeEntryRequestDtoНовое состояние записи (включая id). См. UpdateWorkTimeEntryRequestDto

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

Returns: Promise.<ApiResult.<UpdateWorkTimeEntryResponseDto>> - Список soft-предупреждений (UpdateWorkTimeEntryResponseDto)

WARNING

На записи в статусе Locked операция запрещена.




Remove(id) ⇒ Promise.<ApiResult>

Soft-удаление записи


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

ParamTypeDescription
idnumberИдентификатор записи

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

Returns: Promise.<ApiResult> - Подтверждение операции (successfully: true)

WARNING

На записи в статусе Locked операция запрещена.




GetCurrentTimer() ⇒ Promise.<ApiResult.<GetCurrentTimerResponseDto>>

Возвращает текущий запущенный таймер вызывающего пользователя (запись с endedAt === null) или null, если таймер не запущен.


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

Returns: Promise.<ApiResult.<GetCurrentTimerResponseDto>> - Запись таймера (GetCurrentTimerResponseDto)




StartTimer([params]) ⇒ Promise.<ApiResult.<StartTimerResponseDto>>

Запускает таймер для вызывающего пользователя


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

ParamTypeDescription
[params]StartTimerRequestDtoОпциональная заметка для запущенной сессии. См. StartTimerRequestDto

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

Returns: Promise.<ApiResult.<StartTimerResponseDto>> - Запись запущенного таймера (endedAt === null) (StartTimerResponseDto)

INFO

Идемпотентно: если таймер уже запущен, возвращает существующую запись без изменений.




StopTimer([params]) ⇒ Promise.<ApiResult.<StopTimerResponseDto>>

Останавливает запущенный таймер: устанавливает endedAt = now, переносит опциональные breakMinutes / note и прогоняет полный пайплайн валидации


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

ParamTypeDescription
[params]StopTimerRequestDtoПерерыв и/или заметка для финализируемой записи. См. StopTimerRequestDto

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

Returns: Promise.<ApiResult.<StopTimerResponseDto>> - Идентификатор записи и список soft-предупреждений (StopTimerResponseDto)

WARNING

При жёстком нарушении возвращает 4xx и оставляет таймер запущенным — пользователь может исправить состояние и повторить вызов. На пересечении полуночи (день startedAt ≠ день now) явно отказывает с типом work-time-entry-timer-crossed-midnight.

INFO

Если сегодняшний день покрыт утверждённым отсутствием, note обязательно (work-time-entry-on-absence-day-needs-note без него); при наличии note отсутствие автоматически прерывается так же, как при Create (docx Ч.1 §11.1).




CancelTimer() ⇒ Promise.<ApiResult>

Отменяет запущенный таймер (soft-удаление записи)


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

Returns: Promise.<ApiResult> - Подтверждение операции (successfully: true)

INFO

Если таймер не запущен — операция no-op, без ошибки.