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