Author SHA1 Message Date
antonandClaude Opus 5.5 (1M context) adf04eff84 H-3729: GET /system-notifications/active
Co-Authored-By: Claude Opus 5.5 (1M context)
2026-10-01 17:00:25 +05:00
kirill 56a357009c visibility_target_id 2026-06-22 14:41:40 +06:00
denis e4e34d595c Merge branch 'feature/api-doc-date-format' into 'master'
api-doc: уточнил формат created_at и др. date-range фильтров

See merge request hrbox-public/api!40
2026-06-15 06:29:46 +00:00
DenisandClaude Opus 4.7 bf13d71699 api-doc: уточнил формат created_at и др. date-range фильтров
Алекс (sokolove) сообщил, что фильтр created_at в
/admin/wallet-transaction возвращает 422 при передаче значения
с временем суток. ValidationRules::ruleDateRange использует
format yyyy-MM-dd; время не поддерживается, формат значения —
yyyy-MM-dd|yyyy-MM-dd.

Обновлены формулировки описаний фильтров и полей схем:

- /user/index: created_at, last_login_at
- /admin/wallet: created_at
- /admin/wallet-transaction: created_at
- /admin/employment: created_at, employment_date, fired_date
- AdminEmployment schema: employment_date, fired_date

Везде явно указан формат yyyy-MM-dd. Для диапазонов добавлена
пометка, что указание времени суток не поддерживается.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-15 09:24:47 +03:00
Кирилл Голодаев 02e4440b68 Merge branch 'feature/H-953' into 'master'
feature/H-953

See merge request hrbox-public/api!39
2026-06-09 05:26:57 +00:00
mitrikov b680b8e73e feat: добавил инфу по открыткам 2026-06-09 17:01:51 +12:00
denis 1037669ab3 Merge branch 'feature/H-3657' into 'master'
H-3657: задокументировал user-list-cache (источник usersListKey)

