@strapi/admin 4.2.2 → 4.2.3

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 (82) hide show
  1. package/admin/src/content-manager/components/DynamicTable/CellContent/utils/hasContent.js +1 -1
  2. package/admin/src/content-manager/components/EditViewDataManagerProvider/index.js +7 -13
  3. package/admin/src/content-manager/components/EditViewDataManagerProvider/utils/cleanData.js +1 -0
  4. package/admin/src/content-manager/components/PreviewWysiwyg/Wrapper.js +7 -13
  5. package/admin/src/content-manager/hooks/useFetchContentTypeLayout/index.js +2 -2
  6. package/admin/src/content-manager/pages/ListView/index.js +2 -2
  7. package/admin/src/translations/en.json +1 -0
  8. package/admin/src/translations/gu.json +618 -0
  9. package/admin/src/translations/languageNativeNames.js +4 -1
  10. package/admin/src/translations/ml.json +699 -0
  11. package/admin/src/translations/sa.json +698 -0
  12. package/admin/src/translations/zh-Hans.json +1 -1
  13. package/build/{9158.c5f772d6.chunk.js → 3180.ad280cb4.chunk.js} +37 -37
  14. package/build/{2758.9475712b.chunk.js → 3526.849d6a28.chunk.js} +4 -4
  15. package/build/{7589.77ef4fbf.chunk.js → 4094.ff4573b6.chunk.js} +2 -2
  16. package/build/{9115.623dc4f7.chunk.js → 6102.1482bf98.chunk.js} +1 -1
  17. package/build/6925.fb35248e.chunk.js +761 -0
  18. package/build/7810.c0d5e393.chunk.js +113 -0
  19. package/build/{8681.2fd4020a.chunk.js → 8681.334d9893.chunk.js} +1 -1
  20. package/build/{7757.f6eb5e92.chunk.js → 9166.5c585d7c.chunk.js} +25 -25
  21. package/build/{9298.cb3b6bc1.chunk.js → 9298.fbe24a6e.chunk.js} +95 -95
  22. package/build/Admin-authenticatedApp.a13de617.chunk.js +80 -0
  23. package/build/Admin_homePage.4cc54224.chunk.js +71 -0
  24. package/build/{Admin_marketplace.0724f650.chunk.js → Admin_marketplace.91a1aacd.chunk.js} +3 -3
  25. package/build/{Admin_pluginsPage.6f1187fe.chunk.js → Admin_pluginsPage.b339b9c3.chunk.js} +1 -1
  26. package/build/{Admin_profilePage.249cbfc9.chunk.js → Admin_profilePage.369a0308.chunk.js} +2 -2
  27. package/build/Admin_settingsPage.9bc7a0f0.chunk.js +180 -0
  28. package/build/admin-edit-roles-page.31acda7c.chunk.js +1 -0
  29. package/build/admin-edit-users.98a32ee5.chunk.js +11 -0
  30. package/build/admin-users.ab8ba52e.chunk.js +12 -0
  31. package/build/{api-tokens-create-page.8d299dde.chunk.js → api-tokens-create-page.a3b9c8bd.chunk.js} +1 -1
  32. package/build/{api-tokens-edit-page.3e453fc1.chunk.js → api-tokens-edit-page.d41a0165.chunk.js} +1 -1
  33. package/build/{api-tokens-list-page.872c3800.chunk.js → api-tokens-list-page.ec7c36f0.chunk.js} +2 -2
  34. package/build/{codemirror-css.98490df3.chunk.js → codemirror-css.269ff90a.chunk.js} +2 -2
  35. package/build/{codemirror-javacript.cafbda9c.chunk.js → codemirror-javacript.41bdefda.chunk.js} +1 -1
  36. package/build/codemirror-theme.bd70dd4c.chunk.js +34 -0
  37. package/build/{content-manager.18834aa8.chunk.js → content-manager.02509825.chunk.js} +102 -108
  38. package/build/{content-type-builder-translation-en-json.e5110288.chunk.js → content-type-builder-translation-en-json.ea3c66b3.chunk.js} +1 -1
  39. package/build/{content-type-builder.55dd9554.chunk.js → content-type-builder.af41a338.chunk.js} +7 -7
  40. package/build/{cropper-css.0055cd53.chunk.js → cropper-css.f4896679.chunk.js} +4 -4
  41. package/build/{email-settings-page.1f235173.chunk.js → email-settings-page.f12299bd.chunk.js} +2 -2
  42. package/build/{en-json.0a5ba154.chunk.js → en-json.4f6bd46a.chunk.js} +1 -1
  43. package/build/{fontawesome-css-all.b88d464e.chunk.js → fontawesome-css-all.4ecf62f5.chunk.js} +3 -3
  44. package/build/{fontawesome-css.a92a7b6c.chunk.js → fontawesome-css.18f0d57b.chunk.js} +2 -2
  45. package/build/gu-json.dafa6f0d.chunk.js +1 -0
  46. package/build/highlight.js.22f875ca.chunk.js +86 -0
  47. package/build/i18n-settings-page.c1ecebbc.chunk.js +101 -0
  48. package/build/i18n-translation-en-json.760250ae.chunk.js +1 -0
  49. package/build/i18n-translation-ko-json.b2d90a83.chunk.js +1 -0
  50. package/build/index.html +1 -1
  51. package/build/main.48e0f6dc.js +8434 -0
  52. package/build/ml-json.dc946c7f.chunk.js +1 -0
  53. package/build/runtime~main.e9852fed.js +2 -0
  54. package/build/sa-json.be504091.chunk.js +1 -0
  55. package/build/sso-settings-page.2dbec3a3.chunk.js +1 -0
  56. package/build/upload-settings.6c0eb939.chunk.js +101 -0
  57. package/build/{upload.0d4153e8.chunk.js → upload.92d5c845.chunk.js} +1 -1
  58. package/build/{users-advanced-settings-page.583c5dda.chunk.js → users-advanced-settings-page.06330ec9.chunk.js} +1 -1
  59. package/build/{users-email-settings-page.8b9a266d.chunk.js → users-email-settings-page.151b35a9.chunk.js} +1 -1
  60. package/build/{users-providers-settings-page.fc9d8f9d.chunk.js → users-providers-settings-page.f011f210.chunk.js} +1 -1
  61. package/build/{users-roles-settings-page.1bf4ffc5.chunk.js → users-roles-settings-page.d756dce9.chunk.js} +3 -3
  62. package/build/{webhook-edit-page.142b23ac.chunk.js → webhook-edit-page.181ea60a.chunk.js} +2 -2
  63. package/build/{webhook-list-page.671582a0.chunk.js → webhook-list-page.b6000354.chunk.js} +1 -1
  64. package/build/{zh-Hans-json.562f3b6f.chunk.js → zh-Hans-json.cbc69f3d.chunk.js} +1 -1
  65. package/package.json +34 -25
  66. package/build/6925.fafef528.chunk.js +0 -761
  67. package/build/7197.74d81c4c.chunk.js +0 -113
  68. package/build/Admin-authenticatedApp.2a22d6f4.chunk.js +0 -80
  69. package/build/Admin_homePage.447df176.chunk.js +0 -71
  70. package/build/Admin_settingsPage.0d138832.chunk.js +0 -180
  71. package/build/admin-edit-roles-page.7c2c9752.chunk.js +0 -1
  72. package/build/admin-edit-users.b835bc48.chunk.js +0 -11
  73. package/build/admin-users.19900b75.chunk.js +0 -12
  74. package/build/codemirror-theme.b3c64617.chunk.js +0 -34
  75. package/build/highlight.js.9d8ef460.chunk.js +0 -86
  76. package/build/i18n-settings-page.06e88cf2.chunk.js +0 -101
  77. package/build/i18n-translation-en-json.85bc892c.chunk.js +0 -1
  78. package/build/i18n-translation-ko-json.d0bc1203.chunk.js +0 -1
  79. package/build/main.fcb539e3.js +0 -8406
  80. package/build/runtime~main.ade14a85.js +0 -2
  81. package/build/sso-settings-page.a7c2e854.chunk.js +0 -1
  82. package/build/upload-settings.4ee2f135.chunk.js +0 -101
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{56555:($,C,a)=>{a.r(C),a.d(C,{default:()=>Me});var e=a(32735),h=a(84968),T=a(5636),o=a(83985),U=a(29270),B=a(16540),P=a(11856),u=a(13087),s=a(13810),g=(l,n,t)=>new Promise((c,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?c(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const I=()=>g(void 0,null,function*(){const{data:l}=yield s.be.get((0,s.Gc)("email-templates"));return l}),O=l=>s.be.put((0,s.Gc)("email-templates"),l);var L=a(60216),i=a.n(L),r=a(53214),y=a(28004),b=a(95602),V=a(20763),W=a(78752),ee=a(95717),K=a.n(ee),te=a(23101),ae=a.n(te),le=a(88677),ne=a.n(le),se=Object.defineProperty,Q=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(l,n,t)=>n in l?se(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,j=(l,n)=>{for(var t in n||(n={}))oe.call(n,t)&&w(l,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&w(l,t,n[t]);return l};const z=({canUpdate:l,onEditClick:n})=>{const{formatMessage:t}=(0,T.useIntl)();return e.createElement(r.Table,{colCount:3,rowCount:3},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(r.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,s.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(r.Tbody,null,e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("reset_password")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ae(),{"aria-label":t({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("reset_password"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)}))),e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("email_confirmation")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ne(),{"aria-label":t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("email_confirmation"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)})))))};z.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};const ie=z;var me=a(83281),F=a(4122),S=a(78330),X=a(44526),N=a(71657),de=a(90353),M=a(5173);const ue=M.Ry().shape({options:M.Ry().shape({from:M.Ry().shape({name:M.Z_().required(o.translatedErrors.required),email:M.Z_().email(o.translatedErrors.email).required(o.translatedErrors.required)}).required(),response_email:M.Z_().email(o.translatedErrors.email),object:M.Z_().required(o.translatedErrors.required),message:M.Z_().required(o.translatedErrors.required)}).required(o.translatedErrors.required)}),Y=({template:l,onToggle:n,onSubmit:t})=>{const{formatMessage:c}=(0,T.useIntl)();return e.createElement(F.ModalLayout,{onClose:n,labelledBy:`${c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${c({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(F.ModalHeader,null,e.createElement(N.Breadcrumbs,{label:`${c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${c({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(N.Crumb,null,c({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(N.Crumb,null,c({id:(0,s.OB)(l.display),defaultMessage:l.display})))),e.createElement(me.Formik,{onSubmit:t,initialValues:l,validateOnChange:!1,validationSchema:ue,enableReinitialize:!0},({errors:m,values:p,handleChange:E,isSubmitting:v})=>{var d,f,A,G,D,Z,H;return e.createElement(o.Form,null,e.createElement(F.ModalBody,null,e.createElement(S.Grid,{gap:5},e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:(f=(d=m==null?void 0:m.options)==null?void 0:d.from)==null?void 0:f.name,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:(G=(A=m==null?void 0:m.options)==null?void 0:A.from)==null?void 0:G.email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:(D=m==null?void 0:m.options)==null?void 0:D.response_email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:(Z=m==null?void 0:m.options)==null?void 0:Z.object,type:"text"})),e.createElement(S.GridItem,{col:12,s:12},e.createElement(de.Textarea,{label:c({id:(0,s.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:((H=m==null?void 0:m.options)==null?void 0:H.message)&&c({id:m.options.message,defaultMessage:m.options.message})})))),e.createElement(F.ModalFooter,{startActions:e.createElement(X.Button,{onClick:n,variant:"tertiary"},"Cancel"),endActions:e.createElement(X.Button,{loading:v,type:"submit"},"Finish")}))}))};Y.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};const ce=Y;var pe=Object.defineProperty,Ee=Object.defineProperties,fe=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,k=(l,n,t)=>n in l?pe(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,ye=(l,n)=>{for(var t in n||(n={}))ve.call(n,t)&&k(l,t,n[t]);if(J)for(var t of J(n))ge.call(n,t)&&k(l,t,n[t]);return l},he=(l,n)=>Ee(l,fe(n)),Te=(l,n,t)=>new Promise((c,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?c(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const Pe=()=>e.createElement(o.CheckPagePermissions,{permissions:u.Z.readEmailTemplates},e.createElement(Oe,null)),Oe=()=>{const{formatMessage:l}=(0,T.useIntl)(),{trackUsage:n}=(0,o.useTracking)(),{notifyStatus:t}=(0,U.useNotifyAT)(),c=(0,o.useNotification)(),{lockApp:m,unlockApp:p}=(0,o.useOverlayBlocker)(),E=(0,e.useRef)(n),v=(0,h.useQueryClient)();(0,o.useFocusWhenNavigate)();const[d,f]=(0,e.useState)(!1),[A,G]=(0,e.useState)(null),D=(0,e.useMemo)(()=>({update:u.Z.updateEmailTemplates}),[]),{isLoading:Z,allowedActions:{canUpdate:H}}=(0,o.useRBAC)(D),{status:Be,data:q}=(0,h.useQuery)("email-templates",()=>I(),{onSuccess:()=>{t(l({id:(0,s.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError:()=>{c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),be=Z||Be!=="success",x=()=>{f(R=>!R)},Re=R=>{G(R),x()},_=(0,h.useMutation)(R=>O({"email-templates":R}),{onSuccess:()=>Te(void 0,null,function*(){yield v.invalidateQueries("email-templates"),c({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),x()}),onError:()=>{c({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:Ce}=_,Ie=R=>{m(),E.current("willEditEmailTemplates");const Le=he(ye({},q),{[A]:R});_.mutate(Le)};return be?e.createElement(B.Main,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null))):e.createElement(B.Main,{"aria-busy":Ce},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(ie,{onEditClick:Re,canUpdate:H}),d&&e.createElement(ce,{template:q[A],onToggle:x,onSubmit:Ie})))},Me=Pe},54080:($,C,a)=>{a.d(C,{Z:()=>P});var e=a(43653),h=a.n(e),T=a(83985),o=a.n(T),U=(u,s,g)=>new Promise((I,O)=>{var L=y=>{try{r(g.next(y))}catch(b){O(b)}},i=y=>{try{r(g.throw(y))}catch(b){O(b)}},r=y=>y.done?I(y.value):Promise.resolve(y.value).then(L,i);r((g=g.apply(u,s)).next())});const B=h().create({baseURL:"http://localhost:1337"});B.interceptors.request.use(u=>U(void 0,null,function*(){return u.headers={Authorization:`Bearer ${T.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},u}),u=>{Promise.reject(u)}),B.interceptors.response.use(u=>u,u=>{var s;throw((s=u.response)==null?void 0:s.status)===401&&(T.auth.clearAppStorage(),window.location.reload()),u});const P=B},13810:($,C,a)=>{a.d(C,{be:()=>e.Z,YX:()=>o,Gc:()=>P,OB:()=>u.Z});var e=a(54080),h=a(92891);const o=s=>Object.keys(s).reduce((g,I)=>{const O=s[I].controllers,L=Object.keys(O).reduce((i,r)=>((0,h.isEmpty)(O[r])||(i[r]=O[r]),i),{});return(0,h.isEmpty)(L)||(g[I]={controllers:L}),g},{});var U=a(46354);const P=s=>`/${U.Z}/${s}`;var u=a(39650)}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8418],{21794:($,C,a)=>{a.r(C),a.d(C,{default:()=>Me});var e=a(32735),h=a(84968),T=a(5636),o=a(55851),U=a(29270),B=a(16540),P=a(11856),c=a(39933),s=a(94821),g=(l,n,t)=>new Promise((u,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?u(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const I=()=>g(void 0,null,function*(){const{data:l}=yield s.be.get((0,s.Gc)("email-templates"));return l}),O=l=>s.be.put((0,s.Gc)("email-templates"),l);var L=a(60216),i=a.n(L),r=a(53214),y=a(28004),b=a(95602),V=a(20763),W=a(78752),ee=a(95717),K=a.n(ee),te=a(23101),ae=a.n(te),le=a(88677),ne=a.n(le),se=Object.defineProperty,Q=Object.getOwnPropertySymbols,oe=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable,w=(l,n,t)=>n in l?se(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,j=(l,n)=>{for(var t in n||(n={}))oe.call(n,t)&&w(l,t,n[t]);if(Q)for(var t of Q(n))re.call(n,t)&&w(l,t,n[t]);return l};const z=({canUpdate:l,onEditClick:n})=>{const{formatMessage:t}=(0,T.useIntl)();return e.createElement(r.Table,{colCount:3,rowCount:3},e.createElement(r.Thead,null,e.createElement(r.Tr,null,e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.icon.label"),defaultMessage:"icon"}))),e.createElement(r.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,s.OB)("Email.template.table.name.label"),defaultMessage:"name"}))),e.createElement(r.Th,{width:"1%"},e.createElement(y.VisuallyHidden,null,t({id:(0,s.OB)("Email.template.table.action.label"),defaultMessage:"action"}))))),e.createElement(r.Tbody,null,e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("reset_password")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ae(),{"aria-label":t({id:"global.reset-password",defaultMessage:"Reset password"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:"global.reset-password",defaultMessage:"Reset password"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("reset_password"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)}))),e.createElement(r.Tr,j({},(0,o.onRowClick)({fn:()=>n("email_confirmation")})),e.createElement(r.Td,null,e.createElement(W.Icon,null,e.createElement(ne(),{"aria-label":t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"})}))),e.createElement(r.Td,null,e.createElement(b.Typography,null,t({id:(0,s.OB)("Email.template.email_confirmation"),defaultMessage:"Email address confirmation"}))),e.createElement(r.Td,j({},o.stopPropagation),e.createElement(V.IconButton,{onClick:()=>n("email_confirmation"),label:t({id:(0,s.OB)("Email.template.form.edit.label"),defaultMessage:"Edit a template"}),noBorder:!0,icon:l&&e.createElement(K(),null)})))))};z.propTypes={canUpdate:i().bool.isRequired,onEditClick:i().func.isRequired};const ie=z;var me=a(83281),F=a(4122),S=a(78330),X=a(44526),N=a(71657),de=a(90353),M=a(5173);const ce=M.Ry().shape({options:M.Ry().shape({from:M.Ry().shape({name:M.Z_().required(o.translatedErrors.required),email:M.Z_().email(o.translatedErrors.email).required(o.translatedErrors.required)}).required(),response_email:M.Z_().email(o.translatedErrors.email),object:M.Z_().required(o.translatedErrors.required),message:M.Z_().required(o.translatedErrors.required)}).required(o.translatedErrors.required)}),Y=({template:l,onToggle:n,onSubmit:t})=>{const{formatMessage:u}=(0,T.useIntl)();return e.createElement(F.ModalLayout,{onClose:n,labelledBy:`${u({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${u({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(F.ModalHeader,null,e.createElement(N.Breadcrumbs,{label:`${u({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})}, ${u({id:(0,s.OB)(l.display),defaultMessage:l.display})}`},e.createElement(N.Crumb,null,u({id:(0,s.OB)("PopUpForm.header.edit.email-templates"),defaultMessage:"Edit email template"})),e.createElement(N.Crumb,null,u({id:(0,s.OB)(l.display),defaultMessage:l.display})))),e.createElement(me.Formik,{onSubmit:t,initialValues:l,validateOnChange:!1,validationSchema:ce,enableReinitialize:!0},({errors:m,values:p,handleChange:E,isSubmitting:v})=>{var d,f,A,G,D,Z,H;return e.createElement(o.Form,null,e.createElement(F.ModalBody,null,e.createElement(S.Grid,{gap:5},e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.name.label"),defaultMessage:"Shipper name"},name:"options.from.name",onChange:E,value:p.options.from.name,error:(f=(d=m==null?void 0:m.options)==null?void 0:d.from)==null?void 0:f.name,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.from.email.label"),defaultMessage:"Shipper email"},name:"options.from.email",onChange:E,value:p.options.from.email,error:(G=(A=m==null?void 0:m.options)==null?void 0:A.from)==null?void 0:G.email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.response_email.label"),defaultMessage:"Response email"},name:"options.response_email",onChange:E,value:p.options.response_email,error:(D=m==null?void 0:m.options)==null?void 0:D.response_email,type:"text"})),e.createElement(S.GridItem,{col:6,s:12},e.createElement(o.GenericInput,{intlLabel:{id:(0,s.OB)("PopUpForm.Email.options.object.label"),defaultMessage:"Subject"},name:"options.object",onChange:E,value:p.options.object,error:(Z=m==null?void 0:m.options)==null?void 0:Z.object,type:"text"})),e.createElement(S.GridItem,{col:12,s:12},e.createElement(de.Textarea,{label:u({id:(0,s.OB)("PopUpForm.Email.options.message.label"),defaultMessage:"Message"}),name:"options.message",onChange:E,value:p.options.message,error:((H=m==null?void 0:m.options)==null?void 0:H.message)&&u({id:m.options.message,defaultMessage:m.options.message})})))),e.createElement(F.ModalFooter,{startActions:e.createElement(X.Button,{onClick:n,variant:"tertiary"},"Cancel"),endActions:e.createElement(X.Button,{loading:v,type:"submit"},"Finish")}))}))};Y.propTypes={template:i().shape({display:i().string,icon:i().string,options:i().shape({from:i().shape({name:i().string,email:i().string}),message:i().string,object:i().string,response_email:i().string})}).isRequired,onSubmit:i().func.isRequired,onToggle:i().func.isRequired};const ue=Y;var pe=Object.defineProperty,Ee=Object.defineProperties,fe=Object.getOwnPropertyDescriptors,J=Object.getOwnPropertySymbols,ve=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,k=(l,n,t)=>n in l?pe(l,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):l[n]=t,ye=(l,n)=>{for(var t in n||(n={}))ve.call(n,t)&&k(l,t,n[t]);if(J)for(var t of J(n))ge.call(n,t)&&k(l,t,n[t]);return l},he=(l,n)=>Ee(l,fe(n)),Te=(l,n,t)=>new Promise((u,m)=>{var p=d=>{try{v(t.next(d))}catch(f){m(f)}},E=d=>{try{v(t.throw(d))}catch(f){m(f)}},v=d=>d.done?u(d.value):Promise.resolve(d.value).then(p,E);v((t=t.apply(l,n)).next())});const Pe=()=>e.createElement(o.CheckPagePermissions,{permissions:c.Z.readEmailTemplates},e.createElement(Oe,null)),Oe=()=>{const{formatMessage:l}=(0,T.useIntl)(),{trackUsage:n}=(0,o.useTracking)(),{notifyStatus:t}=(0,U.useNotifyAT)(),u=(0,o.useNotification)(),{lockApp:m,unlockApp:p}=(0,o.useOverlayBlocker)(),E=(0,e.useRef)(n),v=(0,h.useQueryClient)();(0,o.useFocusWhenNavigate)();const[d,f]=(0,e.useState)(!1),[A,G]=(0,e.useState)(null),D=(0,e.useMemo)(()=>({update:c.Z.updateEmailTemplates}),[]),{isLoading:Z,allowedActions:{canUpdate:H}}=(0,o.useRBAC)(D),{status:Be,data:q}=(0,h.useQuery)("email-templates",()=>I(),{onSuccess:()=>{t(l({id:(0,s.OB)("Email.template.data.loaded"),defaultMessage:"Email templates has been loaded"}))},onError:()=>{u({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),be=Z||Be!=="success",x=()=>{f(R=>!R)},Re=R=>{G(R),x()},_=(0,h.useMutation)(R=>O({"email-templates":R}),{onSuccess:()=>Te(void 0,null,function*(){yield v.invalidateQueries("email-templates"),u({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}}),E.current("didEditEmailTemplates"),p(),x()}),onError:()=>{u({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}}),p()},refetchActive:!0}),{isLoading:Ce}=_,Ie=R=>{m(),E.current("willEditEmailTemplates");const Le=he(ye({},q),{[A]:R});_.mutate(Le)};return be?e.createElement(B.Main,{"aria-busy":"true"},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(o.LoadingIndicatorPage,null))):e.createElement(B.Main,{"aria-busy":Ce},e.createElement(o.SettingsPageTitle,{name:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.HeaderLayout,{title:l({id:(0,s.OB)("HeaderNav.link.emailTemplates"),defaultMessage:"Email templates"})}),e.createElement(P.ContentLayout,null,e.createElement(ie,{onEditClick:Re,canUpdate:H}),d&&e.createElement(ue,{template:q[A],onToggle:x,onSubmit:Ie})))},Me=Pe},26548:($,C,a)=>{a.d(C,{Z:()=>P});var e=a(43653),h=a.n(e),T=a(55851),o=a.n(T),U=(c,s,g)=>new Promise((I,O)=>{var L=y=>{try{r(g.next(y))}catch(b){O(b)}},i=y=>{try{r(g.throw(y))}catch(b){O(b)}},r=y=>y.done?I(y.value):Promise.resolve(y.value).then(L,i);r((g=g.apply(c,s)).next())});const B=h().create({baseURL:"http://localhost:1337"});B.interceptors.request.use(c=>U(void 0,null,function*(){return c.headers={Authorization:`Bearer ${T.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},c}),c=>{Promise.reject(c)}),B.interceptors.response.use(c=>c,c=>{var s;throw((s=c.response)==null?void 0:s.status)===401&&(T.auth.clearAppStorage(),window.location.reload()),c});const P=B},94821:($,C,a)=>{a.d(C,{be:()=>e.Z,YX:()=>o,Gc:()=>P,OB:()=>c.Z});var e=a(26548),h=a(92891);const o=s=>Object.keys(s).reduce((g,I)=>{const O=s[I].controllers,L=Object.keys(O).reduce((i,r)=>((0,h.isEmpty)(O[r])||(i[r]=O[r]),i),{});return(0,h.isEmpty)(L)||(g[I]={controllers:L}),g},{});var U=a(92841);const P=s=>`/${U.Z}/${s}`;var c=a(54788)}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{36455:(ee,S,n)=>{n.r(S),n.d(S,{ProvidersPage:()=>he,default:()=>Ke});var e=n(32735),R=n(5636),i=n(83985),j=n(23973),Z=n.n(j),I=n(23940),w=n.n(I),f=n(16925),y=n(11856),E=n(16540),F=n(29270),u=n(53214),b=n(95602),B=n(28004),T=n(20763),L=n(95717),x=n.n(L),W=n(84968),o=n(5173),c=n(13810);const te={id:(0,c.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},re={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},H={id:(0,c.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},V={id:(0,c.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ae={id:(0,c.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},ne={id:(0,c.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},A={id:(0,c.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},se={id:(0,c.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},G={email:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required)})},providers:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:se,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:ne,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:se,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,c.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,c.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:ne,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})}};var be=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const Ee=t=>be(void 0,null,function*(){try{const{data:r}=yield c.be.get((0,c.Gc)("providers"));return r}catch(r){throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Oe=t=>c.be.put((0,c.Gc)("providers"),t);var Me=n(92891);const Te=t=>(0,Me.sortBy)(Object.keys(t).reduce((r,a)=>{const{icon:g,enabled:m,subdomain:P}=t[a],p=g==="envelope"?["fas","envelope"]:["fab",g];return P!==void 0?r.push({name:a,icon:p,enabled:m,subdomain:P}):r.push({name:a,icon:p,enabled:m}),r},[]),"name");var oe=n(13087),le=n(44526),Le=n(90662),ie=n(71657),de=n(78330),N=n(4122),Re=n(60216),s=n.n(Re),Be=n(83281),Ce=n(63865),Se=n(37178),Ie=Object.defineProperty,ue=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ce=(t,r,a)=>r in t?Ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,X=(t,r)=>{for(var a in r||(r={}))Fe.call(r,a)&&ce(t,a,r[a]);if(ue)for(var a of ue(r))Ue.call(r,a)&&ce(t,a,r[a]);return t};const $=({description:t,disabled:r,intlLabel:a,error:g,name:m,onChange:P,placeholder:p,providerToEditName:h,type:d,value:l})=>{const{formatMessage:O}=(0,R.useIntl)(),C=m==="noName"?`${strapi.backendURL}/api/connect/${h}/callback`:l,U=O({id:a.id,defaultMessage:a.defaultMessage},X({provider:h},a.values)),M=t?O({id:t.id,defaultMessage:t.defaultMessage},X({provider:h},t.values)):"";if(d==="bool")return e.createElement(Ce.ToggleInput,{"aria-label":m,checked:l,disabled:r,hint:M,label:U,name:m,offLabel:O({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:O({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:D=>{P({target:{name:m,value:D.target.checked}})}});const k=p?O({id:p.id,defaultMessage:p.defaultMessage},X({},p.values)):"",Y=g?O({id:g,defaultMessage:g}):"";return e.createElement(Se.TextInput,{"aria-label":m,disabled:r,error:Y,label:U,name:m,onChange:P,placeholder:k,type:d,value:C})};$.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},$.propTypes={description:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}),disabled:s().bool,error:s().string,intlLabel:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}).isRequired,name:s().string.isRequired,onChange:s().func.isRequired,placeholder:s().shape({id:s().string.isRequired,defaultMessage:s().string.isRequired,values:s().object}),providerToEditName:s().string.isRequired,type:s().string.isRequired,value:s().oneOfType([s().bool,s().string])};const Ze=$;var we=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,pe=(t,r,a)=>r in t?we(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Ne=(t,r)=>{for(var a in r||(r={}))je.call(r,a)&&pe(t,a,r[a]);if(me)for(var a of me(r))Ae.call(r,a)&&pe(t,a,r[a]);return t},ze=(t,r)=>xe(t,De(r));const K=({headerBreadcrumbs:t,initialData:r,isSubmiting:a,layout:g,isOpen:m,onSubmit:P,onToggle:p,providerToEditName:h})=>{const{formatMessage:d}=(0,R.useIntl)();return m?e.createElement(N.ModalLayout,{onClose:p,labelledBy:"title"},e.createElement(N.ModalHeader,null,e.createElement(ie.Breadcrumbs,{label:t.join(", ")},t.map(l=>e.createElement(ie.Crumb,{key:l},l)))),e.createElement(Be.Formik,{onSubmit:l=>P(l),initialValues:r,validationSchema:g.schema,validateOnChange:!1},({errors:l,handleChange:O,values:C})=>e.createElement(i.Form,null,e.createElement(N.ModalBody,null,e.createElement(Le.Stack,{spacing:1},e.createElement(de.Grid,{gap:5},g.form.map(U=>U.map(M=>e.createElement(de.GridItem,{key:M.name,col:M.size,xs:12},e.createElement(Ze,ze(Ne({},M),{error:l[M.name],onChange:O,value:C[M.name],providerToEditName:h})))))))),e.createElement(N.ModalFooter,{startActions:e.createElement(le.Button,{variant:"tertiary",onClick:p,type:"button"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(e.Fragment,null,e.createElement(le.Button,{type:"submit",loading:a},d({id:"global.save",defaultMessage:"Save"})))})))):null};K.defaultProps={initialData:null,providerToEditName:null},K.propTypes={headerBreadcrumbs:s().arrayOf(s().string).isRequired,initialData:s().object,layout:s().shape({form:s().arrayOf(s().array),schema:s().object}).isRequired,isOpen:s().bool.isRequired,isSubmiting:s().bool.isRequired,onSubmit:s().func.isRequired,onToggle:s().func.isRequired,providerToEditName:s().string};const qe=K;var We=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,fe=(t,r,a)=>r in t?We(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Q=(t,r)=>{for(var a in r||(r={}))Ge.call(r,a)&&fe(t,a,r[a]);if(ve)for(var a of ve(r))Xe.call(r,a)&&fe(t,a,r[a]);return t},$e=(t,r)=>He(t,Ve(r)),ge=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const he=()=>{const{formatMessage:t}=(0,R.useIntl)();(0,i.useFocusWhenNavigate)();const{notifyStatus:r}=(0,F.useNotifyAT)(),a=(0,W.useQueryClient)(),{trackUsage:g}=(0,i.useTracking)(),m=(0,e.useRef)(g),[P,p]=(0,e.useState)(!1),[h,d]=(0,e.useState)(!1),[l,O]=(0,e.useState)(null),C=(0,i.useNotification)(),{lockApp:U,unlockApp:M}=(0,i.useOverlayBlocker)(),k=(0,e.useMemo)(()=>({update:oe.Z.updateProviders}),[]),{isLoading:Y,allowedActions:{canUpdate:D}}=(0,i.useRBAC)(k),{isLoading:Qe,data:z,isFetching:ke}=(0,W.useQuery)("get-providers",()=>Ee(C),{onSuccess:()=>{r(t({id:(0,c.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ye=Qe||ke,Je=(0,W.useMutation)(Oe,{onSuccess:()=>ge(void 0,null,function*(){yield a.invalidateQueries("get-providers"),C({type:"info",message:{id:(0,c.OB)("notification.success.submit")}}),m.current("didEditAuthenticationProvider"),d(!1),J(),M()}),onError:()=>{C({type:"warning",message:{id:"notification.error"}}),M(),d(!1)},refetchActive:!1}),q=(0,e.useMemo)(()=>Te(z),[z]),_e=q.length,ye=(0,e.useMemo)(()=>{if(!l)return!1;const v=q.find(_=>_.name===l);return Z()(v,"subdomain")},[q,l]),et=t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),tt=(0,e.useMemo)(()=>l==="email"?G.email:ye?G.providersWithSubdomain:G.providers,[l,ye]),J=()=>{p(v=>!v)},Pe=v=>{D&&(O(v.name),J())},rt=v=>ge(void 0,null,function*(){d(!0),U(),m.current("willEditAuthenticationProvider");const _=$e(Q({},z),{[l]:v});Je.mutate({providers:_})});return e.createElement(y.Layout,null,e.createElement(i.SettingsPageTitle,{name:et}),e.createElement(E.Main,null,e.createElement(y.HeaderLayout,{title:t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ye||Y?e.createElement(i.LoadingIndicatorPage,null):e.createElement(y.ContentLayout,null,e.createElement(u.Table,{colCount:4,rowCount:_e+1},e.createElement(u.Thead,null,e.createElement(u.Tr,null,e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},e.createElement(B.VisuallyHidden,null,t({id:(0,c.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,c.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma"},e.createElement(B.VisuallyHidden,null,t({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(u.Tbody,null,q.map(v=>e.createElement(u.Tr,Q({key:v.name},(0,i.onRowClick)({fn:()=>Pe(v),condition:D})),e.createElement(u.Td,{width:""},e.createElement(f.G,{icon:v.icon})),e.createElement(u.Td,{width:"45%"},e.createElement(b.Typography,{fontWeight:"semiBold",textColor:"neutral800"},v.name)),e.createElement(u.Td,{width:"65%"},e.createElement(b.Typography,{textColor:v.enabled?"success600":"danger600","data-testid":`enable-${v.name}`},v.enabled?t({id:"global.enabled",defaultMessage:"Enabled"}):t({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(u.Td,Q({},i.stopPropagation),D&&e.createElement(T.IconButton,{onClick:()=>Pe(v),noBorder:!0,icon:e.createElement(x(),null),label:"Edit"})))))))),e.createElement(qe,{initialData:z[l],isOpen:P,isSubmiting:h,layout:tt,headerBreadcrumbs:[t({id:(0,c.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),w()(l)],onToggle:J,onSubmit:rt,providerToEditName:l}))},Ke=()=>e.createElement(i.CheckPagePermissions,{permissions:oe.Z.readProviders},e.createElement(he,null))},54080:(ee,S,n)=>{n.d(S,{Z:()=>w});var e=n(43653),R=n.n(e),i=n(83985),j=n.n(i),Z=(f,y,E)=>new Promise((F,u)=>{var b=L=>{try{T(E.next(L))}catch(x){u(x)}},B=L=>{try{T(E.throw(L))}catch(x){u(x)}},T=L=>L.done?F(L.value):Promise.resolve(L.value).then(b,B);T((E=E.apply(f,y)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(f=>Z(void 0,null,function*(){return f.headers={Authorization:`Bearer ${i.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),I.interceptors.response.use(f=>f,f=>{var y;throw((y=f.response)==null?void 0:y.status)===401&&(i.auth.clearAppStorage(),window.location.reload()),f});const w=I},13810:(ee,S,n)=>{n.d(S,{be:()=>e.Z,YX:()=>j,Gc:()=>w,OB:()=>f.Z});var e=n(54080),R=n(92891);const j=y=>Object.keys(y).reduce((E,F)=>{const u=y[F].controllers,b=Object.keys(u).reduce((B,T)=>((0,R.isEmpty)(u[T])||(B[T]=u[T]),B),{});return(0,R.isEmpty)(b)||(E[F]={controllers:b}),E},{});var Z=n(46354);const w=y=>`/${Z.Z}/${y}`;var f=n(39650)}}]);
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[2282],{15788:(ee,S,s)=>{s.r(S),s.d(S,{ProvidersPage:()=>he,default:()=>Ke});var e=s(32735),R=s(5636),i=s(55851),j=s(23973),Z=s.n(j),I=s(23940),w=s.n(I),f=s(16925),y=s(11856),E=s(16540),F=s(29270),u=s(53214),b=s(95602),B=s(28004),T=s(20763),L=s(95717),x=s.n(L),W=s(84968),o=s(5173),c=s(94821);const te={id:(0,c.OB)("PopUpForm.Providers.redirectURL.front-end.label"),defaultMessage:"The redirect URL to your front-end app"},re={id:"http://www.client-app.com",defaultMessage:"http://www.client-app.com"},H={id:(0,c.OB)("PopUpForm.Providers.enabled.description"),defaultMessage:"If disabled, users won't be able to use this provider."},V={id:(0,c.OB)("PopUpForm.Providers.enabled.label"),defaultMessage:"Enable"},ae={id:(0,c.OB)("PopUpForm.Providers.key.label"),defaultMessage:"Client ID"},se={id:(0,c.OB)("PopUpForm.Providers.redirectURL.label"),defaultMessage:"The redirect URL to add in your {provider} application configurations"},A={id:(0,c.OB)("PopUpForm.Providers.key.placeholder"),defaultMessage:"TEXT"},ne={id:(0,c.OB)("PopUpForm.Providers.secret.label"),defaultMessage:"Client Secret"},G={email:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required)})},providers:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})},providersWithSubdomain:{form:[[{intlLabel:V,name:"enabled",type:"bool",description:H,size:6,validations:{required:!0}}],[{intlLabel:ae,name:"key",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:ne,name:"secret",type:"text",placeholder:A,size:12,validations:{required:!0}}],[{intlLabel:{id:(0,c.OB)("PopUpForm.Providers.subdomain.label"),defaultMessage:"Host URI (Subdomain)"},name:"subdomain",type:"text",placeholder:{id:(0,c.OB)("PopUpForm.Providers.subdomain.placeholder"),defaultMessage:"my.subdomain.com"},size:12,validations:{required:!0}}],[{intlLabel:te,placeholder:re,name:"callback",type:"text",size:12,validations:{required:!0}}],[{intlLabel:se,name:"noName",type:"text",validations:{},size:12,disabled:!0}]],schema:o.Ry().shape({enabled:o.Xg().required(i.translatedErrors.required),key:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),secret:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),subdomain:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()}),callback:o.Z_().when("enabled",{is:!0,then:o.Z_().required(i.translatedErrors.required),otherwise:o.Z_()})})}};var be=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const Ee=t=>be(void 0,null,function*(){try{const{data:r}=yield c.be.get((0,c.Gc)("providers"));return r}catch(r){throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),Oe=t=>c.be.put((0,c.Gc)("providers"),t);var Me=s(92891);const Te=t=>(0,Me.sortBy)(Object.keys(t).reduce((r,a)=>{const{icon:g,enabled:m,subdomain:P}=t[a],p=g==="envelope"?["fas","envelope"]:["fab",g];return P!==void 0?r.push({name:a,icon:p,enabled:m,subdomain:P}):r.push({name:a,icon:p,enabled:m}),r},[]),"name");var oe=s(39933),le=s(44526),Le=s(90662),ie=s(71657),de=s(78330),N=s(4122),Re=s(60216),n=s.n(Re),Be=s(83281),Ce=s(63865),Se=s(37178),Ie=Object.defineProperty,ue=Object.getOwnPropertySymbols,Fe=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable,ce=(t,r,a)=>r in t?Ie(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,X=(t,r)=>{for(var a in r||(r={}))Fe.call(r,a)&&ce(t,a,r[a]);if(ue)for(var a of ue(r))Ue.call(r,a)&&ce(t,a,r[a]);return t};const $=({description:t,disabled:r,intlLabel:a,error:g,name:m,onChange:P,placeholder:p,providerToEditName:h,type:d,value:l})=>{const{formatMessage:O}=(0,R.useIntl)(),C=m==="noName"?`${strapi.backendURL}/api/connect/${h}/callback`:l,U=O({id:a.id,defaultMessage:a.defaultMessage},X({provider:h},a.values)),M=t?O({id:t.id,defaultMessage:t.defaultMessage},X({provider:h},t.values)):"";if(d==="bool")return e.createElement(Ce.ToggleInput,{"aria-label":m,checked:l,disabled:r,hint:M,label:U,name:m,offLabel:O({id:"app.components.ToggleCheckbox.off-label",defaultMessage:"Off"}),onLabel:O({id:"app.components.ToggleCheckbox.on-label",defaultMessage:"On"}),onChange:D=>{P({target:{name:m,value:D.target.checked}})}});const k=p?O({id:p.id,defaultMessage:p.defaultMessage},X({},p.values)):"",Y=g?O({id:g,defaultMessage:g}):"";return e.createElement(Se.TextInput,{"aria-label":m,disabled:r,error:Y,label:U,name:m,onChange:P,placeholder:k,type:d,value:C})};$.defaultProps={description:null,disabled:!1,error:"",placeholder:null,value:""},$.propTypes={description:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),disabled:n().bool,error:n().string,intlLabel:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}).isRequired,name:n().string.isRequired,onChange:n().func.isRequired,placeholder:n().shape({id:n().string.isRequired,defaultMessage:n().string.isRequired,values:n().object}),providerToEditName:n().string.isRequired,type:n().string.isRequired,value:n().oneOfType([n().bool,n().string])};const Ze=$;var we=Object.defineProperty,xe=Object.defineProperties,De=Object.getOwnPropertyDescriptors,me=Object.getOwnPropertySymbols,je=Object.prototype.hasOwnProperty,Ae=Object.prototype.propertyIsEnumerable,pe=(t,r,a)=>r in t?we(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Ne=(t,r)=>{for(var a in r||(r={}))je.call(r,a)&&pe(t,a,r[a]);if(me)for(var a of me(r))Ae.call(r,a)&&pe(t,a,r[a]);return t},ze=(t,r)=>xe(t,De(r));const K=({headerBreadcrumbs:t,initialData:r,isSubmiting:a,layout:g,isOpen:m,onSubmit:P,onToggle:p,providerToEditName:h})=>{const{formatMessage:d}=(0,R.useIntl)();return m?e.createElement(N.ModalLayout,{onClose:p,labelledBy:"title"},e.createElement(N.ModalHeader,null,e.createElement(ie.Breadcrumbs,{label:t.join(", ")},t.map(l=>e.createElement(ie.Crumb,{key:l},l)))),e.createElement(Be.Formik,{onSubmit:l=>P(l),initialValues:r,validationSchema:g.schema,validateOnChange:!1},({errors:l,handleChange:O,values:C})=>e.createElement(i.Form,null,e.createElement(N.ModalBody,null,e.createElement(Le.Stack,{spacing:1},e.createElement(de.Grid,{gap:5},g.form.map(U=>U.map(M=>e.createElement(de.GridItem,{key:M.name,col:M.size,xs:12},e.createElement(Ze,ze(Ne({},M),{error:l[M.name],onChange:O,value:C[M.name],providerToEditName:h})))))))),e.createElement(N.ModalFooter,{startActions:e.createElement(le.Button,{variant:"tertiary",onClick:p,type:"button"},d({id:"app.components.Button.cancel",defaultMessage:"Cancel"})),endActions:e.createElement(e.Fragment,null,e.createElement(le.Button,{type:"submit",loading:a},d({id:"global.save",defaultMessage:"Save"})))})))):null};K.defaultProps={initialData:null,providerToEditName:null},K.propTypes={headerBreadcrumbs:n().arrayOf(n().string).isRequired,initialData:n().object,layout:n().shape({form:n().arrayOf(n().array),schema:n().object}).isRequired,isOpen:n().bool.isRequired,isSubmiting:n().bool.isRequired,onSubmit:n().func.isRequired,onToggle:n().func.isRequired,providerToEditName:n().string};const qe=K;var We=Object.defineProperty,He=Object.defineProperties,Ve=Object.getOwnPropertyDescriptors,ve=Object.getOwnPropertySymbols,Ge=Object.prototype.hasOwnProperty,Xe=Object.prototype.propertyIsEnumerable,fe=(t,r,a)=>r in t?We(t,r,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[r]=a,Q=(t,r)=>{for(var a in r||(r={}))Ge.call(r,a)&&fe(t,a,r[a]);if(ve)for(var a of ve(r))Xe.call(r,a)&&fe(t,a,r[a]);return t},$e=(t,r)=>He(t,Ve(r)),ge=(t,r,a)=>new Promise((g,m)=>{var P=d=>{try{h(a.next(d))}catch(l){m(l)}},p=d=>{try{h(a.throw(d))}catch(l){m(l)}},h=d=>d.done?g(d.value):Promise.resolve(d.value).then(P,p);h((a=a.apply(t,r)).next())});const he=()=>{const{formatMessage:t}=(0,R.useIntl)();(0,i.useFocusWhenNavigate)();const{notifyStatus:r}=(0,F.useNotifyAT)(),a=(0,W.useQueryClient)(),{trackUsage:g}=(0,i.useTracking)(),m=(0,e.useRef)(g),[P,p]=(0,e.useState)(!1),[h,d]=(0,e.useState)(!1),[l,O]=(0,e.useState)(null),C=(0,i.useNotification)(),{lockApp:U,unlockApp:M}=(0,i.useOverlayBlocker)(),k=(0,e.useMemo)(()=>({update:oe.Z.updateProviders}),[]),{isLoading:Y,allowedActions:{canUpdate:D}}=(0,i.useRBAC)(k),{isLoading:Qe,data:z,isFetching:ke}=(0,W.useQuery)("get-providers",()=>Ee(C),{onSuccess:()=>{r(t({id:(0,c.OB)("Providers.data.loaded"),defaultMessage:"Providers have been loaded"}))},initialData:{}}),Ye=Qe||ke,Je=(0,W.useMutation)(Oe,{onSuccess:()=>ge(void 0,null,function*(){yield a.invalidateQueries("get-providers"),C({type:"info",message:{id:(0,c.OB)("notification.success.submit")}}),m.current("didEditAuthenticationProvider"),d(!1),J(),M()}),onError:()=>{C({type:"warning",message:{id:"notification.error"}}),M(),d(!1)},refetchActive:!1}),q=(0,e.useMemo)(()=>Te(z),[z]),_e=q.length,ye=(0,e.useMemo)(()=>{if(!l)return!1;const v=q.find(_=>_.name===l);return Z()(v,"subdomain")},[q,l]),et=t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"}),tt=(0,e.useMemo)(()=>l==="email"?G.email:ye?G.providersWithSubdomain:G.providers,[l,ye]),J=()=>{p(v=>!v)},Pe=v=>{D&&(O(v.name),J())},rt=v=>ge(void 0,null,function*(){d(!0),U(),m.current("willEditAuthenticationProvider");const _=$e(Q({},z),{[l]:v});Je.mutate({providers:_})});return e.createElement(y.Layout,null,e.createElement(i.SettingsPageTitle,{name:et}),e.createElement(E.Main,null,e.createElement(y.HeaderLayout,{title:t({id:(0,c.OB)("HeaderNav.link.providers"),defaultMessage:"Providers"})}),Ye||Y?e.createElement(i.LoadingIndicatorPage,null):e.createElement(y.ContentLayout,null,e.createElement(u.Table,{colCount:4,rowCount:_e+1},e.createElement(u.Thead,null,e.createElement(u.Tr,null,e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},e.createElement(B.VisuallyHidden,null,t({id:(0,c.OB)("Providers.image"),defaultMessage:"Image"})))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:"global.name",defaultMessage:"Name"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma",textColor:"neutral600"},t({id:(0,c.OB)("Providers.status"),defaultMessage:"Status"}))),e.createElement(u.Th,null,e.createElement(b.Typography,{variant:"sigma"},e.createElement(B.VisuallyHidden,null,t({id:"global.settings",defaultMessage:"Settings"})))))),e.createElement(u.Tbody,null,q.map(v=>e.createElement(u.Tr,Q({key:v.name},(0,i.onRowClick)({fn:()=>Pe(v),condition:D})),e.createElement(u.Td,{width:""},e.createElement(f.G,{icon:v.icon})),e.createElement(u.Td,{width:"45%"},e.createElement(b.Typography,{fontWeight:"semiBold",textColor:"neutral800"},v.name)),e.createElement(u.Td,{width:"65%"},e.createElement(b.Typography,{textColor:v.enabled?"success600":"danger600","data-testid":`enable-${v.name}`},v.enabled?t({id:"global.enabled",defaultMessage:"Enabled"}):t({id:"global.disabled",defaultMessage:"Disabled"}))),e.createElement(u.Td,Q({},i.stopPropagation),D&&e.createElement(T.IconButton,{onClick:()=>Pe(v),noBorder:!0,icon:e.createElement(x(),null),label:"Edit"})))))))),e.createElement(qe,{initialData:z[l],isOpen:P,isSubmiting:h,layout:tt,headerBreadcrumbs:[t({id:(0,c.OB)("PopUpForm.header.edit.providers"),defaultMessage:"Edit Provider"}),w()(l)],onToggle:J,onSubmit:rt,providerToEditName:l}))},Ke=()=>e.createElement(i.CheckPagePermissions,{permissions:oe.Z.readProviders},e.createElement(he,null))},26548:(ee,S,s)=>{s.d(S,{Z:()=>w});var e=s(43653),R=s.n(e),i=s(55851),j=s.n(i),Z=(f,y,E)=>new Promise((F,u)=>{var b=L=>{try{T(E.next(L))}catch(x){u(x)}},B=L=>{try{T(E.throw(L))}catch(x){u(x)}},T=L=>L.done?F(L.value):Promise.resolve(L.value).then(b,B);T((E=E.apply(f,y)).next())});const I=R().create({baseURL:"http://localhost:1337"});I.interceptors.request.use(f=>Z(void 0,null,function*(){return f.headers={Authorization:`Bearer ${i.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},f}),f=>{Promise.reject(f)}),I.interceptors.response.use(f=>f,f=>{var y;throw((y=f.response)==null?void 0:y.status)===401&&(i.auth.clearAppStorage(),window.location.reload()),f});const w=I},94821:(ee,S,s)=>{s.d(S,{be:()=>e.Z,YX:()=>j,Gc:()=>w,OB:()=>f.Z});var e=s(26548),R=s(92891);const j=y=>Object.keys(y).reduce((E,F)=>{const u=y[F].controllers,b=Object.keys(u).reduce((B,T)=>((0,R.isEmpty)(u[T])||(B[T]=u[T]),B),{});return(0,R.isEmpty)(b)||(E[F]={controllers:b}),E},{});var Z=s(92841);const w=y=>`/${Z.Z}/${y}`;var f=s(54788)}}]);
@@ -1,7 +1,7 @@
1
- "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{67872:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(83985),b=a(46354),T=a(13087),_=a(44526),D=a(11856),E=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),v=a(5636),A=a(84968),V=a(58469),x=a(13810),re=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Je=(r,e)=>re(void 0,null,function*(){try{const{data:t}=yield x.be.get((0,x.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw r({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),qe=(r,e)=>re(void 0,null,function*(){try{yield x.be.delete(`${(0,x.Gc)("roles")}/${r}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var et=a(60216),h=a.n(et),se=a(20763),Q=a(19192),tt=a(95717),rt=a.n(tt),st=a(76470),nt=a.n(st),ot=Object.defineProperty,ne=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,oe=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ae=(r,e)=>{for(var t in e||(e={}))at.call(e,t)&&oe(r,t,e[t]);if(ne)for(var t of ne(e))it.call(e,t)&&oe(r,t,e[t]);return r};const X=({sortedRoles:r,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,v.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},y=m=>{d(`/settings/${b.Z}/roles/${m}`)};return s.createElement(f.Tbody,null,r==null?void 0:r.map(m=>s.createElement(f.Tr,ae({key:m.name},(0,p.onRowClick)({fn:()=>y(m.id)})),s.createElement(f.Td,{width:"20%"},s.createElement(P.Typography,null,m.name)),s.createElement(f.Td,{width:"50%"},s.createElement(P.Typography,null,m.description)),s.createElement(f.Td,{width:"30%"},s.createElement(P.Typography,null,`${m.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),s.createElement(f.Td,null,s.createElement(Q.Flex,ae({justifyContent:"end"},p.stopPropagation),s.createElement(p.CheckPermissions,{permissions:t.updateRole},s.createElement(se.IconButton,{onClick:()=>y(m.id),noBorder:!0,icon:s.createElement(rt(),null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${m.name}`})})),c(m)&&s.createElement(p.CheckPermissions,{permissions:t.deleteRole},s.createElement(se.IconButton,{onClick:()=>g(m.id),noBorder:!0,icon:s.createElement(nt(),null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${m.name}`})})))))))},lt=X;X.defaultProps={canDelete:!1},X.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ie=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ct=()=>{const{trackUsage:r}=(0,p.useTracking)(),{formatMessage:e}=(0,v.useIntl)(),{push:t}=(0,C.useHistory)(),i=(0,p.useNotification)(),{notifyStatus:u}=(0,B.useNotifyAT)(),[{query:l}]=(0,p.useQueryParams)(),d=(l==null?void 0:l._q)||"",[o,n]=(0,s.useState)(!1),[c,g]=(0,s.useState)(!1),[y,m]=(0,s.useState)();(0,p.useFocusWhenNavigate)();const R=(0,A.useQueryClient)(),O=(0,s.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:w,allowedActions:{canRead:M,canDelete:k}}=(0,p.useRBAC)(O),{isLoading:Ts,data:{roles:ee},isFetching:Ds}=(0,A.useQuery)("get-roles",()=>Je(i,u),{initialData:{},enabled:M}),Ye=Ts||Ds,As=()=>{r("willCreateRole"),t(`/settings/${b.Z}/roles/new`)},Ls=()=>{n(!o)},Ss={roles:{id:(0,x.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,x.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},ws=e({id:"global.roles",defaultMessage:"Roles"}),Ms=(0,A.useMutation)(Bs=>qe(Bs,i),{onSuccess:()=>ie(void 0,null,function*(){yield R.invalidateQueries("get-roles")})}),Us=()=>ie(void 0,null,function*(){g(!0),yield Ms.mutateAsync(y),n(!o),g(!1)}),H=(0,V.ZP)(ee||[],d,{keys:["name","description"]}),Is=d&&!H.length?"search":"roles",js=4,_s=((ee==null?void 0:ee.length)||0)+1;return s.createElement(D.Layout,null,s.createElement(p.SettingsPageTitle,{name:ws}),s.createElement(E.Main,{"aria-busy":Ye},s.createElement(D.HeaderLayout,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:s.createElement(p.CheckPermissions,{permissions:T.Z.createRole},s.createElement(_.Button,{onClick:As,startIcon:s.createElement(N(),null),size:"L"},e({id:(0,x.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),s.createElement(D.ActionLayout,{startActions:s.createElement(p.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),s.createElement(D.ContentLayout,null,!M&&s.createElement(p.NoPermissions,null),(Ye||w)&&s.createElement(p.LoadingIndicatorPage,null),M&&H&&(H==null?void 0:H.length)?s.createElement(f.Table,{colCount:js,rowCount:_s},s.createElement(f.Thead,null,s.createElement(f.Tr,null,s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),s.createElement(f.Th,null,s.createElement(U.VisuallyHidden,null,e({id:"global.actions",defaultMessage:"Actions"}))))),s.createElement(lt,{sortedRoles:H,canDelete:k,permissions:T.Z,setRoleToDelete:m,onDelete:[o,n]})):s.createElement(p.EmptyStateLayout,{content:Ss[Is]})),s.createElement(p.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Us,onToggleDialog:Ls,isOpen:o})))},ut=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(ct,null));var le=a(83281),L=a(90662),I=a(9808),ce=a(37178),ue=a(90353),dt=a(98599),pt=a.n(dt),mt=a(88677),de=a.n(mt),S=a(78330),Z=a(39650),j=a(92891);const pe=(0,s.createContext)({}),me=({children:r,value:e})=>s.createElement(pe.Provider,{value:e},r),Y=()=>(0,s.useContext)(pe);me.propTypes={children:h().node.isRequired,value:h().object.isRequired};var W=a(19615),gt=a(37213),ft=a.n(gt),Pt=a(15738),yt=a.n(Pt);const Et=r=>{switch(r){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},vt=(0,W.default)(I.Box)`
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{88319:(te,G,a)=>{a.r(G),a.d(G,{default:()=>bs});var s=a(32735),C=a(5141),p=a(55851),b=a(92841),T=a(39933),_=a(44526),D=a(11856),y=a(16540),f=a(53214),U=a(28004),P=a(95602),B=a(29270),F=a(59290),N=a.n(F),E=a(5636),A=a(84968),V=a(58469),x=a(94821),re=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Je=(r,e)=>re(void 0,null,function*(){try{const{data:t}=yield x.be.get((0,x.Gc)("roles"));return e("The roles have loaded successfully"),t}catch(t){throw r({type:"warning",message:{id:"notification.error"}}),new Error("error")}}),qe=(r,e)=>re(void 0,null,function*(){try{yield x.be.delete(`${(0,x.Gc)("roles")}/${r}`)}catch(t){e({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}});var et=a(60216),h=a.n(et),se=a(20763),Q=a(19192),tt=a(95717),rt=a.n(tt),st=a(76470),nt=a.n(st),ot=Object.defineProperty,ne=Object.getOwnPropertySymbols,at=Object.prototype.hasOwnProperty,it=Object.prototype.propertyIsEnumerable,oe=(r,e,t)=>e in r?ot(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ae=(r,e)=>{for(var t in e||(e={}))at.call(e,t)&&oe(r,t,e[t]);if(ne)for(var t of ne(e))it.call(e,t)&&oe(r,t,e[t]);return r};const X=({sortedRoles:r,canDelete:e,permissions:t,setRoleToDelete:i,onDelete:u})=>{const{formatMessage:l}=(0,E.useIntl)(),{push:d}=(0,C.useHistory)(),[o,n]=u,c=m=>e&&!["public","authenticated"].includes(m.type),g=m=>{i(m),n(!o)},v=m=>{d(`/settings/${b.Z}/roles/${m}`)};return s.createElement(f.Tbody,null,r==null?void 0:r.map(m=>s.createElement(f.Tr,ae({key:m.name},(0,p.onRowClick)({fn:()=>v(m.id)})),s.createElement(f.Td,{width:"20%"},s.createElement(P.Typography,null,m.name)),s.createElement(f.Td,{width:"50%"},s.createElement(P.Typography,null,m.description)),s.createElement(f.Td,{width:"30%"},s.createElement(P.Typography,null,`${m.nb_users} ${l({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),s.createElement(f.Td,null,s.createElement(Q.Flex,ae({justifyContent:"end"},p.stopPropagation),s.createElement(p.CheckPermissions,{permissions:t.updateRole},s.createElement(se.IconButton,{onClick:()=>v(m.id),noBorder:!0,icon:s.createElement(rt(),null),label:l({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${m.name}`})})),c(m)&&s.createElement(p.CheckPermissions,{permissions:t.deleteRole},s.createElement(se.IconButton,{onClick:()=>g(m.id),noBorder:!0,icon:s.createElement(nt(),null),label:l({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${m.name}`})})))))))},lt=X;X.defaultProps={canDelete:!1},X.propTypes={onDelete:h().array.isRequired,permissions:h().object.isRequired,setRoleToDelete:h().func.isRequired,sortedRoles:h().array.isRequired,canDelete:h().bool};var ie=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ct=()=>{const{trackUsage:r}=(0,p.useTracking)(),{formatMessage:e}=(0,E.useIntl)(),{push:t}=(0,C.useHistory)(),i=(0,p.useNotification)(),{notifyStatus:u}=(0,B.useNotifyAT)(),[{query:l}]=(0,p.useQueryParams)(),d=(l==null?void 0:l._q)||"",[o,n]=(0,s.useState)(!1),[c,g]=(0,s.useState)(!1),[v,m]=(0,s.useState)();(0,p.useFocusWhenNavigate)();const R=(0,A.useQueryClient)(),O=(0,s.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:w,allowedActions:{canRead:M,canDelete:k}}=(0,p.useRBAC)(O),{isLoading:Ts,data:{roles:ee},isFetching:Ds}=(0,A.useQuery)("get-roles",()=>Je(i,u),{initialData:{},enabled:M}),Ye=Ts||Ds,As=()=>{r("willCreateRole"),t(`/settings/${b.Z}/roles/new`)},Ls=()=>{n(!o)},Ss={roles:{id:(0,x.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,x.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},ws=e({id:"global.roles",defaultMessage:"Roles"}),Ms=(0,A.useMutation)(Bs=>qe(Bs,i),{onSuccess:()=>ie(void 0,null,function*(){yield R.invalidateQueries("get-roles")})}),Us=()=>ie(void 0,null,function*(){g(!0),yield Ms.mutateAsync(v),n(!o),g(!1)}),H=(0,V.ZP)(ee||[],d,{keys:["name","description"]}),Is=d&&!H.length?"search":"roles",js=4,_s=((ee==null?void 0:ee.length)||0)+1;return s.createElement(D.Layout,null,s.createElement(p.SettingsPageTitle,{name:ws}),s.createElement(y.Main,{"aria-busy":Ye},s.createElement(D.HeaderLayout,{title:e({id:"global.roles",defaultMessage:"Roles"}),subtitle:e({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:s.createElement(p.CheckPermissions,{permissions:T.Z.createRole},s.createElement(_.Button,{onClick:As,startIcon:s.createElement(N(),null),size:"L"},e({id:(0,x.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),s.createElement(D.ActionLayout,{startActions:s.createElement(p.SearchURLQuery,{label:e({id:"app.component.search.label",defaultMessage:"Search"})})}),s.createElement(D.ContentLayout,null,!M&&s.createElement(p.NoPermissions,null),(Ye||w)&&s.createElement(p.LoadingIndicatorPage,null),M&&H&&(H==null?void 0:H.length)?s.createElement(f.Table,{colCount:js,rowCount:_s},s.createElement(f.Thead,null,s.createElement(f.Tr,null,s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.name",defaultMessage:"Name"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.description",defaultMessage:"Description"}))),s.createElement(f.Th,null,s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},e({id:"global.users",defaultMessage:"Users"}))),s.createElement(f.Th,null,s.createElement(U.VisuallyHidden,null,e({id:"global.actions",defaultMessage:"Actions"}))))),s.createElement(lt,{sortedRoles:H,canDelete:k,permissions:T.Z,setRoleToDelete:m,onDelete:[o,n]})):s.createElement(p.EmptyStateLayout,{content:Ss[Is]})),s.createElement(p.ConfirmDialog,{isConfirmButtonLoading:c,onConfirm:Us,onToggleDialog:Ls,isOpen:o})))},ut=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(ct,null));var le=a(83281),L=a(90662),I=a(9808),ce=a(37178),ue=a(90353),dt=a(98599),pt=a.n(dt),mt=a(88677),de=a.n(mt),S=a(78330),Z=a(54788),j=a(92891);const pe=(0,s.createContext)({}),me=({children:r,value:e})=>s.createElement(pe.Provider,{value:e},r),Y=()=>(0,s.useContext)(pe);me.propTypes={children:h().node.isRequired,value:h().object.isRequired};var W=a(19615),gt=a(37213),ft=a.n(gt),Pt=a(15738),vt=a.n(Pt);const yt=r=>{switch(r){case"POST":return{text:"success600",border:"success200",background:"success100"};case"GET":return{text:"secondary600",border:"secondary200",background:"secondary100"};case"PUT":return{text:"warning600",border:"warning200",background:"warning100"};case"DELETE":return{text:"danger600",border:"danger200",background:"danger100"};default:return{text:"neutral600",border:"neutral200",background:"neutral100"}}},Et=(0,W.default)(I.Box)`
2
2
  margin: -1px;
3
3
  border-radius: ${({theme:r})=>r.spaces[1]} 0 0 ${({theme:r})=>r.spaces[1]};
4
- `;function J({route:r}){const{formatMessage:e}=(0,v.useIntl)(),{method:t,handler:i,path:u}=r,l=u?yt()(u.split("/")):[],[d="",o=""]=i?i.split("."):[],n=Et(r.method);return s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",s.createElement("span",null,d),s.createElement(P.Typography,{variant:"delta",textColor:"primary600"},".",o)),s.createElement(L.Stack,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},s.createElement(vt,{background:n.background,borderColor:n.border,padding:2},s.createElement(P.Typography,{fontWeight:"bold",textColor:n.text},t)),s.createElement(I.Box,{paddingLeft:2,paddingRight:2},ft()(l,c=>s.createElement(P.Typography,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const ht=J,Ot=()=>{const{formatMessage:r}=(0,v.useIntl)(),{selectedAction:e,routes:t}=Y(),i=(0,j.without)(e.split("."),"controllers"),u=(0,j.get)(t,i[0]),l=i.slice(1).join("."),d=(0,j.isEmpty)(u)?[]:u.filter(o=>o.handler.endsWith(l));return s.createElement(S.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?s.createElement(L.Stack,{spacing:2},d.map((o,n)=>s.createElement(ht,{key:n,route:o}))):s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},r({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},r({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var q=a(12001),Rt=a(23940),Ct=a.n(Rt);function bt(r){switch(r){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Ct()(r.replace("api::","").replace("plugin::",""))}}const Tt=bt;var Dt=a(98978),ge=a.n(Dt),fe=a(52111),At=a(42258),Lt=a.n(At);const Pe=W.css`
4
+ `;function J({route:r}){const{formatMessage:e}=(0,E.useIntl)(),{method:t,handler:i,path:u}=r,l=u?vt()(u.split("/")):[],[d="",o=""]=i?i.split("."):[],n=yt(r.method);return s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},e({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",s.createElement("span",null,d),s.createElement(P.Typography,{variant:"delta",textColor:"primary600"},".",o)),s.createElement(L.Stack,{horizontal:!0,hasRadius:!0,background:"neutral0",borderColor:"neutral200",spacing:0},s.createElement(Et,{background:n.background,borderColor:n.border,padding:2},s.createElement(P.Typography,{fontWeight:"bold",textColor:n.text},t)),s.createElement(I.Box,{paddingLeft:2,paddingRight:2},ft()(l,c=>s.createElement(P.Typography,{key:c,textColor:c.includes(":")?"neutral600":"neutral900"},"/",c)))))}J.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},J.propTypes={route:h().shape({handler:h().string,method:h().string,path:h().string})};const ht=J,Ot=()=>{const{formatMessage:r}=(0,E.useIntl)(),{selectedAction:e,routes:t}=Y(),i=(0,j.without)(e.split("."),"controllers"),u=(0,j.get)(t,i[0]),l=i.slice(1).join("."),d=(0,j.isEmpty)(u)?[]:u.filter(o=>o.handler.endsWith(l));return s.createElement(S.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},e?s.createElement(L.Stack,{spacing:2},d.map((o,n)=>s.createElement(ht,{key:n,route:o}))):s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h3"},r({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},r({id:"users-permissions.Policies.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};var q=a(12001),Rt=a(23940),Ct=a.n(Rt);function bt(r){switch(r){case"application":return"Application";case"plugin::content-manager":return"Content manager";case"plugin::content-type-builder":return"Content types builder";case"plugin::documentation":return"Documentation";case"plugin::email":return"Email";case"plugin::i18n":return"i18n";case"plugin::upload":return"Upload";case"plugin::users-permissions":return"Users-permissions";default:return Ct()(r.replace("api::","").replace("plugin::",""))}}const Tt=bt;var Dt=a(98978),ge=a.n(Dt),fe=a(52111),At=a(42258),Lt=a.n(At);const Pe=W.css`
5
5
  background: ${r=>r.theme.colors.primary100};
6
6
  svg {
7
7
  opacity: 1;
@@ -27,4 +27,4 @@
27
27
  flex: 1;
28
28
  align-self: center;
29
29
  border-top: 1px solid ${({theme:r})=>r.colors.neutral150};
30
- `,ye=({subCategory:r})=>{const{formatMessage:e}=(0,v.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=Y(),o=(0,s.useMemo)(()=>(0,j.get)(d,r.name,{}),[d,r]),n=(0,s.useMemo)(()=>Object.values(o).every(m=>m.enabled===!0),[o]),c=(0,s.useMemo)(()=>Object.values(o).some(m=>m.enabled===!0)&&!n,[o,n]),g=(0,s.useCallback)(({target:{name:m}})=>{i({target:{name:m,value:!n}})},[n,i]),y=(0,s.useCallback)(m=>l===m,[l]);return s.createElement(I.Box,null,s.createElement(Q.Flex,{justifyContent:"space-between",alignItems:"center"},s.createElement(I.Box,{paddingRight:4},s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},r.label)),s.createElement(wt,null),s.createElement(I.Box,{paddingLeft:4},s.createElement(fe.Checkbox,{name:r.name,value:n,onValueChange:m=>g({target:{name:r.name,value:m}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),s.createElement(Q.Flex,{paddingTop:6,paddingBottom:6},s.createElement(S.Grid,{gap:2,style:{flex:1}},r.actions.map(m=>{const R=`${m.name}.enabled`;return s.createElement(S.GridItem,{col:6,key:m.name},s.createElement(St,{isActive:y(m.name),padding:2,hasRadius:!0},s.createElement(fe.Checkbox,{value:(0,j.get)(d,R,!1),name:R,onValueChange:O=>t({target:{name:R,value:O}})},m.label),s.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(m.name),style:{display:"inline-flex",alignItems:"center"}},s.createElement(Lt(),null))))}))))};ye.propTypes={subCategory:h().object.isRequired};const Mt=ye;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,Ee=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,ve=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xt=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&ve(r,t,e[t]);if(Ee)for(var t of Ee(e))Bt.call(e,t)&&ve(r,t,e[t]);return r},Nt=(r,e)=>It(r,jt(e));const he=({name:r,permissions:e})=>{const t=(0,s.useMemo)(()=>ge()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${r}.controllers.${Object.keys(e.controllers)[l]}`,o=ge()(Object.keys(u).reduce((n,c)=>[...n,Nt(xt({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:o,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[r,e]);return s.createElement(I.Box,{padding:6},t.map(i=>s.createElement(Mt,{key:i.name,subCategory:i})))};he.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Gt=he;var Ft=Object.defineProperty,Zt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Re=(r,e,t)=>e in r?Ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ht=(r,e)=>{for(var t in e||(e={}))kt.call(e,t)&&Re(r,t,e[t]);if(Oe)for(var t of Oe(e))Vt.call(e,t)&&Re(r,t,e[t]);return r},Wt=(r,e)=>Zt(r,$t(e));const zt=(r,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Wt(Ht({},r),{collapses:t})};var z=a(49415),Kt=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,be=(r,e,t)=>e in r?Kt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Te=(r,e)=>{for(var t in e||(e={}))Yt.call(e,t)&&be(r,t,e[t]);if(Ce)for(var t of Ce(e))Jt.call(e,t)&&be(r,t,e[t]);return r},De=(r,e)=>Qt(r,Xt(e));const qt={collapses:[]},er=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=r.collapses.map((i,u)=>u===e.index?De(Te({},i),{isOpen:!i.isOpen}):De(Te({},i),{isOpen:!1}));break}default:return t}}),tr=()=>{const{modifiedData:r}=Y(),{formatMessage:e}=(0,v.useIntl)(),[{collapses:t},i]=(0,s.useReducer)(er,qt,l=>zt(l,r)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return s.createElement(L.Stack,{spacing:1},t.map((l,d)=>s.createElement(q.Accordion,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},s.createElement(q.AccordionToggle,{title:Tt(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),s.createElement(q.AccordionContent,null,s.createElement(I.Box,null,s.createElement(Gt,{permissions:r[l.name],name:l.name}))))))};var rr=Object.defineProperty,sr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,Le=(r,e,t)=>e in r?rr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ir=(r,e)=>{for(var t in e||(e={}))or.call(e,t)&&Le(r,t,e[t]);if(Ae)for(var t of Ae(e))ar.call(e,t)&&Le(r,t,e[t]);return r},lr=(r,e)=>sr(r,nr(e));const cr={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},ur=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,j.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,j.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,j.get)(r,i,{}),l=Object.keys(u).reduce((d,o)=>(d[o]=lr(ir({},u[o]),{enabled:e.value}),d),{});(0,j.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=r.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=r.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===r.selectedAction?"":i;break}default:return t}});var dr=Object.defineProperty,pr=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,we=(r,e,t)=>e in r?dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e)=>{for(var t in e||(e={}))gr.call(e,t)&&we(r,t,e[t]);if(Se)for(var t of Se(e))fr.call(e,t)&&we(r,t,e[t]);return r},yr=(r,e)=>pr(r,mr(e));const Er=(r,e,t)=>yr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var vr=Object.defineProperty,hr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ue=(r,e,t)=>e in r?vr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,br=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ue(r,t,e[t]);if(Me)for(var t of Me(e))Cr.call(e,t)&&Ue(r,t,e[t]);return r},Tr=(r,e)=>hr(r,Or(e));const Ie=(0,s.forwardRef)(({permissions:r,routes:e},t)=>{const{formatMessage:i}=(0,v.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>Er(g,r,e));(0,s.useImperativeHandle)(t,()=>({getPermissions:()=>({permissions:u.modifiedData}),resetForm:()=>{l({type:"ON_RESET"})},setFormAfterSubmit:()=>{l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:y}})=>l({type:"ON_CHANGE",keys:g.split("."),value:y==="empty__string_value"?"":y}),o=({target:{name:g,value:y}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:y}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=Tr(br({},u),{onChange:d,onChangeSelectAll:o,onSelectedAction:n});return s.createElement(me,{value:c},s.createElement(S.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},s.createElement(S.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:6},s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h2"},i({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},i({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),s.createElement(tr,null))),s.createElement(Ot,null)))});Ie.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const je=(0,s.memo)(Ie),Ws={isLoading:!0,modifiedData:{}},zs=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Ks=null;var Dr=a(98399),Ar=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Qs=(r,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),o=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ar(void 0,null,function*(){try{d({type:"GET_DATA"});const R=yield request(getRequestURL(r),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){n.current&&(d({type:"GET_DATA_ERROR"}),Dr.error(R),o({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,r]);const y=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:y,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},Xs=null;var Lr=Object.defineProperty,Sr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Be=(r,e,t)=>e in r?Lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ir=(r,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Be(r,t,e[t]);if(_e)for(var t of _e(e))Ur.call(e,t)&&Be(r,t,e[t]);return r},jr=(r,e)=>Sr(r,wr(e));const Ys=(r,e)=>jr(Ir({},r),{isLoading:e}),Js=null,qs={roles:[],isLoading:!0},en=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),tn=null;var _r=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const rn=(r=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,r)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:o}=d;useEffect(()=>(r&&n(),()=>{d.abort(),l.current=!1}),[r]);const n=()=>_r(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:o});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},sn=null;var Br=Object.defineProperty,xr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ne=(r,e,t)=>e in r?Br(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Zr=(r,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&Ne(r,t,e[t]);if(xe)for(var t of xe(e))Fr.call(e,t)&&Ne(r,t,e[t]);return r},$r=(r,e)=>xr(r,Nr(e));const kr=(r,e)=>$r(Zr({},r),{isLoading:e});var K=a(54080);const Ge={permissions:{},routes:{},isLoading:!0},Vr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var Fe=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Ze=(r=!0)=>{const e=(0,p.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,s.useReducer)(Vr,Ge,()=>kr(Ge,r)),d=(0,s.useCallback)(()=>Fe(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:o},{routes:n}]=yield Promise.all([`/${b.Z}/permissions`,`/${b.Z}/routes`].map(c=>Fe(this,null,function*(){return(yield K.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,x.YX)(o),routes:n})}catch(o){const n=(0,j.get)(o,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,s.useEffect)(()=>{r&&d()},[d,r]),{permissions:t,routes:i,getData:d,isLoading:u}},Hr={role:{},isLoading:!0},Wr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var zr=a(98399),Kr=Object.defineProperty,Qr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ke=(r,e,t)=>e in r?Kr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ve=(r,e)=>{for(var t in e||(e={}))Yr.call(e,t)&&ke(r,t,e[t]);if($e)for(var t of $e(e))Jr.call(e,t)&&ke(r,t,e[t]);return r},qr=(r,e)=>Qr(r,Xr(e)),es=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ts=r=>{const[e,t]=(0,s.useReducer)(Wr,Hr),i=(0,p.useNotification)(),u=(0,s.useRef)(null);(0,s.useEffect)(()=>(u.current=!0,r?l(r):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[r]);const l=o=>es(void 0,null,function*(){try{const{data:{role:n}}=yield K.Z.get(`/${b.Z}/roles/${o}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){zr.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,s.useCallback)(o=>{t(Ve({type:"ON_SUBMIT_SUCCEEDED"},o))},[]);return qr(Ve({},e),{onSubmitSucceeded:d})};var $=a(5173);const rs=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var ss=a(98399),ns=Object.defineProperty,os=Object.defineProperties,as=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?ns(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ze=(r,e)=>{for(var t in e||(e={}))is.call(e,t)&&We(r,t,e[t]);if(He)for(var t of He(e))ls.call(e,t)&&We(r,t,e[t]);return r},cs=(r,e)=>os(r,as(e)),us=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ds=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{lockApp:u,unlockApp:l}=(0,p.useOverlayBlocker)(),{params:{id:d}}=(0,C.useRouteMatch)(`/settings/${b.Z}/roles/:id`),{isLoading:o,routes:n}=Ze(),{role:c,onSubmitSucceeded:g,isLoading:y}=ts(d),m=(0,s.useRef)(),R=O=>us(void 0,null,function*(){u(),t(!0);try{const w=m.current.getPermissions();yield K.Z.put(`/${b.Z}/roles/${d}`,cs(ze(ze({},O),w),{users:[]})),g({name:O.name,description:O.description}),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(w){ss.error(w),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return y?s.createElement(p.LoadingIndicatorPage,null):s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:R,validationSchema:rs},({handleSubmit:O,values:w,handleChange:M,errors:k})=>s.createElement(p.Form,{noValidate:!0,onSubmit:O},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:s.createElement(p.Link,{startIcon:s.createElement(pt(),null),to:"/settings/users-permissions/roles"},r({id:"global.back",defaultMessage:"Back"}))}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:w.name||"",onChange:M,label:r({id:"global.name",defaultMessage:"Name"}),error:k.name?r({id:k.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:w.description||"",onChange:M,label:r({id:"global.description",defaultMessage:"Description"}),error:k.description?r({id:k.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:m,permissions:c.permissions,routes:n}))))))},ps=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.updateRole},s.createElement(ds,null)),ms=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var gs=a(98399),fs=Object.defineProperty,Ps=Object.defineProperties,ys=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,Es=Object.prototype.hasOwnProperty,vs=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?fs(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xe=(r,e)=>{for(var t in e||(e={}))Es.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))vs.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,ys(e)),Os=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Rs=()=>{const{formatMessage:r}=(0,v.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{goBack:u}=(0,C.useHistory)(),{lockApp:l,unlockApp:d}=(0,p.useOverlayBlocker)(),{isLoading:o,permissions:n,routes:c}=Ze(),{trackUsage:g}=(0,p.useTracking)(),y=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=y.current.getPermissions();yield K.Z.post(`/${b.Z}/roles`,hs(Xe(Xe({},R),O),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(O){gs.error(O),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return s.createElement(E.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:m,validationSchema:ms},({handleSubmit:R,values:O,handleChange:w,errors:M})=>s.createElement(p.Form,{noValidate:!0,onSubmit:R},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:r({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:r({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:O.name||"",onChange:w,label:r({id:"global.name",defaultMessage:"Name"}),error:M.name?r({id:M.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:O.description||"",onChange:w,label:r({id:"global.description",defaultMessage:"Description"}),error:M.description?r({id:M.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:y,permissions:n,routes:c}))))))},Cs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.createRole},s.createElement(Rs,null)),bs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(C.Switch,null,s.createElement(C.Route,{path:`/settings/${b.Z}/roles/new`,component:Cs,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles/:id`,component:ps,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles`,component:ut,exact:!0}),s.createElement(C.Route,{path:"",component:p.NotFound})))},54080:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(83985),b=a.n(p),T=(E,f,U)=>new Promise((P,B)=>{var F=A=>{try{v(U.next(A))}catch(V){B(V)}},N=A=>{try{v(U.throw(A))}catch(V){B(V)}},v=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);v((U=U.apply(E,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(E=>T(void 0,null,function*(){return E.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},E}),E=>{Promise.reject(E)}),_.interceptors.response.use(E=>E,E=>{var f;throw((f=E.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),E});const D=_},13810:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>E.Z});var s=a(54080),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,v)=>((0,C.isEmpty)(B[v])||(N[v]=B[v]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(46354);const D=f=>`/${T.Z}/${f}`;var E=a(39650)}}]);
30
+ `,ve=({subCategory:r})=>{const{formatMessage:e}=(0,E.useIntl)(),{onChange:t,onChangeSelectAll:i,onSelectedAction:u,selectedAction:l,modifiedData:d}=Y(),o=(0,s.useMemo)(()=>(0,j.get)(d,r.name,{}),[d,r]),n=(0,s.useMemo)(()=>Object.values(o).every(m=>m.enabled===!0),[o]),c=(0,s.useMemo)(()=>Object.values(o).some(m=>m.enabled===!0)&&!n,[o,n]),g=(0,s.useCallback)(({target:{name:m}})=>{i({target:{name:m,value:!n}})},[n,i]),v=(0,s.useCallback)(m=>l===m,[l]);return s.createElement(I.Box,null,s.createElement(Q.Flex,{justifyContent:"space-between",alignItems:"center"},s.createElement(I.Box,{paddingRight:4},s.createElement(P.Typography,{variant:"sigma",textColor:"neutral600"},r.label)),s.createElement(wt,null),s.createElement(I.Box,{paddingLeft:4},s.createElement(fe.Checkbox,{name:r.name,value:n,onValueChange:m=>g({target:{name:r.name,value:m}}),indeterminate:c},e({id:"app.utils.select-all",defaultMessage:"Select all"})))),s.createElement(Q.Flex,{paddingTop:6,paddingBottom:6},s.createElement(S.Grid,{gap:2,style:{flex:1}},r.actions.map(m=>{const R=`${m.name}.enabled`;return s.createElement(S.GridItem,{col:6,key:m.name},s.createElement(St,{isActive:v(m.name),padding:2,hasRadius:!0},s.createElement(fe.Checkbox,{value:(0,j.get)(d,R,!1),name:R,onValueChange:O=>t({target:{name:R,value:O}})},m.label),s.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>u(m.name),style:{display:"inline-flex",alignItems:"center"}},s.createElement(Lt(),null))))}))))};ve.propTypes={subCategory:h().object.isRequired};const Mt=ve;var Ut=Object.defineProperty,It=Object.defineProperties,jt=Object.getOwnPropertyDescriptors,ye=Object.getOwnPropertySymbols,_t=Object.prototype.hasOwnProperty,Bt=Object.prototype.propertyIsEnumerable,Ee=(r,e,t)=>e in r?Ut(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,xt=(r,e)=>{for(var t in e||(e={}))_t.call(e,t)&&Ee(r,t,e[t]);if(ye)for(var t of ye(e))Bt.call(e,t)&&Ee(r,t,e[t]);return r},Nt=(r,e)=>It(r,jt(e));const he=({name:r,permissions:e})=>{const t=(0,s.useMemo)(()=>ge()(Object.values(e.controllers).reduce((i,u,l)=>{const d=`${r}.controllers.${Object.keys(e.controllers)[l]}`,o=ge()(Object.keys(u).reduce((n,c)=>[...n,Nt(xt({},u[c]),{label:c,name:`${d}.${c}`})],[]),"label");return[...i,{actions:o,label:Object.keys(e.controllers)[l],name:d}]},[]),"label"),[r,e]);return s.createElement(I.Box,{padding:6},t.map(i=>s.createElement(Mt,{key:i.name,subCategory:i})))};he.propTypes={name:h().string.isRequired,permissions:h().object.isRequired};const Gt=he;var Ft=Object.defineProperty,Zt=Object.defineProperties,$t=Object.getOwnPropertyDescriptors,Oe=Object.getOwnPropertySymbols,kt=Object.prototype.hasOwnProperty,Vt=Object.prototype.propertyIsEnumerable,Re=(r,e,t)=>e in r?Ft(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ht=(r,e)=>{for(var t in e||(e={}))kt.call(e,t)&&Re(r,t,e[t]);if(Oe)for(var t of Oe(e))Vt.call(e,t)&&Re(r,t,e[t]);return r},Wt=(r,e)=>Zt(r,$t(e));const zt=(r,e)=>{const t=Object.keys(e).sort().map(i=>({name:i,isOpen:!1}));return Wt(Ht({},r),{collapses:t})};var z=a(49415),Kt=Object.defineProperty,Qt=Object.defineProperties,Xt=Object.getOwnPropertyDescriptors,Ce=Object.getOwnPropertySymbols,Yt=Object.prototype.hasOwnProperty,Jt=Object.prototype.propertyIsEnumerable,be=(r,e,t)=>e in r?Kt(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Te=(r,e)=>{for(var t in e||(e={}))Yt.call(e,t)&&be(r,t,e[t]);if(Ce)for(var t of Ce(e))Jt.call(e,t)&&be(r,t,e[t]);return r},De=(r,e)=>Qt(r,Xt(e));const qt={collapses:[]},er=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"TOGGLE_COLLAPSE":{t.collapses=r.collapses.map((i,u)=>u===e.index?De(Te({},i),{isOpen:!i.isOpen}):De(Te({},i),{isOpen:!1}));break}default:return t}}),tr=()=>{const{modifiedData:r}=Y(),{formatMessage:e}=(0,E.useIntl)(),[{collapses:t},i]=(0,s.useReducer)(er,qt,l=>zt(l,r)),u=l=>i({type:"TOGGLE_COLLAPSE",index:l});return s.createElement(L.Stack,{spacing:1},t.map((l,d)=>s.createElement(q.Accordion,{expanded:l.isOpen,onToggle:()=>u(d),key:l.name,variant:d%2===0?"secondary":void 0},s.createElement(q.AccordionToggle,{title:Tt(l.name),description:e({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:l.name}),variant:d%2?"primary":"secondary"}),s.createElement(q.AccordionContent,null,s.createElement(I.Box,null,s.createElement(Gt,{permissions:r[l.name],name:l.name}))))))};var rr=Object.defineProperty,sr=Object.defineProperties,nr=Object.getOwnPropertyDescriptors,Ae=Object.getOwnPropertySymbols,or=Object.prototype.hasOwnProperty,ar=Object.prototype.propertyIsEnumerable,Le=(r,e,t)=>e in r?rr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ir=(r,e)=>{for(var t in e||(e={}))or.call(e,t)&&Le(r,t,e[t]);if(Ae)for(var t of Ae(e))ar.call(e,t)&&Le(r,t,e[t]);return r},lr=(r,e)=>sr(r,nr(e));const cr={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]},ur=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"ON_CHANGE":{const i=e.keys.length,u=e.keys[i-1]==="enabled";if(e.value&&u){const l=(0,j.take)(e.keys,i-1).join(".");t.selectedAction=l}(0,j.set)(t,["modifiedData",...e.keys],e.value);break}case"ON_CHANGE_SELECT_ALL":{const i=["modifiedData",...e.keys],u=(0,j.get)(r,i,{}),l=Object.keys(u).reduce((d,o)=>(d[o]=lr(ir({},u[o]),{enabled:e.value}),d),{});(0,j.set)(t,i,l);break}case"ON_RESET":{t.modifiedData=r.initialData;break}case"ON_SUBMIT_SUCCEEDED":{t.initialData=r.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:i}=e;t.selectedAction=i===r.selectedAction?"":i;break}default:return t}});var dr=Object.defineProperty,pr=Object.defineProperties,mr=Object.getOwnPropertyDescriptors,Se=Object.getOwnPropertySymbols,gr=Object.prototype.hasOwnProperty,fr=Object.prototype.propertyIsEnumerable,we=(r,e,t)=>e in r?dr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Pr=(r,e)=>{for(var t in e||(e={}))gr.call(e,t)&&we(r,t,e[t]);if(Se)for(var t of Se(e))fr.call(e,t)&&we(r,t,e[t]);return r},vr=(r,e)=>pr(r,mr(e));const yr=(r,e,t)=>vr(Pr({},r),{initialData:e,modifiedData:e,routes:t});var Er=Object.defineProperty,hr=Object.defineProperties,Or=Object.getOwnPropertyDescriptors,Me=Object.getOwnPropertySymbols,Rr=Object.prototype.hasOwnProperty,Cr=Object.prototype.propertyIsEnumerable,Ue=(r,e,t)=>e in r?Er(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,br=(r,e)=>{for(var t in e||(e={}))Rr.call(e,t)&&Ue(r,t,e[t]);if(Me)for(var t of Me(e))Cr.call(e,t)&&Ue(r,t,e[t]);return r},Tr=(r,e)=>hr(r,Or(e));const Ie=(0,s.forwardRef)(({permissions:r,routes:e},t)=>{const{formatMessage:i}=(0,E.useIntl)(),[u,l]=(0,s.useReducer)(ur,cr,g=>yr(g,r,e));(0,s.useImperativeHandle)(t,()=>({getPermissions:()=>({permissions:u.modifiedData}),resetForm:()=>{l({type:"ON_RESET"})},setFormAfterSubmit:()=>{l({type:"ON_SUBMIT_SUCCEEDED"})}}));const d=({target:{name:g,value:v}})=>l({type:"ON_CHANGE",keys:g.split("."),value:v==="empty__string_value"?"":v}),o=({target:{name:g,value:v}})=>l({type:"ON_CHANGE_SELECT_ALL",keys:g.split("."),value:v}),n=g=>l({type:"SELECT_ACTION",actionToSelect:g}),c=Tr(br({},u),{onChange:d,onChangeSelectAll:o,onSelectedAction:n});return s.createElement(me,{value:c},s.createElement(S.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},s.createElement(S.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:6},s.createElement(L.Stack,{spacing:2},s.createElement(P.Typography,{variant:"delta",as:"h2"},i({id:(0,Z.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),s.createElement(P.Typography,{as:"p",textColor:"neutral600"},i({id:(0,Z.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),s.createElement(tr,null))),s.createElement(Ot,null)))});Ie.propTypes={permissions:h().object.isRequired,routes:h().object.isRequired};const je=(0,s.memo)(Ie),Ws={isLoading:!0,modifiedData:{}},zs=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.modifiedData={};break}case"GET_DATA_SUCCEEDED":{t.isLoading=!1,t.modifiedData=e.data;break}case"GET_DATA_ERROR":{t.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{t.modifiedData=e.data;break}default:return t}}),Ks=null;var Dr=a(98399),Ar=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Qs=(r,e)=>{const{isLoading:t,allowedActions:i}=useRBAC(e),[{isLoading:u,modifiedData:l},d]=useReducer(reducer,initialState),o=useNotification(),n=useRef(!0),c=new AbortController,{signal:g}=c;useEffect(()=>(t||(()=>Ar(void 0,null,function*(){try{d({type:"GET_DATA"});const R=yield request(getRequestURL(r),{method:"GET",signal:g});d({type:"GET_DATA_SUCCEEDED",data:R})}catch(R){n.current&&(d({type:"GET_DATA_ERROR"}),Dr.error(R),o({type:"warning",message:{id:"notification.error"}}))}}))(),()=>{c.abort(),n.current=!1}),[t,r]);const v=useCallback(m=>{d({type:"ON_SUBMIT_SUCCEEDED",data:m})},[]);return{allowedActions:i,dispatchSubmitSucceeded:v,isLoading:u,isLoadingForPermissions:t,modifiedData:l}},Xs=null;var Lr=Object.defineProperty,Sr=Object.defineProperties,wr=Object.getOwnPropertyDescriptors,_e=Object.getOwnPropertySymbols,Mr=Object.prototype.hasOwnProperty,Ur=Object.prototype.propertyIsEnumerable,Be=(r,e,t)=>e in r?Lr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ir=(r,e)=>{for(var t in e||(e={}))Mr.call(e,t)&&Be(r,t,e[t]);if(_e)for(var t of _e(e))Ur.call(e,t)&&Be(r,t,e[t]);return r},jr=(r,e)=>Sr(r,wr(e));const Ys=(r,e)=>jr(Ir({},r),{isLoading:e}),Js=null,qs={roles:[],isLoading:!0},en=(r,e)=>produce(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.roles=[];break}case"GET_DATA_SUCCEEDED":{t.roles=e.data,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}}),tn=null;var _r=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const rn=(r=!0)=>{const[{roles:e,isLoading:t},i]=useReducer(reducer,initialState,()=>init(initialState,r)),u=useNotification(),l=useRef(!0),d=new AbortController,{signal:o}=d;useEffect(()=>(r&&n(),()=>{d.abort(),l.current=!1}),[r]);const n=()=>_r(void 0,null,function*(){try{i({type:"GET_DATA"});const{roles:c}=yield request(`/${pluginId}/roles`,{method:"GET",signal:o});i({type:"GET_DATA_SUCCEEDED",data:c})}catch(c){const g=get(c,["response","payload","message"],"An error occured");l.current&&(i({type:"GET_DATA_ERROR"}),g!=="Forbidden"&&u({type:"warning",message:g}))}});return{roles:e,isLoading:t,getData:n}},sn=null;var Br=Object.defineProperty,xr=Object.defineProperties,Nr=Object.getOwnPropertyDescriptors,xe=Object.getOwnPropertySymbols,Gr=Object.prototype.hasOwnProperty,Fr=Object.prototype.propertyIsEnumerable,Ne=(r,e,t)=>e in r?Br(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Zr=(r,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&Ne(r,t,e[t]);if(xe)for(var t of xe(e))Fr.call(e,t)&&Ne(r,t,e[t]);return r},$r=(r,e)=>xr(r,Nr(e));const kr=(r,e)=>$r(Zr({},r),{isLoading:e});var K=a(26548);const Ge={permissions:{},routes:{},isLoading:!0},Vr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA":{t.isLoading=!0,t.permissions={},t.routes={};break}case"GET_DATA_SUCCEEDED":{t.permissions=e.permissions,t.routes=e.routes,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}default:return t}});var Fe=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Ze=(r=!0)=>{const e=(0,p.useNotification)(),[{permissions:t,routes:i,isLoading:u},l]=(0,s.useReducer)(Vr,Ge,()=>kr(Ge,r)),d=(0,s.useCallback)(()=>Fe(void 0,null,function*(){try{l({type:"GET_DATA"});const[{permissions:o},{routes:n}]=yield Promise.all([`/${b.Z}/permissions`,`/${b.Z}/routes`].map(c=>Fe(void 0,null,function*(){return(yield K.Z.get(c)).data})));l({type:"GET_DATA_SUCCEEDED",permissions:(0,x.YX)(o),routes:n})}catch(o){const n=(0,j.get)(o,["response","payload","message"],"An error occured");l({type:"GET_DATA_ERROR"}),n!=="Forbidden"&&e({type:"warning",message:n})}}),[e]);return(0,s.useEffect)(()=>{r&&d()},[d,r]),{permissions:t,routes:i,getData:d,isLoading:u}},Hr={role:{},isLoading:!0},Wr=(r,e)=>(0,z.default)(r,t=>{switch(e.type){case"GET_DATA_SUCCEEDED":{t.role=e.role,t.isLoading=!1;break}case"GET_DATA_ERROR":{t.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{t.role.name=e.name,t.role.description=e.description;break}default:return t}});var zr=a(98399),Kr=Object.defineProperty,Qr=Object.defineProperties,Xr=Object.getOwnPropertyDescriptors,$e=Object.getOwnPropertySymbols,Yr=Object.prototype.hasOwnProperty,Jr=Object.prototype.propertyIsEnumerable,ke=(r,e,t)=>e in r?Kr(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Ve=(r,e)=>{for(var t in e||(e={}))Yr.call(e,t)&&ke(r,t,e[t]);if($e)for(var t of $e(e))Jr.call(e,t)&&ke(r,t,e[t]);return r},qr=(r,e)=>Qr(r,Xr(e)),es=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ts=r=>{const[e,t]=(0,s.useReducer)(Wr,Hr),i=(0,p.useNotification)(),u=(0,s.useRef)(null);(0,s.useEffect)(()=>(u.current=!0,r?l(r):t({type:"GET_DATA_SUCCEEDED",role:{}}),()=>u.current=!1),[r]);const l=o=>es(void 0,null,function*(){try{const{data:{role:n}}=yield K.Z.get(`/${b.Z}/roles/${o}`);u.current&&t({type:"GET_DATA_SUCCEEDED",role:n})}catch(n){zr.error(n),t({type:"GET_DATA_ERROR"}),i({type:"warning",message:{id:"notification.error"}})}}),d=(0,s.useCallback)(o=>{t(Ve({type:"ON_SUBMIT_SUCCEEDED"},o))},[]);return qr(Ve({},e),{onSubmitSucceeded:d})};var $=a(5173);const rs=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var ss=a(98399),ns=Object.defineProperty,os=Object.defineProperties,as=Object.getOwnPropertyDescriptors,He=Object.getOwnPropertySymbols,is=Object.prototype.hasOwnProperty,ls=Object.prototype.propertyIsEnumerable,We=(r,e,t)=>e in r?ns(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,ze=(r,e)=>{for(var t in e||(e={}))is.call(e,t)&&We(r,t,e[t]);if(He)for(var t of He(e))ls.call(e,t)&&We(r,t,e[t]);return r},cs=(r,e)=>os(r,as(e)),us=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const ds=()=>{const{formatMessage:r}=(0,E.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{lockApp:u,unlockApp:l}=(0,p.useOverlayBlocker)(),{params:{id:d}}=(0,C.useRouteMatch)(`/settings/${b.Z}/roles/:id`),{isLoading:o,routes:n}=Ze(),{role:c,onSubmitSucceeded:g,isLoading:v}=ts(d),m=(0,s.useRef)(),R=O=>us(void 0,null,function*(){u(),t(!0);try{const w=m.current.getPermissions();yield K.Z.put(`/${b.Z}/roles/${d}`,cs(ze(ze({},O),w),{users:[]})),g({name:O.name,description:O.description}),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(w){ss.error(w),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),l()});return v?s.createElement(p.LoadingIndicatorPage,null):s.createElement(y.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:c.name,description:c.description},onSubmit:R,validationSchema:rs},({handleSubmit:O,values:w,handleChange:M,errors:k})=>s.createElement(p.Form,{noValidate:!0,onSubmit:O},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{disabled:c.code==="strapi-super-admin",type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:c.name,subtitle:c.description,navigationAction:s.createElement(p.Link,{startIcon:s.createElement(pt(),null),to:"/settings/users-permissions/roles"},r({id:"global.back",defaultMessage:"Back"}))}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:w.name||"",onChange:M,label:r({id:"global.name",defaultMessage:"Name"}),error:k.name?r({id:k.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:w.description||"",onChange:M,label:r({id:"global.description",defaultMessage:"Description"}),error:k.description?r({id:k.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:m,permissions:c.permissions,routes:n}))))))},ps=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.updateRole},s.createElement(ds,null)),ms=$.Ry().shape({name:$.Z_().required(p.translatedErrors.required),description:$.Z_().required(p.translatedErrors.required)});var gs=a(98399),fs=Object.defineProperty,Ps=Object.defineProperties,vs=Object.getOwnPropertyDescriptors,Ke=Object.getOwnPropertySymbols,ys=Object.prototype.hasOwnProperty,Es=Object.prototype.propertyIsEnumerable,Qe=(r,e,t)=>e in r?fs(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t,Xe=(r,e)=>{for(var t in e||(e={}))ys.call(e,t)&&Qe(r,t,e[t]);if(Ke)for(var t of Ke(e))Es.call(e,t)&&Qe(r,t,e[t]);return r},hs=(r,e)=>Ps(r,vs(e)),Os=(r,e,t)=>new Promise((i,u)=>{var l=n=>{try{o(t.next(n))}catch(c){u(c)}},d=n=>{try{o(t.throw(n))}catch(c){u(c)}},o=n=>n.done?i(n.value):Promise.resolve(n.value).then(l,d);o((t=t.apply(r,e)).next())});const Rs=()=>{const{formatMessage:r}=(0,E.useIntl)(),[e,t]=(0,s.useState)(!1),i=(0,p.useNotification)(),{goBack:u}=(0,C.useHistory)(),{lockApp:l,unlockApp:d}=(0,p.useOverlayBlocker)(),{isLoading:o,permissions:n,routes:c}=Ze(),{trackUsage:g}=(0,p.useTracking)(),v=(0,s.useRef)(),m=R=>Os(void 0,null,function*(){l(),t(!0);try{const O=v.current.getPermissions();yield K.Z.post(`/${b.Z}/roles`,hs(Xe(Xe({},R),O),{users:[]})),g("didCreateRole"),i({type:"success",message:{id:(0,Z.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),u()}catch(O){gs.error(O),i({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}t(!1),d()});return s.createElement(y.Main,null,s.createElement(p.SettingsPageTitle,{name:"Roles"}),s.createElement(le.Formik,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:m,validationSchema:ms},({handleSubmit:R,values:O,handleChange:w,errors:M})=>s.createElement(p.Form,{noValidate:!0,onSubmit:R},s.createElement(D.HeaderLayout,{primaryAction:!o&&s.createElement(_.Button,{type:"submit",loading:e,startIcon:s.createElement(de(),null)},r({id:"global.save",defaultMessage:"Save"})),title:r({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:r({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),s.createElement(D.ContentLayout,null,s.createElement(L.Stack,{spacing:7},s.createElement(I.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},s.createElement(L.Stack,{spacing:4},s.createElement(P.Typography,{variant:"delta",as:"h2"},r({id:(0,Z.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),s.createElement(S.Grid,{gap:4},s.createElement(S.GridItem,{col:6},s.createElement(ce.TextInput,{name:"name",value:O.name||"",onChange:w,label:r({id:"global.name",defaultMessage:"Name"}),error:M.name?r({id:M.name,defaultMessage:"Invalid value"}):null})),s.createElement(S.GridItem,{col:6},s.createElement(ue.Textarea,{name:"description",value:O.description||"",onChange:w,label:r({id:"global.description",defaultMessage:"Description"}),error:M.description?r({id:M.description,defaultMessage:"Invalid value"}):null}))))),!o&&s.createElement(je,{ref:v,permissions:n,routes:c}))))))},Cs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.createRole},s.createElement(Rs,null)),bs=()=>s.createElement(p.CheckPagePermissions,{permissions:T.Z.accessRoles},s.createElement(C.Switch,null,s.createElement(C.Route,{path:`/settings/${b.Z}/roles/new`,component:Cs,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles/:id`,component:ps,exact:!0}),s.createElement(C.Route,{path:`/settings/${b.Z}/roles`,component:ut,exact:!0}),s.createElement(C.Route,{path:"",component:p.NotFound})))},26548:(te,G,a)=>{a.d(G,{Z:()=>D});var s=a(43653),C=a.n(s),p=a(55851),b=a.n(p),T=(y,f,U)=>new Promise((P,B)=>{var F=A=>{try{E(U.next(A))}catch(V){B(V)}},N=A=>{try{E(U.throw(A))}catch(V){B(V)}},E=A=>A.done?P(A.value):Promise.resolve(A.value).then(F,N);E((U=U.apply(y,f)).next())});const _=C().create({baseURL:"http://localhost:1337"});_.interceptors.request.use(y=>T(void 0,null,function*(){return y.headers={Authorization:`Bearer ${p.auth.getToken()}`,Accept:"application/json","Content-Type":"application/json"},y}),y=>{Promise.reject(y)}),_.interceptors.response.use(y=>y,y=>{var f;throw((f=y.response)==null?void 0:f.status)===401&&(p.auth.clearAppStorage(),window.location.reload()),y});const D=_},94821:(te,G,a)=>{a.d(G,{be:()=>s.Z,YX:()=>b,Gc:()=>D,OB:()=>y.Z});var s=a(26548),C=a(92891);const b=f=>Object.keys(f).reduce((U,P)=>{const B=f[P].controllers,F=Object.keys(B).reduce((N,E)=>((0,C.isEmpty)(B[E])||(N[E]=B[E]),N),{});return(0,C.isEmpty)(F)||(U[P]={controllers:F}),U},{});var T=a(92841);const D=f=>`/${T.Z}/${f}`;var y=a(54788)}}]);
@@ -1,4 +1,4 @@
1
- (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,A,a){(function(e,i){B.exports=i(a(32735))})(this,function(e){return function(i){var P={};function c(o){if(P[o])return P[o].exports;var g=P[o]={i:o,l:!1,exports:{}};return i[o].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=P,c.d=function(o,g,v){c.o(o,g)||Object.defineProperty(o,g,{enumerable:!0,get:v})},c.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},c.t=function(o,g){if(1&g&&(o=c(o)),8&g||4&g&&typeof o=="object"&&o&&o.__esModule)return o;var v=Object.create(null);if(c.r(v),Object.defineProperty(v,"default",{enumerable:!0,value:o}),2&g&&typeof o!="string")for(var k in o)c.d(v,k,function(d){return o[d]}.bind(null,k));return v},c.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return c.d(g,"a",g),g},c.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},c.p="",c(c.s=145)}({0:function(i,P){i.exports=e},145:function(i,P,c){"use strict";c.r(P);var o=c(0);function g(){return(g=Object.assign||function(v){for(var k=1;k<arguments.length;k++){var d=arguments[k];for(var V in d)Object.prototype.hasOwnProperty.call(d,V)&&(v[V]=d[V])}return v}).apply(this,arguments)}P.default=function(v){return o.createElement("svg",g({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v),o.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})},1430:(B,A,a)=>{"use strict";a.d(A,{Z:()=>it});var e=a(32735),i=a(83985),P=a(16540),c=a(84968),o=a(5141),g=a(28492),v=a(81999),k=a(60216),d=a.n(k),V=a(98599),Ee=a.n(V),ye=a(88677),Y=a.n(ye),be=a(49750),Pe=a.n(be),q=a(11856),F=a(9808),_=a(44526),S=a(90662),z=a(37178),O=a(78330),D=a(83281),L=a(5636),ee=a(20001),I=a(95602),te=a(19615),Ce=a(35980),Oe=a(52111),Me=a(23940),Se=a.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:s,handleChange:m,handleChangeAll:E})=>{const b=r.filter(u=>!n.includes(u)),l=s.length===b.length,f=s.length>0,y=({target:{name:u}})=>{E({target:{name:u,value:!l}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:f&&!l,"aria-label":"Select all entries",name:t,onChange:y,value:l},Se()(t))),r.map(u=>e.createElement("td",{key:u},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(u),"aria-label":u,name:u,value:s.includes(u),onValueChange:h=>m({target:{name:u,value:h}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange:()=>{},handleChangeAll:()=>{}},H.propTypes={disabledEvents:d().array,events:d().array,inputValue:d().array,handleChange:d().func,handleChangeAll:d().func,name:d().string.isRequired};const Ie=H,xe=n=>n.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Te=te.default.table`
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{49750:function(B,A,a){(function(e,i){B.exports=i(a(32735))})(this,function(e){return function(i){var P={};function c(o){if(P[o])return P[o].exports;var g=P[o]={i:o,l:!1,exports:{}};return i[o].call(g.exports,g,g.exports,c),g.l=!0,g.exports}return c.m=i,c.c=P,c.d=function(o,g,v){c.o(o,g)||Object.defineProperty(o,g,{enumerable:!0,get:v})},c.r=function(o){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},c.t=function(o,g){if(1&g&&(o=c(o)),8&g||4&g&&typeof o=="object"&&o&&o.__esModule)return o;var v=Object.create(null);if(c.r(v),Object.defineProperty(v,"default",{enumerable:!0,value:o}),2&g&&typeof o!="string")for(var k in o)c.d(v,k,function(d){return o[d]}.bind(null,k));return v},c.n=function(o){var g=o&&o.__esModule?function(){return o.default}:function(){return o};return c.d(g,"a",g),g},c.o=function(o,g){return Object.prototype.hasOwnProperty.call(o,g)},c.p="",c(c.s=145)}({0:function(i,P){i.exports=e},145:function(i,P,c){"use strict";c.r(P);var o=c(0);function g(){return(g=Object.assign||function(v){for(var k=1;k<arguments.length;k++){var d=arguments[k];for(var V in d)Object.prototype.hasOwnProperty.call(d,V)&&(v[V]=d[V])}return v}).apply(this,arguments)}P.default=function(v){return o.createElement("svg",g({width:"1em",height:"1em",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},v),o.createElement("path",{d:"M4 20.252V3.748a1 1 0 011.507-.862l14.028 8.252a1 1 0 010 1.724L5.507 21.113A1 1 0 014 20.252z",fill:"#212134"}))}}})})},55477:(B,A,a)=>{"use strict";a.d(A,{Z:()=>it});var e=a(32735),i=a(55851),P=a(16540),c=a(84968),o=a(5141),g=a(4187),v=a(71707),k=a(60216),d=a.n(k),V=a(98599),Ee=a.n(V),ye=a(88677),Y=a.n(ye),be=a(49750),Pe=a.n(be),q=a(11856),F=a(9808),_=a(44526),S=a(90662),z=a(37178),O=a(78330),D=a(83281),L=a(5636),ee=a(20001),I=a(95602),te=a(19615),Ce=a(35980),Oe=a(52111),Me=a(23940),Se=a.n(Me);const H=({disabledEvents:n,name:t,events:r,inputValue:s,handleChange:m,handleChangeAll:E})=>{const b=r.filter(u=>!n.includes(u)),l=s.length===b.length,f=s.length>0,y=({target:{name:u}})=>{E({target:{name:u,value:!l}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(Oe.Checkbox,{indeterminate:f&&!l,"aria-label":"Select all entries",name:t,onChange:y,value:l},Se()(t))),r.map(u=>e.createElement("td",{key:u},e.createElement(Ce.BaseCheckbox,{disabled:n.includes(u),"aria-label":u,name:u,value:s.includes(u),onValueChange:h=>m({target:{name:u,value:h}})}))))};H.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange:()=>{},handleChangeAll:()=>{}},H.propTypes={disabledEvents:d().array,events:d().array,inputValue:d().array,handleChange:d().func,handleChangeAll:d().func,name:d().string.isRequired};const Ie=H,xe=n=>n.reduce((t,r)=>{const s=r.split(".")[0];return t[s]||(t[s]=[]),t[s].push(r),t},{}),Te=te.default.table`
2
2
  td {
3
3
  height: ${52/16}rem;
4
4
  width: 10%;
@@ -20,4 +20,4 @@
20
20
  path {
21
21
  fill: ${n.colors[t]};
22
22
  }
23
- `),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel:()=>{},response:{}},Q.propTypes={isPending:d().bool,onCancel:d().func,response:d().object};const ze=Q;var x=a(5173);const He=new RegExp("(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)"),Ne=new RegExp("(^$)|((https?://.*)(d*)/?(.*))"),Ze=x.Ry().shape({name:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(He,i.translatedErrors.regex),url:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(Ne,i.translatedErrors.regex),headers:x.Vo(n=>{let t=x.IX();if(n.length===1){const{key:r,value:s}=n[0];if(!r&&!s)return t}return t.of(x.Ry().shape({key:x.Z_().required(i.translatedErrors.required),value:x.Z_().required(i.translatedErrors.required)}))}),events:x.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:s,isTriggering:m,triggerResponse:E,isDraftAndPublishEvents:b})=>{const{formatMessage:l}=(0,L.useIntl)(),[f,y]=(0,e.useState)(!1);return e.createElement(D.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([u,h])=>({key:u,value:h})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:u,errors:h})=>e.createElement(i.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(S.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),y(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:s||m,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:u,type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"}))),title:s?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(S.Stack,{spacing:4},f&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ze,{isPending:m,response:E,onCancel:()=>y(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(S.Stack,{spacing:6},e.createElement(O.Grid,{gap:6},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:z.TextInput,name:"name",error:h.name&&l({id:h.name}),label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(O.GridItem,{col:12},e.createElement(D.Field,{as:z.TextInput,name:"url",error:h.url&&l({id:h.url}),label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ue,null),e.createElement(we,{isDraftAndPublish:b})))))))};J.propTypes={data:d().object,handleSubmit:d().func.isRequired,triggerWebhook:d().func.isRequired,isCreating:d().bool.isRequired,isDraftAndPublishEvents:d().bool.isRequired,isTriggering:d().bool.isRequired,triggerResponse:d().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=a(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(ue)for(var r of ue(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:s,value:m}=r;return s!==""?tt(me({},t),{[s]:m}):t},{}),ge=nt;var pe=a(98399),at=Object.defineProperty,fe=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,lt=(n,t)=>{for(var r in t||(t={}))st.call(t,r)&&he(n,r,t[r]);if(fe)for(var r of fe(t))ot.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((s,m)=>{var E=f=>{try{l(r.next(f))}catch(y){m(y)}},b=f=>{try{l(r.throw(f))}catch(y){m(y)}},l=f=>f.done?s(f.value):Promise.resolve(f.value).then(E,b);l((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,o.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,o.useHistory)(),{lockApp:r,unlockApp:s}=(0,i.useOverlayBlocker)(),m=(0,i.useNotification)(),E=(0,c.useQueryClient)(),{isLoading:b,collectionTypes:l}=(0,g.bP)(),f=n==="create",y=(0,e.useCallback)(M=>ve(void 0,null,function*(){const[R,{data:mt}]=yield(0,i.to)((0,i.request)(`/admin/webhooks/${M}`,{method:"GET"}));return R?(m({type:"warning",message:{id:"notification.error"}}),null):mt}),[m]),{isLoading:u,data:h}=(0,c.useQuery)(["get-webhook",n],()=>y(n),{enabled:!f}),{isLoading:p,data:T,isIdle:C,mutate:w}=(0,c.useMutation)(()=>v.be.post(`/admin/webhooks/${n}/trigger`)),G=()=>w(null,{onError:()=>{m({type:"warning",message:{id:"notification.error"}})}}),K=(0,c.useMutation)(M=>(0,i.request)("/admin/webhooks",{method:"POST",body:M})),dt=(0,c.useMutation)(({id:M,body:R})=>(0,i.request)(`/admin/webhooks/${M}`,{method:"PUT",body:R})),ut=M=>ve(void 0,null,function*(){f?(r(),K.mutate(ge(M),{onSuccess:R=>{m({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${R.data.id}`),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}})):(r(),dt.mutate({id:n,body:ge(M)},{onSuccess:()=>{E.invalidateQueries(["get-webhook",n]),m({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}}))}),ct=(0,e.useMemo)(()=>l.some(M=>M.options.draftAndPublish===!0),[l]);return u||b?e.createElement(i.LoadingIndicatorPage,null):e.createElement(P.Main,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,lt({},{handleSubmit:ut,data:h,triggerWebhook:G,isCreating:f,isTriggering:p,isTriggerIdle:C,triggerResponse:T==null?void 0:T.data.data,isDraftAndPublishEvents:ct})))}},31854:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(83985),P=a.n(i),c=a(79613),o=a(1430);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},24305:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(83985),P=a.n(i),c=a(79613),o=a(1430);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);
23
+ `),Z=({isPending:n,statusCode:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Ke()}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):t>=200&&t<300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:Y(),color:"success700"}),e.createElement(I.Typography,null,r({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):t>=300?e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement($,{as:ie(),color:"danger700"}),e.createElement(I.Typography,null,r({id:"Settings.error",defaultMessage:"error"})," ",t)):null};Z.propTypes={isPending:d().bool.isRequired,statusCode:d().number},Z.defaultProps={statusCode:void 0};const X=({statusCode:n,message:t})=>{const{formatMessage:r}=(0,L.useIntl)();return n>=200&&n<300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(I.Typography,{textColor:"neutral600",ellipsis:!0},r({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement(j.Flex,{maxWidth:(0,i.pxToRem)(250),justifyContent:"flex-end",title:t},e.createElement(I.Typography,{ellipsis:!0,textColor:"neutral600"},t))):null};X.propTypes={statusCode:d().number,message:d().string},X.defaultProps={statusCode:void 0,message:void 0};const de=({onCancel:n})=>{const{formatMessage:t}=(0,L.useIntl)();return e.createElement(j.Flex,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(S.Stack,{horizontal:!0,spacing:2,style:{alignItems:"center"}},e.createElement(I.Typography,{textColor:"neutral400"},t({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement($,{as:ie(),color:"neutral400"}))))};de.propTypes={onCancel:d().func.isRequired};const Q=({isPending:n,onCancel:t,response:r})=>{const{statusCode:s,message:m}=r,{formatMessage:E}=(0,L.useIntl)();return e.createElement(F.Box,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(O.Grid,{gap:4,style:{alignItems:"center"}},e.createElement(O.GridItem,{col:3},e.createElement(I.Typography,null,E({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(O.GridItem,{col:3},e.createElement(Z,{isPending:n,statusCode:s})),e.createElement(O.GridItem,{col:6},n?e.createElement(de,{onCancel:t}):e.createElement(X,{statusCode:s,message:m}))))};Q.defaultProps={isPending:!1,onCancel:()=>{},response:{}},Q.propTypes={isPending:d().bool,onCancel:d().func,response:d().object};const ze=Q;var x=a(5173);const He=new RegExp("(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)"),Ne=new RegExp("(^$)|((https?://.*)(d*)/?(.*))"),Ze=x.Ry().shape({name:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(He,i.translatedErrors.regex),url:x.Z_(i.translatedErrors.string).required(i.translatedErrors.required).matches(Ne,i.translatedErrors.regex),headers:x.Vo(n=>{let t=x.IX();if(n.length===1){const{key:r,value:s}=n[0];if(!r&&!s)return t}return t.of(x.Ry().shape({key:x.Z_().required(i.translatedErrors.required),value:x.Z_().required(i.translatedErrors.required)}))}),events:x.IX()}),J=({handleSubmit:n,data:t,triggerWebhook:r,isCreating:s,isTriggering:m,triggerResponse:E,isDraftAndPublishEvents:b})=>{const{formatMessage:l}=(0,L.useIntl)(),[f,y]=(0,e.useState)(!1);return e.createElement(D.Formik,{onSubmit:n,initialValues:{name:(t==null?void 0:t.name)||"",url:(t==null?void 0:t.url)||"",headers:Object.keys((t==null?void 0:t.headers)||[]).length?Object.entries(t.headers).map(([u,h])=>({key:u,value:h})):[{key:"",value:""}],events:(t==null?void 0:t.events)||[]},validationSchema:Ze,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:u,errors:h})=>e.createElement(i.Form,{noValidate:!0},e.createElement(q.HeaderLayout,{primaryAction:e.createElement(S.Stack,{horizontal:!0,spacing:2},e.createElement(_.Button,{onClick:()=>{r(),y(!0)},variant:"tertiary",startIcon:e.createElement(Pe(),null),disabled:s||m,size:"L"},l({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(_.Button,{startIcon:e.createElement(Y(),null),onClick:u,type:"submit",size:"L"},l({id:"global.save",defaultMessage:"Save"}))),title:s?l({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):t==null?void 0:t.name,navigationAction:e.createElement(i.Link,{startIcon:e.createElement(Ee(),null),to:"/settings/webhooks"},l({id:"global.back",defaultMessage:"Back"}))}),e.createElement(q.ContentLayout,null,e.createElement(S.Stack,{spacing:4},f&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(ze,{isPending:m,response:E,onCancel:()=>y(!1)})),e.createElement(F.Box,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(S.Stack,{spacing:6},e.createElement(O.Grid,{gap:6},e.createElement(O.GridItem,{col:6},e.createElement(D.Field,{as:z.TextInput,name:"name",error:h.name&&l({id:h.name}),label:l({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(O.GridItem,{col:12},e.createElement(D.Field,{as:z.TextInput,name:"url",error:h.url&&l({id:h.url}),label:l({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Ue,null),e.createElement(we,{isDraftAndPublish:b})))))))};J.propTypes={data:d().object,handleSubmit:d().func.isRequired,triggerWebhook:d().func.isRequired,isCreating:d().bool.isRequired,isDraftAndPublishEvents:d().bool.isRequired,isTriggering:d().bool.isRequired,triggerResponse:d().object},J.defaultProps={data:void 0,triggerResponse:void 0};const Xe=J;var Qe=a(92891),Je=Object.defineProperty,Ye=Object.defineProperties,qe=Object.getOwnPropertyDescriptors,ue=Object.getOwnPropertySymbols,_e=Object.prototype.hasOwnProperty,et=Object.prototype.propertyIsEnumerable,ce=(n,t,r)=>t in n?Je(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,me=(n,t)=>{for(var r in t||(t={}))_e.call(t,r)&&ce(n,r,t[r]);if(ue)for(var r of ue(t))et.call(t,r)&&ce(n,r,t[r]);return n},tt=(n,t)=>Ye(n,qe(t));const nt=n=>{const t=me({},n);return(0,Qe.set)(t,"headers",rt(n.headers)),t},rt=n=>n.reduce((t,r)=>{const{key:s,value:m}=r;return s!==""?tt(me({},t),{[s]:m}):t},{}),ge=nt;var pe=a(98399),at=Object.defineProperty,fe=Object.getOwnPropertySymbols,st=Object.prototype.hasOwnProperty,ot=Object.prototype.propertyIsEnumerable,he=(n,t,r)=>t in n?at(n,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):n[t]=r,lt=(n,t)=>{for(var r in t||(t={}))st.call(t,r)&&he(n,r,t[r]);if(fe)for(var r of fe(t))ot.call(t,r)&&he(n,r,t[r]);return n},ve=(n,t,r)=>new Promise((s,m)=>{var E=f=>{try{l(r.next(f))}catch(y){m(y)}},b=f=>{try{l(r.throw(f))}catch(y){m(y)}},l=f=>f.done?s(f.value):Promise.resolve(f.value).then(E,b);l((r=r.apply(n,t)).next())});const it=()=>{const{params:{id:n}}=(0,o.useRouteMatch)("/settings/webhooks/:id"),{replace:t}=(0,o.useHistory)(),{lockApp:r,unlockApp:s}=(0,i.useOverlayBlocker)(),m=(0,i.useNotification)(),E=(0,c.useQueryClient)(),{isLoading:b,collectionTypes:l}=(0,g.bP)(),f=n==="create",y=(0,e.useCallback)(M=>ve(void 0,null,function*(){const[R,{data:mt}]=yield(0,i.to)((0,i.request)(`/admin/webhooks/${M}`,{method:"GET"}));return R?(m({type:"warning",message:{id:"notification.error"}}),null):mt}),[m]),{isLoading:u,data:h}=(0,c.useQuery)(["get-webhook",n],()=>y(n),{enabled:!f}),{isLoading:p,data:T,isIdle:C,mutate:w}=(0,c.useMutation)(()=>v.be.post(`/admin/webhooks/${n}/trigger`)),G=()=>w(null,{onError:()=>{m({type:"warning",message:{id:"notification.error"}})}}),K=(0,c.useMutation)(M=>(0,i.request)("/admin/webhooks",{method:"POST",body:M})),dt=(0,c.useMutation)(({id:M,body:R})=>(0,i.request)(`/admin/webhooks/${M}`,{method:"PUT",body:R})),ut=M=>ve(void 0,null,function*(){f?(r(),K.mutate(ge(M),{onSuccess:R=>{m({type:"success",message:{id:"Settings.webhooks.created"}}),t(`/settings/webhooks/${R.data.id}`),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}})):(r(),dt.mutate({id:n,body:ge(M)},{onSuccess:()=>{E.invalidateQueries(["get-webhook",n]),m({type:"success",message:{id:"notification.form.success.fields"}}),s()},onError:R=>{m({type:"warning",message:{id:"notification.error"}}),pe.log(R),s()}}))}),ct=(0,e.useMemo)(()=>l.some(M=>M.options.draftAndPublish===!0),[l]);return u||b?e.createElement(i.LoadingIndicatorPage,null):e.createElement(P.Main,null,e.createElement(i.SettingsPageTitle,{name:"Webhooks"}),e.createElement(Xe,lt({},{handleSubmit:ut,data:h,triggerWebhook:G,isCreating:f,isTriggering:p,isTriggerIdle:C,triggerResponse:T==null?void 0:T.data.data,isDraftAndPublishEvents:ct})))}},4775:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(55851),P=a.n(i),c=a(97987),o=a(55477);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.create},e.createElement(o.Z,null))},47776:(B,A,a)=>{"use strict";a.r(A),a.d(A,{default:()=>v});var e=a(32735),i=a(55851),P=a.n(i),c=a(97987),o=a(55477);const v=()=>e.createElement(i.CheckPagePermissions,{permissions:c.Z.settings.webhooks.update},e.createElement(o.Z,null))}}]);
@@ -130,4 +130,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
130
130
  flex-wrap: `,`;
131
131
  `,`};
132
132
  justify-content: `,`;
133
- `])),function(t){return t.alignItems},function(t){return t.inline?"inline-flex":"flex"},function(t){return t.direction},function(t){return t.wrap},function(t){var d=t.gap,j=t.theme;return Object(m.a)("gap",d,j)},function(t){return t.justifyContent});e.defaultProps=k,e.propTypes=L}})})},17542:(V,z,p)=>{"use strict";p.r(z),p.d(z,{default:()=>Ee});var i=p(32735),w=p(83985),o=p(79613),b=p(5141),n=p(5636),a=p(11856),r=p(64354),u=p(19192),l=p(90662),f=p(20763),c=p(35980),m=p(53214),E=p(95602),C=p(44526),s=p(28004),y=p(55470),S=p(16540),k=p(29270),L=p(9808),D=p(59290),e=p.n(D),t=p(95717),d=p.n(t),j=p(76470),B=p.n(j),O=p(97042),_=p.n(O),ee=p(49415),ne=p(3040),G=p.n(ne);const $={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},Q=(x,v)=>(0,ee.default)(x,g=>{switch(v.type){case"GET_DATA_SUCCEEDED":{g.webhooks=v.data,g.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{g.loadingWebhooks=!x.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{G()(g,["webhooks",...v.keys],v.value);break}case"SET_WEBHOOK_TO_DELETE":{g.webhookToDelete=v.id;break}case"SET_WEBHOOKS_TO_DELETE":{v.value?g.webhooksToDelete.push(v.id):g.webhooksToDelete=x.webhooksToDelete.filter(P=>P!==v.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{x.webhooksToDelete.length===0?g.webhooksToDelete=x.webhooks.map(P=>P.id):g.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{g.webhooks=x.webhooks.filter(P=>!x.webhooksToDelete.includes(P.id)),g.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{g.webhooks=x.webhooks.filter((P,H)=>H!==v.index),g.webhookToDelete=null;break}default:return g}});var te=p(98399),pe=Object.defineProperty,he=Object.defineProperties,me=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,ie=(x,v,g)=>v in x?pe(x,v,{enumerable:!0,configurable:!0,writable:!0,value:g}):x[v]=g,F=(x,v)=>{for(var g in v||(v={}))be.call(v,g)&&ie(x,g,v[g]);if(ae)for(var g of ae(v))ge.call(v,g)&&ie(x,g,v[g]);return x},ve=(x,v)=>he(x,me(v)),X=(x,v,g)=>new Promise((P,H)=>{var N=A=>{try{T(g.next(A))}catch(R){H(R)}},W=A=>{try{T(g.throw(A))}catch(R){H(R)}},T=A=>A.done?P(A.value):Promise.resolve(A.value).then(N,W);T((g=g.apply(x,v)).next())});const ye=()=>{const{isLoading:x,allowedActions:{canCreate:v,canRead:g,canUpdate:P,canDelete:H}}=(0,w.useRBAC)(o.Z.settings.webhooks),N=(0,w.useNotification)(),W=(0,i.useRef)(!0),{formatMessage:T}=(0,n.useIntl)(),[A,R]=(0,i.useState)(!1),[{webhooks:Z,webhooksToDelete:Y,webhookToDelete:oe,loadingWebhooks:re},I]=(0,i.useReducer)(Q,$),{notifyStatus:xe}=(0,k.useNotifyAT)();(0,w.useFocusWhenNavigate)();const{push:Te}=(0,b.useHistory)(),{pathname:se}=(0,b.useLocation)(),J=Z.length,K=Y.length,le=h=>Z.findIndex(M=>M.id===h);(0,i.useEffect)(()=>(W.current=!0,()=>{W.current=!1}),[]),(0,i.useEffect)(()=>{g&&Oe()},[g]);const Oe=()=>X(void 0,null,function*(){try{const{data:h}=yield(0,w.request)("/admin/webhooks",{method:"GET"});W.current&&(I({type:"GET_DATA_SUCCEEDED",data:h}),xe("webhooks have been loaded"))}catch(h){te.log(h),W.current&&(h.code!==20&&N({type:"warning",message:{id:"notification.error"}}),I({type:"TOGGLE_LOADING"}))}}),we=()=>{R(h=>!h)},Se=()=>{oe?ke():Le()},ke=()=>X(void 0,null,function*(){try{yield(0,w.request)(`/admin/webhooks/${oe}`,{method:"DELETE"}),I({type:"WEBHOOK_DELETED",index:le(oe)})}catch(h){h.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),Le=()=>X(void 0,null,function*(){const h={ids:Y};try{yield(0,w.request)("/admin/webhooks/batch-delete",{method:"POST",body:h}),W.current&&I({type:"WEBHOOKS_DELETED"})}catch(M){W.current&&M.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),ue=h=>{R(!0),h!=="all"&&I({type:"SET_WEBHOOK_TO_DELETE",id:h})},Ce=(h,M)=>X(void 0,null,function*(){const ce=le(M),Me=Z[ce],de=[ce,"isEnabled"],fe=ve(F({},Me),{isEnabled:h});delete fe.id;try{I({type:"SET_WEBHOOK_ENABLED",keys:de,value:h}),yield(0,w.request)(`/admin/webhooks/${M}`,{method:"PUT",body:fe})}catch(je){W.current&&(I({type:"SET_WEBHOOK_ENABLED",keys:de,value:!h}),je.code!==20&&N({type:"warning",message:{id:"notification.error"}}))}}),De=()=>{I({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Pe=(h,M)=>{I({type:"SET_WEBHOOKS_TO_DELETE",value:h,id:M})},q=h=>{Te(`${se}/${h}`)};return i.createElement(a.Layout,null,i.createElement(w.SettingsPageTitle,{name:"Webhooks"}),i.createElement(S.Main,{"aria-busy":x||re},i.createElement(a.HeaderLayout,{title:T({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:T({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:v&&!re&&i.createElement(w.LinkButton,{startIcon:i.createElement(e(),null),variant:"default",to:`${se}/create`,size:"L"},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),K>0&&H&&i.createElement(a.ActionLayout,{startActions:i.createElement(i.Fragment,null,i.createElement(E.Typography,{variant:"epsilon",textColor:"neutral600"},T({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:K})),i.createElement(C.Button,{onClick:()=>ue("all"),startIcon:i.createElement(B(),null),size:"L",variant:"danger-light"},T({id:"global.delete",defaultMessage:"Delete"})))}),i.createElement(a.ContentLayout,null,x||re?i.createElement(L.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},i.createElement(w.LoadingIndicatorPage,null)):i.createElement(i.Fragment,null,J>0?i.createElement(m.Table,{colCount:5,rowCount:J+1,footer:i.createElement(m.TFooter,{onClick:()=>v?q("create"):{},icon:i.createElement(e(),null)},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},i.createElement(m.Thead,null,i.createElement(m.Tr,null,i.createElement(m.Th,null,i.createElement(c.BaseCheckbox,{"aria-label":T({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:K>0&&K<J,value:K===J,onValueChange:De})),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"global.name",defaultMessage:"Name"}))),i.createElement(m.Th,{width:"60%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),i.createElement(m.Th,null,i.createElement(s.VisuallyHidden,null,T({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),i.createElement(m.Tbody,null,Z.map(h=>i.createElement(m.Tr,F({key:h.id},(0,w.onRowClick)({fn:()=>q(h.id),condition:P})),i.createElement(m.Td,F({},w.stopPropagation),i.createElement(c.BaseCheckbox,{"aria-label":`${T({id:"global.select",defaultMessage:"Select"})} ${h.name}`,value:Y==null?void 0:Y.includes(h.id),onValueChange:M=>Pe(M,h.id),id:"select",name:"select"})),i.createElement(m.Td,null,i.createElement(E.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),i.createElement(m.Td,null,i.createElement(E.Typography,{textColor:"neutral800"},h.url)),i.createElement(m.Td,null,i.createElement(u.Flex,F({},w.stopPropagation),i.createElement(y.Switch,{onLabel:T({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:T({id:"global.disabled",defaultMessage:"Disabled"}),label:`${h.name} ${T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:h.isEnabled,onChange:()=>Ce(!h.isEnabled,h.id),visibleLabels:!0}))),i.createElement(m.Td,null,i.createElement(l.Stack,F({horizontal:!0,spacing:1},w.stopPropagation),P&&i.createElement(f.IconButton,{onClick:()=>{q(h.id)},label:T({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:i.createElement(d(),null),noBorder:!0}),H&&i.createElement(f.IconButton,{onClick:()=>ue(h.id),label:T({id:"global.delete",defaultMessage:"Delete"}),icon:i.createElement(B(),null),noBorder:!0,id:`delete-${h.id}`}))))))):i.createElement(r.EmptyStateLayout,{icon:i.createElement(_(),{width:"160px"}),content:T({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:i.createElement(C.Button,{variant:"secondary",startIcon:i.createElement(e(),null),onClick:()=>v?q("create"):{}},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),i.createElement(w.ConfirmDialog,{isOpen:A,onToggleDialog:we,onConfirm:Se}))},Ee=()=>i.createElement(w.CheckPagePermissions,{permissions:o.Z.settings.webhooks.main},i.createElement(ye,null))}}]);
133
+ `])),function(t){return t.alignItems},function(t){return t.inline?"inline-flex":"flex"},function(t){return t.direction},function(t){return t.wrap},function(t){var d=t.gap,j=t.theme;return Object(m.a)("gap",d,j)},function(t){return t.justifyContent});e.defaultProps=k,e.propTypes=L}})})},36453:(V,z,p)=>{"use strict";p.r(z),p.d(z,{default:()=>Ee});var i=p(32735),w=p(55851),o=p(97987),b=p(5141),n=p(5636),a=p(11856),r=p(64354),u=p(19192),l=p(90662),f=p(20763),c=p(35980),m=p(53214),E=p(95602),C=p(44526),s=p(28004),y=p(55470),S=p(16540),k=p(29270),L=p(9808),D=p(59290),e=p.n(D),t=p(95717),d=p.n(t),j=p(76470),B=p.n(j),O=p(97042),_=p.n(O),ee=p(49415),ne=p(3040),G=p.n(ne);const $={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0},Q=(x,v)=>(0,ee.default)(x,g=>{switch(v.type){case"GET_DATA_SUCCEEDED":{g.webhooks=v.data,g.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{g.loadingWebhooks=!x.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{G()(g,["webhooks",...v.keys],v.value);break}case"SET_WEBHOOK_TO_DELETE":{g.webhookToDelete=v.id;break}case"SET_WEBHOOKS_TO_DELETE":{v.value?g.webhooksToDelete.push(v.id):g.webhooksToDelete=x.webhooksToDelete.filter(P=>P!==v.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{x.webhooksToDelete.length===0?g.webhooksToDelete=x.webhooks.map(P=>P.id):g.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{g.webhooks=x.webhooks.filter(P=>!x.webhooksToDelete.includes(P.id)),g.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{g.webhooks=x.webhooks.filter((P,H)=>H!==v.index),g.webhookToDelete=null;break}default:return g}});var te=p(98399),pe=Object.defineProperty,he=Object.defineProperties,me=Object.getOwnPropertyDescriptors,ae=Object.getOwnPropertySymbols,be=Object.prototype.hasOwnProperty,ge=Object.prototype.propertyIsEnumerable,ie=(x,v,g)=>v in x?pe(x,v,{enumerable:!0,configurable:!0,writable:!0,value:g}):x[v]=g,F=(x,v)=>{for(var g in v||(v={}))be.call(v,g)&&ie(x,g,v[g]);if(ae)for(var g of ae(v))ge.call(v,g)&&ie(x,g,v[g]);return x},ve=(x,v)=>he(x,me(v)),X=(x,v,g)=>new Promise((P,H)=>{var N=A=>{try{T(g.next(A))}catch(R){H(R)}},W=A=>{try{T(g.throw(A))}catch(R){H(R)}},T=A=>A.done?P(A.value):Promise.resolve(A.value).then(N,W);T((g=g.apply(x,v)).next())});const ye=()=>{const{isLoading:x,allowedActions:{canCreate:v,canRead:g,canUpdate:P,canDelete:H}}=(0,w.useRBAC)(o.Z.settings.webhooks),N=(0,w.useNotification)(),W=(0,i.useRef)(!0),{formatMessage:T}=(0,n.useIntl)(),[A,R]=(0,i.useState)(!1),[{webhooks:Z,webhooksToDelete:Y,webhookToDelete:oe,loadingWebhooks:re},I]=(0,i.useReducer)(Q,$),{notifyStatus:xe}=(0,k.useNotifyAT)();(0,w.useFocusWhenNavigate)();const{push:Te}=(0,b.useHistory)(),{pathname:se}=(0,b.useLocation)(),J=Z.length,K=Y.length,le=h=>Z.findIndex(M=>M.id===h);(0,i.useEffect)(()=>(W.current=!0,()=>{W.current=!1}),[]),(0,i.useEffect)(()=>{g&&Oe()},[g]);const Oe=()=>X(void 0,null,function*(){try{const{data:h}=yield(0,w.request)("/admin/webhooks",{method:"GET"});W.current&&(I({type:"GET_DATA_SUCCEEDED",data:h}),xe("webhooks have been loaded"))}catch(h){te.log(h),W.current&&(h.code!==20&&N({type:"warning",message:{id:"notification.error"}}),I({type:"TOGGLE_LOADING"}))}}),we=()=>{R(h=>!h)},Se=()=>{oe?ke():Le()},ke=()=>X(void 0,null,function*(){try{yield(0,w.request)(`/admin/webhooks/${oe}`,{method:"DELETE"}),I({type:"WEBHOOK_DELETED",index:le(oe)})}catch(h){h.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),Le=()=>X(void 0,null,function*(){const h={ids:Y};try{yield(0,w.request)("/admin/webhooks/batch-delete",{method:"POST",body:h}),W.current&&I({type:"WEBHOOKS_DELETED"})}catch(M){W.current&&M.code!==20&&N({type:"warning",message:{id:"notification.error"}})}R(!1)}),ue=h=>{R(!0),h!=="all"&&I({type:"SET_WEBHOOK_TO_DELETE",id:h})},Ce=(h,M)=>X(void 0,null,function*(){const ce=le(M),Me=Z[ce],de=[ce,"isEnabled"],fe=ve(F({},Me),{isEnabled:h});delete fe.id;try{I({type:"SET_WEBHOOK_ENABLED",keys:de,value:h}),yield(0,w.request)(`/admin/webhooks/${M}`,{method:"PUT",body:fe})}catch(je){W.current&&(I({type:"SET_WEBHOOK_ENABLED",keys:de,value:!h}),je.code!==20&&N({type:"warning",message:{id:"notification.error"}}))}}),De=()=>{I({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},Pe=(h,M)=>{I({type:"SET_WEBHOOKS_TO_DELETE",value:h,id:M})},q=h=>{Te(`${se}/${h}`)};return i.createElement(a.Layout,null,i.createElement(w.SettingsPageTitle,{name:"Webhooks"}),i.createElement(S.Main,{"aria-busy":x||re},i.createElement(a.HeaderLayout,{title:T({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:T({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:v&&!re&&i.createElement(w.LinkButton,{startIcon:i.createElement(e(),null),variant:"default",to:`${se}/create`,size:"L"},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),K>0&&H&&i.createElement(a.ActionLayout,{startActions:i.createElement(i.Fragment,null,i.createElement(E.Typography,{variant:"epsilon",textColor:"neutral600"},T({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:K})),i.createElement(C.Button,{onClick:()=>ue("all"),startIcon:i.createElement(B(),null),size:"L",variant:"danger-light"},T({id:"global.delete",defaultMessage:"Delete"})))}),i.createElement(a.ContentLayout,null,x||re?i.createElement(L.Box,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},i.createElement(w.LoadingIndicatorPage,null)):i.createElement(i.Fragment,null,J>0?i.createElement(m.Table,{colCount:5,rowCount:J+1,footer:i.createElement(m.TFooter,{onClick:()=>v?q("create"):{},icon:i.createElement(e(),null)},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},i.createElement(m.Thead,null,i.createElement(m.Tr,null,i.createElement(m.Th,null,i.createElement(c.BaseCheckbox,{"aria-label":T({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:K>0&&K<J,value:K===J,onValueChange:De})),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"global.name",defaultMessage:"Name"}))),i.createElement(m.Th,{width:"60%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),i.createElement(m.Th,{width:"20%"},i.createElement(E.Typography,{variant:"sigma",textColor:"neutral600"},T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),i.createElement(m.Th,null,i.createElement(s.VisuallyHidden,null,T({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),i.createElement(m.Tbody,null,Z.map(h=>i.createElement(m.Tr,F({key:h.id},(0,w.onRowClick)({fn:()=>q(h.id),condition:P})),i.createElement(m.Td,F({},w.stopPropagation),i.createElement(c.BaseCheckbox,{"aria-label":`${T({id:"global.select",defaultMessage:"Select"})} ${h.name}`,value:Y==null?void 0:Y.includes(h.id),onValueChange:M=>Pe(M,h.id),id:"select",name:"select"})),i.createElement(m.Td,null,i.createElement(E.Typography,{fontWeight:"semiBold",textColor:"neutral800"},h.name)),i.createElement(m.Td,null,i.createElement(E.Typography,{textColor:"neutral800"},h.url)),i.createElement(m.Td,null,i.createElement(u.Flex,F({},w.stopPropagation),i.createElement(y.Switch,{onLabel:T({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:T({id:"global.disabled",defaultMessage:"Disabled"}),label:`${h.name} ${T({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:h.isEnabled,onChange:()=>Ce(!h.isEnabled,h.id),visibleLabels:!0}))),i.createElement(m.Td,null,i.createElement(l.Stack,F({horizontal:!0,spacing:1},w.stopPropagation),P&&i.createElement(f.IconButton,{onClick:()=>{q(h.id)},label:T({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:i.createElement(d(),null),noBorder:!0}),H&&i.createElement(f.IconButton,{onClick:()=>ue(h.id),label:T({id:"global.delete",defaultMessage:"Delete"}),icon:i.createElement(B(),null),noBorder:!0,id:`delete-${h.id}`}))))))):i.createElement(r.EmptyStateLayout,{icon:i.createElement(_(),{width:"160px"}),content:T({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:i.createElement(C.Button,{variant:"secondary",startIcon:i.createElement(e(),null),onClick:()=>v?q("create"):{}},T({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))})))),i.createElement(w.ConfirmDialog,{isOpen:A,onToggleDialog:we,onConfirm:Se}))},Ee=()=>i.createElement(w.CheckPagePermissions,{permissions:o.Z.settings.webhooks.main},i.createElement(ye,null))}}]);