@strapi/plugin-users-permissions 4.0.0-next.6 → 4.0.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 (196) hide show
  1. package/admin/src/components/BoundRoute/getMethodColor.js +41 -0
  2. package/admin/src/components/BoundRoute/index.js +40 -24
  3. package/admin/src/components/FormModal/Input/index.js +121 -0
  4. package/admin/src/components/FormModal/index.js +123 -0
  5. package/admin/src/components/Permissions/PermissionRow/CheckboxWrapper.js +19 -26
  6. package/admin/src/components/Permissions/PermissionRow/SubCategory.js +118 -0
  7. package/admin/src/components/Permissions/PermissionRow/index.js +9 -48
  8. package/admin/src/components/Permissions/index.js +36 -24
  9. package/admin/src/components/Permissions/init.js +1 -6
  10. package/admin/src/components/Policies/index.js +46 -47
  11. package/admin/src/components/UsersPermissions/index.js +29 -26
  12. package/admin/src/components/UsersPermissions/init.js +1 -2
  13. package/admin/src/hooks/useFetchRole/index.js +17 -7
  14. package/admin/src/hooks/useForm/index.js +3 -29
  15. package/admin/src/hooks/useForm/reducer.js +2 -21
  16. package/admin/src/hooks/usePlugins/index.js +12 -21
  17. package/admin/src/hooks/usePlugins/reducer.js +0 -3
  18. package/admin/src/index.js +29 -34
  19. package/admin/src/pages/AdvancedSettings/index.js +210 -193
  20. package/admin/src/pages/AdvancedSettings/utils/api.js +13 -0
  21. package/admin/src/pages/AdvancedSettings/utils/layout.js +96 -0
  22. package/admin/src/pages/AdvancedSettings/utils/schema.js +22 -0
  23. package/admin/src/pages/EmailTemplates/components/EmailForm.js +173 -0
  24. package/admin/src/pages/EmailTemplates/components/EmailTable.js +116 -0
  25. package/admin/src/pages/EmailTemplates/index.js +125 -198
  26. package/admin/src/pages/EmailTemplates/utils/api.js +13 -0
  27. package/admin/src/pages/Providers/index.js +208 -216
  28. package/admin/src/pages/Providers/utils/api.js +21 -0
  29. package/admin/src/pages/Providers/utils/forms.js +168 -126
  30. package/admin/src/pages/Roles/CreatePage/index.js +155 -147
  31. package/admin/src/pages/Roles/EditPage/index.js +162 -134
  32. package/admin/src/pages/Roles/ListPage/components/TableBody.js +96 -0
  33. package/admin/src/pages/Roles/ListPage/index.js +176 -156
  34. package/admin/src/pages/Roles/ListPage/utils/api.js +28 -0
  35. package/admin/src/pages/Roles/index.js +14 -8
  36. package/admin/src/permissions.js +12 -14
  37. package/admin/src/translations/ar.json +0 -8
  38. package/admin/src/translations/cs.json +0 -8
  39. package/admin/src/translations/de.json +0 -8
  40. package/admin/src/translations/dk.json +0 -8
  41. package/admin/src/translations/en.json +33 -12
  42. package/admin/src/translations/es.json +0 -8
  43. package/admin/src/translations/fr.json +0 -8
  44. package/admin/src/translations/id.json +0 -8
  45. package/admin/src/translations/it.json +0 -8
  46. package/admin/src/translations/ja.json +0 -8
  47. package/admin/src/translations/ko.json +0 -8
  48. package/admin/src/translations/ms.json +0 -8
  49. package/admin/src/translations/nl.json +0 -8
  50. package/admin/src/translations/pl.json +0 -8
  51. package/admin/src/translations/pt-BR.json +0 -8
  52. package/admin/src/translations/pt.json +0 -8
  53. package/admin/src/translations/ru.json +0 -8
  54. package/admin/src/translations/sk.json +0 -8
  55. package/admin/src/translations/sv.json +0 -8
  56. package/admin/src/translations/th.json +0 -8
  57. package/admin/src/translations/tr.json +0 -8
  58. package/admin/src/translations/uk.json +0 -8
  59. package/admin/src/translations/vi.json +0 -8
  60. package/admin/src/translations/zh-Hans.json +5 -14
  61. package/admin/src/translations/zh.json +0 -8
  62. package/admin/src/utils/axiosInstance.js +36 -0
  63. package/admin/src/utils/formatPluginName.js +26 -0
  64. package/admin/src/utils/index.js +1 -0
  65. package/documentation/1.0.0/overrides/users-permissions-Role.json +6 -6
  66. package/documentation/1.0.0/overrides/users-permissions-User.json +7 -7
  67. package/package.json +30 -29
  68. package/{config/functions/bootstrap.js → server/bootstrap/index.js} +26 -33
  69. package/{config → server/bootstrap}/users-permissions-actions.js +0 -0
  70. package/server/config.js +23 -0
  71. package/server/content-types/index.js +11 -0
  72. package/server/content-types/permission/index.js +34 -0
  73. package/server/content-types/role/index.js +51 -0
  74. package/server/content-types/user/index.js +72 -0
  75. package/{models/User.config.js → server/content-types/user/schema-config.js} +0 -0
  76. package/server/controllers/auth.js +440 -0
  77. package/server/controllers/content-manager-user.js +183 -0
  78. package/server/controllers/index.js +17 -0
  79. package/server/controllers/permissions.js +26 -0
  80. package/server/controllers/role.js +77 -0
  81. package/server/controllers/settings.js +85 -0
  82. package/server/controllers/user.js +191 -0
  83. package/server/controllers/validation/auth.js +29 -0
  84. package/{controllers → server/controllers}/validation/email-template.js +0 -0
  85. package/server/controllers/validation/user.js +38 -0
  86. package/server/graphql/index.js +44 -0
  87. package/server/graphql/mutations/auth/email-confirmation.js +39 -0
  88. package/server/graphql/mutations/auth/forgot-password.js +38 -0
  89. package/server/graphql/mutations/auth/login.js +38 -0
  90. package/server/graphql/mutations/auth/register.js +39 -0
  91. package/server/graphql/mutations/auth/reset-password.js +41 -0
  92. package/server/graphql/mutations/crud/role/create-role.js +37 -0
  93. package/server/graphql/mutations/crud/role/delete-role.js +28 -0
  94. package/server/graphql/mutations/crud/role/update-role.js +38 -0
  95. package/server/graphql/mutations/crud/user/create-user.js +48 -0
  96. package/server/graphql/mutations/crud/user/delete-user.js +42 -0
  97. package/server/graphql/mutations/crud/user/update-user.js +49 -0
  98. package/server/graphql/mutations/index.js +42 -0
  99. package/server/graphql/queries/index.js +13 -0
  100. package/server/graphql/queries/me.js +17 -0
  101. package/server/graphql/resolvers-configs.js +37 -0
  102. package/server/graphql/types/create-role-payload.js +11 -0
  103. package/server/graphql/types/delete-role-payload.js +11 -0
  104. package/server/graphql/types/index.js +21 -0
  105. package/server/graphql/types/login-input.js +13 -0
  106. package/server/graphql/types/login-payload.js +12 -0
  107. package/server/graphql/types/me-role.js +14 -0
  108. package/server/graphql/types/me.js +16 -0
  109. package/server/graphql/types/password-payload.js +11 -0
  110. package/server/graphql/types/register-input.js +13 -0
  111. package/server/graphql/types/update-role-payload.js +11 -0
  112. package/server/graphql/utils.js +27 -0
  113. package/server/index.js +21 -0
  114. package/server/middlewares/index.js +7 -0
  115. package/{config/policies → server/middlewares}/rateLimit.js +4 -8
  116. package/server/register.js +11 -0
  117. package/server/routes/admin/index.js +10 -0
  118. package/server/routes/admin/permissions.js +20 -0
  119. package/server/routes/admin/role.js +79 -0
  120. package/server/routes/admin/settings.js +95 -0
  121. package/server/routes/content-api/auth.js +73 -0
  122. package/server/routes/content-api/index.js +11 -0
  123. package/server/routes/content-api/permissions.js +9 -0
  124. package/server/routes/content-api/role.js +29 -0
  125. package/server/routes/content-api/user.js +61 -0
  126. package/server/routes/index.js +6 -0
  127. package/server/services/index.js +15 -0
  128. package/server/services/jwt.js +55 -0
  129. package/server/services/providers.js +599 -0
  130. package/server/services/role.js +177 -0
  131. package/{services → server/services}/user.js +32 -35
  132. package/server/services/users-permissions.js +233 -0
  133. package/server/strategies/users-permissions.js +123 -0
  134. package/{utils → server/utils}/index.d.ts +6 -1
  135. package/server/utils/index.js +9 -0
  136. package/strapi-admin.js +3 -0
  137. package/strapi-server.js +3 -0
  138. package/admin/src/assets/images/logo.svg +0 -1
  139. package/admin/src/components/BaselineAlignement/index.js +0 -33
  140. package/admin/src/components/Bloc/index.js +0 -10
  141. package/admin/src/components/BoundRoute/Components.js +0 -78
  142. package/admin/src/components/ContainerFluid/index.js +0 -13
  143. package/admin/src/components/FormBloc/index.js +0 -61
  144. package/admin/src/components/IntlInput/index.js +0 -38
  145. package/admin/src/components/ListBaselineAlignment/index.js +0 -8
  146. package/admin/src/components/ListRow/Components.js +0 -74
  147. package/admin/src/components/ListRow/index.js +0 -35
  148. package/admin/src/components/ModalForm/Wrapper.js +0 -12
  149. package/admin/src/components/ModalForm/index.js +0 -59
  150. package/admin/src/components/Permissions/ListWrapper.js +0 -9
  151. package/admin/src/components/Permissions/PermissionRow/BaselineAlignment.js +0 -7
  152. package/admin/src/components/Permissions/PermissionRow/RowStyle.js +0 -28
  153. package/admin/src/components/Permissions/PermissionRow/SubCategory/ConditionsButtonWrapper.js +0 -13
  154. package/admin/src/components/Permissions/PermissionRow/SubCategory/PolicyWrapper.js +0 -8
  155. package/admin/src/components/Permissions/PermissionRow/SubCategory/SubCategoryWrapper.js +0 -26
  156. package/admin/src/components/Permissions/PermissionRow/SubCategory/index.js +0 -116
  157. package/admin/src/components/Policies/Components.js +0 -26
  158. package/admin/src/components/PrefixedIcon/index.js +0 -27
  159. package/admin/src/components/Roles/EmptyRole/BaselineAlignment.js +0 -7
  160. package/admin/src/components/Roles/EmptyRole/index.js +0 -27
  161. package/admin/src/components/Roles/RoleListWrapper/index.js +0 -17
  162. package/admin/src/components/Roles/RoleRow/RoleDescription.js +0 -9
  163. package/admin/src/components/Roles/RoleRow/index.js +0 -45
  164. package/admin/src/components/Roles/index.js +0 -3
  165. package/admin/src/components/SizedInput/index.js +0 -24
  166. package/admin/src/pages/AdvancedSettings/reducer.js +0 -65
  167. package/admin/src/pages/AdvancedSettings/utils/form.js +0 -52
  168. package/admin/src/pages/EmailTemplates/CustomTextInput.js +0 -105
  169. package/admin/src/pages/EmailTemplates/Wrapper.js +0 -36
  170. package/admin/src/pages/EmailTemplates/reducer.js +0 -58
  171. package/admin/src/pages/EmailTemplates/utils/forms.js +0 -81
  172. package/admin/src/pages/Roles/ListPage/BaselineAlignment.js +0 -8
  173. package/config/layout.js +0 -10
  174. package/config/policies/isAuthenticated.js +0 -9
  175. package/config/policies/permissions.js +0 -94
  176. package/config/request.json +0 -6
  177. package/config/routes.json +0 -381
  178. package/config/schema.graphql.js +0 -284
  179. package/config/security.json +0 -5
  180. package/controllers/auth.js +0 -596
  181. package/controllers/user/admin.js +0 -230
  182. package/controllers/user/api.js +0 -174
  183. package/controllers/user.js +0 -117
  184. package/controllers/users-permissions.js +0 -271
  185. package/middlewares/users-permissions/defaults.json +0 -5
  186. package/middlewares/users-permissions/index.js +0 -40
  187. package/models/Permission.js +0 -7
  188. package/models/Permission.settings.json +0 -45
  189. package/models/Role.js +0 -7
  190. package/models/Role.settings.json +0 -43
  191. package/models/User.js +0 -7
  192. package/models/User.settings.json +0 -63
  193. package/services/jwt.js +0 -65
  194. package/services/providers.js +0 -598
  195. package/services/users-permissions.js +0 -429
  196. package/utils/index.js +0 -11
