@hubex/mcp 0.2.0

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.
Files changed (92) hide show
  1. package/.env.example +54 -0
  2. package/CONNECTING.md +260 -0
  3. package/README.md +266 -0
  4. package/dist/auth.js +226 -0
  5. package/dist/config.js +120 -0
  6. package/dist/generated/manifest.js +3643 -0
  7. package/dist/guides/field-notes.json +27 -0
  8. package/dist/guides/loader.js +32 -0
  9. package/dist/guides/service-map.js +6 -0
  10. package/dist/http.js +93 -0
  11. package/dist/index/store.js +134 -0
  12. package/dist/index/types.js +1 -0
  13. package/dist/index.js +20 -0
  14. package/dist/paths.js +20 -0
  15. package/dist/pii/fields.js +100 -0
  16. package/dist/pii/mask.js +50 -0
  17. package/dist/pii/strategies.js +88 -0
  18. package/dist/schema/build-index.js +67 -0
  19. package/dist/schema/deref.js +87 -0
  20. package/dist/schema/describe.js +65 -0
  21. package/dist/server.js +62 -0
  22. package/dist/token-prompt.js +41 -0
  23. package/dist/tools/curated.js +151 -0
  24. package/dist/tools/discovery.js +187 -0
  25. package/dist/tools/guides.js +126 -0
  26. package/dist/tools/registry.js +37 -0
  27. package/dist/tools/request.js +170 -0
  28. package/dist/tools/types.js +1 -0
  29. package/docs/guides/assets.md +334 -0
  30. package/docs/guides/attributes.md +125 -0
  31. package/docs/guides/checklisttemplates.md +154 -0
  32. package/docs/guides/companies.md +57 -0
  33. package/docs/guides/dictionaries.md +64 -0
  34. package/docs/guides/lifecycle.md +263 -0
  35. package/docs/guides/materials.md +135 -0
  36. package/docs/guides/notifications.md +184 -0
  37. package/docs/guides/roles.md +125 -0
  38. package/docs/guides/sla.md +130 -0
  39. package/docs/guides/start.md +67 -0
  40. package/docs/guides/taskchecklists.md +149 -0
  41. package/docs/guides/taskcreate.md +260 -0
  42. package/docs/guides/taskedit.md +277 -0
  43. package/docs/guides/tasktypes.md +156 -0
  44. package/docs/guides/users.md +71 -0
  45. package/generated/index.dev.json +18776 -0
  46. package/generated/index.prod.json +18858 -0
  47. package/package.json +48 -0
  48. package/swagger/dev/ADM.json +27777 -0
  49. package/swagger/dev/AUTH.json +1739 -0
  50. package/swagger/dev/AUTHN.json +1250 -0
  51. package/swagger/dev/AUTHZ.json +1404 -0
  52. package/swagger/dev/CM.json +309 -0
  53. package/swagger/dev/COMMON.json +6543 -0
  54. package/swagger/dev/ES.json +28029 -0
  55. package/swagger/dev/EXPORT.json +4575 -0
  56. package/swagger/dev/IMPORT.json +1479 -0
  57. package/swagger/dev/LIC.json +224 -0
  58. package/swagger/dev/MSG.json +7883 -0
  59. package/swagger/dev/NEWS.json +348 -0
  60. package/swagger/dev/PA.json +5981 -0
  61. package/swagger/dev/PMP.json +3196 -0
  62. package/swagger/dev/PROXY.json +416 -0
  63. package/swagger/dev/REPORT.json +3921 -0
  64. package/swagger/dev/SC.json +3771 -0
  65. package/swagger/dev/SLA.json +2837 -0
  66. package/swagger/dev/TSTG.json +4981 -0
  67. package/swagger/dev/UI.json +4720 -0
  68. package/swagger/dev/WH.json +16796 -0
  69. package/swagger/dev/WORK.json +36024 -0
  70. package/swagger/dev/WSP.json +1612 -0
  71. package/swagger/prod/ADM.json +27777 -0
  72. package/swagger/prod/AUTH.json +1308 -0
  73. package/swagger/prod/AUTHN.json +2710 -0
  74. package/swagger/prod/AUTHZ.json +896 -0
  75. package/swagger/prod/CM.json +162 -0
  76. package/swagger/prod/COMMON.json +4910 -0
  77. package/swagger/prod/ES.json +28029 -0
  78. package/swagger/prod/EXPORT.json +3091 -0
  79. package/swagger/prod/LIC.json +123 -0
  80. package/swagger/prod/MSG.json +6239 -0
  81. package/swagger/prod/NEWS.json +295 -0
  82. package/swagger/prod/PA.json +5123 -0
  83. package/swagger/prod/PMP.json +2978 -0
  84. package/swagger/prod/PROXY.json +250 -0
  85. package/swagger/prod/REPORT.json +3729 -0
  86. package/swagger/prod/SC.json +3771 -0
  87. package/swagger/prod/SLA.json +2201 -0
  88. package/swagger/prod/TSTG.json +4220 -0
  89. package/swagger/prod/UI.json +3879 -0
  90. package/swagger/prod/WH.json +16730 -0
  91. package/swagger/prod/WORK.json +35994 -0
  92. package/swagger/prod/WSP.json +1468 -0
@@ -0,0 +1,4720 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "API for UI information",
5
+ "description": "UI service for providing components and controls info for front-end application part",
6
+ "contact": {
7
+ "name": "SmartService Backend Team",
8
+ "email": "fmbackend@melston.ru"
9
+ },
10
+ "version": "v1.0.0.0"
11
+ },
12
+ "servers": [
13
+ {
14
+ "url": "/UI"
15
+ }
16
+ ],
17
+ "paths": {
18
+ "/Components": {
19
+ "get": {
20
+ "tags": [
21
+ "Components"
22
+ ],
23
+ "summary": "Возвращает полный список компонентов",
24
+ "description": "## Пример запроса:\r\n`GET /Components`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"1\": {\r\n \"code\": \"TaskDescription\",\r\n \"description\": \"Описание заявки\"\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: недостаточно прав `ComponentsList`.",
25
+ "parameters": [
26
+ {
27
+ "name": "Range",
28
+ "in": "header",
29
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
30
+ "schema": {
31
+ "type": "string"
32
+ }
33
+ },
34
+ {
35
+ "name": "offset",
36
+ "in": "query",
37
+ "description": "количество элементов, которое нобходимо пропустить",
38
+ "schema": {
39
+ "type": "string"
40
+ }
41
+ },
42
+ {
43
+ "name": "fetch",
44
+ "in": "query",
45
+ "description": "количество элементов, которое необходимо вернуть",
46
+ "schema": {
47
+ "type": "string"
48
+ }
49
+ },
50
+ {
51
+ "name": "X-Application-ID",
52
+ "in": "header",
53
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
54
+ "schema": {
55
+ "enum": [
56
+ 1,
57
+ 2,
58
+ 3,
59
+ 4,
60
+ 5,
61
+ 6
62
+ ],
63
+ "type": "integer",
64
+ "format": "int32",
65
+ "default": 3,
66
+ "x-enumNames": [
67
+ "EngineerMobile",
68
+ "CustomerMobile",
69
+ "MainWeb",
70
+ "AdminWeb",
71
+ "Api",
72
+ "PlateWeb"
73
+ ]
74
+ }
75
+ }
76
+ ],
77
+ "responses": {
78
+ "200": {
79
+ "description": "Полный список компонентов.",
80
+ "content": {
81
+ "text/plain": {
82
+ "schema": {
83
+ "type": "object",
84
+ "additionalProperties": {
85
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
86
+ }
87
+ }
88
+ },
89
+ "application/json": {
90
+ "schema": {
91
+ "type": "object",
92
+ "additionalProperties": {
93
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
94
+ }
95
+ }
96
+ },
97
+ "text/json": {
98
+ "schema": {
99
+ "type": "object",
100
+ "additionalProperties": {
101
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
102
+ }
103
+ }
104
+ }
105
+ }
106
+ },
107
+ "206": {
108
+ "description": "Частичный список компонентов, если диапазон ограничивает выборку.",
109
+ "content": {
110
+ "text/plain": {
111
+ "schema": {
112
+ "type": "object",
113
+ "additionalProperties": {
114
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
115
+ }
116
+ }
117
+ },
118
+ "application/json": {
119
+ "schema": {
120
+ "type": "object",
121
+ "additionalProperties": {
122
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
123
+ }
124
+ }
125
+ },
126
+ "text/json": {
127
+ "schema": {
128
+ "type": "object",
129
+ "additionalProperties": {
130
+ "$ref": "#/components/schemas/ResultsBaseComponentResult"
131
+ }
132
+ }
133
+ }
134
+ }
135
+ },
136
+ "204": {
137
+ "description": "Компоненты не найдены."
138
+ },
139
+ "401": {
140
+ "description": "Отсутствует или некорректен Bearer-токен."
141
+ },
142
+ "403": {
143
+ "description": "Недостаточно прав для просмотра списка компонентов."
144
+ }
145
+ },
146
+ "security": [
147
+ {
148
+ "Bearer": [ ]
149
+ }
150
+ ]
151
+ }
152
+ },
153
+ "/Filters": {
154
+ "get": {
155
+ "tags": [
156
+ "Filters"
157
+ ],
158
+ "summary": "Получение списка избранных фильтров пользователя",
159
+ "description": "## Пример запроса:\r\n`GET /Filters?applicationID=1&resource=Tasks`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"applicationID\": 1,\r\n \"resource\": \"Tasks\",\r\n \"sortOrder\": 1\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: недостаточно прав `UserFilterFavouriteList`.",
160
+ "parameters": [
161
+ {
162
+ "name": "applicationID",
163
+ "in": "query",
164
+ "description": "Идентификатор приложения для фильтрации.",
165
+ "schema": {
166
+ "type": "integer",
167
+ "format": "int32"
168
+ }
169
+ },
170
+ {
171
+ "name": "resource",
172
+ "in": "query",
173
+ "description": "Код ресурса для фильтрации.",
174
+ "schema": {
175
+ "type": "string"
176
+ }
177
+ },
178
+ {
179
+ "name": "Range",
180
+ "in": "header",
181
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
182
+ "schema": {
183
+ "type": "string"
184
+ }
185
+ },
186
+ {
187
+ "name": "offset",
188
+ "in": "query",
189
+ "description": "количество элементов, которое нобходимо пропустить",
190
+ "schema": {
191
+ "type": "string"
192
+ }
193
+ },
194
+ {
195
+ "name": "fetch",
196
+ "in": "query",
197
+ "description": "количество элементов, которое необходимо вернуть",
198
+ "schema": {
199
+ "type": "string"
200
+ }
201
+ },
202
+ {
203
+ "name": "applicationID",
204
+ "in": "query",
205
+ "description": "Идентификатор приложения для фильтрации",
206
+ "schema": {
207
+ "type": "integer",
208
+ "format": "int32"
209
+ }
210
+ },
211
+ {
212
+ "name": "resource",
213
+ "in": "query",
214
+ "description": "Код ресурса для фильтрации",
215
+ "schema": {
216
+ "type": "string"
217
+ }
218
+ },
219
+ {
220
+ "name": "X-Application-ID",
221
+ "in": "header",
222
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
223
+ "schema": {
224
+ "enum": [
225
+ 1,
226
+ 2,
227
+ 3,
228
+ 4,
229
+ 5,
230
+ 6
231
+ ],
232
+ "type": "integer",
233
+ "format": "int32",
234
+ "default": 3,
235
+ "x-enumNames": [
236
+ "EngineerMobile",
237
+ "CustomerMobile",
238
+ "MainWeb",
239
+ "AdminWeb",
240
+ "Api",
241
+ "PlateWeb"
242
+ ]
243
+ }
244
+ }
245
+ ],
246
+ "responses": {
247
+ "200": {
248
+ "description": "Полный список избранных фильтров.",
249
+ "content": {
250
+ "text/plain": {
251
+ "schema": {
252
+ "type": "array",
253
+ "items": {
254
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
255
+ }
256
+ }
257
+ },
258
+ "application/json": {
259
+ "schema": {
260
+ "type": "array",
261
+ "items": {
262
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
263
+ }
264
+ }
265
+ },
266
+ "text/json": {
267
+ "schema": {
268
+ "type": "array",
269
+ "items": {
270
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
271
+ }
272
+ }
273
+ }
274
+ }
275
+ },
276
+ "206": {
277
+ "description": "Частичный список, если диапазон ограничивает выборку.",
278
+ "content": {
279
+ "text/plain": {
280
+ "schema": {
281
+ "type": "array",
282
+ "items": {
283
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
284
+ }
285
+ }
286
+ },
287
+ "application/json": {
288
+ "schema": {
289
+ "type": "array",
290
+ "items": {
291
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
292
+ }
293
+ }
294
+ },
295
+ "text/json": {
296
+ "schema": {
297
+ "type": "array",
298
+ "items": {
299
+ "$ref": "#/components/schemas/EntitiesUIUserFilterFavouriteEntity"
300
+ }
301
+ }
302
+ }
303
+ }
304
+ },
305
+ "204": {
306
+ "description": "Избранные фильтры не найдены."
307
+ },
308
+ "401": {
309
+ "description": "Отсутствует или некорректен Bearer-токен."
310
+ },
311
+ "403": {
312
+ "description": "Недостаточно прав для просмотра избранных фильтров."
313
+ }
314
+ },
315
+ "security": [
316
+ {
317
+ "Bearer": [ ]
318
+ }
319
+ ]
320
+ }
321
+ },
322
+ "/Filters/{resource}": {
323
+ "post": {
324
+ "tags": [
325
+ "Filters"
326
+ ],
327
+ "summary": "Сохранение избранных фильтров пользователя",
328
+ "description": "## Пример запроса:\r\n`POST /Filters/Tasks`\r\n```json\r\n[\r\n {\r\n \"sortOrder\": 1,\r\n \"filterData\": \"{ \\\"statusID\\\": 1 }\"\r\n }\r\n]\r\n```\r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserFilterFavouriteMerge`.",
329
+ "parameters": [
330
+ {
331
+ "name": "resource",
332
+ "in": "path",
333
+ "description": "Код ресурса, для которого сохраняются фильтры.",
334
+ "required": true,
335
+ "schema": {
336
+ "type": "string"
337
+ }
338
+ },
339
+ {
340
+ "name": "X-Application-ID",
341
+ "in": "header",
342
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
343
+ "schema": {
344
+ "enum": [
345
+ 1,
346
+ 2,
347
+ 3,
348
+ 4,
349
+ 5,
350
+ 6
351
+ ],
352
+ "type": "integer",
353
+ "format": "int32",
354
+ "default": 3,
355
+ "x-enumNames": [
356
+ "EngineerMobile",
357
+ "CustomerMobile",
358
+ "MainWeb",
359
+ "AdminWeb",
360
+ "Api",
361
+ "PlateWeb"
362
+ ]
363
+ }
364
+ }
365
+ ],
366
+ "requestBody": {
367
+ "description": "Коллекция данных избранных фильтров.",
368
+ "content": {
369
+ "application/json-patch+json": {
370
+ "schema": {
371
+ "type": "array",
372
+ "items": {
373
+ "$ref": "#/components/schemas/DataUIMergeData"
374
+ }
375
+ }
376
+ },
377
+ "application/json": {
378
+ "schema": {
379
+ "type": "array",
380
+ "items": {
381
+ "$ref": "#/components/schemas/DataUIMergeData"
382
+ }
383
+ }
384
+ },
385
+ "text/json": {
386
+ "schema": {
387
+ "type": "array",
388
+ "items": {
389
+ "$ref": "#/components/schemas/DataUIMergeData"
390
+ }
391
+ }
392
+ },
393
+ "application/*+json": {
394
+ "schema": {
395
+ "type": "array",
396
+ "items": {
397
+ "$ref": "#/components/schemas/DataUIMergeData"
398
+ }
399
+ }
400
+ }
401
+ }
402
+ },
403
+ "responses": {
404
+ "202": {
405
+ "description": "Избранные фильтры успешно сохранены."
406
+ },
407
+ "401": {
408
+ "description": "Отсутствует или некорректен Bearer-токен."
409
+ },
410
+ "403": {
411
+ "description": "Недостаточно прав для сохранения избранных фильтров."
412
+ }
413
+ },
414
+ "security": [
415
+ {
416
+ "Bearer": [ ]
417
+ }
418
+ ]
419
+ }
420
+ },
421
+ "/LayoutTemplates/default": {
422
+ "post": {
423
+ "tags": [
424
+ "LayoutTemplates"
425
+ ],
426
+ "summary": "Создаёт шаблон по умолчанию",
427
+ "description": "Если шаблон с флагом `IsDefault = true` уже существует, возвращается ошибка `409 Conflict`.\r\n \r\n## Пример запроса:\r\n`POST /LayoutTemplates/default`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 1,\r\n \"isDefault\": true,\r\n \"name\": \"Шаблон по умолчанию\",\r\n \"columns\": [],\r\n \"taskTypes\": []\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: шаблон по умолчанию уже существует.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
428
+ "parameters": [
429
+ {
430
+ "name": "X-Application-ID",
431
+ "in": "header",
432
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
433
+ "schema": {
434
+ "enum": [
435
+ 1,
436
+ 2,
437
+ 3,
438
+ 4,
439
+ 5,
440
+ 6
441
+ ],
442
+ "type": "integer",
443
+ "format": "int32",
444
+ "default": 3,
445
+ "x-enumNames": [
446
+ "EngineerMobile",
447
+ "CustomerMobile",
448
+ "MainWeb",
449
+ "AdminWeb",
450
+ "Api",
451
+ "PlateWeb"
452
+ ]
453
+ }
454
+ }
455
+ ],
456
+ "responses": {
457
+ "200": {
458
+ "description": "Шаблон по умолчанию успешно создан.",
459
+ "content": {
460
+ "text/plain": {
461
+ "schema": {
462
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
463
+ }
464
+ },
465
+ "application/json": {
466
+ "schema": {
467
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
468
+ }
469
+ },
470
+ "text/json": {
471
+ "schema": {
472
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
473
+ }
474
+ }
475
+ }
476
+ },
477
+ "401": {
478
+ "description": "Отсутствует или некорректен Bearer-токен."
479
+ },
480
+ "409": {
481
+ "description": "Шаблон по умолчанию уже существует. Тело ошибки: System.Collections.Generic.List`1.",
482
+ "content": {
483
+ "text/plain": {
484
+ "schema": {
485
+ "type": "array",
486
+ "items": {
487
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
488
+ }
489
+ }
490
+ },
491
+ "application/json": {
492
+ "schema": {
493
+ "type": "array",
494
+ "items": {
495
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
496
+ }
497
+ }
498
+ },
499
+ "text/json": {
500
+ "schema": {
501
+ "type": "array",
502
+ "items": {
503
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
504
+ }
505
+ }
506
+ }
507
+ }
508
+ },
509
+ "403": {
510
+ "description": "Forbidden"
511
+ }
512
+ },
513
+ "security": [
514
+ {
515
+ "Bearer": [ ]
516
+ }
517
+ ]
518
+ },
519
+ "get": {
520
+ "tags": [
521
+ "LayoutTemplates"
522
+ ],
523
+ "summary": "Возвращает шаблон по умолчанию",
524
+ "description": "## Пример запроса:\r\n`GET /LayoutTemplates/default`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 1,\r\n \"isDefault\": true,\r\n \"name\": \"Шаблон по умолчанию\",\r\n \"columns\": [],\r\n \"taskTypes\": []\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 409 Conflict: шаблон по умолчанию не найден или возник конфликт при получении.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
525
+ "parameters": [
526
+ {
527
+ "name": "X-Application-ID",
528
+ "in": "header",
529
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
530
+ "schema": {
531
+ "enum": [
532
+ 1,
533
+ 2,
534
+ 3,
535
+ 4,
536
+ 5,
537
+ 6
538
+ ],
539
+ "type": "integer",
540
+ "format": "int32",
541
+ "default": 3,
542
+ "x-enumNames": [
543
+ "EngineerMobile",
544
+ "CustomerMobile",
545
+ "MainWeb",
546
+ "AdminWeb",
547
+ "Api",
548
+ "PlateWeb"
549
+ ]
550
+ }
551
+ }
552
+ ],
553
+ "responses": {
554
+ "200": {
555
+ "description": "Шаблон по умолчанию найден.",
556
+ "content": {
557
+ "text/plain": {
558
+ "schema": {
559
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
560
+ }
561
+ },
562
+ "application/json": {
563
+ "schema": {
564
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
565
+ }
566
+ },
567
+ "text/json": {
568
+ "schema": {
569
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
570
+ }
571
+ }
572
+ }
573
+ },
574
+ "401": {
575
+ "description": "Отсутствует или некорректен Bearer-токен."
576
+ },
577
+ "409": {
578
+ "description": "Ошибка получения шаблона. Тело ошибки: System.Collections.Generic.List`1.",
579
+ "content": {
580
+ "text/plain": {
581
+ "schema": {
582
+ "type": "array",
583
+ "items": {
584
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
585
+ }
586
+ }
587
+ },
588
+ "application/json": {
589
+ "schema": {
590
+ "type": "array",
591
+ "items": {
592
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
593
+ }
594
+ }
595
+ },
596
+ "text/json": {
597
+ "schema": {
598
+ "type": "array",
599
+ "items": {
600
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
601
+ }
602
+ }
603
+ }
604
+ }
605
+ },
606
+ "403": {
607
+ "description": "Forbidden"
608
+ }
609
+ },
610
+ "security": [
611
+ {
612
+ "Bearer": [ ]
613
+ }
614
+ ]
615
+ }
616
+ },
617
+ "/LayoutTemplates/{id}/reset": {
618
+ "put": {
619
+ "tags": [
620
+ "LayoutTemplates"
621
+ ],
622
+ "summary": "Сбрасывает настройки шаблона к состоянию шаблона по умолчанию",
623
+ "description": "NB: при этом шаблон не становится дефолтным для тенанта.\r\n \r\n## Пример запроса:\r\n`PUT /LayoutTemplates/5/reset`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 5,\r\n \"isDefault\": false,\r\n \"name\": \"Пользовательский шаблон\",\r\n \"columns\": [],\r\n \"taskTypes\": [1, 2]\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 409 Conflict: сброс невозможен из-за конфликта данных.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
624
+ "parameters": [
625
+ {
626
+ "name": "id",
627
+ "in": "path",
628
+ "description": "Идентификатор шаблона.",
629
+ "required": true,
630
+ "schema": {
631
+ "type": "integer",
632
+ "format": "int32"
633
+ }
634
+ },
635
+ {
636
+ "name": "X-Application-ID",
637
+ "in": "header",
638
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
639
+ "schema": {
640
+ "enum": [
641
+ 1,
642
+ 2,
643
+ 3,
644
+ 4,
645
+ 5,
646
+ 6
647
+ ],
648
+ "type": "integer",
649
+ "format": "int32",
650
+ "default": 3,
651
+ "x-enumNames": [
652
+ "EngineerMobile",
653
+ "CustomerMobile",
654
+ "MainWeb",
655
+ "AdminWeb",
656
+ "Api",
657
+ "PlateWeb"
658
+ ]
659
+ }
660
+ }
661
+ ],
662
+ "responses": {
663
+ "200": {
664
+ "description": "Настройки шаблона успешно сброшены.",
665
+ "content": {
666
+ "text/plain": {
667
+ "schema": {
668
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
669
+ }
670
+ },
671
+ "application/json": {
672
+ "schema": {
673
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
674
+ }
675
+ },
676
+ "text/json": {
677
+ "schema": {
678
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
679
+ }
680
+ }
681
+ }
682
+ },
683
+ "401": {
684
+ "description": "Отсутствует или некорректен Bearer-токен."
685
+ },
686
+ "404": {
687
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
688
+ "content": {
689
+ "text/plain": {
690
+ "schema": {
691
+ "type": "array",
692
+ "items": {
693
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
694
+ }
695
+ }
696
+ },
697
+ "application/json": {
698
+ "schema": {
699
+ "type": "array",
700
+ "items": {
701
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
702
+ }
703
+ }
704
+ },
705
+ "text/json": {
706
+ "schema": {
707
+ "type": "array",
708
+ "items": {
709
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
710
+ }
711
+ }
712
+ }
713
+ }
714
+ },
715
+ "409": {
716
+ "description": "Сброс невозможен. Тело ошибки: System.Collections.Generic.List`1.",
717
+ "content": {
718
+ "text/plain": {
719
+ "schema": {
720
+ "type": "array",
721
+ "items": {
722
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
723
+ }
724
+ }
725
+ },
726
+ "application/json": {
727
+ "schema": {
728
+ "type": "array",
729
+ "items": {
730
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
731
+ }
732
+ }
733
+ },
734
+ "text/json": {
735
+ "schema": {
736
+ "type": "array",
737
+ "items": {
738
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
739
+ }
740
+ }
741
+ }
742
+ }
743
+ },
744
+ "403": {
745
+ "description": "Forbidden"
746
+ }
747
+ },
748
+ "security": [
749
+ {
750
+ "Bearer": [ ]
751
+ }
752
+ ]
753
+ }
754
+ },
755
+ "/LayoutTemplates": {
756
+ "get": {
757
+ "tags": [
758
+ "LayoutTemplates"
759
+ ],
760
+ "summary": "Получить список представлений",
761
+ "description": "Список возвращается с полным набором атрибутов представления.\r\n \r\n## Пример запроса:\r\n`GET /LayoutTemplates?taskTypeID=1&taskTypeID=2&isDefault=false`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"isDefault\": false,\r\n \"name\": \"Шаблон для ремонта\",\r\n \"columns\": [],\r\n \"taskTypes\": [1, 2]\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: шаблоны не найдены по указанным фильтрам.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
762
+ "parameters": [
763
+ {
764
+ "name": "taskTypeID",
765
+ "in": "query",
766
+ "description": "Список идентификаторов типов заявок для фильтрации шаблонов.",
767
+ "schema": {
768
+ "type": "array",
769
+ "items": {
770
+ "type": "integer",
771
+ "format": "int32"
772
+ }
773
+ }
774
+ },
775
+ {
776
+ "name": "isDefault",
777
+ "in": "query",
778
+ "description": "Признак того, что шаблон является шаблоном по умолчанию.",
779
+ "schema": {
780
+ "type": "boolean"
781
+ }
782
+ },
783
+ {
784
+ "name": "taskTypeID",
785
+ "in": "query",
786
+ "description": "Идентификаторы типов заявок для фильтрации шаблонов",
787
+ "schema": {
788
+ "type": "integer",
789
+ "format": "int32"
790
+ }
791
+ },
792
+ {
793
+ "name": "isDefault",
794
+ "in": "query",
795
+ "description": "Признак того, что шаблон является шаблоном по умолчанию",
796
+ "schema": {
797
+ "type": "boolean"
798
+ }
799
+ },
800
+ {
801
+ "name": "X-Application-ID",
802
+ "in": "header",
803
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
804
+ "schema": {
805
+ "enum": [
806
+ 1,
807
+ 2,
808
+ 3,
809
+ 4,
810
+ 5,
811
+ 6
812
+ ],
813
+ "type": "integer",
814
+ "format": "int32",
815
+ "default": 3,
816
+ "x-enumNames": [
817
+ "EngineerMobile",
818
+ "CustomerMobile",
819
+ "MainWeb",
820
+ "AdminWeb",
821
+ "Api",
822
+ "PlateWeb"
823
+ ]
824
+ }
825
+ }
826
+ ],
827
+ "responses": {
828
+ "200": {
829
+ "description": "Список шаблонов представления.",
830
+ "content": {
831
+ "text/plain": {
832
+ "schema": {
833
+ "type": "array",
834
+ "items": {
835
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
836
+ }
837
+ }
838
+ },
839
+ "application/json": {
840
+ "schema": {
841
+ "type": "array",
842
+ "items": {
843
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
844
+ }
845
+ }
846
+ },
847
+ "text/json": {
848
+ "schema": {
849
+ "type": "array",
850
+ "items": {
851
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
852
+ }
853
+ }
854
+ }
855
+ }
856
+ },
857
+ "204": {
858
+ "description": "Шаблоны не найдены."
859
+ },
860
+ "401": {
861
+ "description": "Отсутствует или некорректен Bearer-токен."
862
+ },
863
+ "403": {
864
+ "description": "Forbidden"
865
+ }
866
+ },
867
+ "security": [
868
+ {
869
+ "Bearer": [ ]
870
+ }
871
+ ]
872
+ },
873
+ "post": {
874
+ "tags": [
875
+ "LayoutTemplates"
876
+ ],
877
+ "summary": "Создать представление",
878
+ "description": "Создаёт представление со всеми связанными свойствами.\r\n \r\n## Пример запроса:\r\n```json\r\n{\r\n \"isDefault\": false,\r\n \"name\": \"Новый шаблон\",\r\n \"columns\": [\r\n {\r\n \"index\": 0,\r\n \"blocks\": [\r\n {\r\n \"index\": 0,\r\n \"name\": \"Основная информация\",\r\n \"fields\": [\r\n {\r\n \"index\": 0,\r\n \"label\": \"Описание\",\r\n \"type\": \"Component\",\r\n \"code\": \"TaskDescription\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ],\r\n \"taskTypes\": [1, 2]\r\n}\r\n```\r\n## Пример успешного ответа (201):\r\n```json\r\n{\r\n \"id\": 10,\r\n \"isDefault\": false,\r\n \"name\": \"Новый шаблон\",\r\n \"columns\": [],\r\n \"taskTypes\": [1, 2]\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректные данные шаблона.\r\n- 409 Conflict: шаблон с такими параметрами уже существует.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
879
+ "parameters": [
880
+ {
881
+ "name": "X-Application-ID",
882
+ "in": "header",
883
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
884
+ "schema": {
885
+ "enum": [
886
+ 1,
887
+ 2,
888
+ 3,
889
+ 4,
890
+ 5,
891
+ 6
892
+ ],
893
+ "type": "integer",
894
+ "format": "int32",
895
+ "default": 3,
896
+ "x-enumNames": [
897
+ "EngineerMobile",
898
+ "CustomerMobile",
899
+ "MainWeb",
900
+ "AdminWeb",
901
+ "Api",
902
+ "PlateWeb"
903
+ ]
904
+ }
905
+ }
906
+ ],
907
+ "requestBody": {
908
+ "description": "Шаблон заявки.",
909
+ "content": {
910
+ "application/json-patch+json": {
911
+ "schema": {
912
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
913
+ }
914
+ },
915
+ "application/json": {
916
+ "schema": {
917
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
918
+ }
919
+ },
920
+ "text/json": {
921
+ "schema": {
922
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
923
+ }
924
+ },
925
+ "application/*+json": {
926
+ "schema": {
927
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
928
+ }
929
+ }
930
+ }
931
+ },
932
+ "responses": {
933
+ "201": {
934
+ "description": "Шаблон представления успешно создан.",
935
+ "content": {
936
+ "text/plain": {
937
+ "schema": {
938
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
939
+ }
940
+ },
941
+ "application/json": {
942
+ "schema": {
943
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
944
+ }
945
+ },
946
+ "text/json": {
947
+ "schema": {
948
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
949
+ }
950
+ }
951
+ }
952
+ },
953
+ "401": {
954
+ "description": "Отсутствует или некорректен Bearer-токен."
955
+ },
956
+ "409": {
957
+ "description": "Шаблон уже существует. Тело ошибки: System.Collections.Generic.List`1.",
958
+ "content": {
959
+ "text/plain": {
960
+ "schema": {
961
+ "type": "array",
962
+ "items": {
963
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
964
+ }
965
+ }
966
+ },
967
+ "application/json": {
968
+ "schema": {
969
+ "type": "array",
970
+ "items": {
971
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
972
+ }
973
+ }
974
+ },
975
+ "text/json": {
976
+ "schema": {
977
+ "type": "array",
978
+ "items": {
979
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
980
+ }
981
+ }
982
+ }
983
+ }
984
+ },
985
+ "400": {
986
+ "description": "Некорректные данные шаблона. Тело ошибки: System.Collections.Generic.List`1.",
987
+ "content": {
988
+ "text/plain": {
989
+ "schema": {
990
+ "type": "array",
991
+ "items": {
992
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
993
+ }
994
+ }
995
+ },
996
+ "application/json": {
997
+ "schema": {
998
+ "type": "array",
999
+ "items": {
1000
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1001
+ }
1002
+ }
1003
+ },
1004
+ "text/json": {
1005
+ "schema": {
1006
+ "type": "array",
1007
+ "items": {
1008
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1009
+ }
1010
+ }
1011
+ }
1012
+ }
1013
+ },
1014
+ "403": {
1015
+ "description": "Forbidden"
1016
+ }
1017
+ },
1018
+ "security": [
1019
+ {
1020
+ "Bearer": [ ]
1021
+ }
1022
+ ]
1023
+ }
1024
+ },
1025
+ "/LayoutTemplates/{id}": {
1026
+ "get": {
1027
+ "tags": [
1028
+ "LayoutTemplates"
1029
+ ],
1030
+ "summary": "Получить конкретное представление",
1031
+ "description": "## Пример запроса:\r\n`GET /LayoutTemplates/5`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 5,\r\n \"isDefault\": false,\r\n \"name\": \"Пользовательский шаблон\",\r\n \"columns\": [\r\n {\r\n \"index\": 0,\r\n \"blocks\": [\r\n {\r\n \"index\": 0,\r\n \"name\": \"Основная информация\",\r\n \"fields\": [\r\n {\r\n \"index\": 0,\r\n \"label\": \"Описание\",\r\n \"type\": \"Component\",\r\n \"code\": \"TaskDescription\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n ],\r\n \"taskTypes\": [1]\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1032
+ "parameters": [
1033
+ {
1034
+ "name": "id",
1035
+ "in": "path",
1036
+ "description": "Идентификатор шаблона.",
1037
+ "required": true,
1038
+ "schema": {
1039
+ "type": "integer",
1040
+ "format": "int32"
1041
+ }
1042
+ },
1043
+ {
1044
+ "name": "X-Application-ID",
1045
+ "in": "header",
1046
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1047
+ "schema": {
1048
+ "enum": [
1049
+ 1,
1050
+ 2,
1051
+ 3,
1052
+ 4,
1053
+ 5,
1054
+ 6
1055
+ ],
1056
+ "type": "integer",
1057
+ "format": "int32",
1058
+ "default": 3,
1059
+ "x-enumNames": [
1060
+ "EngineerMobile",
1061
+ "CustomerMobile",
1062
+ "MainWeb",
1063
+ "AdminWeb",
1064
+ "Api",
1065
+ "PlateWeb"
1066
+ ]
1067
+ }
1068
+ }
1069
+ ],
1070
+ "responses": {
1071
+ "200": {
1072
+ "description": "Детальная информация о шаблоне представления.",
1073
+ "content": {
1074
+ "text/plain": {
1075
+ "schema": {
1076
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1077
+ }
1078
+ },
1079
+ "application/json": {
1080
+ "schema": {
1081
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1082
+ }
1083
+ },
1084
+ "text/json": {
1085
+ "schema": {
1086
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1087
+ }
1088
+ }
1089
+ }
1090
+ },
1091
+ "401": {
1092
+ "description": "Отсутствует или некорректен Bearer-токен."
1093
+ },
1094
+ "404": {
1095
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1096
+ "content": {
1097
+ "text/plain": {
1098
+ "schema": {
1099
+ "type": "array",
1100
+ "items": {
1101
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1102
+ }
1103
+ }
1104
+ },
1105
+ "application/json": {
1106
+ "schema": {
1107
+ "type": "array",
1108
+ "items": {
1109
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1110
+ }
1111
+ }
1112
+ },
1113
+ "text/json": {
1114
+ "schema": {
1115
+ "type": "array",
1116
+ "items": {
1117
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1118
+ }
1119
+ }
1120
+ }
1121
+ }
1122
+ },
1123
+ "403": {
1124
+ "description": "Forbidden"
1125
+ }
1126
+ },
1127
+ "security": [
1128
+ {
1129
+ "Bearer": [ ]
1130
+ }
1131
+ ]
1132
+ },
1133
+ "put": {
1134
+ "tags": [
1135
+ "LayoutTemplates"
1136
+ ],
1137
+ "summary": "Обновить представление и все связанные сущности",
1138
+ "description": "Пересоздаёт представление полностью.\r\n \r\n## Пример запроса:\r\n`PUT /LayoutTemplates/5`\r\n \r\n```json\r\n{\r\n \"isDefault\": false,\r\n \"name\": \"Обновленный шаблон\",\r\n \"columns\": [\r\n {\r\n \"index\": 0,\r\n \"blocks\": []\r\n }\r\n ],\r\n \"taskTypes\": [1]\r\n}\r\n```\r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 5,\r\n \"isDefault\": false,\r\n \"name\": \"Обновленный шаблон\",\r\n \"columns\": [],\r\n \"taskTypes\": [1]\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректные данные шаблона.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1139
+ "parameters": [
1140
+ {
1141
+ "name": "id",
1142
+ "in": "path",
1143
+ "description": "Идентификатор шаблона.",
1144
+ "required": true,
1145
+ "schema": {
1146
+ "type": "integer",
1147
+ "format": "int32"
1148
+ }
1149
+ },
1150
+ {
1151
+ "name": "X-Application-ID",
1152
+ "in": "header",
1153
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1154
+ "schema": {
1155
+ "enum": [
1156
+ 1,
1157
+ 2,
1158
+ 3,
1159
+ 4,
1160
+ 5,
1161
+ 6
1162
+ ],
1163
+ "type": "integer",
1164
+ "format": "int32",
1165
+ "default": 3,
1166
+ "x-enumNames": [
1167
+ "EngineerMobile",
1168
+ "CustomerMobile",
1169
+ "MainWeb",
1170
+ "AdminWeb",
1171
+ "Api",
1172
+ "PlateWeb"
1173
+ ]
1174
+ }
1175
+ }
1176
+ ],
1177
+ "requestBody": {
1178
+ "description": "Шаблон заявки.",
1179
+ "content": {
1180
+ "application/json-patch+json": {
1181
+ "schema": {
1182
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1183
+ }
1184
+ },
1185
+ "application/json": {
1186
+ "schema": {
1187
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1188
+ }
1189
+ },
1190
+ "text/json": {
1191
+ "schema": {
1192
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1193
+ }
1194
+ },
1195
+ "application/*+json": {
1196
+ "schema": {
1197
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1198
+ }
1199
+ }
1200
+ }
1201
+ },
1202
+ "responses": {
1203
+ "200": {
1204
+ "description": "Шаблон представления успешно обновлен.",
1205
+ "content": {
1206
+ "text/plain": {
1207
+ "schema": {
1208
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1209
+ }
1210
+ },
1211
+ "application/json": {
1212
+ "schema": {
1213
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1214
+ }
1215
+ },
1216
+ "text/json": {
1217
+ "schema": {
1218
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1219
+ }
1220
+ }
1221
+ }
1222
+ },
1223
+ "401": {
1224
+ "description": "Отсутствует или некорректен Bearer-токен."
1225
+ },
1226
+ "404": {
1227
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1228
+ "content": {
1229
+ "text/plain": {
1230
+ "schema": {
1231
+ "type": "array",
1232
+ "items": {
1233
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1234
+ }
1235
+ }
1236
+ },
1237
+ "application/json": {
1238
+ "schema": {
1239
+ "type": "array",
1240
+ "items": {
1241
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1242
+ }
1243
+ }
1244
+ },
1245
+ "text/json": {
1246
+ "schema": {
1247
+ "type": "array",
1248
+ "items": {
1249
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1250
+ }
1251
+ }
1252
+ }
1253
+ }
1254
+ },
1255
+ "400": {
1256
+ "description": "Некорректные данные шаблона. Тело ошибки: System.Collections.Generic.List`1.",
1257
+ "content": {
1258
+ "text/plain": {
1259
+ "schema": {
1260
+ "type": "array",
1261
+ "items": {
1262
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1263
+ }
1264
+ }
1265
+ },
1266
+ "application/json": {
1267
+ "schema": {
1268
+ "type": "array",
1269
+ "items": {
1270
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1271
+ }
1272
+ }
1273
+ },
1274
+ "text/json": {
1275
+ "schema": {
1276
+ "type": "array",
1277
+ "items": {
1278
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1279
+ }
1280
+ }
1281
+ }
1282
+ }
1283
+ },
1284
+ "403": {
1285
+ "description": "Forbidden"
1286
+ }
1287
+ },
1288
+ "security": [
1289
+ {
1290
+ "Bearer": [ ]
1291
+ }
1292
+ ]
1293
+ },
1294
+ "delete": {
1295
+ "tags": [
1296
+ "LayoutTemplates"
1297
+ ],
1298
+ "summary": "Удалить представление и все связные сущности",
1299
+ "description": "## Пример запроса:\r\n`DELETE /LayoutTemplates/5`\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 400 BadRequest: удаление невозможно из-за некорректных данных.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1300
+ "parameters": [
1301
+ {
1302
+ "name": "id",
1303
+ "in": "path",
1304
+ "description": "Идентификатор шаблона.",
1305
+ "required": true,
1306
+ "schema": {
1307
+ "type": "integer",
1308
+ "format": "int32"
1309
+ }
1310
+ },
1311
+ {
1312
+ "name": "X-Application-ID",
1313
+ "in": "header",
1314
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1315
+ "schema": {
1316
+ "enum": [
1317
+ 1,
1318
+ 2,
1319
+ 3,
1320
+ 4,
1321
+ 5,
1322
+ 6
1323
+ ],
1324
+ "type": "integer",
1325
+ "format": "int32",
1326
+ "default": 3,
1327
+ "x-enumNames": [
1328
+ "EngineerMobile",
1329
+ "CustomerMobile",
1330
+ "MainWeb",
1331
+ "AdminWeb",
1332
+ "Api",
1333
+ "PlateWeb"
1334
+ ]
1335
+ }
1336
+ }
1337
+ ],
1338
+ "responses": {
1339
+ "202": {
1340
+ "description": "Удаление принято в обработку."
1341
+ },
1342
+ "401": {
1343
+ "description": "Отсутствует или некорректен Bearer-токен."
1344
+ },
1345
+ "404": {
1346
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1347
+ "content": {
1348
+ "text/plain": {
1349
+ "schema": {
1350
+ "type": "array",
1351
+ "items": {
1352
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1353
+ }
1354
+ }
1355
+ },
1356
+ "application/json": {
1357
+ "schema": {
1358
+ "type": "array",
1359
+ "items": {
1360
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1361
+ }
1362
+ }
1363
+ },
1364
+ "text/json": {
1365
+ "schema": {
1366
+ "type": "array",
1367
+ "items": {
1368
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1369
+ }
1370
+ }
1371
+ }
1372
+ }
1373
+ },
1374
+ "400": {
1375
+ "description": "Удаление невозможно. Тело ошибки: System.Collections.Generic.List`1.",
1376
+ "content": {
1377
+ "text/plain": {
1378
+ "schema": {
1379
+ "type": "array",
1380
+ "items": {
1381
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1382
+ }
1383
+ }
1384
+ },
1385
+ "application/json": {
1386
+ "schema": {
1387
+ "type": "array",
1388
+ "items": {
1389
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1390
+ }
1391
+ }
1392
+ },
1393
+ "text/json": {
1394
+ "schema": {
1395
+ "type": "array",
1396
+ "items": {
1397
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1398
+ }
1399
+ }
1400
+ }
1401
+ }
1402
+ },
1403
+ "403": {
1404
+ "description": "Forbidden"
1405
+ }
1406
+ },
1407
+ "security": [
1408
+ {
1409
+ "Bearer": [ ]
1410
+ }
1411
+ ]
1412
+ }
1413
+ },
1414
+ "/LayoutTemplates/bytype/{id}": {
1415
+ "get": {
1416
+ "tags": [
1417
+ "LayoutTemplates"
1418
+ ],
1419
+ "summary": "Получить представление по типу заявки",
1420
+ "description": "Возвращает первое подходящее представление для типа заявки или дефолтное.\r\n \r\n## Пример запроса:\r\n`GET /LayoutTemplates/bytype/1`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"id\": 3,\r\n \"isDefault\": false,\r\n \"name\": \"Шаблон для типа 1\",\r\n \"columns\": [],\r\n \"taskTypes\": [1]\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 404 NotFound: представление для указанного типа заявки не найдено.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1421
+ "parameters": [
1422
+ {
1423
+ "name": "id",
1424
+ "in": "path",
1425
+ "description": "Идентификатор типа заявки.",
1426
+ "required": true,
1427
+ "schema": {
1428
+ "type": "integer",
1429
+ "format": "int32"
1430
+ }
1431
+ },
1432
+ {
1433
+ "name": "X-Application-ID",
1434
+ "in": "header",
1435
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1436
+ "schema": {
1437
+ "enum": [
1438
+ 1,
1439
+ 2,
1440
+ 3,
1441
+ 4,
1442
+ 5,
1443
+ 6
1444
+ ],
1445
+ "type": "integer",
1446
+ "format": "int32",
1447
+ "default": 3,
1448
+ "x-enumNames": [
1449
+ "EngineerMobile",
1450
+ "CustomerMobile",
1451
+ "MainWeb",
1452
+ "AdminWeb",
1453
+ "Api",
1454
+ "PlateWeb"
1455
+ ]
1456
+ }
1457
+ }
1458
+ ],
1459
+ "responses": {
1460
+ "200": {
1461
+ "description": "Шаблон представления для типа заявки.",
1462
+ "content": {
1463
+ "text/plain": {
1464
+ "schema": {
1465
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1466
+ }
1467
+ },
1468
+ "application/json": {
1469
+ "schema": {
1470
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1471
+ }
1472
+ },
1473
+ "text/json": {
1474
+ "schema": {
1475
+ "$ref": "#/components/schemas/ApiDtoLayoutTemplateDto"
1476
+ }
1477
+ }
1478
+ }
1479
+ },
1480
+ "401": {
1481
+ "description": "Отсутствует или некорректен Bearer-токен."
1482
+ },
1483
+ "404": {
1484
+ "description": "Представление не найдено. Тело ошибки: System.Collections.Generic.List`1.",
1485
+ "content": {
1486
+ "text/plain": {
1487
+ "schema": {
1488
+ "type": "array",
1489
+ "items": {
1490
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1491
+ }
1492
+ }
1493
+ },
1494
+ "application/json": {
1495
+ "schema": {
1496
+ "type": "array",
1497
+ "items": {
1498
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1499
+ }
1500
+ }
1501
+ },
1502
+ "text/json": {
1503
+ "schema": {
1504
+ "type": "array",
1505
+ "items": {
1506
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1507
+ }
1508
+ }
1509
+ }
1510
+ }
1511
+ },
1512
+ "403": {
1513
+ "description": "Forbidden"
1514
+ }
1515
+ },
1516
+ "security": [
1517
+ {
1518
+ "Bearer": [ ]
1519
+ }
1520
+ ]
1521
+ }
1522
+ },
1523
+ "/LayoutTemplates/{id}/taskTypes": {
1524
+ "get": {
1525
+ "tags": [
1526
+ "LayoutTemplates"
1527
+ ],
1528
+ "summary": "Получить список типов задач представления",
1529
+ "description": "## Пример запроса:\r\n`GET /LayoutTemplates/5/taskTypes`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"name\": \"Ремонт\"\r\n },\r\n {\r\n \"id\": 2,\r\n \"name\": \"Обслуживание\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: типы задач для шаблона не найдены.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1530
+ "parameters": [
1531
+ {
1532
+ "name": "id",
1533
+ "in": "path",
1534
+ "description": "Идентификатор шаблона.",
1535
+ "required": true,
1536
+ "schema": {
1537
+ "type": "integer",
1538
+ "format": "int32"
1539
+ }
1540
+ },
1541
+ {
1542
+ "name": "X-Application-ID",
1543
+ "in": "header",
1544
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1545
+ "schema": {
1546
+ "enum": [
1547
+ 1,
1548
+ 2,
1549
+ 3,
1550
+ 4,
1551
+ 5,
1552
+ 6
1553
+ ],
1554
+ "type": "integer",
1555
+ "format": "int32",
1556
+ "default": 3,
1557
+ "x-enumNames": [
1558
+ "EngineerMobile",
1559
+ "CustomerMobile",
1560
+ "MainWeb",
1561
+ "AdminWeb",
1562
+ "Api",
1563
+ "PlateWeb"
1564
+ ]
1565
+ }
1566
+ }
1567
+ ],
1568
+ "responses": {
1569
+ "200": {
1570
+ "description": "Список типов задач шаблона.",
1571
+ "content": {
1572
+ "text/plain": {
1573
+ "schema": {
1574
+ "type": "array",
1575
+ "items": {
1576
+ "$ref": "#/components/schemas/ApiDtoLayoutTaskTypeDto"
1577
+ }
1578
+ }
1579
+ },
1580
+ "application/json": {
1581
+ "schema": {
1582
+ "type": "array",
1583
+ "items": {
1584
+ "$ref": "#/components/schemas/ApiDtoLayoutTaskTypeDto"
1585
+ }
1586
+ }
1587
+ },
1588
+ "text/json": {
1589
+ "schema": {
1590
+ "type": "array",
1591
+ "items": {
1592
+ "$ref": "#/components/schemas/ApiDtoLayoutTaskTypeDto"
1593
+ }
1594
+ }
1595
+ }
1596
+ }
1597
+ },
1598
+ "204": {
1599
+ "description": "Типы задач не найдены."
1600
+ },
1601
+ "401": {
1602
+ "description": "Отсутствует или некорректен Bearer-токен."
1603
+ },
1604
+ "404": {
1605
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1606
+ "content": {
1607
+ "text/plain": {
1608
+ "schema": {
1609
+ "type": "array",
1610
+ "items": {
1611
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1612
+ }
1613
+ }
1614
+ },
1615
+ "application/json": {
1616
+ "schema": {
1617
+ "type": "array",
1618
+ "items": {
1619
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1620
+ }
1621
+ }
1622
+ },
1623
+ "text/json": {
1624
+ "schema": {
1625
+ "type": "array",
1626
+ "items": {
1627
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1628
+ }
1629
+ }
1630
+ }
1631
+ }
1632
+ },
1633
+ "403": {
1634
+ "description": "Forbidden"
1635
+ }
1636
+ },
1637
+ "security": [
1638
+ {
1639
+ "Bearer": [ ]
1640
+ }
1641
+ ]
1642
+ },
1643
+ "put": {
1644
+ "tags": [
1645
+ "LayoutTemplates"
1646
+ ],
1647
+ "summary": "Сопоставить список типов задач представления",
1648
+ "description": "## Пример запроса:\r\n`PUT /LayoutTemplates/5/taskTypes`\r\n \r\n```json\r\n[1, 2, 3]\r\n```\r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректный список типов задач.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1649
+ "parameters": [
1650
+ {
1651
+ "name": "id",
1652
+ "in": "path",
1653
+ "description": "Идентификатор шаблона.",
1654
+ "required": true,
1655
+ "schema": {
1656
+ "type": "integer",
1657
+ "format": "int32"
1658
+ }
1659
+ },
1660
+ {
1661
+ "name": "X-Application-ID",
1662
+ "in": "header",
1663
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1664
+ "schema": {
1665
+ "enum": [
1666
+ 1,
1667
+ 2,
1668
+ 3,
1669
+ 4,
1670
+ 5,
1671
+ 6
1672
+ ],
1673
+ "type": "integer",
1674
+ "format": "int32",
1675
+ "default": 3,
1676
+ "x-enumNames": [
1677
+ "EngineerMobile",
1678
+ "CustomerMobile",
1679
+ "MainWeb",
1680
+ "AdminWeb",
1681
+ "Api",
1682
+ "PlateWeb"
1683
+ ]
1684
+ }
1685
+ }
1686
+ ],
1687
+ "requestBody": {
1688
+ "description": "Массив типов заявок, которые будет поддерживать шаблон. Замещает имеющийся список.",
1689
+ "content": {
1690
+ "application/json-patch+json": {
1691
+ "schema": {
1692
+ "type": "array",
1693
+ "items": {
1694
+ "type": "integer",
1695
+ "format": "int32"
1696
+ }
1697
+ }
1698
+ },
1699
+ "application/json": {
1700
+ "schema": {
1701
+ "type": "array",
1702
+ "items": {
1703
+ "type": "integer",
1704
+ "format": "int32"
1705
+ }
1706
+ }
1707
+ },
1708
+ "text/json": {
1709
+ "schema": {
1710
+ "type": "array",
1711
+ "items": {
1712
+ "type": "integer",
1713
+ "format": "int32"
1714
+ }
1715
+ }
1716
+ },
1717
+ "application/*+json": {
1718
+ "schema": {
1719
+ "type": "array",
1720
+ "items": {
1721
+ "type": "integer",
1722
+ "format": "int32"
1723
+ }
1724
+ }
1725
+ }
1726
+ }
1727
+ },
1728
+ "responses": {
1729
+ "202": {
1730
+ "description": "Список типов задач успешно обновлен."
1731
+ },
1732
+ "401": {
1733
+ "description": "Отсутствует или некорректен Bearer-токен."
1734
+ },
1735
+ "400": {
1736
+ "description": "Некорректный список типов задач. Тело ошибки: System.Collections.Generic.List`1.",
1737
+ "content": {
1738
+ "text/plain": {
1739
+ "schema": {
1740
+ "type": "array",
1741
+ "items": {
1742
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1743
+ }
1744
+ }
1745
+ },
1746
+ "application/json": {
1747
+ "schema": {
1748
+ "type": "array",
1749
+ "items": {
1750
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1751
+ }
1752
+ }
1753
+ },
1754
+ "text/json": {
1755
+ "schema": {
1756
+ "type": "array",
1757
+ "items": {
1758
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1759
+ }
1760
+ }
1761
+ }
1762
+ }
1763
+ },
1764
+ "404": {
1765
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1766
+ "content": {
1767
+ "text/plain": {
1768
+ "schema": {
1769
+ "type": "array",
1770
+ "items": {
1771
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1772
+ }
1773
+ }
1774
+ },
1775
+ "application/json": {
1776
+ "schema": {
1777
+ "type": "array",
1778
+ "items": {
1779
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1780
+ }
1781
+ }
1782
+ },
1783
+ "text/json": {
1784
+ "schema": {
1785
+ "type": "array",
1786
+ "items": {
1787
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1788
+ }
1789
+ }
1790
+ }
1791
+ }
1792
+ },
1793
+ "403": {
1794
+ "description": "Forbidden"
1795
+ }
1796
+ },
1797
+ "security": [
1798
+ {
1799
+ "Bearer": [ ]
1800
+ }
1801
+ ]
1802
+ },
1803
+ "delete": {
1804
+ "tags": [
1805
+ "LayoutTemplates"
1806
+ ],
1807
+ "summary": "Отвязать типы задач от шаблона",
1808
+ "description": "## Пример запроса:\r\n`DELETE /LayoutTemplates/5/taskTypes`\r\n \r\n```json\r\n[2, 3]\r\n```\r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 400 BadRequest: некорректный список типов задач.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1809
+ "parameters": [
1810
+ {
1811
+ "name": "id",
1812
+ "in": "path",
1813
+ "description": "Идентификатор шаблона.",
1814
+ "required": true,
1815
+ "schema": {
1816
+ "type": "integer",
1817
+ "format": "int32"
1818
+ }
1819
+ },
1820
+ {
1821
+ "name": "X-Application-ID",
1822
+ "in": "header",
1823
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1824
+ "schema": {
1825
+ "enum": [
1826
+ 1,
1827
+ 2,
1828
+ 3,
1829
+ 4,
1830
+ 5,
1831
+ 6
1832
+ ],
1833
+ "type": "integer",
1834
+ "format": "int32",
1835
+ "default": 3,
1836
+ "x-enumNames": [
1837
+ "EngineerMobile",
1838
+ "CustomerMobile",
1839
+ "MainWeb",
1840
+ "AdminWeb",
1841
+ "Api",
1842
+ "PlateWeb"
1843
+ ]
1844
+ }
1845
+ }
1846
+ ],
1847
+ "requestBody": {
1848
+ "description": "Массив типов заявок, которые будут исключены из поддержки для данного шаблона.",
1849
+ "content": {
1850
+ "application/json-patch+json": {
1851
+ "schema": {
1852
+ "type": "array",
1853
+ "items": {
1854
+ "type": "integer",
1855
+ "format": "int32"
1856
+ }
1857
+ }
1858
+ },
1859
+ "application/json": {
1860
+ "schema": {
1861
+ "type": "array",
1862
+ "items": {
1863
+ "type": "integer",
1864
+ "format": "int32"
1865
+ }
1866
+ }
1867
+ },
1868
+ "text/json": {
1869
+ "schema": {
1870
+ "type": "array",
1871
+ "items": {
1872
+ "type": "integer",
1873
+ "format": "int32"
1874
+ }
1875
+ }
1876
+ },
1877
+ "application/*+json": {
1878
+ "schema": {
1879
+ "type": "array",
1880
+ "items": {
1881
+ "type": "integer",
1882
+ "format": "int32"
1883
+ }
1884
+ }
1885
+ }
1886
+ }
1887
+ },
1888
+ "responses": {
1889
+ "202": {
1890
+ "description": "Типы задач успешно отвязаны от шаблона."
1891
+ },
1892
+ "401": {
1893
+ "description": "Отсутствует или некорректен Bearer-токен."
1894
+ },
1895
+ "400": {
1896
+ "description": "Некорректный список типов задач. Тело ошибки: System.Collections.Generic.List`1.",
1897
+ "content": {
1898
+ "text/plain": {
1899
+ "schema": {
1900
+ "type": "array",
1901
+ "items": {
1902
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1903
+ }
1904
+ }
1905
+ },
1906
+ "application/json": {
1907
+ "schema": {
1908
+ "type": "array",
1909
+ "items": {
1910
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1911
+ }
1912
+ }
1913
+ },
1914
+ "text/json": {
1915
+ "schema": {
1916
+ "type": "array",
1917
+ "items": {
1918
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1919
+ }
1920
+ }
1921
+ }
1922
+ }
1923
+ },
1924
+ "404": {
1925
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
1926
+ "content": {
1927
+ "text/plain": {
1928
+ "schema": {
1929
+ "type": "array",
1930
+ "items": {
1931
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1932
+ }
1933
+ }
1934
+ },
1935
+ "application/json": {
1936
+ "schema": {
1937
+ "type": "array",
1938
+ "items": {
1939
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1940
+ }
1941
+ }
1942
+ },
1943
+ "text/json": {
1944
+ "schema": {
1945
+ "type": "array",
1946
+ "items": {
1947
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
1948
+ }
1949
+ }
1950
+ }
1951
+ }
1952
+ },
1953
+ "403": {
1954
+ "description": "Forbidden"
1955
+ }
1956
+ },
1957
+ "security": [
1958
+ {
1959
+ "Bearer": [ ]
1960
+ }
1961
+ ]
1962
+ }
1963
+ },
1964
+ "/LayoutTemplates/{id}/Components": {
1965
+ "get": {
1966
+ "tags": [
1967
+ "LayoutTemplates"
1968
+ ],
1969
+ "summary": "Полный список доступных компонентов системы с указанием использования в шаблоне",
1970
+ "description": "Возвращает полный список доступных полей системы с указанием того, были ли они перемещены пользователем в данном шаблоне.\r\n \r\n## Пример запроса:\r\n`GET /LayoutTemplates/5/Components`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"id\": 1,\r\n \"code\": \"TaskDescription\",\r\n \"description\": \"Описание заявки\",\r\n \"isRequired\": true,\r\n \"isInUse\": true\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: компоненты не найдены.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
1971
+ "parameters": [
1972
+ {
1973
+ "name": "id",
1974
+ "in": "path",
1975
+ "description": "Идентификатор шаблона.",
1976
+ "required": true,
1977
+ "schema": {
1978
+ "type": "integer",
1979
+ "format": "int32"
1980
+ }
1981
+ },
1982
+ {
1983
+ "name": "X-Application-ID",
1984
+ "in": "header",
1985
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
1986
+ "schema": {
1987
+ "enum": [
1988
+ 1,
1989
+ 2,
1990
+ 3,
1991
+ 4,
1992
+ 5,
1993
+ 6
1994
+ ],
1995
+ "type": "integer",
1996
+ "format": "int32",
1997
+ "default": 3,
1998
+ "x-enumNames": [
1999
+ "EngineerMobile",
2000
+ "CustomerMobile",
2001
+ "MainWeb",
2002
+ "AdminWeb",
2003
+ "Api",
2004
+ "PlateWeb"
2005
+ ]
2006
+ }
2007
+ }
2008
+ ],
2009
+ "responses": {
2010
+ "200": {
2011
+ "description": "Список компонентов шаблона.",
2012
+ "content": {
2013
+ "text/plain": {
2014
+ "schema": {
2015
+ "type": "array",
2016
+ "items": {
2017
+ "$ref": "#/components/schemas/ApiDtoComponentDto"
2018
+ }
2019
+ }
2020
+ },
2021
+ "application/json": {
2022
+ "schema": {
2023
+ "type": "array",
2024
+ "items": {
2025
+ "$ref": "#/components/schemas/ApiDtoComponentDto"
2026
+ }
2027
+ }
2028
+ },
2029
+ "text/json": {
2030
+ "schema": {
2031
+ "type": "array",
2032
+ "items": {
2033
+ "$ref": "#/components/schemas/ApiDtoComponentDto"
2034
+ }
2035
+ }
2036
+ }
2037
+ }
2038
+ },
2039
+ "204": {
2040
+ "description": "Компоненты не найдены."
2041
+ },
2042
+ "401": {
2043
+ "description": "Отсутствует или некорректен Bearer-токен."
2044
+ },
2045
+ "404": {
2046
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
2047
+ "content": {
2048
+ "text/plain": {
2049
+ "schema": {
2050
+ "type": "array",
2051
+ "items": {
2052
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2053
+ }
2054
+ }
2055
+ },
2056
+ "application/json": {
2057
+ "schema": {
2058
+ "type": "array",
2059
+ "items": {
2060
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2061
+ }
2062
+ }
2063
+ },
2064
+ "text/json": {
2065
+ "schema": {
2066
+ "type": "array",
2067
+ "items": {
2068
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2069
+ }
2070
+ }
2071
+ }
2072
+ }
2073
+ },
2074
+ "403": {
2075
+ "description": "Forbidden"
2076
+ }
2077
+ },
2078
+ "security": [
2079
+ {
2080
+ "Bearer": [ ]
2081
+ }
2082
+ ]
2083
+ }
2084
+ },
2085
+ "/LayoutTemplates/{id}/Attributes": {
2086
+ "get": {
2087
+ "tags": [
2088
+ "LayoutTemplates"
2089
+ ],
2090
+ "summary": "Полный список доступных атрибутов системы с указанием использования в шаблоне",
2091
+ "description": "Возвращает полный список доступных дополнительных полей с указанием того, были ли они перемещены пользователем в данном шаблоне.\r\n \r\n## Пример запроса:\r\n`GET /LayoutTemplates/5/Attributes`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"id\": 10,\r\n \"name\": \"Приоритет\",\r\n \"isInUse\": false\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: атрибуты не найдены.\r\n- 404 NotFound: шаблон с указанным `id` не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.",
2092
+ "parameters": [
2093
+ {
2094
+ "name": "id",
2095
+ "in": "path",
2096
+ "description": "Идентификатор шаблона.",
2097
+ "required": true,
2098
+ "schema": {
2099
+ "type": "integer",
2100
+ "format": "int32"
2101
+ }
2102
+ },
2103
+ {
2104
+ "name": "X-Application-ID",
2105
+ "in": "header",
2106
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2107
+ "schema": {
2108
+ "enum": [
2109
+ 1,
2110
+ 2,
2111
+ 3,
2112
+ 4,
2113
+ 5,
2114
+ 6
2115
+ ],
2116
+ "type": "integer",
2117
+ "format": "int32",
2118
+ "default": 3,
2119
+ "x-enumNames": [
2120
+ "EngineerMobile",
2121
+ "CustomerMobile",
2122
+ "MainWeb",
2123
+ "AdminWeb",
2124
+ "Api",
2125
+ "PlateWeb"
2126
+ ]
2127
+ }
2128
+ }
2129
+ ],
2130
+ "responses": {
2131
+ "200": {
2132
+ "description": "Список атрибутов шаблона.",
2133
+ "content": {
2134
+ "text/plain": {
2135
+ "schema": {
2136
+ "type": "array",
2137
+ "items": {
2138
+ "$ref": "#/components/schemas/ApiDtoAttributeDto"
2139
+ }
2140
+ }
2141
+ },
2142
+ "application/json": {
2143
+ "schema": {
2144
+ "type": "array",
2145
+ "items": {
2146
+ "$ref": "#/components/schemas/ApiDtoAttributeDto"
2147
+ }
2148
+ }
2149
+ },
2150
+ "text/json": {
2151
+ "schema": {
2152
+ "type": "array",
2153
+ "items": {
2154
+ "$ref": "#/components/schemas/ApiDtoAttributeDto"
2155
+ }
2156
+ }
2157
+ }
2158
+ }
2159
+ },
2160
+ "204": {
2161
+ "description": "Атрибуты не найдены."
2162
+ },
2163
+ "401": {
2164
+ "description": "Отсутствует или некорректен Bearer-токен."
2165
+ },
2166
+ "404": {
2167
+ "description": "Шаблон с указанным идентификатором не найден. Тело ошибки: System.Collections.Generic.List`1.",
2168
+ "content": {
2169
+ "text/plain": {
2170
+ "schema": {
2171
+ "type": "array",
2172
+ "items": {
2173
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2174
+ }
2175
+ }
2176
+ },
2177
+ "application/json": {
2178
+ "schema": {
2179
+ "type": "array",
2180
+ "items": {
2181
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2182
+ }
2183
+ }
2184
+ },
2185
+ "text/json": {
2186
+ "schema": {
2187
+ "type": "array",
2188
+ "items": {
2189
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2190
+ }
2191
+ }
2192
+ }
2193
+ }
2194
+ },
2195
+ "403": {
2196
+ "description": "Forbidden"
2197
+ }
2198
+ },
2199
+ "security": [
2200
+ {
2201
+ "Bearer": [ ]
2202
+ }
2203
+ ]
2204
+ }
2205
+ },
2206
+ "/Resources": {
2207
+ "get": {
2208
+ "tags": [
2209
+ "Resources"
2210
+ ],
2211
+ "summary": "Возвращает список ресурсов",
2212
+ "description": "## Пример запроса:\r\n`GET /Resources`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"1\": {\r\n \"id\": 1,\r\n \"code\": \"Tasks\",\r\n \"name\": \"Заявки\"\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: недостаточно прав `ResourcesList`.",
2213
+ "parameters": [
2214
+ {
2215
+ "name": "Range",
2216
+ "in": "header",
2217
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
2218
+ "schema": {
2219
+ "type": "string"
2220
+ }
2221
+ },
2222
+ {
2223
+ "name": "offset",
2224
+ "in": "query",
2225
+ "description": "количество элементов, которое нобходимо пропустить",
2226
+ "schema": {
2227
+ "type": "string"
2228
+ }
2229
+ },
2230
+ {
2231
+ "name": "fetch",
2232
+ "in": "query",
2233
+ "description": "количество элементов, которое необходимо вернуть",
2234
+ "schema": {
2235
+ "type": "string"
2236
+ }
2237
+ },
2238
+ {
2239
+ "name": "X-Application-ID",
2240
+ "in": "header",
2241
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2242
+ "schema": {
2243
+ "enum": [
2244
+ 1,
2245
+ 2,
2246
+ 3,
2247
+ 4,
2248
+ 5,
2249
+ 6
2250
+ ],
2251
+ "type": "integer",
2252
+ "format": "int32",
2253
+ "default": 3,
2254
+ "x-enumNames": [
2255
+ "EngineerMobile",
2256
+ "CustomerMobile",
2257
+ "MainWeb",
2258
+ "AdminWeb",
2259
+ "Api",
2260
+ "PlateWeb"
2261
+ ]
2262
+ }
2263
+ }
2264
+ ],
2265
+ "responses": {
2266
+ "200": {
2267
+ "description": "Полный список ресурсов.",
2268
+ "content": {
2269
+ "text/plain": {
2270
+ "schema": {
2271
+ "type": "object",
2272
+ "additionalProperties": {
2273
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2274
+ }
2275
+ }
2276
+ },
2277
+ "application/json": {
2278
+ "schema": {
2279
+ "type": "object",
2280
+ "additionalProperties": {
2281
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2282
+ }
2283
+ }
2284
+ },
2285
+ "text/json": {
2286
+ "schema": {
2287
+ "type": "object",
2288
+ "additionalProperties": {
2289
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2290
+ }
2291
+ }
2292
+ }
2293
+ }
2294
+ },
2295
+ "206": {
2296
+ "description": "Частичный список ресурсов, если диапазон ограничивает выборку.",
2297
+ "content": {
2298
+ "text/plain": {
2299
+ "schema": {
2300
+ "type": "object",
2301
+ "additionalProperties": {
2302
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2303
+ }
2304
+ }
2305
+ },
2306
+ "application/json": {
2307
+ "schema": {
2308
+ "type": "object",
2309
+ "additionalProperties": {
2310
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2311
+ }
2312
+ }
2313
+ },
2314
+ "text/json": {
2315
+ "schema": {
2316
+ "type": "object",
2317
+ "additionalProperties": {
2318
+ "$ref": "#/components/schemas/IdCodeNameResultOfByte"
2319
+ }
2320
+ }
2321
+ }
2322
+ }
2323
+ },
2324
+ "204": {
2325
+ "description": "Ресурсы не найдены."
2326
+ },
2327
+ "401": {
2328
+ "description": "Отсутствует или некорректен Bearer-токен."
2329
+ },
2330
+ "403": {
2331
+ "description": "Недостаточно прав для просмотра списка ресурсов."
2332
+ }
2333
+ },
2334
+ "security": [
2335
+ {
2336
+ "Bearer": [ ]
2337
+ }
2338
+ ]
2339
+ }
2340
+ },
2341
+ "/SubsystemView/{subsystemID}": {
2342
+ "get": {
2343
+ "tags": [
2344
+ "SubsystemView"
2345
+ ],
2346
+ "summary": "Получение списка форм подсистемы",
2347
+ "description": "## Пример запроса:\r\n`GET /SubsystemView/5`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"subsystemID\": 5,\r\n \"viewCode\": \"TaskList\",\r\n \"viewName\": \"Список заявок\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: формы подсистемы не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав для просмотра форм подсистемы.\r\n- 404 NotFound: подсистема не найдена.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
2348
+ "parameters": [
2349
+ {
2350
+ "name": "subsystemID",
2351
+ "in": "path",
2352
+ "description": "Идентификатор подсистемы. Если не указан, возвращаются формы всех подсистем.",
2353
+ "required": true,
2354
+ "schema": {
2355
+ "type": "integer",
2356
+ "format": "int32"
2357
+ }
2358
+ },
2359
+ {
2360
+ "name": "Range",
2361
+ "in": "header",
2362
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
2363
+ "schema": {
2364
+ "type": "string"
2365
+ }
2366
+ },
2367
+ {
2368
+ "name": "offset",
2369
+ "in": "query",
2370
+ "description": "количество элементов, которое нобходимо пропустить",
2371
+ "schema": {
2372
+ "type": "string"
2373
+ }
2374
+ },
2375
+ {
2376
+ "name": "fetch",
2377
+ "in": "query",
2378
+ "description": "количество элементов, которое необходимо вернуть",
2379
+ "schema": {
2380
+ "type": "string"
2381
+ }
2382
+ },
2383
+ {
2384
+ "name": "X-Application-ID",
2385
+ "in": "header",
2386
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2387
+ "schema": {
2388
+ "enum": [
2389
+ 1,
2390
+ 2,
2391
+ 3,
2392
+ 4,
2393
+ 5,
2394
+ 6
2395
+ ],
2396
+ "type": "integer",
2397
+ "format": "int32",
2398
+ "default": 3,
2399
+ "x-enumNames": [
2400
+ "EngineerMobile",
2401
+ "CustomerMobile",
2402
+ "MainWeb",
2403
+ "AdminWeb",
2404
+ "Api",
2405
+ "PlateWeb"
2406
+ ]
2407
+ }
2408
+ }
2409
+ ],
2410
+ "responses": {
2411
+ "200": {
2412
+ "description": "Список форм подсистемы.",
2413
+ "content": {
2414
+ "text/plain": {
2415
+ "schema": {
2416
+ "type": "array",
2417
+ "items": {
2418
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2419
+ }
2420
+ }
2421
+ },
2422
+ "application/json": {
2423
+ "schema": {
2424
+ "type": "array",
2425
+ "items": {
2426
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2427
+ }
2428
+ }
2429
+ },
2430
+ "text/json": {
2431
+ "schema": {
2432
+ "type": "array",
2433
+ "items": {
2434
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2435
+ }
2436
+ }
2437
+ }
2438
+ }
2439
+ },
2440
+ "204": {
2441
+ "description": "Формы подсистемы не найдены."
2442
+ },
2443
+ "401": {
2444
+ "description": "Отсутствует или некорректен Bearer-токен."
2445
+ },
2446
+ "403": {
2447
+ "description": "Недостаточно прав для просмотра форм подсистемы."
2448
+ },
2449
+ "404": {
2450
+ "description": "Подсистема не найдена.",
2451
+ "content": {
2452
+ "text/plain": {
2453
+ "schema": {
2454
+ "type": "array",
2455
+ "items": {
2456
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2457
+ }
2458
+ }
2459
+ },
2460
+ "application/json": {
2461
+ "schema": {
2462
+ "type": "array",
2463
+ "items": {
2464
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2465
+ }
2466
+ }
2467
+ },
2468
+ "text/json": {
2469
+ "schema": {
2470
+ "type": "array",
2471
+ "items": {
2472
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2473
+ }
2474
+ }
2475
+ }
2476
+ }
2477
+ },
2478
+ "500": {
2479
+ "description": "Внутренняя ошибка сервера.",
2480
+ "content": {
2481
+ "text/plain": {
2482
+ "schema": {
2483
+ "type": "array",
2484
+ "items": {
2485
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2486
+ }
2487
+ }
2488
+ },
2489
+ "application/json": {
2490
+ "schema": {
2491
+ "type": "array",
2492
+ "items": {
2493
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2494
+ }
2495
+ }
2496
+ },
2497
+ "text/json": {
2498
+ "schema": {
2499
+ "type": "array",
2500
+ "items": {
2501
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2502
+ }
2503
+ }
2504
+ }
2505
+ }
2506
+ },
2507
+ "206": {
2508
+ "description": "PartialContent",
2509
+ "headers": {
2510
+ "Content-Range": {
2511
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
2512
+ "schema": {
2513
+ "type": "string"
2514
+ }
2515
+ }
2516
+ }
2517
+ }
2518
+ },
2519
+ "security": [
2520
+ {
2521
+ "Bearer": [ ]
2522
+ }
2523
+ ]
2524
+ }
2525
+ },
2526
+ "/SubsystemView": {
2527
+ "get": {
2528
+ "tags": [
2529
+ "SubsystemView"
2530
+ ],
2531
+ "summary": "Получение списка форм подсистемы",
2532
+ "description": "## Пример запроса:\r\n`GET /SubsystemView/5`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"subsystemID\": 5,\r\n \"viewCode\": \"TaskList\",\r\n \"viewName\": \"Список заявок\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: формы подсистемы не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав для просмотра форм подсистемы.\r\n- 404 NotFound: подсистема не найдена.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
2533
+ "parameters": [
2534
+ {
2535
+ "name": "subsystemID",
2536
+ "in": "path",
2537
+ "description": "Идентификатор подсистемы. Если не указан, возвращаются формы всех подсистем.",
2538
+ "required": true,
2539
+ "schema": {
2540
+ "type": "integer",
2541
+ "format": "int32"
2542
+ }
2543
+ },
2544
+ {
2545
+ "name": "Range",
2546
+ "in": "header",
2547
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
2548
+ "schema": {
2549
+ "type": "string"
2550
+ }
2551
+ },
2552
+ {
2553
+ "name": "offset",
2554
+ "in": "query",
2555
+ "description": "количество элементов, которое нобходимо пропустить",
2556
+ "schema": {
2557
+ "type": "string"
2558
+ }
2559
+ },
2560
+ {
2561
+ "name": "fetch",
2562
+ "in": "query",
2563
+ "description": "количество элементов, которое необходимо вернуть",
2564
+ "schema": {
2565
+ "type": "string"
2566
+ }
2567
+ },
2568
+ {
2569
+ "name": "X-Application-ID",
2570
+ "in": "header",
2571
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2572
+ "schema": {
2573
+ "enum": [
2574
+ 1,
2575
+ 2,
2576
+ 3,
2577
+ 4,
2578
+ 5,
2579
+ 6
2580
+ ],
2581
+ "type": "integer",
2582
+ "format": "int32",
2583
+ "default": 3,
2584
+ "x-enumNames": [
2585
+ "EngineerMobile",
2586
+ "CustomerMobile",
2587
+ "MainWeb",
2588
+ "AdminWeb",
2589
+ "Api",
2590
+ "PlateWeb"
2591
+ ]
2592
+ }
2593
+ }
2594
+ ],
2595
+ "responses": {
2596
+ "200": {
2597
+ "description": "Список форм подсистемы.",
2598
+ "content": {
2599
+ "text/plain": {
2600
+ "schema": {
2601
+ "type": "array",
2602
+ "items": {
2603
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2604
+ }
2605
+ }
2606
+ },
2607
+ "application/json": {
2608
+ "schema": {
2609
+ "type": "array",
2610
+ "items": {
2611
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2612
+ }
2613
+ }
2614
+ },
2615
+ "text/json": {
2616
+ "schema": {
2617
+ "type": "array",
2618
+ "items": {
2619
+ "$ref": "#/components/schemas/ProjectionsUISubsystemViewProjection"
2620
+ }
2621
+ }
2622
+ }
2623
+ }
2624
+ },
2625
+ "204": {
2626
+ "description": "Формы подсистемы не найдены."
2627
+ },
2628
+ "401": {
2629
+ "description": "Отсутствует или некорректен Bearer-токен."
2630
+ },
2631
+ "403": {
2632
+ "description": "Недостаточно прав для просмотра форм подсистемы."
2633
+ },
2634
+ "404": {
2635
+ "description": "Подсистема не найдена.",
2636
+ "content": {
2637
+ "text/plain": {
2638
+ "schema": {
2639
+ "type": "array",
2640
+ "items": {
2641
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2642
+ }
2643
+ }
2644
+ },
2645
+ "application/json": {
2646
+ "schema": {
2647
+ "type": "array",
2648
+ "items": {
2649
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2650
+ }
2651
+ }
2652
+ },
2653
+ "text/json": {
2654
+ "schema": {
2655
+ "type": "array",
2656
+ "items": {
2657
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2658
+ }
2659
+ }
2660
+ }
2661
+ }
2662
+ },
2663
+ "500": {
2664
+ "description": "Внутренняя ошибка сервера.",
2665
+ "content": {
2666
+ "text/plain": {
2667
+ "schema": {
2668
+ "type": "array",
2669
+ "items": {
2670
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2671
+ }
2672
+ }
2673
+ },
2674
+ "application/json": {
2675
+ "schema": {
2676
+ "type": "array",
2677
+ "items": {
2678
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2679
+ }
2680
+ }
2681
+ },
2682
+ "text/json": {
2683
+ "schema": {
2684
+ "type": "array",
2685
+ "items": {
2686
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2687
+ }
2688
+ }
2689
+ }
2690
+ }
2691
+ },
2692
+ "206": {
2693
+ "description": "PartialContent",
2694
+ "headers": {
2695
+ "Content-Range": {
2696
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
2697
+ "schema": {
2698
+ "type": "string"
2699
+ }
2700
+ }
2701
+ }
2702
+ }
2703
+ },
2704
+ "security": [
2705
+ {
2706
+ "Bearer": [ ]
2707
+ }
2708
+ ]
2709
+ }
2710
+ },
2711
+ "/TaskViewTemplate": {
2712
+ "get": {
2713
+ "tags": [
2714
+ "TaskViewTemplate"
2715
+ ],
2716
+ "summary": "Получение списка шаблонов формы заявки",
2717
+ "description": "## Пример запроса:\r\n`GET /TaskViewTemplate`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"1\": {\r\n \"name\": \"Стандартная форма\",\r\n \"code\": \"DefaultTaskView\",\r\n \"isDefault\": true\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: недостаточно прав `TaskViewTemplateList`.",
2718
+ "parameters": [
2719
+ {
2720
+ "name": "Range",
2721
+ "in": "header",
2722
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
2723
+ "schema": {
2724
+ "type": "string"
2725
+ }
2726
+ },
2727
+ {
2728
+ "name": "offset",
2729
+ "in": "query",
2730
+ "description": "количество элементов, которое нобходимо пропустить",
2731
+ "schema": {
2732
+ "type": "string"
2733
+ }
2734
+ },
2735
+ {
2736
+ "name": "fetch",
2737
+ "in": "query",
2738
+ "description": "количество элементов, которое необходимо вернуть",
2739
+ "schema": {
2740
+ "type": "string"
2741
+ }
2742
+ },
2743
+ {
2744
+ "name": "X-Application-ID",
2745
+ "in": "header",
2746
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2747
+ "schema": {
2748
+ "enum": [
2749
+ 1,
2750
+ 2,
2751
+ 3,
2752
+ 4,
2753
+ 5,
2754
+ 6
2755
+ ],
2756
+ "type": "integer",
2757
+ "format": "int32",
2758
+ "default": 3,
2759
+ "x-enumNames": [
2760
+ "EngineerMobile",
2761
+ "CustomerMobile",
2762
+ "MainWeb",
2763
+ "AdminWeb",
2764
+ "Api",
2765
+ "PlateWeb"
2766
+ ]
2767
+ }
2768
+ }
2769
+ ],
2770
+ "responses": {
2771
+ "200": {
2772
+ "description": "Полный список шаблонов формы заявки.",
2773
+ "content": {
2774
+ "text/plain": {
2775
+ "schema": {
2776
+ "type": "object",
2777
+ "additionalProperties": {
2778
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2779
+ }
2780
+ }
2781
+ },
2782
+ "application/json": {
2783
+ "schema": {
2784
+ "type": "object",
2785
+ "additionalProperties": {
2786
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2787
+ }
2788
+ }
2789
+ },
2790
+ "text/json": {
2791
+ "schema": {
2792
+ "type": "object",
2793
+ "additionalProperties": {
2794
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2795
+ }
2796
+ }
2797
+ }
2798
+ }
2799
+ },
2800
+ "206": {
2801
+ "description": "Частичный список шаблонов, если диапазон ограничивает выборку.",
2802
+ "content": {
2803
+ "text/plain": {
2804
+ "schema": {
2805
+ "type": "object",
2806
+ "additionalProperties": {
2807
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2808
+ }
2809
+ }
2810
+ },
2811
+ "application/json": {
2812
+ "schema": {
2813
+ "type": "object",
2814
+ "additionalProperties": {
2815
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2816
+ }
2817
+ }
2818
+ },
2819
+ "text/json": {
2820
+ "schema": {
2821
+ "type": "object",
2822
+ "additionalProperties": {
2823
+ "$ref": "#/components/schemas/ResultsTaskViewTemplatesTaskViewTemplateResult"
2824
+ }
2825
+ }
2826
+ }
2827
+ }
2828
+ },
2829
+ "204": {
2830
+ "description": "Шаблоны не найдены."
2831
+ },
2832
+ "401": {
2833
+ "description": "Отсутствует или некорректен Bearer-токен."
2834
+ },
2835
+ "403": {
2836
+ "description": "Недостаточно прав для просмотра списка шаблонов."
2837
+ }
2838
+ },
2839
+ "security": [
2840
+ {
2841
+ "Bearer": [ ]
2842
+ }
2843
+ ]
2844
+ }
2845
+ },
2846
+ "/UserViews/Users/{userID}/Applications/{applicationID}/{code}": {
2847
+ "post": {
2848
+ "tags": [
2849
+ "UserViews"
2850
+ ],
2851
+ "summary": "Добавление индивидуального шаблона пользователя",
2852
+ "description": "Тело запроса передается как JSON-объект (`JObject`) с произвольной структурой шаблона представления.\r\n \r\n## Пример запроса:\r\n`POST /UserViews/Users/100/Applications/1/taskList`\r\n \r\n```json\r\n{\r\n \"columns\": [\r\n { \"field\": \"number\", \"width\": 120, \"visible\": true },\r\n { \"field\": \"status\", \"width\": 100, \"visible\": true }\r\n ],\r\n \"sort\": { \"field\": \"number\", \"direction\": \"desc\" }\r\n}\r\n```\r\n## Пример успешного ответа (201):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserViewWrite`.\r\n- 404 NotFound: пользователь, приложение или форма не найдены.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
2853
+ "parameters": [
2854
+ {
2855
+ "name": "userID",
2856
+ "in": "path",
2857
+ "description": "Идентификатор пользователя.",
2858
+ "required": true,
2859
+ "schema": {
2860
+ "type": "integer",
2861
+ "format": "int32"
2862
+ }
2863
+ },
2864
+ {
2865
+ "name": "applicationID",
2866
+ "in": "path",
2867
+ "description": "Идентификатор приложения.",
2868
+ "required": true,
2869
+ "schema": {
2870
+ "type": "integer",
2871
+ "format": "int32"
2872
+ }
2873
+ },
2874
+ {
2875
+ "name": "code",
2876
+ "in": "path",
2877
+ "description": "Код принадлежности к форме.",
2878
+ "required": true,
2879
+ "schema": {
2880
+ "type": "string"
2881
+ }
2882
+ },
2883
+ {
2884
+ "name": "Range",
2885
+ "in": "header",
2886
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
2887
+ "schema": {
2888
+ "type": "string"
2889
+ }
2890
+ },
2891
+ {
2892
+ "name": "offset",
2893
+ "in": "query",
2894
+ "description": "количество элементов, которое нобходимо пропустить",
2895
+ "schema": {
2896
+ "type": "string"
2897
+ }
2898
+ },
2899
+ {
2900
+ "name": "fetch",
2901
+ "in": "query",
2902
+ "description": "количество элементов, которое необходимо вернуть",
2903
+ "schema": {
2904
+ "type": "string"
2905
+ }
2906
+ },
2907
+ {
2908
+ "name": "X-Application-ID",
2909
+ "in": "header",
2910
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
2911
+ "schema": {
2912
+ "enum": [
2913
+ 1,
2914
+ 2,
2915
+ 3,
2916
+ 4,
2917
+ 5,
2918
+ 6
2919
+ ],
2920
+ "type": "integer",
2921
+ "format": "int32",
2922
+ "default": 3,
2923
+ "x-enumNames": [
2924
+ "EngineerMobile",
2925
+ "CustomerMobile",
2926
+ "MainWeb",
2927
+ "AdminWeb",
2928
+ "Api",
2929
+ "PlateWeb"
2930
+ ]
2931
+ }
2932
+ }
2933
+ ],
2934
+ "requestBody": {
2935
+ "content": {
2936
+ "application/json-patch+json": {
2937
+ "schema": {
2938
+ "type": "object",
2939
+ "additionalProperties": {
2940
+ "$ref": "#/components/schemas/JsonLinqJToken"
2941
+ }
2942
+ }
2943
+ },
2944
+ "application/json": {
2945
+ "schema": {
2946
+ "type": "object",
2947
+ "additionalProperties": {
2948
+ "$ref": "#/components/schemas/JsonLinqJToken"
2949
+ }
2950
+ }
2951
+ },
2952
+ "text/json": {
2953
+ "schema": {
2954
+ "type": "object",
2955
+ "additionalProperties": {
2956
+ "$ref": "#/components/schemas/JsonLinqJToken"
2957
+ }
2958
+ }
2959
+ },
2960
+ "application/*+json": {
2961
+ "schema": {
2962
+ "type": "object",
2963
+ "additionalProperties": {
2964
+ "$ref": "#/components/schemas/JsonLinqJToken"
2965
+ }
2966
+ }
2967
+ }
2968
+ }
2969
+ },
2970
+ "responses": {
2971
+ "201": {
2972
+ "description": "Индивидуальный шаблон пользователя успешно создан."
2973
+ },
2974
+ "401": {
2975
+ "description": "Отсутствует или некорректен Bearer-токен."
2976
+ },
2977
+ "204": {
2978
+ "description": "No Content"
2979
+ },
2980
+ "403": {
2981
+ "description": "Недостаточно прав для создания шаблона пользователя."
2982
+ },
2983
+ "404": {
2984
+ "description": "Пользователь, приложение или форма не найдены. Тело ошибки: System.Collections.Generic.List`1.",
2985
+ "content": {
2986
+ "text/plain": {
2987
+ "schema": {
2988
+ "type": "array",
2989
+ "items": {
2990
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2991
+ }
2992
+ }
2993
+ },
2994
+ "application/json": {
2995
+ "schema": {
2996
+ "type": "array",
2997
+ "items": {
2998
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
2999
+ }
3000
+ }
3001
+ },
3002
+ "text/json": {
3003
+ "schema": {
3004
+ "type": "array",
3005
+ "items": {
3006
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3007
+ }
3008
+ }
3009
+ }
3010
+ }
3011
+ },
3012
+ "500": {
3013
+ "description": "Внутренняя ошибка сервера. Тело ошибки: System.Collections.Generic.List`1.",
3014
+ "content": {
3015
+ "text/plain": {
3016
+ "schema": {
3017
+ "type": "array",
3018
+ "items": {
3019
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3020
+ }
3021
+ }
3022
+ },
3023
+ "application/json": {
3024
+ "schema": {
3025
+ "type": "array",
3026
+ "items": {
3027
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3028
+ }
3029
+ }
3030
+ },
3031
+ "text/json": {
3032
+ "schema": {
3033
+ "type": "array",
3034
+ "items": {
3035
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3036
+ }
3037
+ }
3038
+ }
3039
+ }
3040
+ },
3041
+ "206": {
3042
+ "description": "PartialContent",
3043
+ "headers": {
3044
+ "Content-Range": {
3045
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
3046
+ "schema": {
3047
+ "type": "string"
3048
+ }
3049
+ }
3050
+ }
3051
+ }
3052
+ },
3053
+ "security": [
3054
+ {
3055
+ "Bearer": [ ]
3056
+ }
3057
+ ]
3058
+ },
3059
+ "get": {
3060
+ "tags": [
3061
+ "UserViews"
3062
+ ],
3063
+ "summary": "Получение шаблона пользователя",
3064
+ "description": "## Пример запроса:\r\n`GET /UserViews/Users/100/Applications/1/taskList`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n{\r\n \"userID\": 100,\r\n \"applicationID\": 1,\r\n \"code\": \"taskList\",\r\n \"data\": \"{ \\\"columns\\\": [ { \\\"field\\\": \\\"number\\\", \\\"width\\\": 120 } ] }\"\r\n}\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: шаблон не найден.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserViewRead`.\r\n- 404 NotFound: пользователь, приложение или форма не найдены.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
3065
+ "parameters": [
3066
+ {
3067
+ "name": "userID",
3068
+ "in": "path",
3069
+ "description": "Идентификатор пользователя.",
3070
+ "required": true,
3071
+ "schema": {
3072
+ "type": "integer",
3073
+ "format": "int32"
3074
+ }
3075
+ },
3076
+ {
3077
+ "name": "applicationID",
3078
+ "in": "path",
3079
+ "description": "Идентификатор приложения.",
3080
+ "required": true,
3081
+ "schema": {
3082
+ "type": "integer",
3083
+ "format": "int32"
3084
+ }
3085
+ },
3086
+ {
3087
+ "name": "code",
3088
+ "in": "path",
3089
+ "description": "Код принадлежности к форме.",
3090
+ "required": true,
3091
+ "schema": {
3092
+ "type": "string"
3093
+ }
3094
+ },
3095
+ {
3096
+ "name": "Range",
3097
+ "in": "header",
3098
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
3099
+ "schema": {
3100
+ "type": "string"
3101
+ }
3102
+ },
3103
+ {
3104
+ "name": "offset",
3105
+ "in": "query",
3106
+ "description": "количество элементов, которое нобходимо пропустить",
3107
+ "schema": {
3108
+ "type": "string"
3109
+ }
3110
+ },
3111
+ {
3112
+ "name": "fetch",
3113
+ "in": "query",
3114
+ "description": "количество элементов, которое необходимо вернуть",
3115
+ "schema": {
3116
+ "type": "string"
3117
+ }
3118
+ },
3119
+ {
3120
+ "name": "X-Application-ID",
3121
+ "in": "header",
3122
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
3123
+ "schema": {
3124
+ "enum": [
3125
+ 1,
3126
+ 2,
3127
+ 3,
3128
+ 4,
3129
+ 5,
3130
+ 6
3131
+ ],
3132
+ "type": "integer",
3133
+ "format": "int32",
3134
+ "default": 3,
3135
+ "x-enumNames": [
3136
+ "EngineerMobile",
3137
+ "CustomerMobile",
3138
+ "MainWeb",
3139
+ "AdminWeb",
3140
+ "Api",
3141
+ "PlateWeb"
3142
+ ]
3143
+ }
3144
+ }
3145
+ ],
3146
+ "responses": {
3147
+ "200": {
3148
+ "description": "Индивидуальный шаблон пользователя.",
3149
+ "content": {
3150
+ "text/plain": {
3151
+ "schema": {
3152
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3153
+ }
3154
+ },
3155
+ "application/json": {
3156
+ "schema": {
3157
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3158
+ }
3159
+ },
3160
+ "text/json": {
3161
+ "schema": {
3162
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3163
+ }
3164
+ }
3165
+ }
3166
+ },
3167
+ "401": {
3168
+ "description": "Отсутствует или некорректен Bearer-токен."
3169
+ },
3170
+ "204": {
3171
+ "description": "Шаблон не найден."
3172
+ },
3173
+ "403": {
3174
+ "description": "Недостаточно прав для чтения шаблона пользователя."
3175
+ },
3176
+ "404": {
3177
+ "description": "Пользователь, приложение или форма не найдены. Тело ошибки: System.Collections.Generic.List`1.",
3178
+ "content": {
3179
+ "text/plain": {
3180
+ "schema": {
3181
+ "type": "array",
3182
+ "items": {
3183
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3184
+ }
3185
+ }
3186
+ },
3187
+ "application/json": {
3188
+ "schema": {
3189
+ "type": "array",
3190
+ "items": {
3191
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3192
+ }
3193
+ }
3194
+ },
3195
+ "text/json": {
3196
+ "schema": {
3197
+ "type": "array",
3198
+ "items": {
3199
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3200
+ }
3201
+ }
3202
+ }
3203
+ }
3204
+ },
3205
+ "500": {
3206
+ "description": "Внутренняя ошибка сервера. Тело ошибки: System.Collections.Generic.List`1.",
3207
+ "content": {
3208
+ "text/plain": {
3209
+ "schema": {
3210
+ "type": "array",
3211
+ "items": {
3212
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3213
+ }
3214
+ }
3215
+ },
3216
+ "application/json": {
3217
+ "schema": {
3218
+ "type": "array",
3219
+ "items": {
3220
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3221
+ }
3222
+ }
3223
+ },
3224
+ "text/json": {
3225
+ "schema": {
3226
+ "type": "array",
3227
+ "items": {
3228
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3229
+ }
3230
+ }
3231
+ }
3232
+ }
3233
+ },
3234
+ "206": {
3235
+ "description": "PartialContent",
3236
+ "headers": {
3237
+ "Content-Range": {
3238
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
3239
+ "schema": {
3240
+ "type": "string"
3241
+ }
3242
+ }
3243
+ }
3244
+ }
3245
+ },
3246
+ "security": [
3247
+ {
3248
+ "Bearer": [ ]
3249
+ }
3250
+ ]
3251
+ },
3252
+ "put": {
3253
+ "tags": [
3254
+ "UserViews"
3255
+ ],
3256
+ "summary": "Изменение индивидуального шаблона пользователя",
3257
+ "description": "Тело запроса передается как JSON-объект (`JObject`) с произвольной структурой шаблона представления.\r\n \r\n## Пример запроса:\r\n`PUT /UserViews/Users/100/Applications/1/taskList`\r\n \r\n```json\r\n{\r\n \"columns\": [\r\n { \"field\": \"number\", \"width\": 150, \"visible\": true },\r\n { \"field\": \"status\", \"width\": 100, \"visible\": true },\r\n { \"field\": \"created\", \"width\": 180, \"visible\": false }\r\n ],\r\n \"sort\": { \"field\": \"created\", \"direction\": \"asc\" }\r\n}\r\n```\r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserViewWrite`.\r\n- 404 NotFound: пользователь, приложение или форма не найдены.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
3258
+ "parameters": [
3259
+ {
3260
+ "name": "userID",
3261
+ "in": "path",
3262
+ "description": "Идентификатор пользователя.",
3263
+ "required": true,
3264
+ "schema": {
3265
+ "type": "integer",
3266
+ "format": "int32"
3267
+ }
3268
+ },
3269
+ {
3270
+ "name": "applicationID",
3271
+ "in": "path",
3272
+ "description": "Идентификатор приложения.",
3273
+ "required": true,
3274
+ "schema": {
3275
+ "type": "integer",
3276
+ "format": "int32"
3277
+ }
3278
+ },
3279
+ {
3280
+ "name": "code",
3281
+ "in": "path",
3282
+ "description": "Код принадлежности к форме.",
3283
+ "required": true,
3284
+ "schema": {
3285
+ "type": "string"
3286
+ }
3287
+ },
3288
+ {
3289
+ "name": "Range",
3290
+ "in": "header",
3291
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
3292
+ "schema": {
3293
+ "type": "string"
3294
+ }
3295
+ },
3296
+ {
3297
+ "name": "offset",
3298
+ "in": "query",
3299
+ "description": "количество элементов, которое нобходимо пропустить",
3300
+ "schema": {
3301
+ "type": "string"
3302
+ }
3303
+ },
3304
+ {
3305
+ "name": "fetch",
3306
+ "in": "query",
3307
+ "description": "количество элементов, которое необходимо вернуть",
3308
+ "schema": {
3309
+ "type": "string"
3310
+ }
3311
+ },
3312
+ {
3313
+ "name": "X-Application-ID",
3314
+ "in": "header",
3315
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
3316
+ "schema": {
3317
+ "enum": [
3318
+ 1,
3319
+ 2,
3320
+ 3,
3321
+ 4,
3322
+ 5,
3323
+ 6
3324
+ ],
3325
+ "type": "integer",
3326
+ "format": "int32",
3327
+ "default": 3,
3328
+ "x-enumNames": [
3329
+ "EngineerMobile",
3330
+ "CustomerMobile",
3331
+ "MainWeb",
3332
+ "AdminWeb",
3333
+ "Api",
3334
+ "PlateWeb"
3335
+ ]
3336
+ }
3337
+ }
3338
+ ],
3339
+ "requestBody": {
3340
+ "content": {
3341
+ "application/json-patch+json": {
3342
+ "schema": {
3343
+ "type": "object",
3344
+ "additionalProperties": {
3345
+ "$ref": "#/components/schemas/JsonLinqJToken"
3346
+ }
3347
+ }
3348
+ },
3349
+ "application/json": {
3350
+ "schema": {
3351
+ "type": "object",
3352
+ "additionalProperties": {
3353
+ "$ref": "#/components/schemas/JsonLinqJToken"
3354
+ }
3355
+ }
3356
+ },
3357
+ "text/json": {
3358
+ "schema": {
3359
+ "type": "object",
3360
+ "additionalProperties": {
3361
+ "$ref": "#/components/schemas/JsonLinqJToken"
3362
+ }
3363
+ }
3364
+ },
3365
+ "application/*+json": {
3366
+ "schema": {
3367
+ "type": "object",
3368
+ "additionalProperties": {
3369
+ "$ref": "#/components/schemas/JsonLinqJToken"
3370
+ }
3371
+ }
3372
+ }
3373
+ }
3374
+ },
3375
+ "responses": {
3376
+ "202": {
3377
+ "description": "Изменения шаблона приняты в обработку."
3378
+ },
3379
+ "401": {
3380
+ "description": "Отсутствует или некорректен Bearer-токен."
3381
+ },
3382
+ "204": {
3383
+ "description": "No Content"
3384
+ },
3385
+ "403": {
3386
+ "description": "Недостаточно прав для изменения шаблона пользователя."
3387
+ },
3388
+ "404": {
3389
+ "description": "Пользователь, приложение или форма не найдены. Тело ошибки: System.Collections.Generic.List`1.",
3390
+ "content": {
3391
+ "text/plain": {
3392
+ "schema": {
3393
+ "type": "array",
3394
+ "items": {
3395
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3396
+ }
3397
+ }
3398
+ },
3399
+ "application/json": {
3400
+ "schema": {
3401
+ "type": "array",
3402
+ "items": {
3403
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3404
+ }
3405
+ }
3406
+ },
3407
+ "text/json": {
3408
+ "schema": {
3409
+ "type": "array",
3410
+ "items": {
3411
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3412
+ }
3413
+ }
3414
+ }
3415
+ }
3416
+ },
3417
+ "500": {
3418
+ "description": "Внутренняя ошибка сервера. Тело ошибки: System.Collections.Generic.List`1.",
3419
+ "content": {
3420
+ "text/plain": {
3421
+ "schema": {
3422
+ "type": "array",
3423
+ "items": {
3424
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3425
+ }
3426
+ }
3427
+ },
3428
+ "application/json": {
3429
+ "schema": {
3430
+ "type": "array",
3431
+ "items": {
3432
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3433
+ }
3434
+ }
3435
+ },
3436
+ "text/json": {
3437
+ "schema": {
3438
+ "type": "array",
3439
+ "items": {
3440
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3441
+ }
3442
+ }
3443
+ }
3444
+ }
3445
+ },
3446
+ "206": {
3447
+ "description": "PartialContent",
3448
+ "headers": {
3449
+ "Content-Range": {
3450
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
3451
+ "schema": {
3452
+ "type": "string"
3453
+ }
3454
+ }
3455
+ }
3456
+ }
3457
+ },
3458
+ "security": [
3459
+ {
3460
+ "Bearer": [ ]
3461
+ }
3462
+ ]
3463
+ }
3464
+ },
3465
+ "/UserViews/Users/{id}": {
3466
+ "get": {
3467
+ "tags": [
3468
+ "UserViews"
3469
+ ],
3470
+ "summary": "Получение списка шаблонов пользователя",
3471
+ "description": "## Пример запроса:\r\n`GET /UserViews/Users/100`\r\n \r\n## Пример успешного ответа (200):\r\n```json\r\n[\r\n {\r\n \"userID\": 100,\r\n \"applicationID\": 1,\r\n \"code\": \"taskList\",\r\n \"data\": \"{ \\\"columns\\\": [] }\"\r\n }\r\n]\r\n```\r\n## Негативные сценарии:\r\n- 204 NoContent: шаблоны пользователя не найдены.\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserViewRead`.\r\n- 404 NotFound: пользователь не найден.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
3472
+ "parameters": [
3473
+ {
3474
+ "name": "id",
3475
+ "in": "path",
3476
+ "description": "Идентификатор пользователя.",
3477
+ "required": true,
3478
+ "schema": {
3479
+ "type": "integer",
3480
+ "format": "int32"
3481
+ }
3482
+ },
3483
+ {
3484
+ "name": "Range",
3485
+ "in": "header",
3486
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
3487
+ "schema": {
3488
+ "type": "string"
3489
+ }
3490
+ },
3491
+ {
3492
+ "name": "offset",
3493
+ "in": "query",
3494
+ "description": "количество элементов, которое нобходимо пропустить",
3495
+ "schema": {
3496
+ "type": "string"
3497
+ }
3498
+ },
3499
+ {
3500
+ "name": "fetch",
3501
+ "in": "query",
3502
+ "description": "количество элементов, которое необходимо вернуть",
3503
+ "schema": {
3504
+ "type": "string"
3505
+ }
3506
+ },
3507
+ {
3508
+ "name": "X-Application-ID",
3509
+ "in": "header",
3510
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
3511
+ "schema": {
3512
+ "enum": [
3513
+ 1,
3514
+ 2,
3515
+ 3,
3516
+ 4,
3517
+ 5,
3518
+ 6
3519
+ ],
3520
+ "type": "integer",
3521
+ "format": "int32",
3522
+ "default": 3,
3523
+ "x-enumNames": [
3524
+ "EngineerMobile",
3525
+ "CustomerMobile",
3526
+ "MainWeb",
3527
+ "AdminWeb",
3528
+ "Api",
3529
+ "PlateWeb"
3530
+ ]
3531
+ }
3532
+ }
3533
+ ],
3534
+ "responses": {
3535
+ "200": {
3536
+ "description": "Список шаблонов пользователя.",
3537
+ "content": {
3538
+ "text/plain": {
3539
+ "schema": {
3540
+ "type": "array",
3541
+ "items": {
3542
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3543
+ }
3544
+ }
3545
+ },
3546
+ "application/json": {
3547
+ "schema": {
3548
+ "type": "array",
3549
+ "items": {
3550
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3551
+ }
3552
+ }
3553
+ },
3554
+ "text/json": {
3555
+ "schema": {
3556
+ "type": "array",
3557
+ "items": {
3558
+ "$ref": "#/components/schemas/ProjectionsUITaskViewProjection"
3559
+ }
3560
+ }
3561
+ }
3562
+ }
3563
+ },
3564
+ "401": {
3565
+ "description": "Отсутствует или некорректен Bearer-токен."
3566
+ },
3567
+ "204": {
3568
+ "description": "Шаблоны пользователя не найдены."
3569
+ },
3570
+ "403": {
3571
+ "description": "Недостаточно прав для чтения шаблонов пользователя."
3572
+ },
3573
+ "404": {
3574
+ "description": "Пользователь не найден. Тело ошибки: System.Collections.Generic.List`1.",
3575
+ "content": {
3576
+ "text/plain": {
3577
+ "schema": {
3578
+ "type": "array",
3579
+ "items": {
3580
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3581
+ }
3582
+ }
3583
+ },
3584
+ "application/json": {
3585
+ "schema": {
3586
+ "type": "array",
3587
+ "items": {
3588
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3589
+ }
3590
+ }
3591
+ },
3592
+ "text/json": {
3593
+ "schema": {
3594
+ "type": "array",
3595
+ "items": {
3596
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3597
+ }
3598
+ }
3599
+ }
3600
+ }
3601
+ },
3602
+ "500": {
3603
+ "description": "Внутренняя ошибка сервера. Тело ошибки: System.Collections.Generic.List`1.",
3604
+ "content": {
3605
+ "text/plain": {
3606
+ "schema": {
3607
+ "type": "array",
3608
+ "items": {
3609
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3610
+ }
3611
+ }
3612
+ },
3613
+ "application/json": {
3614
+ "schema": {
3615
+ "type": "array",
3616
+ "items": {
3617
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3618
+ }
3619
+ }
3620
+ },
3621
+ "text/json": {
3622
+ "schema": {
3623
+ "type": "array",
3624
+ "items": {
3625
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3626
+ }
3627
+ }
3628
+ }
3629
+ }
3630
+ },
3631
+ "206": {
3632
+ "description": "PartialContent",
3633
+ "headers": {
3634
+ "Content-Range": {
3635
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
3636
+ "schema": {
3637
+ "type": "string"
3638
+ }
3639
+ }
3640
+ }
3641
+ }
3642
+ },
3643
+ "security": [
3644
+ {
3645
+ "Bearer": [ ]
3646
+ }
3647
+ ]
3648
+ }
3649
+ },
3650
+ "/UserViews/Users/{userID}/Applications/{applicationID}/{code}/reset": {
3651
+ "put": {
3652
+ "tags": [
3653
+ "UserViews"
3654
+ ],
3655
+ "summary": "Сброс индивидуального шаблона пользователя",
3656
+ "description": "## Пример запроса:\r\n`PUT /UserViews/Users/100/Applications/1/taskList/reset`\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `UserViewWrite`.\r\n- 404 NotFound: пользователь, приложение или форма не найдены.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
3657
+ "parameters": [
3658
+ {
3659
+ "name": "userID",
3660
+ "in": "path",
3661
+ "description": "Идентификатор пользователя.",
3662
+ "required": true,
3663
+ "schema": {
3664
+ "type": "integer",
3665
+ "format": "int32"
3666
+ }
3667
+ },
3668
+ {
3669
+ "name": "applicationID",
3670
+ "in": "path",
3671
+ "description": "Идентификатор приложения.",
3672
+ "required": true,
3673
+ "schema": {
3674
+ "type": "integer",
3675
+ "format": "int32"
3676
+ }
3677
+ },
3678
+ {
3679
+ "name": "code",
3680
+ "in": "path",
3681
+ "description": "Код принадлежности к форме.",
3682
+ "required": true,
3683
+ "schema": {
3684
+ "type": "string"
3685
+ }
3686
+ },
3687
+ {
3688
+ "name": "Range",
3689
+ "in": "header",
3690
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
3691
+ "schema": {
3692
+ "type": "string"
3693
+ }
3694
+ },
3695
+ {
3696
+ "name": "offset",
3697
+ "in": "query",
3698
+ "description": "количество элементов, которое нобходимо пропустить",
3699
+ "schema": {
3700
+ "type": "string"
3701
+ }
3702
+ },
3703
+ {
3704
+ "name": "fetch",
3705
+ "in": "query",
3706
+ "description": "количество элементов, которое необходимо вернуть",
3707
+ "schema": {
3708
+ "type": "string"
3709
+ }
3710
+ },
3711
+ {
3712
+ "name": "X-Application-ID",
3713
+ "in": "header",
3714
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
3715
+ "schema": {
3716
+ "enum": [
3717
+ 1,
3718
+ 2,
3719
+ 3,
3720
+ 4,
3721
+ 5,
3722
+ 6
3723
+ ],
3724
+ "type": "integer",
3725
+ "format": "int32",
3726
+ "default": 3,
3727
+ "x-enumNames": [
3728
+ "EngineerMobile",
3729
+ "CustomerMobile",
3730
+ "MainWeb",
3731
+ "AdminWeb",
3732
+ "Api",
3733
+ "PlateWeb"
3734
+ ]
3735
+ }
3736
+ }
3737
+ ],
3738
+ "responses": {
3739
+ "202": {
3740
+ "description": "Сброс шаблона принят в обработку."
3741
+ },
3742
+ "401": {
3743
+ "description": "Отсутствует или некорректен Bearer-токен."
3744
+ },
3745
+ "204": {
3746
+ "description": "No Content"
3747
+ },
3748
+ "403": {
3749
+ "description": "Недостаточно прав для сброса шаблона пользователя."
3750
+ },
3751
+ "404": {
3752
+ "description": "Пользователь, приложение или форма не найдены. Тело ошибки: System.Collections.Generic.List`1.",
3753
+ "content": {
3754
+ "text/plain": {
3755
+ "schema": {
3756
+ "type": "array",
3757
+ "items": {
3758
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3759
+ }
3760
+ }
3761
+ },
3762
+ "application/json": {
3763
+ "schema": {
3764
+ "type": "array",
3765
+ "items": {
3766
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3767
+ }
3768
+ }
3769
+ },
3770
+ "text/json": {
3771
+ "schema": {
3772
+ "type": "array",
3773
+ "items": {
3774
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3775
+ }
3776
+ }
3777
+ }
3778
+ }
3779
+ },
3780
+ "500": {
3781
+ "description": "Внутренняя ошибка сервера. Тело ошибки: System.Collections.Generic.List`1.",
3782
+ "content": {
3783
+ "text/plain": {
3784
+ "schema": {
3785
+ "type": "array",
3786
+ "items": {
3787
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3788
+ }
3789
+ }
3790
+ },
3791
+ "application/json": {
3792
+ "schema": {
3793
+ "type": "array",
3794
+ "items": {
3795
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3796
+ }
3797
+ }
3798
+ },
3799
+ "text/json": {
3800
+ "schema": {
3801
+ "type": "array",
3802
+ "items": {
3803
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3804
+ }
3805
+ }
3806
+ }
3807
+ }
3808
+ },
3809
+ "206": {
3810
+ "description": "PartialContent",
3811
+ "headers": {
3812
+ "Content-Range": {
3813
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
3814
+ "schema": {
3815
+ "type": "string"
3816
+ }
3817
+ }
3818
+ }
3819
+ }
3820
+ },
3821
+ "security": [
3822
+ {
3823
+ "Bearer": [ ]
3824
+ }
3825
+ ]
3826
+ }
3827
+ },
3828
+ "/Views/Applications/{applicationID}/{code}": {
3829
+ "put": {
3830
+ "tags": [
3831
+ "Views"
3832
+ ],
3833
+ "summary": "Изменение дефолтного шаблона",
3834
+ "description": "## Пример запроса:\r\n`PUT /Views/Applications/1/TaskList`\r\n```json\r\n{\r\n \"columns\": [\r\n { \"field\": \"number\", \"width\": 120 }\r\n ]\r\n}\r\n```\r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `DefaultViewWrite`.\r\n- 404 NotFound: шаблон не найден.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
3835
+ "parameters": [
3836
+ {
3837
+ "name": "applicationID",
3838
+ "in": "path",
3839
+ "description": "Идентификатор приложения.",
3840
+ "required": true,
3841
+ "schema": {
3842
+ "type": "integer",
3843
+ "format": "int32"
3844
+ }
3845
+ },
3846
+ {
3847
+ "name": "code",
3848
+ "in": "path",
3849
+ "description": "Код принадлежности к форме.",
3850
+ "required": true,
3851
+ "schema": {
3852
+ "type": "string"
3853
+ }
3854
+ },
3855
+ {
3856
+ "name": "Range",
3857
+ "in": "header",
3858
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
3859
+ "schema": {
3860
+ "type": "string"
3861
+ }
3862
+ },
3863
+ {
3864
+ "name": "offset",
3865
+ "in": "query",
3866
+ "description": "количество элементов, которое нобходимо пропустить",
3867
+ "schema": {
3868
+ "type": "string"
3869
+ }
3870
+ },
3871
+ {
3872
+ "name": "fetch",
3873
+ "in": "query",
3874
+ "description": "количество элементов, которое необходимо вернуть",
3875
+ "schema": {
3876
+ "type": "string"
3877
+ }
3878
+ },
3879
+ {
3880
+ "name": "X-Application-ID",
3881
+ "in": "header",
3882
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
3883
+ "schema": {
3884
+ "enum": [
3885
+ 1,
3886
+ 2,
3887
+ 3,
3888
+ 4,
3889
+ 5,
3890
+ 6
3891
+ ],
3892
+ "type": "integer",
3893
+ "format": "int32",
3894
+ "default": 3,
3895
+ "x-enumNames": [
3896
+ "EngineerMobile",
3897
+ "CustomerMobile",
3898
+ "MainWeb",
3899
+ "AdminWeb",
3900
+ "Api",
3901
+ "PlateWeb"
3902
+ ]
3903
+ }
3904
+ }
3905
+ ],
3906
+ "requestBody": {
3907
+ "content": {
3908
+ "application/json-patch+json": {
3909
+ "schema": {
3910
+ "type": "object",
3911
+ "additionalProperties": {
3912
+ "$ref": "#/components/schemas/JsonLinqJToken"
3913
+ }
3914
+ }
3915
+ },
3916
+ "application/json": {
3917
+ "schema": {
3918
+ "type": "object",
3919
+ "additionalProperties": {
3920
+ "$ref": "#/components/schemas/JsonLinqJToken"
3921
+ }
3922
+ }
3923
+ },
3924
+ "text/json": {
3925
+ "schema": {
3926
+ "type": "object",
3927
+ "additionalProperties": {
3928
+ "$ref": "#/components/schemas/JsonLinqJToken"
3929
+ }
3930
+ }
3931
+ },
3932
+ "application/*+json": {
3933
+ "schema": {
3934
+ "type": "object",
3935
+ "additionalProperties": {
3936
+ "$ref": "#/components/schemas/JsonLinqJToken"
3937
+ }
3938
+ }
3939
+ }
3940
+ }
3941
+ },
3942
+ "responses": {
3943
+ "202": {
3944
+ "description": "Шаблон успешно обновлен."
3945
+ },
3946
+ "401": {
3947
+ "description": "Отсутствует или некорректен Bearer-токен."
3948
+ },
3949
+ "403": {
3950
+ "description": "Недостаточно прав для изменения дефолтного шаблона."
3951
+ },
3952
+ "404": {
3953
+ "description": "Шаблон не найден.",
3954
+ "content": {
3955
+ "text/plain": {
3956
+ "schema": {
3957
+ "type": "array",
3958
+ "items": {
3959
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3960
+ }
3961
+ }
3962
+ },
3963
+ "application/json": {
3964
+ "schema": {
3965
+ "type": "array",
3966
+ "items": {
3967
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3968
+ }
3969
+ }
3970
+ },
3971
+ "text/json": {
3972
+ "schema": {
3973
+ "type": "array",
3974
+ "items": {
3975
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3976
+ }
3977
+ }
3978
+ }
3979
+ }
3980
+ },
3981
+ "500": {
3982
+ "description": "Внутренняя ошибка сервера.",
3983
+ "content": {
3984
+ "text/plain": {
3985
+ "schema": {
3986
+ "type": "array",
3987
+ "items": {
3988
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3989
+ }
3990
+ }
3991
+ },
3992
+ "application/json": {
3993
+ "schema": {
3994
+ "type": "array",
3995
+ "items": {
3996
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
3997
+ }
3998
+ }
3999
+ },
4000
+ "text/json": {
4001
+ "schema": {
4002
+ "type": "array",
4003
+ "items": {
4004
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4005
+ }
4006
+ }
4007
+ }
4008
+ }
4009
+ },
4010
+ "206": {
4011
+ "description": "PartialContent",
4012
+ "headers": {
4013
+ "Content-Range": {
4014
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
4015
+ "schema": {
4016
+ "type": "string"
4017
+ }
4018
+ }
4019
+ }
4020
+ }
4021
+ },
4022
+ "security": [
4023
+ {
4024
+ "Bearer": [ ]
4025
+ }
4026
+ ]
4027
+ }
4028
+ },
4029
+ "/Views/Applications/{applicationID}/{code}/reset": {
4030
+ "put": {
4031
+ "tags": [
4032
+ "Views"
4033
+ ],
4034
+ "summary": "Сброс дефолтного шаблона",
4035
+ "description": "## Пример запроса:\r\n`PUT /Views/Applications/1/TaskList/reset`\r\n \r\n## Пример успешного ответа (202):\r\nТело ответа отсутствует.\r\n## Негативные сценарии:\r\n- 401 Unauthorized: отсутствует или некорректен Bearer-токен.\r\n- 403 Forbidden: недостаточно прав `DefaultViewWrite`.\r\n- 404 NotFound: шаблон не найден.\r\n- 500 InternalServerError: внутренняя ошибка сервера.",
4036
+ "parameters": [
4037
+ {
4038
+ "name": "applicationID",
4039
+ "in": "path",
4040
+ "description": "Идентификатор приложения.",
4041
+ "required": true,
4042
+ "schema": {
4043
+ "type": "integer",
4044
+ "format": "int32"
4045
+ }
4046
+ },
4047
+ {
4048
+ "name": "code",
4049
+ "in": "path",
4050
+ "description": "Код принадлежности к форме.",
4051
+ "required": true,
4052
+ "schema": {
4053
+ "type": "string"
4054
+ }
4055
+ },
4056
+ {
4057
+ "name": "Range",
4058
+ "in": "header",
4059
+ "description": "Формат: items=FROM-TILL , где FROM - начальный элемент (включая), TILL - конечный элемент (включая)",
4060
+ "schema": {
4061
+ "type": "string"
4062
+ }
4063
+ },
4064
+ {
4065
+ "name": "offset",
4066
+ "in": "query",
4067
+ "description": "количество элементов, которое нобходимо пропустить",
4068
+ "schema": {
4069
+ "type": "string"
4070
+ }
4071
+ },
4072
+ {
4073
+ "name": "fetch",
4074
+ "in": "query",
4075
+ "description": "количество элементов, которое необходимо вернуть",
4076
+ "schema": {
4077
+ "type": "string"
4078
+ }
4079
+ },
4080
+ {
4081
+ "name": "X-Application-ID",
4082
+ "in": "header",
4083
+ "description": "Идентификатор приложения. EngineerMobile - 1, CustomerMobile - 2, MainWeb - 3, AdminWeb - 4, Api - 5, PlateWeb - 6",
4084
+ "schema": {
4085
+ "enum": [
4086
+ 1,
4087
+ 2,
4088
+ 3,
4089
+ 4,
4090
+ 5,
4091
+ 6
4092
+ ],
4093
+ "type": "integer",
4094
+ "format": "int32",
4095
+ "default": 3,
4096
+ "x-enumNames": [
4097
+ "EngineerMobile",
4098
+ "CustomerMobile",
4099
+ "MainWeb",
4100
+ "AdminWeb",
4101
+ "Api",
4102
+ "PlateWeb"
4103
+ ]
4104
+ }
4105
+ }
4106
+ ],
4107
+ "responses": {
4108
+ "202": {
4109
+ "description": "Сброс шаблона принят в обработку."
4110
+ },
4111
+ "401": {
4112
+ "description": "Отсутствует или некорректен Bearer-токен."
4113
+ },
4114
+ "403": {
4115
+ "description": "Недостаточно прав для сброса дефолтного шаблона."
4116
+ },
4117
+ "404": {
4118
+ "description": "Шаблон не найден.",
4119
+ "content": {
4120
+ "text/plain": {
4121
+ "schema": {
4122
+ "type": "array",
4123
+ "items": {
4124
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4125
+ }
4126
+ }
4127
+ },
4128
+ "application/json": {
4129
+ "schema": {
4130
+ "type": "array",
4131
+ "items": {
4132
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4133
+ }
4134
+ }
4135
+ },
4136
+ "text/json": {
4137
+ "schema": {
4138
+ "type": "array",
4139
+ "items": {
4140
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4141
+ }
4142
+ }
4143
+ }
4144
+ }
4145
+ },
4146
+ "500": {
4147
+ "description": "Внутренняя ошибка сервера.",
4148
+ "content": {
4149
+ "text/plain": {
4150
+ "schema": {
4151
+ "type": "array",
4152
+ "items": {
4153
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4154
+ }
4155
+ }
4156
+ },
4157
+ "application/json": {
4158
+ "schema": {
4159
+ "type": "array",
4160
+ "items": {
4161
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4162
+ }
4163
+ }
4164
+ },
4165
+ "text/json": {
4166
+ "schema": {
4167
+ "type": "array",
4168
+ "items": {
4169
+ "$ref": "#/components/schemas/ExceptionHandlingModelsErrorModel"
4170
+ }
4171
+ }
4172
+ }
4173
+ }
4174
+ },
4175
+ "206": {
4176
+ "description": "PartialContent",
4177
+ "headers": {
4178
+ "Content-Range": {
4179
+ "description": "items=FROM-TILL/OF , где FROM - начальный элемент (включая), TILL - конечный элемент (включая) OF - общее количество элементов",
4180
+ "schema": {
4181
+ "type": "string"
4182
+ }
4183
+ }
4184
+ }
4185
+ }
4186
+ },
4187
+ "security": [
4188
+ {
4189
+ "Bearer": [ ]
4190
+ }
4191
+ ]
4192
+ }
4193
+ }
4194
+ },
4195
+ "components": {
4196
+ "schemas": {
4197
+ "ApiDtoAttributeDto": {
4198
+ "type": "object",
4199
+ "properties": {
4200
+ "id": {
4201
+ "type": "integer",
4202
+ "description": "Идентификатор в системе",
4203
+ "format": "int32",
4204
+ "readOnly": true,
4205
+ "example": 5
4206
+ },
4207
+ "name": {
4208
+ "type": "string",
4209
+ "description": "Наименование в системе",
4210
+ "nullable": true,
4211
+ "readOnly": true,
4212
+ "example": "Регион"
4213
+ },
4214
+ "isInUse": {
4215
+ "type": "boolean",
4216
+ "description": "Признак того, что атрибут задействован в шаблоне",
4217
+ "readOnly": true,
4218
+ "example": true
4219
+ }
4220
+ },
4221
+ "additionalProperties": false,
4222
+ "description": "Упрощённое представление атрибута (дополнительное поле)"
4223
+ },
4224
+ "ApiDtoComponentDto": {
4225
+ "type": "object",
4226
+ "properties": {
4227
+ "id": {
4228
+ "type": "integer",
4229
+ "description": "Внутренний идентификатор в системе",
4230
+ "format": "int32",
4231
+ "readOnly": true,
4232
+ "example": 10
4233
+ },
4234
+ "code": {
4235
+ "type": "string",
4236
+ "description": "Внутренний код",
4237
+ "nullable": true,
4238
+ "readOnly": true,
4239
+ "example": "TaskDescription"
4240
+ },
4241
+ "description": {
4242
+ "type": "string",
4243
+ "description": "Описание",
4244
+ "nullable": true,
4245
+ "readOnly": true,
4246
+ "example": "Описание заявки"
4247
+ },
4248
+ "isRequired": {
4249
+ "type": "boolean",
4250
+ "description": "Признак того, что элемент должен быть представлен в шаблоне (for future use)",
4251
+ "readOnly": true,
4252
+ "example": true
4253
+ },
4254
+ "isInUse": {
4255
+ "type": "boolean",
4256
+ "description": "Признак того, что компонент задействован в шаблоне",
4257
+ "readOnly": true,
4258
+ "example": true
4259
+ }
4260
+ },
4261
+ "additionalProperties": false,
4262
+ "description": "Представление стандартных элементов управления UI в системе"
4263
+ },
4264
+ "ApiDtoFieldTypeEnum": {
4265
+ "enum": [
4266
+ "Component",
4267
+ "Attribute"
4268
+ ],
4269
+ "type": "string",
4270
+ "description": "Тип поля на форме заявки"
4271
+ },
4272
+ "ApiDtoLayoutBlockDto": {
4273
+ "required": [
4274
+ "fields",
4275
+ "name"
4276
+ ],
4277
+ "type": "object",
4278
+ "properties": {
4279
+ "id": {
4280
+ "type": "integer",
4281
+ "description": "Внутренний идентификатор сущности dto",
4282
+ "format": "int32",
4283
+ "nullable": true
4284
+ },
4285
+ "index": {
4286
+ "type": "integer",
4287
+ "description": "Индекс блока",
4288
+ "format": "int32",
4289
+ "example": 0
4290
+ },
4291
+ "name": {
4292
+ "minLength": 1,
4293
+ "type": "string",
4294
+ "description": "Имя блока для отображения",
4295
+ "example": "Основная информация"
4296
+ },
4297
+ "fields": {
4298
+ "maxItems": 1024,
4299
+ "minItems": 0,
4300
+ "type": "array",
4301
+ "items": {
4302
+ "$ref": "#/components/schemas/ApiDtoLayoutFieldDto"
4303
+ },
4304
+ "description": "Список полей размещённых в блоке"
4305
+ }
4306
+ },
4307
+ "additionalProperties": false,
4308
+ "description": "UI шаблон представления блока элементов управления"
4309
+ },
4310
+ "ApiDtoLayoutColumnDto": {
4311
+ "required": [
4312
+ "blocks",
4313
+ "index"
4314
+ ],
4315
+ "type": "object",
4316
+ "properties": {
4317
+ "id": {
4318
+ "type": "integer",
4319
+ "description": "Внутренний идентификатор сущности dto",
4320
+ "format": "int32",
4321
+ "nullable": true
4322
+ },
4323
+ "index": {
4324
+ "type": "integer",
4325
+ "description": "Индекс колонки",
4326
+ "format": "int32",
4327
+ "example": 0
4328
+ },
4329
+ "blocks": {
4330
+ "maxItems": 24,
4331
+ "minItems": 0,
4332
+ "type": "array",
4333
+ "items": {
4334
+ "$ref": "#/components/schemas/ApiDtoLayoutBlockDto"
4335
+ },
4336
+ "description": "Список блоков размещённых в колонке"
4337
+ }
4338
+ },
4339
+ "additionalProperties": false,
4340
+ "description": "UI шаблон представления колонки"
4341
+ },
4342
+ "ApiDtoLayoutFieldDto": {
4343
+ "required": [
4344
+ "code",
4345
+ "label",
4346
+ "type"
4347
+ ],
4348
+ "type": "object",
4349
+ "properties": {
4350
+ "id": {
4351
+ "type": "integer",
4352
+ "description": "Внутренний идентификатор сущности dto",
4353
+ "format": "int32",
4354
+ "nullable": true
4355
+ },
4356
+ "index": {
4357
+ "type": "integer",
4358
+ "description": "Индекс поля",
4359
+ "format": "int32",
4360
+ "example": 0
4361
+ },
4362
+ "label": {
4363
+ "maxLength": 256,
4364
+ "minLength": 1,
4365
+ "type": "string",
4366
+ "description": "Подпись для поля",
4367
+ "example": "Описание"
4368
+ },
4369
+ "type": {
4370
+ "$ref": "#/components/schemas/ApiDtoFieldTypeEnum"
4371
+ },
4372
+ "code": {
4373
+ "minLength": 1,
4374
+ "type": "string",
4375
+ "description": "Код компонента или идентификатор атрибута",
4376
+ "example": "TaskDescription"
4377
+ },
4378
+ "color": {
4379
+ "type": "string",
4380
+ "description": "Цвет",
4381
+ "nullable": true,
4382
+ "example": "#FFFFFF"
4383
+ },
4384
+ "img": {
4385
+ "type": "string",
4386
+ "description": "Пиктограмма",
4387
+ "nullable": true,
4388
+ "example": "icon-task"
4389
+ }
4390
+ },
4391
+ "additionalProperties": false,
4392
+ "description": "UI шаблон представления поля на форме"
4393
+ },
4394
+ "ApiDtoLayoutTaskTypeDto": {
4395
+ "type": "object",
4396
+ "properties": {
4397
+ "id": {
4398
+ "type": "integer",
4399
+ "description": "Идентификатор типа",
4400
+ "format": "int32",
4401
+ "example": 1
4402
+ },
4403
+ "name": {
4404
+ "type": "string",
4405
+ "description": "Имя типа",
4406
+ "nullable": true,
4407
+ "example": "Ремонт"
4408
+ }
4409
+ },
4410
+ "additionalProperties": false,
4411
+ "description": "Представление для типа задачи"
4412
+ },
4413
+ "ApiDtoLayoutTemplateDto": {
4414
+ "required": [
4415
+ "columns"
4416
+ ],
4417
+ "type": "object",
4418
+ "properties": {
4419
+ "id": {
4420
+ "type": "integer",
4421
+ "description": "Внутренний идентификатор сущности dto",
4422
+ "format": "int32",
4423
+ "nullable": true,
4424
+ "example": 101
4425
+ },
4426
+ "isDefault": {
4427
+ "type": "boolean",
4428
+ "description": "Признак того, что шаблон используется как настройка по умолчанию",
4429
+ "example": false
4430
+ },
4431
+ "name": {
4432
+ "type": "string",
4433
+ "description": "Название шаблона (for future use)",
4434
+ "nullable": true,
4435
+ "example": "Основной шаблон"
4436
+ },
4437
+ "columns": {
4438
+ "maxItems": 2,
4439
+ "minItems": 0,
4440
+ "type": "array",
4441
+ "items": {
4442
+ "$ref": "#/components/schemas/ApiDtoLayoutColumnDto"
4443
+ },
4444
+ "description": "Список колонок в представлении заявки"
4445
+ },
4446
+ "taskTypes": {
4447
+ "type": "array",
4448
+ "items": {
4449
+ "type": "integer",
4450
+ "format": "int32"
4451
+ },
4452
+ "description": "Идентификаторы типов задач к которым применим шаблон",
4453
+ "nullable": true,
4454
+ "example": [
4455
+ 1,
4456
+ 2
4457
+ ]
4458
+ }
4459
+ },
4460
+ "additionalProperties": false,
4461
+ "description": "UI шаблон представления заявки"
4462
+ },
4463
+ "DataUIMergeData": {
4464
+ "required": [
4465
+ "filterCode",
4466
+ "sortOrder"
4467
+ ],
4468
+ "type": "object",
4469
+ "properties": {
4470
+ "filterCode": {
4471
+ "minLength": 1,
4472
+ "type": "string"
4473
+ },
4474
+ "sortOrder": {
4475
+ "type": "integer",
4476
+ "format": "int32"
4477
+ }
4478
+ },
4479
+ "additionalProperties": false
4480
+ },
4481
+ "EntitiesUIUserFilterFavouriteEntity": {
4482
+ "type": "object",
4483
+ "properties": {
4484
+ "tenantID": {
4485
+ "type": "integer",
4486
+ "format": "int32"
4487
+ },
4488
+ "userID": {
4489
+ "type": "integer",
4490
+ "format": "int32"
4491
+ },
4492
+ "applicationID": {
4493
+ "type": "integer",
4494
+ "format": "int32"
4495
+ },
4496
+ "resource": {
4497
+ "type": "string",
4498
+ "nullable": true
4499
+ },
4500
+ "filterCode": {
4501
+ "type": "string",
4502
+ "nullable": true
4503
+ },
4504
+ "sortOrder": {
4505
+ "type": "integer",
4506
+ "format": "int32"
4507
+ }
4508
+ },
4509
+ "additionalProperties": false
4510
+ },
4511
+ "ExceptionHandlingModelsErrorModel": {
4512
+ "type": "object",
4513
+ "properties": {
4514
+ "traceIdentifier": {
4515
+ "type": "string",
4516
+ "nullable": true
4517
+ },
4518
+ "code": {
4519
+ "type": "string",
4520
+ "nullable": true
4521
+ },
4522
+ "message": {
4523
+ "type": "string",
4524
+ "nullable": true
4525
+ },
4526
+ "arguments": {
4527
+ "type": "object",
4528
+ "additionalProperties": {
4529
+ "type": "string",
4530
+ "nullable": true
4531
+ },
4532
+ "nullable": true
4533
+ }
4534
+ },
4535
+ "additionalProperties": false
4536
+ },
4537
+ "IdCodeNameResultOfByte": {
4538
+ "type": "object",
4539
+ "properties": {
4540
+ "id": {
4541
+ "type": "integer",
4542
+ "format": "int32"
4543
+ },
4544
+ "code": {
4545
+ "type": "string",
4546
+ "nullable": true
4547
+ },
4548
+ "name": {
4549
+ "type": "string",
4550
+ "nullable": true
4551
+ }
4552
+ },
4553
+ "additionalProperties": false
4554
+ },
4555
+ "JsonLinqJToken": {
4556
+ "type": "array",
4557
+ "items": {
4558
+ "$ref": "#/components/schemas/JsonLinqJToken"
4559
+ }
4560
+ },
4561
+ "ProjectionsUISubsystemViewProjection": {
4562
+ "type": "object",
4563
+ "properties": {
4564
+ "subsystemID": {
4565
+ "type": "integer",
4566
+ "format": "int32"
4567
+ },
4568
+ "viewCode": {
4569
+ "type": "string",
4570
+ "nullable": true
4571
+ },
4572
+ "description": {
4573
+ "type": "string",
4574
+ "nullable": true
4575
+ }
4576
+ },
4577
+ "additionalProperties": false
4578
+ },
4579
+ "ProjectionsUITaskViewProjection": {
4580
+ "type": "object",
4581
+ "properties": {
4582
+ "applicationID": {
4583
+ "type": "integer",
4584
+ "format": "int32"
4585
+ },
4586
+ "subsystemViewCode": {
4587
+ "type": "string",
4588
+ "nullable": true
4589
+ },
4590
+ "dataJson": {
4591
+ "type": "string",
4592
+ "nullable": true
4593
+ },
4594
+ "isDefault": {
4595
+ "type": "boolean",
4596
+ "nullable": true
4597
+ }
4598
+ },
4599
+ "additionalProperties": false
4600
+ },
4601
+ "ResultsBaseComponentResult": {
4602
+ "type": "object",
4603
+ "properties": {
4604
+ "code": {
4605
+ "type": "string",
4606
+ "description": "Код",
4607
+ "nullable": true,
4608
+ "example": "TaskDescription"
4609
+ },
4610
+ "description": {
4611
+ "type": "string",
4612
+ "description": "Описание",
4613
+ "nullable": true,
4614
+ "example": "Описание заявки"
4615
+ }
4616
+ },
4617
+ "additionalProperties": false,
4618
+ "description": "Данные компонента"
4619
+ },
4620
+ "ResultsTaskViewTemplatesTaskViewTemplateResult": {
4621
+ "type": "object",
4622
+ "properties": {
4623
+ "name": {
4624
+ "type": "string",
4625
+ "description": "Имя формы заявки",
4626
+ "nullable": true,
4627
+ "example": "Стандартная форма"
4628
+ },
4629
+ "code": {
4630
+ "type": "string",
4631
+ "description": "Код с системе",
4632
+ "nullable": true,
4633
+ "example": "DefaultTaskView"
4634
+ },
4635
+ "isDefault": {
4636
+ "type": "boolean",
4637
+ "description": "Является ли оно по умолчанию",
4638
+ "example": true
4639
+ }
4640
+ },
4641
+ "additionalProperties": false,
4642
+ "description": "Шаблон формы зявка"
4643
+ }
4644
+ },
4645
+ "securitySchemes": {
4646
+ "Bearer": {
4647
+ "type": "http",
4648
+ "description": "Введите токен для авторизации",
4649
+ "scheme": "Bearer",
4650
+ "bearerFormat": "JWT"
4651
+ }
4652
+ }
4653
+ },
4654
+ "tags": [
4655
+ {
4656
+ "name": "Components",
4657
+ "description": "Контроллер, управляющий компонентами"
4658
+ },
4659
+ {
4660
+ "name": "LayoutTemplates",
4661
+ "description": "Контроллер для управления настройками представления формы заявки"
4662
+ },
4663
+ {
4664
+ "name": "Resources",
4665
+ "description": "Контроллер работы с расширениями"
4666
+ },
4667
+ {
4668
+ "name": "SubsystemView",
4669
+ "description": "Контроллер работы с соответствием форм подсистем"
4670
+ },
4671
+ {
4672
+ "name": "TaskViewTemplate",
4673
+ "description": "Контроллер работы с шаблонами форм"
4674
+ },
4675
+ {
4676
+ "name": "Filters",
4677
+ "description": "Контроллер для работы с избранными фильтрами пользователя"
4678
+ },
4679
+ {
4680
+ "name": "UserViews",
4681
+ "description": "Контроллер работы с шаблонами форм подсистем пользователя"
4682
+ },
4683
+ {
4684
+ "name": "Views",
4685
+ "description": "Контроллер работы с дефолтными шаблонами форм подсистем"
4686
+ },
4687
+ {
4688
+ "name": "Components",
4689
+ "description": "Контроллер, управляющий компонентами"
4690
+ },
4691
+ {
4692
+ "name": "LayoutTemplates",
4693
+ "description": "Контроллер для управления настройками представления формы заявки"
4694
+ },
4695
+ {
4696
+ "name": "Resources",
4697
+ "description": "Контроллер работы с расширениями"
4698
+ },
4699
+ {
4700
+ "name": "SubsystemView",
4701
+ "description": "Контроллер работы с соответствием форм подсистем"
4702
+ },
4703
+ {
4704
+ "name": "TaskViewTemplate",
4705
+ "description": "Контроллер работы с шаблонами форм"
4706
+ },
4707
+ {
4708
+ "name": "Filters",
4709
+ "description": "Контроллер для работы с избранными фильтрами пользователя"
4710
+ },
4711
+ {
4712
+ "name": "UserViews",
4713
+ "description": "Контроллер работы с шаблонами форм подсистем пользователя"
4714
+ },
4715
+ {
4716
+ "name": "Views",
4717
+ "description": "Контроллер работы с дефолтными шаблонами форм подсистем"
4718
+ }
4719
+ ]
4720
+ }