@strapi/plugin-users-permissions 0.0.0-next.e21fe90bf2ab9906267ea6e6ca620bdcc729906c → 0.0.0-next.e326c69a49373b420f6566c30aca26f4b6274c6a

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 (101) hide show
  1. package/admin/src/pages/Providers/index.jsx +74 -76
  2. package/admin/src/pages/Roles/pages/CreatePage.jsx +3 -12
  3. package/admin/src/pages/Roles/pages/EditPage.jsx +3 -12
  4. package/admin/src/pages/Roles/pages/ListPage/index.jsx +91 -93
  5. package/admin/src/utils/formatPluginName.js +1 -1
  6. package/dist/admin/pages/Providers/index.js +84 -88
  7. package/dist/admin/pages/Providers/index.js.map +1 -1
  8. package/dist/admin/pages/Providers/index.mjs +84 -88
  9. package/dist/admin/pages/Providers/index.mjs.map +1 -1
  10. package/dist/admin/pages/Roles/pages/CreatePage.js +1 -1
  11. package/dist/admin/pages/Roles/pages/CreatePage.js.map +1 -1
  12. package/dist/admin/pages/Roles/pages/CreatePage.mjs +2 -2
  13. package/dist/admin/pages/Roles/pages/CreatePage.mjs.map +1 -1
  14. package/dist/admin/pages/Roles/pages/EditPage.js +1 -1
  15. package/dist/admin/pages/Roles/pages/EditPage.js.map +1 -1
  16. package/dist/admin/pages/Roles/pages/EditPage.mjs +2 -2
  17. package/dist/admin/pages/Roles/pages/EditPage.mjs.map +1 -1
  18. package/dist/admin/pages/Roles/pages/ListPage/index.js +95 -99
  19. package/dist/admin/pages/Roles/pages/ListPage/index.js.map +1 -1
  20. package/dist/admin/pages/Roles/pages/ListPage/index.mjs +95 -99
  21. package/dist/admin/pages/Roles/pages/ListPage/index.mjs.map +1 -1
  22. package/dist/admin/utils/formatPluginName.js +1 -1
  23. package/dist/admin/utils/formatPluginName.js.map +1 -1
  24. package/dist/admin/utils/formatPluginName.mjs +1 -1
  25. package/dist/admin/utils/formatPluginName.mjs.map +1 -1
  26. package/dist/server/bootstrap/index.js +28 -7
  27. package/dist/server/bootstrap/index.js.map +1 -1
  28. package/dist/server/bootstrap/index.mjs +28 -7
  29. package/dist/server/bootstrap/index.mjs.map +1 -1
  30. package/dist/server/config.js +16 -0
  31. package/dist/server/config.js.map +1 -1
  32. package/dist/server/config.mjs +16 -0
  33. package/dist/server/config.mjs.map +1 -1
  34. package/dist/server/controllers/auth.js +198 -3
  35. package/dist/server/controllers/auth.js.map +1 -1
  36. package/dist/server/controllers/auth.mjs +198 -3
  37. package/dist/server/controllers/auth.mjs.map +1 -1
  38. package/dist/server/controllers/content-manager-user.js +3 -3
  39. package/dist/server/controllers/content-manager-user.js.map +1 -1
  40. package/dist/server/controllers/content-manager-user.mjs +3 -3
  41. package/dist/server/controllers/content-manager-user.mjs.map +1 -1
  42. package/dist/server/controllers/validation/user.js +6 -1
  43. package/dist/server/controllers/validation/user.js.map +1 -1
  44. package/dist/server/controllers/validation/user.mjs +6 -1
  45. package/dist/server/controllers/validation/user.mjs.map +1 -1
  46. package/dist/server/routes/content-api/auth.js +155 -91
  47. package/dist/server/routes/content-api/auth.js.map +1 -1
  48. package/dist/server/routes/content-api/auth.mjs +155 -91
  49. package/dist/server/routes/content-api/auth.mjs.map +1 -1
  50. package/dist/server/routes/content-api/index.js +11 -9
  51. package/dist/server/routes/content-api/index.js.map +1 -1
  52. package/dist/server/routes/content-api/index.mjs +11 -9
  53. package/dist/server/routes/content-api/index.mjs.map +1 -1
  54. package/dist/server/routes/content-api/permissions.js +14 -7
  55. package/dist/server/routes/content-api/permissions.js.map +1 -1
  56. package/dist/server/routes/content-api/permissions.mjs +14 -7
  57. package/dist/server/routes/content-api/permissions.mjs.map +1 -1
  58. package/dist/server/routes/content-api/role.js +61 -27
  59. package/dist/server/routes/content-api/role.js.map +1 -1
  60. package/dist/server/routes/content-api/role.mjs +61 -27
  61. package/dist/server/routes/content-api/role.mjs.map +1 -1
  62. package/dist/server/routes/content-api/user.js +119 -57
  63. package/dist/server/routes/content-api/user.js.map +1 -1
  64. package/dist/server/routes/content-api/user.mjs +119 -57
  65. package/dist/server/routes/content-api/user.mjs.map +1 -1
  66. package/dist/server/routes/content-api/validation.js +217 -0
  67. package/dist/server/routes/content-api/validation.js.map +1 -0
  68. package/dist/server/routes/content-api/validation.mjs +215 -0
  69. package/dist/server/routes/content-api/validation.mjs.map +1 -0
  70. package/dist/server/services/constants.js +19 -0
  71. package/dist/server/services/constants.js.map +1 -0
  72. package/dist/server/services/constants.mjs +17 -0
  73. package/dist/server/services/constants.mjs.map +1 -0
  74. package/dist/server/services/jwt.js +45 -2
  75. package/dist/server/services/jwt.js.map +1 -1
  76. package/dist/server/services/jwt.mjs +45 -2
  77. package/dist/server/services/jwt.mjs.map +1 -1
  78. package/dist/server/services/user.js +29 -20
  79. package/dist/server/services/user.js.map +1 -1
  80. package/dist/server/services/user.mjs +29 -20
  81. package/dist/server/services/user.mjs.map +1 -1
  82. package/dist/server/services/users-permissions.js +4 -3
  83. package/dist/server/services/users-permissions.js.map +1 -1
  84. package/dist/server/services/users-permissions.mjs +4 -3
  85. package/dist/server/services/users-permissions.mjs.map +1 -1
  86. package/package.json +8 -7
  87. package/server/bootstrap/index.js +31 -0
  88. package/server/config.js +22 -0
  89. package/server/controllers/auth.js +232 -8
  90. package/server/controllers/content-manager-user.js +3 -4
  91. package/server/controllers/validation/user.js +12 -1
  92. package/server/routes/content-api/auth.js +119 -71
  93. package/server/routes/content-api/index.js +11 -4
  94. package/server/routes/content-api/permissions.js +14 -7
  95. package/server/routes/content-api/role.js +57 -27
  96. package/server/routes/content-api/user.js +108 -51
  97. package/server/routes/content-api/validation.js +250 -0
  98. package/server/services/constants.js +9 -0
  99. package/server/services/jwt.js +50 -2
  100. package/server/services/user.js +11 -0
  101. package/server/services/users-permissions.js +4 -2