@@ -1,6 +0,0 @@
1
- {
2
- "ratelimit": {
3
- "interval": 60000,
4
- "max": 10
5
- }
6
- }
@@ -1,381 +0,0 @@
1
- {
2
- "routes": [
3
- {
4
- "method": "GET",
5
- "path": "/",
6
- "handler": "users-permissions.index",
7
- "config": {
8
- "policies": []
9
- }
10
- },
11
- {
12
- "method": "GET",
13
- "path": "/search/:id",
14
- "handler": "users-permissions.searchUsers",
15
- "config": {
16
- "policies": [],
17
- "description": "Search for users",
18
- "tag": {
19
- "plugin": "users-permissions",
20
- "name": "User",
21
- "actionType": "find"
22
- }
23
- }
24
- },
25
- {
26
- "method": "GET",
27
- "path": "/policies",
28
- "handler": "users-permissions.getPolicies",
29
- "config": {
30
- "policies": []
31
- }
32
- },
33
- {
34
- "method": "GET",
35
- "path": "/roles/:id",
36
- "handler": "users-permissions.getRole",
37
- "config": {
38
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.read"]]],
39
- "description": "Retrieve a role depending on its id",
40
- "tag": {
41
- "plugin": "users-permissions",
42
- "name": "Role",
43
- "actionType": "findOne"
44
- }
45
- }
46
- },
47
- {
48
- "method": "GET",
49
- "path": "/roles",
50
- "handler": "users-permissions.getRoles",
51
- "config": {
52
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.read"]]],
53
- "description": "Retrieve all role documents",
54
- "tag": {
55
- "plugin": "users-permissions",
56
- "name": "Role",
57
- "actionType": "find"
58
- }
59
- }
60
- },
61
- {
62
- "method": "GET",
63
- "path": "/routes",
64
- "handler": "users-permissions.getRoutes",
65
- "config": {
66
- "policies": []
67
- }
68
- },
69
- {
70
- "method": "GET",
71
- "path": "/email-templates",
72
- "handler": "users-permissions.getEmailTemplate",
73
- "config": {
74
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.email-templates.read"]]]
75
- }
76
- },
77
- {
78
- "method": "PUT",
79
- "path": "/email-templates",
80
- "handler": "users-permissions.updateEmailTemplate",
81
- "config": {
82
- "policies": [
83
- ["admin::hasPermissions", ["plugins::users-permissions.email-templates.update"]]
84
- ]
85
- }
86
- },
87
- {
88
- "method": "GET",
89
- "path": "/advanced",
90
- "handler": "users-permissions.getAdvancedSettings",
91
- "config": {
92
- "policies": [
93
- ["admin::hasPermissions", ["plugins::users-permissions.advanced-settings.read"]]
94
- ]
95
- }
96
- },
97
- {
98
- "method": "PUT",
99
- "path": "/advanced",
100
- "handler": "users-permissions.updateAdvancedSettings",
101
- "config": {
102
- "policies": [
103
- ["admin::hasPermissions", ["plugins::users-permissions.advanced-settings.update"]]
104
- ]
105
- }
106
- },
107
- {
108
- "method": "GET",
109
- "path": "/permissions",
110
- "handler": "users-permissions.getPermissions",
111
- "config": {
112
- "policies": []
113
- }
114
- },
115
- {
116
- "method": "GET",
117
- "path": "/providers",
118
- "handler": "users-permissions.getProviders",
119
- "config": {
120
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.providers.read"]]]
121
- }
122
- },
123
-
124
- {
125
- "method": "PUT",
126
- "path": "/providers",
127
- "handler": "users-permissions.updateProviders",
128
- "config": {
129
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.providers.update"]]]
130
- }
131
- },
132
- {
133
- "method": "POST",
134
- "path": "/roles",
135
- "handler": "users-permissions.createRole",
136
- "config": {
137
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.create"]]],
138
- "description": "Create a new role",
139
- "tag": {
140
- "plugin": "users-permissions",
141
- "name": "Role",
142
- "actionType": "create"
143
- }
144
- }
145
- },
146
- {
147
- "method": "PUT",
148
- "path": "/roles/:role",
149
- "handler": "users-permissions.updateRole",
150
- "config": {
151
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.update"]]],
152
- "description": "Update a role",
153
- "tag": {
154
- "plugin": "users-permissions",
155
- "name": "Role",
156
- "actionType": "update"
157
- }
158
- }
159
- },
160
- {
161
- "method": "DELETE",
162
- "path": "/roles/:role",
163
- "handler": "users-permissions.deleteRole",
164
- "config": {
165
- "policies": [["admin::hasPermissions", ["plugins::users-permissions.roles.delete"]]],
166
- "description": "Delete a role",
167
- "tag": {
168
- "plugin": "users-permissions",
169
- "name": "Role",
170
- "actionType": "destroy"
171
- }
172
- }
173
- },
174
- {
175
- "method": "GET",
176
- "path": "/connect/*",
177
- "handler": "auth.connect",
178
- "config": {
179
- "policies": ["plugins::users-permissions.ratelimit"],
180
- "prefix": "",
181
- "description": "Connect a provider",
182
- "tag": {
183
- "plugin": "users-permissions",
184
- "name": "User"
185
- }
186
- }
187
- },
188
- {
189
- "method": "POST",
190
- "path": "/auth/local",
191
- "handler": "auth.callback",
192
- "config": {
193
- "policies": ["plugins::users-permissions.ratelimit"],
194
- "prefix": "",
195
- "description": "Login a user using the identifiers email and password",
196
- "tag": {
197
- "plugin": "users-permissions",
198
- "name": "User"
199
- }
200
- }
201
- },
202
- {
203
- "method": "POST",
204
- "path": "/auth/local/register",
205
- "handler": "auth.register",
206
- "config": {
207
- "policies": ["plugins::users-permissions.ratelimit"],
208
- "prefix": "",
209
- "description": "Register a new user with the default role",
210
- "tag": {
211
- "plugin": "users-permissions",
212
- "name": "User",
213
- "actionType": "create"
214
- }
215
- }
216
- },
217
- {
218
- "method": "GET",
219
- "path": "/auth/:provider/callback",
220
- "handler": "auth.callback",
221
- "config": {
222
- "policies": [],
223
- "prefix": "",
224
- "description": "Successfull redirection after approving a provider",
225
- "tag": {
226
- "plugin": "users-permissions",
227
- "name": "User"
228
- }
229
- }
230
- },
231
- {
232
- "method": "POST",
233
- "path": "/auth/forgot-password",
234
- "handler": "auth.forgotPassword",
235
- "config": {
236
- "policies": ["plugins::users-permissions.ratelimit"],
237
- "prefix": "",
238
- "description": "Send the reset password email link",
239
- "tag": {
240
- "plugin": "users-permissions",
241
- "name": "User"
242
- }
243
- }
244
- },
245
- {
246
- "method": "POST",
247
- "path": "/auth/reset-password",
248
- "handler": "auth.resetPassword",
249
- "config": {
250
- "policies": ["plugins::users-permissions.ratelimit"],
251
- "prefix": "",
252
- "description": "Reset user password with a code (resetToken)",
253
- "tag": {
254
- "plugin": "users-permissions",
255
- "name": "User"
256
- }
257
- }
258
- },
259
- {
260
- "method": "GET",
261
- "path": "/auth/email-confirmation",
262
- "handler": "auth.emailConfirmation",
263
- "config": {
264
- "policies": [],
265
- "prefix": "",
266
- "description": "Validate a user account",
267
- "tag": {
268
- "plugin": "users-permissions",
269
- "name": "User"
270
- }
271
- }
272
- },
273
- {
274
- "method": "POST",
275
- "path": "/auth/send-email-confirmation",
276
- "handler": "auth.sendEmailConfirmation",
277
- "config": {
278
- "policies": [],
279
- "prefix": "",
280
- "description": "Send a confirmation email to user",
281
- "tag": {
282
- "plugin": "users-permissions",
283
- "name": "User"
284
- }
285
- }
286
- },
287
- {
288
- "method": "GET",
289
- "path": "/users/count",
290
- "handler": "user.count",
291
- "config": {
292
- "prefix": "",
293
- "policies": []
294
- }
295
- },
296
- {
297
- "method": "GET",
298
- "path": "/users",
299
- "handler": "user.find",
300
- "config": {
301
- "policies": [],
302
- "prefix": "",
303
- "description": "Retrieve all user documents",
304
- "tag": {
305
- "plugin": "users-permissions",
306
- "name": "User",
307
- "actionType": "find"
308
- }
309
- }
310
- },
311
- {
312
- "method": "GET",
313
- "path": "/users/me",
314
- "handler": "user.me",
315
- "config": {
316
- "policies": [],
317
- "prefix": "",
318
- "description": "Retrieve the logged in user information",
319
- "tag": {
320
- "plugin": "users-permissions",
321
- "name": "User",
322
- "actionType": "findOne"
323
- }
324
- }
325
- },
326
- {
327
- "method": "GET",
328
- "path": "/users/:id",
329
- "handler": "user.findOne",
330
- "config": {
331
- "policies": [],
332
- "prefix": "",
333
- "description": "Retrieve a single user depending on his id",
334
- "tag": {
335
- "plugin": "users-permissions",
336
- "name": "User",
337
- "actionType": "findOne"
338
- }
339
- }
340
- },
341
- {
342
- "method": "POST",
343
- "path": "/users",
344
- "handler": "user.create",
345
- "config": {
346
- "policies": [],
347
- "prefix": ""
348
- }
349
- },
350
- {
351
- "method": "PUT",
352
- "path": "/users/:id",
353
- "handler": "user.update",
354
- "config": {
355
- "policies": [],
356
- "prefix": "",
357
- "description": "Update an existing user",
358
- "tag": {
359
- "plugin": "users-permissions",
360
- "name": "User",
361
- "actionType": "update"
362
- }
363
- }
364
- },
365
- {
366
- "method": "DELETE",
367
- "path": "/users/:id",
368
- "handler": "user.destroy",
369
- "config": {
370
- "policies": [],
371
- "prefix": "",
372
- "description": "Delete an existing user",
373
- "tag": {
374
- "plugin": "users-permissions",
375
- "name": "User",
376
- "actionType": "destroy"
377
- }
378
- }
379
- }
380
- ]
381
- }
@@ -1,284 +0,0 @@
1
- 'use strict';
2
-
3
- const _ = require('lodash');
4
-
5
- /**
6
- * Throws an ApolloError if context body contains a bad request
7
- * @param contextBody - body of the context object given to the resolver
8
- * @throws ApolloError if the body is a bad request
9
- */
10
- function checkBadRequest(contextBody) {
11
- if (_.get(contextBody, 'statusCode', 200) !== 200) {
12
- const message = _.get(contextBody, 'error', 'Bad Request');
13
- const exception = new Error(message);
14
- exception.code = _.get(contextBody, 'statusCode', 400);
15
- exception.data = contextBody;
16
- throw exception;
17
- }
18
- }
19
-
20
- module.exports = {
21
- type: {
22
- UsersPermissionsPermission: false, // Make this type NOT queriable.
23
- },
24
- definition: /* GraphQL */ `
25
- type UsersPermissionsMe {
26
- id: ID!
27
- username: String!
28
- email: String!
29
- confirmed: Boolean
30
- blocked: Boolean
31
- role: UsersPermissionsMeRole
32
- }
33
-
34
- type UsersPermissionsMeRole {
35
- id: ID!
36
- name: String!
37
- description: String
38
- type: String
39
- }
40
-
41
- input UsersPermissionsRegisterInput {
42
- username: String!
43
- email: String!
44
- password: String!
45
- }
46
-
47
- input UsersPermissionsLoginInput {
48
- identifier: String!
49
- password: String!
50
- provider: String = "local"
51
- }
52
-
53
- type UsersPermissionsLoginPayload {
54
- jwt: String
55
- user: UsersPermissionsMe!
56
- }
57
-
58
- type UserPermissionsPasswordPayload {
59
- ok: Boolean!
60
- }
61
- `,
62
- query: `
63
- me: UsersPermissionsMe
64
- `,
65
- mutation: `
66
- login(input: UsersPermissionsLoginInput!): UsersPermissionsLoginPayload!
67
- register(input: UsersPermissionsRegisterInput!): UsersPermissionsLoginPayload!
68
- forgotPassword(email: String!): UserPermissionsPasswordPayload
69
- resetPassword(password: String!, passwordConfirmation: String!, code: String!): UsersPermissionsLoginPayload
70
- emailConfirmation(confirmation: String!): UsersPermissionsLoginPayload
71
- `,
72
- resolver: {
73
- Query: {
74
- me: {
75
- resolver: 'plugins::users-permissions.user.me',
76
- },
77
- role: {
78
- resolverOf: 'plugins::users-permissions.users-permissions.getRole',
79
- resolver: async (obj, options, { context }) => {
80
- context.params = { ...context.params, ...options.input };
81
-
82
- await strapi.plugins['users-permissions'].controllers['users-permissions'].getRole(
83
- context
84
- );
85
-
86
- return context.body.role;
87
- },
88
- },
89
- roles: {
90
- description: `Retrieve all the existing roles. You can't apply filters on this query.`,
91
- resolverOf: 'plugins::users-permissions.users-permissions.getRoles', // Apply the `getRoles` permissions on the resolver.
92
- resolver: async (obj, options, { context }) => {
93
- context.params = { ...context.params, ...options.input };
94
-
95
- await strapi.plugins['users-permissions'].controllers['users-permissions'].getRoles(
96
- context
97
- );
98
-
99
- return context.body.roles;
100
- },
101
- },
102
- },
103
- Mutation: {
104
- createRole: {
105
- description: 'Create a new role',
106
- resolverOf: 'plugins::users-permissions.users-permissions.createRole',
107
- resolver: async (obj, options, { context }) => {
108
- await strapi.plugins['users-permissions'].controllers['users-permissions'].createRole(
109
- context
110
- );
111
-
112
- return { ok: true };
113
- },
114
- },
115
- updateRole: {
116
- description: 'Update an existing role',
117
- resolverOf: 'plugins::users-permissions.users-permissions.updateRole',
118
- resolver: async (obj, options, { context }) => {
119
- context.params = { ...context.params, ...options.input };
120
- context.params.role = context.params.id;
121
-
122
- await strapi.plugins['users-permissions'].controllers['users-permissions'].updateRole(
123
- context
124
- );
125
-
126
- return { ok: true };
127
- },
128
- },
129
- deleteRole: {
130
- description: 'Delete an existing role',
131
- resolverOf: 'plugins::users-permissions.users-permissions.deleteRole',
132
- resolver: async (obj, options, { context }) => {
133
- context.params = { ...context.params, ...options.input };
134
- context.params.role = context.params.id;
135
-
136
- await strapi.plugins['users-permissions'].controllers['users-permissions'].deleteRole(
137
- context
138
- );
139
-
140
- return { ok: true };
141
- },
142
- },
143
- createUser: {
144
- description: 'Create a new user',
145
- resolverOf: 'plugins::users-permissions.user.create',
146
- resolver: async (obj, options, { context }) => {
147
- context.params = _.toPlainObject(options.input.where);
148
- context.request.body = _.toPlainObject(options.input.data);
149
-
150
- await strapi.plugins['users-permissions'].controllers.user.create(context);
151
-
152
- return {
153
- user: context.body.toJSON ? context.body.toJSON() : context.body,
154
- };
155
- },
156
- },
157
- updateUser: {
158
- description: 'Update an existing user',
159
- resolverOf: 'plugins::users-permissions.user.update',
160
- resolver: async (obj, options, { context }) => {
161
- context.params = _.toPlainObject(options.input.where);
162
- context.request.body = _.toPlainObject(options.input.data);
163
-
164
- await strapi.plugins['users-permissions'].controllers.user.update(context);
165
-
166
- return {
167
- user: context.body.toJSON ? context.body.toJSON() : context.body,
168
- };
169
- },
170
- },
171
- deleteUser: {
172
- description: 'Delete an existing user',
173
- resolverOf: 'plugins::users-permissions.user.destroy',
174
- resolver: async (obj, options, { context }) => {
175
- // Set parameters to context.
176
- context.params = _.toPlainObject(options.input.where);
177
- context.request.body = _.toPlainObject(options.input.data);
178
-
179
- // Retrieve user to be able to return it because
180
- // Bookshelf doesn't return the row once deleted.
181
- await strapi.plugins['users-permissions'].controllers.user.findOne(context);
182
- // Assign result to user.
183
- const user = context.body.toJSON ? context.body.toJSON() : context.body;
184
-
185
- // Run destroy query.
186
- await strapi.plugins['users-permissions'].controllers.user.destroy(context);
187
-
188
- return {
189
- user,
190
- };
191
- },
192
- },
193
- register: {
194
- description: 'Register a user',
195
- resolverOf: 'plugins::users-permissions.auth.register',
196
- resolver: async (obj, options, { context }) => {
197
- context.request.body = _.toPlainObject(options.input);
198
-
199
- await strapi.plugins['users-permissions'].controllers.auth.register(context);
200
- let output = context.body.toJSON ? context.body.toJSON() : context.body;
201
-
202
- checkBadRequest(output);
203
- return {
204
- user: output.user || output,
205
- jwt: output.jwt,
206
- };
207
- },
208
- },
209
- login: {
210
- resolverOf: 'plugins::users-permissions.auth.callback',
211
- resolver: async (obj, options, { context }) => {
212
- context.params = {
213
- ...context.params,
214
- provider: options.input.provider,
215
- };
216
- context.request.body = _.toPlainObject(options.input);
217
-
218
- await strapi.plugins['users-permissions'].controllers.auth.callback(context);
219
- let output = context.body.toJSON ? context.body.toJSON() : context.body;
220
-
221
- checkBadRequest(output);
222
- return {
223
- user: output.user || output,
224
- jwt: output.jwt,
225
- };
226
- },
227
- },
228
- forgotPassword: {
229
- description: 'Request a reset password token',
230
- resolverOf: 'plugins::users-permissions.auth.forgotPassword',
231
- resolver: async (obj, options, { context }) => {
232
- context.request.body = _.toPlainObject(options);
233
-
234
- await strapi.plugins['users-permissions'].controllers.auth.forgotPassword(context);
235
- let output = context.body.toJSON ? context.body.toJSON() : context.body;
236
-
237
- checkBadRequest(output);
238
-
239
- return {
240
- ok: output.ok || output,
241
- };
242
- },
243
- },
244
- resetPassword: {
245
- description: 'Reset user password. Confirm with a code (resetToken from forgotPassword)',
246
- resolverOf: 'plugins::users-permissions.auth.resetPassword',
247
- resolver: async (obj, options, { context }) => {
248
- context.request.body = _.toPlainObject(options);
249
-
250
- await strapi.plugins['users-permissions'].controllers.auth.resetPassword(context);
251
- let output = context.body.toJSON ? context.body.toJSON() : context.body;
252
-
253
- checkBadRequest(output);
254
-
255
- return {
256
- user: output.user || output,
257
- jwt: output.jwt,
258
- };
259
- },
260
- },
261
- emailConfirmation: {
262
- description: 'Confirm an email users email address',
263
- resolverOf: 'plugins::users-permissions.auth.emailConfirmation',
264
- resolver: async (obj, options, { context }) => {
265
- context.query = _.toPlainObject(options);
266
-
267
- await strapi.plugins['users-permissions'].controllers.auth.emailConfirmation(
268
- context,
269
- null,
270
- true
271
- );
272
- let output = context.body.toJSON ? context.body.toJSON() : context.body;
273
-
274
- checkBadRequest(output);
275
-
276
- return {
277
- user: output.user || output,
278
- jwt: output.jwt,
279
- };
280
- },
281
- },
282
- },
283
- },
284
- };
@@ -1,5 +0,0 @@
1
- {
2
- "jwt": {
3
- "expiresIn": "30d"
4
- }
5
- }