@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,896 @@
1
+ {
2
+ "openapi": "3.0.1",
3
+ "info": {
4
+ "title": "Authenticatin and authorization API for HubEx",
5
+ "description": "Performs all of the operations, necessary to authenticate and authorize a user as a valid tenant member. Offers an API for registering, verifying e-mail, changing password, etc.",
6
+ "contact": {
7
+ "name": "SmartService Backend Team",
8
+ "email": "fmbackend@melston.ru"
9
+ },
10
+ "version": "v1.0.0.0"
11
+ },
12
+ "paths": {
13
+ "/AccessTokens": {
14
+ "post": {
15
+ "tags": [
16
+ "AccessTokens"
17
+ ],
18
+ "summary": "Обновляет токен доступа к ресурсам",
19
+ "description": "<br />* Выполнение данного метода резрешино от **анонимного пользователя**.",
20
+ "requestBody": {
21
+ "content": {
22
+ "application/json-patch+json": {
23
+ "schema": {
24
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData"
25
+ }
26
+ },
27
+ "application/json": {
28
+ "schema": {
29
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData"
30
+ }
31
+ },
32
+ "text/json": {
33
+ "schema": {
34
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData"
35
+ }
36
+ },
37
+ "application/*+json": {
38
+ "schema": {
39
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData"
40
+ }
41
+ }
42
+ }
43
+ },
44
+ "responses": {
45
+ "200": {
46
+ "description": "OK",
47
+ "content": {
48
+ "text/plain": {
49
+ "schema": {
50
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
51
+ }
52
+ },
53
+ "application/json": {
54
+ "schema": {
55
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
56
+ }
57
+ },
58
+ "text/json": {
59
+ "schema": {
60
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
61
+ }
62
+ }
63
+ }
64
+ },
65
+ "201": {
66
+ "description": "Created",
67
+ "content": {
68
+ "text/plain": {
69
+ "schema": {
70
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
71
+ }
72
+ },
73
+ "application/json": {
74
+ "schema": {
75
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
76
+ }
77
+ },
78
+ "text/json": {
79
+ "schema": {
80
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
81
+ }
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "/Accounts/authorize": {
89
+ "post": {
90
+ "tags": [
91
+ "Accounts"
92
+ ],
93
+ "summary": "Авторизация учетной записи в тенанте",
94
+ "description": "<br />* Для выполнения данного метода пользователь должен быть **Authenticated**.",
95
+ "parameters": [
96
+ {
97
+ "name": "Authorization",
98
+ "in": "header",
99
+ "description": "Bearer",
100
+ "required": true,
101
+ "schema": {
102
+ "type": "string"
103
+ }
104
+ }
105
+ ],
106
+ "requestBody": {
107
+ "content": {
108
+ "application/json-patch+json": {
109
+ "schema": {
110
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.Account.AuthorizeData"
111
+ }
112
+ },
113
+ "application/json": {
114
+ "schema": {
115
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.Account.AuthorizeData"
116
+ }
117
+ },
118
+ "text/json": {
119
+ "schema": {
120
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.Account.AuthorizeData"
121
+ }
122
+ },
123
+ "application/*+json": {
124
+ "schema": {
125
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.Account.AuthorizeData"
126
+ }
127
+ }
128
+ }
129
+ },
130
+ "responses": {
131
+ "200": {
132
+ "description": "OK",
133
+ "content": {
134
+ "text/plain": {
135
+ "schema": {
136
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberAuthorizationResult"
137
+ }
138
+ },
139
+ "application/json": {
140
+ "schema": {
141
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberAuthorizationResult"
142
+ }
143
+ },
144
+ "text/json": {
145
+ "schema": {
146
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberAuthorizationResult"
147
+ }
148
+ }
149
+ }
150
+ },
151
+ "401": {
152
+ "description": "Unauthorized"
153
+ },
154
+ "403": {
155
+ "description": "Forbidden"
156
+ }
157
+ }
158
+ }
159
+ },
160
+ "/RefreshTokens": {
161
+ "post": {
162
+ "tags": [
163
+ "RefreshTokens"
164
+ ],
165
+ "summary": "Генерирует обновляющий токен и возвращает его",
166
+ "description": "<br />* Для выполнения данного метода пользователь должен быть **TenantMember**.",
167
+ "parameters": [
168
+ {
169
+ "name": "Authorization",
170
+ "in": "header",
171
+ "description": "Bearer",
172
+ "required": true,
173
+ "schema": {
174
+ "type": "string"
175
+ }
176
+ }
177
+ ],
178
+ "requestBody": {
179
+ "content": {
180
+ "application/json-patch+json": {
181
+ "schema": {
182
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.RefreshTokens.GenerateData"
183
+ }
184
+ },
185
+ "application/json": {
186
+ "schema": {
187
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.RefreshTokens.GenerateData"
188
+ }
189
+ },
190
+ "text/json": {
191
+ "schema": {
192
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.RefreshTokens.GenerateData"
193
+ }
194
+ },
195
+ "application/*+json": {
196
+ "schema": {
197
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Data.RefreshTokens.GenerateData"
198
+ }
199
+ }
200
+ }
201
+ },
202
+ "responses": {
203
+ "200": {
204
+ "description": "OK",
205
+ "content": {
206
+ "text/plain": {
207
+ "schema": {
208
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
209
+ }
210
+ },
211
+ "application/json": {
212
+ "schema": {
213
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
214
+ }
215
+ },
216
+ "text/json": {
217
+ "schema": {
218
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
219
+ }
220
+ }
221
+ }
222
+ },
223
+ "201": {
224
+ "description": "Created",
225
+ "content": {
226
+ "text/plain": {
227
+ "schema": {
228
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
229
+ }
230
+ },
231
+ "application/json": {
232
+ "schema": {
233
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
234
+ }
235
+ },
236
+ "text/json": {
237
+ "schema": {
238
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
239
+ }
240
+ }
241
+ }
242
+ },
243
+ "401": {
244
+ "description": "Unauthorized"
245
+ },
246
+ "403": {
247
+ "description": "Forbidden"
248
+ }
249
+ }
250
+ },
251
+ "get": {
252
+ "tags": [
253
+ "RefreshTokens"
254
+ ],
255
+ "summary": "Возвращает refresh-токен с параметрами по умолчанию.",
256
+ "description": "<br />* Для выполнения данного метода пользователь должен быть **TenantMember**.",
257
+ "parameters": [
258
+ {
259
+ "name": "Authorization",
260
+ "in": "header",
261
+ "description": "Bearer",
262
+ "required": true,
263
+ "schema": {
264
+ "type": "string"
265
+ }
266
+ }
267
+ ],
268
+ "responses": {
269
+ "200": {
270
+ "description": "OK",
271
+ "content": {
272
+ "text/plain": {
273
+ "schema": {
274
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
275
+ }
276
+ },
277
+ "application/json": {
278
+ "schema": {
279
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
280
+ }
281
+ },
282
+ "text/json": {
283
+ "schema": {
284
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
285
+ }
286
+ }
287
+ }
288
+ },
289
+ "401": {
290
+ "description": "Unauthorized"
291
+ },
292
+ "403": {
293
+ "description": "Forbidden"
294
+ }
295
+ }
296
+ }
297
+ },
298
+ "/ServiceTokens": {
299
+ "post": {
300
+ "tags": [
301
+ "ServiceTokens"
302
+ ],
303
+ "summary": "Генерирует новый токен доступа и возвращает его",
304
+ "description": "<br />* Для выполнения данного метода требуется любое из перечисленных полномочий: **ServiceTokenAdd**",
305
+ "parameters": [
306
+ {
307
+ "name": "Authorization",
308
+ "in": "header",
309
+ "description": "Bearer",
310
+ "required": true,
311
+ "schema": {
312
+ "type": "string"
313
+ }
314
+ }
315
+ ],
316
+ "requestBody": {
317
+ "content": {
318
+ "application/json-patch+json": {
319
+ "schema": {
320
+ "type": "array",
321
+ "items": {
322
+ "type": "integer",
323
+ "format": "int32"
324
+ }
325
+ }
326
+ },
327
+ "application/json": {
328
+ "schema": {
329
+ "type": "array",
330
+ "items": {
331
+ "type": "integer",
332
+ "format": "int32"
333
+ }
334
+ }
335
+ },
336
+ "text/json": {
337
+ "schema": {
338
+ "type": "array",
339
+ "items": {
340
+ "type": "integer",
341
+ "format": "int32"
342
+ }
343
+ }
344
+ },
345
+ "application/*+json": {
346
+ "schema": {
347
+ "type": "array",
348
+ "items": {
349
+ "type": "integer",
350
+ "format": "int32"
351
+ }
352
+ }
353
+ }
354
+ }
355
+ },
356
+ "responses": {
357
+ "201": {
358
+ "description": "Created",
359
+ "content": {
360
+ "text/plain": {
361
+ "schema": {
362
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.ServiceTokens.PostResult"
363
+ }
364
+ },
365
+ "application/json": {
366
+ "schema": {
367
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.ServiceTokens.PostResult"
368
+ }
369
+ },
370
+ "text/json": {
371
+ "schema": {
372
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.ServiceTokens.PostResult"
373
+ }
374
+ }
375
+ }
376
+ },
377
+ "401": {
378
+ "description": "Unauthorized"
379
+ },
380
+ "403": {
381
+ "description": "Forbidden"
382
+ }
383
+ }
384
+ },
385
+ "delete": {
386
+ "tags": [
387
+ "ServiceTokens"
388
+ ],
389
+ "summary": "Удаляет токен доступа",
390
+ "description": "<br />* Для выполнения данного метода требуется любое из перечисленных полномочий: **ServiceTokenRemove**",
391
+ "parameters": [
392
+ {
393
+ "name": "Authorization",
394
+ "in": "header",
395
+ "description": "Bearer",
396
+ "required": true,
397
+ "schema": {
398
+ "type": "string"
399
+ }
400
+ }
401
+ ],
402
+ "requestBody": {
403
+ "content": {
404
+ "application/json-patch+json": {
405
+ "schema": {
406
+ "type": "array",
407
+ "items": {
408
+ "type": "integer",
409
+ "format": "int32"
410
+ }
411
+ }
412
+ },
413
+ "application/json": {
414
+ "schema": {
415
+ "type": "array",
416
+ "items": {
417
+ "type": "integer",
418
+ "format": "int32"
419
+ }
420
+ }
421
+ },
422
+ "text/json": {
423
+ "schema": {
424
+ "type": "array",
425
+ "items": {
426
+ "type": "integer",
427
+ "format": "int32"
428
+ }
429
+ }
430
+ },
431
+ "application/*+json": {
432
+ "schema": {
433
+ "type": "array",
434
+ "items": {
435
+ "type": "integer",
436
+ "format": "int32"
437
+ }
438
+ }
439
+ }
440
+ }
441
+ },
442
+ "responses": {
443
+ "202": {
444
+ "description": "Accepted"
445
+ },
446
+ "401": {
447
+ "description": "Unauthorized"
448
+ },
449
+ "403": {
450
+ "description": "Forbidden"
451
+ }
452
+ }
453
+ }
454
+ },
455
+ "/Tokens/renew": {
456
+ "post": {
457
+ "tags": [
458
+ "Tokens"
459
+ ],
460
+ "summary": "Обновление JWT",
461
+ "description": "<br />* Для выполнения данного метода пользователь должен быть **TenantMember**.",
462
+ "parameters": [
463
+ {
464
+ "name": "Authorization",
465
+ "in": "header",
466
+ "description": "Bearer",
467
+ "required": true,
468
+ "schema": {
469
+ "type": "string"
470
+ }
471
+ }
472
+ ],
473
+ "responses": {
474
+ "200": {
475
+ "description": "OK",
476
+ "content": {
477
+ "text/plain": {
478
+ "schema": {
479
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
480
+ }
481
+ },
482
+ "application/json": {
483
+ "schema": {
484
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
485
+ }
486
+ },
487
+ "text/json": {
488
+ "schema": {
489
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
490
+ }
491
+ }
492
+ }
493
+ },
494
+ "401": {
495
+ "description": "Unauthorized"
496
+ },
497
+ "403": {
498
+ "description": "Forbidden"
499
+ }
500
+ }
501
+ }
502
+ }
503
+ },
504
+ "components": {
505
+ "schemas": {
506
+ "HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData": {
507
+ "type": "object",
508
+ "properties": {
509
+ "jwt": {
510
+ "type": "string",
511
+ "description": "JWT refresh-токен",
512
+ "nullable": true,
513
+ "deprecated": true
514
+ },
515
+ "refreshJwt": {
516
+ "type": "string",
517
+ "description": "JWT refresh-токен",
518
+ "nullable": true
519
+ },
520
+ "accessJwt": {
521
+ "type": "string",
522
+ "description": "JWT access-токен (опциональный, необходим для определения включены ли в access-токен какие-либо расщирения, если включены новый токен будет сгенерирован с учетогм их)",
523
+ "nullable": true
524
+ },
525
+ "oneTimeLoginToken": {
526
+ "type": "string",
527
+ "description": "Токен для одноразовой авторизации в тенанте",
528
+ "nullable": true
529
+ },
530
+ "tenantID": {
531
+ "type": "integer",
532
+ "description": "Идентификатор тенанта, в который будет произведен вход по HubEx.Service.AUTHZ.Api.Data.AccessToken.RefreshData.OneTimeLoginToken",
533
+ "format": "int32",
534
+ "nullable": true
535
+ },
536
+ "serviceToken": {
537
+ "type": "string",
538
+ "description": "Сервисный токен для упрощенной авторизации",
539
+ "nullable": true
540
+ }
541
+ },
542
+ "additionalProperties": false,
543
+ "description": "Класс, принимающий JWT для обновления JWT доступа к ресурсам."
544
+ },
545
+ "HubEx.Service.AUTHZ.Api.Data.Account.AuthorizeData": {
546
+ "required": [
547
+ "tenantID",
548
+ "tenantMemberID"
549
+ ],
550
+ "type": "object",
551
+ "properties": {
552
+ "tenantID": {
553
+ "type": "integer",
554
+ "description": "ИД тенанта, в который будет авторизован пользователь.",
555
+ "format": "int32"
556
+ },
557
+ "tenantMemberID": {
558
+ "type": "integer",
559
+ "description": "ИД члена тенанта, в который этот член будет авторизован.",
560
+ "format": "int32"
561
+ }
562
+ },
563
+ "additionalProperties": false,
564
+ "description": "Данные для авторизации"
565
+ },
566
+ "HubEx.Service.AUTHZ.Api.Data.RefreshTokens.GenerateData": {
567
+ "type": "object",
568
+ "properties": {
569
+ "validity": {
570
+ "type": "string",
571
+ "description": "Срок действия токена",
572
+ "format": "date-span",
573
+ "nullable": true
574
+ }
575
+ },
576
+ "additionalProperties": false,
577
+ "description": "Параметры генерации токена"
578
+ },
579
+ "HubEx.Service.AUTHZ.Api.Results.Accounts.TenantLicenseCurrentResult": {
580
+ "type": "object",
581
+ "properties": {
582
+ "license": {
583
+ "$ref": "#/components/schemas/SmartService.Common.Results.IdCodeNameResult`1[[System.Int16, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"
584
+ },
585
+ "dateTill": {
586
+ "type": "string",
587
+ "description": "Дата окончания лицензии",
588
+ "format": "date-time"
589
+ },
590
+ "isTrialPeriod": {
591
+ "type": "boolean",
592
+ "description": "Флаг пробного периода"
593
+ },
594
+ "dateFrom": {
595
+ "type": "string",
596
+ "description": "Дата начала лицензии",
597
+ "format": "date-time"
598
+ },
599
+ "trialPeriodDays": {
600
+ "type": "integer",
601
+ "description": "Длина пробного периода в днях",
602
+ "format": "int32",
603
+ "nullable": true
604
+ }
605
+ },
606
+ "additionalProperties": false,
607
+ "description": "Данные текущей лицензии тенанта"
608
+ },
609
+ "HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberAuthorizationResult": {
610
+ "type": "object",
611
+ "properties": {
612
+ "access_token": {
613
+ "type": "string",
614
+ "description": "JWT-токен для доступа к ресурсам",
615
+ "nullable": true,
616
+ "readOnly": true
617
+ },
618
+ "refresh_token": {
619
+ "type": "string",
620
+ "description": "JWT-токен для обновления JWT-токена для доступа к ресурсам",
621
+ "nullable": true,
622
+ "readOnly": true
623
+ },
624
+ "expires_in": {
625
+ "type": "integer",
626
+ "description": "Количество секунд, через которой токен будет просрочен",
627
+ "format": "int32",
628
+ "nullable": true,
629
+ "readOnly": true
630
+ },
631
+ "jwtValidTill": {
632
+ "type": "string",
633
+ "description": "Метка времени в UTC, до которой действует JWT",
634
+ "format": "date-time",
635
+ "nullable": true
636
+ },
637
+ "profile": {
638
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.UserProfileResult"
639
+ },
640
+ "permissions": {
641
+ "type": "object",
642
+ "additionalProperties": {
643
+ "type": "string",
644
+ "nullable": true
645
+ },
646
+ "description": "Данные пользователя как члена тенанта.",
647
+ "nullable": true
648
+ },
649
+ "refreshToken": {
650
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase"
651
+ },
652
+ "tenant": {
653
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantResult"
654
+ },
655
+ "tenantMember": {
656
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberResult"
657
+ },
658
+ "tenantLicenses": {
659
+ "type": "array",
660
+ "items": {
661
+ "$ref": "#/components/schemas/HubEx.Service.AUTHZ.Api.Results.Accounts.TenantLicenseCurrentResult"
662
+ },
663
+ "description": "Данные лицензий тенанта",
664
+ "nullable": true
665
+ },
666
+ "featureFlags": {
667
+ "type": "array",
668
+ "items": {
669
+ "type": "string"
670
+ },
671
+ "description": "Список флагов нового функционала, доступных тенанту",
672
+ "nullable": true
673
+ },
674
+ "roleTaskAttribute": {
675
+ "type": "array",
676
+ "items": {
677
+ "type": "integer",
678
+ "format": "int32"
679
+ },
680
+ "description": "Список доступных атрибутов для ролей пользователя по заявке",
681
+ "nullable": true
682
+ }
683
+ },
684
+ "additionalProperties": false,
685
+ "description": "Авторизация члена тенанта"
686
+ },
687
+ "HubEx.Service.AUTHZ.Api.Results.Accounts.TenantMemberResult": {
688
+ "type": "object",
689
+ "properties": {
690
+ "id": {
691
+ "type": "integer",
692
+ "format": "int32"
693
+ },
694
+ "description": {
695
+ "type": "string",
696
+ "description": "Описание",
697
+ "nullable": true
698
+ },
699
+ "userID": {
700
+ "type": "integer",
701
+ "description": "Идентификатор пользователя",
702
+ "format": "int32"
703
+ },
704
+ "accountID": {
705
+ "type": "integer",
706
+ "description": "Идентификатор учетной записи",
707
+ "format": "int32"
708
+ }
709
+ },
710
+ "additionalProperties": false,
711
+ "description": "Данные члена тенанта"
712
+ },
713
+ "HubEx.Service.AUTHZ.Api.Results.Accounts.TenantResult": {
714
+ "type": "object",
715
+ "properties": {
716
+ "id": {
717
+ "type": "integer",
718
+ "format": "int32"
719
+ },
720
+ "name": {
721
+ "type": "string",
722
+ "nullable": true
723
+ },
724
+ "fullName": {
725
+ "type": "string",
726
+ "description": "Полное название тенанта",
727
+ "nullable": true
728
+ },
729
+ "uriName": {
730
+ "type": "string",
731
+ "description": "Uri-постфикс",
732
+ "nullable": true
733
+ }
734
+ },
735
+ "additionalProperties": false,
736
+ "description": "Данные тенанта"
737
+ },
738
+ "HubEx.Service.AUTHZ.Api.Results.Accounts.UserProfileResult": {
739
+ "type": "object",
740
+ "properties": {
741
+ "userID": {
742
+ "type": "integer",
743
+ "description": "Идентификатор пользователя",
744
+ "format": "int32"
745
+ },
746
+ "firstName": {
747
+ "type": "string",
748
+ "description": "Имя",
749
+ "nullable": true
750
+ },
751
+ "lastName": {
752
+ "type": "string",
753
+ "description": "Фамилия",
754
+ "nullable": true
755
+ },
756
+ "middleName": {
757
+ "type": "string",
758
+ "description": "Отчество",
759
+ "nullable": true
760
+ },
761
+ "email": {
762
+ "type": "string",
763
+ "description": "Адрес эл.почты",
764
+ "nullable": true
765
+ },
766
+ "mobilePhone": {
767
+ "type": "string",
768
+ "description": "Мобильный телефон",
769
+ "nullable": true
770
+ },
771
+ "workPhone": {
772
+ "type": "string",
773
+ "description": "Рабочий телефон",
774
+ "nullable": true
775
+ },
776
+ "otherPhone": {
777
+ "type": "string",
778
+ "description": "Другой телефон",
779
+ "nullable": true
780
+ },
781
+ "avatarUrl": {
782
+ "type": "string",
783
+ "description": "Ссылка на аватар пользователя",
784
+ "nullable": true
785
+ },
786
+ "geoTrackingMode": {
787
+ "$ref": "#/components/schemas/SmartService.Common.Results.IdNameResult`1[[System.Byte, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]"
788
+ },
789
+ "accountDomainLogin": {
790
+ "type": "string",
791
+ "description": "Domain login аккаунта пользователя",
792
+ "nullable": true
793
+ },
794
+ "defaultPageWeb": {
795
+ "type": "string",
796
+ "description": "Стартовая страница для WEB",
797
+ "nullable": true
798
+ },
799
+ "defaultPageMobile": {
800
+ "type": "string",
801
+ "description": "Стартовая страница для МП инженера",
802
+ "nullable": true
803
+ }
804
+ },
805
+ "additionalProperties": false,
806
+ "description": "Профиль пользователя"
807
+ },
808
+ "HubEx.Service.AUTHZ.Api.Results.Base.JwtResultBase": {
809
+ "type": "object",
810
+ "properties": {
811
+ "access_token": {
812
+ "type": "string",
813
+ "description": "JWT-токен для доступа к ресурсам",
814
+ "nullable": true,
815
+ "readOnly": true
816
+ },
817
+ "refresh_token": {
818
+ "type": "string",
819
+ "description": "JWT-токен для обновления JWT-токена для доступа к ресурсам",
820
+ "nullable": true,
821
+ "readOnly": true
822
+ },
823
+ "expires_in": {
824
+ "type": "integer",
825
+ "description": "Количество секунд, через которой токен будет просрочен",
826
+ "format": "int32",
827
+ "nullable": true,
828
+ "readOnly": true
829
+ },
830
+ "jwtValidTill": {
831
+ "type": "string",
832
+ "description": "Метка времени в UTC, до которой действует JWT",
833
+ "format": "date-time",
834
+ "nullable": true
835
+ }
836
+ },
837
+ "additionalProperties": false,
838
+ "description": "Данные JWT"
839
+ },
840
+ "HubEx.Service.AUTHZ.Api.Results.ServiceTokens.PostResult": {
841
+ "type": "object",
842
+ "properties": {
843
+ "token": {
844
+ "type": "string",
845
+ "description": "Токен",
846
+ "nullable": true
847
+ },
848
+ "created": {
849
+ "type": "string",
850
+ "description": "Метка времени создания токена",
851
+ "format": "date-time"
852
+ },
853
+ "validTill": {
854
+ "type": "string",
855
+ "description": "Срок действия токена",
856
+ "format": "date-time"
857
+ }
858
+ },
859
+ "additionalProperties": false,
860
+ "description": "Результат генерации сервисного токена"
861
+ },
862
+ "SmartService.Common.Results.IdCodeNameResult`1[[System.Int16, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]": {
863
+ "type": "object",
864
+ "properties": {
865
+ "id": {
866
+ "type": "integer",
867
+ "format": "int32"
868
+ },
869
+ "code": {
870
+ "type": "string",
871
+ "nullable": true
872
+ },
873
+ "name": {
874
+ "type": "string",
875
+ "nullable": true
876
+ }
877
+ },
878
+ "additionalProperties": false
879
+ },
880
+ "SmartService.Common.Results.IdNameResult`1[[System.Byte, System.Private.CoreLib, Version=8.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]": {
881
+ "type": "object",
882
+ "properties": {
883
+ "id": {
884
+ "type": "integer",
885
+ "format": "int32"
886
+ },
887
+ "name": {
888
+ "type": "string",
889
+ "nullable": true
890
+ }
891
+ },
892
+ "additionalProperties": false
893
+ }
894
+ }
895
+ }
896
+ }