@strapi/plugin-users-permissions 0.0.0-4fc90398602f

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 (168) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +1 -0
  3. package/admin/src/components/BoundRoute/getMethodColor.js +41 -0
  4. package/admin/src/components/BoundRoute/index.js +72 -0
  5. package/admin/src/components/FormModal/Input/index.js +121 -0
  6. package/admin/src/components/FormModal/index.js +121 -0
  7. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.js +30 -0
  8. package/admin/src/components/Permissions/PermissionRow/SubCategory.js +114 -0
  9. package/admin/src/components/Permissions/PermissionRow/index.js +53 -0
  10. package/admin/src/components/Permissions/index.js +56 -0
  11. package/admin/src/components/Permissions/init.js +9 -0
  12. package/admin/src/components/Permissions/reducer.js +27 -0
  13. package/admin/src/components/Policies/index.js +60 -0
  14. package/admin/src/components/UsersPermissions/index.js +94 -0
  15. package/admin/src/components/UsersPermissions/init.js +10 -0
  16. package/admin/src/components/UsersPermissions/reducer.js +60 -0
  17. package/admin/src/contexts/UsersPermissionsContext/index.js +17 -0
  18. package/admin/src/hooks/index.js +5 -0
  19. package/admin/src/hooks/useFetchRole/index.js +64 -0
  20. package/admin/src/hooks/useFetchRole/reducer.js +31 -0
  21. package/admin/src/hooks/useForm/index.js +70 -0
  22. package/admin/src/hooks/useForm/reducer.js +40 -0
  23. package/admin/src/hooks/usePlugins/index.js +65 -0
  24. package/admin/src/hooks/usePlugins/init.js +5 -0
  25. package/admin/src/hooks/usePlugins/reducer.js +34 -0
  26. package/admin/src/hooks/useRolesList/index.js +63 -0
  27. package/admin/src/hooks/useRolesList/init.js +5 -0
  28. package/admin/src/hooks/useRolesList/reducer.js +31 -0
  29. package/admin/src/index.js +123 -0
  30. package/admin/src/pages/AdvancedSettings/index.js +238 -0
  31. package/admin/src/pages/AdvancedSettings/utils/api.js +13 -0
  32. package/admin/src/pages/AdvancedSettings/utils/layout.js +96 -0
  33. package/admin/src/pages/AdvancedSettings/utils/schema.js +19 -0
  34. package/admin/src/pages/EmailTemplates/components/EmailForm.js +173 -0
  35. package/admin/src/pages/EmailTemplates/components/EmailTable.js +121 -0
  36. package/admin/src/pages/EmailTemplates/index.js +162 -0
  37. package/admin/src/pages/EmailTemplates/utils/api.js +13 -0
  38. package/admin/src/pages/EmailTemplates/utils/schema.js +22 -0
  39. package/admin/src/pages/Providers/index.js +274 -0
  40. package/admin/src/pages/Providers/reducer.js +54 -0
  41. package/admin/src/pages/Providers/utils/api.js +21 -0
  42. package/admin/src/pages/Providers/utils/createProvidersArray.js +21 -0
  43. package/admin/src/pages/Providers/utils/forms.js +244 -0
  44. package/admin/src/pages/Roles/CreatePage/index.js +177 -0
  45. package/admin/src/pages/Roles/CreatePage/utils/schema.js +9 -0
  46. package/admin/src/pages/Roles/EditPage/index.js +190 -0
  47. package/admin/src/pages/Roles/EditPage/utils/schema.js +9 -0
  48. package/admin/src/pages/Roles/ListPage/components/TableBody.js +96 -0
  49. package/admin/src/pages/Roles/ListPage/index.js +216 -0
  50. package/admin/src/pages/Roles/ListPage/utils/api.js +28 -0
  51. package/admin/src/pages/Roles/ProtectedCreatePage/index.js +12 -0
  52. package/admin/src/pages/Roles/ProtectedEditPage/index.js +12 -0
  53. package/admin/src/pages/Roles/ProtectedListPage/index.js +15 -0
  54. package/admin/src/pages/Roles/index.js +27 -0
  55. package/admin/src/permissions.js +31 -0
  56. package/admin/src/pluginId.js +5 -0
  57. package/admin/src/translations/ar.json +40 -0
  58. package/admin/src/translations/cs.json +46 -0
  59. package/admin/src/translations/de.json +58 -0
  60. package/admin/src/translations/dk.json +83 -0
  61. package/admin/src/translations/en.json +83 -0
  62. package/admin/src/translations/es.json +83 -0
  63. package/admin/src/translations/fr.json +46 -0
  64. package/admin/src/translations/id.json +58 -0
  65. package/admin/src/translations/it.json +58 -0
  66. package/admin/src/translations/ja.json +44 -0
  67. package/admin/src/translations/ko.json +83 -0
  68. package/admin/src/translations/ms.json +45 -0
  69. package/admin/src/translations/nl.json +44 -0
  70. package/admin/src/translations/pl.json +83 -0
  71. package/admin/src/translations/pt-BR.json +40 -0
  72. package/admin/src/translations/pt.json +44 -0
  73. package/admin/src/translations/ru.json +58 -0
  74. package/admin/src/translations/sk.json +46 -0
  75. package/admin/src/translations/sv.json +58 -0
  76. package/admin/src/translations/th.json +56 -0
  77. package/admin/src/translations/tr.json +44 -0
  78. package/admin/src/translations/uk.json +45 -0
  79. package/admin/src/translations/vi.json +46 -0
  80. package/admin/src/translations/zh-Hans.json +62 -0
  81. package/admin/src/translations/zh.json +44 -0
  82. package/admin/src/utils/axiosInstance.js +36 -0
  83. package/admin/src/utils/cleanPermissions.js +25 -0
  84. package/admin/src/utils/formatPluginName.js +26 -0
  85. package/admin/src/utils/formatPolicies.js +8 -0
  86. package/admin/src/utils/getRequestURL.js +5 -0
  87. package/admin/src/utils/getTrad.js +5 -0
  88. package/admin/src/utils/index.js +5 -0
  89. package/documentation/content-api.yaml +848 -0
  90. package/jest.config.front.js +10 -0
  91. package/package.json +60 -0
  92. package/server/bootstrap/grant-config.js +123 -0
  93. package/server/bootstrap/index.js +133 -0
  94. package/server/bootstrap/users-permissions-actions.js +80 -0
  95. package/server/config.js +23 -0
  96. package/server/content-types/index.js +11 -0
  97. package/server/content-types/permission/index.js +34 -0
  98. package/server/content-types/role/index.js +51 -0
  99. package/server/content-types/user/index.js +72 -0
  100. package/server/content-types/user/schema-config.js +15 -0
  101. package/server/controllers/auth.js +398 -0
  102. package/server/controllers/content-manager-user.js +175 -0
  103. package/server/controllers/index.js +17 -0
  104. package/server/controllers/permissions.js +26 -0
  105. package/server/controllers/role.js +77 -0
  106. package/server/controllers/settings.js +85 -0
  107. package/server/controllers/user.js +198 -0
  108. package/server/controllers/validation/auth.js +57 -0
  109. package/server/controllers/validation/email-template.js +50 -0
  110. package/server/controllers/validation/user.js +26 -0
  111. package/server/graphql/index.js +44 -0
  112. package/server/graphql/mutations/auth/change-password.js +38 -0
  113. package/server/graphql/mutations/auth/email-confirmation.js +39 -0
  114. package/server/graphql/mutations/auth/forgot-password.js +35 -0
  115. package/server/graphql/mutations/auth/login.js +35 -0
  116. package/server/graphql/mutations/auth/register.js +36 -0
  117. package/server/graphql/mutations/auth/reset-password.js +38 -0
  118. package/server/graphql/mutations/crud/role/create-role.js +34 -0
  119. package/server/graphql/mutations/crud/role/delete-role.js +25 -0
  120. package/server/graphql/mutations/crud/role/update-role.js +35 -0
  121. package/server/graphql/mutations/crud/user/create-user.js +45 -0
  122. package/server/graphql/mutations/crud/user/delete-user.js +39 -0
  123. package/server/graphql/mutations/crud/user/update-user.js +46 -0
  124. package/server/graphql/mutations/index.js +43 -0
  125. package/server/graphql/queries/index.js +13 -0
  126. package/server/graphql/queries/me.js +17 -0
  127. package/server/graphql/resolvers-configs.js +42 -0
  128. package/server/graphql/types/create-role-payload.js +11 -0
  129. package/server/graphql/types/delete-role-payload.js +11 -0
  130. package/server/graphql/types/index.js +21 -0
  131. package/server/graphql/types/login-input.js +13 -0
  132. package/server/graphql/types/login-payload.js +12 -0
  133. package/server/graphql/types/me-role.js +14 -0
  134. package/server/graphql/types/me.js +16 -0
  135. package/server/graphql/types/password-payload.js +11 -0
  136. package/server/graphql/types/register-input.js +13 -0
  137. package/server/graphql/types/update-role-payload.js +11 -0
  138. package/server/graphql/utils.js +27 -0
  139. package/server/index.js +21 -0
  140. package/server/middlewares/index.js +7 -0
  141. package/server/middlewares/rateLimit.js +27 -0
  142. package/server/register.js +23 -0
  143. package/server/routes/admin/index.js +10 -0
  144. package/server/routes/admin/permissions.js +20 -0
  145. package/server/routes/admin/role.js +79 -0
  146. package/server/routes/admin/settings.js +95 -0
  147. package/server/routes/content-api/auth.js +82 -0
  148. package/server/routes/content-api/index.js +11 -0
  149. package/server/routes/content-api/permissions.js +9 -0
  150. package/server/routes/content-api/role.js +29 -0
  151. package/server/routes/content-api/user.js +60 -0
  152. package/server/routes/index.js +6 -0
  153. package/server/services/index.js +17 -0
  154. package/server/services/jwt.js +55 -0
  155. package/server/services/providers-registry.js +292 -0
  156. package/server/services/providers.js +115 -0
  157. package/server/services/role.js +177 -0
  158. package/server/services/user.js +140 -0
  159. package/server/services/users-permissions.js +236 -0
  160. package/server/strategies/users-permissions.js +102 -0
  161. package/server/utils/index.d.ts +16 -0
  162. package/server/utils/index.js +12 -0
  163. package/server/utils/sanitize/index.js +9 -0
  164. package/server/utils/sanitize/sanitizers.js +19 -0
  165. package/server/utils/sanitize/visitors/index.js +5 -0
  166. package/server/utils/sanitize/visitors/remove-user-relation-from-role-entities.js +11 -0
  167. package/strapi-admin.js +3 -0
  168. package/strapi-server.js +3 -0
