@strapi/admin 4.2.0-beta.1 → 4.2.0-beta.4

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 (166) hide show
  1. package/admin/src/assets/images/homepage-logo.png +0 -0
  2. package/admin/src/components/AutoReloadOverlayBlockerProvider/Blocker.js +2 -6
  3. package/admin/src/components/ConfigurationsProvider/index.js +51 -0
  4. package/admin/src/components/ConfigurationsProvider/reducer.js +28 -0
  5. package/admin/src/components/GuidedTour/Homepage/index.js +1 -2
  6. package/admin/src/components/GuidedTour/Modal/components/Stepper.js +1 -2
  7. package/admin/src/components/LeftMenu/index.js +19 -7
  8. package/admin/src/components/Notifications/Notification/index.js +2 -2
  9. package/admin/src/components/Providers/index.js +8 -4
  10. package/admin/src/components/UnauthenticatedLogo/index.js +4 -2
  11. package/admin/src/components/UpgradePlanModal/index.js +6 -2
  12. package/admin/src/content-manager/components/DynamicZone/components/ComponentPicker/Category/ComponentCard/index.js +1 -1
  13. package/admin/src/content-manager/components/SelectMany/ListItem.js +1 -2
  14. package/admin/src/content-manager/components/SelectWrapper/index.js +8 -7
  15. package/admin/src/content-manager/components/SelectWrapper/utils/getSelectStyles.js +1 -1
  16. package/admin/src/content-manager/components/SingleTypeFormWrapper/index.js +2 -2
  17. package/admin/src/content-manager/components/Wysiwyg/Editor.js +2 -0
  18. package/admin/src/content-manager/pages/App/LeftMenu/index.js +8 -7
  19. package/admin/src/content-manager/pages/EditSettingsView/components/ComponentFieldList.js +1 -1
  20. package/admin/src/content-manager/pages/EditSettingsView/components/LinkToCTB.js +1 -2
  21. package/admin/src/content-manager/pages/EditSettingsView/index.js +1 -2
  22. package/admin/src/content-manager/pages/EditView/Header/index.js +3 -3
  23. package/admin/src/content-manager/pages/EditView/index.js +1 -4
  24. package/admin/src/content-manager/pages/ListSettingsView/index.js +1 -2
  25. package/admin/src/content-manager/pages/ListView/index.js +1 -1
  26. package/admin/src/content-manager/pages/NoContentType/index.js +1 -2
  27. package/admin/src/pages/App/index.js +7 -2
  28. package/admin/src/pages/AuthPage/components/ForgotPassword/index.js +1 -2
  29. package/admin/src/pages/AuthPage/components/ForgotPasswordSuccess/index.js +1 -1
  30. package/admin/src/pages/AuthPage/components/Login/BaseLogin.js +1 -2
  31. package/admin/src/pages/AuthPage/components/Oops/index.js +1 -2
  32. package/admin/src/pages/AuthPage/components/Register/index.js +12 -12
  33. package/admin/src/pages/AuthPage/components/ResetPassword/index.js +3 -4
  34. package/admin/src/pages/HomePage/ContentBlocks.js +15 -2
  35. package/admin/src/pages/HomePage/HomeHeader.js +2 -2
  36. package/admin/src/pages/HomePage/SocialLinks.js +4 -3
  37. package/admin/src/pages/InternalErrorPage/index.js +1 -2
  38. package/admin/src/pages/MarketplacePage/components/PageHeader/index.js +2 -1
  39. package/admin/src/pages/MarketplacePage/components/PluginCard/index.js +4 -3
  40. package/admin/src/pages/NotFoundPage/index.js +1 -2
  41. package/admin/src/pages/SettingsPage/components/SettingsNav/index.js +5 -4
  42. package/admin/src/pages/SettingsPage/pages/ApiTokens/EditView/index.js +1 -1
  43. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/DynamicTable/UpdateButton/index.js +1 -1
  44. package/admin/src/pages/SettingsPage/pages/ApiTokens/ListView/index.js +1 -1
  45. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/index.js +85 -0
  46. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/init.js +13 -0
  47. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/Form/reducer.js +43 -0
  48. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/index.js +118 -0
  49. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/reducer.js +28 -0
  50. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoInput/stepper.js +25 -0
  51. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/AddLogoDialog.js +67 -0
  52. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromComputerForm.js +176 -0
  53. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/FromUrlForm.js +82 -0
  54. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/ImageCardAsset.js +51 -0
  55. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +97 -0
  56. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/index.js +85 -0
  57. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/reducer.js +28 -0
  58. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/index.js +155 -87
  59. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/api.js +16 -0
  60. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/constants.js +3 -0
  61. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/getFormData.js +17 -0
  62. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/parseFileMetadatas.js +76 -0
  63. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/prefixAllUrls.js +17 -0
  64. package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/utils/urlToFile.js +21 -0
  65. package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +1 -1
  66. package/admin/src/pages/SettingsPage/pages/Users/EditPage/index.js +1 -1
  67. package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/components/WebhookForm/index.js +1 -2
  68. package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +1 -1
  69. package/admin/src/translations/ca.json +699 -0
  70. package/admin/src/translations/en.json +26 -0
  71. package/admin/src/translations/languageNativeNames.js +1 -0
  72. package/admin/src/translations/ru.json +34 -0
  73. package/build/1541.6c1c96f9.chunk.js +307 -0
  74. package/build/1856.521a99fd.chunk.js +172 -0
  75. package/build/2077.51485bfb.chunk.js +194 -0
  76. package/build/2912.79c2b3c8.chunk.js +253 -0
  77. package/build/3214.9196aeff.chunk.js +235 -0
  78. package/build/3865.21cec9de.chunk.js +310 -0
  79. package/build/4073.e144a91a.chunk.js +1 -0
  80. package/build/4715.77e04177.chunk.js +385 -0
  81. package/build/{272.d442e5ca.chunk.js → 472.0350a5bd.chunk.js} +91 -102
  82. package/build/4982.f53b78a4.chunk.js +308 -0
  83. package/build/6229.a5cca9f2.chunk.js +194 -0
  84. package/build/7351.b95e65ae.chunk.js +428 -0
  85. package/build/7418.6db737ce.chunk.js +112 -0
  86. package/build/7841.f0e7d629.chunk.js +253 -0
  87. package/build/8826.58e236d4.chunk.js +1057 -0
  88. package/build/9066.118ecccd.chunk.js +101 -0
  89. package/build/{9298.dab64a1b.chunk.js → 9298.aff28744.chunk.js} +80 -91
  90. package/build/9420.cb0b75e8.chunk.js +508 -0
  91. package/build/{9988.9b6e1d79.chunk.js → 9988.f84412d9.chunk.js} +15 -14
  92. package/build/Admin-authenticatedApp.162a5805.chunk.js +80 -0
  93. package/build/Admin_homePage.0ac648e8.chunk.js +71 -0
  94. package/build/Admin_marketplace.0bb91ec8.chunk.js +11 -0
  95. package/build/Admin_settingsPage.23e873f0.chunk.js +178 -0
  96. package/build/admin-edit-roles-page.fb374555.chunk.js +1 -0
  97. package/build/admin-edit-users.a360deaf.chunk.js +10 -0
  98. package/build/api-tokens-create-page.698f132d.chunk.js +1 -0
  99. package/build/api-tokens-edit-page.afece2fe.chunk.js +1 -0
  100. package/build/api-tokens-list-page.46d96dee.chunk.js +15 -0
  101. package/build/ca-json.0097e443.chunk.js +1 -0
  102. package/build/content-manager.7cd28f84.chunk.js +1204 -0
  103. package/build/content-type-builder.7456cabe.chunk.js +141 -0
  104. package/build/{email-settings-page.d807edfd.chunk.js → email-settings-page.f67d13b2.chunk.js} +5 -5
  105. package/build/en-json.40ee00aa.chunk.js +1 -0
  106. package/build/fb376b132d18bf4522ca.png +0 -0
  107. package/build/{i18n-settings-page.c8f3b78b.chunk.js → i18n-settings-page.6b67cb75.chunk.js} +5 -5
  108. package/build/index.html +1 -1
  109. package/build/main.b632a0d6.js +11625 -0
  110. package/build/ru-json.28147733.chunk.js +1 -0
  111. package/build/runtime~main.38d418e9.js +2 -0
  112. package/build/{upload-settings.17202e3b.chunk.js → upload-settings.3db55de0.chunk.js} +5 -5
  113. package/build/upload-translation-ca-json.79159984.chunk.js +1 -0
  114. package/build/{upload.d647d59d.chunk.js → upload.070c189b.chunk.js} +5 -5
  115. package/build/{users-advanced-settings-page.22690469.chunk.js → users-advanced-settings-page.a23cda17.chunk.js} +5 -5
  116. package/build/users-roles-settings-page.988ebc3b.chunk.js +30 -0
  117. package/build/{webhook-edit-page.043fe03f.chunk.js → webhook-edit-page.a7ae6e3b.chunk.js} +3 -3
  118. package/build/webhook-list-page.83297d98.chunk.js +133 -0
  119. package/ee/admin/pages/AuthPage/components/Providers/index.js +1 -1
  120. package/ee/admin/pages/SettingsPage/pages/Roles/CreatePage/index.js +1 -1
  121. package/ee/server/controllers/user.js +4 -0
  122. package/package.json +9 -9
  123. package/server/config/admin-actions.js +14 -0
  124. package/server/controllers/admin.js +33 -1
  125. package/server/controllers/user.js +4 -0
  126. package/server/routes/admin.js +28 -0
  127. package/server/services/index.js +1 -0
  128. package/server/services/permission/permissions-manager/sanitize.js +22 -0
  129. package/server/services/project-settings.js +173 -0
  130. package/server/services/user.js +1 -1
  131. package/server/utils/index.d.ts +2 -0
  132. package/server/validation/project-settings.js +39 -0
  133. package/utils/create-cache-dir.js +2 -5
  134. package/webpack.config.js +2 -2
  135. package/admin/src/content-manager/components/DynamicComponentCard/index.js +0 -43
  136. package/build/1856.e2bce2e8.chunk.js +0 -171
  137. package/build/2481.5fe150c7.chunk.js +0 -184
  138. package/build/2912.5a7b0406.chunk.js +0 -252
  139. package/build/2a9e9ef5c4c775bb7c7b.png +0 -0
  140. package/build/306.28d21ab8.chunk.js +0 -896
  141. package/build/4073.4765687b.chunk.js +0 -1
  142. package/build/4715.7f616cf6.chunk.js +0 -387
  143. package/build/497.2ba35e90.chunk.js +0 -284
  144. package/build/4982.91235074.chunk.js +0 -310
  145. package/build/6229.f558fd19.chunk.js +0 -194
  146. package/build/6404.25d0f0d8.chunk.js +0 -508
  147. package/build/7841.0d73dde1.chunk.js +0 -252
  148. package/build/7863.996e70df.chunk.js +0 -112
  149. package/build/9853.6cc1043a.chunk.js +0 -354
  150. package/build/Admin-authenticatedApp.d26b3032.chunk.js +0 -80
  151. package/build/Admin_homePage.fc4a8408.chunk.js +0 -71
  152. package/build/Admin_marketplace.c406a140.chunk.js +0 -11
  153. package/build/Admin_settingsPage.c40fdef1.chunk.js +0 -170
  154. package/build/admin-edit-roles-page.c69fe8ab.chunk.js +0 -1
  155. package/build/admin-edit-users.be232f6b.chunk.js +0 -10
  156. package/build/api-tokens-create-page.9774f0fe.chunk.js +0 -1
  157. package/build/api-tokens-edit-page.8f03c9a1.chunk.js +0 -1
  158. package/build/api-tokens-list-page.126fbca6.chunk.js +0 -15
  159. package/build/content-manager.ca66b566.chunk.js +0 -1204
  160. package/build/content-type-builder.d12fd5cd.chunk.js +0 -141
  161. package/build/en-json.3e1a222e.chunk.js +0 -1
  162. package/build/main.36da7eeb.js +0 -7918
  163. package/build/ru-json.4560906c.chunk.js +0 -1
  164. package/build/runtime~main.251e9cca.js +0 -2
  165. package/build/users-roles-settings-page.487f3346.chunk.js +0 -30
  166. package/build/webhook-list-page.2d2d71a1.chunk.js +0 -132
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2544],{39199:(ne,L,t)=>{t.r(L),t.d(L,{default:()=>w});var e=t(32735),o=t(10938),M=t(5141),B=t(2805),u=t(9808),x=t(44526),T=t(11856),j=t(16540),y=t(90662),G=t(83281),N=t(58434),Z=t(98599),z=t.n(Z),O=t(33795),C=t.n(O),b=t(5636),$=t(23360),S=t(78330),H=t(19192),A=t(95602),V=t(90353),W=t(37178),J=t(60216),g=t.n(J);const R=({disabled:r,role:a,values:n,errors:i,onChange:d,onBlur:c})=>{const{formatMessage:s}=(0,b.useIntl)();return e.createElement(e.Fragment,null,e.createElement(u.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(y.Stack,{spacing:4},e.createElement(H.Flex,{justifyContent:"space-between"},e.createElement(u.Box,null,e.createElement(u.Box,null,e.createElement(A.Typography,{fontWeight:"bold"},a?a.name:s({id:"global.details",defaultMessage:"Details"}))),e.createElement(u.Box,null,e.createElement(A.Typography,{textColor:"neutral500",variant:"pi"},a?a.description:s({id:"Settings.roles.form.description",defaultMessage:"Name and description of the role"})))),e.createElement(x.Button,{disabled:!0,variant:"secondary"},s({id:"Settings.roles.form.button.users-with-role",defaultMessage:"{number, plural, =0 {# users} one {# user} other {# users}} with this role"},{number:a.usersCount}))),e.createElement(S.Grid,{gap:4},e.createElement(S.GridItem,{col:6},e.createElement(W.TextInput,{disabled:r,name:"name",error:i.name&&s({id:i.name}),label:s({id:"global.name",defaultMessage:"Name"}),onChange:d,onBlur:c,value:n.name||""})),e.createElement(S.GridItem,{col:6},e.createElement(V.Textarea,{disabled:r,label:s({id:"global.description",defaultMessage:"Description"}),name:"description",error:i.name&&s({id:i.name}),onChange:d,onBlur:c},n.description||""))))))};R.defaultProps={disabled:!1,role:null,values:{name:"",description:""}},R.propTypes={disabled:g().bool,errors:g().object.isRequired,onBlur:g().func.isRequired,onChange:g().func.isRequired,role:g().object,values:g().object};const K=R;var I=t(41072),F=t(5173);const Q=F.Ry().shape({name:F.Z_().required(o.translatedErrors.required)});var X=t(98399),Y=(r,a,n)=>new Promise((i,d)=>{var c=l=>{try{v(n.next(l))}catch(E){d(E)}},s=l=>{try{v(n.throw(l))}catch(E){d(E)}},v=l=>l.done?i(l.value):Promise.resolve(l.value).then(c,s);v((n=n.apply(r,a)).next())});const k=()=>{const r=(0,o.useNotification)(),{formatMessage:a}=(0,b.useIntl)(),{params:{id:n}}=(0,M.useRouteMatch)("/settings/roles/:id"),[i,d]=(0,e.useState)(!1),c=(0,e.useRef)(),{lockApp:s,unlockApp:v}=(0,o.useOverlayBlocker)(),{trackUsage:l}=(0,o.useTracking)(),{isLoading:E,data:q}=(0,I.U_)(n),{role:p,permissions:_,isLoading:U,onSubmitSucceeded:ee}=(0,I.Dq)(n),te=f=>Y(void 0,null,function*(){try{s(),d(!0);const{permissionsToSend:m,didUpdateConditions:h}=c.current.getPermissions();yield(0,o.request)(`/admin/roles/${n}`,{method:"PUT",body:f}),p.code!=="strapi-super-admin"&&(yield(0,o.request)(`/admin/roles/${n}/permissions`,{method:"PUT",body:{permissions:m}}),h&&l("didUpdateConditions")),c.current.setFormAfterSubmit(),ee({name:f.name,description:f.description}),r({type:"success",message:{id:"notification.success.saved"}})}catch(m){X.error(m.response);const h=C()(m,"response.payload.message","An error occured"),P=C()(m,"response.payload.data.permissions[0]",h);r({type:"warning",message:P})}finally{d(!1),v()}}),D=p.code==="strapi-super-admin";return e.createElement(j.Main,null,e.createElement(o.SettingsPageTitle,{name:"Roles"}),e.createElement(G.Formik,{enableReinitialize:!0,initialValues:{name:p.name,description:p.description},onSubmit:te,validationSchema:Q,validateOnChange:!1},({handleSubmit:f,values:m,errors:h,handleChange:P,handleBlur:ae})=>e.createElement("form",{onSubmit:f},e.createElement(e.Fragment,null,e.createElement(T.HeaderLayout,{primaryAction:e.createElement(y.Stack,{horizontal:!0,spacing:2},e.createElement(x.Button,{disabled:p.code==="strapi-super-admin",onClick:f,loading:i,size:"L"},a({id:"global.save",defaultMessage:"Save"}))),title:a({id:"Settings.roles.edit.title",defaultMessage:"Edit a role"}),subtitle:a({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"}),navigationAction:e.createElement(N.Link,{startIcon:e.createElement(z(),null),to:"/settings/roles"},a({id:"global.back",defaultMessage:"Back"}))}),e.createElement(T.ContentLayout,null,e.createElement(y.Stack,{spacing:6},e.createElement(K,{isLoading:U,disabled:D,errors:h,values:m,onChange:P,onBlur:ae,role:p}),!E&&!U?e.createElement(u.Box,{shadow:"filterShadow",hasRadius:!0},e.createElement($.Z,{isFormDisabled:D,permissions:_,ref:c,layout:q})):e.createElement(u.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(o.LoadingIndicatorPage,null))))))))},w=()=>{const r=(0,e.useMemo)(()=>({read:B.Z.settings.roles.read,update:B.Z.settings.roles.update}),[]),{isLoading:a,allowedActions:{canRead:n,canUpdate:i}}=(0,o.useRBAC)(r);return a?e.createElement(o.LoadingIndicatorPage,null):!n&&!i?e.createElement(M.Redirect,{to:"/"}):e.createElement(k,null)}}}]);
@@ -1,10 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4263],{29527:(V,v,e)=>{e.r(v),e.d(v,{default:()=>De});var t=e(32735),s=e(10938),o=e(5141),p=e(92891),I=e(2805),l=e(64106),C=e(10613),i=e(71745),P=e.n(i),c=e(5636),y=e(60216),D=e.n(y),Y=e(88423),S=e.n(Y),F=e(33795),Z=e.n(F),G=e(9086),z=e.n(G),U=e(84968),x=e(83281),E=e(9808),M=e(44526),u=e(78330),L=e(11856),_=e(58434),X=e(95602),A=e(16540),n=e(90662),a=e(98599),r=e.n(a),te=e(88677),k=e.n(te),B=e(13271),ne=e(16558),re=(R,W,m)=>new Promise((H,d)=>{var Q=K=>{try{b(m.next(K))}catch(J){d(J)}},N=K=>{try{b(m.throw(K))}catch(J){d(J)}},b=K=>K.done?H(K.value):Promise.resolve(K.value).then(Q,N);b((m=m.apply(R,W)).next())});const fe=R=>re(void 0,null,function*(){const{data:W}=yield ne.be.get(`/admin/users/${R}`);return W.data}),ge=(R,W)=>re(void 0,null,function*(){const{data:m}=yield ne.be.put(`/admin/users/${R}`,W);return m.data}),ve=[[{intlLabel:{id:"Auth.form.firstname.label",defaultMessage:"First name"},name:"firstname",placeholder:{id:"Auth.form.firstname.placeholder",defaultMessage:"e.g. Kai"},type:"text",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.lastname.label",defaultMessage:"Last name"},name:"lastname",placeholder:{id:"Auth.form.lastname.placeholder",defaultMessage:"e.g. Doe"},type:"text",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.email.label",defaultMessage:"Email"},name:"email",placeholder:{id:"Auth.form.email.placeholder",defaultMessage:"e.g. kai.doe@strapi.io"},type:"email",size:{col:6,xs:12},required:!0},{intlLabel:{id:"Auth.form.username.label",defaultMessage:"Username"},name:"username",placeholder:{id:"Auth.form.username.placeholder",defaultMessage:"e.g. Kai_Doe"},type:"email",size:{col:6,xs:12}}],[{intlLabel:{id:"global.password",defaultMessage:"Password"},name:"password",type:"password",size:{col:6,xs:12}},{intlLabel:{id:"Auth.form.confirmPassword.label",defaultMessage:"Password confirmation"},name:"confirmPassword",type:"password",size:{col:6,xs:12}}],[{intlLabel:{id:"Auth.form.active.label",defaultMessage:"Active"},name:"isActive",type:"bool",size:{col:6,xs:12}}]];var Pe=e(10127),Me=e(26750),Oe=e(98399),he=function(){return window&&window.strapi&&window.strapi.isEE?e(24870).Z:e(93264).Z}(),oe=["email","firstname","lastname","username","isActive","roles"],le=function(W){var m=W.canUpdate,H=(0,c.useIntl)(),d=H.formatMessage,Q=(0,o.useRouteMatch)("/settings/users/:id"),N=Q.params.id,b=(0,o.useHistory)(),K=b.push,J=(0,s.useAppInfos)(),Le=J.setUserDisplayName,ae=(0,s.useNotification)(),ie=(0,s.useOverlayBlocker)(),Ae=ie.lockApp,Te=ie.unlockApp;(0,s.useFocusWhenNavigate)();var de=(0,U.useQuery)(["user",N],function(){return fe(N)},{retry:!1,keepPreviousData:!1,staleTime:1e3*20,onError:function(f){var g=f.response.status;g===403&&(ae({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}}),K("/")),Oe.log(f.response.status)}}),Ie=de.status,T=de.data,Ce=function(){var O=(0,C.Z)(P().mark(function f(g,j){var w,ee,$,se,me;return P().wrap(function(h){for(;;)switch(h.prev=h.next){case 0:return Ae(),h.prev=1,h.next=4,ge(N,z()(g,"confirmPassword"));case 4:w=h.sent,ae({type:"success",message:d({id:"notification.success.saved",defaultMessage:"Saved"})}),ee=s.auth.getUserInfo(),N.toString()===ee.id.toString()&&(s.auth.setUserInfo(w),$=Z()(g,"username")||(0,B.Pp)(g.firstname,g.lastname),Le($)),j.setValues(S()(g,oe)),h.next=17;break;case 11:h.prev=11,h.t0=h.catch(1),se=(0,B.Iz)(h.t0.response.data),me=Object.keys(se).reduce(function(pe,Ee){return pe[Ee]=se[Ee].id,pe},{}),j.setErrors(me),ae({type:"warning",message:Z()(h.t0,"response.data.message","notification.error")});case 17:Te();case 18:case"end":return h.stop()}},f,null,[[1,11]])}));return function(g,j){return O.apply(this,arguments)}}(),ce=Ie!=="success",Ue=ce?{id:"app.containers.Users.EditPage.header.label-loading",defaultMessage:"Edit user"}:{id:"app.containers.Users.EditPage.header.label",defaultMessage:"Edit {name}"},q=Object.keys(S()(T,oe)).reduce(function(O,f){return f==="roles"?(O[f]=((T==null?void 0:T.roles)||[]).map(function(g){var j=g.id;return j}),O):(O[f]=T==null?void 0:T[f],O)},{}),_e=q.username||(0,B.Pp)(q.firstname,q.lastname),ue=d(Ue,{name:_e});return ce?t.createElement(A.Main,{"aria-busy":"true"},t.createElement(s.SettingsPageTitle,{name:"Users"}),t.createElement(L.HeaderLayout,{primaryAction:t.createElement(M.Button,{disabled:!0,startIcon:t.createElement(k(),null),type:"button",size:"L"},d({id:"global.save",defaultMessage:"Save"})),title:ue,navigationAction:t.createElement(_.Link,{startIcon:t.createElement(r(),null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},d({id:"global.back",defaultMessage:"Back"}))}),t.createElement(L.ContentLayout,null,t.createElement(s.LoadingIndicatorPage,null))):t.createElement(A.Main,null,t.createElement(s.SettingsPageTitle,{name:"Users"}),t.createElement(x.Formik,{onSubmit:Ce,initialValues:q,validateOnChange:!1,validationSchema:Pe.YM},function(O){var f=O.errors,g=O.values,j=O.handleChange,w=O.isSubmitting;return t.createElement(s.Form,null,t.createElement(L.HeaderLayout,{primaryAction:t.createElement(M.Button,{disabled:w||!m,startIcon:t.createElement(k(),null),loading:w,type:"submit",size:"L"},d({id:"global.save",defaultMessage:"Save"})),title:ue,navigationAction:t.createElement(_.Link,{startIcon:t.createElement(r(),null),to:"/settings/users?pageSize=10&page=1&sort=firstname"},d({id:"global.back",defaultMessage:"Back"}))}),t.createElement(L.ContentLayout,null,(T==null?void 0:T.registrationToken)&&t.createElement(E.Box,{paddingBottom:6},t.createElement(he,{registrationToken:T.registrationToken})),t.createElement(n.Stack,{spacing:7},t.createElement(E.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(n.Stack,{spacing:4},t.createElement(X.Typography,{variant:"delta",as:"h2"},d({id:"app.components.Users.ModalCreateBody.block-title.details",defaultMessage:"Details"})),t.createElement(u.Grid,{gap:5},ve.map(function(ee){return ee.map(function($){return t.createElement(u.GridItem,(0,l.Z)({key:$.name},$.size),t.createElement(s.GenericInput,(0,l.Z)({},$,{disabled:!m,error:f[$.name],onChange:j,value:g[$.name]||""})))})})))),t.createElement(E.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(n.Stack,{spacing:4},t.createElement(X.Typography,{variant:"delta",as:"h2"},d({id:"global.roles",defaultMessage:"User's role"})),t.createElement(u.Grid,{gap:5},t.createElement(u.GridItem,{col:6,xs:12},t.createElement(Me.Z,{disabled:!m,error:f.roles,onChange:j,value:g.roles}))))))))}))};le.propTypes={canUpdate:D().bool.isRequired};const ye=le,De=()=>{const R=(0,s.useNotification)(),W=(0,t.useMemo)(()=>({read:I.Z.settings.users.read,update:I.Z.settings.users.update}),[]),{isLoading:m,allowedActions:{canRead:H,canUpdate:d}}=(0,s.useRBAC)(W),{state:Q}=(0,o.useLocation)(),N=(0,p.get)(Q,"from","/");return(0,t.useEffect)(()=>{m||!H&&!d&&R({type:"info",message:{id:"notification.permission.not-allowed-read",defaultMessage:"You are not allowed to see this document"}})},[m,H,d,R]),m?t.createElement(s.LoadingIndicatorPage,null):!H&&!d?t.createElement(o.Redirect,{to:N}):t.createElement(ye,{canUpdate:d})}},67814:(V,v,e)=>{e.d(v,{Z:()=>Z});var t=e(32735),s=e(60216),o=e.n(s),p=e(20763),I=e.n(p),l=e(10938),C=e.n(l),i=e(68192),P=e.n(i),c=e(59087),y=e.n(c),D=e(5636),Y=e.n(D);const S=()=>t.createElement("svg",{xmlns:"http://www.w3.org/2000/svg"},t.createElement("text",{transform:"translate(-23 -9)",fill:"#4B515A",fillRule:"evenodd",fontSize:"32",fontFamily:"AppleColorEmoji, Apple Color Emoji"},t.createElement("tspan",{x:"23",y:"36"},"\u2709\uFE0F"))),F=({children:G,target:z})=>{const U=(0,l.useNotification)(),{formatMessage:x}=(0,D.useIntl)(),E=()=>{U({type:"info",message:{id:"notification.link-copied"}})},M=x({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"});return t.createElement(l.ContentBox,{endAction:t.createElement(c.CopyToClipboard,{onCopy:E,text:z},t.createElement(p.IconButton,{label:M,noBorder:!0,icon:t.createElement(P(),null)})),title:z,titleEllipsis:!0,subtitle:G,icon:t.createElement(S,null),iconBackground:"neutral100"})};F.propTypes={children:o().oneOfType([o().element,o().string]).isRequired,target:o().string.isRequired};const Z=F},93264:(V,v,e)=>{e.d(v,{Z:()=>P});var t=e(32735),s=e(5636),o=e.n(s),p=e(60216),I=e.n(p),l=e(29624),C=e(67814);const i=({registrationToken:c})=>{const{formatMessage:y}=(0,s.useIntl)(),D=`${window.location.origin}${l.Z}auth/register?registrationToken=${c}`;return t.createElement(C.Z,{target:D},y({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"}))};i.defaultProps={registrationToken:""},i.propTypes={registrationToken:I().string};const P=i},26750:(V,v,e)=>{e.d(v,{Z:()=>x});var t=e(32735),s=e(60216),o=e.n(s),p=e(5636),I=e.n(p),l=e(25716),C=e.n(l),i=e(84968),P=e.n(i),c=e(19615),y=e(103),D=e.n(y),Y=e(16558),S=(E,M,u)=>new Promise((L,_)=>{var X=a=>{try{n(u.next(a))}catch(r){_(r)}},A=a=>{try{n(u.throw(a))}catch(r){_(r)}},n=a=>a.done?L(a.value):Promise.resolve(a.value).then(X,A);n((u=u.apply(E,M)).next())});const F=c.keyframes`
2
- from {
3
- transform: rotate(0deg);
4
- }
5
- to {
6
- transform: rotate(359deg);
7
- }
8
- `,Z=c.default.div`
9
- animation: ${F} 2s infinite linear;
10
- `,G=()=>t.createElement(Z,null,t.createElement(D(),null)),z=()=>S(void 0,null,function*(){const{data:E}=yield Y.be.get("/admin/roles");return E.data}),U=({disabled:E,error:M,onChange:u,value:L})=>{const{status:_,data:X}=(0,i.useQuery)(["roles"],z,{staleTime:5e4}),{formatMessage:A}=(0,p.useIntl)(),n=M?A({id:M,defaultMessage:M}):"",a=A({id:"app.components.Users.ModalCreateBody.block-title.roles",defaultMessage:"User's roles"}),r=A({id:"app.components.Users.ModalCreateBody.block-title.roles.description",defaultMessage:"A user can have one or several roles"}),te=A({id:"app.components.Select.placeholder",defaultMessage:"Select"}),k=_==="loading"?t.createElement(G,null):void 0;return t.createElement(l.Select,{id:"roles",disabled:E,error:n,hint:r,label:a,name:"roles",onChange:B=>{u({target:{name:"roles",value:B}})},placeholder:te,multi:!0,startIcon:k,value:L,withTags:!0,required:!0},(X||[]).map(B=>t.createElement(l.Option,{key:B.id,value:B.id},B.name)))};U.defaultProps={disabled:!1,error:void 0},U.propTypes={disabled:o().bool,error:o().string,onChange:o().func.isRequired,value:o().array.isRequired};const x=U},10127:(V,v,e)=>{e.d(v,{YM:()=>A,Rw:()=>S});var t=e(5173),s=e(10938),o=Object.defineProperty,p=Object.defineProperties,I=Object.getOwnPropertyDescriptors,l=Object.getOwnPropertySymbols,C=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,P=(n,a,r)=>a in n?o(n,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[a]=r,c=(n,a)=>{for(var r in a||(a={}))C.call(a,r)&&P(n,r,a[r]);if(l)for(var r of l(a))i.call(a,r)&&P(n,r,a[r]);return n},y=(n,a)=>p(n,I(a));const D={firstname:t.nK().required(s.translatedErrors.required),lastname:t.nK(),email:t.Z_().email(s.translatedErrors.email).lowercase().required(s.translatedErrors.required),username:t.Z_().nullable(),password:t.Z_().min(8,s.translatedErrors.minLength).matches(/[a-z]/,"components.Input.error.contain.lowercase").matches(/[A-Z]/,"components.Input.error.contain.uppercase").matches(/\d/,"components.Input.error.contain.number"),confirmPassword:t.Z_().min(8,s.translatedErrors.minLength).oneOf([t.iH("password"),null],"components.Input.error.password.noMatch").when("password",(n,a)=>n?a.required(s.translatedErrors.required):a)},S=y(c({},D),{currentPassword:t.Z_().when(["password","confirmPassword"],(n,a,r)=>n||a?r.required(s.translatedErrors.required):r),preferedLanguage:t.Z_().nullable()}),Z={roles:t.IX().min(1,s.translatedErrors.required).required(s.translatedErrors.required)};var G=Object.defineProperty,z=Object.defineProperties,U=Object.getOwnPropertyDescriptors,x=Object.getOwnPropertySymbols,E=Object.prototype.hasOwnProperty,M=Object.prototype.propertyIsEnumerable,u=(n,a,r)=>a in n?G(n,a,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[a]=r,L=(n,a)=>{for(var r in a||(a={}))E.call(a,r)&&u(n,r,a[r]);if(x)for(var r of x(a))M.call(a,r)&&u(n,r,a[r]);return n},_=(n,a)=>z(n,U(a));const A=t.Ry().shape(L(_(L({},D),{isActive:t.Xg()}),Z))},24870:(V,v,e)=>{e.d(v,{Z:()=>P});var t=e(32735),s=e(5636),o=e.n(s),p=e(60216),I=e.n(p),l=e(29624),C=e(67814);const i=({registrationToken:c})=>{const{formatMessage:y}=(0,s.useIntl)();return c?t.createElement(C.Z,{target:`${window.location.origin}${l.Z}auth/register?registrationToken=${c}`},y({id:"app.components.Users.MagicLink.connect",defaultMessage:"Copy and share this link to give access to this user"})):t.createElement(C.Z,{target:`${window.location.origin}${l.Z}auth/login`},y({id:"app.components.Users.MagicLink.connect.sso",defaultMessage:"Send this link to the user, the first login can be made via a SSO provider."}))};i.defaultProps={registrationToken:""},i.propTypes={registrationToken:I().string};const P=i}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4299],{18909:function(B,E,t){(function(e,c){B.exports=c(t(32735))})(this,function(e){return function(c){var o={};function s(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return c[n].call(i.exports,i,i.exports,s),i.l=!0,i.exports}return s.m=c,s.c=o,s.d=function(n,i,d){s.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:d})},s.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},s.t=function(n,i){if(1&i&&(n=s(n)),8&i||4&i&&typeof n=="object"&&n&&n.__esModule)return n;var d=Object.create(null);if(s.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:n}),2&i&&typeof n!="string")for(var m in n)s.d(d,m,function(y){return n[y]}.bind(null,m));return d},s.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(i,"a",i),i},s.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},s.p="",s(s.s=100)}({0:function(c,o){c.exports=e},100:function(c,o,s){"use strict";s.r(o);var n=s(0);function i(){return(i=Object.assign||function(d){for(var m=1;m<arguments.length;m++){var y=arguments[m];for(var T in y)Object.prototype.hasOwnProperty.call(y,T)&&(d[T]=y[T])}return d}).apply(this,arguments)}o.default=function(d){return n.createElement("svg",i({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d),n.createElement("path",{d:"M17 14h-4.34a6 6 0 110-4H23v4h-2v4h-4v-4zM7 14a2 2 0 100-4 2 2 0 000 4z",fill:"#8E8EA9"}))}}})})},74022:(B,E,t)=>{"use strict";t.d(E,{Z:()=>de});var e=t(32735),c=t(5636),o=t(10938),s=t(11856),n=t(16540),i=t(44526),d=t(88677),m=t.n(d),y=t(98599),T=t.n(y),Z=t(58434),z=t(83281),K=t(90662),H=t(9808),$=t(95602),O=t(78330),Q=t(37178),X=t(90353),x=t(25716),J=t(33795),Y=t.n(J),N=t(5141),w=t(84968),q=t(13271),D=t(16558),L=t(5173);const _=L.Ry().shape({name:L.Z_(o.translatedErrors.string).required(o.translatedErrors.required),type:L.Z_(o.translatedErrors.string).oneOf(["read-only","full-access"]).required(o.translatedErrors.required),description:L.Z_().nullable()});var ee=t(60216),U=t.n(ee);const R=({apiTokenName:u})=>{const{formatMessage:a}=(0,c.useIntl)();return(0,o.useFocusWhenNavigate)(),e.createElement(n.Main,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:"API Tokens"}),e.createElement(s.HeaderLayout,{primaryAction:e.createElement(i.Button,{disabled:!0,startIcon:e.createElement(m(),null),type:"button",size:"L"},a({id:"global.save",defaultMessage:"Save"})),title:u||a({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),e.createElement(s.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null)))};R.defaultProps={apiTokenName:null},R.propTypes={apiTokenName:U().string};const te=R;var ne=t(20763),ae=t(68192),oe=t.n(ae),se=t(59087),ie=t(18909),le=t.n(ie);const b=({apiToken:u})=>{const{formatMessage:a}=(0,c.useIntl)(),l=(0,o.useNotification)(),{trackUsage:h}=(0,o.useTracking)(),v=(0,e.useRef)(h);return e.createElement(o.ContentBox,{endAction:u&&e.createElement("span",{style:{alignSelf:"start"}},e.createElement(se.CopyToClipboard,{onCopy:()=>{v.current("didCopyTokenKey"),l({type:"success",message:{id:"Settings.apiTokens.notification.copied"}})},text:u},e.createElement(ne.IconButton,{label:a({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:e.createElement(oe(),null),style:{padding:0,height:"1rem"}}))),title:u||a({id:"Settings.apiTokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:a(u?{id:"Settings.apiTokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.apiTokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:e.createElement(le(),null),iconBackground:"neutral100"})};b.defaultProps={apiToken:null},b.propTypes={apiToken:U().string};const re=b;var j=(u,a,l)=>new Promise((h,v)=>{var M=p=>{try{C(l.next(p))}catch(P){v(P)}},k=p=>{try{C(l.throw(p))}catch(P){v(P)}},C=p=>p.done?h(p.value):Promise.resolve(p.value).then(M,k);C((l=l.apply(u,a)).next())});const de=()=>{var u;let a;(0,o.useFocusWhenNavigate)();const{formatMessage:l}=(0,c.useIntl)(),{lockApp:h,unlockApp:v}=(0,o.useOverlayBlocker)(),M=(0,o.useNotification)(),k=(0,N.useHistory)(),{trackUsage:C}=(0,o.useTracking)(),p=(0,e.useRef)(C),{setCurrentStep:P}=(0,o.useGuidedTour)(),{params:{id:I}}=(0,N.useRouteMatch)("/settings/api-tokens/:id"),f=I==="create";(0,e.useEffect)(()=>{p.current(f?"didAddTokenFromList":"didEditTokenFromList")},[f]),(u=k.location.state)!=null&&u.apiToken.accessKey&&(a=k.location.state.apiToken);const{status:ce,data:F}=(0,w.useQuery)(["api-token",I],()=>j(void 0,null,function*(){const{data:{data:r}}=yield D.be.get(`/admin/api-tokens/${I}`);return r}),{enabled:!f&&!a,onError:()=>{M({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});F&&(a=F);const ue=(r,S)=>j(void 0,null,function*(){p.current(f?"willCreateToken":"willEditToken"),h();try{const{data:{data:g}}=f?yield D.be.post("/admin/api-tokens",r):yield D.be.put(`/admin/api-tokens/${I}`,r);a=g,M({type:"success",message:l({id:"notification.success.saved",defaultMessage:"Saved"})}),p.current(f?"didCreateToken":"didEditToken",{type:a.type}),f&&(k.replace(`/settings/api-tokens/${g.id}`,{apiToken:g}),P("apiTokens.success"))}catch(g){const A=(0,q.Iz)(g.response.data);S.setErrors(A),M({type:"warning",message:Y()(g,"response.data.message","notification.error")})}v()});return!f&&!a&&ce!=="success"?e.createElement(te,{apiTokenName:a==null?void 0:a.name}):e.createElement(n.Main,null,e.createElement(o.SettingsPageTitle,{name:"API Tokens"}),e.createElement(z.Formik,{validationSchema:_,validateOnChange:!1,initialValues:{name:(a==null?void 0:a.name)||"",description:(a==null?void 0:a.description)||"",type:(a==null?void 0:a.type)||"read-only"},onSubmit:ue},({errors:r,handleChange:S,isSubmitting:g,values:A})=>{var V,W,G;return e.createElement(o.Form,null,e.createElement(s.HeaderLayout,{title:(a==null?void 0:a.name)||l({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"}),primaryAction:e.createElement(i.Button,{disabled:g,loading:g,startIcon:e.createElement(m(),null),type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"})),navigationAction:e.createElement(Z.Link,{startIcon:e.createElement(T(),null),to:"/settings/api-tokens"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(s.ContentLayout,null,e.createElement(K.Stack,{spacing:6},Boolean(a==null?void 0:a.name)&&e.createElement(re,{apiToken:a.accessKey}),e.createElement(H.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(K.Stack,{spacing:4},e.createElement($.Typography,{variant:"delta",as:"h2"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(O.Grid,{gap:5},e.createElement(O.GridItem,{key:"name",col:6,xs:12},e.createElement(Q.TextInput,{name:"name",error:r.name?l((V=r.name)!=null&&V.id?r.name:{id:r.name,defaultMessage:r.name}):null,label:l({id:"Settings.apiTokens.form.name",defaultMessage:"Name"}),onChange:S,value:A.name,required:!0})),e.createElement(O.GridItem,{key:"description",col:6,xs:12},e.createElement(X.Textarea,{label:l({id:"Settings.apiTokens.form.description",defaultMessage:"Description"}),name:"description",error:r.description?l((W=r.description)!=null&&W.id?r.description:{id:r.description,defaultMessage:r.description}):null,onChange:S},A.description)),e.createElement(O.GridItem,{key:"type",col:6,xs:12},e.createElement(x.Select,{name:"type",label:l({id:"Settings.apiTokens.form.type",defaultMessage:"Token type"}),value:A.type,error:r.type?l((G=r.type)!=null&&G.id?r.type:{id:r.type,defaultMessage:r.type}):null,onChange:pe=>{S({target:{name:"type",value:pe}})}},e.createElement(x.Option,{value:"read-only"},l({id:"Settings.apiTokens.types.read-only",defaultMessage:"Read-only"})),e.createElement(x.Option,{value:"full-access"},l({id:"Settings.apiTokens.types.full-access",defaultMessage:"Full access"}))))))))))}))}},10606:(B,E,t)=>{"use strict";t.r(E),t.d(E,{default:()=>d});var e=t(32735),c=t(10938),o=t.n(c),s=t(2805),n=t(74022);const d=()=>e.createElement(c.CheckPagePermissions,{permissions:s.Z.settings["api-tokens"].create},e.createElement(n.Z,null))}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[92],{18909:function(B,E,t){(function(e,c){B.exports=c(t(32735))})(this,function(e){return function(c){var o={};function s(n){if(o[n])return o[n].exports;var i=o[n]={i:n,l:!1,exports:{}};return c[n].call(i.exports,i,i.exports,s),i.l=!0,i.exports}return s.m=c,s.c=o,s.d=function(n,i,d){s.o(n,i)||Object.defineProperty(n,i,{enumerable:!0,get:d})},s.r=function(n){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},s.t=function(n,i){if(1&i&&(n=s(n)),8&i||4&i&&typeof n=="object"&&n&&n.__esModule)return n;var d=Object.create(null);if(s.r(d),Object.defineProperty(d,"default",{enumerable:!0,value:n}),2&i&&typeof n!="string")for(var m in n)s.d(d,m,function(y){return n[y]}.bind(null,m));return d},s.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return s.d(i,"a",i),i},s.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)},s.p="",s(s.s=100)}({0:function(c,o){c.exports=e},100:function(c,o,s){"use strict";s.r(o);var n=s(0);function i(){return(i=Object.assign||function(d){for(var m=1;m<arguments.length;m++){var y=arguments[m];for(var T in y)Object.prototype.hasOwnProperty.call(y,T)&&(d[T]=y[T])}return d}).apply(this,arguments)}o.default=function(d){return n.createElement("svg",i({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},d),n.createElement("path",{d:"M17 14h-4.34a6 6 0 110-4H23v4h-2v4h-4v-4zM7 14a2 2 0 100-4 2 2 0 000 4z",fill:"#8E8EA9"}))}}})})},74022:(B,E,t)=>{"use strict";t.d(E,{Z:()=>de});var e=t(32735),c=t(5636),o=t(10938),s=t(11856),n=t(16540),i=t(44526),d=t(88677),m=t.n(d),y=t(98599),T=t.n(y),Z=t(58434),z=t(83281),K=t(90662),H=t(9808),$=t(95602),O=t(78330),Q=t(37178),X=t(90353),x=t(25716),J=t(33795),Y=t.n(J),N=t(5141),w=t(84968),q=t(13271),D=t(16558),L=t(5173);const _=L.Ry().shape({name:L.Z_(o.translatedErrors.string).required(o.translatedErrors.required),type:L.Z_(o.translatedErrors.string).oneOf(["read-only","full-access"]).required(o.translatedErrors.required),description:L.Z_().nullable()});var ee=t(60216),U=t.n(ee);const R=({apiTokenName:u})=>{const{formatMessage:a}=(0,c.useIntl)();return(0,o.useFocusWhenNavigate)(),e.createElement(n.Main,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:"API Tokens"}),e.createElement(s.HeaderLayout,{primaryAction:e.createElement(i.Button,{disabled:!0,startIcon:e.createElement(m(),null),type:"button",size:"L"},a({id:"global.save",defaultMessage:"Save"})),title:u||a({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),e.createElement(s.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null)))};R.defaultProps={apiTokenName:null},R.propTypes={apiTokenName:U().string};const te=R;var ne=t(20763),ae=t(68192),oe=t.n(ae),se=t(59087),ie=t(18909),le=t.n(ie);const b=({apiToken:u})=>{const{formatMessage:a}=(0,c.useIntl)(),l=(0,o.useNotification)(),{trackUsage:h}=(0,o.useTracking)(),v=(0,e.useRef)(h);return e.createElement(o.ContentBox,{endAction:u&&e.createElement("span",{style:{alignSelf:"start"}},e.createElement(se.CopyToClipboard,{onCopy:()=>{v.current("didCopyTokenKey"),l({type:"success",message:{id:"Settings.apiTokens.notification.copied"}})},text:u},e.createElement(ne.IconButton,{label:a({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:e.createElement(oe(),null),style:{padding:0,height:"1rem"}}))),title:u||a({id:"Settings.apiTokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:a(u?{id:"Settings.apiTokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.apiTokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:e.createElement(le(),null),iconBackground:"neutral100"})};b.defaultProps={apiToken:null},b.propTypes={apiToken:U().string};const re=b;var j=(u,a,l)=>new Promise((h,v)=>{var M=p=>{try{C(l.next(p))}catch(P){v(P)}},k=p=>{try{C(l.throw(p))}catch(P){v(P)}},C=p=>p.done?h(p.value):Promise.resolve(p.value).then(M,k);C((l=l.apply(u,a)).next())});const de=()=>{var u;let a;(0,o.useFocusWhenNavigate)();const{formatMessage:l}=(0,c.useIntl)(),{lockApp:h,unlockApp:v}=(0,o.useOverlayBlocker)(),M=(0,o.useNotification)(),k=(0,N.useHistory)(),{trackUsage:C}=(0,o.useTracking)(),p=(0,e.useRef)(C),{setCurrentStep:P}=(0,o.useGuidedTour)(),{params:{id:I}}=(0,N.useRouteMatch)("/settings/api-tokens/:id"),f=I==="create";(0,e.useEffect)(()=>{p.current(f?"didAddTokenFromList":"didEditTokenFromList")},[f]),(u=k.location.state)!=null&&u.apiToken.accessKey&&(a=k.location.state.apiToken);const{status:ce,data:F}=(0,w.useQuery)(["api-token",I],()=>j(void 0,null,function*(){const{data:{data:r}}=yield D.be.get(`/admin/api-tokens/${I}`);return r}),{enabled:!f&&!a,onError:()=>{M({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});F&&(a=F);const ue=(r,S)=>j(void 0,null,function*(){p.current(f?"willCreateToken":"willEditToken"),h();try{const{data:{data:g}}=f?yield D.be.post("/admin/api-tokens",r):yield D.be.put(`/admin/api-tokens/${I}`,r);a=g,M({type:"success",message:l({id:"notification.success.saved",defaultMessage:"Saved"})}),p.current(f?"didCreateToken":"didEditToken",{type:a.type}),f&&(k.replace(`/settings/api-tokens/${g.id}`,{apiToken:g}),P("apiTokens.success"))}catch(g){const A=(0,q.Iz)(g.response.data);S.setErrors(A),M({type:"warning",message:Y()(g,"response.data.message","notification.error")})}v()});return!f&&!a&&ce!=="success"?e.createElement(te,{apiTokenName:a==null?void 0:a.name}):e.createElement(n.Main,null,e.createElement(o.SettingsPageTitle,{name:"API Tokens"}),e.createElement(z.Formik,{validationSchema:_,validateOnChange:!1,initialValues:{name:(a==null?void 0:a.name)||"",description:(a==null?void 0:a.description)||"",type:(a==null?void 0:a.type)||"read-only"},onSubmit:ue},({errors:r,handleChange:S,isSubmitting:g,values:A})=>{var V,W,G;return e.createElement(o.Form,null,e.createElement(s.HeaderLayout,{title:(a==null?void 0:a.name)||l({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"}),primaryAction:e.createElement(i.Button,{disabled:g,loading:g,startIcon:e.createElement(m(),null),type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"})),navigationAction:e.createElement(Z.Link,{startIcon:e.createElement(T(),null),to:"/settings/api-tokens"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(s.ContentLayout,null,e.createElement(K.Stack,{spacing:6},Boolean(a==null?void 0:a.name)&&e.createElement(re,{apiToken:a.accessKey}),e.createElement(H.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(K.Stack,{spacing:4},e.createElement($.Typography,{variant:"delta",as:"h2"},l({id:"global.details",defaultMessage:"Details"})),e.createElement(O.Grid,{gap:5},e.createElement(O.GridItem,{key:"name",col:6,xs:12},e.createElement(Q.TextInput,{name:"name",error:r.name?l((V=r.name)!=null&&V.id?r.name:{id:r.name,defaultMessage:r.name}):null,label:l({id:"Settings.apiTokens.form.name",defaultMessage:"Name"}),onChange:S,value:A.name,required:!0})),e.createElement(O.GridItem,{key:"description",col:6,xs:12},e.createElement(X.Textarea,{label:l({id:"Settings.apiTokens.form.description",defaultMessage:"Description"}),name:"description",error:r.description?l((W=r.description)!=null&&W.id?r.description:{id:r.description,defaultMessage:r.description}):null,onChange:S},A.description)),e.createElement(O.GridItem,{key:"type",col:6,xs:12},e.createElement(x.Select,{name:"type",label:l({id:"Settings.apiTokens.form.type",defaultMessage:"Token type"}),value:A.type,error:r.type?l((G=r.type)!=null&&G.id?r.type:{id:r.type,defaultMessage:r.type}):null,onChange:pe=>{S({target:{name:"type",value:pe}})}},e.createElement(x.Option,{value:"read-only"},l({id:"Settings.apiTokens.types.read-only",defaultMessage:"Read-only"})),e.createElement(x.Option,{value:"full-access"},l({id:"Settings.apiTokens.types.full-access",defaultMessage:"Full access"}))))))))))}))}},30421:(B,E,t)=>{"use strict";t.r(E),t.d(E,{default:()=>d});var e=t(32735),c=t(10938),o=t.n(c),s=t(2805),n=t(74022);const d=()=>e.createElement(c.CheckPagePermissions,{permissions:s.Z.settings["api-tokens"].update},e.createElement(n.Z,null))}}]);
@@ -1,15 +0,0 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8056],{69837:(Pe,L,a)=>{a.r(L),a.d(L,{default:()=>ge});var e=a(32735),s=a(10938),I=a(2805),E=a(5636),B=a(11856),F=a(16540),H=a(44526),j=a(74064),Q=a(59290),M=a.n(Q),k=a(84968),C=a(5141),W=a(16308),Z=a.n(W),O=a(16558);const z=[{name:"name",key:"name",metadatas:{label:"Name",sortable:!0}},{name:"description",key:"description",metadatas:{label:"Description",sortable:!1}},{name:"type",key:"type",metadatas:{label:"Token type",sortable:!1}},{name:"createdAt",key:"createdAt",metadatas:{label:"Created at",sortable:!1}}];var h=a(95602),y=a(53214),G=a(19192),Y=a(60216),i=a.n(Y),J=a(76470),K=a.n(J),X=a(20763),q=a(9808),_=Object.defineProperty,S=Object.getOwnPropertySymbols,ee=Object.prototype.hasOwnProperty,te=Object.prototype.propertyIsEnumerable,N=(o,t,n)=>t in o?_(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,ne=(o,t)=>{for(var n in t||(t={}))ee.call(t,n)&&N(o,n,t[n]);if(S)for(var n of S(t))te.call(t,n)&&N(o,n,t[n]);return o};const w=({tokenName:o,onClickDelete:t})=>{const{formatMessage:n}=(0,E.useIntl)(),{trackUsage:c}=(0,s.useTracking)();return e.createElement(q.Box,ne({paddingLeft:1},s.stopPropagation),e.createElement(X.IconButton,{onClick:()=>{c("willDeleteToken"),t()},label:n({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${o}`}),noBorder:!0,icon:e.createElement(K(),null)}))};w.propTypes={tokenName:i().string.isRequired,onClickDelete:i().func.isRequired};const ae=w;var oe=a(95717),se=a.n(oe),le=a(58434),re=a(19615);const ie=(0,re.default)(le.Link)`
2
- svg {
3
- path {
4
- fill: ${({theme:o})=>o.colors.neutral500};
5
- }
6
- }
7
-
8
- &:hover {
9
- svg {
10
- path {
11
- fill: ${({theme:o})=>o.colors.neutral800};
12
- }
13
- }
14
- }
15
- `,R=({tokenName:o,tokenId:t})=>{const{formatMessage:n}=(0,E.useIntl)(),{location:{pathname:c}}=(0,C.useHistory)();return e.createElement(ie,{to:`${c}/${t}`,title:n({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${o}`})},e.createElement(se(),null))};R.propTypes={tokenName:i().string.isRequired,tokenId:i().oneOfType([i().string,i().number]).isRequired};const ce=R;var de=Object.defineProperty,$=Object.getOwnPropertySymbols,ue=Object.prototype.hasOwnProperty,me=Object.prototype.propertyIsEnumerable,x=(o,t,n)=>t in o?de(o,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):o[t]=n,pe=(o,t)=>{for(var n in t||(t={}))ue.call(t,n)&&x(o,n,t[n]);if($)for(var n of $(t))me.call(t,n)&&x(o,n,t[n]);return o};const D=({canDelete:o,canUpdate:t,onClickDelete:n,withBulkActions:c,rows:m})=>{const{formatMessage:f}=(0,E.useIntl)(),[{query:d}]=(0,s.useQueryParams)(),[,p]=d.sort.split(":"),{push:r,location:{pathname:g}}=(0,C.useHistory)(),{trackUsage:P}=(0,s.useTracking)(),v=m.sort((l,b)=>{const T=l.name.localeCompare(b.name);return p==="DESC"?-T:T});return e.createElement(y.Tbody,null,v.map(l=>e.createElement(y.Tr,pe({key:l.id},(0,s.onRowClick)({fn:()=>{P("willEditTokenFromList"),r(`${g}/${l.id}`)},condition:t})),e.createElement(y.Td,null,e.createElement(h.Typography,{textColor:"neutral800",fontWeight:"bold"},l.name)),e.createElement(y.Td,{maxWidth:(0,s.pxToRem)(250)},e.createElement(h.Typography,{textColor:"neutral800",ellipsis:!0},l.description)),e.createElement(y.Td,null,e.createElement(h.Typography,{textColor:"neutral800"},f({id:`Settings.apiTokens.types.${l.type}`,defaultMessage:"Type unknown"}))),e.createElement(y.Td,null,e.createElement(h.Typography,{textColor:"neutral800"},e.createElement(s.RelativeTime,{timestamp:new Date(l.createdAt)}))),c&&e.createElement(y.Td,null,e.createElement(G.Flex,{justifyContent:"end"},t&&e.createElement(ce,{tokenName:l.name,tokenId:l.id}),o&&e.createElement(ae,{tokenName:l.name,onClickDelete:()=>n(l.id)}))))))};D.defaultProps={canDelete:!1,canUpdate:!1,onClickDelete:()=>{},rows:[],withBulkActions:!1},D.propTypes={canDelete:i().bool,canUpdate:i().bool,onClickDelete:i().func,rows:i().array,withBulkActions:i().bool};const ye=D;var A=(o,t,n)=>new Promise((c,m)=>{var f=r=>{try{p(n.next(r))}catch(g){m(g)}},d=r=>{try{p(n.throw(r))}catch(g){m(g)}},p=r=>r.done?c(r.value):Promise.resolve(r.value).then(f,d);p((n=n.apply(o,t)).next())});const fe=()=>{(0,s.useFocusWhenNavigate)();const o=(0,k.useQueryClient)(),{formatMessage:t}=(0,E.useIntl)(),n=(0,s.useNotification)(),{allowedActions:{canCreate:c,canDelete:m,canUpdate:f,canRead:d}}=(0,s.useRBAC)(I.Z.settings["api-tokens"]),{push:p}=(0,C.useHistory)(),{trackUsage:r}=(0,s.useTracking)(),{startSection:g}=(0,s.useGuidedTour)(),P=(0,e.useRef)(g);(0,e.useEffect)(()=>{P.current&&P.current("apiTokens")},[]),(0,e.useEffect)(()=>{p({search:Z().stringify({sort:"name:ASC"},{encode:!1})})},[p]);const{data:v,status:l,isFetching:b}=(0,k.useQuery)(["api-tokens"],()=>A(void 0,null,function*(){r("willAccessTokenList");const{data:{data:u}}=yield O.be.get("/admin/api-tokens");return r("didAccessTokenList",{number:u.length}),u}),{enabled:d,onError:()=>{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),T=d&&(l!=="success"&&l!=="error"||l==="success"&&b),ve=(0,k.useMutation)(u=>A(void 0,null,function*(){yield O.be.delete(`/admin/api-tokens/${u}`)}),{onSuccess:()=>A(void 0,null,function*(){yield o.invalidateQueries(["api-tokens"]),r("didDeleteToken")}),onError:u=>{var U,V;(V=(U=u==null?void 0:u.response)==null?void 0:U.data)!=null&&V.data?n({type:"warning",message:u.response.data.data}):n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Te=d&&v,Ee=d&&!v&&!c,he=d&&!v&&c;return e.createElement(F.Main,{"aria-busy":T},e.createElement(s.SettingsPageTitle,{name:"API Tokens"}),e.createElement(B.HeaderLayout,{title:t({id:"Settings.apiTokens.title",defaultMessage:"API Tokens"}),subtitle:t({id:"Settings.apiTokens.description",defaultMessage:"List of generated tokens to consume the API"}),primaryAction:c?e.createElement(j.LinkButton,{"data-testid":"create-api-token-button",startIcon:e.createElement(M(),null),size:"L",onClick:()=>r("willAddTokenFromList"),to:"/settings/api-tokens/create"},t({id:"Settings.apiTokens.create",defaultMessage:"Create new API Token"})):void 0}),e.createElement(B.ContentLayout,null,!d&&e.createElement(s.NoPermissions,null),Te&&e.createElement(s.DynamicTable,{headers:z,contentType:"api-tokens",rows:v,withBulkActions:m||f,isLoading:T,onConfirmDelete:u=>ve.mutateAsync(u)},e.createElement(ye,{canDelete:m,canUpdate:f,rows:v,withBulkActions:m||f})),he&&e.createElement(s.NoContent,{content:{id:"Settings.apiTokens.addFirstToken",defaultMessage:"Add your first API Token"},action:e.createElement(H.Button,{variant:"secondary",startIcon:e.createElement(M(),null)},t({id:"Settings.apiTokens.addNewToken",defaultMessage:"Add new API Token"}))}),Ee&&e.createElement(s.NoContent,{content:{id:"Settings.apiTokens.emptyStateLayout",defaultMessage:"You don\u2019t have any content yet..."}})))},ge=()=>e.createElement(s.CheckPagePermissions,{permissions:I.Z.settings["api-tokens"].main},e.createElement(fe,null))}}]);