@hubex/mcp 0.11.20261024 → 0.11.20261028

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4196,7 +4196,7 @@
4196
4196
  "Roles"
4197
4197
  ],
4198
4198
  "summary": "Получить список расширений роли",
4199
- "description": "## Пример запроса:\r\n\r\nGET /roles/1/packages?searchText=модуль\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"packageName\": \"Модуль отчетности\",\r\n \"isEnabled\": true,\r\n \"type\": \"iframe\",\r\n \"isCacheable\": true,\r\n \"resource\": {\r\n \"id\": 1,\r\n \"code\": \"WEB\",\r\n \"name\": \"Web интерфейс\"\r\n }\r\n }\r\n}\r\n```\r\n \r\nОтвет — словарь объектов (ключ — ID связи роли с пакетом), а не словарь массивов.\r\nПоля `type` и `isCacheable` всегда присутствуют: если в данных пакета не заданы, возвращаются `iframe` и `false`.\r\nДопустимые значения `type`: `iframe`, `background`.\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageList`.",
4199
+ "description": "## Пример запроса:\r\n\r\nGET /roles/1/packages?searchText=модуль\r\n\r\n## Пример успешного ответа:\r\n```json\r\n{\r\n \"1\": [\r\n {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"packageName\": \"Модуль отчетности\",\r\n \"isEnabled\": true,\r\n \"resource\": {\r\n \"id\": 1,\r\n \"code\": \"WEB\",\r\n \"name\": \"Web интерфейс\"\r\n }\r\n }\r\n ]\r\n}\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageList`.",
4200
4200
  "parameters": [
4201
4201
  {
4202
4202
  "name": "roleID",
@@ -4281,7 +4281,10 @@
4281
4281
  "schema": {
4282
4282
  "type": "object",
4283
4283
  "additionalProperties": {
4284
- "$ref": "#/components/schemas/RRPListResult"
4284
+ "type": "array",
4285
+ "items": {
4286
+ "$ref": "#/components/schemas/RRPListResult"
4287
+ }
4285
4288
  }
4286
4289
  }
4287
4290
  },
@@ -4289,7 +4292,10 @@
4289
4292
  "schema": {
4290
4293
  "type": "object",
4291
4294
  "additionalProperties": {
4292
- "$ref": "#/components/schemas/RRPListResult"
4295
+ "type": "array",
4296
+ "items": {
4297
+ "$ref": "#/components/schemas/RRPListResult"
4298
+ }
4293
4299
  }
4294
4300
  }
4295
4301
  },
@@ -4297,7 +4303,10 @@
4297
4303
  "schema": {
4298
4304
  "type": "object",
4299
4305
  "additionalProperties": {
4300
- "$ref": "#/components/schemas/RRPListResult"
4306
+ "type": "array",
4307
+ "items": {
4308
+ "$ref": "#/components/schemas/RRPListResult"
4309
+ }
4301
4310
  }
4302
4311
  }
4303
4312
  }
@@ -4329,7 +4338,7 @@
4329
4338
  "Roles"
4330
4339
  ],
4331
4340
  "summary": "Добавить расширения к роли",
4332
- "description": "## Пример запроса:\r\n\r\nPOST /roles/1/packages\r\n\r\n```json\r\n[\r\n {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"isEnabled\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"id\": 5,\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\"\r\n }\r\n]\r\n```\r\n \r\nОбязательные поля элемента: `packageID`, `packageVersion`. `isEnabled` необязателен.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело или пустой список (`ParameterNullException`).\r\n- 409 Conflict: пустые обязательные поля `packageID`, `packageVersion` (`InvalidDataException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageAdd`.",
4341
+ "description": "## Пример запроса:\r\n\r\nPOST /roles/1/packages\r\n\r\n```json\r\n[\r\n {\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\",\r\n \"isEnabled\": true\r\n }\r\n]\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"roleID\": 1,\r\n \"id\": 5,\r\n \"packageID\": \"pkg-10\",\r\n \"packageVersion\": \"1.0.0\"\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageAdd`.",
4333
4342
  "parameters": [
4334
4343
  {
4335
4344
  "name": "roleID",
@@ -4369,7 +4378,7 @@
4369
4378
  }
4370
4379
  ],