@@ -0,0 +1,848 @@
1
+ tags:
2
+ - name: 'Users-Permissions - Auth'
3
+ description: 'Authentication endpoints'
4
+ externalDocs:
5
+ description: 'Find out more'
6
+ url: 'https://docs.strapi.io/developer-docs/latest/plugins/users-permissions.html'
7
+
8
+ - name: 'Users-Permissions - Users & Roles'
9
+ description: 'Users, roles, and permissions endpoints'
10
+ externalDocs:
11
+ description: 'Find out more'
12
+ url: 'https://docs.strapi.io/developer-docs/latest/plugins/users-permissions.html'
13
+
14
+ paths:
15
+ '/connect/(.*)':
16
+ get:
17
+ tags:
18
+ - Users-Permissions - Auth
19
+ summary: Login with a provider
20
+ description: Redirects to provider login before being redirect to /auth/{provider}/callback
21
+ responses:
22
+ 301:
23
+ description: Redirect response
24
+ default:
25
+ description: Error
26
+ content:
27
+ application/json:
28
+ schema:
29
+ $ref: '#/components/schemas/Error'
30
+ /auth/local:
31
+ post:
32
+ tags:
33
+ - Users-Permissions - Auth
34
+ summary: Local login
35
+ description: Returns a jwt token and user info
36
+ requestBody:
37
+ content:
38
+ application/json:
39
+ schema:
40
+ type: object
41
+ properties:
42
+ identifier:
43
+ type: string
44
+ password:
45
+ type: string
46
+ example:
47
+ identier: foobar
48
+ password: Test1234
49
+ required: true
50
+ responses:
51
+ 200:
52
+ description: Connection
53
+ content:
54
+ application/json:
55
+ schema:
56
+ $ref: '#/components/schemas/Users-Permissions-UserRegistration'
57
+ default:
58
+ description: Error
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: '#/components/schemas/Error'
63
+ /auth/local/register:
64
+ post:
65
+ tags:
66
+ - Users-Permissions - Auth
67
+ summary: Register a user
68
+ description: Returns a jwt token and user info
69
+ requestBody:
70
+ content:
71
+ application/json:
72
+ schema:
73
+ type: object
74
+ properties:
75
+ username:
76
+ type: string
77
+ email:
78
+ type: string
79
+ password:
80
+ type: string
81
+ example:
82
+ username: foobar
83
+ email: foo.bar@strapi.io
84
+ password: Test1234
85
+ required: true
86
+ responses:
87
+ 200:
88
+ description: Successfull registration
89
+ content:
90
+ application/json:
91
+ schema:
92
+ $ref: '#/components/schemas/Users-Permissions-UserRegistration'
93
+ default:
94
+ description: Error
95
+ content:
96
+ application/json:
97
+ schema:
98
+ $ref: '#/components/schemas/Error'
99
+
100
+ /auth/{provider}/callback:
101
+ get:
102
+ tags:
103
+ - Users-Permissions - Auth
104
+ summary: Default Callback from provider auth
105
+ responses:
106
+ 200:
107
+ description: Returns a jwt token and user info
108
+ content:
109
+ application/json:
110
+ schema:
111
+ $ref: '#/components/schemas/Users-Permissions-UserRegistration'
112
+ default:
113
+ description: Error
114
+ content:
115
+ application/json:
116
+ schema:
117
+ $ref: '#/components/schemas/Error'
118
+
119
+ /auth/forgot-password:
120
+ post:
121
+ tags:
122
+ - Users-Permissions - Auth
123
+ summary: Send rest password email
124
+ requestBody:
125
+ required: true
126
+ content:
127
+ application/json:
128
+ schema:
129
+ type: object
130
+ properties:
131
+ email:
132
+ type: string
133
+ example:
134
+ email: foo.bar@strapi.io
135
+ responses:
136
+ 200:
137
+ description: Returns ok
138
+ content:
139
+ application/json:
140
+ schema:
141
+ type: object
142
+ properties:
143
+ ok:
144
+ type: enum
145
+ enum: [true]
146
+ default:
147
+ description: Error
148
+ content:
149
+ application/json:
150
+ schema:
151
+ $ref: '#/components/schemas/Error'
152
+ /auth/reset-password:
153
+ post:
154
+ tags:
155
+ - Users-Permissions - Auth
156
+ summary: Rest user password
157
+ requestBody:
158
+ required: true
159
+ content:
160
+ application/json:
161
+ schema:
162
+ type: object
163
+ properties:
164
+ password:
165
+ type: string
166
+ passwordConfirmation:
167
+ type: string
168
+ code:
169
+ type: string
170
+ example:
171
+ password: Test1234
172
+ passwordConfirmation: Test1234
173
+ code: zertyoaizndoianzodianzdonaizdoinaozdnia
174
+ responses:
175
+ 200:
176
+ description: Returns a jwt token and user info
177
+ content:
178
+ application/json:
179
+ schema:
180
+ $ref: '#/components/schemas/Users-Permissions-UserRegistration'
181
+ default:
182
+ description: Error
183
+ content:
184
+ application/json:
185
+ schema:
186
+ $ref: '#/components/schemas/Error'
187
+
188
+ /auth/change-password:
189
+ post:
190
+ tags:
191
+ - Users-Permissions - Auth
192
+ summary: Update user's own password
193
+ requestBody:
194
+ required: true
195
+ content:
196
+ application/json:
197
+ schema:
198
+ type: object
199
+ properties:
200
+ password:
201
+ required: true
202
+ type: string
203
+ currentPassword:
204
+ required: true
205
+ type: string
206
+ passwordConfirmation:
207
+ required: true
208
+ type: string
209
+ responses:
210
+ 200:
211
+ description: Returns a jwt token and user info
212
+ content:
213
+ application/json:
214
+ schema:
215
+ $ref: '#/components/schemas/Users-Permissions-UserRegistration'
216
+ default:
217
+ description: Error
218
+ content:
219
+ application/json:
220
+ schema:
221
+ $ref: '#/components/schemas/Error'
222
+
223
+ /auth/email-confirmation:
224
+ get:
225
+ tags:
226
+ - Users-Permissions - Auth
227
+ summary: Confirm user email
228
+ parameters:
229
+ - in: query
230
+ name: confirmation
231
+ type: string
232
+ description: confirmation token received by email
233
+ responses:
234
+ 301:
235
+ description: Redirects to the configure email confirmation redirect url
236
+ default:
237
+ description: Error
238
+ content:
239
+ application/json:
240
+ schema:
241
+ $ref: '#/components/schemas/Error'
242
+
243
+ /auth/send-email-confirmation:
244
+ post:
245
+ tags:
246
+ - Users-Permissions - Auth
247
+ summary: Send confirmation email
248
+ requestBody:
249
+ required: true
250
+ content:
251
+ application/json:
252
+ schema:
253
+ type: object
254
+ properties:
255
+ email:
256
+ type: string
257
+ responses:
258
+ 200:
259
+ description: Returns email and boolean to confirm email was sent
260
+ content:
261
+ application/json:
262
+ schema:
263
+ type: object
264
+ properties:
265
+ email:
266
+ type: string
267
+ sent:
268
+ type: enum
269
+ enum: [true]
270
+ default:
271
+ description: Error
272
+ content:
273
+ application/json:
274
+ schema:
275
+ $ref: '#/components/schemas/Error'
276
+
277
+ /users-permissions/permissions:
278
+ get:
279
+ tags:
280
+ - Users-Permissions - Users & Roles
281
+ summary: Get default generated permissions
282
+ responses:
283
+ 200:
284
+ description: Returns the permissions tree
285
+ content:
286
+ application/json:
287
+ schema:
288
+ type: object
289
+ properties:
290
+ permissions:
291
+ $ref: '#/components/schemas/Users-Permissions-PermissionsTree'
292
+ example:
293
+ permissions:
294
+ api::content-type.content-type:
295
+ controllers:
296
+ controllerA:
297
+ find:
298
+ enabled: false
299
+ policy: ''
300
+ findOne:
301
+ enabled: false
302
+ policy: ''
303
+ create:
304
+ enabled: false
305
+ policy: ''
306
+ controllerB:
307
+ find:
308
+ enabled: false
309
+ policy: ''
310
+ findOne:
311
+ enabled: false
312
+ policy: ''
313
+ create:
314
+ enabled: false
315
+ policy: ''
316
+ default:
317
+ description: Error
318
+ content:
319
+ application/json:
320
+ schema:
321
+ $ref: '#/components/schemas/Error'
322
+
323
+ /users-permissions/roles:
324
+ get:
325
+ tags:
326
+ - Users-Permissions - Users & Roles
327
+ summary: List roles
328
+ responses:
329
+ 200:
330
+ description: Returns list of roles
331
+ content:
332
+ application/json:
333
+ schema:
334
+ type: object
335
+ properties:
336
+ roles:
337
+ type: array
338
+ items:
339
+ allOf:
340
+ - $ref: '#/components/schemas/Users-Permissions-Role'
341
+ - type: object
342
+ properties:
343
+ nb_users:
344
+ type: number
345
+ example:
346
+ roles:
347
+ - id: 1
348
+ name: Public
349
+ description: Default role given to unauthenticated user.
350
+ type: public
351
+ createdAt: 2022-05-19T17:35:35.097Z
352
+ updatedAt: 2022-05-31T16:05:36.603Z
353
+ nb_users: 0
354
+
355
+ default:
356
+ description: Error
357
+ content:
358
+ application/json:
359
+ schema:
360
+ $ref: '#/components/schemas/Error'
361
+
362
+ post:
363
+ tags:
364
+ - Users-Permissions - Users & Roles
365
+ summary: Create a role
366
+ requestBody:
367
+ $ref: '#/components/schemas/Users-Permissions-RoleRequest'
368
+ responses:
369
+ 200:
370
+ description: Returns ok if the role was create
371
+ content:
372
+ application/json:
373
+ schema:
374
+ type: object
375
+ properties:
376
+ ok:
377
+ type: enum
378
+ enum: [true]
379
+ default:
380
+ description: Error
381
+ content:
382
+ application/json:
383
+ schema:
384
+ $ref: '#/components/schemas/Error'
385
+
386
+ /users-permissions/roles/{id}:
387
+ get:
388
+ tags:
389
+ - Users-Permissions - Users & Roles
390
+ summary: Get a role
391
+ parameters:
392
+ - in: path
393
+ name: id
394
+ type: string
395
+ description: role Id
396
+ responses:
397
+ 200:
398
+ content:
399
+ application/json:
400
+ schema:
401
+ type: object
402
+ properties:
403
+ role:
404
+ $ref: '#/components/schemas/Users-Permissions-Role'
405
+ example:
406
+ role:
407
+ id: 1
408
+ name: Public
409
+ description: Default role given to unauthenticated user.
410
+ type: public
411
+ createdAt: 2022-05-19T17:35:35.097Z
412
+ updatedAt: 2022-05-31T16:05:36.603Z
413
+ permissions:
414
+ api::content-type.content-type:
415
+ controllers:
416
+ controllerA:
417
+ find:
418
+ enabled: true
419
+ default:
420
+ description: Error
421
+ content:
422
+ application/json:
423
+ schema:
424
+ $ref: '#/components/schemas/Error'
425
+
426
+ /users-permissions/roles/{role}:
427
+ put:
428
+ tags:
429
+ - Users-Permissions - Users & Roles
430
+ summary: Update a role
431
+ parameters:
432
+ - in: path
433
+ name: role
434
+ type: string
435
+ description: role Id
436
+ requestBody:
437
+ $ref: '#/components/schemas/Users-Permissions-RoleRequest'
438
+ responses:
439
+ 200:
440
+ description: Returns ok if the role was udpated
441
+ content:
442
+ application/json:
443
+ schema:
444
+ type: object
445
+ properties:
446
+ ok:
447
+ type: enum
448
+ enum: [true]
449
+ default:
450
+ description: Error
451
+ content:
452
+ application/json:
453
+ schema:
454
+ $ref: '#/components/schemas/Error'
455
+
456
+ delete:
457
+ tags:
458
+ - Users-Permissions - Users & Roles
459
+ summary: Delete a role
460
+ parameters:
461
+ - in: path
462
+ name: role
463
+ type: string
464
+ description: role Id
465
+ responses:
466
+ 200:
467
+ description: Returns ok if the role was delete
468
+ content:
469
+ application/json:
470
+ schema:
471
+ type: object
472
+ properties:
473
+ ok:
474
+ type: enum
475
+ enum: [true]
476
+ default:
477
+ description: Error
478
+ content:
479
+ application/json:
480
+ schema:
481
+ $ref: '#/components/schemas/Error'
482
+
483
+ /users:
484
+ get:
485
+ tags:
486
+ - Users-Permissions - Users & Roles
487
+ summary: Get list of users
488
+ responses:
489
+ 200:
490
+ summary: Returns an array of users
491
+ content:
492
+ application/json:
493
+ schema:
494
+ type: array
495
+ items:
496
+ $ref: '#/components/schemas/Users-Permissions-User'
497
+ example:
498
+ - id: 9
499
+ username: foao@strapi.io
500
+ email: foao@strapi.io
501
+ provider: local
502
+ confirmed: false
503
+ blocked: false
504
+ createdAt: 2022-06-01T18:32:35.211Z
505
+ updatedAt: 2022-06-01T18:32:35.217Z
506
+ default:
507
+ description: Error
508
+ content:
509
+ application/json:
510
+ schema:
511
+ $ref: '#/components/schemas/Error'
512
+
513
+ post:
514
+ tags:
515
+ - Users-Permissions - Users & Roles
516
+ summary: Create a user
517
+ requestBody:
518
+ required: true
519
+ content:
520
+ application/json:
521
+ schema:
522
+ type: object
523
+ properties:
524
+ email:
525
+ type: string
526
+ required: true
527
+ username:
528
+ type: string
529
+ required: true
530
+ password:
531
+ type: string
532
+ required: true
533
+
534
+ example:
535
+ username: foo
536
+ email: foo@strapi.io
537
+ password: foo-password
538
+ responses:
539
+ 201:
540
+ description: Returns created user info
541
+ content:
542
+ application/json:
543
+ schema:
544
+ allOf:
545
+ - $ref: '#/components/schemas/Users-Permissions-User'
546
+ - type: object
547
+ properties:
548
+ role:
549
+ $ref: '#/components/schemas/Users-Permissions-Role'
550
+ example:
551
+ id: 1
552
+ username: foo
553
+ email: foo@strapi.io
554
+ provider: local
555
+ confirmed: false
556
+ blocked: false
557
+ createdAt: 2022-05-19T17:35:35.096Z
558
+ updatedAt: 2022-05-19T17:35:35.096Z
559
+ role:
560
+ id: 1
561
+ name: X
562
+ description: Default role given to authenticated user.
563
+ type: authenticated
564
+ createdAt: 2022-05-19T17:35:35.096Z
565
+ updatedAt: 2022-06-04T07:11:59.551Z
566
+ default:
567
+ description: Error
568
+ content:
569
+ application/json:
570
+ schema:
571
+ $ref: '#/components/schemas/Error'
572
+
573
+ /users/{id}:
574
+ get:
575
+ tags:
576
+ - Users-Permissions - Users & Roles
577
+ summary: Get a user
578
+ parameters:
579
+ - in: path
580
+ name: id
581
+ type: string
582
+ description: user Id
583
+ responses:
584
+ 200:
585
+ content:
586
+ application/json:
587
+ schema:
588
+ $ref: '#/components/schemas/Users-Permissions-User'
589
+ example:
590
+ id: 1
591
+ username: foo
592
+ email: foo@strapi.io
593
+ provider: local
594
+ confirmed: false
595
+ blocked: false
596
+ createdAt: 2022-05-19T17:35:35.096Z
597
+ updatedAt: 2022-05-19T17:35:35.096Z
598
+ default:
599
+ description: Error
600
+ content:
601
+ application/json:
602
+ schema:
603
+ $ref: '#/components/schemas/Error'
604
+
605
+ put:
606
+ tags:
607
+ - Users-Permissions - Users & Roles
608
+ summary: Update a user
609
+ parameters:
610
+ - in: path
611
+ name: id
612
+ type: string
613
+ description: user Id
614
+ requestBody:
615
+ required: true
616
+ content:
617
+ application/json:
618
+ schema:
619
+ type: object
620
+ properties:
621
+ email:
622
+ type: string
623
+ required: true
624
+ username:
625
+ type: string
626
+ required: true
627
+ password:
628
+ type: string
629
+ required: true
630
+
631
+ example:
632
+ username: foo
633
+ email: foo@strapi.io
634
+ password: foo-password
635
+ responses:
636
+ 200:
637
+ description: Returns updated user info
638
+ content:
639
+ application/json:
640
+ schema:
641
+ allOf:
642
+ - $ref: '#/components/schemas/Users-Permissions-User'
643
+ - type: object
644
+ properties:
645
+ role:
646
+ $ref: '#/components/schemas/Users-Permissions-Role'
647
+ example:
648
+ id: 1
649
+ username: foo
650
+ email: foo@strapi.io
651
+ provider: local
652
+ confirmed: false
653
+ blocked: false
654
+ createdAt: 2022-05-19T17:35:35.096Z
655
+ updatedAt: 2022-05-19T17:35:35.096Z
656
+ role:
657
+ id: 1
658
+ name: X
659
+ description: Default role given to authenticated user.
660
+ type: authenticated
661
+ createdAt: 2022-05-19T17:35:35.096Z
662
+ updatedAt: 2022-06-04T07:11:59.551Z
663
+ default:
664
+ description: Error
665
+ content:
666
+ application/json:
667
+ schema:
668
+ $ref: '#/components/schemas/Error'
669
+
670
+ delete:
671
+ tags:
672
+ - Users-Permissions - Users & Roles
673
+ summary: Delete a user
674
+ responses:
675
+ 200:
676
+ description: Returns deleted user info
677
+ content:
678
+ application/json:
679
+ schema:
680
+ allOf:
681
+ - $ref: '#/components/schemas/Users-Permissions-User'
682
+ example:
683
+ id: 1
684
+ username: foo
685
+ email: foo@strapi.io
686
+ provider: local
687
+ confirmed: false
688
+ blocked: false
689
+ createdAt: 2022-05-19T17:35:35.096Z
690
+ updatedAt: 2022-05-19T17:35:35.096Z
691
+ default:
692
+ description: Error
693
+ content:
694
+ application/json:
695
+ schema:
696
+ $ref: '#/components/schemas/Error'
697
+ /users/me:
698
+ get:
699
+ tags:
700
+ - Users-Permissions - Users & Roles
701
+ summary: Get authenticated user info
702
+ responses:
703
+ 200:
704
+ description: Returns user info
705
+ content:
706
+ application/json:
707
+ schema:
708
+ $ref: '#/components/schemas/Users-Permissions-User'
709
+ example:
710
+ id: 1
711
+ username: foo
712
+ email: foo@strapi.io
713
+ provider: local
714
+ confirmed: false
715
+ blocked: false
716
+ createdAt: 2022-05-19T17:35:35.096Z
717
+ updatedAt: 2022-05-19T17:35:35.096Z
718
+ default:
719
+ description: Error
720
+ content:
721
+ application/json:
722
+ schema:
723
+ $ref: '#/components/schemas/Error'
724
+
725
+ /users/count:
726
+ get:
727
+ tags:
728
+ - Users-Permissions - Users & Roles
729
+ summary: Get user count
730
+ responses:
731
+ 200:
732
+ description: Returns a number
733
+ content:
734
+ application/json:
735
+ schema:
736
+ type: number
737
+ example: 1
738
+ default:
739
+ description: Error
740
+ content:
741
+ application/json:
742
+ schema:
743
+ $ref: '#/components/schemas/Error'
744
+
745
+ components:
746
+ schemas:
747
+ Users-Permissions-Role:
748
+ type: object
749
+ properties:
750
+ id:
751
+ type: number
752
+ name:
753
+ type: string
754
+ description:
755
+ type: string
756
+ type:
757
+ type: string
758
+ createdAt:
759
+ type: datetime
760
+ updatedAt:
761
+ type: datetime
762
+
763
+ Users-Permissions-User:
764
+ type: object
765
+ properties:
766
+ id:
767
+ type: number
768
+ example: 1
769
+ username:
770
+ type: string
771
+ example: 'foo.bar'
772
+ email:
773
+ type: string
774
+ example: 'foo.bar@strapi.io'
775
+ provider:
776
+ type: string
777
+ example: 'local'
778
+ confirmed:
779
+ type: boolean
780
+ example: true
781
+ blocked:
782
+ type: boolean
783
+ example: false
784
+ createdAt:
785
+ type: datetime
786
+ example: '2022-06-02T08:32:06.258Z'
787
+ updatedAt:
788
+ type: datetime
789
+ example: '2022-06-02T08:32:06.267Z'
790
+
791
+ Users-Permissions-UserRegistration:
792
+ type: object
793
+ properties:
794
+ jwt:
795
+ type: string
796
+ example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c'
797
+ user:
798
+ $ref: '#/components/schemas/Users-Permissions-User'
799
+
800
+ Users-Permissions-PermissionsTree:
801
+ type: object
802
+ additionalProperties:
803
+ type: object
804
+ description: every api
805
+ properties:
806
+ controllers:
807
+ description: every controller of the api
808
+ type: object
809
+ additionalProperties:
810
+ type: object
811
+ additionalProperties:
812
+ description: every action of every controller
813
+ type: object
814
+ properties:
815
+ enabled:
816
+ type: boolean
817
+ policy:
818
+ type: string
819
+
820
+ Users-Permissions-RoleRequest:
821
+ required: true
822
+ content:
823
+ application/json:
824
+ schema:
825
+ type: object
826
+ properties:
827
+ name:
828
+ type: string
829
+ description:
830
+ type: string
831
+ type:
832
+ type: string
833
+ permissions:
834
+ $ref: '#/components/schemas/Users-Permissions-PermissionsTree'
835
+ example:
836
+ name: foo
837
+ description: role foo
838
+ permissions:
839
+ api::content-type.content-type:
840
+ controllers:
841
+ controllerA:
842
+ find:
843
+ enabled: true
844
+
845
+ parameters:
846
+ responses:
847
+ examples:
848
+ requestBodies: