File: /home/dnlightw-124/dn.lightweb.kr/public/build/assets/ApiTokenManager-Eh3BvV-9.js
import{T as A}from"./index.esm2017-BwYSbQyX.js";import{_ as j}from"./ActionMessage-cZ06VzZo.js";import{_ as U}from"./Modal-m0t1QOoS.js";import{_ as T}from"./Checkbox-h2EC9UY1.js";import{_ as z}from"./ConfirmationModal-Cd623iZj.js";import{_ as E}from"./DangerButton-BsLhbwGT.js";import{_ as w}from"./DialogModal-CrX_278L.js";import{_ as L}from"./FormSection-B11PnkX5.js";import{_ as M,a as G}from"./TextInput-Bh5ysoVp.js";import{_ as S}from"./InputLabel-BwG-Qba_.js";import{_ as I}from"./PrimaryButton-D71-tqEG.js";import{_ as C}from"./SecondaryButton-CrU4PgUx.js";import{S as H}from"./SectionBorder-C2wonbs6.js";import{_ as a}from"./translate-DYDKMDxs.js";import{r as $,y as m,z as u,H as l,R as g,I as t,E as e,G as i,C as n,N as x,A as r,F as P,B as h}from"./runtime-dom.esm-bundler-COsyWSZ4.js";import"./SectionTitle-DCPMiqKS.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";const R={class:"col-span-6 sm:col-span-4"},Y={key:0,class:"col-span-6"},q={class:"mt-2 grid grid-cols-1 md:grid-cols-2 gap-4"},J={class:"flex items-center"},K={class:"ms-2 text-sm text-gray-600"},O={key:0},Q={class:"mt-10 sm:mt-0"},W={class:"space-y-6"},X={class:"break-all"},Z={class:"flex items-center ms-2"},ee={key:0,class:"text-sm text-gray-400"},se=["onClick"],te=["onClick"],oe={key:0,class:"mt-4 bg-gray-100 px-4 py-2 rounded font-mono text-sm text-gray-500 break-all"},ne={class:"grid grid-cols-1 md:grid-cols-2 gap-4"},le={class:"flex items-center"},ae={class:"ms-2 text-sm text-gray-600"},Pe={__name:"ApiTokenManager",props:{tokens:Array,availablePermissions:Array,defaultPermissions:Array},setup(c){const d=A({name:"",permissions:c.defaultPermissions}),f=A({permissions:[]}),b=A({}),y=$(!1),v=$(null),_=$(null),F=()=>{d.post(route("api-tokens.store"),{preserveScroll:!0,onSuccess:()=>{y.value=!0,d.reset()}})},V=p=>{f.permissions=p.abilities,v.value=p},B=()=>{f.put(route("api-tokens.update",v.value),{preserveScroll:!0,preserveState:!0,onSuccess:()=>v.value=null})},D=p=>{_.value=p},N=()=>{b.delete(route("api-tokens.destroy",_.value),{preserveScroll:!0,preserveState:!0,onSuccess:()=>_.value=null})};return(p,s)=>(u(),m("div",null,[l(L,{onSubmitted:F},{title:t(()=>[i(n(e(a)("Create API Token")),1)]),description:t(()=>[i(n(e(a)("API tokens allow third-party services to authenticate with our application on your behalf.")),1)]),form:t(()=>[r("div",R,[l(S,{for:"name",value:e(a)("Token Name")},null,8,["value"]),l(M,{id:"name",modelValue:e(d).name,"onUpdate:modelValue":s[0]||(s[0]=o=>e(d).name=o),type:"text",class:"mt-1 block w-full",autofocus:""},null,8,["modelValue"]),l(G,{message:e(d).errors.name,class:"mt-2"},null,8,["message"])]),c.availablePermissions.length>0?(u(),m("div",Y,[l(S,{for:"permissions",value:e(a)("Permissions")},null,8,["value"]),r("div",q,[(u(!0),m(P,null,h(c.availablePermissions,o=>(u(),m("div",{key:o},[r("label",J,[l(T,{checked:e(d).permissions,"onUpdate:checked":s[1]||(s[1]=k=>e(d).permissions=k),value:o},null,8,["checked","value"]),r("span",K,n(o),1)])]))),128))])])):g("",!0)]),actions:t(()=>[l(j,{on:e(d).recentlySuccessful,class:"me-3"},{default:t(()=>[i(n(e(a)("Created"))+". ",1)]),_:1},8,["on"]),l(I,{class:x({"opacity-25":e(d).processing}),disabled:e(d).processing},{default:t(()=>[i(n(e(a)("Create")),1)]),_:1},8,["class","disabled"])]),_:1}),c.tokens.length>0?(u(),m("div",O,[l(H),r("div",Q,[l(U,null,{title:t(()=>[i(n(e(a)("Manage API Tokens")),1)]),description:t(()=>[i(n(e(a)("You may delete any of your existing tokens if they are no longer needed.")),1)]),content:t(()=>[r("div",W,[(u(!0),m(P,null,h(c.tokens,o=>(u(),m("div",{key:o.id,class:"flex items-center justify-between"},[r("div",X,n(o.name),1),r("div",Z,[o.last_used_ago?(u(),m("div",ee," Last used "+n(o.last_used_ago),1)):g("",!0),c.availablePermissions.length>0?(u(),m("button",{key:1,class:"cursor-pointer ms-6 text-sm text-gray-400 underline",onClick:k=>V(o)},n(e(a)("Permissions")),9,se)):g("",!0),r("button",{class:"cursor-pointer ms-6 text-sm text-red-500",onClick:k=>D(o)},n(e(a)("Delete")),9,te)])]))),128))])]),_:1})])])):g("",!0),l(w,{show:y.value,onClose:s[3]||(s[3]=o=>y.value=!1)},{title:t(()=>s[9]||(s[9]=[i(" API Token ")])),content:t(()=>[s[10]||(s[10]=r("div",null," Please copy your new API token. For your security, it won't be shown again. ",-1)),p.$page.props.jetstream.flash.token?(u(),m("div",oe,n(p.$page.props.jetstream.flash.token),1)):g("",!0)]),footer:t(()=>[l(C,{onClick:s[2]||(s[2]=o=>y.value=!1)},{default:t(()=>s[11]||(s[11]=[i(" Close ")])),_:1})]),_:1},8,["show"]),l(w,{show:v.value!=null,onClose:s[6]||(s[6]=o=>v.value=null)},{title:t(()=>[i(n(e(a)("API Token Permissions")),1)]),content:t(()=>[r("div",ne,[(u(!0),m(P,null,h(c.availablePermissions,o=>(u(),m("div",{key:o},[r("label",le,[l(T,{checked:e(f).permissions,"onUpdate:checked":s[4]||(s[4]=k=>e(f).permissions=k),value:o},null,8,["checked","value"]),r("span",ae,n(o),1)])]))),128))])]),footer:t(()=>[l(C,{onClick:s[5]||(s[5]=o=>v.value=null)},{default:t(()=>[i(n(e(a)("Cancel")),1)]),_:1}),l(I,{class:x(["ms-3",{"opacity-25":e(f).processing}]),disabled:e(f).processing,onClick:B},{default:t(()=>[i(n(e(a)("Save")),1)]),_:1},8,["class","disabled"])]),_:1},8,["show"]),l(z,{show:_.value!=null,onClose:s[8]||(s[8]=o=>_.value=null)},{title:t(()=>[i(n(e(a)("Delete API Token")),1)]),content:t(()=>[i(n(e(a)("Are you sure you would like to delete this API token?")),1)]),footer:t(()=>[l(C,{onClick:s[7]||(s[7]=o=>_.value=null)},{default:t(()=>[i(n(e(a)("Cancel")),1)]),_:1}),l(E,{class:x(["ms-3",{"opacity-25":e(b).processing}]),disabled:e(b).processing,onClick:N},{default:t(()=>[i(n(e(a)("Delete")),1)]),_:1},8,["class","disabled"])]),_:1},8,["show"])]))}};export{Pe as default};