@@ -24,7 +24,12 @@ function requireUser() {
24
24
  const updateUserBodySchema = yup.object().shape({
25
25
  email: yup.string().email().min(1),
26
26
  username: yup.string().min(1),
27
- password: yup.string().min(1),
27
+ password: yup.mixed().test('password-validation', 'Password must be at least 1 character', function validatePassword(value) {
28
+ if (value == null || value === '') {
29
+ return true;
30
+ }
31
+ return typeof value === 'string' && value.length >= 1;
32
+ }),
28
33
  role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
29
34
  connect: yup.array().of(yup.object().shape({
30
35
  id: yup.strapiID().required()
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup.string().min(1),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","disconnect","test","disconnectValue","length","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
1
+ {"version":3,"file":"user.js","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup\n .mixed()\n .test(\n 'password-validation',\n 'Password must be at least 1 character',\n function validatePassword(value) {\n if (value == null || value === '') {\n return true;\n }\n return typeof value === 'string' && value.length >= 1;\n }\n ),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","mixed","test","validatePassword","length","disconnect","disconnectValue","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
@@ -22,7 +22,12 @@ function requireUser() {
22
22
  const updateUserBodySchema = yup.object().shape({
23
23
  email: yup.string().email().min(1),
24
24
  username: yup.string().min(1),
25
- password: yup.string().min(1),
25
+ password: yup.mixed().test('password-validation', 'Password must be at least 1 character', function validatePassword(value) {
26
+ if (value == null || value === '') {
27
+ return true;
28
+ }
29
+ return typeof value === 'string' && value.length >= 1;
30
+ }),
26
31
  role: yup.lazy((value)=>typeof value === 'object' ? yup.object().shape({
27
32
  connect: yup.array().of(yup.object().shape({
28
33
  id: yup.strapiID().required()
@@ -1 +1 @@
1
- {"version":3,"file":"user.mjs","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup.string().min(1),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","disconnect","test","disconnectValue","length","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
1
+ {"version":3,"file":"user.mjs","sources":["../../../../server/controllers/validation/user.js"],"sourcesContent":["'use strict';\n\nconst { yup, validateYupSchema } = require('@strapi/utils');\n\nconst deleteRoleSchema = yup.object().shape({\n role: yup.strapiID().required(),\n});\n\nconst createUserBodySchema = yup.object().shape({\n email: yup.string().email().required(),\n username: yup.string().min(1).required(),\n password: yup.string().min(1).required(),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup\n .object()\n .shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .min(1, 'Users must have a role')\n .required(),\n })\n .required()\n : yup.strapiID().required()\n ),\n});\n\nconst updateUserBodySchema = yup.object().shape({\n email: yup.string().email().min(1),\n username: yup.string().min(1),\n password: yup\n .mixed()\n .test(\n 'password-validation',\n 'Password must be at least 1 character',\n function validatePassword(value) {\n if (value == null || value === '') {\n return true;\n }\n return typeof value === 'string' && value.length >= 1;\n }\n ),\n role: yup.lazy((value) =>\n typeof value === 'object'\n ? yup.object().shape({\n connect: yup\n .array()\n .of(yup.object().shape({ id: yup.strapiID().required() }))\n .required(),\n disconnect: yup\n .array()\n .test('CheckDisconnect', 'Cannot remove role', function test(disconnectValue) {\n if (value.connect.length === 0 && disconnectValue.length > 0) {\n return false;\n }\n\n return true;\n })\n .required(),\n })\n : yup.strapiID()\n ),\n});\n\nmodule.exports = {\n validateCreateUserBody: validateYupSchema(createUserBodySchema),\n validateUpdateUserBody: validateYupSchema(updateUserBodySchema),\n validateDeleteRoleBody: validateYupSchema(deleteRoleSchema),\n};\n"],"names":["yup","validateYupSchema","require$$0","deleteRoleSchema","object","shape","role","strapiID","required","createUserBodySchema","email","string","username","min","password","lazy","value","connect","array","of","id","updateUserBodySchema","mixed","test","validatePassword","length","disconnect","disconnectValue","user","validateCreateUserBody","validateUpdateUserBody","validateDeleteRoleBody"],"mappings":"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"}
@@ -1,102 +1,166 @@
1
1
  'use strict';
2
2
 
3
+ var validation = require('./validation.js');
4
+
3
5
  var auth;
4
6
  var hasRequiredAuth;
5
7
  function requireAuth() {
6
8
  if (hasRequiredAuth) return auth;
7
9
  hasRequiredAuth = 1;
8
- auth = [
9
- {
10
- method: 'GET',
11
- path: '/connect/(.*)',
12
- handler: 'auth.connect',
13
- config: {
14
- middlewares: [
15
- 'plugin::users-permissions.rateLimit'
16
- ],
17
- prefix: ''
18
- }
19
- },
20
- {
21
- method: 'POST',
22
- path: '/auth/local',
23
- handler: 'auth.callback',
24
- config: {
25
- middlewares: [
26
- 'plugin::users-permissions.rateLimit'
27
- ],
28
- prefix: ''
29
- }
30
- },
31
- {
32
- method: 'POST',
33
- path: '/auth/local/register',
34
- handler: 'auth.register',
35
- config: {
36
- middlewares: [
37
- 'plugin::users-permissions.rateLimit'
38
- ],
39
- prefix: ''
40
- }
41
- },
42
- {
43
- method: 'GET',
44
- path: '/auth/:provider/callback',
45
- handler: 'auth.callback',
46
- config: {
47
- prefix: ''
48
- }
49
- },
50
- {
51
- method: 'POST',
52
- path: '/auth/forgot-password',
53
- handler: 'auth.forgotPassword',
54
- config: {
55
- middlewares: [
56
- 'plugin::users-permissions.rateLimit'
57
- ],
58
- prefix: ''
59
- }
60
- },
61
- {
62
- method: 'POST',
63
- path: '/auth/reset-password',
64
- handler: 'auth.resetPassword',
65
- config: {
66
- middlewares: [
67
- 'plugin::users-permissions.rateLimit'
68
- ],
69
- prefix: ''
70
- }
71
- },
72
- {
73
- method: 'GET',
74
- path: '/auth/email-confirmation',
75
- handler: 'auth.emailConfirmation',
76
- config: {
77
- prefix: ''
78
- }
79
- },
80
- {
81
- method: 'POST',
82
- path: '/auth/send-email-confirmation',
83
- handler: 'auth.sendEmailConfirmation',
84
- config: {
85
- prefix: ''
86
- }
87
- },
88
- {
89
- method: 'POST',
90
- path: '/auth/change-password',
91
- handler: 'auth.changePassword',
92
- config: {
93
- middlewares: [
94
- 'plugin::users-permissions.rateLimit'
95
- ],
96
- prefix: ''
10
+ const { UsersPermissionsRouteValidator } = validation.__require();
11
+ auth = (strapi)=>{
12
+ const validator = new UsersPermissionsRouteValidator(strapi);
13
+ return [
14
+ {
15
+ method: 'GET',
16
+ path: '/connect/(.*)',
17
+ handler: 'auth.connect',
18
+ config: {
19
+ middlewares: [
20
+ 'plugin::users-permissions.rateLimit'
21
+ ],
22
+ prefix: ''
23
+ }
24
+ },
25
+ {
26
+ method: 'POST',
27
+ path: '/auth/local',
28
+ handler: 'auth.callback',
29
+ config: {
30
+ middlewares: [
31
+ 'plugin::users-permissions.rateLimit'
32
+ ],
33
+ prefix: ''
34
+ },
35
+ request: {
36
+ body: {
37
+ 'application/json': validator.loginBodySchema
38
+ }
39
+ },
40
+ response: validator.authResponseSchema
41
+ },
42
+ {
43
+ method: 'POST',
44
+ path: '/auth/local/register',
45
+ handler: 'auth.register',
46
+ config: {
47
+ middlewares: [
48
+ 'plugin::users-permissions.rateLimit'
49
+ ],
50
+ prefix: ''
51
+ },
52
+ request: {
53
+ body: {
54
+ 'application/json': validator.registerBodySchema
55
+ }
56
+ },
57
+ response: validator.authRegisterResponseSchema
58
+ },
59
+ {
60
+ method: 'GET',
61
+ path: '/auth/:provider/callback',
62
+ handler: 'auth.callback',
63
+ config: {
64
+ prefix: ''
65
+ },
66
+ request: {
67
+ params: {
68
+ provider: validator.providerParam
69
+ }
70
+ },
71
+ response: validator.authResponseSchema
72
+ },
73
+ {
74
+ method: 'POST',
75
+ path: '/auth/forgot-password',
76
+ handler: 'auth.forgotPassword',
77
+ config: {
78
+ middlewares: [
79
+ 'plugin::users-permissions.rateLimit'
80
+ ],
81
+ prefix: ''
82
+ },
83
+ request: {
84
+ body: {
85
+ 'application/json': validator.forgotPasswordBodySchema
86
+ }
87
+ },
88
+ response: validator.forgotPasswordResponseSchema
89
+ },
90
+ {
91
+ method: 'POST',
92
+ path: '/auth/reset-password',
93
+ handler: 'auth.resetPassword',
94
+ config: {
95
+ middlewares: [
96
+ 'plugin::users-permissions.rateLimit'
97
+ ],
98
+ prefix: ''
99
+ },
100
+ request: {
101
+ body: {
102
+ 'application/json': validator.resetPasswordBodySchema
103
+ }
104
+ },
105
+ response: validator.authResponseSchema
106
+ },
107
+ {
108
+ method: 'GET',
109
+ path: '/auth/email-confirmation',
110
+ handler: 'auth.emailConfirmation',
111
+ config: {
112
+ prefix: ''
113
+ }
114
+ },
115
+ {
116
+ method: 'POST',
117
+ path: '/auth/send-email-confirmation',
118
+ handler: 'auth.sendEmailConfirmation',
119
+ config: {
120
+ prefix: ''
121
+ },
122
+ request: {
123
+ body: {
124
+ 'application/json': validator.sendEmailConfirmationBodySchema
125
+ }
126
+ },
127
+ response: validator.sendEmailConfirmationResponseSchema
128
+ },
129
+ {
130
+ method: 'POST',
131
+ path: '/auth/change-password',
132
+ handler: 'auth.changePassword',
133
+ config: {
134
+ middlewares: [
135
+ 'plugin::users-permissions.rateLimit'
136
+ ],
137
+ prefix: ''
138
+ },
139
+ request: {
140
+ body: {
141
+ 'application/json': validator.changePasswordBodySchema
142
+ }
143
+ },
144
+ response: validator.authResponseSchema
145
+ },
146
+ {
147
+ method: 'POST',
148
+ path: '/auth/refresh',
149
+ handler: 'auth.refresh',
150
+ config: {
151
+ prefix: ''
152
+ }
153
+ },
154
+ {
155
+ method: 'POST',
156
+ path: '/auth/logout',
157
+ handler: 'auth.logout',
158
+ config: {
159
+ prefix: ''
160
+ }
97
161
  }
98
- }
99
- ];
162
+ ];
163
+ };
100
164
  return auth;
101
165
  }
102
166
 
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sources":["../../../../server/routes/content-api/auth.js"],"sourcesContent":["'use strict';\n\nmodule.exports = [\n {\n method: 'GET',\n path: '/connect/(.*)',\n handler: 'auth.connect',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/local',\n handler: 'auth.callback',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/local/register',\n handler: 'auth.register',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'GET',\n path: '/auth/:provider/callback',\n handler: 'auth.callback',\n config: {\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/forgot-password',\n handler: 'auth.forgotPassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/reset-password',\n handler: 'auth.resetPassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'GET',\n path: '/auth/email-confirmation',\n handler: 'auth.emailConfirmation',\n config: {\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/send-email-confirmation',\n handler: 'auth.sendEmailConfirmation',\n config: {\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/change-password',\n handler: 'auth.changePassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n];\n"],"names":["auth","method","path","handler","config","middlewares","prefix"],"mappings":";;;;;;;IAEAA,IAAiB,GAAA;AACf,QAAA;YACEC,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,eAAA;YACNC,OAAS,EAAA,cAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,aAAA;YACNC,OAAS,EAAA,eAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,sBAAA;YACNC,OAAS,EAAA,eAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,0BAAA;YACNC,OAAS,EAAA,eAAA;YACTC,MAAQ,EAAA;gBACNE,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,uBAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,sBAAA;YACNC,OAAS,EAAA,oBAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,KAAA;YACRC,IAAM,EAAA,0BAAA;YACNC,OAAS,EAAA,wBAAA;YACTC,MAAQ,EAAA;gBACNE,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,+BAAA;YACNC,OAAS,EAAA,4BAAA;YACTC,MAAQ,EAAA;gBACNE,MAAQ,EAAA;AACT;AACF,SAAA;AACD,QAAA;YACEL,MAAQ,EAAA,MAAA;YACRC,IAAM,EAAA,uBAAA;YACNC,OAAS,EAAA,qBAAA;YACTC,MAAQ,EAAA;gBACNC,WAAa,EAAA;AAAC,oBAAA;AAAsC,iBAAA;gBACpDC,MAAQ,EAAA;AACT;AACF;AACF,KAAA;;;;;;"}
1
+ {"version":3,"file":"auth.js","sources":["../../../../server/routes/content-api/auth.js"],"sourcesContent":["'use strict';\n\nconst { UsersPermissionsRouteValidator } = require('./validation');\n\nmodule.exports = (strapi) => {\n const validator = new UsersPermissionsRouteValidator(strapi);\n\n return [\n {\n method: 'GET',\n path: '/connect/(.*)',\n handler: 'auth.connect',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/local',\n handler: 'auth.callback',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.loginBodySchema },\n },\n response: validator.authResponseSchema,\n },\n {\n method: 'POST',\n path: '/auth/local/register',\n handler: 'auth.register',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.registerBodySchema },\n },\n response: validator.authRegisterResponseSchema,\n },\n {\n method: 'GET',\n path: '/auth/:provider/callback',\n handler: 'auth.callback',\n config: {\n prefix: '',\n },\n request: {\n params: {\n provider: validator.providerParam,\n },\n },\n response: validator.authResponseSchema,\n },\n {\n method: 'POST',\n path: '/auth/forgot-password',\n handler: 'auth.forgotPassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.forgotPasswordBodySchema },\n },\n response: validator.forgotPasswordResponseSchema,\n },\n {\n method: 'POST',\n path: '/auth/reset-password',\n handler: 'auth.resetPassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.resetPasswordBodySchema },\n },\n response: validator.authResponseSchema,\n },\n {\n method: 'GET',\n path: '/auth/email-confirmation',\n handler: 'auth.emailConfirmation',\n config: {\n prefix: '',\n },\n },\n {\n method: 'POST',\n path: '/auth/send-email-confirmation',\n handler: 'auth.sendEmailConfirmation',\n config: {\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.sendEmailConfirmationBodySchema },\n },\n response: validator.sendEmailConfirmationResponseSchema,\n },\n {\n method: 'POST',\n path: '/auth/change-password',\n handler: 'auth.changePassword',\n config: {\n middlewares: ['plugin::users-permissions.rateLimit'],\n prefix: '',\n },\n request: {\n body: { 'application/json': validator.changePasswordBodySchema },\n },\n response: validator.authResponseSchema,\n },\n {\n method: 'POST',\n path: '/auth/refresh',\n handler: 'auth.refresh',\n config: { prefix: '' },\n },\n {\n method: 'POST',\n path: '/auth/logout',\n handler: 'auth.logout',\n config: { prefix: '' },\n },\n ];\n};\n"],"names":["UsersPermissionsRouteValidator","require$$0","auth","strapi","validator","method","path","handler","config","middlewares","prefix","request","body","loginBodySchema","response","authResponseSchema","registerBodySchema","authRegisterResponseSchema","params","provider","providerParam","forgotPasswordBodySchema","forgotPasswordResponseSchema","resetPasswordBodySchema","sendEmailConfirmationBodySchema","sendEmailConfirmationResponseSchema","changePasswordBodySchema"],"mappings":"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"}
@@ -1,100 +1,164 @@
1
+ import { __require as requireValidation } from './validation.mjs';
2
+
1
3
  var auth;
2
4
  var hasRequiredAuth;
3
5
  function requireAuth() {
4
6
  if (hasRequiredAuth) return auth;
5
7
  hasRequiredAuth = 1;
6
- auth = [
7
- {
8
- method: 'GET',
9
- path: '/connect/(.*)',
10
- handler: 'auth.connect',
11
- config: {
12
- middlewares: [
13
- 'plugin::users-permissions.rateLimit'
14
- ],
15
- prefix: ''
16
- }
17
- },
18
- {
19
- method: 'POST',
20
- path: '/auth/local',
21
- handler: 'auth.callback',
22
- config: {
23
- middlewares: [
24
- 'plugin::users-permissions.rateLimit'
25
- ],
26
- prefix: ''
27
- }
28
- },
29
- {
30
- method: 'POST',
31
- path: '/auth/local/register',
32
- handler: 'auth.register',
33
- config: {
34
- middlewares: [
35
- 'plugin::users-permissions.rateLimit'
36
- ],
37
- prefix: ''
38
- }
39
- },
40
- {
41
- method: 'GET',
42
- path: '/auth/:provider/callback',
43
- handler: 'auth.callback',
44
- config: {
45
- prefix: ''
46
- }
47
- },
48
- {
49
- method: 'POST',
50
- path: '/auth/forgot-password',
51
- handler: 'auth.forgotPassword',
52
- config: {
53
- middlewares: [
54
- 'plugin::users-permissions.rateLimit'
55
- ],
56
- prefix: ''
57
- }
58
- },
59
- {
60
- method: 'POST',
61
- path: '/auth/reset-password',
62
- handler: 'auth.resetPassword',
63
- config: {
64
- middlewares: [
65
- 'plugin::users-permissions.rateLimit'
66
- ],
67
- prefix: ''
68
- }
69
- },
70
- {
71
- method: 'GET',
72
- path: '/auth/email-confirmation',
73
- handler: 'auth.emailConfirmation',
74
- config: {
75
- prefix: ''
76
- }
77
- },
78
- {
79
- method: 'POST',
80
- path: '/auth/send-email-confirmation',
81
- handler: 'auth.sendEmailConfirmation',
82
- config: {
83
- prefix: ''
84
- }
85
- },
86
- {
87
- method: 'POST',
88
- path: '/auth/change-password',
89
- handler: 'auth.changePassword',
90
- config: {
91
- middlewares: [
92
- 'plugin::users-permissions.rateLimit'
93
- ],
94
- prefix: ''
8
+ const { UsersPermissionsRouteValidator } = requireValidation();
9
+ auth = (strapi)=>{
10
+ const validator = new UsersPermissionsRouteValidator(strapi);
11
+ return [
12
+ {
13
+ method: 'GET',
14
+ path: '/connect/(.*)',
15
+ handler: 'auth.connect',
16
+ config: {
17
+ middlewares: [
18
+ 'plugin::users-permissions.rateLimit'
19
+ ],
20
+ prefix: ''
21
+ }
22
+ },
23
+ {
24
+ method: 'POST',
25
+ path: '/auth/local',
26
+ handler: 'auth.callback',
27
+ config: {
28
+ middlewares: [
29
+ 'plugin::users-permissions.rateLimit'
30
+ ],
31
+ prefix: ''
32
+ },
33
+ request: {
34
+ body: {
35
+ 'application/json': validator.loginBodySchema
36
+ }
37
+ },
38
+ response: validator.authResponseSchema
39
+ },
40
+ {
41
+ method: 'POST',
42
+ path: '/auth/local/register',
43
+ handler: 'auth.register',
44
+ config: {
45
+ middlewares: [
46
+ 'plugin::users-permissions.rateLimit'
47
+ ],
48
+ prefix: ''
49
+ },
50
+ request: {
51
+ body: {
52
+ 'application/json': validator.registerBodySchema
53
+ }
54
+ },
55
+ response: validator.authRegisterResponseSchema
56
+ },
57
+ {
58
+ method: 'GET',
59
+ path: '/auth/:provider/callback',
60
+ handler: 'auth.callback',
61
+ config: {
62
+ prefix: ''
63
+ },
64
+ request: {
65
+ params: {
66
+ provider: validator.providerParam
67
+ }
68
+ },
69
+ response: validator.authResponseSchema
70
+ },
71
+ {
72
+ method: 'POST',
73
+ path: '/auth/forgot-password',
74
+ handler: 'auth.forgotPassword',
75
+ config: {
76
+ middlewares: [
77
+ 'plugin::users-permissions.rateLimit'
78
+ ],
79
+ prefix: ''
80
+ },
81
+ request: {
82
+ body: {
83
+ 'application/json': validator.forgotPasswordBodySchema
84
+ }
85
+ },
86
+ response: validator.forgotPasswordResponseSchema
87
+ },
88
+ {
89
+ method: 'POST',
90
+ path: '/auth/reset-password',
91
+ handler: 'auth.resetPassword',
92
+ config: {
93
+ middlewares: [
94
+ 'plugin::users-permissions.rateLimit'
95
+ ],
96
+ prefix: ''
97
+ },
98
+ request: {
99
+ body: {
100
+ 'application/json': validator.resetPasswordBodySchema
101
+ }
102
+ },
103
+ response: validator.authResponseSchema
104
+ },
105
+ {
106
+ method: 'GET',
107
+ path: '/auth/email-confirmation',
108
+ handler: 'auth.emailConfirmation',
109
+ config: {
110
+ prefix: ''
111
+ }
112
+ },
113
+ {
114
+ method: 'POST',
115
+ path: '/auth/send-email-confirmation',
116
+ handler: 'auth.sendEmailConfirmation',
117
+ config: {
118
+ prefix: ''
119
+ },
120
+ request: {
121
+ body: {
122
+ 'application/json': validator.sendEmailConfirmationBodySchema
123
+ }
124
+ },
125
+ response: validator.sendEmailConfirmationResponseSchema
126
+ },
127
+ {
128
+ method: 'POST',
129
+ path: '/auth/change-password',
130
+ handler: 'auth.changePassword',
131
+ config: {
132
+ middlewares: [
133
+ 'plugin::users-permissions.rateLimit'
134
+ ],
135
+ prefix: ''
136
+ },
137
+ request: {
138
+ body: {
139
+ 'application/json': validator.changePasswordBodySchema
140
+ }
141
+ },
142
+ response: validator.authResponseSchema
143
+ },
144
+ {
145
+ method: 'POST',
146
+ path: '/auth/refresh',
147
+ handler: 'auth.refresh',
148
+ config: {
149
+ prefix: ''
150
+ }
151
+ },
152
+ {
153
+ method: 'POST',
154
+ path: '/auth/logout',
155
+ handler: 'auth.logout',
156
+ config: {
157
+ prefix: ''
158
+ }
95
159
  }
96
- }
97
- ];
160
+ ];
161
+ };
98
162
  return auth;
99
163
  }
100
164