@strapi/admin 4.10.0-beta.1 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/admin/src/content-manager/components/RepeatableComponent/components/Component.js +8 -2
- package/admin/src/content-manager/pages/EditSettingsView/components/ModalForm.js +3 -1
- package/admin/src/content-manager/pages/EditSettingsView/reducer.js +8 -2
- package/admin/src/content-manager/pages/EditViewLayoutManager/reducer.js +4 -4
- package/admin/src/content-manager/sharedReducers/crudReducer/actions.js +0 -6
- package/admin/src/content-manager/sharedReducers/crudReducer/constants.js +0 -1
- package/admin/src/content-manager/sharedReducers/crudReducer/reducer.js +0 -5
- package/admin/src/hooks/useFetchPermissionsLayout/index.js +24 -15
- package/admin/src/hooks/useFetchRole/index.js +37 -30
- package/admin/src/hooks/useModels/index.js +22 -12
- package/admin/src/hooks/useSettingsForm/index.js +14 -6
- package/admin/src/pages/App/index.js +19 -24
- package/admin/src/pages/SettingsPage/pages/ApplicationInfosPage/components/LogoModalStepper/PendingLogoDialog.js +1 -3
- package/admin/src/pages/SettingsPage/pages/Roles/CreatePage/index.js +6 -12
- package/admin/src/pages/SettingsPage/pages/Roles/EditPage/index.js +6 -10
- package/admin/src/pages/SettingsPage/pages/Webhooks/EditView/index.js +18 -33
- package/admin/src/pages/SettingsPage/pages/Webhooks/ListView/index.js +41 -41
- package/admin/src/translations/en.json +1 -1
- package/admin/src/translations/fr.json +89 -1
- package/build/{Admin-authenticatedApp.52c88751.chunk.js → Admin-authenticatedApp.b036fe95.chunk.js} +2 -2
- package/build/{Admin_settingsPage.257b3477.chunk.js → Admin_settingsPage.4604a16c.chunk.js} +1 -1
- package/build/admin-app.014adc27.chunk.js +110 -0
- package/build/admin-edit-roles-page.8a4063f7.chunk.js +280 -0
- package/build/content-manager.84f81966.chunk.js +1130 -0
- package/build/{content-type-builder-translation-de-json.0979cccb.chunk.js → content-type-builder-translation-de-json.393a76c0.chunk.js} +1 -1
- package/build/{content-type-builder-translation-dk-json.e05583e9.chunk.js → content-type-builder-translation-dk-json.fbd39bb7.chunk.js} +1 -1
- package/build/{content-type-builder-translation-en-json.510e88ca.chunk.js → content-type-builder-translation-en-json.446b611d.chunk.js} +1 -1
- package/build/{content-type-builder-translation-es-json.fe4daad8.chunk.js → content-type-builder-translation-es-json.9288474b.chunk.js} +1 -1
- package/build/{content-type-builder-translation-fr-json.b1eb52f6.chunk.js → content-type-builder-translation-fr-json.d35e269c.chunk.js} +1 -1
- package/build/{content-type-builder-translation-id-json.ee3b36bb.chunk.js → content-type-builder-translation-id-json.f0513929.chunk.js} +1 -1
- package/build/{content-type-builder-translation-it-json.13b3c26a.chunk.js → content-type-builder-translation-it-json.aaf16753.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ko-json.8a274be5.chunk.js → content-type-builder-translation-ko-json.8fe21a7f.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ms-json.2d29c1e0.chunk.js → content-type-builder-translation-ms-json.3b5d2d3e.chunk.js} +1 -1
- package/build/{content-type-builder-translation-nl-json.40bbc562.chunk.js → content-type-builder-translation-nl-json.225ef5d3.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pl-json.24a34349.chunk.js → content-type-builder-translation-pl-json.92f36be2.chunk.js} +1 -1
- package/build/{content-type-builder-translation-pt-BR-json.97f71a9d.chunk.js → content-type-builder-translation-pt-BR-json.3bd10f89.chunk.js} +1 -1
- package/build/{content-type-builder-translation-ru-json.54d11230.chunk.js → content-type-builder-translation-ru-json.9bfe47ce.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sk-json.626c9493.chunk.js → content-type-builder-translation-sk-json.d03cc18a.chunk.js} +1 -1
- package/build/{content-type-builder-translation-sv-json.59f5e1e5.chunk.js → content-type-builder-translation-sv-json.d23dcd32.chunk.js} +1 -1
- package/build/{content-type-builder-translation-th-json.6fe3ed55.chunk.js → content-type-builder-translation-th-json.7ad256e2.chunk.js} +1 -1
- package/build/{content-type-builder-translation-tr-json.cea4d226.chunk.js → content-type-builder-translation-tr-json.926f6191.chunk.js} +1 -1
- package/build/{content-type-builder-translation-uk-json.c4524247.chunk.js → content-type-builder-translation-uk-json.7bf19546.chunk.js} +1 -1
- package/build/{content-type-builder-translation-zh-json.faedd610.chunk.js → content-type-builder-translation-zh-json.ad24dbeb.chunk.js} +1 -1
- package/build/content-type-builder.68af11d2.chunk.js +126 -0
- package/build/en-json.c7fc79af.chunk.js +1 -0
- package/build/fr-json.5947cf63.chunk.js +1 -0
- package/build/i18n-settings-page.d95b32df.chunk.js +60 -0
- package/build/index.html +1 -1
- package/build/{main.120be100.js → main.841e0dcb.js} +194 -194
- package/build/{review-workflows-settings.9092ed72.chunk.js → review-workflows-settings.f7890c40.chunk.js} +1 -1
- package/build/{runtime~main.112b3101.js → runtime~main.965f8af8.js} +2 -2
- package/build/users-roles-settings-page.20656f92.chunk.js +30 -0
- package/build/webhook-edit-page.a3b62049.chunk.js +75 -0
- package/build/webhook-list-page.ca38eeef.chunk.js +71 -0
- package/ee/admin/content-manager/components/DynamicTable/CellContent/ReviewWorkflowsStage/getTableColumn.js +3 -1
- package/ee/admin/content-manager/pages/EditView/InformationBox/InformationBoxEE.js +7 -4
- package/ee/admin/hooks/useAuthProviders/index.js +28 -29
- package/ee/admin/pages/AuthResponse/index.js +7 -3
- package/ee/admin/pages/SettingsPage/pages/ReviewWorkflows/ReviewWorkflows.js +1 -1
- package/ee/server/controllers/authentication/middlewares.js +2 -1
- package/ee/server/services/index.js +1 -0
- package/ee/server/services/review-workflows/metrics.js +24 -0
- package/ee/server/services/review-workflows/review-workflows.js +25 -11
- package/ee/server/services/review-workflows/stages.js +28 -10
- package/ee/server/utils/persisted-tables.js +7 -5
- package/package.json +10 -10
- package/server/strategies/api-token.js +8 -1
- package/build/admin-app.dfaeea5d.chunk.js +0 -110
- package/build/admin-edit-roles-page.4f1858e9.chunk.js +0 -280
- package/build/content-manager.def692c2.chunk.js +0 -1130
- package/build/content-type-builder.5e1f4afc.chunk.js +0 -126
- package/build/en-json.08303b37.chunk.js +0 -1
- package/build/fr-json.f66c3211.chunk.js +0 -1
- package/build/i18n-settings-page.7d80aae0.chunk.js +0 -60
- package/build/users-roles-settings-page.2f85dcec.chunk.js +0 -30
- package/build/webhook-edit-page.213f0075.chunk.js +0 -75
- package/build/webhook-list-page.5beb2a5c.chunk.js +0 -71
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
position: absolute;
|
|
55
55
|
top: 0;
|
|
56
56
|
transform: translateX(-50%);
|
|
57
|
-
`;function te({stages:a}){const{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{trackUsage:D}=(0,c.rS)();return t.createElement(A.k,{direction:"column",gap:6,width:"100%"},t.createElement(me,{spacing:4,width:"100%"},t.createElement(pe,{background:"neutral200",height:"100%",width:2,zIndex:1}),t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:6,zIndex:2,position:"relative",as:"ol"},a.map((u,i)=>{const d=u?.id??u.__temp_key__;return t.createElement(m.x,{key:`stage-${d}`,as:"li"},t.createElement(le,{...u,id:d,index:i,canDelete:a.length>1,isOpen:!u.id}))}))),t.createElement(A.k,{direction:"column",gap:6},t.createElement(G,{type:"button",onClick:()=>{r(j({name:""})),D("willCreateStage")}},s({id:"Settings.review-workflows.stage.add",defaultMessage:"Add new stage"}))))}te.defaultProps={stages:[]},te.propTypes={stages:n().arrayOf(n().shape({id:n().number,__temp_key__:n().number,name:n().string.isRequired}))};var ie=e(97889),ve=e(89793),he=e.n(ve);const de={status:"loading",serverState:{currentWorkflow:null,workflows:[]},clientState:{currentWorkflow:{data:null,isDirty:!1,hasDeletedServerStages:!1}}};function we(a=de,s){return(0,ie.Uy)(a,r=>{const{payload:D}=s;switch(s.type){case C:{const{status:u,workflows:i}=D;if(r.status=u,i){const d=i[0];r.serverState.workflows=i,r.serverState.currentWorkflow=d,r.clientState.currentWorkflow.data=d,r.clientState.currentWorkflow.hasDeletedServerStages=!1}break}case $:{const{stageId:u}=D,{currentWorkflow:i}=a.clientState;r.clientState.currentWorkflow.data.stages=i.data.stages.filter(d=>(d?.id??d.__temp_key__)!==u),i.hasDeletedServerStages||(r.clientState.currentWorkflow.hasDeletedServerStages=!!a.serverState.currentWorkflow.stages.find(d=>d.id===u));break}case p:{const{currentWorkflow:u}=a.clientState;u.data||(r.clientState.currentWorkflow.data={stages:[]});const i=Ee(r.clientState.currentWorkflow.data.stages);r.clientState.currentWorkflow.data.stages.push({...D,__temp_key__:i});break}case R:{const{currentWorkflow:u}=a.clientState,{stageId:i,...d}=D;r.clientState.currentWorkflow.data.stages=u.data.stages.map(M=>(M.id??M.__temp_key__)===i?{...M,...d}:M);break}default:break}a.clientState.currentWorkflow.data&&(r.clientState.currentWorkflow.isDirty=!he()((0,ie.Vk)(r.clientState.currentWorkflow).data,r.serverState.currentWorkflow))})}const Ee=(a=[])=>{const s=a.map(r=>r.id??r.__temp_key__);return Math.max(...s,-1)+1};function ye(a,s){const r=(0,v.oR)();(0,t.useEffect)(()=>{r.injectReducer(a,s)},[r,a,s])}var Se=e(67350),V=e(24346);function xe({formatMessage:a}){return V.Ry({stages:V.IX().of(V.Ry().shape({name:V.Z_().required(a({id:"Settings.review-workflows.validation.stage.name",defaultMessage:"Name is required"})).max(255,a({id:"Settings.review-workflows.validation.stage.max-length",defaultMessage:"Name can not be longer than 255 characters"}))}))})}var ke=e(83983);function We(){const{trackUsage:a}=(0,c.rS)(),{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{put:D}=(0,c.kY)(),{formatAPIError:u}=(0,c.So)(),i=(0,c.lm)(),{workflows:d,refetchWorkflow:M}=(0,Se.n)(),{status:ae,clientState:{currentWorkflow:{data:B,isDirty:Y,hasDeletedServerStages:oe}}}=(0,v.v9)(O=>O?.[I]??de),[F,Z]=(0,t.useState)(!1),{mutateAsync:Me,isLoading:ce}=(0,x.useMutation)(async({workflowId:O,stages:re})=>{try{const{data:{data:se}}=await D(`/admin/review-workflows/workflows/${O}/stages`,{data:re});return se}catch(se){i({type:"warning",message:u(se)})}return null},{onError(O){i({type:"warning",message:u(O)})},onSuccess(){i({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),Te=(O,re)=>Me({workflowId:O,stages:re}),ue=async()=>{await Te(B.id,B.stages),await M(),Z(!1)},Ae=async()=>{await ue()},Ce=()=>{Z(O=>!O)},ne=(0,g.TA)({enableReinitialize:!0,initialValues:B,async onSubmit(){oe?Z(!0):ue()},validationSchema:xe({formatMessage:s}),validateOnChange:!1});return ye(I,we),(0,t.useEffect)(()=>{r(S({status:d.status,data:d.data}))},[d.status,d.data,r]),(0,t.useEffect)(()=>{a("didViewWorkflow")},[]),t.createElement(c.O4,{permissions:ke.Z.settings["review-workflows"].main},t.createElement(y.A,null,t.createElement(c.SL,{name:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"})}),t.createElement(E.o,{tabIndex:-1},t.createElement(g.Hy,{value:ne},t.createElement(g.l0,{onSubmit:ne.handleSubmit},t.createElement(k.T,{primaryAction:t.createElement(W.z,{startIcon:t.createElement(l.Z,null),type:"submit",size:"M",disabled:!Y,loading:!F&&ce},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"}),subtitle:s({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:B?.stages?.length??0})}),t.createElement(T.D,null,ae==="loading"&&t.createElement(b.a,null,s({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})),t.createElement(te,{stages:ne.values?.stages})))),t.createElement(c.QH,{bodyText:{id:"Settings.review-workflows.page.delete.confirm.body",defaultMessage:"All entries assigned to deleted stages will be moved to the
|
|
57
|
+
`;function te({stages:a}){const{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{trackUsage:D}=(0,c.rS)();return t.createElement(A.k,{direction:"column",gap:6,width:"100%"},t.createElement(me,{spacing:4,width:"100%"},t.createElement(pe,{background:"neutral200",height:"100%",width:2,zIndex:1}),t.createElement(A.k,{direction:"column",alignItems:"stretch",gap:6,zIndex:2,position:"relative",as:"ol"},a.map((u,i)=>{const d=u?.id??u.__temp_key__;return t.createElement(m.x,{key:`stage-${d}`,as:"li"},t.createElement(le,{...u,id:d,index:i,canDelete:a.length>1,isOpen:!u.id}))}))),t.createElement(A.k,{direction:"column",gap:6},t.createElement(G,{type:"button",onClick:()=>{r(j({name:""})),D("willCreateStage")}},s({id:"Settings.review-workflows.stage.add",defaultMessage:"Add new stage"}))))}te.defaultProps={stages:[]},te.propTypes={stages:n().arrayOf(n().shape({id:n().number,__temp_key__:n().number,name:n().string.isRequired}))};var ie=e(97889),ve=e(89793),he=e.n(ve);const de={status:"loading",serverState:{currentWorkflow:null,workflows:[]},clientState:{currentWorkflow:{data:null,isDirty:!1,hasDeletedServerStages:!1}}};function we(a=de,s){return(0,ie.Uy)(a,r=>{const{payload:D}=s;switch(s.type){case C:{const{status:u,workflows:i}=D;if(r.status=u,i){const d=i[0];r.serverState.workflows=i,r.serverState.currentWorkflow=d,r.clientState.currentWorkflow.data=d,r.clientState.currentWorkflow.hasDeletedServerStages=!1}break}case $:{const{stageId:u}=D,{currentWorkflow:i}=a.clientState;r.clientState.currentWorkflow.data.stages=i.data.stages.filter(d=>(d?.id??d.__temp_key__)!==u),i.hasDeletedServerStages||(r.clientState.currentWorkflow.hasDeletedServerStages=!!a.serverState.currentWorkflow.stages.find(d=>d.id===u));break}case p:{const{currentWorkflow:u}=a.clientState;u.data||(r.clientState.currentWorkflow.data={stages:[]});const i=Ee(r.clientState.currentWorkflow.data.stages);r.clientState.currentWorkflow.data.stages.push({...D,__temp_key__:i});break}case R:{const{currentWorkflow:u}=a.clientState,{stageId:i,...d}=D;r.clientState.currentWorkflow.data.stages=u.data.stages.map(M=>(M.id??M.__temp_key__)===i?{...M,...d}:M);break}default:break}a.clientState.currentWorkflow.data&&(r.clientState.currentWorkflow.isDirty=!he()((0,ie.Vk)(r.clientState.currentWorkflow).data,r.serverState.currentWorkflow))})}const Ee=(a=[])=>{const s=a.map(r=>r.id??r.__temp_key__);return Math.max(...s,-1)+1};function ye(a,s){const r=(0,v.oR)();(0,t.useEffect)(()=>{r.injectReducer(a,s)},[r,a,s])}var Se=e(67350),V=e(24346);function xe({formatMessage:a}){return V.Ry({stages:V.IX().of(V.Ry().shape({name:V.Z_().required(a({id:"Settings.review-workflows.validation.stage.name",defaultMessage:"Name is required"})).max(255,a({id:"Settings.review-workflows.validation.stage.max-length",defaultMessage:"Name can not be longer than 255 characters"}))}))})}var ke=e(83983);function We(){const{trackUsage:a}=(0,c.rS)(),{formatMessage:s}=(0,f.Z)(),r=(0,v.I0)(),{put:D}=(0,c.kY)(),{formatAPIError:u}=(0,c.So)(),i=(0,c.lm)(),{workflows:d,refetchWorkflow:M}=(0,Se.n)(),{status:ae,clientState:{currentWorkflow:{data:B,isDirty:Y,hasDeletedServerStages:oe}}}=(0,v.v9)(O=>O?.[I]??de),[F,Z]=(0,t.useState)(!1),{mutateAsync:Me,isLoading:ce}=(0,x.useMutation)(async({workflowId:O,stages:re})=>{try{const{data:{data:se}}=await D(`/admin/review-workflows/workflows/${O}/stages`,{data:re});return se}catch(se){i({type:"warning",message:u(se)})}return null},{onError(O){i({type:"warning",message:u(O)})},onSuccess(){i({type:"success",message:{id:"notification.success.saved",defaultMessage:"Saved"}})}}),Te=(O,re)=>Me({workflowId:O,stages:re}),ue=async()=>{await Te(B.id,B.stages),await M(),Z(!1)},Ae=async()=>{await ue()},Ce=()=>{Z(O=>!O)},ne=(0,g.TA)({enableReinitialize:!0,initialValues:B,async onSubmit(){oe?Z(!0):ue()},validationSchema:xe({formatMessage:s}),validateOnChange:!1});return ye(I,we),(0,t.useEffect)(()=>{r(S({status:d.status,data:d.data}))},[d.status,d.data,r]),(0,t.useEffect)(()=>{a("didViewWorkflow")},[]),t.createElement(c.O4,{permissions:ke.Z.settings["review-workflows"].main},t.createElement(y.A,null,t.createElement(c.SL,{name:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"})}),t.createElement(E.o,{tabIndex:-1},t.createElement(g.Hy,{value:ne},t.createElement(g.l0,{onSubmit:ne.handleSubmit},t.createElement(k.T,{primaryAction:t.createElement(W.z,{startIcon:t.createElement(l.Z,null),type:"submit",size:"M",disabled:!Y,loading:!F&&ce},s({id:"global.save",defaultMessage:"Save"})),title:s({id:"Settings.review-workflows.page.title",defaultMessage:"Review Workflows"}),subtitle:s({id:"Settings.review-workflows.page.subtitle",defaultMessage:"{count, plural, one {# stage} other {# stages}}"},{count:B?.stages?.length??0})}),t.createElement(T.D,null,ae==="loading"&&t.createElement(b.a,null,s({id:"Settings.review-workflows.page.isLoading",defaultMessage:"Workflow is loading"})),t.createElement(te,{stages:ne.values?.stages})))),t.createElement(c.QH,{bodyText:{id:"Settings.review-workflows.page.delete.confirm.body",defaultMessage:"All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?"},isConfirmButtonLoading:ce,isOpen:F,onToggleDialog:Ce,onConfirm:Ae}))))}var De=We},83828:function(L,w,e){e.d(w,{U:function(){return b},y:function(){return W}});var t=e(74512),g=e(32735),f=e(8471),v=e(91045),x=e(72850),c=e(87933),y=e(74971),E=e(49372);const k=({theme:l,expanded:o,variant:n,disabled:h,error:m})=>m?`1px solid ${l.colors.danger600} !important`:h?`1px solid ${l.colors.neutral150}`:o?`1px solid ${l.colors.primary600}`:n==="primary"?`1px solid ${l.colors.neutral0}`:`1px solid ${l.colors.neutral100}`,W=(0,f.ZP)(E.Z)``,T=(0,f.ZP)(x.x)`
|
|
58
58
|
border: ${k};
|
|
59
59
|
|
|
60
60
|
&:hover:not([aria-disabled='true']) {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(function(){"use strict";var j={},m={};function a(n){var i=m[n];if(i!==void 0)return i.exports;var t=m[n]={id:n,loaded:!1,exports:{}};return j[n].call(t.exports,t,t.exports,a),t.loaded=!0,t.exports}a.m=j,function(){var n=[];a.O=function(i,t,o,r){if(t){r=r||0;for(var s=n.length;s>0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r];return}for(var e=1/0,s=0;s<n.length;s++){for(var t=n[s][0],o=n[s][1],r=n[s][2],c=!0,l=0;l<t.length;l++)(r&!1||e>=r)&&Object.keys(a.O).every(function(b){return a.O[b](t[l])})?t.splice(l--,1):(c=!1,r<e&&(e=r));if(c){n.splice(s--,1);var f=o();f!==void 0&&(i=f)}}return i}}(),function(){a.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return a.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;a.t=function(t,o){if(o&1&&(t=this(t)),o&8||typeof t=="object"&&t&&(o&4&&t.__esModule||o&16&&typeof t.then=="function"))return t;var r=Object.create(null);a.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var e=o&2&&t;typeof e=="object"&&!~i.indexOf(e);e=n(e))Object.getOwnPropertyNames(e).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},a.d(r,s),r}}(),function(){a.d=function(n,i){for(var t in i)a.o(i,t)&&!a.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){a.f={},a.e=function(n){return Promise.all(Object.keys(a.f).reduce(function(i,t){return a.f[t](n,i),i},[]))}}(),function(){a.u=function(n){return""+({46:"content-type-builder-translation-zh-Hans-json",90:"i18n-translation-de-json",92:"api-tokens-edit-page",96:"email-translation-de-json",123:"ru-json",129:"i18n-translation-es-json",302:"sso-settings-page",320:"en-json",395:"tr-json",435:"email-translation-it-json",562:"no-json",585:"upload-translation-pt-json",606:"sk-json",615:"upload-translation-uk-json",695:"upload-settings",742:"content-type-builder-translation-th-json",744:"email-translation-cs-json",749:"th-json",801:"Admin-authenticatedApp",830:"he-json",931:"content-type-builder-translation-en-json",994:"content-manager",1001:"content-type-builder-translation-nl-json",1009:"upload-translation-ms-json",1011:"zh-json",1018:"email-translation-ko-json",1023:"content-type-builder-translation-it-json",1056:"upload-translation-tr-json",1157:"email-translation-pt-BR-json",1167:"users-permissions-translation-ko-json",1180:"i18n-translation-tr-json",1312:"ja-json",1331:"upload-translation-es-json",1375:"upload-translation-pt-BR-json",1377:"ko-json",1442:"users-permissions-translation-cs-json",1495:"email-settings-page",1674:"users-permissions-translation-ru-json",1930:"users-permissions-translation-pt-json",2137:"i18n-translation-fr-json",2151:"content-type-builder-translation-id-json",2246:"content-type-builder-translation-dk-json",2248:"gu-json",2282:"users-providers-settings-page",2380:"users-permissions-translation-tr-json",2411:"email-translation-tr-json",2464:"users-permissions-translation-de-json",2489:"upload-translation-ko-json",2492:"transfer-tokens-edit-page",2544:"admin-edit-roles-page",2553:"zh-Hans-json",2567:"content-type-builder-translation-ko-json",2603:"email-translation-en-json",2648:"email-translation-ar-json",2657:"content-type-builder-translation-cs-json",2671:"nl-json",2742:"users-permissions-translation-zh-Hans-json",2812:"audit-logs-settings-page",3025:"ms-json",3038:"upload-translation-sk-json",3043:"email-translation-zh-Hans-json",3095:"users-permissions-translation-sk-json",3098:"users-permissions-translation-fr-json",3166:"email-translation-pt-json",3206:"email-translation-nl-json",3278:"vi-json",3304:"content-type-builder-translation-tr-json",3340:"pt-json",3455:"admin-roles-list",3516:"ca-json",3530:"users-permissions-translation-vi-json",3552:"i18n-settings-page",3650:"upload",3677:"Admin_pluginsPage",3702:"users-permissions-translation-pl-json",3825:"email-translation-dk-json",3948:"content-type-builder-translation-pl-json",3964:"content-type-builder-translation-ms-json",3981:"Admin_homePage",4021:"upload-translation-de-json",4121:"webhook-list-page",4179:"users-permissions-translation-id-json",4263:"admin-edit-users",4299:"api-tokens-create-page",4302:"content-type-builder-translation-zh-json",4587:"email-translation-th-json",4693:"email-translation-fr-json",4804:"upload-translation-ru-json",4816:"transfer-tokens-create-page",4987:"upload-translation-pl-json",5053:"upload-translation-zh-json",5162:"webhook-edit-page",5199:"admin-users",5222:"upload-translation-it-json",5296:"i18n-translation-dk-json",5388:"email-translation-ru-json",5396:"users-permissions-translation-zh-json",5516:"Admin_marketplace",5538:"admin-app",5751:"email-translation-es-json",5880:"upload-translation-ja-json",5894:"hu-json",5895:"Admin_settingsPage",5905:"content-type-builder-list-view",5906:"content-type-builder-translation-pt-BR-json",6232:"upload-translation-th-json",6280:"i18n-translation-ko-json",6332:"hi-json",6377:"users-permissions-translation-dk-json",6434:"upload-translation-en-json",6460:"users-permissions-translation-en-json",6745:"email-translation-uk-json",6784:"email-translation-ms-json",6817:"it-json",6831:"upload-translation-zh-Hans-json",6836:"users-permissions-translation-uk-json",6848:"email-translation-zh-json",6901:"de-json",7048:"users-permissions-translation-nl-json",7094:"users-permissions-translation-ar-json",7155:"content-type-builder-translation-de-json",7186:"content-type-builder-translation-ru-json",7327:"email-translation-vi-json",7347:"highlight.js",7403:"uk-json",7465:"upload-translation-dk-json",7519:"cs-json",7663:"email-translation-id-json",7808:"i18n-translation-zh-json",7817:"users-permissions-translation-es-json",7828:"users-permissions-translation-th-json",7833:"upload-translation-fr-json",7846:"pl-json",7898:"dk-json",7934:"content-type-builder-translation-pt-json",7958:"ar-json",7997:"content-type-builder-translation-sk-json",8006:"fr-json",8056:"api-tokens-list-page",8155:"review-workflows-settings",8175:"i18n-translation-en-json",8178:"email-translation-ja-json",8329:"content-type-builder-translation-sv-json",8342:"content-type-builder-translation-es-json",8360:"eu-json",8367:"es-json",8418:"users-email-settings-page",8423:"upload-translation-ca-json",8467:"users-permissions-translation-sv-json",8481:"email-translation-pl-json",8573:"content-type-builder-translation-uk-json",8736:"users-permissions-translation-pt-BR-json",8853:"users-roles-settings-page",8880:"content-type-builder",8897:"id-json",8907:"content-type-builder-translation-ja-json",8965:"content-type-builder-translation-fr-json",9220:"users-permissions-translation-ms-json",9303:"sv-json",9366:"i18n-translation-pl-json",9412:"email-translation-sk-json",9460:"users-advanced-settings-page",9497:"Admin_profilePage",9501:"Admin_InternalErrorPage",9502:"users-permissions-translation-ja-json",9511:"content-type-builder-translation-ar-json",9514:"Upload_ConfigureTheView",9600:"transfer-tokens-list-page",9647:"pt-BR-json",9726:"sa-json",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"415577fb",90:"362384a6",92:"cd36e30e",96:"1b334230",123:"e0662702",129:"87b494d1",302:"1dd4886e",320:"08303b37",395:"bac5dbd3",435:"a2ed8c78",462:"8fff7f3b",562:"19a2dbfa",585:"6b937fdf",606:"2374f129",615:"9950466a",695:"945fdcfa",742:"6fe3ed55",744:"6eaeec6a",749:"5f659396",801:"52c88751",830:"3cf0b48a",931:"510e88ca",994:"def692c2",1001:"40bbc562",1009:"74f6d746",1011:"3529f1e5",1018:"4de49b23",1023:"13b3c26a",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"81b6d1e3",1331:"ba2eb03a",1375:"d1704f0b",1377:"4539f4ba",1387:"84b454d3",1442:"7e23424a",1495:"1095e1ab",1657:"45231968",1674:"20e177db",1930:"a7eda429",2137:"57ddc77e",2151:"ee3b36bb",2246:"e05583e9",2248:"4d667d0c",2282:"e32089c2",2380:"2bd7ff98",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"22bf28e5",2544:"4f1858e9",2553:"4cfef87d",2567:"8a274be5",2603:"4211d4d0",2648:"88304564",2657:"a5b299ca",2671:"98345913",2742:"6ab714ee",2812:"19d90bda",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3081:"bcf9a12f",3095:"7f37180f",3098:"7e55bbbb",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"cea4d226",3340:"ee554a41",3455:"329c1f63",3516:"43e14418",3530:"6722a8a2",3552:"7d80aae0",3650:"a86b1054",3677:"f6b52ee9",3702:"0a7287d1",3825:"85402492",3948:"24a34349",3964:"2d29c1e0",3981:"f9309c6d",4021:"420c943b",4121:"5beb2a5c",4179:"a5a0fb59",4263:"7e14d85f",4299:"97595e12",4302:"faedd610",4587:"660fa9a8",4628:"20631dd1",4693:"78be2787",4804:"675f6b93",4816:"ec2ca215",4987:"426f31c9",5053:"e1dd6eb2",5162:"213f0075",5199:"d02de059",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5516:"56bc1008",5538:"dfaeea5d",5542:"b8240e3f",5563:"905daa13",5751:"0b6b1006",5880:"44b88e7a",5894:"fe71e6c8",5895:"257b3477",5905:"9c2c020c",5906:"97f71a9d",6232:"98d35574",6280:"ef4f9471",6332:"323be97d",6377:"60e50f48",6404:"68405699",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"fcac7381",7048:"c9f92a3c",7094:"7d87d54d",7155:"0979cccb",7186:"54d11230",7259:"b7d00cea",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"59a5dab3",7898:"e34cad0d",7934:"ddb44f8c",7958:"39e54aba",7997:"626c9493",8006:"f66c3211",8056:"6757c7b9",8155:"9092ed72",8175:"60af6722",8178:"63eebd02",8329:"59f5e1e5",8342:"fe4daad8",8360:"fb17c8f9",8367:"715b6fd8",8418:"e5506eb4",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"c4524247",8694:"6522968d",8736:"1b6d2920",8853:"2f85dcec",8880:"5e1f4afc",8897:"41e07c46",8907:"9be0d5b2",8965:"b1eb52f6",9220:"c83f87c4",9303:"ae6e71ea",9366:"dfac513d",9412:"53da2fcd",9460:"5b5a9baa",9497:"9112cffc",9501:"15c6bf07",9502:"891fe76e",9511:"56d8fcf4",9514:"eaaec495",9600:"cf8c77f2",9647:"9410688b",9726:"6359a11c",9762:"757ce62d",9797:"0a830937",9903:"8988e374",9905:"0705465d"}[n]+".chunk.js"}}(),function(){a.miniCssF=function(n){}}(),function(){a.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){a.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";a.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var e,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),f=0;f<l.length;f++){var d=l[f];if(d.getAttribute("src")==t||d.getAttribute("data-webpack")==i+r){e=d;break}}e||(c=!0,e=document.createElement("script"),e.charset="utf-8",e.timeout=120,a.nc&&e.setAttribute("nonce",a.nc),e.setAttribute("data-webpack",i+r),e.src=t),n[t]=[o];var u=function(g,b){e.onerror=e.onload=null,clearTimeout(p);var h=n[t];if(delete n[t],e.parentNode&&e.parentNode.removeChild(e),h&&h.forEach(function(y){return y(b)}),g)return g(b)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:e}),12e4);e.onerror=u.bind(null,e.onerror),e.onload=u.bind(null,e.onload),c&&document.head.appendChild(e)}}(),function(){a.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){a.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){a.p="/admin/"}(),function(){a.b=document.baseURI||self.location.href;var n={1303:0};a.f.j=function(o,r){var s=a.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var e=new Promise(function(d,u){s=n[o]=[d,u]});r.push(s[2]=e);var c=a.p+a.u(o),l=new Error,f=function(d){if(a.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=d&&(d.type==="load"?"missing":d.type),p=d&&d.target&&d.target.src;l.message="Loading chunk "+o+` failed.
|
|
2
|
-
(`+u+": "+p+")",l.name="ChunkLoadError",l.type=u,l.request=p,s[1](l)}};
|
|
1
|
+
(function(){"use strict";var j={},m={};function e(n){var i=m[n];if(i!==void 0)return i.exports;var t=m[n]={id:n,loaded:!1,exports:{}};return j[n].call(t.exports,t,t.exports,e),t.loaded=!0,t.exports}e.m=j,function(){var n=[];e.O=function(i,t,o,r){if(t){r=r||0;for(var s=n.length;s>0&&n[s-1][2]>r;s--)n[s]=n[s-1];n[s]=[t,o,r];return}for(var a=1/0,s=0;s<n.length;s++){for(var t=n[s][0],o=n[s][1],r=n[s][2],c=!0,l=0;l<t.length;l++)(r&!1||a>=r)&&Object.keys(e.O).every(function(b){return e.O[b](t[l])})?t.splice(l--,1):(c=!1,r<a&&(a=r));if(c){n.splice(s--,1);var d=o();d!==void 0&&(i=d)}}return i}}(),function(){e.n=function(n){var i=n&&n.__esModule?function(){return n.default}:function(){return n};return e.d(i,{a:i}),i}}(),function(){var n=Object.getPrototypeOf?function(t){return Object.getPrototypeOf(t)}:function(t){return t.__proto__},i;e.t=function(t,o){if(o&1&&(t=this(t)),o&8||typeof t=="object"&&t&&(o&4&&t.__esModule||o&16&&typeof t.then=="function"))return t;var r=Object.create(null);e.r(r);var s={};i=i||[null,n({}),n([]),n(n)];for(var a=o&2&&t;typeof a=="object"&&!~i.indexOf(a);a=n(a))Object.getOwnPropertyNames(a).forEach(function(c){s[c]=function(){return t[c]}});return s.default=function(){return t},e.d(r,s),r}}(),function(){e.d=function(n,i){for(var t in i)e.o(i,t)&&!e.o(n,t)&&Object.defineProperty(n,t,{enumerable:!0,get:i[t]})}}(),function(){e.f={},e.e=function(n){return Promise.all(Object.keys(e.f).reduce(function(i,t){return e.f[t](n,i),i},[]))}}(),function(){e.u=function(n){return""+({46:"content-type-builder-translation-zh-Hans-json",90:"i18n-translation-de-json",92:"api-tokens-edit-page",96:"email-translation-de-json",123:"ru-json",129:"i18n-translation-es-json",302:"sso-settings-page",320:"en-json",395:"tr-json",435:"email-translation-it-json",562:"no-json",585:"upload-translation-pt-json",606:"sk-json",615:"upload-translation-uk-json",695:"upload-settings",742:"content-type-builder-translation-th-json",744:"email-translation-cs-json",749:"th-json",801:"Admin-authenticatedApp",830:"he-json",931:"content-type-builder-translation-en-json",994:"content-manager",1001:"content-type-builder-translation-nl-json",1009:"upload-translation-ms-json",1011:"zh-json",1018:"email-translation-ko-json",1023:"content-type-builder-translation-it-json",1056:"upload-translation-tr-json",1157:"email-translation-pt-BR-json",1167:"users-permissions-translation-ko-json",1180:"i18n-translation-tr-json",1312:"ja-json",1331:"upload-translation-es-json",1375:"upload-translation-pt-BR-json",1377:"ko-json",1442:"users-permissions-translation-cs-json",1495:"email-settings-page",1674:"users-permissions-translation-ru-json",1930:"users-permissions-translation-pt-json",2137:"i18n-translation-fr-json",2151:"content-type-builder-translation-id-json",2246:"content-type-builder-translation-dk-json",2248:"gu-json",2282:"users-providers-settings-page",2380:"users-permissions-translation-tr-json",2411:"email-translation-tr-json",2464:"users-permissions-translation-de-json",2489:"upload-translation-ko-json",2492:"transfer-tokens-edit-page",2544:"admin-edit-roles-page",2553:"zh-Hans-json",2567:"content-type-builder-translation-ko-json",2603:"email-translation-en-json",2648:"email-translation-ar-json",2657:"content-type-builder-translation-cs-json",2671:"nl-json",2742:"users-permissions-translation-zh-Hans-json",2812:"audit-logs-settings-page",3025:"ms-json",3038:"upload-translation-sk-json",3043:"email-translation-zh-Hans-json",3095:"users-permissions-translation-sk-json",3098:"users-permissions-translation-fr-json",3166:"email-translation-pt-json",3206:"email-translation-nl-json",3278:"vi-json",3304:"content-type-builder-translation-tr-json",3340:"pt-json",3455:"admin-roles-list",3516:"ca-json",3530:"users-permissions-translation-vi-json",3552:"i18n-settings-page",3650:"upload",3677:"Admin_pluginsPage",3702:"users-permissions-translation-pl-json",3825:"email-translation-dk-json",3948:"content-type-builder-translation-pl-json",3964:"content-type-builder-translation-ms-json",3981:"Admin_homePage",4021:"upload-translation-de-json",4121:"webhook-list-page",4179:"users-permissions-translation-id-json",4263:"admin-edit-users",4299:"api-tokens-create-page",4302:"content-type-builder-translation-zh-json",4587:"email-translation-th-json",4693:"email-translation-fr-json",4804:"upload-translation-ru-json",4816:"transfer-tokens-create-page",4987:"upload-translation-pl-json",5053:"upload-translation-zh-json",5162:"webhook-edit-page",5199:"admin-users",5222:"upload-translation-it-json",5296:"i18n-translation-dk-json",5388:"email-translation-ru-json",5396:"users-permissions-translation-zh-json",5516:"Admin_marketplace",5538:"admin-app",5751:"email-translation-es-json",5880:"upload-translation-ja-json",5894:"hu-json",5895:"Admin_settingsPage",5905:"content-type-builder-list-view",5906:"content-type-builder-translation-pt-BR-json",6232:"upload-translation-th-json",6280:"i18n-translation-ko-json",6332:"hi-json",6377:"users-permissions-translation-dk-json",6434:"upload-translation-en-json",6460:"users-permissions-translation-en-json",6745:"email-translation-uk-json",6784:"email-translation-ms-json",6817:"it-json",6831:"upload-translation-zh-Hans-json",6836:"users-permissions-translation-uk-json",6848:"email-translation-zh-json",6901:"de-json",7048:"users-permissions-translation-nl-json",7094:"users-permissions-translation-ar-json",7155:"content-type-builder-translation-de-json",7186:"content-type-builder-translation-ru-json",7327:"email-translation-vi-json",7347:"highlight.js",7403:"uk-json",7465:"upload-translation-dk-json",7519:"cs-json",7663:"email-translation-id-json",7808:"i18n-translation-zh-json",7817:"users-permissions-translation-es-json",7828:"users-permissions-translation-th-json",7833:"upload-translation-fr-json",7846:"pl-json",7898:"dk-json",7934:"content-type-builder-translation-pt-json",7958:"ar-json",7997:"content-type-builder-translation-sk-json",8006:"fr-json",8056:"api-tokens-list-page",8155:"review-workflows-settings",8175:"i18n-translation-en-json",8178:"email-translation-ja-json",8329:"content-type-builder-translation-sv-json",8342:"content-type-builder-translation-es-json",8360:"eu-json",8367:"es-json",8418:"users-email-settings-page",8423:"upload-translation-ca-json",8467:"users-permissions-translation-sv-json",8481:"email-translation-pl-json",8573:"content-type-builder-translation-uk-json",8736:"users-permissions-translation-pt-BR-json",8853:"users-roles-settings-page",8880:"content-type-builder",8897:"id-json",8907:"content-type-builder-translation-ja-json",8965:"content-type-builder-translation-fr-json",9220:"users-permissions-translation-ms-json",9303:"sv-json",9366:"i18n-translation-pl-json",9412:"email-translation-sk-json",9460:"users-advanced-settings-page",9497:"Admin_profilePage",9501:"Admin_InternalErrorPage",9502:"users-permissions-translation-ja-json",9511:"content-type-builder-translation-ar-json",9514:"Upload_ConfigureTheView",9600:"transfer-tokens-list-page",9647:"pt-BR-json",9726:"sa-json",9762:"i18n-translation-zh-Hans-json",9797:"upload-translation-he-json",9903:"ml-json",9905:"users-permissions-translation-it-json"}[n]||n)+"."+{46:"415577fb",90:"362384a6",92:"cd36e30e",96:"1b334230",123:"e0662702",129:"87b494d1",302:"1dd4886e",320:"c7fc79af",395:"bac5dbd3",435:"a2ed8c78",462:"8fff7f3b",562:"19a2dbfa",585:"6b937fdf",606:"2374f129",615:"9950466a",695:"945fdcfa",742:"7ad256e2",744:"6eaeec6a",749:"5f659396",801:"b036fe95",830:"3cf0b48a",931:"446b611d",994:"84f81966",1001:"225ef5d3",1009:"74f6d746",1011:"3529f1e5",1018:"4de49b23",1023:"aaf16753",1056:"74117e5c",1157:"81cca553",1167:"357d7a33",1180:"10f0600d",1312:"81b6d1e3",1331:"ba2eb03a",1375:"d1704f0b",1377:"4539f4ba",1387:"84b454d3",1442:"7e23424a",1495:"1095e1ab",1657:"45231968",1674:"20e177db",1930:"a7eda429",2137:"57ddc77e",2151:"f0513929",2246:"fbd39bb7",2248:"4d667d0c",2282:"e32089c2",2380:"2bd7ff98",2411:"e6c0f8fc",2464:"a6fb670f",2489:"a52eab64",2492:"22bf28e5",2544:"8a4063f7",2553:"4cfef87d",2567:"8fe21a7f",2603:"4211d4d0",2648:"88304564",2657:"a5b299ca",2671:"98345913",2742:"6ab714ee",2812:"19d90bda",3025:"0eddffd9",3038:"483a18f6",3043:"c6841563",3081:"bcf9a12f",3095:"7f37180f",3098:"7e55bbbb",3166:"2a2a0643",3206:"377bdd9f",3278:"ee4c5537",3304:"926f6191",3340:"ee554a41",3455:"329c1f63",3516:"43e14418",3530:"6722a8a2",3552:"d95b32df",3650:"a86b1054",3677:"f6b52ee9",3702:"0a7287d1",3825:"85402492",3948:"92f36be2",3964:"3b5d2d3e",3981:"f9309c6d",4021:"420c943b",4121:"ca38eeef",4179:"a5a0fb59",4263:"7e14d85f",4299:"97595e12",4302:"ad24dbeb",4587:"660fa9a8",4628:"20631dd1",4693:"78be2787",4804:"675f6b93",4816:"ec2ca215",4987:"426f31c9",5053:"e1dd6eb2",5162:"a3b62049",5199:"d02de059",5222:"e87d7966",5296:"89401417",5388:"6bce37dd",5396:"7978eaa6",5516:"56bc1008",5538:"014adc27",5542:"b8240e3f",5563:"905daa13",5751:"0b6b1006",5880:"44b88e7a",5894:"fe71e6c8",5895:"4604a16c",5905:"9c2c020c",5906:"3bd10f89",6232:"98d35574",6280:"ef4f9471",6332:"323be97d",6377:"60e50f48",6404:"68405699",6434:"8b7573ce",6460:"4b302272",6745:"bd1fb6bf",6784:"7390477e",6817:"bfe27ed8",6831:"db163b6b",6836:"6a0a1572",6848:"7a2232ea",6901:"fcac7381",7048:"c9f92a3c",7094:"7d87d54d",7155:"393a76c0",7186:"9bfe47ce",7259:"b7d00cea",7327:"9fb7e6d7",7347:"28a1547e",7403:"b7e38370",7465:"bbb2fa05",7519:"4b44411c",7663:"c97239fe",7808:"bef2dc07",7817:"35007573",7828:"1e9c0247",7833:"baab9911",7846:"59a5dab3",7898:"e34cad0d",7934:"ddb44f8c",7958:"39e54aba",7997:"d03cc18a",8006:"5947cf63",8056:"6757c7b9",8155:"f7890c40",8175:"60af6722",8178:"63eebd02",8329:"d23dcd32",8342:"9288474b",8360:"fb17c8f9",8367:"715b6fd8",8418:"e5506eb4",8423:"57954414",8467:"17187818",8481:"97d0db97",8573:"7bf19546",8694:"6522968d",8736:"1b6d2920",8853:"20656f92",8880:"68af11d2",8897:"41e07c46",8907:"9be0d5b2",8965:"d35e269c",9220:"c83f87c4",9303:"ae6e71ea",9366:"dfac513d",9412:"53da2fcd",9460:"5b5a9baa",9497:"9112cffc",9501:"15c6bf07",9502:"891fe76e",9511:"56d8fcf4",9514:"eaaec495",9600:"cf8c77f2",9647:"9410688b",9726:"6359a11c",9762:"757ce62d",9797:"0a830937",9903:"8988e374",9905:"0705465d"}[n]+".chunk.js"}}(),function(){e.miniCssF=function(n){}}(),function(){e.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}()}(),function(){e.o=function(n,i){return Object.prototype.hasOwnProperty.call(n,i)}}(),function(){var n={},i="@strapi/admin:";e.l=function(t,o,r,s){if(n[t]){n[t].push(o);return}var a,c;if(r!==void 0)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var f=l[d];if(f.getAttribute("src")==t||f.getAttribute("data-webpack")==i+r){a=f;break}}a||(c=!0,a=document.createElement("script"),a.charset="utf-8",a.timeout=120,e.nc&&a.setAttribute("nonce",e.nc),a.setAttribute("data-webpack",i+r),a.src=t),n[t]=[o];var u=function(g,b){a.onerror=a.onload=null,clearTimeout(p);var h=n[t];if(delete n[t],a.parentNode&&a.parentNode.removeChild(a),h&&h.forEach(function(y){return y(b)}),g)return g(b)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:a}),12e4);a.onerror=u.bind(null,a.onerror),a.onload=u.bind(null,a.onload),c&&document.head.appendChild(a)}}(),function(){e.r=function(n){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})}}(),function(){e.nmd=function(n){return n.paths=[],n.children||(n.children=[]),n}}(),function(){e.p="/admin/"}(),function(){e.b=document.baseURI||self.location.href;var n={1303:0};e.f.j=function(o,r){var s=e.o(n,o)?n[o]:void 0;if(s!==0)if(s)r.push(s[2]);else if(o!=1303){var a=new Promise(function(f,u){s=n[o]=[f,u]});r.push(s[2]=a);var c=e.p+e.u(o),l=new Error,d=function(f){if(e.o(n,o)&&(s=n[o],s!==0&&(n[o]=void 0),s)){var u=f&&(f.type==="load"?"missing":f.type),p=f&&f.target&&f.target.src;l.message="Loading chunk "+o+` failed.
|
|
2
|
+
(`+u+": "+p+")",l.name="ChunkLoadError",l.type=u,l.request=p,s[1](l)}};e.l(c,d,"chunk-"+o,o)}else n[o]=0},e.O.j=function(o){return n[o]===0};var i=function(o,r){var s=r[0],a=r[1],c=r[2],l,d,f=0;if(s.some(function(p){return n[p]!==0})){for(l in a)e.o(a,l)&&(e.m[l]=a[l]);if(c)var u=c(e)}for(o&&o(r);f<s.length;f++)d=s[f],e.o(n,d)&&n[d]&&n[d][0](),n[d]=0;return e.O(u)},t=self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[];t.forEach(i.bind(null,0)),t.push=i.bind(null,t.push.bind(t))}(),function(){e.nc=void 0}()})();
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[8853],{77495:function(Pe,V,a){a.r(V),a.d(V,{default:function(){return Mt}});var e=a(32735),C=a(53038),l=a(43383),R=a(90201),T=a(88369),te=a(94638),J=a(96709),j=a(27649),Z=a(82055),O=a(41415),H=a(99223),U=a(17e3),Y=a(56755),F=a(33827),I=a(94547),M=a(19786),h=a(49372),De=a(3685),be=a(19406),b=a(67879),K=a(20108),G=a(59677);const Le=async(t,n)=>{try{const{get:s}=(0,l.tg)(),{data:r}=await s((0,G.Gc)("roles"));return n("The roles have loaded successfully"),r}catch{throw t({type:"warning",message:{id:"notification.error"}}),new Error("error")}},Se=async(t,n)=>{try{const{del:s}=(0,l.tg)();await s(`${(0,G.Gc)("roles")}/${t}`)}catch{n({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}};var Ze=a(60216),f=a.n(Ze),Me=a(35658),v=a(87933),se=a(50563),Oe=a(68625),Ue=a(4038);const q=({sortedRoles:t,canDelete:n,permissions:s,setRoleToDelete:r,onDelete:c})=>{const{formatMessage:o}=(0,b.Z)(),{push:g}=(0,C.k6)(),[d,m]=c,u=i=>n&&!["public","authenticated"].includes(i.type),p=i=>{r(i),m(!d)},E=i=>{g(`/settings/${R.Z}/roles/${i}`)};return e.createElement(Me.p,null,t?.map(i=>e.createElement(I.Tr,{key:i.name,...(0,l.X7)({fn:()=>E(i.id)})},e.createElement(M.Td,{width:"20%"},e.createElement(h.Z,null,i.name)),e.createElement(M.Td,{width:"50%"},e.createElement(h.Z,null,i.description)),e.createElement(M.Td,{width:"30%"},e.createElement(h.Z,null,`${i.nb_users} ${o({id:"global.users",defaultMessage:"users"}).toLowerCase()}`)),e.createElement(M.Td,null,e.createElement(v.k,{justifyContent:"end",...l.UW},e.createElement(l.jW,{permissions:s.updateRole},e.createElement(se.h,{onClick:()=>E(i.id),noBorder:!0,icon:e.createElement(Oe.Z,null),label:o({id:"app.component.table.edit",defaultMessage:"Edit {target}"},{target:`${i.name}`})})),u(i)&&e.createElement(l.jW,{permissions:s.deleteRole},e.createElement(se.h,{onClick:()=>p(i.id),noBorder:!0,icon:e.createElement(Ue.Z,null),label:o({id:"global.delete-target",defaultMessage:"Delete {target}"},{target:`${i.name}`})})))))))};var xe=q;q.defaultProps={canDelete:!1},q.propTypes={onDelete:f().array.isRequired,permissions:f().object.isRequired,setRoleToDelete:f().func.isRequired,sortedRoles:f().array.isRequired,canDelete:f().bool};var ke=()=>{const{trackUsage:t}=(0,l.rS)(),{formatMessage:n,locale:s}=(0,b.Z)(),{push:r}=(0,C.k6)(),c=(0,l.lm)(),{notifyStatus:o}=(0,te.G)(),[{query:g}]=(0,l.Kx)(),d=g?._q||"",[m,u]=(0,e.useState)(!1),[p,E]=(0,e.useState)(!1),[i,L]=(0,e.useState)();(0,l.go)();const S=(0,K.useQueryClient)(),y=(0,e.useMemo)(()=>({create:T.Z.createRole,read:T.Z.readRoles,update:T.Z.updateRole,delete:T.Z.deleteRole}),[]),{isLoading:A,allowedActions:{canRead:P,canDelete:$}}=(0,l.ss)(y),{isLoading:Ot,data:{roles:ye},isFetching:Ut}=(0,K.useQuery)("get-roles",()=>Le(c,o),{initialData:{},enabled:P}),{includes:Re}=(0,l.L0)(s,{sensitivity:"base"}),Ce=(0,l.Xe)(s,{sensitivity:"base"}),Te=Ot||Ut,xt=()=>{t("willCreateRole"),r(`/settings/${R.Z}/roles/new`)},kt=()=>{u(!m)},It={roles:{id:(0,G.OB)("Roles.empty"),defaultMessage:"You don't have any roles yet."},search:{id:(0,G.OB)("Roles.empty.search"),defaultMessage:"No roles match the search."}},Gt=n({id:"global.roles",defaultMessage:"Roles"}),Bt=(0,K.useMutation)(k=>Se(k,c),{async onSuccess(){await S.invalidateQueries("get-roles")}}),Nt=async()=>{E(!0),await Bt.mutateAsync(i),u(!m),E(!1)},Q=(ye||[]).filter(k=>Re(k.name,d)||Re(k.description,d)).sort((k,Ae)=>Ce.compare(k.name,Ae.name)||Ce.compare(k.description,Ae.description)),$t=d&&!Q.length?"search":"roles",jt=4,Ft=(ye?.length||0)+1;return e.createElement(J.A,null,e.createElement(l.SL,{name:Gt}),e.createElement(j.o,{"aria-busy":Te},e.createElement(Z.T,{title:n({id:"global.roles",defaultMessage:"Roles"}),subtitle:n({id:"Settings.roles.list.description",defaultMessage:"List of roles"}),primaryAction:e.createElement(l.jW,{permissions:T.Z.createRole},e.createElement(O.z,{onClick:xt,startIcon:e.createElement(be.Z,null),size:"S"},n({id:(0,G.OB)("List.button.roles"),defaultMessage:"Add new role"})))}),e.createElement(H.Z,{startActions:e.createElement(l.m,{label:n({id:"app.component.search.label",defaultMessage:"Search"})})}),e.createElement(U.D,null,!P&&e.createElement(l.ZF,null),(Te||A)&&e.createElement(l.dO,null),P&&Q&&Q?.length?e.createElement(Y.i,{colCount:jt,rowCount:Ft},e.createElement(F.h,null,e.createElement(I.Tr,null,e.createElement(M.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.name",defaultMessage:"Name"}))),e.createElement(M.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.description",defaultMessage:"Description"}))),e.createElement(M.Th,null,e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},n({id:"global.users",defaultMessage:"Users"}))),e.createElement(M.Th,null,e.createElement(De.T,null,n({id:"global.actions",defaultMessage:"Actions"}))))),e.createElement(xe,{sortedRoles:Q,canDelete:$,permissions:T.Z,setRoleToDelete:L,onDelete:[m,u]})):e.createElement(l.x7,{content:It[$t]})),e.createElement(l.QH,{isConfirmButtonLoading:p,onConfirm:Nt,onToggleDialog:kt,isOpen:m})))},Ie=()=>e.createElement(l.O4,{permissions:T.Z.accessRoles},e.createElement(ke,null)),ne=a(92802),D=a(72850),z=a(15335),x=a(5803),ae=a(10369),re=a(10508),oe=a(66456),Ge=a(29439),B=a(82069),Be=a(33795),W=a.n(Be),Ne=a(86834),$e=a.n(Ne),je=a(86205),Fe=a.n(je);const le=(0,e.createContext)({}),ie=({children:t,value:n})=>e.createElement(le.Provider,{value:n},t),_=()=>(0,e.useContext)(le);ie.propTypes={children:f().node.isRequired,value:f().object.isRequired};var X=a(8471),We=a(37213),Ve=a.n(We),He=a(15738),Ye=a.n(He),ze=t=>{switch(t){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"}}};const Xe=(0,X.ZP)(D.x)`
|
|
2
|
+
margin: -1px;
|
|
3
|
+
border-radius: ${({theme:t})=>t.spaces[1]} 0 0 ${({theme:t})=>t.spaces[1]};
|
|
4
|
+
`;function ee({route:t}){const{formatMessage:n}=(0,b.Z)(),{method:s,handler:r,path:c}=t,o=c?Ye()(c.split("/")):[],[g="",d=""]=r?r.split("."):[],m=ze(t.method);return e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(h.Z,{variant:"delta",as:"h3"},n({id:"users-permissions.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,g),e.createElement(h.Z,{variant:"delta",textColor:"primary600"},".",d)),e.createElement(v.k,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(Xe,{background:m.background,borderColor:m.border,padding:2},e.createElement(h.Z,{fontWeight:"bold",textColor:m.text},s)),e.createElement(D.x,{paddingLeft:2,paddingRight:2},Ve()(o,u=>e.createElement(h.Z,{key:u,textColor:u.includes(":")?"neutral600":"neutral900"},"/",u)))))}ee.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},ee.propTypes={route:f().shape({handler:f().string,method:f().string,path:f().string})};var we=ee,Qe=()=>{const{formatMessage:t}=(0,b.Z)(),{selectedAction:n,routes:s}=_(),r=Fe()(n.split("."),"controllers"),c=W()(s,r[0]),o=r.slice(1).join("."),g=$e()(c)?[]:c.filter(d=>d.handler.endsWith(o));return e.createElement(x.P,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},n?e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:2},g.map((d,m)=>e.createElement(we,{key:m,route:d}))):e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(h.Z,{variant:"delta",as:"h3"},t({id:"users-permissions.Policies.header.title",defaultMessage:"Advanced settings"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},t({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"}))))},Je=a(83828),Ke=a(61762),qe=a(89966),_e=a(23940),et=a.n(_e);function tt(t){switch(t){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 et()(t.replace("api::","").replace("plugin::",""))}}var st=tt,nt=a(98978),ce=a.n(nt),de=a(8284),at=a(45112);const ue=X.iv`
|
|
5
|
+
background: ${t=>t.theme.colors.primary100};
|
|
6
|
+
svg {
|
|
7
|
+
opacity: 1;
|
|
8
|
+
}
|
|
9
|
+
`;var rt=(0,X.ZP)(D.x)`
|
|
10
|
+
display: flex;
|
|
11
|
+
justify-content: space-between;
|
|
12
|
+
align-items: center;
|
|
13
|
+
|
|
14
|
+
svg {
|
|
15
|
+
opacity: 0;
|
|
16
|
+
path {
|
|
17
|
+
fill: ${t=>t.theme.colors.primary600};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/* Show active style both on hover and when the action is selected */
|
|
22
|
+
${t=>t.isActive&&ue}
|
|
23
|
+
&:hover {
|
|
24
|
+
${ue}
|
|
25
|
+
}
|
|
26
|
+
`;const ot=X.ZP.div`
|
|
27
|
+
flex: 1;
|
|
28
|
+
align-self: center;
|
|
29
|
+
border-top: 1px solid ${({theme:t})=>t.colors.neutral150};
|
|
30
|
+
`,me=({subCategory:t})=>{const{formatMessage:n}=(0,b.Z)(),{onChange:s,onChangeSelectAll:r,onSelectedAction:c,selectedAction:o,modifiedData:g}=_(),d=(0,e.useMemo)(()=>W()(g,t.name,{}),[g,t]),m=(0,e.useMemo)(()=>Object.values(d).every(i=>i.enabled===!0),[d]),u=(0,e.useMemo)(()=>Object.values(d).some(i=>i.enabled===!0)&&!m,[d,m]),p=(0,e.useCallback)(({target:{name:i}})=>{r({target:{name:i,value:!m}})},[m,r]),E=(0,e.useCallback)(i=>o===i,[o]);return e.createElement(D.x,null,e.createElement(v.k,{justifyContent:"space-between",alignItems:"center"},e.createElement(D.x,{paddingRight:4},e.createElement(h.Z,{variant:"sigma",textColor:"neutral600"},t.label)),e.createElement(ot,null),e.createElement(D.x,{paddingLeft:4},e.createElement(de.X,{name:t.name,value:m,onValueChange:i=>p({target:{name:t.name,value:i}}),indeterminate:u},n({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(v.k,{paddingTop:6,paddingBottom:6},e.createElement(z.r,{gap:2,style:{flex:1}},t.actions.map(i=>{const L=`${i.name}.enabled`;return e.createElement(x.P,{col:6,key:i.name},e.createElement(rt,{isActive:E(i.name),padding:2,hasRadius:!0},e.createElement(de.X,{value:W()(g,L,!1),name:L,onValueChange:S=>s({target:{name:L,value:S}})},i.label),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>c(i.name),style:{display:"inline-flex",alignItems:"center"}},e.createElement(at.Z,null))))}))))};me.propTypes={subCategory:f().object.isRequired};var lt=me;const ge=({name:t,permissions:n})=>{const s=(0,e.useMemo)(()=>ce()(Object.values(n.controllers).reduce((r,c,o)=>{const g=`${t}.controllers.${Object.keys(n.controllers)[o]}`,d=ce()(Object.keys(c).reduce((m,u)=>[...m,{...c[u],label:u,name:`${g}.${u}`}],[]),"label");return[...r,{actions:d,label:Object.keys(n.controllers)[o],name:g}]},[]),"label"),[t,n]);return e.createElement(D.x,{padding:6},s.map(r=>e.createElement(lt,{key:r.name,subCategory:r})))};ge.propTypes={name:f().string.isRequired,permissions:f().object.isRequired};var it=ge,ct=(t,n)=>{const s=Object.keys(n).sort().map(r=>({name:r,isOpen:!1}));return{...t,collapses:s}},w=a(97889);const dt={collapses:[]},ut=(t,n)=>(0,w.ZP)(t,s=>{switch(n.type){case"TOGGLE_COLLAPSE":{s.collapses=t.collapses.map((r,c)=>c===n.index?{...r,isOpen:!r.isOpen}:{...r,isOpen:!1});break}default:return s}});var mt=()=>{const{modifiedData:t}=_(),{formatMessage:n}=(0,b.Z)(),[{collapses:s},r]=(0,e.useReducer)(ut,dt,o=>ct(o,t)),c=o=>r({type:"TOGGLE_COLLAPSE",index:o});return e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:1},s.map((o,g)=>e.createElement(Je.U,{expanded:o.isOpen,onToggle:()=>c(g),key:o.name,variant:g%2===0?"secondary":void 0},e.createElement(Ke.B,{title:st(o.name),description:n({id:"users-permissions.Plugin.permissions.plugins.description",defaultMessage:"Define all allowed actions for the {name} plugin."},{name:o.name}),variant:g%2?"primary":"secondary"}),e.createElement(qe.v,null,e.createElement(D.x,null,e.createElement(it,{permissions:t[o.name],name:o.name}))))))},gt=a(3040),pe=a.n(gt),pt=a(88708),Et=a.n(pt);const ht={initialData:{},modifiedData:{},routes:{},selectedAction:"",policies:[]};var ft=(t,n)=>(0,w.ZP)(t,s=>{switch(n.type){case"ON_CHANGE":{const r=n.keys.length,c=n.keys[r-1]==="enabled";if(n.value&&c){const o=Et()(n.keys,r-1).join(".");s.selectedAction=o}pe()(s,["modifiedData",...n.keys],n.value);break}case"ON_CHANGE_SELECT_ALL":{const r=["modifiedData",...n.keys],c=W()(t,r,{}),o=Object.keys(c).reduce((g,d)=>(g[d]={...c[d],enabled:n.value},g),{});pe()(s,r,o);break}case"ON_RESET":{s.modifiedData=t.initialData;break}case"ON_SUBMIT_SUCCEEDED":{s.initialData=t.modifiedData;break}case"SELECT_ACTION":{const{actionToSelect:r}=n;s.selectedAction=r===t.selectedAction?"":r;break}default:return s}}),vt=(t,n,s)=>({...t,initialData:n,modifiedData:n,routes:s});const Ee=(0,e.forwardRef)(({permissions:t,routes:n},s)=>{const{formatMessage:r}=(0,b.Z)(),[c,o]=(0,e.useReducer)(ft,ht,p=>vt(p,t,n));(0,e.useImperativeHandle)(s,()=>({getPermissions(){return{permissions:c.modifiedData}},resetForm(){o({type:"ON_RESET"})},setFormAfterSubmit(){o({type:"ON_SUBMIT_SUCCEEDED"})}}));const u={...c,onChange:({target:{name:p,value:E}})=>o({type:"ON_CHANGE",keys:p.split("."),value:E==="empty__string_value"?"":E}),onChangeSelectAll:({target:{name:p,value:E}})=>o({type:"ON_CHANGE_SELECT_ALL",keys:p.split("."),value:E}),onSelectedAction:p=>o({type:"SELECT_ACTION",actionToSelect:p})};return e.createElement(ie,{value:u},e.createElement(z.r,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(x.P,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:2},e.createElement(h.Z,{variant:"delta",as:"h2"},r({id:(0,B.Z)("Plugins.header.title"),defaultMessage:"Permissions"})),e.createElement(h.Z,{as:"p",textColor:"neutral600"},r({id:(0,B.Z)("Plugins.header.description"),defaultMessage:"Only actions bound by a route are listed below."}))),e.createElement(mt,null))),e.createElement(Qe,null)))});Ee.propTypes={permissions:f().object.isRequired,routes:f().object.isRequired};var he=(0,e.memo)(Ee);const Kt={isLoading:!0,modifiedData:{}},qt=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.modifiedData={};break}case"GET_DATA_SUCCEEDED":{s.isLoading=!1,s.modifiedData=n.data;break}case"GET_DATA_ERROR":{s.isLoading=!0;break}case"ON_SUBMIT_SUCCEEDED":{s.modifiedData=n.data;break}default:return s}});var _t=null;const es=(t,n)=>{const{isLoading:s,allowedActions:r}=useRBAC(n),[{isLoading:c,modifiedData:o},g]=useReducer(reducer,initialState),d=useNotification(),m=useRef(!0),{get:u}=useFetchClient();useEffect(()=>(s||(async()=>{try{g({type:"GET_DATA"});const{data:i}=await u(getRequestURL(t));g({type:"GET_DATA_SUCCEEDED",data:i})}catch(i){m.current&&(g({type:"GET_DATA_ERROR"}),console.error(i),d({type:"warning",message:{id:"notification.error"}}))}})(),()=>{m.current=!1}),[s,t,u,d]);const p=useCallback(E=>{g({type:"ON_SUBMIT_SUCCEEDED",data:E})},[]);return{allowedActions:r,dispatchSubmitSucceeded:p,isLoading:c,isLoadingForPermissions:s,modifiedData:o}};var ts=null;const ss={roles:[],isLoading:!0},ns=(t,n)=>produce(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.roles=[];break}case"GET_DATA_SUCCEEDED":{s.roles=n.data,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}});var as=null;const rs=(t=!0)=>{const[{roles:n,isLoading:s},r]=useReducer(reducer,initialState,()=>init(initialState,t)),c=useNotification(),o=useRef(!0),g=useFetchClient(),d=useCallback(async()=>{try{r({type:"GET_DATA"});const{data:{roles:m}}=await g.get(`/${pluginId}/roles`);r({type:"GET_DATA_SUCCEEDED",data:m})}catch(m){const u=get(m,["response","payload","message"],"An error occured");o.current&&(r({type:"GET_DATA_ERROR"}),u!=="Forbidden"&&c({type:"warning",message:u}))}},[g,c]);return useEffect(()=>(t&&d(),()=>{o.current=!1}),[t,d]),{roles:n,isLoading:s,getData:d}};var os=null,yt=(t,n)=>({...t,isLoading:n});const fe={permissions:{},routes:{},isLoading:!0};var Rt=(t,n)=>(0,w.ZP)(t,s=>{switch(n.type){case"GET_DATA":{s.isLoading=!0,s.permissions={},s.routes={};break}case"GET_DATA_SUCCEEDED":{s.permissions=n.permissions,s.routes=n.routes,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}default:return s}}),ve=(t=!0)=>{const n=(0,l.lm)(),[{permissions:s,routes:r,isLoading:c},o]=(0,e.useReducer)(Rt,fe,()=>yt(fe,t)),g=(0,l.kY)(),d=(0,e.useCallback)(async()=>{try{o({type:"GET_DATA"});const[{permissions:m},{routes:u}]=await Promise.all([`/${R.Z}/permissions`,`/${R.Z}/routes`].map(async p=>(await g.get(p)).data));o({type:"GET_DATA_SUCCEEDED",permissions:(0,G.YX)(m),routes:u})}catch(m){const u=W()(m,["response","payload","message"],"An error occured");o({type:"GET_DATA_ERROR"}),u!=="Forbidden"&&n({type:"warning",message:u})}},[n]);return(0,e.useEffect)(()=>{t&&d()},[d,t]),{permissions:s,routes:r,getData:d,isLoading:c}};const Ct={role:{},isLoading:!0};var Tt=(t,n)=>(0,w.ZP)(t,s=>{switch(n.type){case"GET_DATA_SUCCEEDED":{s.role=n.role,s.isLoading=!1;break}case"GET_DATA_ERROR":{s.isLoading=!1;break}case"ON_SUBMIT_SUCCEEDED":{s.role.name=n.name,s.role.description=n.description;break}default:return s}}),At=t=>{const[n,s]=(0,e.useReducer)(Tt,Ct),r=(0,l.lm)(),c=(0,e.useRef)(null),{get:o}=(0,l.kY)();(0,e.useEffect)(()=>(c.current=!0,t?g(t):s({type:"GET_DATA_SUCCEEDED",role:{}}),()=>c.current=!1),[t]);const g=async m=>{try{const{data:{role:u}}=await o(`/${R.Z}/roles/${m}`);c.current&&s({type:"GET_DATA_SUCCEEDED",role:u})}catch(u){console.error(u),s({type:"GET_DATA_ERROR"}),r({type:"warning",message:{id:"notification.error"}})}},d=(0,e.useCallback)(m=>{s({type:"ON_SUBMIT_SUCCEEDED",...m})},[]);return{...n,onSubmitSucceeded:d}},N=a(24346),Pt=N.Ry().shape({name:N.Z_().required(l.I0.required),description:N.Z_().required(l.I0.required)}),Dt=()=>{const{formatMessage:t}=(0,b.Z)(),[n,s]=(0,e.useState)(!1),r=(0,l.lm)(),{lockApp:c,unlockApp:o}=(0,l.o1)(),{params:{id:g}}=(0,C.$B)(`/settings/${R.Z}/roles/:id`),{isLoading:d,routes:m}=ve(),{role:u,onSubmitSucceeded:p,isLoading:E}=At(g),i=(0,e.useRef)(),{put:L}=(0,l.kY)(),S=async y=>{c(),s(!0);try{const A=i.current.getPermissions();await L(`/${R.Z}/roles/${g}`,{...y,...A,users:[]}),p({name:y.name,description:y.description}),r({type:"success",message:{id:(0,B.Z)("Settings.roles.edited"),defaultMessage:"Role edited"}})}catch(A){console.error(A),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),o()};return E?e.createElement(l.dO,null):e.createElement(j.o,null,e.createElement(l.SL,{name:"Roles"}),e.createElement(ne.J9,{enableReinitialize:!0,initialValues:{name:u.name,description:u.description},onSubmit:S,validationSchema:Pt},({handleSubmit:y,values:A,handleChange:P,errors:$})=>e.createElement(l.l0,{noValidate:!0,onSubmit:y},e.createElement(Z.T,{primaryAction:!d&&e.createElement(O.z,{disabled:u.code==="strapi-super-admin",type:"submit",loading:n,startIcon:e.createElement(oe.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:u.name,subtitle:u.description,navigationAction:e.createElement(l.rU,{startIcon:e.createElement(Ge.Z,null),to:"/settings/users-permissions/roles"},t({id:"global.back",defaultMessage:"Back"}))}),e.createElement(U.D,null,e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(z.r,{gap:4},e.createElement(x.P,{col:6},e.createElement(ae.o,{name:"name",value:A.name||"",onChange:P,label:t({id:"global.name",defaultMessage:"Name"}),error:$.name?t({id:$.name,defaultMessage:"Invalid value"}):null})),e.createElement(x.P,{col:6},e.createElement(re.g,{name:"description",value:A.description||"",onChange:P,label:t({id:"global.description",defaultMessage:"Description"}),error:$.description?t({id:$.description,defaultMessage:"Invalid value"}):null}))))),!d&&e.createElement(he,{ref:i,permissions:u.permissions,routes:m}))))))},bt=()=>e.createElement(l.O4,{permissions:T.Z.updateRole},e.createElement(Dt,null)),Lt=N.Ry().shape({name:N.Z_().required(l.I0.required),description:N.Z_().required(l.I0.required)}),St=()=>{const{formatMessage:t}=(0,b.Z)(),[n,s]=(0,e.useState)(!1),r=(0,l.lm)(),{goBack:c}=(0,C.k6)(),{lockApp:o,unlockApp:g}=(0,l.o1)(),{isLoading:d,permissions:m,routes:u}=ve(),{trackUsage:p}=(0,l.rS)(),E=(0,e.useRef)(),{post:i}=(0,l.kY)(),L=async S=>{o(),s(!0);try{const y=E.current.getPermissions();await i(`/${R.Z}/roles`,{...S,...y,users:[]}),p("didCreateRole"),r({type:"success",message:{id:(0,B.Z)("Settings.roles.created"),defaultMessage:"Role created"}}),c()}catch(y){console.error(y),r({type:"warning",message:{id:"notification.error",defaultMessage:"An error occurred"}})}s(!1),g()};return e.createElement(j.o,null,e.createElement(l.SL,{name:"Roles"}),e.createElement(ne.J9,{enableReinitialize:!0,initialValues:{name:"",description:""},onSubmit:L,validationSchema:Lt},({handleSubmit:S,values:y,handleChange:A,errors:P})=>e.createElement(l.l0,{noValidate:!0,onSubmit:S},e.createElement(Z.T,{primaryAction:!d&&e.createElement(O.z,{type:"submit",loading:n,startIcon:e.createElement(oe.Z,null)},t({id:"global.save",defaultMessage:"Save"})),title:t({id:"Settings.roles.create.title",defaultMessage:"Create a role"}),subtitle:t({id:"Settings.roles.create.description",defaultMessage:"Define the rights given to the role"})}),e.createElement(U.D,null,e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:7},e.createElement(D.x,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(v.k,{direction:"column",alignItems:"stretch",gap:4},e.createElement(h.Z,{variant:"delta",as:"h2"},t({id:(0,B.Z)("EditPage.form.roles"),defaultMessage:"Role details"})),e.createElement(z.r,{gap:4},e.createElement(x.P,{col:6},e.createElement(ae.o,{name:"name",value:y.name||"",onChange:A,label:t({id:"global.name",defaultMessage:"Name"}),error:P.name?t({id:P.name,defaultMessage:"Invalid value"}):null})),e.createElement(x.P,{col:6},e.createElement(re.g,{name:"description",value:y.description||"",onChange:A,label:t({id:"global.description",defaultMessage:"Description"}),error:P.description?t({id:P.description,defaultMessage:"Invalid value"}):null}))))),!d&&e.createElement(he,{ref:E,permissions:m,routes:u}))))))},Zt=()=>e.createElement(l.O4,{permissions:T.Z.createRole},e.createElement(St,null)),Mt=()=>e.createElement(l.O4,{permissions:T.Z.accessRoles},e.createElement(C.rs,null,e.createElement(C.AW,{path:`/settings/${R.Z}/roles/new`,component:Zt,exact:!0}),e.createElement(C.AW,{path:`/settings/${R.Z}/roles/:id`,component:bt,exact:!0}),e.createElement(C.AW,{path:`/settings/${R.Z}/roles`,component:Ie,exact:!0}),e.createElement(C.AW,{path:"",component:l.Hn})))},59677:function(Pe,V,a){a.d(V,{YX:function(){return R},Gc:function(){return J},OB:function(){return j.Z}});var e=a(86834),C=a.n(e),R=Z=>Object.keys(Z).reduce((O,H)=>{const U=Z[H].controllers,Y=Object.keys(U).reduce((F,I)=>(C()(U[I])||(F[I]=U[I]),F),{});return C()(Y)||(O[H]={controllers:Y}),O},{}),T=a(90201),J=Z=>`/${T.Z}/${Z}`,j=a(82069)}}]);
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5162],{47272:function(ne,S,t){t.d(S,{Z:function(){return Se}});var e=t(32735),d=t(43383),L=t(27649),o=t(20108),O=t(53038),D=t(67927),J=t(60216),s=t.n(J),g=t(2438),m=t(66456),N=t(29439),Oe=t(82055),b=t(87933),he=t(41415),ke=t(17e3),ae=t(72850),le=t(15335),V=t(5803),ie=t(10369),Z=t(92802),j=t(67879),Ee=t(28847),W=t(49372),de=t(8471),ve=t(8284),Le=t(44426),Q=t(23940),ce=t.n(Q);const i=({disabledEvents:n,name:r,events:a,inputValue:l,handleChange:p,handleChangeAll:I})=>{const u=a.filter(E=>!n.includes(E)),f=l.length===u.length,C=l.length>0,y=({target:{name:E}})=>{I({target:{name:E,value:!f}})};return e.createElement("tr",null,e.createElement("td",null,e.createElement(ve.X,{indeterminate:C&&!f,"aria-label":"Select all entries",name:r,onChange:y,value:f},ce()(r))),a.map(E=>e.createElement("td",{key:E},e.createElement(Le.C,{disabled:n.includes(E),"aria-label":E,name:E,value:l.includes(E),onValueChange:M=>p({target:{name:E,value:M}})}))))};i.defaultProps={disabledEvents:[],events:[],inputValue:[],handleChange(){},handleChangeAll(){}},i.propTypes={disabledEvents:s().array,events:s().array,inputValue:s().array,handleChange:s().func,handleChangeAll:s().func,name:s().string.isRequired};var A=i,X=n=>n.reduce((r,a)=>{const l=a.split(".")[0];return r[l]||(r[l]=[]),r[l].push(a),r},{});const R=de.ZP.table`
|
|
2
|
+
td {
|
|
3
|
+
height: ${52/16}rem;
|
|
4
|
+
width: 10%;
|
|
5
|
+
vertical-align: middle;
|
|
6
|
+
text-align: center;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
tbody tr:nth-child(odd) {
|
|
10
|
+
background: ${({theme:n})=>n.colors.neutral100};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
tbody tr td:first-child {
|
|
14
|
+
padding-left: ${({theme:n})=>n.spaces[7]};
|
|
15
|
+
}
|
|
16
|
+
`,H={headers:{default:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"}],draftAndPublish:[{id:"Settings.webhooks.events.create",defaultMessage:"Create"},{id:"Settings.webhooks.events.update",defaultMessage:"Update"},{id:"app.utils.delete",defaultMessage:"Delete"},{id:"app.utils.publish",defaultMessage:"Publish"},{id:"app.utils.unpublish",defaultMessage:"Unpublish"}]},events:{default:{entry:["entry.create","entry.update","entry.delete"],media:["media.create","media.update","media.delete"]},draftAndPublish:{entry:["entry.create","entry.update","entry.delete","entry.publish","entry.unpublish"],media:["media.create","media.update","media.delete"]}}},be=({isDraftAndPublish:n})=>{const r=n?H.headers.draftAndPublish:H.headers.default,a=n?H.events.draftAndPublish:H.events.default,{formatMessage:l}=(0,j.Z)(),{values:p,handleChange:I}=(0,Z.u6)(),u="events",f=p.events,C=[],y=X(f),E=({target:{name:h,value:T}})=>{let F=new Set(f);T?F.add(h):F.delete(h),I({target:{name:u,value:Array.from(F)}})},M=({target:{name:h,value:T}})=>{let F=new Set(f);T?a[h].forEach(G=>{C.includes(G)||F.add(G)}):a[h].forEach(G=>F.delete(G)),I({target:{name:u,value:Array.from(F)}})};return e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(Ee.Q,null,l({id:"Settings.webhooks.form.events",defaultMessage:"Events"})),e.createElement(R,null,e.createElement("thead",null,e.createElement("tr",null,e.createElement("td",null),r.map(h=>h==="app.utils.publish"||h==="app.utils.unpublish"?e.createElement("td",{key:h.id,title:l({id:"Settings.webhooks.event.publish-tooltip",defaultMessage:"This event only exists for content with draft & publish enabled"})},e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},l(h))):e.createElement("td",{key:h.id},e.createElement(W.Z,{variant:"sigma",textColor:"neutral600"},l(h)))))),e.createElement("tbody",null,Object.keys(a).map(h=>e.createElement(A,{disabledEvents:C,key:h,name:h,events:a[h],inputValue:y[h],handleChange:E,handleChangeAll:M})))))};be.propTypes={isDraftAndPublish:s().bool.isRequired};var ue=be,Re=t(19406),Y=t(7563),Te=t(42623),ge=t(90333),Ce=["A-IM","Accept","Accept-Charset","Accept-Encoding","Accept-Language","Accept-Datetime","Access-Control-Request-Method","Access-Control-Request-Headers","Authorization","Cache-Control","Connection","Content-Length","Content-Type","Cookie","Date","Expect","Forwarded","From","Host","If-Match","If-Modified-Since","If-None-Match","If-Range","If-Unmodified-Since","Max-Forwards","Origin","Pragma","Proxy-Authorization","Range","Referer","TE","User-Agent","Upgrade","Via","Warning"];const re=({name:n,onChange:r,value:a,...l})=>{const[p,I]=(0,e.useState)(a?[...Ce,a]:Ce),u=C=>{r({target:{name:n,value:C}})},f=C=>{I(y=>[...y,C]),r({target:{name:n,value:C}})};return e.createElement(Te.X,{...l,onChange:u,onCreateOption:f,placeholder:"",value:a},p.map(C=>e.createElement(ge.O,{value:C,key:C},C)))};re.defaultProps={value:void 0},re.propTypes={name:s().string.isRequired,onChange:s().func.isRequired,value:s().string};var ye=re,Me=()=>{const{formatMessage:n}=(0,j.Z)(),{values:r,errors:a}=(0,Z.u6)();return e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:1},e.createElement(Ee.Q,null,n({id:"Settings.webhooks.form.headers",defaultMessage:"Headers"})),e.createElement(ae.x,{padding:8,background:"neutral100",hasRadius:!0},e.createElement(Z.F2,{validateOnChange:!1,name:"headers",render:({push:l,remove:p})=>e.createElement(le.r,{gap:4},r.headers?.map((I,u)=>e.createElement(e.Fragment,{key:u},e.createElement(V.P,{col:6},e.createElement(Z.gN,{as:ye,name:`headers.${u}.key`,"aria-label":`row ${u+1} key`,label:n({id:"Settings.webhooks.key",defaultMessage:"Key"}),error:a.headers?.[u]?.key&&n({id:a.headers[u]?.key,defaultMessage:a.headers[u]?.key})})),e.createElement(V.P,{col:6},e.createElement(b.k,{alignItems:"flex-end"},e.createElement(ae.x,{style:{flex:1}},e.createElement(Z.gN,{as:ie.o,"aria-label":`row ${u+1} value`,label:n({id:"Settings.webhooks.value",defaultMessage:"Value"}),name:`headers.${u}.value`,error:a.headers?.[u]?.value&&n({id:a.headers[u]?.value,defaultMessage:a.headers[u]?.value})})),e.createElement(b.k,{paddingLeft:2,style:{alignSelf:"center"},paddingTop:a.headers?.[u]?.value?0:5},e.createElement(d.fG,{onClick:()=>r.headers.length!==1&&p(u),label:n({id:"Settings.webhooks.headers.remove",defaultMessage:"Remove header row {number}"},{number:u+1})})))))),e.createElement(V.P,{col:12},e.createElement(Y.A,{type:"button",onClick:()=>{l({key:"",value:""})},startIcon:e.createElement(Re.Z,null)},n({id:"Settings.webhooks.create.header",defaultMessage:"Create new header"}))))})))},Ae=t(27169),Pe=t(35331);const q=de.ZP.svg(({theme:n,color:r})=>`
|
|
17
|
+
width: ${12/16}rem;
|
|
18
|
+
height: ${12/16}rem;
|
|
19
|
+
|
|
20
|
+
path {
|
|
21
|
+
fill: ${n.colors[r]};
|
|
22
|
+
}
|
|
23
|
+
`),B=({isPending:n,statusCode:r})=>{const{formatMessage:a}=(0,j.Z)();return n?e.createElement(b.k,{gap:2,alignItems:"center"},e.createElement(q,{as:Ae.Z}),e.createElement(W.Z,null,a({id:"Settings.webhooks.trigger.pending",defaultMessage:"pending"}))):r>=200&&r<300?e.createElement(b.k,{gap:2,alignItems:"center"},e.createElement(q,{as:m.Z,color:"success700"}),e.createElement(W.Z,null,a({id:"Settings.webhooks.trigger.success",defaultMessage:"success"}))):r>=300?e.createElement(b.k,{gap:2,alignItems:"center"},e.createElement(q,{as:Pe.Z,color:"danger700"}),e.createElement(W.Z,null,a({id:"Settings.error",defaultMessage:"error"})," ",r)):null};B.propTypes={isPending:s().bool.isRequired,statusCode:s().number},B.defaultProps={statusCode:void 0};const me=({statusCode:n,message:r})=>{const{formatMessage:a}=(0,j.Z)();return n>=200&&n<300?e.createElement(b.k,{justifyContent:"flex-end"},e.createElement(W.Z,{textColor:"neutral600",ellipsis:!0},a({id:"Settings.webhooks.trigger.success.label",defaultMessage:"Trigger succeeded"}))):n>=300?e.createElement(b.k,{justifyContent:"flex-end"},e.createElement(b.k,{maxWidth:(0,d.Q1)(250),justifyContent:"flex-end",title:r},e.createElement(W.Z,{ellipsis:!0,textColor:"neutral600"},r))):null};me.propTypes={statusCode:s().number,message:s().string},me.defaultProps={statusCode:void 0,message:void 0};const xe=({onCancel:n})=>{const{formatMessage:r}=(0,j.Z)();return e.createElement(b.k,{justifyContent:"flex-end"},e.createElement("button",{onClick:n,type:"button"},e.createElement(b.k,{gap:2,alignItems:"center"},e.createElement(W.Z,{textColor:"neutral400"},r({id:"Settings.webhooks.trigger.cancel",defaultMessage:"cancel"})),e.createElement(q,{as:Pe.Z,color:"neutral400"}))))};xe.propTypes={onCancel:s().func.isRequired};const x=({isPending:n,onCancel:r,response:a})=>{const{statusCode:l,message:p}=a,{formatMessage:I}=(0,j.Z)();return e.createElement(ae.x,{background:"neutral0",padding:5,shadow:"filterShadow",hasRadius:!0},e.createElement(le.r,{gap:4,style:{alignItems:"center"}},e.createElement(V.P,{col:3},e.createElement(W.Z,null,I({id:"Settings.webhooks.trigger.test",defaultMessage:"Test-trigger"}))),e.createElement(V.P,{col:3},e.createElement(B,{isPending:n,statusCode:l})),e.createElement(V.P,{col:6},n?e.createElement(xe,{onCancel:r}):e.createElement(me,{statusCode:l,message:p}))))};x.defaultProps={isPending:!1,onCancel(){},response:{}},x.propTypes={isPending:s().bool,onCancel:s().func,response:s().object};var Ie=x,w=t(24346);const De=/(^$)|(^[A-Za-z][_0-9A-Za-z ]*$)/,U=/(^$)|((https?:\/\/.*)(d*)\/?(.*))/;var z=w.Ry().shape({name:w.Z_(d.I0.string).required(d.I0.required).matches(De,d.I0.regex),url:w.Z_(d.I0.string).required(d.I0.required).matches(U,d.I0.regex),headers:w.Vo(n=>{let r=w.IX();if(n.length===1){const{key:a,value:l}=n[0];if(!a&&!l)return r}return r.of(w.Ry().shape({key:w.Z_().required(d.I0.required),value:w.Z_().required(d.I0.required)}))}),events:w.IX()});const pe=({handleSubmit:n,data:r,triggerWebhook:a,isCreating:l,isTriggering:p,triggerResponse:I,isDraftAndPublishEvents:u})=>{const{formatMessage:f}=(0,j.Z)(),[C,y]=(0,e.useState)(!1);return e.createElement(Z.J9,{onSubmit:n,initialValues:{name:r?.name||"",url:r?.url||"",headers:Object.keys(r?.headers||[]).length?Object.entries(r.headers).map(([E,M])=>({key:E,value:M})):[{key:"",value:""}],events:r?.events||[]},validationSchema:z,validateOnChange:!1,validateOnBlur:!1},({handleSubmit:E,errors:M})=>e.createElement(d.l0,{noValidate:!0},e.createElement(Oe.T,{primaryAction:e.createElement(b.k,{gap:2},e.createElement(he.z,{onClick:()=>{a(),y(!0)},variant:"tertiary",startIcon:e.createElement(g.Z,null),disabled:l||p,size:"L"},f({id:"Settings.webhooks.trigger",defaultMessage:"Trigger"})),e.createElement(he.z,{startIcon:e.createElement(m.Z,null),onClick:E,type:"submit",size:"L"},f({id:"global.save",defaultMessage:"Save"}))),title:l?f({id:"Settings.webhooks.create",defaultMessage:"Create a webhook"}):r?.name,navigationAction:e.createElement(d.rU,{startIcon:e.createElement(N.Z,null),to:"/settings/webhooks"},f({id:"global.back",defaultMessage:"Back"}))}),e.createElement(ke.D,null,e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:4},C&&e.createElement("div",{className:"trigger-wrapper"},e.createElement(Ie,{isPending:p,response:I,onCancel:()=>y(!1)})),e.createElement(ae.x,{background:"neutral0",padding:8,shadow:"filterShadow",hasRadius:!0},e.createElement(b.k,{direction:"column",alignItems:"stretch",gap:6},e.createElement(le.r,{gap:6},e.createElement(V.P,{col:6},e.createElement(Z.gN,{as:ie.o,name:"name",error:M.name&&f({id:M.name}),label:f({id:"global.name",defaultMessage:"Name"}),required:!0})),e.createElement(V.P,{col:12},e.createElement(Z.gN,{as:ie.o,name:"url",error:M.url&&f({id:M.url}),label:f({id:"Settings.roles.form.input.url",defaultMessage:"Url"}),required:!0}))),e.createElement(Me,null),e.createElement(ue,{isDraftAndPublish:u})))))))};pe.propTypes={data:s().object,handleSubmit:s().func.isRequired,triggerWebhook:s().func.isRequired,isCreating:s().bool.isRequired,isDraftAndPublishEvents:s().bool.isRequired,isTriggering:s().bool.isRequired,triggerResponse:s().object},pe.defaultProps={data:void 0,triggerResponse:void 0};var k=pe;const oe=n=>({...n,headers:_(n.headers)}),_=n=>n.reduce((r,a)=>{const{key:l,value:p}=a;return l!==""?{...r,[l]:p}:r},{});var ee=oe,Se=()=>{const{params:{id:n}}=(0,O.$B)("/settings/webhooks/:id"),{replace:r}=(0,O.k6)(),{lockApp:a,unlockApp:l}=(0,d.o1)(),p=(0,d.lm)(),I=(0,o.useQueryClient)(),{isLoading:u,collectionTypes:f}=(0,D.bP)(),{put:C,get:y,post:E}=(0,d.kY)(),M=n==="create",{isLoading:h,data:T}=(0,o.useQuery)(["get-webhook",n],async()=>{try{const{data:{data:P}}=await y(`/admin/webhooks/${n}`);return P}catch{return p({type:"warning",message:{id:"notification.error"}}),null}},{enabled:!M}),{isLoading:F,data:G,isIdle:$e,mutate:Be}=(0,o.useMutation)(()=>E(`/admin/webhooks/${n}/trigger`)),Ue=()=>Be(null,{onError(){p({type:"warning",message:{id:"notification.error"}})}}),fe=(0,o.useMutation)(P=>E("/admin/webhooks",P)),c=(0,o.useMutation)(({id:P,body:te})=>C(`/admin/webhooks/${P}`,te)),v=async P=>{M?(a(),fe.mutate(ee(P),{onSuccess({data:te}){p({type:"success",message:{id:"Settings.webhooks.created"}}),r(`/settings/webhooks/${te.data.id}`),l()},onError(te){p({type:"warning",message:{id:"notification.error"}}),console.log(te),l()}})):(a(),c.mutate({id:n,body:ee(P)},{onSuccess(){I.invalidateQueries(["get-webhook",n]),p({type:"success",message:{id:"notification.form.success.fields"}}),l()},onError(te){p({type:"warning",message:{id:"notification.error"}}),console.log(te),l()}}))},K=e.useMemo(()=>f.some(P=>P.options.draftAndPublish===!0),[f]);return h||u?e.createElement(d.dO,null):e.createElement(L.o,null,e.createElement(d.SL,{name:"Webhooks"}),e.createElement(k,{handleSubmit:v,data:T,triggerWebhook:Ue,isCreating:M,isTriggering:F,isTriggerIdle:$e,triggerResponse:G?.data.data,isDraftAndPublishEvents:K}))}},33238:function(ne,S,t){t.r(S);var e=t(32735),d=t(43383),L=t(83983),o=t(47272);const O=()=>e.createElement(d.O4,{permissions:L.Z.settings.webhooks.create},e.createElement(o.Z,null));S.default=O},59021:function(ne,S,t){t.r(S);var e=t(32735),d=t(43383),L=t(83983),o=t(47272);const O=()=>e.createElement(d.O4,{permissions:L.Z.settings.webhooks.update},e.createElement(o.Z,null));S.default=O},42623:function(ne,S,t){t.d(S,{h:function(){return Q},X:function(){return ce}});var e=t(32735),d=t(35331),L=t(16899),o=t(60216),O=t(90333),D=t(91225),J=t(17289),s=t(94486);const g={Close:"Close",CloseSelect:"CloseSelect",First:"First",Last:"Last",Next:"Next",Open:"Open",PageDown:"PageDown",PageUp:"PageUp",Previous:"Previous",Select:"Select",Space:"Space",Type:"Type"},m={Close:"Close",First:"First",Last:"Last",Next:"Next",Open:"Open",Previous:"Previous",Select:"Select",UpLevel:"UpLevel"};function N(i=[],A=null,$=[]){const X=String(A??"").toLowerCase();return X?i.filter(R=>R.props.children.toString().toLowerCase().includes(X)&&$.indexOf(R)<0):i}function Oe(i,A){if(!A&&i===s.y.DOWN)return g.Open;if(i===s.y.DOWN)return g.Next;if(i===s.y.UP)return g.Previous;if(i===s.y.HOME)return g.First;if(i===s.y.END)return g.Last;if(i===s.y.ESCAPE)return g.Close;if(i===s.y.ENTER)return g.CloseSelect;if(i===s.y.BACKSPACE||i===s.y.CLEAR||i.length===1)return g.Type}function b(i,A,$){switch($){case g.First:return 0;case g.Last:return A;case g.Previous:return Math.max(0,i-1);case g.Next:return Math.min(A,i+1);default:return i}}function he(i){(0,J.Z)(i,{scrollMode:"if-needed",block:"nearest",inline:"nearest"}).forEach(({el:A,top:$,left:X})=>{A.scrollTop=$,A.scrollLeft=X})}var ke=t(72850),ae=t(87107),le=t(28847),V=t(67014),ie=t(47851),Z=t(87933),j=t(74971),Ee=t(97405),W=t(4101),de=t(93958),ve=t(49372),Le=t(3685);const Q=({children:i,clearLabel:A,creatable:$,createMessage:X,disabled:R,error:H,hasMoreItems:be,hint:ue,id:Re,label:Y,labelAction:Te,loading:ge,loadingMessage:We,noOptionsMessage:Ce,onChange:re,onClear:ye,onCreateOption:we,onInputChange:Me,onLoadMore:Ae,placeholder:Pe,required:q,value:B,...me})=>{const xe=()=>i.find(c=>c.props?.value.toLowerCase()===B.toLowerCase()).props?.children,[x,Ie]=(0,e.useState)(0),[w,De]=(0,e.useState)(null),[U,Ze]=(0,e.useState)(i),[z,pe]=(0,e.useState)(!1),[k,oe]=(0,e.useState)(""),_=(0,e.useRef)(),ee=(0,e.useRef)(!1),se=(0,e.useRef)(),Se=(0,e.useRef)(),n=(0,e.useRef)(),r=(0,e.useRef)(!0),a=(0,j.M)(Re),l=`${a}-label`;if(!Y&&!me["aria-label"])throw new Error('The Combobox component needs a "label" or an "aria-label" props');(0,e.useEffect)(()=>{Ze(N(i,k))},[k,i]),(0,e.useEffect)(()=>{z&&_.current&&he(_.current)},[x,z]),(0,e.useLayoutEffect)(()=>{r.current&&(r.current=!1)},[B]);const p=z?`${a}-${x}`:"",I=()=>{re(null),oe("")},u=c=>{Me&&Me(c);const v=se.current.value;Ze(N(i,v)),Ie(0),De(null),k!==v&&oe(v),z||T(!0,!1)},f=c=>{const{key:v}=c,K=$&&k?U.length:U.length-1,P=Oe(v,z);switch(B&&!k&&v===s.y.BACKSPACE&&I(),P){case g.Next:{if(x===K){y(0);break}y(b(x,K,P));break}case g.Previous:{if(x===0){y(K);break}y(b(x,K,P));break}case g.Last:case g.First:{if(x===K){y(0);break}y(b(x,K,P));break}case g.CloseSelect:c.preventDefault(),h(x);break;case g.Close:c.preventDefault(),T(!1);break;case g.Open:T(!0);break}},C=c=>{if(c.preventDefault(),B&&!ee.current&&oe(""),ee.current){ee.current=!1;return}T(!1,!1)},y=c=>{Ie(c)},E=c=>{y(c),h(c)},M=()=>{ee.current=!0},h=c=>{const v=U[c];if(oe(""),v){re(v.props.value),T(!1);return}$&&(we(k),T(!1))},T=(c,v=!0)=>{pe(c),v&&se.current.focus()},F=e.Children.toArray(U).map((c,v)=>{const K=x===v;return(0,e.cloneElement)(c,{id:`${a}-${v}`,"aria-selected":w===v,"aria-posinset":v+1,"aria-setsize":e.Children.toArray(U).length,ref(P){K&&(_.current=P)},onClick:()=>E(v),onMouseDown:M,isSelected:K})}),G=()=>{se.current.focus(),ye&&ye(),I()},$e=()=>{se.current.focus(),T(!0)},Be=()=>{const c=U.findIndex(v=>v.props?.children===k);return k&&c===-1},Ue=c=>{c.preventDefault(),T(c,!0)};let fe;return H?fe=`${a}-error`:ue&&(fe=`${a}-hint`),e.createElement(ae.g,{hint:ue,error:H,id:a,required:q},e.createElement(Le.T,{"aria-live":"polite","aria-atomic":"false","aria-relevant":"additions text"},B),e.createElement(Z.k,{direction:"column",alignItems:"stretch",gap:Y||ue||H?1:0},Y&&e.createElement(le.Q,{action:Te},Y),e.createElement(D.d8,{ref:Se,$disabled:R,hasError:H},e.createElement(D.fv,{wrap:"wrap"},!k&&B&&e.createElement(D.K7,{id:`${a}-selected-value`},e.createElement(ve.Z,null,xe())),e.createElement(D.II,{"aria-activedescendant":p,"aria-autocomplete":"list","aria-controls":`${a}-listbox`,"aria-disabled":R,"aria-expanded":z,"aria-haspopup":"listbox","aria-describedby":fe,autoComplete:"off",autoCorrect:"off",id:a,onBlur:R?void 0:C,onClick:R?void 0:Ue,onInput:R?void 0:u,onKeyDown:R?void 0:f,placeholder:B?"":Pe,readOnly:R,ref:se,required:q,role:"combobox",spellCheck:"off",type:"text",value:k})),e.createElement(Z.k,null,(B||k)&&e.createElement(de.zb,{id:`${a}-clear`,"aria-label":A,disabled:R,paddingLeft:3,as:"button",onClick:G,type:"button"},e.createElement(d.Z,null)),e.createElement(de.AV,{disabled:R,paddingLeft:3,"aria-hidden":!0,as:"button",onClick:$e,tabIndex:-1,type:"button"},e.createElement(L.Z,null)))),e.createElement(V.J,null),e.createElement(ie.c,null)),z&&e.createElement(W.J2,{id:`${a}-popover`,source:Se,spacing:4,fullWidth:!0,intersectionId:`${a}-listbox-popover-intersection`,onReachEnd:be&&!ge?Ae:void 0},e.createElement("div",{role:"listbox",ref:n,id:`${a}-listbox`,"aria-labelledby":Y?l:void 0},(Boolean(U.length)||$)&&e.createElement(e.Fragment,null,F,Be()&&$&&e.createElement(O.O,{isSelected:x===U.length,ref:c=>{x===U.length&&(_.current=c)},onMouseDown:M,onClick:()=>h(),taindex:0},X(k))),!U.length&&!$&&!ge&&e.createElement(ke.x,{paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,ref:_},e.createElement(ve.Z,{textColor:"neutral800"},Ce(k))),ge&&e.createElement(Z.k,{justifyContent:"center",alignItems:"center",paddingTop:2,paddingBottom:2},e.createElement(Ee.a,{small:!0},We)))))},ce=i=>e.createElement(Q,{...i,creatable:!0});Q.defaultProps={"aria-label":void 0,clearLabel:"clear",creatable:!1,createMessage:i=>`Create "${i}"`,disabled:!1,error:void 0,hasMoreItems:!1,hint:void 0,id:void 0,label:void 0,loading:!1,loadingMessage:"Loading content...",noOptionsMessage:()=>"No results found",onClear:void 0,onCreateOption:void 0,onInputChange:void 0,onLoadMore:void 0,placeholder:"Select or enter a value",value:void 0},ce.defaultProps=Q.defaultProps,Q.propTypes={"aria-label":o.string,children:o.oneOfType([o.arrayOf(o.node),o.node]),clearLabel:o.string,creatable:o.bool,createMessage:o.func,disabled:o.bool,error:o.string,hasMoreItems:o.bool,id:o.string,hint:o.oneOfType([o.string,o.node,o.arrayOf(o.node)]),label:o.string,labelAction:o.element,loading:o.bool,loadingMessage:o.string,noOptionsMessage:o.func,onChange:o.func.isRequired,onClear:o.func,onCreateOption:o.func,onInputChange:o.func,onLoadMore:o.func,placeholder:o.string,value:o.string},ce.propTypes={...Q.propTypes,onCreateOption:o.func.isRequired}},90333:function(ne,S,t){t.d(S,{O:function(){return O}});var e=t(32735),d=t(60216),L=t(91225),o=t(49372);const O=(0,e.forwardRef)(({isSelected:D,children:J,...s},g)=>e.createElement(L.Zq,{hasRadius:!0,paddingLeft:4,paddingRight:4,paddingTop:2,paddingBottom:2,role:"option",background:"neutral0",isSelected:D,ref:g,...s},e.createElement(o.Z,{textColor:D?"primary600":"neutral800",fontWeight:D?"bold":null},J)));O.defaultProps={isSelected:!1},O.propTypes={children:d.oneOfType([d.string,d.number]).isRequired,isSelected:d.bool},O.displayName="ComboboxOption"},91225:function(ne,S,t){t.d(S,{II:function(){return s},K7:function(){return D},Zq:function(){return g},d8:function(){return O},fv:function(){return J}});var e=t(8471),d=t(72850),L=t(87933),o=t(30350);const O=(0,e.ZP)(L.k)`
|
|
24
|
+
position: relative;
|
|
25
|
+
border: 1px solid ${({theme:m,hasError:N})=>N?m.colors.danger600:m.colors.neutral200};
|
|
26
|
+
padding-right: ${({theme:m})=>m.spaces[3]};
|
|
27
|
+
padding-left: ${({theme:m})=>m.spaces[3]};
|
|
28
|
+
border-radius: ${({theme:m})=>m.borderRadius};
|
|
29
|
+
background: ${({theme:m})=>m.colors.neutral0};
|
|
30
|
+
|
|
31
|
+
${({theme:m,$disabled:N})=>N?`
|
|
32
|
+
color: ${m.colors.neutral600};
|
|
33
|
+
background: ${m.colors.neutral150};
|
|
34
|
+
`:void 0}
|
|
35
|
+
|
|
36
|
+
${(0,o.k3)()}
|
|
37
|
+
`,D=e.ZP.div`
|
|
38
|
+
padding: 1px 2px;
|
|
39
|
+
grid-area: 1 / 1 / 2 / 3;
|
|
40
|
+
`,J=(0,e.ZP)(L.k)`
|
|
41
|
+
display: grid;
|
|
42
|
+
flex: 1 1 0%;
|
|
43
|
+
position: relative;
|
|
44
|
+
`,s=e.ZP.input`
|
|
45
|
+
display: inline-grid;
|
|
46
|
+
grid-area: 1 / 1 / 2 / 3;
|
|
47
|
+
grid-template-columns: 0px min-content;
|
|
48
|
+
background: transparent;
|
|
49
|
+
min-height: ${40/16}rem;
|
|
50
|
+
border: none;
|
|
51
|
+
flex: 1;
|
|
52
|
+
font-size: ${14/16}rem;
|
|
53
|
+
color: ${({theme:m})=>m.colors.neutral800};
|
|
54
|
+
outline: none;
|
|
55
|
+
&:focus-visible {
|
|
56
|
+
outline: none;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
outline-offset: 0;
|
|
59
|
+
}
|
|
60
|
+
&[aria-disabled='true'] {
|
|
61
|
+
background: inherit;
|
|
62
|
+
color: inherit;
|
|
63
|
+
cursor: not-allowed;
|
|
64
|
+
}
|
|
65
|
+
`,g=(0,e.ZP)(d.x)`
|
|
66
|
+
width: 100%;
|
|
67
|
+
border: none;
|
|
68
|
+
text-align: left;
|
|
69
|
+
outline-offset: -3px;
|
|
70
|
+
${({isSelected:m,theme:N})=>m&&`background: ${N.colors.primary100};`}
|
|
71
|
+
|
|
72
|
+
&:hover {
|
|
73
|
+
background: ${({theme:m})=>m.colors.primary100};
|
|
74
|
+
}
|
|
75
|
+
`},29439:function(ne,S,t){t.d(S,{Z:function(){return L}});var e=t(74512);const d=o=>(0,e.jsx)("svg",{width:"1rem",height:"1rem",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...o,children:(0,e.jsx)("path",{d:"M24 13.3a.2.2 0 0 1-.2.2H5.74l8.239 8.239a.2.2 0 0 1 0 .282L12.14 23.86a.2.2 0 0 1-.282 0L.14 12.14a.2.2 0 0 1 0-.282L11.86.14a.2.2 0 0 1 .282 0L13.98 1.98a.2.2 0 0 1 0 .282L5.74 10.5H23.8c.11 0 .2.09.2.2v2.6Z",fill:"#212134"})}),L=d}}]);
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[4121],{74767:function(U,p,t){t.r(p),t.d(p,{default:function(){return be}});var e=t(32735),s=t(43383),b=t(83983),h=t(53038),L=t(67879),O=t(94638),C=t(96709),D=t(27649),E=t(82055),f=t(99223),d=t(49372),M=t(41415),x=t(17e3),H=t(72850),te=t(56755),ne=t(73269),le=t(33827),G=t(94547),m=t(19786),N=t(44426),ae=t(3685),oe=t(35658),S=t(87933),y=t(60216),V=t(8471);const $=V.ZP.div`
|
|
2
|
+
background: ${({theme:l})=>l.colors.danger500};
|
|
3
|
+
border: none;
|
|
4
|
+
border-radius: 16px;
|
|
5
|
+
position: relative;
|
|
6
|
+
height: ${24/16}rem;
|
|
7
|
+
width: ${40/16}rem;
|
|
8
|
+
|
|
9
|
+
& span {
|
|
10
|
+
font-size: ${({visibleLabels:l})=>l?"1rem":0};
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:before {
|
|
14
|
+
content: '';
|
|
15
|
+
background: ${({theme:l})=>l.colors.neutral0};
|
|
16
|
+
width: 1rem;
|
|
17
|
+
height: 1rem;
|
|
18
|
+
border-radius: 50%;
|
|
19
|
+
position: absolute;
|
|
20
|
+
transition: all 0.5s;
|
|
21
|
+
left: ${({theme:l})=>l.spaces[1]};
|
|
22
|
+
top: ${({theme:l})=>l.spaces[1]};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
@media (prefers-reduced-motion: reduce) {
|
|
26
|
+
&:before {
|
|
27
|
+
transition: none;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
`,se=V.ZP.button`
|
|
31
|
+
background: transparent;
|
|
32
|
+
padding: 0;
|
|
33
|
+
border: none;
|
|
34
|
+
|
|
35
|
+
&[aria-checked='true'] ${$} {
|
|
36
|
+
background: ${({theme:l})=>l.colors.success500};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&[aria-checked='true'] ${$}:before {
|
|
40
|
+
transform: translateX(1rem);
|
|
41
|
+
}
|
|
42
|
+
`,W=e.forwardRef(({label:l,onChange:r,onLabel:o,offLabel:c,selected:T,visibleLabels:v,...u},a)=>e.createElement(se,{ref:a,role:"switch","aria-checked":T,"aria-label":l,onClick:r,visibleLabels:v,type:"button",...u},e.createElement(S.k,null,e.createElement($,null,e.createElement("span",null,o),e.createElement("span",null,c)),v&&e.createElement(H.x,{as:"span","aria-hidden":!0,paddingLeft:2,color:T?"success600":"danger600"},T?o:c))));W.defaultProps={onLabel:"On",offLabel:"Off",visibleLabels:!1},W.propTypes={label:y.string.isRequired,offLabel:y.string,onChange:y.func.isRequired,onLabel:y.string,selected:y.bool.isRequired,visibleLabels:y.bool},W.displayName="Switch";var j=t(50563),re=t(9695),R=t(19406),F=t(4038),ie=t(68625),de=t(54725),ce=t(97889),Ee=t(3040),me=t.n(Ee);const he={webhooks:[],webhooksToDelete:[],webhookToDelete:null,loadingWebhooks:!0};var ue=(l,r)=>(0,ce.ZP)(l,o=>{switch(r.type){case"GET_DATA_SUCCEEDED":{o.webhooks=r.data,o.loadingWebhooks=!1;break}case"TOGGLE_LOADING":{o.loadingWebhooks=!l.loadingWebhooks;break}case"SET_WEBHOOK_ENABLED":{me()(o,["webhooks",...r.keys],r.value);break}case"SET_WEBHOOK_TO_DELETE":{o.webhookToDelete=r.id;break}case"SET_WEBHOOKS_TO_DELETE":{r.value?o.webhooksToDelete.push(r.id):o.webhooksToDelete=l.webhooksToDelete.filter(c=>c!==r.id);break}case"SET_ALL_WEBHOOKS_TO_DELETE":{l.webhooksToDelete.length===0?o.webhooksToDelete=l.webhooks.map(c=>c.id):o.webhooksToDelete=[];break}case"WEBHOOKS_DELETED":{o.webhooks=l.webhooks.filter(c=>!l.webhooksToDelete.includes(c.id)),o.webhooksToDelete=[];break}case"WEBHOOK_DELETED":{o.webhooks=l.webhooks.filter((c,T)=>T!==r.index),o.webhookToDelete=null;break}default:return o}}),ge=()=>{const{isLoading:l,allowedActions:{canCreate:r,canRead:o,canUpdate:c,canDelete:T}}=(0,s.ss)(b.Z.settings.webhooks),v=(0,s.lm)(),u=(0,e.useRef)(!0),{formatMessage:a}=(0,L.Z)(),[fe,B]=(0,e.useState)(!1),[{webhooks:P,webhooksToDelete:Z,webhookToDelete:K,loadingWebhooks:I},g]=(0,e.useReducer)(ue,he),{notifyStatus:z}=(0,O.G)(),{get:Q,del:Te,post:ve,put:De}=(0,s.kY)();(0,s.go)();const{push:pe}=(0,h.k6)(),{pathname:X}=(0,h.TH)(),A=P.length,k=Z.length,Y=n=>P.findIndex(i=>i.id===n);(0,e.useEffect)(()=>(u.current=!0,()=>{u.current=!1}),[]),(0,e.useEffect)(()=>{o&&(async()=>{try{const{data:{data:i}}=await Q("/admin/webhooks");u.current&&(g({type:"GET_DATA_SUCCEEDED",data:i}),z("webhooks have been loaded"))}catch(i){console.log(i),u.current&&(i.code!==20&&v({type:"warning",message:{id:"notification.error"}}),g({type:"TOGGLE_LOADING"}))}})()},[o,Q,z,v]);const Le=()=>{B(n=>!n)},Oe=()=>{K?ye():Ce()},ye=async()=>{try{await Te(`/admin/webhooks/${K}`),g({type:"WEBHOOK_DELETED",index:Y(K)})}catch(n){n.code!==20&&v({type:"warning",message:{id:"notification.error"}})}B(!1)},Ce=async()=>{const n={ids:Z};try{await ve("/admin/webhooks/batch-delete",n),u.current&&g({type:"WEBHOOKS_DELETED"})}catch(i){u.current&&i.code!==20&&v({type:"warning",message:{id:"notification.error"}})}B(!1)},J=n=>{B(!0),n!=="all"&&g({type:"SET_WEBHOOK_TO_DELETE",id:n})},ke=async(n,i)=>{const q=Y(i),Be=P[q],_=[q,"isEnabled"],ee={...Be,isEnabled:n};delete ee.id;try{g({type:"SET_WEBHOOK_ENABLED",keys:_,value:n}),await De(`/admin/webhooks/${i}`,ee)}catch(Pe){u.current&&(g({type:"SET_WEBHOOK_ENABLED",keys:_,value:!n}),Pe.code!==20&&v({type:"warning",message:{id:"notification.error"}}))}},Me=()=>{g({type:"SET_ALL_WEBHOOKS_TO_DELETE"})},We=(n,i)=>{g({type:"SET_WEBHOOKS_TO_DELETE",value:n,id:i})},w=n=>{pe(`${X}/${n}`)};return e.createElement(C.A,null,e.createElement(s.SL,{name:"Webhooks"}),e.createElement(D.o,{"aria-busy":l||I},e.createElement(E.T,{title:a({id:"Settings.webhooks.title",defaultMessage:"Webhooks"}),subtitle:a({id:"Settings.webhooks.list.description",defaultMessage:"Get POST changes notifications"}),primaryAction:r&&!I&&e.createElement(s.Qj,{startIcon:e.createElement(R.Z,null),variant:"default",to:`${X}/create`,size:"S"},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}),k>0&&T&&e.createElement(f.Z,{startActions:e.createElement(e.Fragment,null,e.createElement(d.Z,{variant:"epsilon",textColor:"neutral600"},a({id:"Settings.webhooks.to.delete",defaultMessage:"{webhooksToDeleteLength, plural, one {# asset} other {# assets}} selected"},{webhooksToDeleteLength:k})),e.createElement(M.z,{onClick:()=>J("all"),startIcon:e.createElement(F.Z,null),size:"L",variant:"danger-light"},a({id:"global.delete",defaultMessage:"Delete"})))}),e.createElement(x.D,null,l||I?e.createElement(H.x,{background:"neutral0",padding:6,shadow:"filterShadow",hasRadius:!0},e.createElement(s.dO,null)):A>0?e.createElement(te.i,{colCount:5,rowCount:A+1,footer:e.createElement(ne.c,{onClick:()=>r?w("create"):{},icon:e.createElement(R.Z,null)},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))},e.createElement(le.h,null,e.createElement(G.Tr,null,e.createElement(m.Th,null,e.createElement(N.C,{"aria-label":a({id:"global.select-all-entries",defaultMessage:"Select all entries"}),indeterminate:k>0&&k<A,value:k===A,onValueChange:Me})),e.createElement(m.Th,{width:"20%"},e.createElement(d.Z,{variant:"sigma",textColor:"neutral600"},a({id:"global.name",defaultMessage:"Name"}))),e.createElement(m.Th,{width:"60%"},e.createElement(d.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.form.url",defaultMessage:"URL"}))),e.createElement(m.Th,{width:"20%"},e.createElement(d.Z,{variant:"sigma",textColor:"neutral600"},a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"}))),e.createElement(m.Th,null,e.createElement(ae.T,null,a({id:"Settings.webhooks.list.th.actions",defaultMessage:"Actions"}))))),e.createElement(oe.p,null,P.map(n=>e.createElement(G.Tr,{key:n.id,...(0,s.X7)({fn:()=>w(n.id),condition:c})},e.createElement(m.Td,{...s.UW},e.createElement(N.C,{"aria-label":`${a({id:"global.select",defaultMessage:"Select"})} ${n.name}`,value:Z?.includes(n.id),onValueChange:i=>We(i,n.id),id:"select",name:"select"})),e.createElement(m.Td,null,e.createElement(d.Z,{fontWeight:"semiBold",textColor:"neutral800"},n.name)),e.createElement(m.Td,null,e.createElement(d.Z,{textColor:"neutral800"},n.url)),e.createElement(m.Td,null,e.createElement(S.k,{...s.UW},e.createElement(W,{onLabel:a({id:"global.enabled",defaultMessage:"Enabled"}),offLabel:a({id:"global.disabled",defaultMessage:"Disabled"}),label:`${n.name} ${a({id:"Settings.webhooks.list.th.status",defaultMessage:"Status"})}`,selected:n.isEnabled,onChange:()=>ke(!n.isEnabled,n.id),visibleLabels:!0}))),e.createElement(m.Td,null,e.createElement(S.k,{gap:1,...s.UW},c&&e.createElement(j.h,{onClick:()=>{w(n.id)},label:a({id:"Settings.webhooks.events.update",defaultMessage:"Update"}),icon:e.createElement(ie.Z,null),noBorder:!0}),T&&e.createElement(j.h,{onClick:()=>J(n.id),label:a({id:"global.delete",defaultMessage:"Delete"}),icon:e.createElement(F.Z,null),noBorder:!0,id:`delete-${n.id}`}))))))):e.createElement(re.x,{icon:e.createElement(de.Z,{width:"160px"}),content:a({id:"Settings.webhooks.list.empty.description",defaultMessage:"No webhooks found"}),action:e.createElement(M.z,{variant:"secondary",startIcon:e.createElement(R.Z,null),onClick:()=>r?w("create"):{}},a({id:"Settings.webhooks.list.button.add",defaultMessage:"Create new webhook"}))}))),e.createElement(s.QH,{isOpen:fe,onToggleDialog:Le,onConfirm:Oe}))},be=()=>e.createElement(s.O4,{permissions:b.Z.settings.webhooks.main},e.createElement(ge,null))},99223:function(U,p,t){t.d(p,{Z:function(){return D}});var e=t(32735),s=t(60216),b=t(8471),h=t(72850),L=t(87933);const O=(0,b.ZP)(L.k)`
|
|
43
|
+
& > * + * {
|
|
44
|
+
margin-left: ${({theme:E})=>E.spaces[2]};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
margin-left: ${({pullRight:E})=>E?"auto":void 0};
|
|
48
|
+
`,C=(0,b.ZP)(O)`
|
|
49
|
+
flex-shrink: 0;
|
|
50
|
+
`,D=({startActions:E,endActions:f})=>E||f?e.createElement(h.x,{paddingLeft:10,paddingRight:10},e.createElement(h.x,{paddingBottom:4},e.createElement(L.k,{justifyContent:"space-between",alignItems:"flex-start"},E&&e.createElement(O,{wrap:"wrap"},E),f&&e.createElement(C,{pullRight:!0},f)))):null;D.defaultProps={endActions:void 0,startActions:void 0},D.propTypes={endActions:s.node,startActions:s.node}},73269:function(U,p,t){t.d(p,{c:function(){return f}});var e=t(32735),s=t(60216),b=t(8471),h=t(72850),L=t(9026),O=t(87933),C=t(49372);const D=(0,b.ZP)(h.x)`
|
|
51
|
+
height: ${24/16}rem;
|
|
52
|
+
width: ${24/16}rem;
|
|
53
|
+
border-radius: 50%;
|
|
54
|
+
display: flex;
|
|
55
|
+
justify-content: center;
|
|
56
|
+
align-items: center;
|
|
57
|
+
|
|
58
|
+
svg {
|
|
59
|
+
height: ${10/16}rem;
|
|
60
|
+
width: ${10/16}rem;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
svg path {
|
|
64
|
+
fill: ${({theme:d})=>d.colors.primary600};
|
|
65
|
+
}
|
|
66
|
+
`,E=(0,b.ZP)(h.x)`
|
|
67
|
+
border-radius: 0 0 ${({theme:d})=>d.borderRadius} ${({theme:d})=>d.borderRadius};
|
|
68
|
+
display: block;
|
|
69
|
+
width: 100%;
|
|
70
|
+
border: none;
|
|
71
|
+
`,f=({children:d,icon:M,...x})=>e.createElement("div",null,e.createElement(L.i,null),e.createElement(E,{as:"button",background:"primary100",padding:5,...x},e.createElement(O.k,null,e.createElement(D,{"aria-hidden":!0,background:"primary200"},M),e.createElement(h.x,{paddingLeft:3},e.createElement(C.Z,{variant:"pi",fontWeight:"bold",textColor:"primary600"},d)))));f.propTypes={children:s.string.isRequired,icon:s.node.isRequired}}}]);
|
|
@@ -12,7 +12,9 @@ export default (layout) => {
|
|
|
12
12
|
// `false` once a user is in CE mode again. We shouldn't have to perform the window.strapi.isEE check here
|
|
13
13
|
// and it is meant to be in interim solution until we find a better one.
|
|
14
14
|
const hasReviewWorkflows =
|
|
15
|
-
(window.strapi.
|
|
15
|
+
(window.strapi.features.isEnabled(window.strapi.features.REVIEW_WORKFLOWS) &&
|
|
16
|
+
layout.contentType.options?.reviewWorkflows) ??
|
|
17
|
+
false;
|
|
16
18
|
|
|
17
19
|
if (!hasReviewWorkflows) {
|
|
18
20
|
return null;
|
|
@@ -9,11 +9,9 @@ import {
|
|
|
9
9
|
import { Field, FieldLabel, FieldError, Flex, Loader } from '@strapi/design-system';
|
|
10
10
|
import { useIntl } from 'react-intl';
|
|
11
11
|
import { useMutation } from 'react-query';
|
|
12
|
-
import { useDispatch } from 'react-redux';
|
|
13
12
|
|
|
14
13
|
import { useReviewWorkflows } from '../../../../pages/SettingsPage/pages/ReviewWorkflows/hooks/useReviewWorkflows';
|
|
15
14
|
import Information from '../../../../../../admin/src/content-manager/pages/EditView/Information';
|
|
16
|
-
import { updatePartialData } from '../../../../../../admin/src/content-manager/sharedReducers/crudReducer/actions';
|
|
17
15
|
|
|
18
16
|
const ATTRIBUTE_NAME = 'strapi_reviewWorkflows_stage';
|
|
19
17
|
|
|
@@ -23,9 +21,12 @@ export function InformationBoxEE() {
|
|
|
23
21
|
isCreatingEntry,
|
|
24
22
|
layout: { uid },
|
|
25
23
|
isSingleType,
|
|
24
|
+
onChange,
|
|
26
25
|
} = useCMEditViewDataManager();
|
|
27
|
-
const dispatch = useDispatch();
|
|
28
26
|
const { put } = useFetchClient();
|
|
27
|
+
// it is possible to rely on initialData here, because it always will
|
|
28
|
+
// be updated at the same time when modifiedData is updated, otherwise
|
|
29
|
+
// the entity is flagged as modified
|
|
29
30
|
const activeWorkflowStage = initialData?.[ATTRIBUTE_NAME] ?? null;
|
|
30
31
|
const hasReviewWorkflowsEnabled = Object.prototype.hasOwnProperty.call(
|
|
31
32
|
initialData,
|
|
@@ -50,7 +51,9 @@ export function InformationBoxEE() {
|
|
|
50
51
|
data: { id: stageId },
|
|
51
52
|
});
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
// initialData and modifiedData have to stay in sync, otherwise the entity would be flagged
|
|
55
|
+
// as modified, which is what the boolean flag is for
|
|
56
|
+
onChange({ target: { name: ATTRIBUTE_NAME, value: createdEntity[ATTRIBUTE_NAME] } }, true);
|
|
54
57
|
|
|
55
58
|
return createdEntity;
|
|
56
59
|
},
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useReducer, useEffect } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useFetchClient, useNotification } from '@strapi/helper-plugin';
|
|
3
3
|
|
|
4
4
|
import { getRequestUrl } from '../../../../admin/src/utils';
|
|
5
5
|
import reducer, { initialState } from './reducer';
|
|
@@ -7,43 +7,42 @@ import reducer, { initialState } from './reducer';
|
|
|
7
7
|
const useAuthProviders = ({ ssoEnabled }) => {
|
|
8
8
|
const [state, dispatch] = useReducer(reducer, initialState);
|
|
9
9
|
const toggleNotification = useNotification();
|
|
10
|
+
const { get } = useFetchClient();
|
|
10
11
|
|
|
11
12
|
useEffect(() => {
|
|
12
|
-
fetchAuthProviders()
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const fetchAuthProviders = async () => {
|
|
14
|
+
try {
|
|
15
|
+
if (!ssoEnabled) {
|
|
16
|
+
dispatch({
|
|
17
|
+
type: 'GET_DATA_SUCCEEDED',
|
|
18
|
+
data: [],
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
const { data } = await get(getRequestUrl('providers'));
|
|
15
25
|
|
|
16
|
-
const fetchAuthProviders = async () => {
|
|
17
|
-
try {
|
|
18
|
-
if (!ssoEnabled) {
|
|
19
26
|
dispatch({
|
|
20
27
|
type: 'GET_DATA_SUCCEEDED',
|
|
21
|
-
data
|
|
28
|
+
data,
|
|
29
|
+
});
|
|
30
|
+
} catch (err) {
|
|
31
|
+
console.error(err);
|
|
32
|
+
|
|
33
|
+
dispatch({
|
|
34
|
+
type: 'GET_DATA_ERROR',
|
|
22
35
|
});
|
|
23
36
|
|
|
24
|
-
|
|
37
|
+
toggleNotification({
|
|
38
|
+
type: 'warning',
|
|
39
|
+
message: { id: 'notification.error' },
|
|
40
|
+
});
|
|
25
41
|
}
|
|
42
|
+
};
|
|
26
43
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
dispatch({
|
|
31
|
-
type: 'GET_DATA_SUCCEEDED',
|
|
32
|
-
data,
|
|
33
|
-
});
|
|
34
|
-
} catch (err) {
|
|
35
|
-
console.error(err);
|
|
36
|
-
|
|
37
|
-
dispatch({
|
|
38
|
-
type: 'GET_DATA_ERROR',
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
toggleNotification({
|
|
42
|
-
type: 'warning',
|
|
43
|
-
message: { id: 'notification.error' },
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
};
|
|
44
|
+
fetchAuthProviders();
|
|
45
|
+
}, [get, ssoEnabled, toggleNotification]);
|
|
47
46
|
|
|
48
47
|
return state;
|
|
49
48
|
};
|
|
@@ -2,7 +2,7 @@ import React, { useEffect, useRef, useCallback } from 'react';
|
|
|
2
2
|
import { useHistory, useRouteMatch } from 'react-router-dom';
|
|
3
3
|
import { useIntl } from 'react-intl';
|
|
4
4
|
import Cookies from 'js-cookie';
|
|
5
|
-
import { auth, LoadingIndicatorPage,
|
|
5
|
+
import { auth, LoadingIndicatorPage, useFetchClient } from '@strapi/helper-plugin';
|
|
6
6
|
import { getRequestUrl } from '../../../../admin/src/utils';
|
|
7
7
|
|
|
8
8
|
const AuthResponse = () => {
|
|
@@ -24,6 +24,8 @@ const AuthResponse = () => {
|
|
|
24
24
|
);
|
|
25
25
|
}, [push]);
|
|
26
26
|
|
|
27
|
+
const { get } = useFetchClient();
|
|
28
|
+
|
|
27
29
|
const fetchUserInfo = useCallback(async () => {
|
|
28
30
|
try {
|
|
29
31
|
const jwtToken = Cookies.get('jwtToken');
|
|
@@ -33,7 +35,9 @@ const AuthResponse = () => {
|
|
|
33
35
|
if (jwtToken) {
|
|
34
36
|
auth.setToken(jwtToken, true);
|
|
35
37
|
const requestUrl = getRequestUrl('users/me');
|
|
36
|
-
const {
|
|
38
|
+
const {
|
|
39
|
+
data: { data },
|
|
40
|
+
} = await get(requestUrl);
|
|
37
41
|
|
|
38
42
|
auth.setUserInfo(data, true);
|
|
39
43
|
|
|
@@ -44,7 +48,7 @@ const AuthResponse = () => {
|
|
|
44
48
|
} catch (e) {
|
|
45
49
|
redirectToOops();
|
|
46
50
|
}
|
|
47
|
-
}, [push, redirectToOops]);
|
|
51
|
+
}, [get, push, redirectToOops]);
|
|
48
52
|
|
|
49
53
|
useEffect(() => {
|
|
50
54
|
if (authResponse === 'error') {
|
|
@@ -185,7 +185,7 @@ export function ReviewWorkflowsPage() {
|
|
|
185
185
|
bodyText={{
|
|
186
186
|
id: 'Settings.review-workflows.page.delete.confirm.body',
|
|
187
187
|
defaultMessage:
|
|
188
|
-
'All entries assigned to deleted stages will be moved to the
|
|
188
|
+
'All entries assigned to deleted stages will be moved to the previous stage. Are you sure you want to save?',
|
|
189
189
|
}}
|
|
190
190
|
isConfirmButtonLoading={isLoading}
|
|
191
191
|
isOpen={isConfirmDeleteDialogOpen}
|
|
@@ -95,13 +95,14 @@ const redirectWithAuth = (ctx) => {
|
|
|
95
95
|
params: { provider },
|
|
96
96
|
} = ctx;
|
|
97
97
|
const redirectUrls = utils.getPrefixedRedirectUrls();
|
|
98
|
+
const domain = strapi.config.get('server.admin.auth.domain');
|
|
98
99
|
const { user } = ctx.state;
|
|
99
100
|
|
|
100
101
|
const jwt = getService('token').createJwtToken(user);
|
|
101
102
|
|
|
102
103
|
const isProduction = strapi.config.get('environment') === 'production';
|
|
103
104
|
|
|
104
|
-
const cookiesOptions = { httpOnly: false, secure: isProduction, overwrite: true };
|
|
105
|
+
const cookiesOptions = { httpOnly: false, secure: isProduction, overwrite: true, domain };
|
|
105
106
|
|
|
106
107
|
const sanitizedUser = getService('user').sanitizeUser(user);
|
|
107
108
|
strapi.eventHub.emit('admin.auth.success', { user: sanitizedUser, provider });
|
|
@@ -9,4 +9,5 @@ module.exports = {
|
|
|
9
9
|
stages: require('./review-workflows/stages'),
|
|
10
10
|
'review-workflows': require('./review-workflows/review-workflows'),
|
|
11
11
|
'review-workflows-decorator': require('./review-workflows/entity-service-decorator'),
|
|
12
|
+
'review-workflows-metrics': require('./review-workflows/metrics'),
|
|
12
13
|
};
|