From b680b8e73e61d0b18c4dde35f6306674480ddd62 Mon Sep 17 00:00:00 2001 From: mitrikov Date: Tue, 9 Jun 2026 17:01:51 +1200 Subject: [PATCH 1/3] =?UTF-8?q?feat:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=20=D0=B8=D0=BD=D1=84=D1=83=20=D0=BF=D0=BE=20=D0=BE?= =?UTF-8?q?=D1=82=D0=BA=D1=80=D1=8B=D1=82=D0=BA=D0=B0=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- v2/swagger.yaml | 55 +++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/v2/swagger.yaml b/v2/swagger.yaml index db39345..f520e8e 100644 --- a/v2/swagger.yaml +++ b/v2/swagger.yaml @@ -1744,6 +1744,54 @@ paths: 500: description: Server Error + /user-postcard/seen: + post: + tags: + - postcard + summary: Mark received postcard as opened + operationId: userPostcardSeen + parameters: + - name: id + in: query + description: UserPostcard item ID + schema: + type: string + format: uuid + required: true + responses: + 200: + description: Postcard marked as opened + content: + application/json: + schema: + type: object + properties: + success: + type: boolean + example: true + data: + type: object + nullable: true + example: null + errors: + type: object + nullable: true + example: null + message: + type: object + nullable: true + example: null + 400: + description: Invalid input (malformed id) + 401: + description: Unauthorized request + 403: + description: Unauthorized request + 404: + description: Postcard not found + 500: + description: Server Error + /article/news: get: tags: @@ -9175,7 +9223,10 @@ components: type: string is_seen: type: boolean - description: Did user seen this postcard? + description: Whether the recipient has opened this postcard. + needShowEnvelope: + type: boolean + description: Whether the mobile app should show the unopened postcard envelope. userGroup: type: object @@ -13898,4 +13949,4 @@ components: security: - SessionAuth: [ ] - ApiKeyAuth: [ ] - - BearerAuth: [ ] \ No newline at end of file + - BearerAuth: [ ] From bf13d716999708da892a268be60b3425326f6ab6 Mon Sep 17 00:00:00 2001 From: Denis Date: Mon, 15 Jun 2026 09:24:47 +0300 Subject: [PATCH 2/3] =?UTF-8?q?api-doc:=20=D1=83=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B8=D0=BB=20=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=20created?= =?UTF-8?q?=5Fat=20=D0=B8=20=D0=B4=D1=80.=20date-range=20=D1=84=D0=B8?= =?UTF-8?q?=D0=BB=D1=8C=D1=82=D1=80=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Алекс (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 --- v2/swagger.yaml | 35 +++++++++++++++++++++++------------ 1 file changed, 23 insertions(+), 12 deletions(-) diff --git a/v2/swagger.yaml b/v2/swagger.yaml index f520e8e..113e52d 100644 --- a/v2/swagger.yaml +++ b/v2/swagger.yaml @@ -691,13 +691,15 @@ paths: in: query schema: { type: string } description: | - Период создания записи в формате `<начало>|<конец>`, - где даты указаны по ISO 8601. + Период создания записи в виде `<начало>|<конец>`, + где каждая дата задаётся в формате `yyyy-MM-dd`. + Указание времени суток не поддерживается. - name: last_login_at in: query schema: { type: string } description: | - Период последнего входа в систему в формате `<начало>|<конец>`. + Период последнего входа в систему в виде `<начало>|<конец>`, + где каждая дата задаётся в формате `yyyy-MM-dd`. - name: user_list_key in: query schema: { type: string, format: uuid } @@ -7226,7 +7228,10 @@ paths: - name: created_at in: query schema: { type: string } - description: 'Диапазон в формате `from|to` (ISO дата/время).' + description: | + Диапазон в виде `<начало>|<конец>`, где каждая дата + задаётся в формате `yyyy-MM-dd`. Указание времени суток + не поддерживается. responses: 200: description: Список кошельков @@ -7359,7 +7364,10 @@ paths: - name: created_at in: query schema: { type: string } - description: 'Диапазон в формате `from|to` (ISO дата/время).' + description: | + Диапазон в виде `<начало>|<конец>`, где каждая дата + задаётся в формате `yyyy-MM-dd`. Указание времени суток + не поддерживается. responses: 200: description: Список транзакций @@ -8149,18 +8157,21 @@ paths: in: query schema: { type: string } description: | - Период создания записи в формате `<начало>|<конец>`, - где даты указаны по ISO 8601. + Период создания записи в виде `<начало>|<конец>`, + где каждая дата задаётся в формате `yyyy-MM-dd`. + Указание времени суток не поддерживается. - name: employment_date in: query schema: { type: string } description: | - Период даты приёма на работу в формате `<начало>|<конец>`. + Период даты приёма на работу в виде `<начало>|<конец>`, + где каждая дата задаётся в формате `yyyy-MM-dd`. - name: fired_date in: query schema: { type: string } description: | - Период даты увольнения в формате `<начало>|<конец>`. + Период даты увольнения в виде `<начало>|<конец>`, + где каждая дата задаётся в формате `yyyy-MM-dd`. - name: user_list_key in: query schema: { type: string, format: uuid } @@ -13651,13 +13662,13 @@ components: employment_date: type: string nullable: true - description: Дата приёма на работу в формате ISO 8601. + description: Дата приёма на работу в формате `yyyy-MM-dd`. fired_date: type: string nullable: true description: | - Дата увольнения в формате ISO 8601. Поле имеет значение `null` - для действующих трудоустройств. + Дата увольнения в формате `yyyy-MM-dd`. Поле имеет значение + `null` для действующих трудоустройств. status_id: type: integer nullable: true From 56a357009c9ec7a76a7f125b6cabd3d294416fbc Mon Sep 17 00:00:00 2001 From: kirill Date: Mon, 22 Jun 2026 14:37:35 +0600 Subject: [PATCH 3/3] visibility_target_id --- v2/swagger.yaml | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) diff --git a/v2/swagger.yaml b/v2/swagger.yaml index 113e52d..f7cca68 100644 --- a/v2/swagger.yaml +++ b/v2/swagger.yaml @@ -2525,6 +2525,7 @@ paths: - updBirthday - updNewbies - updBooks + - updContent - name: info in: query description: > @@ -2537,6 +2538,21 @@ paths: enum: - profileBrief - notificationsBadge + - name: visibility_target_id + in: query + description: > + Content widgets visibility target filter. Used for `updContent` widget. + * `1` - Web + * `2` - Mobile app + * `3` - Everywhere + example: 2 + schema: + type: integer + default: 1 + enum: + - 1 + - 2 + - 3 responses: 200: description: Returns all the dashboard data about requested widgets. In response object only requested info/widgets keys will be presented. If widget is not available for current user, this widget will not exists in response of will be null. @@ -2596,6 +2612,21 @@ paths: updBooks: # description: Company feed - New books in library $ref: '#/components/schemas/dashboardWidget' + updContent: + description: Company feed - Content widgets + allOf: + - $ref: '#/components/schemas/dashboardWidget' + - type: object + properties: + items: + type: array + items: + allOf: + - $ref: '#/components/schemas/dashboardWidgetItem' + - type: object + properties: + data: + $ref: '#/components/schemas/dashboardContentWidgetItemData' 400: description: Invalid input 401: @@ -9590,6 +9621,31 @@ components: periodLengthText: type: integer description: Продолжительность отпуска в днях + + dashboardContentWidgetItemData: + type: object + properties: + content: + type: string + description: Rendered content widget HTML. + example: 'Open article' + visibility_target_id: + type: integer + description: Content widget visibility target. + enum: + - 1 + - 2 + - 3 + example: 2 + visibilityTargetName: + type: string + description: Human readable visibility target name. + enum: + - Веб + - Мобильное приложение + - Везде + example: Мобильное приложение + feedback: type: object properties: