@djangocfg/api 2.1.454 → 2.1.456

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 (87) hide show
  1. package/dist/auth.cjs +2654 -2920
  2. package/dist/auth.cjs.map +1 -1
  3. package/dist/auth.d.cts +18 -82
  4. package/dist/auth.d.ts +18 -82
  5. package/dist/auth.mjs +385 -2861
  6. package/dist/auth.mjs.map +1 -1
  7. package/dist/chunk-2G67QRNU.mjs +2096 -0
  8. package/dist/chunk-2G67QRNU.mjs.map +1 -0
  9. package/dist/chunk-32SRQGAC.mjs +2109 -0
  10. package/dist/chunk-32SRQGAC.mjs.map +1 -0
  11. package/dist/chunk-4BPRCONN.mjs +2098 -0
  12. package/dist/chunk-4BPRCONN.mjs.map +1 -0
  13. package/dist/chunk-5UZ2Z323.mjs +2021 -0
  14. package/dist/chunk-5UZ2Z323.mjs.map +1 -0
  15. package/dist/chunk-7KFTJXNM.mjs +2097 -0
  16. package/dist/chunk-7KFTJXNM.mjs.map +1 -0
  17. package/dist/chunk-BK4K5CVT.mjs +2019 -0
  18. package/dist/chunk-BK4K5CVT.mjs.map +1 -0
  19. package/dist/chunk-JLPJZ6WB.mjs +2020 -0
  20. package/dist/chunk-JLPJZ6WB.mjs.map +1 -0
  21. package/dist/chunk-TVU6PYJH.mjs +2032 -0
  22. package/dist/chunk-TVU6PYJH.mjs.map +1 -0
  23. package/dist/clients.cjs +2210 -1847
  24. package/dist/clients.cjs.map +1 -1
  25. package/dist/clients.d.cts +23 -0
  26. package/dist/clients.d.ts +23 -0
  27. package/dist/clients.mjs +14 -1845
  28. package/dist/clients.mjs.map +1 -1
  29. package/dist/hooks.cjs +1776 -962
  30. package/dist/hooks.cjs.map +1 -1
  31. package/dist/hooks.mjs +4 -1375
  32. package/dist/hooks.mjs.map +1 -1
  33. package/dist/index.cjs +2245 -1877
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.d.cts +81 -4
  36. package/dist/index.d.ts +81 -4
  37. package/dist/index.mjs +20 -1860
  38. package/dist/index.mjs.map +1 -1
  39. package/dist/sdk.gen-2SQOPTWJ.mjs +26 -0
  40. package/dist/sdk.gen-2SQOPTWJ.mjs.map +1 -0
  41. package/dist/sdk.gen-HSGK4C5S.mjs +26 -0
  42. package/dist/sdk.gen-HSGK4C5S.mjs.map +1 -0
  43. package/dist/sdk.gen-NUK2VGHO.mjs +25 -0
  44. package/dist/sdk.gen-NUK2VGHO.mjs.map +1 -0
  45. package/dist/sdk.gen-O4KAQUZB.mjs +26 -0
  46. package/dist/sdk.gen-O4KAQUZB.mjs.map +1 -0
  47. package/dist/sdk.gen-PPAVSBNT.mjs +26 -0
  48. package/dist/sdk.gen-PPAVSBNT.mjs.map +1 -0
  49. package/dist/sdk.gen-XLHLOCJ2.mjs +25 -0
  50. package/dist/sdk.gen-XLHLOCJ2.mjs.map +1 -0
  51. package/dist/sdk.gen-ZOE6NQAL.mjs +26 -0
  52. package/dist/sdk.gen-ZOE6NQAL.mjs.map +1 -0
  53. package/dist/sdk.gen-ZT7LGJVO.mjs +26 -0
  54. package/dist/sdk.gen-ZT7LGJVO.mjs.map +1 -0
  55. package/package.json +2 -2
  56. package/src/_api/generated/_cfg_accounts/hooks/index.ts +1 -0
  57. package/src/_api/generated/_cfg_accounts/hooks/useCfgAccountsTokenBlacklistCreate.ts +28 -0
  58. package/src/_api/generated/_cfg_accounts/openapi.json +99 -0
  59. package/src/_api/generated/_cfg_accounts/schemas/TokenBlacklistRequest.ts +11 -0
  60. package/src/_api/generated/_cfg_accounts/schemas/index.ts +1 -0
  61. package/src/_api/generated/_cfg_centrifugo/openapi.json +9 -0
  62. package/src/_api/generated/_cfg_totp/openapi.json +33 -0
  63. package/src/_api/generated/helpers/auth.ts +276 -31
  64. package/src/_api/generated/openapi.json +129 -0
  65. package/src/_api/generated/sdk.gen.ts +94 -16
  66. package/src/_api/generated/types.gen.ts +18 -0
  67. package/src/auth/__tests__/guard.test.ts +0 -31
  68. package/src/auth/constants.ts +6 -0
  69. package/src/auth/context/AccountsContext.tsx +14 -24
  70. package/src/auth/context/AuthContext.tsx +226 -609
  71. package/src/auth/hooks/index.ts +3 -4
  72. package/src/auth/hooks/useGithubAuth.ts +3 -3
  73. package/src/auth/hooks/useSession.ts +22 -0
  74. package/src/auth/hooks/useTwoFactor.ts +4 -4
  75. package/src/auth/middlewares/index.ts +5 -6
  76. package/src/auth/utils/guard.ts +0 -22
  77. package/src/auth/utils/index.ts +0 -2
  78. package/src/_api/generated/_cfg_accounts/events.ts +0 -198
  79. package/src/_api/generated/_cfg_centrifugo/events.ts +0 -198
  80. package/src/_api/generated/_cfg_totp/events.ts +0 -198
  81. package/src/auth/__tests__/jwt.test.ts +0 -119
  82. package/src/auth/__tests__/sessionBootstrap.test.ts +0 -111
  83. package/src/auth/__tests__/useTokenRefresh.dom.test.tsx +0 -167
  84. package/src/auth/hooks/useAuthGuard.ts +0 -35
  85. package/src/auth/hooks/useTokenRefresh.ts +0 -131
  86. package/src/auth/refreshHandler.ts +0 -79
  87. package/src/auth/utils/jwt.ts +0 -66
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import {
3
+ CfgAccounts,
4
+ CfgAccountsApiKey,
5
+ CfgAccountsAuth,
6
+ CfgAccountsOauth,
7
+ CfgAccountsProfile,
8
+ CfgCentrifugo,
9
+ CfgTotp,
10
+ CfgTotpBackupCodes,
11
+ CfgTotpSetup,
12
+ CfgTotpVerify
13
+ } from "./chunk-JLPJZ6WB.mjs";
14
+ export {
15
+ CfgAccounts,
16
+ CfgAccountsApiKey,
17
+ CfgAccountsAuth,
18
+ CfgAccountsOauth,
19
+ CfgAccountsProfile,
20
+ CfgCentrifugo,
21
+ CfgTotp,
22
+ CfgTotpBackupCodes,
23
+ CfgTotpSetup,
24
+ CfgTotpVerify
25
+ };
26
+ //# sourceMappingURL=sdk.gen-O4KAQUZB.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import {
3
+ CfgAccounts,
4
+ CfgAccountsApiKey,
5
+ CfgAccountsAuth,
6
+ CfgAccountsOauth,
7
+ CfgAccountsProfile,
8
+ CfgCentrifugo,
9
+ CfgTotp,
10
+ CfgTotpBackupCodes,
11
+ CfgTotpSetup,
12
+ CfgTotpVerify
13
+ } from "./chunk-2G67QRNU.mjs";
14
+ export {
15
+ CfgAccounts,
16
+ CfgAccountsApiKey,
17
+ CfgAccountsAuth,
18
+ CfgAccountsOauth,
19
+ CfgAccountsProfile,
20
+ CfgCentrifugo,
21
+ CfgTotp,
22
+ CfgTotpBackupCodes,
23
+ CfgTotpSetup,
24
+ CfgTotpVerify
25
+ };
26
+ //# sourceMappingURL=sdk.gen-PPAVSBNT.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,25 @@
1
+ import {
2
+ CfgAccounts,
3
+ CfgAccountsApiKey,
4
+ CfgAccountsAuth,
5
+ CfgAccountsOauth,
6
+ CfgAccountsProfile,
7
+ CfgCentrifugo,
8
+ CfgTotp,
9
+ CfgTotpBackupCodes,
10
+ CfgTotpSetup,
11
+ CfgTotpVerify
12
+ } from "./chunk-32SRQGAC.mjs";
13
+ export {
14
+ CfgAccounts,
15
+ CfgAccountsApiKey,
16
+ CfgAccountsAuth,
17
+ CfgAccountsOauth,
18
+ CfgAccountsProfile,
19
+ CfgCentrifugo,
20
+ CfgTotp,
21
+ CfgTotpBackupCodes,
22
+ CfgTotpSetup,
23
+ CfgTotpVerify
24
+ };
25
+ //# sourceMappingURL=sdk.gen-XLHLOCJ2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import {
3
+ CfgAccounts,
4
+ CfgAccountsApiKey,
5
+ CfgAccountsAuth,
6
+ CfgAccountsOauth,
7
+ CfgAccountsProfile,
8
+ CfgCentrifugo,
9
+ CfgTotp,
10
+ CfgTotpBackupCodes,
11
+ CfgTotpSetup,
12
+ CfgTotpVerify
13
+ } from "./chunk-4BPRCONN.mjs";
14
+ export {
15
+ CfgAccounts,
16
+ CfgAccountsApiKey,
17
+ CfgAccountsAuth,
18
+ CfgAccountsOauth,
19
+ CfgAccountsProfile,
20
+ CfgCentrifugo,
21
+ CfgTotp,
22
+ CfgTotpBackupCodes,
23
+ CfgTotpSetup,
24
+ CfgTotpVerify
25
+ };
26
+ //# sourceMappingURL=sdk.gen-ZOE6NQAL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ import {
3
+ CfgAccounts,
4
+ CfgAccountsApiKey,
5
+ CfgAccountsAuth,
6
+ CfgAccountsOauth,
7
+ CfgAccountsProfile,
8
+ CfgCentrifugo,
9
+ CfgTotp,
10
+ CfgTotpBackupCodes,
11
+ CfgTotpSetup,
12
+ CfgTotpVerify
13
+ } from "./chunk-BK4K5CVT.mjs";
14
+ export {
15
+ CfgAccounts,
16
+ CfgAccountsApiKey,
17
+ CfgAccountsAuth,
18
+ CfgAccountsOauth,
19
+ CfgAccountsProfile,
20
+ CfgCentrifugo,
21
+ CfgTotp,
22
+ CfgTotpBackupCodes,
23
+ CfgTotpSetup,
24
+ CfgTotpVerify
25
+ };
26
+ //# sourceMappingURL=sdk.gen-ZT7LGJVO.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@djangocfg/api",
3
- "version": "2.1.454",
3
+ "version": "2.1.456",
4
4
  "description": "Auto-generated TypeScript API client with React hooks, SWR integration, and Zod validation for Django REST Framework backends",
5
5
  "keywords": [
6
6
  "django",
@@ -84,7 +84,7 @@
84
84
  "zod": "^4.3.6"
85
85
  },
86
86
  "devDependencies": {
87
- "@djangocfg/typescript-config": "^2.1.454",
87
+ "@djangocfg/typescript-config": "^2.1.456",
88
88
  "@testing-library/react": "^16.3.2",
89
89
  "@types/node": "^25.2.3",
90
90
  "@types/react": "^19.2.15",
@@ -19,4 +19,5 @@ export { useCfgAccountsProfilePartialUpdate } from "./useCfgAccountsProfileParti
19
19
  export { useCfgAccountsProfileRetrieve } from "./useCfgAccountsProfileRetrieve";
20
20
  export { useCfgAccountsProfileUpdatePartialUpdate } from "./useCfgAccountsProfileUpdatePartialUpdate";
21
21
  export { useCfgAccountsProfileUpdateUpdate } from "./useCfgAccountsProfileUpdateUpdate";
22
+ export { useCfgAccountsTokenBlacklistCreate } from "./useCfgAccountsTokenBlacklistCreate";
22
23
  export { useCfgAccountsTokenRefreshCreate } from "./useCfgAccountsTokenRefreshCreate";
@@ -0,0 +1,28 @@
1
+ 'use client';
2
+
3
+ // AUTO-GENERATED by openapi_processor / ts.hooks
4
+ // POST /cfg/accounts/token/blacklist/
5
+ // DO NOT EDIT — re-run `make gen`.
6
+
7
+ import useSWRMutation from "swr/mutation";
8
+ import type { SWRMutationConfiguration } from "swr/mutation";
9
+ import { CfgAccountsAuth } from "../../sdk.gen";
10
+ import type { CfgAccountsTokenBlacklistCreateData, CfgAccountsTokenBlacklistCreateResponses } from "../../types.gen";
11
+
12
+
13
+ type Args = Omit<CfgAccountsTokenBlacklistCreateData, "url">;
14
+ type Result = CfgAccountsTokenBlacklistCreateResponses[keyof CfgAccountsTokenBlacklistCreateResponses];
15
+
16
+ export function useCfgAccountsTokenBlacklistCreate(
17
+ config?: SWRMutationConfiguration<Result, Error, readonly ["cfg_accounts_token_blacklist_create"], Args>,
18
+ ) {
19
+ return useSWRMutation<Result, Error, readonly ["cfg_accounts_token_blacklist_create"], Args>(
20
+ ["cfg_accounts_token_blacklist_create"] as const,
21
+ async (_key, { arg }: { arg: Args }) => {
22
+ const res = await CfgAccountsAuth.cfgAccountsTokenBlacklistCreate({ ...arg, throwOnError: true } as never);
23
+ const data = res.data as Result;
24
+ return data;
25
+ },
26
+ config,
27
+ );
28
+ }
@@ -241,6 +241,9 @@
241
241
  },
242
242
  {
243
243
  "jwtAuthWithLastLogin": []
244
+ },
245
+ {
246
+ "tokenAuth": []
244
247
  }
245
248
  ],
246
249
  "responses": {
@@ -285,6 +288,9 @@
285
288
  },
286
289
  {
287
290
  "jwtAuthWithLastLogin": []
291
+ },
292
+ {
293
+ "tokenAuth": []
288
294
  }
289
295
  ],
290
296
  "responses": {
@@ -468,6 +474,9 @@
468
474
  {
469
475
  "jwtAuthWithLastLogin": []
470
476
  },
477
+ {
478
+ "tokenAuth": []
479
+ },
471
480
  {}
472
481
  ],
473
482
  "responses": {
@@ -539,6 +548,9 @@
539
548
  {
540
549
  "jwtAuthWithLastLogin": []
541
550
  },
551
+ {
552
+ "tokenAuth": []
553
+ },
542
554
  {}
543
555
  ],
544
556
  "responses": {
@@ -650,6 +662,9 @@
650
662
  },
651
663
  {
652
664
  "jwtAuthWithLastLogin": []
665
+ },
666
+ {
667
+ "tokenAuth": []
653
668
  }
654
669
  ],
655
670
  "responses": {
@@ -764,6 +779,16 @@
764
779
  "summary": "Profile Update with Avatar"
765
780
  }
766
781
  }
782
+ },
783
+ "multipart/form-data": {
784
+ "schema": {
785
+ "$ref": "#/components/schemas/CfgUserUpdateRequest"
786
+ }
787
+ },
788
+ "application/x-www-form-urlencoded": {
789
+ "schema": {
790
+ "$ref": "#/components/schemas/CfgUserUpdateRequest"
791
+ }
767
792
  }
768
793
  }
769
794
  },
@@ -834,6 +859,16 @@
834
859
  "summary": "Profile Update with Avatar"
835
860
  }
836
861
  }
862
+ },
863
+ "multipart/form-data": {
864
+ "schema": {
865
+ "$ref": "#/components/schemas/PatchedCfgUserUpdateRequest"
866
+ }
867
+ },
868
+ "application/x-www-form-urlencoded": {
869
+ "schema": {
870
+ "$ref": "#/components/schemas/PatchedCfgUserUpdateRequest"
871
+ }
837
872
  }
838
873
  }
839
874
  },
@@ -906,6 +941,16 @@
906
941
  "summary": "Valid Profile Update"
907
942
  }
908
943
  }
944
+ },
945
+ "multipart/form-data": {
946
+ "schema": {
947
+ "$ref": "#/components/schemas/CfgUserUpdateRequest"
948
+ }
949
+ },
950
+ "application/x-www-form-urlencoded": {
951
+ "schema": {
952
+ "$ref": "#/components/schemas/CfgUserUpdateRequest"
953
+ }
909
954
  }
910
955
  }
911
956
  },
@@ -976,6 +1021,16 @@
976
1021
  "summary": "Valid Profile Update"
977
1022
  }
978
1023
  }
1024
+ },
1025
+ "multipart/form-data": {
1026
+ "schema": {
1027
+ "$ref": "#/components/schemas/PatchedCfgUserUpdateRequest"
1028
+ }
1029
+ },
1030
+ "application/x-www-form-urlencoded": {
1031
+ "schema": {
1032
+ "$ref": "#/components/schemas/PatchedCfgUserUpdateRequest"
1033
+ }
979
1034
  }
980
1035
  }
981
1036
  },
@@ -1022,6 +1077,31 @@
1022
1077
  "x-async-capable": false
1023
1078
  }
1024
1079
  },
1080
+ "/cfg/accounts/token/blacklist/": {
1081
+ "post": {
1082
+ "operationId": "cfg_accounts_token_blacklist_create",
1083
+ "description": "Revoke a refresh token (logout).\n\nBlacklists the posted refresh token so it can never mint another access\ntoken. Called best-effort by the client's logout — without it, \"logout\"\nis purely client-side and a stolen refresh token survives until expiry.",
1084
+ "tags": [
1085
+ "cfg_accounts_auth"
1086
+ ],
1087
+ "requestBody": {
1088
+ "content": {
1089
+ "application/json": {
1090
+ "schema": {
1091
+ "$ref": "#/components/schemas/TokenBlacklistRequest"
1092
+ }
1093
+ }
1094
+ },
1095
+ "required": true
1096
+ },
1097
+ "responses": {
1098
+ "200": {
1099
+ "description": "No response body"
1100
+ }
1101
+ },
1102
+ "x-async-capable": false
1103
+ }
1104
+ },
1025
1105
  "/cfg/accounts/token/refresh/": {
1026
1106
  "post": {
1027
1107
  "operationId": "cfg_accounts_token_refresh_create",
@@ -1697,6 +1777,19 @@
1697
1777
  }
1698
1778
  }
1699
1779
  },
1780
+ "TokenBlacklistRequest": {
1781
+ "type": "object",
1782
+ "properties": {
1783
+ "refresh": {
1784
+ "type": "string",
1785
+ "writeOnly": true,
1786
+ "minLength": 1
1787
+ }
1788
+ },
1789
+ "required": [
1790
+ "refresh"
1791
+ ]
1792
+ },
1700
1793
  "TokenRefresh": {
1701
1794
  "type": "object",
1702
1795
  "properties": {
@@ -1965,6 +2058,12 @@
1965
2058
  "type": "http",
1966
2059
  "scheme": "bearer",
1967
2060
  "bearerFormat": "JWT"
2061
+ },
2062
+ "tokenAuth": {
2063
+ "type": "apiKey",
2064
+ "in": "header",
2065
+ "name": "Authorization",
2066
+ "description": "Token-based authentication with required prefix \"Token\""
1968
2067
  }
1969
2068
  }
1970
2069
  },
@@ -0,0 +1,11 @@
1
+ // AUTO-GENERATED by cmdop_server / devtools.generator.ts_extras
2
+ // Source: OpenAPI 3.1 components.schemas
3
+ // DO NOT EDIT — re-run `make gen-clients`.
4
+
5
+ import { z } from "zod";
6
+
7
+ export const TokenBlacklistRequestSchema = z.object({
8
+ refresh: z.string().min(1),
9
+ });
10
+
11
+ export type TokenBlacklistRequest = z.infer<typeof TokenBlacklistRequestSchema>;
@@ -25,6 +25,7 @@ export * from "./OTPRequestResponse";
25
25
  export * from "./OTPVerifyRequest";