See merge request hrbox-public/api!36
2026-05-28 14:02:47 +00:00
DenisandClaude Opus 4.7 58a32b1768 H-3657: вычитка стиля и корректности данных в MR !36
Привёл описания /user/index, /user/search, /file/prepare-upload,
/file/finish-upload, /user-list-cache/* и связанных схем
(UserListForm, UserListData, File, FilePrepareUploadBody,
FilePrepareUploadResponse) к единому нейтральному документационному
стилю — как в H-3821.

Убраны: разговорные обороты («юзер», «флоу», «грабли», «отдаёте»,
«придумываете», «протух», «дефолт», «компактный»), эмодзи в
заголовках секций, ###-маркеры разделов внутри description.
Все формулировки переведены в третье лицо.

Поправлены данные:
- is_public в FilePrepareUploadBody: integer enum [0,1] → boolean
  (соответствует @property boolean is_public в File model).
- /user/search?limit: убран искусственный maximum: 100, в контроллере
  верхнего предела нет (только default = 10).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 17:00:40 +03:00
denis d1caea1cfa Merge branch 'feature/H-3821' into 'master'
H-3821: задокументировал /admin/employment в v2 swagger

See merge request hrbox-public/api!37
2026-05-28 13:45:35 +00:00
DenisandClaude Opus 4.7 0ce01297a7 H-3821: переписал описание /admin/employment в нейтральный документационный стиль
Убрал разговорные обороты («главный кейс», «уволенные», «совместительства»,
«юзер», «UUID юзера», «то самое значение», «cross-tenant», «нет права»,
«ilike-поиск»). Описания параметров, полей схемы и ответов
переведены в нейтральный документационный регистр без жаргона
и эмоциональной разметки.

Технический смысл сохранён полностью — изменения только стилистические.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:35:46 +03:00
DenisandClaude Opus 4.7 6ad75bdd1e H-3821: задокументировал /admin/employment в v2 swagger
Новый admin read-only API трудоустройств. Основной кейс —
маппинг (origin_id, origin_organization_id) → user_id для
интеграторов (web-zaim, sokolove и др.).

- Тег admin-employment (Methods for admin read-only access...).
- GET /admin/employment: index с полным набором фильтров
  EmploymentSearch (origin_id[], origin_organization_id, user_id[],
  department_id, chief_id, is_main, status_id, reg_status_id,
  employment_date/fired_date/created_at range, name/position ilike,
  user_list_key, chief_only*, multipleEmployment).
- GET /admin/employment/view?id=<uuid>: одна запись.
- Доступ: user-edit (тот же perm что в legacy /api/employment v1).
- Схемы AdminEmployment, AdminEmploymentList, AdminEmploymentUserShort,
  AdminEmploymentChiefUserShort, AdminEmploymentDepartmentShort.
- В описании метода — главный кейс маппинга origin → user_id,
  совместительства, поведение uvol'нённых, батч origin_id[].

Источники: контроллер app\controllers\api\v2\admin\EmploymentController,
testrix tests/v2/admin/test_admin_employment.py +
hrbox/models/v2/AdminEmploymentModel.py (pydantic).
Проверено живьём на denis.hrbox.io: totalCount=9393, все поля
схемы совпадают с реальным ответом.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-28 16:01:35 +03:00
DenisandClaude Opus 4.7 37203aee1b H-3657: задокументировал /file/prepare-upload и /file/finish-upload
Без этих эндпоинтов excel-import flow для wallet-транзакций
неполный — интегратор не понимает откуда взять file_id для
POST /admin/wallet-transaction/excel-processing.

- Новый тег `file` (Methods for uploading files via signed-URL...).
- POST /file/prepare-upload: создаёт File-запись + возвращает signedUrl
  для PUT-загрузки бинарника напрямую в S3.
- POST /file/finish-upload?id=<uuid>: помечает файл как UPLOADED, после
  чего file_id можно использовать в downstream-флоу.
- Подробная описание двухшагового флоу (prepare → PUT signedUrl → finish)
  в описании prepare-upload.
- Идемпотентность через повторный prepare-upload с тем же id.
- Схемы File (полная), FilePrepareUploadBody, FilePrepareUploadResponse.
- В WalletExcelFormBody.file_id ссылка на этот upload-флоу — раньше
  было просто «UUID предварительно загруженного xlsx».

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 16:49:54 +03:00
DenisandClaude Opus 4.7 b8d17240ab H-3657: задокументировал /user/index и /user/search
Источник user_id для дальнейшей передачи в user-list-cache.
Раньше в swagger был только /user/profile (один по id) и /user/items
(минимальный список), но не было пагинированного индекса
с фильтрами — а именно через /user/index интегратор собирает
получателей для массового начисления валюты.

- GET /user/index: пагинация (per-page 1..20), сортировка, фильтры
  по основным атрибутам UserSearch (id, email, name, first_name,
  last_name, department_id, reg_status_id, group_id, position, ...),
  expand-поля.
- GET /user/search?q=&limit=&offset=: быстрый компактный поиск
  по ФИО/email/должности. Возвращает {q, users:[{id, name, position,
  departmentName, isBoss, ...}]}. Требует право show-structure-names —
  иначе users:[].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 16:06:44 +03:00
DenisandClaude Opus 4.7 1032e5b522 H-3657: задокументировал user-list-cache (источник usersListKey)
Без этого интегратор не понимает откуда взять usersListKey для
POST /admin/wallet-transaction/create.

- Тег user-list-cache (Methods for caching ad-hoc employee selections...).
- POST /user-list-cache/set-user-list: тело {key, userList:{usersId,...}}.
  В описании явно прописал что Content-Type обязательно application/json —
  через form-urlencoded вложенный JsonModel не парсится, и сервер
  молча сохраняет пустую выборку (грабли которые я сам и наступил
  во время smoke-теста).
- GET /user-list-cache/user-list-data?key=<key>: возвращает развёрнутую
  выборку (users, departments, userGroups, ...). Схема ответа проверена
  живьём на denis.hrbox.io — все ключи совпадают.
- Схемы UserListForm, UserListCacheSetBody, UserListData.
- В описании POST /admin/wallet-transaction/create добавил секцию
  «Как получить usersListKey» с пошаговым флоу и ссылкой.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 15:51:23 +03:00
denis f86becd7ff Merge branch 'feature/H-3657' into 'master'
H-3657: PAT how-to → описание метода create, тэги/info → короткие EN

See merge request hrbox-public/api!35
2026-05-22 12:42:08 +00:00
DenisandClaude Opus 4.7 92d9c73b0c H-3657: description/summary метода create — обратно на русский
Соглашение: info.description и теги — короткое EN (как workflow,
wallet и др.), а внутри самого метода (summary + description) —
русский, потому что туда смотрит уже сам интегратор и важно дать
максимально понятный how-to. Возвращаю русский для
POST /user-api-token/create.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 15:39:40 +03:00
DenisandClaude Opus 4.7 161dc83b21 H-3657: PAT how-to → описание метода create, тэги/info → короткие EN
- info.description: убрал большой блок «Авторизация по личному API-токену»
  (он висел на стартовой странице Swagger UI). Вместо него — одна
  английская строка-указатель на user-api-token methods, в стиле
  остального вступления.
- BearerAuth securityScheme: однострочное EN-описание.
- Теги admin-wallet, admin-wallet-transaction, file-processing,
  user-api-token, admin-user-api-token: переведены в формат
  «Methods for ...» (как workflow, wallet, shop и т.д.) — короткая
  английская строка на тег.
- POST /user-api-token/create description: подробный how-to (создание,
  Bearer-header, tenant-резолв, отсутствие scopes, lifecycle,
  isValidForDisplay-caveat, запрет на управление под Bearer) — теперь
  лежит здесь, на английском, и сворачивается в UI вместе с эндпоинтом.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 15:17:47 +03:00
denis fb935e5565 Merge branch 'feature/H-3657' into 'master'
H-3657: добавил Personal Access Tokens в v2 swagger

See merge request hrbox-public/api!34
2026-05-22 11:03:58 +00:00
DenisandClaude Opus 4.7 4c74aa22f5 H-3656/H-3657: правки после smoke-теста на denis.hrbox.io
- Listing-схемы (Wallet/WalletTransaction/FileProcessing/UserApiToken{,Admin}):
  добавил optional поле `_links` — оно реально возвращается Yii Pagination
  на index-эндпоинтах и без него клиент-генератор не видит поле.
- FileProcessing: дополнил схему полями, которые реально приходят в
  ответе без `?expand=`:
  * `file` — объект с метаданными файла-источника (name, ext, url, ...)
  * `created`/`started`/`finished` — локализованные строки для отображения
  Уточнил `arguments` и `result` (oneOf object/array).

Все остальные эндпоинты (admin/wallet[/view], admin/wallet-transaction[/view],
admin/wallet-transaction/{create,create-from-excel,excel-processing},
file-processing[/view], user-api-token, admin/user-api-token) после
прогона smoke-теста соответствуют документации:
- response shape ↔ schema
- 400 на not-uuid id
- 404 на несуществующий id
- per-page>100 clamps к 100
- 200 с {success:false, errors:[...]} на пустой POST
- 200 с {success:false, message:{type:warning, text:"Обработка файла не найдена"}}
  на несуществующий file_processing_id
- 403 на /user-api-token и /admin/user-api-token под Bearer

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:46:56 +03:00
DenisandClaude Opus 4.7 5173f32b0f H-3657: добавил в how-to упоминание isValidForDisplay-проверки
При тестировании наткнулся на 401 «Login Required» с валидным
live-токеном, потому что у юзера-владельца стоял is_hidden=true.
findIdentityByAccessToken после поиска токена ещё прогоняет
User::isValidForDisplay() — это надо явно упоминать в how-to,
иначе интегратор не поймёт почему не работает.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:41:50 +03:00
DenisandClaude Opus 4.7 1b4b61bc4f H-3657: вынес create в отдельный путь /user-api-token/create
Фронтенд (frontend/src/api/userApiToken/HRUserApiTokenApi.ts:18) зовёт
именно `${baseUrl}/create`, а не RESTful `POST /user-api-token`.
Оба роута маршрутизируются Yii в actionCreate, но в swagger лучше
документировать тот же путь, что использует прод-клиент — для
консистентности с /admin/wallet-transaction/create.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 13:33:30 +03:00
DenisandClaude Opus 4.7 fe38218334 H-3657: добавил Personal Access Tokens в v2 swagger
- info.description: подробная how-to секция «Авторизация по личному API-токену»
  (создание, формат Bearer-заголовка, tenant-резолв, отсутствие scopes,
  жизненный цикл и автo-revoke при блокировке юзера, запрет на управление
  под Bearer).
- securitySchemes.BearerAuth: новая схема http/bearer (PAT).
- security (global): + BearerAuth, чтобы Try-it-out предлагал три способа auth.
- Теги user-api-token и admin-user-api-token.
- Эндпоинты:
  * GET  /user-api-token, POST /user-api-token, POST /user-api-token/revoke
  * GET  /admin/user-api-token, POST /admin/user-api-token/revoke
  Все management-эндпоинты помечены `security: SessionAuth` и явно
  документируют 403 под Bearer (защита от рекурсии).
- Схемы: UserApiToken, UserApiTokenList, UserApiTokenCreated (с plain),
  UserApiTokenCreateForm, UserApiTokenAdmin (+ user/updatedByUser),
  UserApiTokenAdminList, UserApiTokenStatus.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 12:23:31 +03:00
denis 14157ef39c Merge branch 'feature/H-3656' into 'master'
H-3656: добавил Wallet admin API в v2

See merge request hrbox-public/api!33
2026-05-22 09:08:45 +00:00
DenisandClaude Opus 4.7 2260bf1066 H-3656: уточнил Wallet admin API в v2 swagger
- /admin/wallet-transaction: добавил недостающие фильтры
  (sender_wallet_id, recipient_wallet_id, sender_user_list_key,
  recipient_user_list_key, wallet_user_list_key, department_id,
  entity_id, reference_id) + описания.
- sort: перечислил реальные сортируемые атрибуты для wallet/wallet-transaction.
- reg_status_id / created_at / user_list_key: уточнил формат и поведение.
- WalletTransaction + WalletTransactionFormBody + параметры фильтра:
  заменил инлайн enum [1,2] на $ref walletTransactionType / walletOperationType.
- walletOperationType: добавил отсутствующее значение 9 (Отмена покупки),
  чтобы соответствовать app\models\wallet\enum\WalletOperationType.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-22 12:04:09 +03:00
antonandClaude Opus 4.7 b7b136be0c H-3656: добавил Wallet admin API в v2
Новые эндпоинты:
- GET  /admin/wallet[/view] — кошельки сотрудников (read-only)
- POST /admin/wallet/export-excel
- GET  /admin/wallet-transaction[/view] — транзакции, admin-вид
- POST /admin/wallet-transaction/create — массовое начисление/списание по форме
- POST /admin/wallet-transaction/create-from-excel — проведение по результату парсинга
- POST /admin/wallet-transaction/excel-processing — парсинг xlsx (file_id + mappings)
- POST /admin/wallet-transaction/export-excel
- GET  /file-processing[/view] — статусы FileProcessing для поллинга

Permission: wallets-transactions, требует enableWallet=true у тенанта.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-06 11:40:39 +05:00
Кирилл Голодаев cc5038e98a Merge branch 'feature/H-1779' into 'master'
feature/H-1779

See merge request hrbox-public/api!31
2025-12-16 03:16:45 +00:00
mitrikov 49cf57c830 feat: /v2/mobile/oauth-list 2025-12-16 13:21:19 +12:00
denis df13b803d6 Merge branch 'feature/H-2300' into 'master'
feature/H-2300

See merge request hrbox-public/api!30
2025-11-17 09:20:42 +00:00
mitrikov 70f37ccb03 fix: refactor access options 2025-10-31 19:09:45 +12:00
mitrikov 887b4135bc feat: Настройки авторизации 2025-10-31 15:04:33 +12:00
denis 679a97d865 Merge branch 'feature/H-2014' into 'master'
feature/H-2014

See merge request hrbox-public/api!21
2025-10-10 12:47:01 +00:00
denis 5d815be042 Merge branch 'feature/H-2376' into 'master'
feature/H-2376

See merge request hrbox-public/api!29
2025-10-10 12:45:19 +00:00
mitrikov 6cb88955ab feat: Заметки, колонка content_md 2025-10-07 19:54:37 +12:00
mitrikov d01161cb49 fix: fix 2025-10-02 15:37:34 +12:00
mitrikov 5df0d6990f feat: заметки по сотруднику 2025-10-02 15:35:15 +12:00
denis 5e00d92451 Merge branch 'feature/H-2624' into 'master'
feature/H-2624

See merge request hrbox-public/api!28
2025-09-23 16:59:29 +00:00
denis 0c9da537f9 Merge branch 'feature/H-2253' into 'master'
feature/H-2253

See merge request hrbox-public/api!26
2025-09-23 16:58:09 +00:00
Anton Pomorzin 0f9e94dffe feat: api виджета для отпусков 2025-09-18 15:45:10 +05:00
denis 0b6353a1a5 Merge branch 'feature/H-2483' into 'master'
feature/H-2483

See merge request hrbox-public/api!27
2025-09-03 08:16:00 +00:00
Anton Pomorzin 359d737cbd feat: доработка виджета идей 2025-08-26 21:34:21 +05:00
mitrikov 4dbeedea43 fix: убрал лишние параметры 2025-07-30 19:48:35 +12:00
Кирилл Голодаев 0d206c6bb2 Merge branch 'feature/H-2253' into 'master'
feature/H-2253

See merge request hrbox-public/api!25
2025-07-28 06:55:59 +00:00
denis 98944f13ba Merge branch 'feature/H-2231' into 'master'
feature/H-2231

See merge request hrbox-public/api!24
2025-07-22 12:29:18 +00:00
mitrikov c6fe53c82c feat: Документация для wallet-transaction 2025-07-22 20:20:09 +12:00
ruslan 68a409589e - 2025-07-21 10:32:13 +03:00
ruslan 33160486cd kedo 2025-07-21 10:26:26 +03:00
mitrikov b3850c1355 fix: исправлено название метода 2025-07-17 18:09:05 +12:00
Кирилл Голодаев 15cfd5e2ad Merge branch 'feature/H-2231' into 'master'
feature/H-2231

See merge request hrbox-public/api!23
2025-07-16 04:28:44 +00:00
mitrikov a26764eda3 feat: Документация услуг v2 (Duty) 2025-07-15 12:58:50 +12:00
Кирилл Голодаев 9105ef6d68 Merge branch 'feature/H-2055' into 'master'
feature/H-2055

See merge request hrbox-public/api!22
2025-05-29 05:26:25 +00:00
Anton Pomorzin aafede834f feat: api v2 целей 2025-05-28 16:07:12 +05:00
Anton Pomorzin a5d571d09a feat: лайки 2025-05-21 11:33:43 +05:00
Кирилл Голодаев 68f53811f3 Merge branch 'feature/H-1976' into 'master'
feature/H-1976

See merge request hrbox-public/api!20
2025-05-07 04:46:21 +00:00
mitrikov 9cd5d1ae06 fix: дополнение док OrgEmploymentFile 2025-05-07 16:38:32 +12:00
Кирилл Голодаев 434c5a26ad Merge branch 'feature/H-1976' into 'master'
feature/H-1976

See merge request hrbox-public/api!19
2025-04-30 07:56:24 +00:00
mitrikov 9c9a1943ad Merge remote-tracking branch 'origin/master' into feature/H-1976 2025-04-30 19:54:39 +12:00
mitrikov 5572ac1de4 feat: v2/org-employment 2025-04-30 19:41:51 +12:00
Кирилл Голодаев f377db1824 Merge branch 'feature/H-1976' into 'master'
feature/H-1976

See merge request hrbox-public/api!18
2025-04-30 05:56:43 +00:00
mitrikov 61b0eb563f fix: обновление доки OrgEmploymentFile 2025-04-28 12:38:43 +12:00
Кирилл Голодаев 505213857c Merge branch 'feature/H-1976' into 'master'
feature/H-1976

See merge request hrbox-public/api!17
2025-04-25 04:31:26 +00:00
mitrikov 3d1f3a0d25 feat: v2/OrgEmploymentFileController 2025-04-25 16:25:34 +12:00
Кирилл Голодаев fd4f688dc9 Merge branch 'hotfix/H-1924' into 'master'
hotfix/H-1924

See merge request hrbox-public/api!16
2025-04-14 15:19:20 +00:00
Anton Pomorzin 332850e8e0 fix: Обновил описание метода /tag/index и добавил /tag/items 2025-04-14 15:58:36 +05:00
Кирилл Голодаев a48ac40899 Merge branch 'feature/H-1821' into 'master'
feat: изменения в api досок

See merge request hrbox-public/api!15
2025-04-08 03:32:21 +00:00
mitrikov 49dd885344 feat: изменения в api досок 2025-04-08 14:17:19 +12:00
Кирилл Голодаев 3d17ad10a9 Merge branch 'feature/instruction' into 'master'
feature/instruction

See merge request hrbox-public/api!14
2025-03-06 07:53:04 +00:00
mitrikov 458339cf62 feat: docs api кнопки инструкции 2025-03-06 17:30:40 +12:00
kirill e00a6e295b дополнение оформлений заказа 2025-03-04 12:46:45 +06:00
kirill 9588ddb204 feat: дополнительные поля ждя опросов 360 2025-03-03 17:35:41 +06:00
kirill 592f10d191 feat: описание смены анонимности 2025-02-25 14:03:41 +06:00
Кирилл Голодаев 642c1633b4 Merge branch 'feature/H-1618' into 'master'
feat: прохождение опросов

See merge request hrbox-public/api!13
2025-01-15 06:58:22 +00:00
kirill 6a0c9a1dc6 Merge branch 'master' into feature/H-1618
# Conflicts:
#	v2/swagger.yaml
2025-01-15 12:57:48 +06:00
Кирилл Голодаев 2ac3674545 Merge branch 'feature/H-1473' into 'master'
feature/H-1473

See merge request hrbox-public/api!12
2025-01-15 06:45:20 +00:00
kirill cd863732e1 feat: прохождение опросов 2025-01-15 12:44:55 +06:00
Anton Pomorzin 9f708c2b57 feat: v2/article/news добавлен параметр tag_id 2024-11-26 11:55:37 +05:00
denis 66e4f289dd Merge branch 'wf_description' into 'master'
описание workflow

See merge request hrbox-public/api!11
2024-11-21 14:21:11 +00:00
denis 2853f2e5c8 исправления 2024-11-21 11:34:54 +03:00
denis f1d03c7812 описание workflow 2024-11-14 17:11:28 +03:00
ruslan 1976931654 hotfix/H-1216: APIv2 Idea Лог смены статуса идеи 2024-09-10 11:02:03 +03:00
+7209 -65
View File
File diff suppressed because it is too large Load Diff