4371
4380
  "requestBody": {
4372
- "description": "Список данных для добавления расширений. Обязательные поля элемента: packageID, packageVersion.",
4381
+ "description": "Список данных для добавления расширений",
4373
4382
  "content": {
4374
4383
  "application/json-patch+json": {
4375
4384
  "schema": {
@@ -4442,53 +4451,7 @@
4442
4451
  }
4443
4452
  },
4444
4453
  "400": {
4445
- "description": "Невалидный JSON тела запроса",
4446
- "content": {
4447
- "text/plain": {
4448
- "schema": {
4449
- "$ref": "#/components/schemas/ErrorModel"
4450
- }
4451
- },
4452
- "application/json": {
4453
- "schema": {
4454
- "$ref": "#/components/schemas/ErrorModel"
4455
- }
4456
- },
4457
- "text/json": {
4458
- "schema": {
4459
- "$ref": "#/components/schemas/ErrorModel"
4460
- }
4461
- }
4462
- }
4463
- },
4464
- "409": {
4465
- "description": "Пустое тело, пустой список или пустые packageID/packageVersion",
4466
- "content": {
4467
- "text/plain": {
4468
- "schema": {
4469
- "type": "array",
4470
- "items": {
4471
- "$ref": "#/components/schemas/ErrorModel"
4472
- }
4473
- }
4474
- },
4475
- "application/json": {
4476
- "schema": {
4477
- "type": "array",
4478
- "items": {
4479
- "$ref": "#/components/schemas/ErrorModel"
4480
- }
4481
- }
4482
- },
4483
- "text/json": {
4484
- "schema": {
4485
- "type": "array",
4486
- "items": {
4487
- "$ref": "#/components/schemas/ErrorModel"
4488
- }
4489
- }
4490
- }
4491
- }
4454
+ "description": "Неверные данные запроса"
4492
4455
  }
4493
4456
  },
4494
4457
  "security": [
@@ -4502,7 +4465,7 @@
4502
4465
  "Roles"
4503
4466
  ],
4504
4467
  "summary": "Удалить расширения роли",
4505
- "description": "## Пример запроса:\r\n\r\nDELETE /roles/1/packages\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело или пустой список идентификаторов (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDelete`.",
4468
+ "description": "## Пример запроса:\r\n\r\nDELETE /roles/1/packages\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDelete`.",
4506
4469
  "parameters": [
4507
4470
  {
4508
4471
  "name": "roleID",
@@ -4593,53 +4556,7 @@
4593
4556
  "description": "Расширения успешно удалены"
4594
4557
  },
4595
4558
  "400": {
4596
- "description": "Невалидный JSON тела запроса",
4597
- "content": {
4598
- "text/plain": {
4599
- "schema": {
4600
- "$ref": "#/components/schemas/ErrorModel"
4601
- }
4602
- },
4603
- "application/json": {
4604
- "schema": {
4605
- "$ref": "#/components/schemas/ErrorModel"
4606
- }
4607
- },
4608
- "text/json": {
4609
- "schema": {
4610
- "$ref": "#/components/schemas/ErrorModel"
4611
- }
4612
- }
4613
- }
4614
- },
4615
- "409": {
4616
- "description": "Пустое тело или пустой список идентификаторов",
4617
- "content": {
4618
- "text/plain": {
4619
- "schema": {
4620
- "type": "array",
4621
- "items": {
4622
- "$ref": "#/components/schemas/ErrorModel"
4623
- }
4624
- }
4625
- },
4626
- "application/json": {
4627
- "schema": {
4628
- "type": "array",
4629
- "items": {
4630
- "$ref": "#/components/schemas/ErrorModel"
4631
- }
4632
- }
4633
- },
4634
- "text/json": {
4635
- "schema": {
4636
- "type": "array",
4637
- "items": {
4638
- "$ref": "#/components/schemas/ErrorModel"
4639
- }
4640
- }
4641
- }
4642
- }
4559
+ "description": "Неверные данные запроса"
4643
4560
  }
4644
4561
  },
4645
4562
  "security": [
@@ -4655,7 +4572,7 @@
4655
4572
  "Roles"
4656
4573
  ],
4657
4574
  "summary": "Активировать расширения роли",
4658
- "description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/activate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело или пустой список идентификаторов (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageActivate`.",
4575
+ "description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/activate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageActivate`.",
4659
4576
  "parameters": [
4660
4577
  {
4661
4578
  "name": "roleID",
@@ -4746,53 +4663,7 @@
4746
4663
  "description": "Расширения успешно активированы"
4747
4664
  },
4748
4665
  "400": {
4749
- "description": "Невалидный JSON тела запроса",
4750
- "content": {
4751
- "text/plain": {
4752
- "schema": {
4753
- "$ref": "#/components/schemas/ErrorModel"
4754
- }
4755
- },
4756
- "application/json": {
4757
- "schema": {
4758
- "$ref": "#/components/schemas/ErrorModel"
4759
- }
4760
- },
4761
- "text/json": {
4762
- "schema": {
4763
- "$ref": "#/components/schemas/ErrorModel"
4764
- }
4765
- }
4766
- }
4767
- },
4768
- "409": {
4769
- "description": "Пустое тело или пустой список идентификаторов",
4770
- "content": {
4771
- "text/plain": {
4772
- "schema": {
4773
- "type": "array",
4774
- "items": {
4775
- "$ref": "#/components/schemas/ErrorModel"
4776
- }
4777
- }
4778
- },
4779
- "application/json": {
4780
- "schema": {
4781
- "type": "array",
4782
- "items": {
4783
- "$ref": "#/components/schemas/ErrorModel"
4784
- }
4785
- }
4786
- },
4787
- "text/json": {
4788
- "schema": {
4789
- "type": "array",
4790
- "items": {
4791
- "$ref": "#/components/schemas/ErrorModel"
4792
- }
4793
- }
4794
- }
4795
- }
4666
+ "description": "Неверные данные запроса"
4796
4667
  }
4797
4668
  },
4798
4669
  "security": [
@@ -4808,7 +4679,7 @@
4808
4679
  "Roles"
4809
4680
  ],
4810
4681
  "summary": "Деактивировать расширения роли",
4811
- "description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/deactivate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело или пустой список идентификаторов (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDeactivate`.",
4682
+ "description": "## Пример запроса:\r\n\r\nPUT /roles/1/packages/deactivate\r\n\r\n```json\r\n[1, 2, 3]\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: неверные данные тела запроса.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `RolePackageDeactivate`.",
4812
4683
  "parameters": [
4813
4684
  {
4814
4685
  "name": "roleID",
@@ -4899,53 +4770,7 @@
4899
4770
  "description": "Расширения успешно деактивированы"
4900
4771
  },
4901
4772
  "400": {
4902
- "description": "Невалидный JSON тела запроса",
4903
- "content": {
4904
- "text/plain": {
4905
- "schema": {
4906
- "$ref": "#/components/schemas/ErrorModel"
4907
- }
4908
- },
4909
- "application/json": {
4910
- "schema": {
4911
- "$ref": "#/components/schemas/ErrorModel"
4912
- }
4913
- },
4914
- "text/json": {
4915
- "schema": {
4916
- "$ref": "#/components/schemas/ErrorModel"
4917
- }
4918
- }
4919
- }
4920
- },
4921
- "409": {
4922
- "description": "Пустое тело или пустой список идентификаторов",
4923
- "content": {
4924
- "text/plain": {
4925
- "schema": {
4926
- "type": "array",
4927
- "items": {
4928
- "$ref": "#/components/schemas/ErrorModel"
4929
- }
4930
- }
4931
- },
4932
- "application/json": {
4933
- "schema": {
4934
- "type": "array",
4935
- "items": {
4936
- "$ref": "#/components/schemas/ErrorModel"
4937
- }
4938
- }
4939
- },
4940
- "text/json": {
4941
- "schema": {
4942
- "type": "array",
4943
- "items": {
4944
- "$ref": "#/components/schemas/ErrorModel"
4945
- }
4946
- }
4947
- }
4948
- }
4773
+ "description": "Неверные данные запроса"
4949
4774
  }
4950
4775
  },
4951
4776
  "security": [
@@ -8075,7 +7900,7 @@
8075
7900
  "Tenants"
8076
7901
  ],
8077
7902
  "summary": "Получить список расширений тенанта",
8078
- "description": "## Пример запроса:\r\n\r\nGET /tenants/this/packages?resourceID=1&resourceID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"type\": \"iframe\",\r\n \"isCacheable\": true,\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\nПоля `package.type` и `package.isCacheable` всегда присутствуют в ответе.\r\nЕсли в данных пакета тип не задан, возвращается `iframe`; если не задан `isCacheable` — `false`.\r\nДопустимые значения `type`: `iframe`, `background`.\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
7903
+ "description": "## Пример запроса:\r\n\r\nGET /tenants/this/packages?resourceID=1&resourceID=2\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Пример успешного ответа (206):\r\nТело ответа имеет тот же формат, что и для `200`, но содержит частичный диапазон.\r\n## Негативные сценарии:\r\n- 204 NoContent: расширения не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8079
7904
  "parameters": [
8080
7905
  {
8081
7906
  "name": "resourceID",
@@ -8202,7 +8027,7 @@
8202
8027
  "Tenants"
8203
8028
  ],
8204
8029
  "summary": "Добавить расширение (только для кросс-тенантных администраторов)",
8205
- "description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\",\r\n \"name\": \"Расширение отчетности\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"addonUrl\": \"https://example.com/addon\",\r\n \"resourceID\": 1,\r\n \"type\": \"iframe\",\r\n \"isCacheable\": true,\r\n \"isMobile\": false\r\n}\r\n```\r\n \r\nОбязательные поля: `addonID`, `version`, `name`, `iconUrl`, `addonUrl`, `resourceID`.\r\nПоля `type` и `isCacheable` необязательны. Если `type` не передан, сохраняется `iframe`.\r\nЕсли `isCacheable` не передан, сохраняется `false`. `isMobile` необязателен, по умолчанию `false`.\r\nДопустимые значения `type`: `iframe`, `background`.\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"type\": \"iframe\",\r\n \"isCacheable\": true,\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело (`data`) или пустые обязательные поля `addonID`, `version`, `name`, `iconUrl`, `addonUrl` (`ParameterNullException`).\r\n- 409 Conflict: неподдерживаемое значение `type` (допустимы `iframe`, `background`) (`InconsistentData`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8030
+ "description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"name\": \"Расширение отчетности\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"addonUrl\": \"https://example.com/addon\",\r\n \"resourceID\": 1,\r\n \"isMobile\": false\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8206
8031
  "parameters": [
8207
8032
  {
8208
8033
  "name": "X-Application-ID",
@@ -8232,7 +8057,7 @@
8232
8057
  }
8233
8058
  ],
8234
8059
  "requestBody": {
8235
- "description": "Данные для добавления расширения. Обязательные: addonID, version, name, iconUrl, addonUrl, resourceID. Необязательные: type (iframe|background, по умолчанию iframe), isCacheable (по умолчанию false), isMobile (по умолчанию false).",
8060
+ "description": "Данные для добавления расширения",
8236
8061
  "content": {
8237
8062
  "application/json-patch+json": {
8238
8063
  "schema": {
@@ -8296,53 +8121,7 @@
8296
8121
  "description": "Расширение не найдено"
8297
8122
  },
8298
8123
  "400": {
8299
- "description": "Невалидный JSON тела запроса",
8300
- "content": {
8301
- "text/plain": {
8302
- "schema": {
8303
- "$ref": "#/components/schemas/ErrorModel"
8304
- }
8305
- },
8306
- "application/json": {
8307
- "schema": {
8308
- "$ref": "#/components/schemas/ErrorModel"
8309
- }
8310
- },
8311
- "text/json": {
8312
- "schema": {
8313
- "$ref": "#/components/schemas/ErrorModel"
8314
- }
8315
- }
8316
- }
8317
- },
8318
- "409": {
8319
- "description": "Пустое тело, пустое обязательное поле или неподдерживаемый type",
8320
- "content": {
8321
- "text/plain": {
8322
- "schema": {
8323
- "type": "array",
8324
- "items": {
8325
- "$ref": "#/components/schemas/ErrorModel"
8326
- }
8327
- }
8328
- },
8329
- "application/json": {
8330
- "schema": {
8331
- "type": "array",
8332
- "items": {
8333
- "$ref": "#/components/schemas/ErrorModel"
8334
- }
8335
- }
8336
- },
8337
- "text/json": {
8338
- "schema": {
8339
- "type": "array",
8340
- "items": {
8341
- "$ref": "#/components/schemas/ErrorModel"
8342
- }
8343
- }
8344
- }
8345
- }
8124
+ "description": "Неверные данные запроса"
8346
8125
  }
8347
8126
  },
8348
8127
  "security": [
@@ -8356,7 +8135,7 @@
8356
8135
  "Tenants"
8357
8136
  ],
8358
8137
  "summary": "Удалить расширение (только для кросс-тенантных администраторов)",
8359
- "description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\nОбязательные поля: `addonID`, `version`.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело (`data`) или пустые обязательные поля `addonID`, `version` (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8138
+ "description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8360
8139
  "parameters": [
8361
8140
  {
8362
8141
  "name": "X-Application-ID",
@@ -8386,7 +8165,7 @@
8386
8165
  }
8387
8166
  ],
8388
8167
  "requestBody": {
8389
- "description": "Идентификатор удаляемого расширения. Обязательные: addonID, version.",
8168
+ "description": "Идентификатор удаляемого расширения",
8390
8169
  "content": {
8391
8170
  "application/json-patch+json": {
8392
8171
  "schema": {
@@ -8421,53 +8200,7 @@
8421
8200
  "description": "Расширение успешно удалено"
8422
8201
  },
8423
8202
  "400": {
8424
- "description": "Невалидный JSON тела запроса",
8425
- "content": {
8426
- "text/plain": {
8427
- "schema": {
8428
- "$ref": "#/components/schemas/ErrorModel"
8429
- }
8430
- },
8431
- "application/json": {
8432
- "schema": {
8433
- "$ref": "#/components/schemas/ErrorModel"
8434
- }
8435
- },
8436
- "text/json": {
8437
- "schema": {
8438
- "$ref": "#/components/schemas/ErrorModel"
8439
- }
8440
- }
8441
- }
8442
- },
8443
- "409": {
8444
- "description": "Пустое тело или пустые addonID/version",
8445
- "content": {
8446
- "text/plain": {
8447
- "schema": {
8448
- "type": "array",
8449
- "items": {
8450
- "$ref": "#/components/schemas/ErrorModel"
8451
- }
8452
- }
8453
- },
8454
- "application/json": {
8455
- "schema": {
8456
- "type": "array",
8457
- "items": {
8458
- "$ref": "#/components/schemas/ErrorModel"
8459
- }
8460
- }
8461
- },
8462
- "text/json": {
8463
- "schema": {
8464
- "type": "array",
8465
- "items": {
8466
- "$ref": "#/components/schemas/ErrorModel"
8467
- }
8468
- }
8469
- }
8470
- }
8203
+ "description": "Неверные данные запроса"
8471
8204
  }
8472
8205
  },
8473
8206
  "security": [
@@ -8481,7 +8214,7 @@
8481
8214
  "Tenants"
8482
8215
  ],
8483
8216
  "summary": "Обновить расширение (только для кросс-тенантных администраторов)",
8484
- "description": "## Пример запроса:\r\n\r\nPATCH /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\",\r\n \"name\": \"Расширение отчетности\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\nОбязательные поля: `addonID`, `version`, `name`.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело (`data`) или пустые обязательные поля `addonID`, `version`, `name` (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8217
+ "description": "## Пример запроса:\r\n\r\nPATCH /tenants/this/packages\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\",\r\n \"name\": \"Расширение отчетности\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8485
8218
  "parameters": [
8486
8219
  {
8487
8220
  "name": "X-Application-ID",
@@ -8511,7 +8244,7 @@
8511
8244
  }
8512
8245
  ],
8513
8246
  "requestBody": {
8514
- "description": "Данные для обновления расширения. Обязательные: addonID, version, name.",
8247
+ "description": "Данные для обновления расширения",
8515
8248
  "content": {
8516
8249
  "application/json-patch+json": {
8517
8250
  "schema": {
@@ -8546,53 +8279,7 @@
8546
8279
  "description": "Расширение успешно обновлено"
8547
8280
  },
8548
8281
  "400": {
8549
- "description": "Невалидный JSON тела запроса",
8550
- "content": {
8551
- "text/plain": {
8552
- "schema": {
8553
- "$ref": "#/components/schemas/ErrorModel"
8554
- }
8555
- },
8556
- "application/json": {
8557
- "schema": {
8558
- "$ref": "#/components/schemas/ErrorModel"
8559
- }
8560
- },
8561
- "text/json": {
8562
- "schema": {
8563
- "$ref": "#/components/schemas/ErrorModel"
8564
- }
8565
- }
8566
- }
8567
- },
8568
- "409": {
8569
- "description": "Пустое тело или пустые addonID/version/name",
8570
- "content": {
8571
- "text/plain": {
8572
- "schema": {
8573
- "type": "array",
8574
- "items": {
8575
- "$ref": "#/components/schemas/ErrorModel"
8576
- }
8577
- }
8578
- },
8579
- "application/json": {
8580
- "schema": {
8581
- "type": "array",
8582
- "items": {
8583
- "$ref": "#/components/schemas/ErrorModel"
8584
- }
8585
- }
8586
- },
8587
- "text/json": {
8588
- "schema": {
8589
- "type": "array",
8590
- "items": {
8591
- "$ref": "#/components/schemas/ErrorModel"
8592
- }
8593
- }
8594
- }
8595
- }
8282
+ "description": "Неверные данные запроса"
8596
8283
  }
8597
8284
  },
8598
8285
  "security": [
@@ -8608,7 +8295,7 @@
8608
8295
  "Tenants"
8609
8296
  ],
8610
8297
  "summary": "Добавить расширение для тенанта",
8611
- "description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"type\": \"iframe\",\r\n \"isCacheable\": false,\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\nОбязательные поля: `addonID`, `version`. `isMobile` необязателен, по умолчанию `false`.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело (`data`) или пустые обязательные поля `addonID`, `version` (`ParameterNullException`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8298
+ "description": "## Пример запроса:\r\n\r\nPOST /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n```json\r\n[\r\n {\r\n \"resource\": {\r\n \"id\": 1,\r\n \"name\": \"Web интерфейс\"\r\n },\r\n \"package\": {\r\n \"id\": \"pkg-1\",\r\n \"name\": \"Расширение отчетности\",\r\n \"version\": \"1.0.0\",\r\n \"iconUrl\": \"https://example.com/icon.png\",\r\n \"isAddAuthorizeParameters\": false\r\n }\r\n }\r\n]\r\n```\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 204 NoContent: расширение не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8612
8299
  "parameters": [
8613
8300
  {
8614
8301
  "name": "X-Application-ID",
@@ -8638,7 +8325,7 @@
8638
8325
  }
8639
8326
  ],
8640
8327
  "requestBody": {
8641
- "description": "Данные для добавления расширения. Обязательные: addonID, version.",
8328
+ "description": "Данные для добавления расширения",
8642
8329
  "content": {
8643
8330
  "application/json-patch+json": {
8644
8331
  "schema": {
@@ -8702,53 +8389,7 @@
8702
8389
  "description": "Расширение не найдено"
8703
8390
  },
8704
8391
  "400": {
8705
- "description": "Невалидный JSON тела запроса",
8706
- "content": {
8707
- "text/plain": {
8708
- "schema": {
8709
- "$ref": "#/components/schemas/ErrorModel"
8710
- }
8711
- },
8712
- "application/json": {
8713
- "schema": {
8714
- "$ref": "#/components/schemas/ErrorModel"
8715
- }
8716
- },
8717
- "text/json": {
8718
- "schema": {
8719
- "$ref": "#/components/schemas/ErrorModel"
8720
- }
8721
- }
8722
- }
8723
- },
8724
- "409": {
8725
- "description": "Пустое тело или пустые addonID/version",
8726
- "content": {
8727
- "text/plain": {
8728
- "schema": {
8729
- "type": "array",
8730
- "items": {
8731
- "$ref": "#/components/schemas/ErrorModel"
8732
- }
8733
- }
8734
- },
8735
- "application/json": {
8736
- "schema": {
8737
- "type": "array",
8738
- "items": {
8739
- "$ref": "#/components/schemas/ErrorModel"
8740
- }
8741
- }
8742
- },
8743
- "text/json": {
8744
- "schema": {
8745
- "type": "array",
8746
- "items": {
8747
- "$ref": "#/components/schemas/ErrorModel"
8748
- }
8749
- }
8750
- }
8751
- }
8392
+ "description": "Неверные данные запроса"
8752
8393
  }
8753
8394
  },
8754
8395
  "security": [
@@ -8762,7 +8403,7 @@
8762
8403
  "Tenants"
8763
8404
  ],
8764
8405
  "summary": "Удалить расширение для тенанта",
8765
- "description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\nОбязательные поля: `addonID`, `version`.\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: невалидный JSON тела запроса.\r\n- 409 Conflict: пустое тело (`data`) или пустые обязательные поля `addonID`, `version` (`ParameterNullException`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8406
+ "description": "## Пример запроса:\r\n\r\nDELETE /tenants/this/packages/tenant\r\n\r\n```json\r\n{\r\n \"addonID\": \"pkg-1\",\r\n \"version\": \"1.0.0\"\r\n}\r\n```\r\n\r\n## Пример успешного ответа:\r\n\r\nHTTP 202 Accepted\r\n \r\n## Негативные сценарии:\r\n- 400 BadRequest: пустое или отсутствующее тело запроса (`data`).\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав доступа.",
8766
8407
  "parameters": [
8767
8408
  {
8768
8409
  "name": "X-Application-ID",
@@ -8792,7 +8433,7 @@
8792
8433
  }
8793
8434
  ],
8794
8435
  "requestBody": {
8795
- "description": "Идентификатор удаляемого расширения. Обязательные: addonID, version.",
8436
+ "description": "Идентификатор удаляемого расширения",
8796
8437
  "content": {
8797
8438
  "application/json-patch+json": {
8798
8439
  "schema": {
@@ -8827,53 +8468,7 @@
8827
8468
  "description": "Расширение успешно удалено"
8828
8469
  },
8829
8470
  "400": {
8830
- "description": "Невалидный JSON тела запроса",
8831
- "content": {
8832
- "text/plain": {
8833
- "schema": {
8834
- "$ref": "#/components/schemas/ErrorModel"
8835
- }
8836
- },
8837
- "application/json": {
8838
- "schema": {
8839
- "$ref": "#/components/schemas/ErrorModel"
8840
- }
8841
- },
8842
- "text/json": {
8843
- "schema": {
8844
- "$ref": "#/components/schemas/ErrorModel"
8845
- }
8846
- }
8847
- }
8848
- },
8849
- "409": {
8850
- "description": "Пустое тело или пустые addonID/version",
8851
- "content": {
8852
- "text/plain": {
8853
- "schema": {
8854
- "type": "array",
8855
- "items": {
8856
- "$ref": "#/components/schemas/ErrorModel"
8857
- }
8858
- }
8859
- },
8860
- "application/json": {
8861
- "schema": {
8862
- "type": "array",
8863
- "items": {
8864
- "$ref": "#/components/schemas/ErrorModel"
8865
- }
8866
- }
8867
- },
8868
- "text/json": {
8869
- "schema": {
8870
- "type": "array",
8871
- "items": {
8872
- "$ref": "#/components/schemas/ErrorModel"
8873
- }
8874
- }
8875
- }
8876
- }
8471
+ "description": "Неверные данные запроса"
8877
8472
  }
8878
8473
  },
8879
8474
  "security": [
@@ -20997,34 +20592,29 @@
20997
20592
  "schemas": {
20998
20593
  "ADDONPAddData": {
20999
20594
  "required": [
21000
- "addonID",
21001
- "addonUrl",
21002
- "iconUrl",
21003
- "name",
21004
- "resourceID",
21005
- "version"
20595
+ "name"
21006
20596
  ],
21007
20597
  "type": "object",
21008
20598
  "properties": {
21009
20599
  "addonID": {
21010
- "minLength": 1,
21011
- "type": "string"
20600
+ "type": "string",
20601
+ "nullable": true
21012
20602
  },
21013
20603
  "version": {
21014
- "minLength": 1,
21015
- "type": "string"
20604
+ "type": "string",
20605
+ "nullable": true
21016
20606
  },
21017
20607
  "name": {
21018
20608
  "minLength": 1,
21019
20609
  "type": "string"
21020
20610
  },
21021
20611
  "iconUrl": {
21022
- "minLength": 1,
21023
- "type": "string"
20612
+ "type": "string",
20613
+ "nullable": true
21024
20614
  },
21025
20615
  "addonUrl": {
21026
- "minLength": 1,
21027
- "type": "string"
20616
+ "type": "string",
20617
+ "nullable": true
21028
20618
  },
21029
20619
  "resourceID": {
21030
20620
  "type": "integer",
@@ -21032,32 +20622,23 @@
21032
20622
  },
21033
20623
  "isMobile": {
21034
20624
  "type": "boolean"
21035
- },
21036
- "type": {
21037
- "type": "string",
21038
- "nullable": true
21039
- },
21040
- "isCacheable": {
21041
- "type": "boolean"
21042
20625
  }
21043
20626
  },
21044
20627
  "additionalProperties": false
21045
20628
  },
21046
20629
  "ADDONPUpdateData": {
21047
20630
  "required": [
21048
- "addonID",
21049
- "name",
21050
- "version"
20631
+ "name"
21051
20632
  ],
21052
20633
  "type": "object",
21053
20634
  "properties": {
21054
20635
  "addonID": {
21055
- "minLength": 1,
21056
- "type": "string"
20636
+ "type": "string",
20637
+ "nullable": true
21057
20638
  },
21058
20639
  "version": {
21059
- "minLength": 1,
21060
- "type": "string"
20640
+ "type": "string",
20641
+ "nullable": true
21061
20642
  },
21062
20643
  "name": {
21063
20644
  "minLength": 1,
@@ -22399,19 +21980,15 @@
22399
21980
  "description": "Результат актуальной локации"
22400
21981
  },
22401
21982
  "AddTenantPackageData": {
22402
- "required": [
22403
- "addonID",
22404
- "version"
22405
- ],
22406
21983
  "type": "object",
22407
21984
  "properties": {
22408
21985
  "addonID": {
22409
- "minLength": 1,
22410
- "type": "string"
21986
+ "type": "string",
21987
+ "nullable": true
22411
21988
  },
22412
21989
  "version": {
22413
- "minLength": 1,
22414
- "type": "string"
21990
+ "type": "string",
21991
+ "nullable": true
22415
21992
  },
22416
21993
  "isMobile": {
22417
21994
  "type": "boolean"
@@ -24004,7 +23581,7 @@
24004
23581
  },
24005
23582
  "additionalProperties": false
24006
23583
  },
24007
- "IdCodeNameResultOfByte": {
23584
+ "IdCodeNameResultOfInt": {
24008
23585
  "type": "object",
24009
23586
  "properties": {
24010
23587
  "id": {
@@ -24128,6 +23705,20 @@
24128
23705
  },
24129
23706
  "additionalProperties": false
24130
23707
  },
23708
+ "IdNameResultOfInt": {
23709
+ "type": "object",
23710
+ "properties": {
23711
+ "id": {
23712
+ "type": "integer",
23713
+ "format": "int32"
23714
+ },
23715
+ "name": {
23716
+ "type": "string",
23717
+ "nullable": true
23718
+ }
23719
+ },
23720
+ "additionalProperties": false
23721
+ },
24131
23722
  "IdNameResultOfShort": {
24132
23723
  "type": "object",
24133
23724
  "properties": {
@@ -24390,19 +23981,15 @@
24390
23981
  "description": "Подразделение"
24391
23982
  },
24392
23983
  "PackageIdentifier": {
24393
- "required": [
24394
- "addonID",
24395
- "version"
24396
- ],
24397
23984
  "type": "object",
24398
23985
  "properties": {
24399
23986
  "addonID": {
24400
- "minLength": 1,
24401
- "type": "string"
23987
+ "type": "string",
23988
+ "nullable": true
24402
23989
  },
24403
23990
  "version": {
24404
- "minLength": 1,
24405
- "type": "string"
23991
+ "type": "string",
23992
+ "nullable": true
24406
23993
  }
24407
23994
  },
24408
23995
  "additionalProperties": false
@@ -24434,17 +24021,6 @@
24434
24021
  "type": "boolean",
24435
24022
  "description": "Признак того, что нужно дополнить URL-пакета параметрами для авторизации (powerBI)",
24436
24023
  "example": false
24437
- },
24438
- "type": {
24439
- "type": "string",
24440
- "description": "Тип плагина. Допустимые значения: iframe, background. Если в данных не задан — iframe.",
24441
- "nullable": true,
24442
- "example": "iframe"
24443
- },
24444
- "isCacheable": {
24445
- "type": "boolean",
24446
- "description": "Признак кешируемости плагина. Если в данных не задан — false.",
24447
- "example": false
24448
24024
  }
24449
24025
  },
24450
24026
  "additionalProperties": false,
@@ -25252,19 +24828,8 @@
25252
24828
  "description": "Флаг что расширение включено у роли",
25253
24829
  "example": true
25254
24830
  },
25255
- "type": {
25256
- "type": "string",
25257
- "description": "Тип плагина. Допустимые значения: iframe, background. Если в данных не задан — iframe.",
25258
- "nullable": true,
25259
- "example": "iframe"
25260
- },
25261
- "isCacheable": {
25262
- "type": "boolean",
25263
- "description": "Признак кешируемости плагина. Если в данных не задан — false.",
25264
- "example": false
25265
- },
25266
24831
  "resource": {
25267
- "$ref": "#/components/schemas/IdCodeNameResultOfByte"
24832
+ "$ref": "#/components/schemas/IdCodeNameResultOfInt"
25268
24833
  }
25269
24834
  },
25270
24835
  "additionalProperties": false,
@@ -25649,7 +25214,7 @@
25649
25214
  "type": "object",
25650
25215
  "properties": {
25651
25216
  "resource": {
25652
- "$ref": "#/components/schemas/IdNameResultOfByte"
25217
+ "$ref": "#/components/schemas/IdNameResultOfInt"
25653
25218
  },
25654
25219
  "package": {
25655
25220
  "$ref": "#/components/schemas/PackageResult"