26
26
  export * from "./OTPVerifyResponse";
27
27
  export * from "./PatchedCfgUserUpdateRequest";
28
+ export * from "./TokenBlacklistRequest";
28
29
  export * from "./TokenRefresh";
29
30
  export * from "./TokenRefreshRequest";
30
31
  export * from "./User";
@@ -20,6 +20,9 @@
20
20
  },
21
21
  {
22
22
  "jwtAuthWithLastLogin": []
23
+ },
24
+ {
25
+ "tokenAuth": []
23
26
  }
24
27
  ],
25
28
  "responses": {
@@ -116,6 +119,12 @@
116
119
  "type": "http",
117
120
  "scheme": "bearer",
118
121
  "bearerFormat": "JWT"
122
+ },
123
+ "tokenAuth": {
124
+ "type": "apiKey",
125
+ "in": "header",
126
+ "name": "Authorization",
127
+ "description": "Token-based authentication with required prefix \"Token\""
119
128
  }
120
129
  }
121
130
  },
@@ -19,6 +19,9 @@
19
19
  },
20
20
  {
21
21
  "jwtAuthWithLastLogin": []
22
+ },
23
+ {
24
+ "tokenAuth": []
22
25
  }
23
26
  ],
24
27
  "responses": {
@@ -59,6 +62,9 @@
59
62
  },
60
63
  {
61
64
  "jwtAuthWithLastLogin": []
65
+ },
66
+ {
67
+ "tokenAuth": []
62
68
  }
63
69
  ],
64
70
  "responses": {
@@ -99,6 +105,9 @@
99
105
  },
100
106
  {
101
107
  "jwtAuthWithLastLogin": []
108
+ },
109
+ {
110
+ "tokenAuth": []
102
111
  }
103
112
  ],
104
113
  "responses": {
@@ -140,6 +149,9 @@
140
149
  },
141
150
  {
142
151
  "jwtAuthWithLastLogin": []
152
+ },
153
+ {
154
+ "tokenAuth": []
143
155
  }
144
156
  ],
145
157
  "responses": {
@@ -173,6 +185,9 @@
173
185
  },
174
186
  {
175
187
  "jwtAuthWithLastLogin": []
188
+ },
189
+ {
190
+ "tokenAuth": []
176
191
  }
177
192
  ],
178
193
  "responses": {
@@ -222,6 +237,9 @@
222
237
  },
223
238
  {
224
239
  "jwtAuthWithLastLogin": []
240
+ },
241
+ {
242
+ "tokenAuth": []
225
243
  }
226
244
  ],
227
245
  "responses": {
@@ -272,6 +290,9 @@
272
290
  },
273
291
  {
274
292
  "jwtAuthWithLastLogin": []
293
+ },
294
+ {
295
+ "tokenAuth": []
275
296
  }
276
297
  ],
277
298
  "responses": {
@@ -323,6 +344,9 @@
323
344
  {
324
345
  "jwtAuthWithLastLogin": []
325
346
  },
347
+ {
348
+ "tokenAuth": []
349
+ },
326
350
  {}
327
351
  ],
328
352
  "responses": {
@@ -384,6 +408,9 @@
384
408
  {
385
409
  "jwtAuthWithLastLogin": []
386
410
  },
411
+ {
412
+ "tokenAuth": []
413
+ },
387
414
  {}
388
415
  ],
389
416
  "responses": {
@@ -911,6 +938,12 @@
911
938
  "type": "http",
912
939
  "scheme": "bearer",
913
940
  "bearerFormat": "JWT"
941
+ },
942
+ "tokenAuth": {
943
+ "type": "apiKey",
944
+ "in": "header",
945
+ "name": "Authorization",
946
+ "description": "Token-based authentication with required prefix \"Token\""
914
947
  }
915
948
  }
916
949
  },