@strapi/admin 4.8.1 → 4.9.0-exp.90df253ba90fd6879eb56a720a1f80d04ff745b8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/admin/src/pages/SettingsPage/components/Tokens/TokenTypeSelect/index.js +7 -5
  2. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/components/FormTransferTokenContainer/index.js +41 -0
  3. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/index.js +6 -4
  4. package/admin/src/pages/SettingsPage/pages/TransferTokens/EditView/utils/schema.js +1 -0
  5. package/admin/src/translations/zh-Hans.json +895 -693
  6. package/build/5563.451e91ee.chunk.js +30 -0
  7. package/build/7259.7744297b.chunk.js +1 -0
  8. package/build/{8580.0aa21940.chunk.js → 8580.b0dcf37c.chunk.js} +3 -3
  9. package/build/{Admin-authenticatedApp.1f2fd68f.chunk.js → Admin-authenticatedApp.5aa08bf5.chunk.js} +4 -4
  10. package/build/{Admin_settingsPage.caf3b9ab.chunk.js → Admin_settingsPage.489ec4eb.chunk.js} +1 -1
  11. package/build/{api-tokens-create-page.4328b852.chunk.js → api-tokens-create-page.2a6e22bd.chunk.js} +1 -1
  12. package/build/{api-tokens-edit-page.bce5050f.chunk.js → api-tokens-edit-page.fa38cd63.chunk.js} +1 -1
  13. package/build/{content-manager.84afc839.chunk.js → content-manager.f530e141.chunk.js} +1 -1
  14. package/build/{content-type-builder.55dac849.chunk.js → content-type-builder.6ecd201d.chunk.js} +9 -9
  15. package/build/index.html +1 -1
  16. package/build/{main.5b92c1d6.js → main.43b93ff3.js} +386 -352
  17. package/build/{runtime~main.a3892432.js → runtime~main.a40b1b57.js} +2 -2
  18. package/build/users-permissions-translation-zh-Hans-json.6ab714ee.chunk.js +1 -0
  19. package/build/zh-Hans-json.4cfef87d.chunk.js +1 -0
  20. package/package.json +11 -11
  21. package/server/controllers/transfer/runner.js +4 -2
  22. package/server/routes/transfer.js +13 -4
  23. package/server/services/constants.js +4 -0
  24. package/server/services/transfer/permission.js +1 -1
  25. package/server/services/transfer/token.js +33 -31
  26. package/server/validation/transfer/token.js +10 -2
  27. package/build/4649.33220ac3.chunk.js +0 -30
  28. package/build/7259.3675c199.chunk.js +0 -1
  29. package/build/users-permissions-translation-zh-Hans-json.0b31c705.chunk.js +0 -1
  30. package/build/zh-Hans-json.4c9706a6.chunk.js +0 -1
@@ -0,0 +1,30 @@
1
+ (self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[5563],{30493:function(B,M,t){"use strict";t.d(M,{Z:function(){return a}});var e=t(32735),m=t(5636),s=t(60216),n=t.n(s),d=t(13478),P=t(57269),E=t(39161),p=t(8888);const y=({onRegenerate:f,idToRegenerate:l,backUrl:A})=>{const{formatMessage:R}=(0,m.useIntl)(),[I,S]=(0,e.useState)(!1),{regenerateData:W,isLoadingConfirmation:F}=(0,p.rW)(A,l,f),U=async()=>{W(),S(!1)};return e.createElement(e.Fragment,null,e.createElement(E.Button,{startIcon:e.createElement(P.Refresh,null),type:"button",size:"S",variant:"tertiary",onClick:()=>S(!0),name:"regenerate"},R({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),e.createElement(d.ConfirmDialog,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:e.createElement(P.Refresh,null),isConfirmButtonLoading:F,isOpen:I,onToggleDialog:()=>S(!1),onConfirm:U,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};y.defaultProps={onRegenerate(){}},y.propTypes={onRegenerate:n().func,idToRegenerate:n().oneOfType([n().number,n().string]).isRequired,backUrl:n().string.isRequired};var h=y;const C=({title:f,token:l,setToken:A,canEditInputs:R,canRegenerate:I,isSubmitting:S,backUrl:W,regenerateUrl:F})=>{const{formatMessage:U}=(0,m.useIntl)(),Z=X=>{A({...l,accessKey:X})};return e.createElement(E.HeaderLayout,{title:l?.name||U(f),primaryAction:R?e.createElement(E.Flex,{gap:2},I&&l?.id&&e.createElement(h,{backUrl:F,onRegenerate:Z,idToRegenerate:l?.id}),e.createElement(E.Button,{disabled:S,loading:S,startIcon:e.createElement(P.Check,null),type:"submit",size:"S"},U({id:"global.save",defaultMessage:"Save"}))):I&&l?.id&&e.createElement(h,{onRegenerate:Z,idToRegenerate:l?.id,backUrl:F}),navigationAction:e.createElement(d.Link,{startIcon:e.createElement(P.ArrowLeft,null),to:W},U({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};C.propTypes={token:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().oneOfType([n().number,n().string]),name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string}),canEditInputs:n().bool.isRequired,canRegenerate:n().bool.isRequired,setToken:n().func.isRequired,isSubmitting:n().bool.isRequired,backUrl:n().string.isRequired,title:n().shape({id:n().string,label:n().string}).isRequired,regenerateUrl:n().string.isRequired},C.defaultProps={token:void 0};var a=C},4321:function(B,M,t){"use strict";var e=t(32735),m=t(60216),s=t.n(m),n=t(5636),d=t(39161),P=t.n(d),E=t(37944);const p=({token:y,errors:h,values:C,onChange:a,isCreating:f})=>{const{formatMessage:l}=(0,n.useIntl)();return e.createElement(e.Fragment,null,e.createElement(d.Select,{name:"lifespan",label:l({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:C.lifespan!==null?C.lifespan:"0",error:h.lifespan?l(h.lifespan?.id?h.lifespan:{id:h.lifespan,defaultMessage:h.lifespan}):null,onChange:A=>{a({target:{name:"lifespan",value:A}})},required:!0,disabled:!f,placeholder:"Select"},e.createElement(d.Option,{value:"604800000"},l({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),e.createElement(d.Option,{value:"2592000000"},l({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),e.createElement(d.Option,{value:"7776000000"},l({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),e.createElement(d.Option,{value:"0"},l({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),e.createElement(d.Typography,{variant:"pi",textColor:"neutral600"},!f&&`${l({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,E.IX)(y?.createdAt,parseInt(C.lifespan,10))}`))};p.propTypes={errors:s().shape({lifespan:s().string}),onChange:s().func.isRequired,values:s().shape({lifespan:s().oneOfType([s().number,s().string])}).isRequired,isCreating:s().bool.isRequired,token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().string,name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string})},p.defaultProps={errors:{},token:{}},M.Z=p},93682:function(B,M,t){"use strict";var e=t(32735),m=t(5636),s=t(13478),n=t.n(s),d=t(39161),P=t.n(d),E=t(57269),p=t.n(E),y=t(60216),h=t.n(y),C=t(59087),a=t.n(C);const f=({token:l,tokenType:A})=>{const{formatMessage:R}=(0,m.useIntl)(),I=(0,s.useNotification)(),{trackUsage:S}=(0,s.useTracking)(),W=(0,e.useRef)(S);return e.createElement(s.ContentBox,{endAction:l&&e.createElement("span",{style:{alignSelf:"start"}},e.createElement(C.CopyToClipboard,{onCopy:()=>{W.current("didCopyTokenKey",{tokenType:A}),I({type:"success",message:{id:"Settings.tokens.notification.copied"}})},text:l},e.createElement(d.IconButton,{label:R({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:e.createElement(E.Duplicate,null),style:{padding:0,height:"1rem"}}))),title:l||R({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:R(l?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:e.createElement(E.Key,null),iconBackground:"neutral100"})};f.defaultProps={token:null},f.propTypes={token:h().string,tokenType:h().string.isRequired},M.Z=f},42789:function(B,M,t){"use strict";var e=t(32735),m=t(60216),s=t.n(m),n=t(5636),d=t(39161),P=t.n(d);const E=({errors:p,values:y,onChange:h,canEditInputs:C})=>{const{formatMessage:a}=(0,n.useIntl)();return e.createElement(d.Textarea,{label:a({id:"Settings.tokens.form.description",defaultMessage:"Description"}),name:"description",error:p.description?a(p.description?.id?p.description:{id:p.description,defaultMessage:p.description}):null,onChange:h,disabled:!C},y.description)};E.propTypes={errors:s().shape({description:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({description:s().string}).isRequired},E.defaultProps={errors:{}},M.Z=E},8377:function(B,M,t){"use strict";var e=t(32735),m=t(60216),s=t.n(m),n=t(5636),d=t(39161),P=t.n(d);const E=({errors:p,values:y,onChange:h,canEditInputs:C})=>{const{formatMessage:a}=(0,n.useIntl)();return e.createElement(d.TextInput,{name:"name",error:p.name?a(p.name?.id?p.name:{id:p.name,defaultMessage:p.name}):null,label:a({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:h,value:y.name,disabled:!C,required:!0})};E.propTypes={errors:s().shape({name:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({name:s().string}).isRequired},E.defaultProps={errors:{}},M.Z=E},49638:function(B,M,t){"use strict";var e=t(32735),m=t(60216),s=t.n(m),n=t(5636),d=t(39161),P=t.n(d);const E=({name:p,errors:y,values:h,onChange:C,canEditInputs:a,options:f,label:l})=>{const{formatMessage:A}=(0,n.useIntl)();return e.createElement(d.Select,{name:p,label:A({id:l.id,defaultMessage:l.defaultMessage}),value:h&&h[p],error:y[p]?A(y[p]?.id?y[p]:{id:y[p],defaultMessage:y[p]}):null,onChange:C,placeholder:"Select",required:!0,disabled:!a},f&&f.map(({value:R,label:I})=>e.createElement(d.Option,{key:R,value:R},A(I))))};E.propTypes={name:s().string,options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},E.defaultProps={name:"type",errors:{},options:[]},M.Z=E},68774:function(B,M,t){"use strict";t.d(M,{Z:function(){return e},f:function(){return m}});const e="api-token",m="transfer-token"},35563:function(B,M,t){"use strict";t.d(M,{Z:function(){return _e}});var e=t(32735),m=t(5636),s=t(13478),n=t(39161),d=t(83281),P=t(5141),E=t(84968),p=t(64421),y=t(37944),h=t(57269),C=t(60216),a=t.n(C);const f=({apiTokenName:o})=>{const{formatMessage:i}=(0,m.useIntl)();return(0,s.useFocusWhenNavigate)(),e.createElement(n.Main,{"aria-busy":"true"},e.createElement(s.SettingsPageTitle,{name:"API Tokens"}),e.createElement(n.HeaderLayout,{primaryAction:e.createElement(n.Button,{disabled:!0,startIcon:e.createElement(h.Check,null),type:"button",size:"L"},i({id:"global.save",defaultMessage:"Save"})),title:o||i({id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"})}),e.createElement(n.ContentLayout,null,e.createElement(s.LoadingIndicatorPage,null)))};f.defaultProps={apiTokenName:null},f.propTypes={apiTokenName:a().string};var l=f,A=t(72041);const R=(0,e.createContext)({}),I=({children:o,...i})=>e.createElement(R.Provider,{value:i},o),S=()=>(0,e.useContext)(R);I.propTypes={children:a().node.isRequired};var F=(o,i=[])=>({...o,selectedAction:null,routes:[],selectedActions:[],data:(0,y.mk)(i)}),U=t(97889),Z=t(92891);const X={data:{},selectedActions:[]};var ie=(o,i)=>(0,U.default)(o,r=>{switch(i.type){case"ON_CHANGE":{r.selectedActions.includes(i.value)?(0,Z.pull)(r.selectedActions,i.value):r.selectedActions.push(i.value);break}case"SELECT_ALL_IN_PERMISSION":{i.value.every(g=>r.selectedActions.includes(g.actionId))?i.value.forEach(g=>{(0,Z.pull)(r.selectedActions,g.actionId)}):i.value.forEach(g=>{r.selectedActions.push(g.actionId)});break}case"SELECT_ALL_ACTIONS":{r.selectedActions=[...r.data.allActionsIds];break}case"ON_CHANGE_READ_ONLY":{const v=r.data.allActionsIds.filter(g=>g.includes("find")||g.includes("findOne"));r.selectedActions=[...v];break}case"UPDATE_PERMISSIONS_LAYOUT":{r.data=(0,y.mk)(i.value);break}case"UPDATE_ROUTES":{r.routes={...i.value};break}case"UPDATE_PERMISSIONS":{r.selectedActions=[...i.value];break}case"SET_SELECTED_ACTION":{r.selectedAction=i.value;break}default:return r}}),Y=t(83292);const oe=Y.css`
2
+ background: ${o=>o.theme.colors.primary100};
3
+ svg {
4
+ opacity: 1;
5
+ }
6
+ `;var re=(0,Y.default)(n.Box)`
7
+ display: flex;
8
+ justify-content: space-between;
9
+ align-items: center;
10
+
11
+ svg {
12
+ opacity: 0;
13
+ path {
14
+ fill: ${o=>o.theme.colors.primary600};
15
+ }
16
+ }
17
+
18
+ /* Show active style both on hover and when the action is selected */
19
+ ${o=>o.isActive&&oe}
20
+ &:hover {
21
+ ${oe}
22
+ }
23
+ `;const le=Y.default.div`
24
+ flex: 1;
25
+ align-self: center;
26
+ border-top: 1px solid ${({theme:o})=>o.colors.neutral150};
27
+ `,J=({controllers:o,label:i,orderNumber:r,disabled:v,onExpanded:g,indexExpandendCollapsedContent:c})=>{const{value:{onChangeSelectAll:x,onChange:K,selectedActions:D,setSelectedAction:b,selectedAction:$}}=S(),[L,j]=(0,e.useState)(!1),{formatMessage:H}=(0,m.useIntl)(),k=()=>{j(_=>!_),g(r)};(0,e.useEffect)(()=>{c!==null&&c!==r&&L&&j(!1)},[c,r,L]);const G=_=>_===$;return e.createElement(n.Accordion,{expanded:L,onToggle:k,variant:r%2?"primary":"secondary"},e.createElement(n.AccordionToggle,{title:(0,Z.capitalize)(i)}),e.createElement(n.AccordionContent,null,o?.map(_=>{const Q=_.actions.every(T=>D.includes(T.actionId)),te=_.actions.some(T=>D.includes(T.actionId));return e.createElement(n.Box,{key:`${i}.${_?.controller}`},e.createElement(n.Flex,{justifyContent:"space-between",alignItems:"center",padding:4},e.createElement(n.Box,{paddingRight:4},e.createElement(n.Typography,{variant:"sigma",textColor:"neutral600"},_?.controller)),e.createElement(le,null),e.createElement(n.Box,{paddingLeft:4},e.createElement(n.Checkbox,{value:Q,indeterminate:!Q&&te,onValueChange:()=>{x({target:{value:[..._.actions]}})},disabled:v},H({id:"app.utils.select-all",defaultMessage:"Select all"})))),e.createElement(n.Grid,{gap:4,padding:4},_?.actions&&_?.actions.map(T=>e.createElement(n.GridItem,{col:6,key:T.actionId},e.createElement(re,{isActive:G(T.actionId),padding:2,hasRadius:!0},e.createElement(n.Checkbox,{value:D.includes(T.actionId),name:T.actionId,onValueChange:()=>{K({target:{value:T.actionId}})},disabled:v},T.action),e.createElement("button",{type:"button","data-testid":"action-cog",onClick:()=>b({target:{value:T.actionId}}),style:{display:"inline-flex",alignItems:"center"}},e.createElement(h.Cog,null)))))))})))};J.defaultProps={controllers:[],orderNumber:0,disabled:!1,onExpanded:()=>null,indexExpandendCollapsedContent:null},J.propTypes={controllers:a().array,orderNumber:a().number,label:a().string.isRequired,disabled:a().bool,onExpanded:a().func,indexExpandendCollapsedContent:a().number};var ce=J;const w=({section:o,...i})=>{const[r,v]=(0,e.useState)(null),g=c=>v(c);return e.createElement(n.Box,{padding:4,background:"neutral0"},o&&o.map((c,x)=>e.createElement(ce,{key:c.apiId,label:c.label,controllers:c.controllers,orderNumber:x,indexExpandendCollapsedContent:r,onExpanded:g,name:c.apiId,...i})))};w.defaultProps={section:null},w.propTypes={section:a().arrayOf(a().object)};var de=w,ue=t(37213),pe=t.n(ue),ge=t(15738),me=t.n(ge),Ee=o=>{switch(o){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 fe=(0,Y.default)(n.Box)`
28
+ margin: -1px;
29
+ border-radius: ${({theme:o})=>o.spaces[1]} 0 0 ${({theme:o})=>o.spaces[1]};
30
+ `;function q({route:o}){const{formatMessage:i}=(0,m.useIntl)(),{method:r,handler:v,path:g}=o,c=g?me()(g.split("/")):[],[x="",K=""]=v?v.split("."):[],D=Ee(o.method);return e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(n.Typography,{variant:"delta",as:"h3"},i({id:"Settings.apiTokens.createPage.BoundRoute.title",defaultMessage:"Bound route to"}),"\xA0",e.createElement("span",null,x),e.createElement(n.Typography,{variant:"delta",textColor:"primary600"},".",K)),e.createElement(n.Flex,{hasRadius:!0,background:"neutral0",borderColor:"neutral200",gap:0},e.createElement(fe,{background:D.background,borderColor:D.border,padding:2},e.createElement(n.Typography,{fontWeight:"bold",textColor:D.text},r)),e.createElement(n.Box,{paddingLeft:2,paddingRight:2},pe()(c,b=>e.createElement(n.Typography,{key:b,textColor:b.includes(":")?"neutral600":"neutral900"},"/",b)))))}q.defaultProps={route:{handler:"Nocontroller.error",method:"GET",path:"/there-is-no-path"}},q.propTypes={route:a().shape({handler:a().string,method:a().string,path:a().string})};var ye=q,Te=()=>{const{value:{selectedAction:o,routes:i}}=S(),{formatMessage:r}=(0,m.useIntl)(),v=o?.split(".")[0];return e.createElement(n.GridItem,{col:5,background:"neutral150",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7,style:{minHeight:"100%"}},o?e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},i[v]?.map(g=>g.config.auth?.scope?.includes(o)||g.handler===o?e.createElement(ye,{key:g.handler,route:g}):null)):e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(n.Typography,{variant:"delta",as:"h3"},r({id:"Settings.apiTokens.createPage.permissions.header.title",defaultMessage:"Advanced settings"})),e.createElement(n.Typography,{as:"p",textColor:"neutral600"},r({id:"Settings.apiTokens.createPage.permissions.header.hint",defaultMessage:"Select the application's actions or the plugin's actions and click on the cog icon to display the bound route"}))))};const he=({...o})=>{const{value:{data:i}}=S(),{formatMessage:r}=(0,m.useIntl)();return e.createElement(n.Grid,{gap:0,shadow:"filterShadow",hasRadius:!0,background:"neutral0"},e.createElement(n.GridItem,{col:7,paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:2},e.createElement(n.Typography,{variant:"delta",as:"h2"},r({id:"Settings.apiTokens.createPage.permissions.title",defaultMessage:"Permissions"})),e.createElement(n.Typography,{as:"p",textColor:"neutral600"},r({id:"Settings.apiTokens.createPage.permissions.description",defaultMessage:"Only actions bound by a route are listed below."}))),i?.permissions&&e.createElement(de,{section:i?.permissions,...o})),e.createElement(Te,null))};var Ce=(0,e.memo)(he),ve=t(4321),Ae=t(8377),Me=t(42789),Pe=t(49638);const ee=({errors:o,onChange:i,canEditInputs:r,isCreating:v,values:g,apiToken:c,onDispatch:x,setHasChangedPermissions:K})=>{const{formatMessage:D}=(0,m.useIntl)(),b=({target:{value:L}})=>{K(!1),L==="full-access"&&x({type:"SELECT_ALL_ACTIONS"}),L==="read-only"&&x({type:"ON_CHANGE_READ_ONLY"})},$=[{value:"read-only",label:{id:"Settings.tokens.types.read-only",defaultMessage:"Read-only"}},{value:"full-access",label:{id:"Settings.tokens.types.full-access",defaultMessage:"Full access"}},{value:"custom",label:{id:"Settings.tokens.types.custom",defaultMessage:"Custom"}}];return e.createElement(n.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:4},e.createElement(n.Typography,{variant:"delta",as:"h2"},D({id:"global.details",defaultMessage:"Details"})),e.createElement(n.Grid,{gap:5},e.createElement(n.GridItem,{key:"name",col:6,xs:12},e.createElement(Ae.Z,{errors:o,values:g,canEditInputs:r,onChange:i})),e.createElement(n.GridItem,{key:"description",col:6,xs:12},e.createElement(Me.Z,{errors:o,values:g,canEditInputs:r,onChange:i})),e.createElement(n.GridItem,{key:"lifespan",col:6,xs:12},e.createElement(ve.Z,{isCreating:v,errors:o,values:g,onChange:i,token:c})),e.createElement(n.GridItem,{key:"type",col:6,xs:12},e.createElement(Pe.Z,{values:g,errors:o,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:L=>{b({target:{value:L}}),i({target:{name:"type",value:L}})},options:$,canEditInputs:r})))))};ee.propTypes={errors:a().shape({name:a().string,description:a().string,lifespan:a().string,type:a().string}),onChange:a().func.isRequired,canEditInputs:a().bool.isRequired,values:a().shape({name:a().string,description:a().string,lifespan:a().oneOfType([a().number,a().string]),type:a().string}).isRequired,isCreating:a().bool.isRequired,apiToken:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().string,name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string}),onDispatch:a().func.isRequired,setHasChangedPermissions:a().func.isRequired},ee.defaultProps={errors:{},apiToken:{}};var Re=ee,Oe=t(93682),Ie=t(30493),z=t(68774);const ke="Name already taken";var _e=()=>{(0,s.useFocusWhenNavigate)();const{formatMessage:o}=(0,m.useIntl)(),{lockApp:i,unlockApp:r}=(0,s.useOverlayBlocker)(),v=(0,s.useNotification)(),g=(0,P.useHistory)(),[c,x]=(0,e.useState)(g.location.state?.apiToken.accessKey?{...g.location.state.apiToken}:null),{trackUsage:K}=(0,s.useTracking)(),D=(0,e.useRef)(K),{setCurrentStep:b}=(0,s.useGuidedTour)(),{allowedActions:{canCreate:$,canUpdate:L,canRegenerate:j}}=(0,s.useRBAC)(A.Z.settings["api-tokens"]),[H,k]=(0,e.useReducer)(ie,X,u=>F(u,{})),{params:{id:G}}=(0,P.useRouteMatch)("/settings/api-tokens/:id"),{get:_,post:Q,put:te}=(0,s.useFetchClient)(),T=G==="create";(0,E.useQuery)("content-api-permissions",async()=>{const[u,N]=await Promise.all(["/admin/content-api/permissions","/admin/content-api/routes"].map(async V=>{const{data:O}=await _(V);return O.data}));k({type:"UPDATE_PERMISSIONS_LAYOUT",value:u}),k({type:"UPDATE_ROUTES",value:N}),c&&(c?.type==="read-only"&&k({type:"ON_CHANGE_READ_ONLY"}),c?.type==="full-access"&&k({type:"SELECT_ALL_ACTIONS"}),c?.type==="custom"&&k({type:"UPDATE_PERMISSIONS",value:c?.permissions}))},{onError(){v({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),(0,e.useEffect)(()=>{D.current(T?"didAddTokenFromList":"didEditTokenFromList",{tokenType:z.Z})},[T]);const{status:De}=(0,E.useQuery)(["api-token",G],async()=>{const{data:{data:u}}=await _(`/admin/api-tokens/${G}`);return x({...u}),u?.type==="read-only"&&k({type:"ON_CHANGE_READ_ONLY"}),u?.type==="full-access"&&k({type:"SELECT_ALL_ACTIONS"}),u?.type==="custom"&&k({type:"UPDATE_PERMISSIONS",value:u?.permissions}),u},{enabled:!T&&!c,onError(){v({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),Se=async(u,N)=>{D.current(T?"willCreateToken":"willEditToken",{tokenType:z.Z}),i();const V=u.lifespan&&parseInt(u.lifespan,10)&&u.lifespan!=="0"?parseInt(u.lifespan,10):null;try{const{data:{data:O}}=T?await Q("/admin/api-tokens",{...u,lifespan:V,permissions:u.type==="custom"?H.selectedActions:null}):await te(`/admin/api-tokens/${G}`,{name:u.name,description:u.description,type:u.type,permissions:u.type==="custom"?H.selectedActions:null});T&&(g.replace(`/settings/api-tokens/${O.id}`,{apiToken:O}),b("apiTokens.success")),r(),x({...O}),v({type:"success",message:o(T?{id:"notification.success.apitokencreated",defaultMessage:"API Token successfully created"}:{id:"notification.success.apitokenedited",defaultMessage:"API Token successfully edited"})}),D.current(T?"didCreateToken":"didEditToken",{type:c.type,tokenType:z.Z})}catch(O){const ae=(0,p.Iz)(O.response.data);N.setErrors(ae),O?.response?.data?.error?.message===ke?v({type:"warning",message:O.response.data.message||"notification.error.tokennamenotunique"}):v({type:"warning",message:O?.response?.data?.message||"notification.error"}),r()}},[xe,ne]=(0,e.useState)(!1),Le={...H,onChange:({target:{value:u}})=>{ne(!0),k({type:"ON_CHANGE",value:u})},onChangeSelectAll:({target:{value:u}})=>{ne(!0),k({type:"SELECT_ALL_IN_PERMISSION",value:u})},setSelectedAction:({target:{value:u}})=>{k({type:"SET_SELECTED_ACTION",value:u})}},se=L&&!T||$&&T;return!T&&!c&&De!=="success"?e.createElement(l,{apiTokenName:c?.name}):e.createElement(I,{value:Le},e.createElement(n.Main,null,e.createElement(s.SettingsPageTitle,{name:"API Tokens"}),e.createElement(d.Formik,{validationSchema:y.fK,validateOnChange:!1,initialValues:{name:c?.name||"",description:c?.description||"",type:c?.type,lifespan:c?.lifespan?c.lifespan.toString():c?.lifespan},enableReinitialize:!0,onSubmit:(u,N)=>Se(u,N)},({errors:u,handleChange:N,isSubmitting:V,values:O,setFieldValue:ae})=>(xe&&O?.type!=="custom"&&ae("type","custom"),e.createElement(s.Form,null,e.createElement(Ie.Z,{backUrl:"/settings/api-tokens",title:{id:"Settings.apiTokens.createPage.title",defaultMessage:"Create API Token"},token:c,setToken:x,canEditInputs:se,canRegenerate:j,isSubmitting:V,regenerateUrl:"/admin/api-tokens/"}),e.createElement(n.ContentLayout,null,e.createElement(n.Flex,{direction:"column",alignItems:"stretch",gap:6},Boolean(c?.name)&&e.createElement(Oe.Z,{token:c?.accessKey,tokenType:z.Z}),e.createElement(Re,{errors:u,onChange:N,canEditInputs:se,isCreating:T,values:O,apiToken:c,onDispatch:k,setHasChangedPermissions:ne}),e.createElement(Ce,{disabled:!se||O?.type==="read-only"||O?.type==="full-access"}))))))))}},37944:function(B,M,t){"use strict";t.d(M,{IX:function(){return n},fK:function(){return p},mk:function(){return C}});var e=t(64213),m=t(54049),n=(a,f,l="en")=>{if(f&&typeof f=="number"){const A=f/24/60/60/1e3;return(0,e.format)((0,e.addDays)(new Date(a),A),"PPP",{locale:m[l]})}return"Unlimited"},d=t(5173),P=t(13478),p=d.Ry().shape({name:d.Z_(P.translatedErrors.string).max(100).required(P.translatedErrors.required),type:d.Z_(P.translatedErrors.string).oneOf(["read-only","full-access","custom"]).required(P.translatedErrors.required),description:d.Z_().nullable(),lifespan:d.Rx().integer().min(0).nullable().defined(P.translatedErrors.required)}),y=t(92891),C=a=>{const f={allActionsIds:[],permissions:[]};return f.permissions=Object.keys(a).map(l=>({apiId:l,label:l.split("::")[1],controllers:(0,y.flatten)(Object.keys(a[l].controllers).map(A=>({controller:A,actions:(0,y.flatten)(a[l].controllers[A].map(R=>{const I=`${l}.${A}.${R}`;return l.includes("api::")&&f.allActionsIds.push(I),{action:R,actionId:I}}))})))})),f}},15738:function(B,M,t){var e=t(4293);function m(s){var n=s==null?0:s.length;return n?e(s,1,n):[]}B.exports=m}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_strapi_admin=self.webpackChunk_strapi_admin||[]).push([[7259],{30493:function(_,E,e){e.d(E,{Z:function(){return m}});var t=e(32735),p=e(5636),s=e(60216),a=e.n(s),o=e(13478),i=e(57269),r=e(39161),l=e(8888);const d=({onRegenerate:u,idToRegenerate:n,backUrl:c})=>{const{formatMessage:T}=(0,p.useIntl)(),[v,O]=(0,t.useState)(!1),{regenerateData:k,isLoadingConfirmation:A}=(0,l.rW)(c,n,u),I=async()=>{k(),O(!1)};return t.createElement(t.Fragment,null,t.createElement(r.Button,{startIcon:t.createElement(i.Refresh,null),type:"button",size:"S",variant:"tertiary",onClick:()=>O(!0),name:"regenerate"},T({id:"Settings.tokens.regenerate",defaultMessage:"Regenerate"})),t.createElement(o.ConfirmDialog,{bodyText:{id:"Settings.tokens.popUpWarning.message",defaultMessage:"Are you sure you want to regenerate this token?"},iconRightButton:t.createElement(i.Refresh,null),isConfirmButtonLoading:A,isOpen:v,onToggleDialog:()=>O(!1),onConfirm:I,leftButtonText:{id:"Settings.tokens.Button.cancel",defaultMessage:"Cancel"},rightButtonText:{id:"Settings.tokens.Button.regenerate",defaultMessage:"Regenerate"},title:{id:"Settings.tokens.RegenerateDialog.title",defaultMessage:"Regenerate token"}}))};d.defaultProps={onRegenerate(){}},d.propTypes={onRegenerate:a().func,idToRegenerate:a().oneOfType([a().number,a().string]).isRequired,backUrl:a().string.isRequired};var g=d;const f=({title:u,token:n,setToken:c,canEditInputs:T,canRegenerate:v,isSubmitting:O,backUrl:k,regenerateUrl:A})=>{const{formatMessage:I}=(0,p.useIntl)(),B=N=>{c({...n,accessKey:N})};return t.createElement(r.HeaderLayout,{title:n?.name||I(u),primaryAction:T?t.createElement(r.Flex,{gap:2},v&&n?.id&&t.createElement(g,{backUrl:A,onRegenerate:B,idToRegenerate:n?.id}),t.createElement(r.Button,{disabled:O,loading:O,startIcon:t.createElement(i.Check,null),type:"submit",size:"S"},I({id:"global.save",defaultMessage:"Save"}))):v&&n?.id&&t.createElement(g,{onRegenerate:B,idToRegenerate:n?.id,backUrl:A}),navigationAction:t.createElement(o.Link,{startIcon:t.createElement(i.ArrowLeft,null),to:k},I({id:"global.back",defaultMessage:"Back"})),ellipsis:!0})};f.propTypes={token:a().shape({id:a().oneOfType([a().number,a().string]),type:a().string,lifespan:a().oneOfType([a().number,a().string]),name:a().string,accessKey:a().string,permissions:a().array,description:a().string,createdAt:a().string}),canEditInputs:a().bool.isRequired,canRegenerate:a().bool.isRequired,setToken:a().func.isRequired,isSubmitting:a().bool.isRequired,backUrl:a().string.isRequired,title:a().shape({id:a().string,label:a().string}).isRequired,regenerateUrl:a().string.isRequired},f.defaultProps={token:void 0};var m=f},4321:function(_,E,e){var t=e(32735),p=e(60216),s=e.n(p),a=e(5636),o=e(39161),i=e.n(o),r=e(37944);const l=({token:d,errors:g,values:f,onChange:m,isCreating:u})=>{const{formatMessage:n}=(0,a.useIntl)();return t.createElement(t.Fragment,null,t.createElement(o.Select,{name:"lifespan",label:n({id:"Settings.tokens.form.duration",defaultMessage:"Token duration"}),value:f.lifespan!==null?f.lifespan:"0",error:g.lifespan?n(g.lifespan?.id?g.lifespan:{id:g.lifespan,defaultMessage:g.lifespan}):null,onChange:c=>{m({target:{name:"lifespan",value:c}})},required:!0,disabled:!u,placeholder:"Select"},t.createElement(o.Option,{value:"604800000"},n({id:"Settings.tokens.duration.7-days",defaultMessage:"7 days"})),t.createElement(o.Option,{value:"2592000000"},n({id:"Settings.tokens.duration.30-days",defaultMessage:"30 days"})),t.createElement(o.Option,{value:"7776000000"},n({id:"Settings.tokens.duration.90-days",defaultMessage:"90 days"})),t.createElement(o.Option,{value:"0"},n({id:"Settings.tokens.duration.unlimited",defaultMessage:"Unlimited"}))),t.createElement(o.Typography,{variant:"pi",textColor:"neutral600"},!u&&`${n({id:"Settings.tokens.duration.expiration-date",defaultMessage:"Expiration date"})}: ${(0,r.IX)(d?.createdAt,parseInt(f.lifespan,10))}`))};l.propTypes={errors:s().shape({lifespan:s().string}),onChange:s().func.isRequired,values:s().shape({lifespan:s().oneOfType([s().number,s().string])}).isRequired,isCreating:s().bool.isRequired,token:s().shape({id:s().oneOfType([s().number,s().string]),type:s().string,lifespan:s().string,name:s().string,accessKey:s().string,permissions:s().array,description:s().string,createdAt:s().string})},l.defaultProps={errors:{},token:{}},E.Z=l},93682:function(_,E,e){var t=e(32735),p=e(5636),s=e(13478),a=e.n(s),o=e(39161),i=e.n(o),r=e(57269),l=e.n(r),d=e(60216),g=e.n(d),f=e(59087),m=e.n(f);const u=({token:n,tokenType:c})=>{const{formatMessage:T}=(0,p.useIntl)(),v=(0,s.useNotification)(),{trackUsage:O}=(0,s.useTracking)(),k=(0,t.useRef)(O);return t.createElement(s.ContentBox,{endAction:n&&t.createElement("span",{style:{alignSelf:"start"}},t.createElement(f.CopyToClipboard,{onCopy:()=>{k.current("didCopyTokenKey",{tokenType:c}),v({type:"success",message:{id:"Settings.tokens.notification.copied"}})},text:n},t.createElement(o.IconButton,{label:T({id:"app.component.CopyToClipboard.label",defaultMessage:"Copy to clipboard"}),noBorder:!0,icon:t.createElement(r.Duplicate,null),style:{padding:0,height:"1rem"}}))),title:n||T({id:"Settings.tokens.copy.editTitle",defaultMessage:"This token isn\u2019t accessible anymore."}),subtitle:T(n?{id:"Settings.tokens.copy.lastWarning",defaultMessage:"Make sure to copy this token, you won\u2019t be able to see it again!"}:{id:"Settings.tokens.copy.editMessage",defaultMessage:"For security reasons, you can only see your token once."}),icon:t.createElement(r.Key,null),iconBackground:"neutral100"})};u.defaultProps={token:null},u.propTypes={token:g().string,tokenType:g().string.isRequired},E.Z=u},42789:function(_,E,e){var t=e(32735),p=e(60216),s=e.n(p),a=e(5636),o=e(39161),i=e.n(o);const r=({errors:l,values:d,onChange:g,canEditInputs:f})=>{const{formatMessage:m}=(0,a.useIntl)();return t.createElement(o.Textarea,{label:m({id:"Settings.tokens.form.description",defaultMessage:"Description"}),name:"description",error:l.description?m(l.description?.id?l.description:{id:l.description,defaultMessage:l.description}):null,onChange:g,disabled:!f},d.description)};r.propTypes={errors:s().shape({description:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({description:s().string}).isRequired},r.defaultProps={errors:{}},E.Z=r},8377:function(_,E,e){var t=e(32735),p=e(60216),s=e.n(p),a=e(5636),o=e(39161),i=e.n(o);const r=({errors:l,values:d,onChange:g,canEditInputs:f})=>{const{formatMessage:m}=(0,a.useIntl)();return t.createElement(o.TextInput,{name:"name",error:l.name?m(l.name?.id?l.name:{id:l.name,defaultMessage:l.name}):null,label:m({id:"Settings.tokens.form.name",defaultMessage:"Name"}),onChange:g,value:d.name,disabled:!f,required:!0})};r.propTypes={errors:s().shape({name:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({name:s().string}).isRequired},r.defaultProps={errors:{}},E.Z=r},49638:function(_,E,e){var t=e(32735),p=e(60216),s=e.n(p),a=e(5636),o=e(39161),i=e.n(o);const r=({name:l,errors:d,values:g,onChange:f,canEditInputs:m,options:u,label:n})=>{const{formatMessage:c}=(0,a.useIntl)();return t.createElement(o.Select,{name:l,label:c({id:n.id,defaultMessage:n.defaultMessage}),value:g&&g[l],error:d[l]?c(d[l]?.id?d[l]:{id:d[l],defaultMessage:d[l]}):null,onChange:f,placeholder:"Select",required:!0,disabled:!m},u&&u.map(({value:T,label:v})=>t.createElement(o.Option,{key:T,value:T},c(v))))};r.propTypes={name:s().string,options:s().arrayOf(s().shape({label:s().shape({id:s().string,defaultMessage:s().string}),value:s().string})),errors:s().shape({type:s().string}),onChange:s().func.isRequired,canEditInputs:s().bool.isRequired,values:s().shape({type:s().string}).isRequired,label:s().shape({id:s().string,defaultMessage:s().string}).isRequired},r.defaultProps={name:"type",errors:{},options:[]},E.Z=r},68774:function(_,E,e){e.d(E,{Z:function(){return t},f:function(){return p}});const t="api-token",p="transfer-token"},37944:function(_,E,e){e.d(E,{IX:function(){return a},fK:function(){return l},mk:function(){return f}});var t=e(64213),p=e(54049),a=(m,u,n="en")=>{if(u&&typeof u=="number"){const c=u/24/60/60/1e3;return(0,t.format)((0,t.addDays)(new Date(m),c),"PPP",{locale:p[n]})}return"Unlimited"},o=e(5173),i=e(13478),l=o.Ry().shape({name:o.Z_(i.translatedErrors.string).max(100).required(i.translatedErrors.required),type:o.Z_(i.translatedErrors.string).oneOf(["read-only","full-access","custom"]).required(i.translatedErrors.required),description:o.Z_().nullable(),lifespan:o.Rx().integer().min(0).nullable().defined(i.translatedErrors.required)}),d=e(92891),f=m=>{const u={allActionsIds:[],permissions:[]};return u.permissions=Object.keys(m).map(n=>({apiId:n,label:n.split("::")[1],controllers:(0,d.flatten)(Object.keys(m[n].controllers).map(c=>({controller:c,actions:(0,d.flatten)(m[n].controllers[c].map(T=>{const v=`${n}.${c}.${T}`;return n.includes("api::")&&u.allActionsIds.push(v),{action:T,actionId:v}}))})))})),u}},37259:function(_,E,e){e.d(E,{Z:function(){return j}});var t=e(32735),p=e(5636),s=e(83281),a=e(5141),o=e(84968),i=e(13478),r=e(39161),l=e(64421),d=e(5173),f=d.Ry().shape({name:d.Z_(i.translatedErrors.string).max(100).required(i.translatedErrors.required),description:d.Z_().nullable(),lifespan:d.Rx().integer().min(0).nullable().defined(i.translatedErrors.required),permissions:d.Z_(i.translatedErrors.string).required(i.translatedErrors.required)}),m=e(57269),u=e(60216),n=e.n(u);const c=({transferTokenName:P})=>{const{formatMessage:D}=(0,p.useIntl)();return(0,i.useFocusWhenNavigate)(),t.createElement(r.Main,{"aria-busy":"true"},t.createElement(i.SettingsPageTitle,{name:"Transfer Tokens"}),t.createElement(r.HeaderLayout,{primaryAction:t.createElement(r.Button,{disabled:!0,startIcon:t.createElement(m.Check,null),type:"button",size:"L"},D({id:"global.save",defaultMessage:"Save"})),title:P||D({id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"})}),t.createElement(r.ContentLayout,null,t.createElement(i.LoadingIndicatorPage,null)))};c.defaultProps={transferTokenName:null},c.propTypes={transferTokenName:n().string};var T=c,v=e(72041),O=e(4321),k=e(8377),A=e(42789),I=e(49638);const B=({errors:P,onChange:D,canEditInputs:L,isCreating:U,values:h,transferToken:y})=>{const{formatMessage:K}=(0,p.useIntl)(),b=[{value:"push",label:{id:"Settings.transferTokens.types.push",defaultMessage:"Push"}},{value:"pull",label:{id:"Settings.transferTokens.types.pull",defaultMessage:"Pull"}},{value:"push-pull",label:{id:"Settings.transferTokens.types.push-pull",defaultMessage:"Full Access"}}];return t.createElement(r.Box,{background:"neutral0",hasRadius:!0,shadow:"filterShadow",paddingTop:6,paddingBottom:6,paddingLeft:7,paddingRight:7},t.createElement(r.Flex,{direction:"column",alignItems:"stretch",gap:4},t.createElement(r.Typography,{variant:"delta",as:"h2"},K({id:"global.details",defaultMessage:"Details"})),t.createElement(r.Grid,{gap:5},t.createElement(r.GridItem,{key:"name",col:6,xs:12},t.createElement(k.Z,{errors:P,values:h,canEditInputs:L,onChange:D})),t.createElement(r.GridItem,{key:"description",col:6,xs:12},t.createElement(A.Z,{errors:P,values:h,canEditInputs:L,onChange:D})),t.createElement(r.GridItem,{key:"lifespan",col:6,xs:12},t.createElement(O.Z,{isCreating:U,errors:P,values:h,onChange:D,token:y})),t.createElement(r.GridItem,{key:"permissions",col:6,xs:12},t.createElement(I.Z,{name:"permissions",values:h,errors:P,label:{id:"Settings.tokens.form.type",defaultMessage:"Token type"},onChange:S=>{D({target:{name:"permissions",value:S}})},options:b,canEditInputs:L})))))};B.propTypes={errors:n().shape({name:n().string,description:n().string,lifespan:n().string,type:n().string}),onChange:n().func.isRequired,canEditInputs:n().bool.isRequired,values:n().shape({name:n().string,description:n().string,lifespan:n().oneOfType([n().number,n().string]),type:n().string}).isRequired,isCreating:n().bool.isRequired,transferToken:n().shape({id:n().oneOfType([n().number,n().string]),type:n().string,lifespan:n().string,name:n().string,accessKey:n().string,permissions:n().array,description:n().string,createdAt:n().string})},B.defaultProps={errors:{},transferToken:{}};var N=B,G=e(93682),H=e(30493),x=e(68774);const z="Name already taken";var j=()=>{(0,i.useFocusWhenNavigate)();const{formatMessage:P}=(0,p.useIntl)(),{lockApp:D,unlockApp:L}=(0,i.useOverlayBlocker)(),U=(0,i.useNotification)(),h=(0,a.useHistory)(),[y,K]=(0,t.useState)(h.location.state?.transferToken.accessKey?{...h.location.state.transferToken}:null),{trackUsage:b}=(0,i.useTracking)(),S=(0,t.useRef)(b),{setCurrentStep:X}=(0,i.useGuidedTour)(),{allowedActions:{canCreate:Y,canUpdate:Q,canRegenerate:J}}=(0,i.useRBAC)(v.Z.settings["transfer-tokens"]),{params:{id:Z}}=(0,a.useRouteMatch)("/settings/transfer-tokens/:id"),{get:q,post:w,put:ee}=(0,i.useFetchClient)(),R=Z==="create";(0,t.useEffect)(()=>{S.current(R?"didAddTokenFromList":"didEditTokenFromList",{tokenType:x.f})},[R]);const{status:te}=(0,o.useQuery)(["transfer-token",Z],async()=>{const{data:{data:M}}=await q(`/admin/transfer/tokens/${Z}`);return K({...M}),M},{enabled:!R&&!y,onError(){U({type:"warning",message:{id:"notification.error",defaultMessage:"An error occured"}})}}),ne=async(M,W)=>{S.current(R?"willCreateToken":"willEditToken",{tokenType:x.f}),D();const V=M.lifespan&&parseInt(M.lifespan,10)&&M.lifespan!=="0"?parseInt(M.lifespan,10):null,F=M.permissions.split("-");try{const{data:{data:C}}=R?await w("/admin/transfer/tokens",{...M,lifespan:V,permissions:F}):await ee(`/admin/transfer/tokens/${Z}`,{name:M.name,description:M.description,permissions:F});L(),R&&(h.replace(`/settings/transfer-tokens/${C.id}`,{transferToken:C}),X("transferTokens.success")),K({...C}),U({type:"success",message:P(R?{id:"notification.success.transfertokencreated",defaultMessage:"Transfer Token successfully created"}:{id:"notification.success.transfertokenedited",defaultMessage:"Transfer Token successfully edited"})}),S.current(R?"didCreateToken":"didEditToken",{type:y?.permissions,tokenType:x.f})}catch(C){const se=(0,l.Iz)(C.response.data);W.setErrors(se),C?.response?.data?.error?.message===z?U({type:"warning",message:C.response.data.message||"notification.error.tokennamenotunique"}):U({type:"warning",message:C?.response?.data?.message||"notification.error"}),L()}},$=Q&&!R||Y&&R;return!R&&!y&&te!=="success"?t.createElement(T,{transferTokenName:y?.name}):t.createElement(r.Main,null,t.createElement(i.SettingsPageTitle,{name:"Transfer Tokens"}),t.createElement(s.Formik,{validationSchema:f,validateOnChange:!1,initialValues:{name:y?.name||"",description:y?.description||"",lifespan:y?.lifespan?y.lifespan.toString():y?.lifespan,permissions:y?.permissions.join("-")},enableReinitialize:!0,onSubmit:(M,W)=>ne(M,W)},({errors:M,handleChange:W,isSubmitting:V,values:F})=>t.createElement(i.Form,null,t.createElement(H.Z,{backUrl:"/settings/transfer-tokens",title:{id:"Settings.transferTokens.createPage.title",defaultMessage:"Create Transfer Token"},token:y,setToken:K,canEditInputs:$,canRegenerate:J,isSubmitting:V,regenerateUrl:"/admin/transfer/tokens/"}),t.createElement(r.ContentLayout,null,t.createElement(r.Flex,{direction:"column",alignItems:"stretch",gap:6},Boolean(y?.name)&&t.createElement(G.Z,{token:y?.accessKey,tokenType:x.f}),t.createElement(N,{errors:M,onChange:W,canEditInputs:$,isCreating:R,values:F,transferToken:y}))))))}}}]);