PageSourceSearch

https://technomancer.biz/build/assets/ApiTokenManager.c37f955e.js

js technomancer.biz collected 2026-10-09 22:41:46 UTC 8,382 bytes, 1 lines download raw bytes

1import{d as y,r as a,o as l,c as L,w as s,a as t,e as f,f as d,b as i,g as p,h as r,n as c,F as b,i as v,t as u,j as N,v as U}from"./app.0910bc5f.js";import{J as z}from"./ActionMessage.22c37a04.js";import{J as E}from"./ActionSection.79249414.js";import{J as W}from"./Button.90643302.js";import{M as q,J as Y}from"./DialogModal.7c2d4ca7.js";import{_ as F}from"./_plugin-vue_export-helper.cdc0426e.js";import{J as G}from"./DangerButton.b64e5d3b.js";import{J as H}from"./FormSection.53973ca0.js";import{J as K}from"./Input.26e7b69c.js";import{J as O}from"./Checkbox.d85f96c9.js";import{J as Q}from"./InputError.5a0db5db.js";import{J as R}from"./Label.560aa550.js";import{J as X}from"./SecondaryButton.5b07997f.js";import{J as Z}from"./SectionBorder.195c15a4.js";import"./SectionTitle.4c564fdc.js";const x=y({components:{Modal:q},props:{id:{type:String,required:!0},maxWidth:{default:"2xl"}}}),ee={class:"modal-content"},oe={class:"modal-body"},te={class:"d-flex justify-content-start"},se={class:"font-weight-bold"},ne={class:"modal-footer bg-light"};function ie(o,e,j,P,C,J){const k=a("modal");return l(),L(k,{id:o.id,"max-width":o.maxWidth},{default:s(()=>[t("div",ee,[t("div",oe,[t("div",te,[e[0]||(e[0]=t("div",{class:"me-3"},[t("div",{class:"bg-warning p-2 rounded-circle"},[t("svg",{stroke:"currentColor",fill:"none",viewBox:"0 0 24 24",width:"24"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})])])],-1)),t("div",null,[t("h5",se,[f(o.$slots,"title")]),f(o.$slots,"content")])])]),t("div",ne,[f(o.$slots,"footer")])])]),_:3},8,["id","max-width"])}const re=F(x,[["render",ie]]),ae=y({components:{JetActionMessage:z,JetActionSection:E,JetButton:W,JetConfirmationModal:re,JetDangerButton:G,JetDialogModal:Y,JetFormSection:H,JetInput:K,JetCheckbox:O,JetInputError:Q,JetLabel:R,JetSecondaryButton:X,JetSectionBorder:Z},props:["tokens","availablePermissions","defaultPermissions"],data(){return{createApiTokenForm:this.$inertia.form({name:"",permissions:this.defaultPermissions}),updateApiTokenForm:this.$inertia.form({permissions:[]}),deleteApiTokenForm:this.$inertia.form(),managingPermissionsFor:null,apiTokenBeingDeleted:null,bootstrap:null}},methods:{createApiToken(){this.createApiTokenForm.post(route("api-tokens.store"),{preserveScroll:!0,onSuccess:()=>{this.createApiTokenForm.reset(),this.bootstrap=$("#displayingTokenModal"),this.bootstrap.modal("toggle")}})},manageApiTokenPermissions(o){this.updateApiTokenForm.permissions=o.abilities,this.managingPermissionsFor=o,this.bootstrap=$("#managingPermissionsForModal"),this.bootstrap.modal("toggle")},updateApiToken(){this.updateApiTokenForm.put(route("api-tokens.update",this.managingPermissionsFor),{preserveScroll:!0,preserveState:!0,onSuccess:()=>this.managingPermissionsFor=null})},confirmApiTokenDeletion(o){this.apiTokenBeingDeleted=o,this.bootstrap=$("#apiTokenBeingDeletedModal"),this.bootstrap.modal("toggle")},deleteApiToken(){this.deleteApiTokenForm.delete(route("api-tokens.destroy",this.apiTokenBeingDeleted),{preserveScroll:!0,preserveState:!0,onSuccess:()=>{this.apiTokenBeingDeleted=null,this.bootstrap.modal("toggle")}})}}}),le={class:"w-75"},de={class:"mb-3"},me={key:0},pe={class:"mt-2 row"},ue={class:"mb-3"},ce={class:"form-check"},ke=["for"],ge={class:"spinner-border spinner-border-sm",role:"status"},fe={key:0},be={class:"d-flex"},ve={key:0,class:"text-sm text-muted"},_e=["onClick"],Te=["onClick"],Ae={key:0,class:"bg-light rounded p-3 user-select-all"},he={class:"mt-2 row"},ye={class:"mb-3"},Fe={class:"form-check"},$e=["for"];function je(o,e,j,P,C,J){const k=a("jet-action-message"),_=a("jet-label"),w=a("jet-input"),S=a("jet-input-error"),T=a("jet-checkbox"),A=a("jet-button"),B=a("jet-form-section"),D=a("jet-section-border"),M=a("jet-action-section"),g=a("jet-secondary-button"),h=a("jet-dialog-modal"),I=a("jet-danger-button"),V=a("jet-confirmation-modal");return l(),d("div",null,[i(B,{onSubmitted:o.createApiToken},{title:s(()=>e[6]||(e[6]=[r(" Create API Token ")])),description:s(()=>
1e[7]||(e[7]=[r(" API tokens allow third-party services to authenticate with our application on your behalf. ")])),form:s(()=>[i(k,{on:o.createApiTokenForm.recentlySuccessful},{default:s(()=>e[8]||(e[8]=[r(" Created. ")])),_:1,__:[8]},8,["on"]),t("div",le,[t("div",de,[i(_,{for:"name",value:"Name"}),i(w,{id:"name",type:"text",modelValue:o.createApiTokenForm.name,"onUpdate:modelValue":e[0]||(e[0]=n=>o.createApiTokenForm.name=n),autofocus:"",class:c({"is-invalid":o.createApiTokenForm.errors.name})},null,8,["modelValue","class"]),i(S,{message:o.createApiTokenForm.errors.name},null,8,["message"])]),o.availablePermissions.length>0?(l(),d("div",me,[i(_,{for:"permissions",value:"Permissions"}),t("div",pe,[(l(!0),d(b,null,v(o.availablePermissions,n=>(l(),d("div",{class:"col-6",key:n},[t("div",ue,[t("div",ce,[i(T,{value:n,checked:o.createApiTokenForm.permissions,"onUpdate:checked":e[1]||(e[1]=m=>o.createApiTokenForm.permissions=m),id:`create-${n}`},null,8,["value","checked","id"]),t("label",{class:"form-check-label",for:`create-${n}`},u(n),9,ke)])])]))),128))])])):p("",!0)])]),actions:s(()=>[i(A,{class:c({"text-white-50":o.createApiTokenForm.processing}),disabled:o.createApiTokenForm.processing},{default:s(()=>[N(t("div",ge,e[9]||(e[9]=[t("span",{class:"visually-hidden"},"Loading...",-1)]),512),[[U,o.createApiTokenForm.processing]]),e[10]||(e[10]=r(" Create "))]),_:1,__:[10]},8,["class","disabled"])]),_:1},8,["onSubmitted"]),o.tokens.length>0?(l(),d("div",fe,[i(D),t("div",null,[i(M,null,{title:s(()=>e[11]||(e[11]=[r(" Manage API Tokens ")])),description:s(()=>e[12]||(e[12]=[r(" You may delete any of your existing tokens if they are no longer needed. ")])),content:s(()=>[t("div",null,[(l(!0),d(b,null,v(o.tokens,n=>(l(),d("div",{class:"d-flex justify-content-between",key:n.id},[t("div",null,u(n.name),1),t("div",be,[n.last_used_ago?(l(),d("div",ve," Last used "+u(n.last_used_ago),1)):p("",!0),o.availablePermissions.length>0?(l(),d("button",{key:1,class:"btn btn-link text-secondary",onClick:m=>o.manageApiTokenPermissions(n)}," Permissions ",8,_e)):p("",!0),t("button",{class:"btn btn-link text-danger text-decoration-none",onClick:m=>o.confirmApiTokenDeletion(n)}," Delete ",8,Te)])]))),128))])]),_:1})])])):p("",!0),i(h,{id:"displayingTokenModal"},{title:s(()=>e[13]||(e[13]=[r(" API Token ")])),content:s(()=>[e[14]||(e[14]=t("div",null," Please copy your new API token. For your security, it won't be shown again. ",-1)),o.$page.props.jetstream.flash.token?(l(),d("div",Ae,u(o.$page.props.jetstream.flash.token),1)):p("",!0)]),footer:s(()=>[i(g,{onClick:e[2]||(e[2]=n=>o.displayingToken=!1),"data-dismiss":"modal"},{default:s(()=>e[15]||(e[15]=[r(" Close ")])),_:1,__:[15]})]),_:1}),i(h,{id:"managingPermissionsForModal"},{title:s(()=>e[16]||(e[16]=[r(" API Token Permissions ")])),content:s(()=>[t("div",he,[(l(!0),d(b,null,v(o.availablePermissions,n=>(l(),d("div",{class:"col-6",key:n},[t("div",ye,[t("div",Fe,[i(T,{value:n,checked:o.updateApiTokenForm.permissions,"onUpdate:checked":e[3]||(e[3]=m=>o.updateApiTokenForm.permissions=m),id:`update-${n}`},null,8,["value","checked","id"]),t("label",{class:"form-check-label",for:`update-${n}`},u(n),9,$e)])])]))),128))])]),footer:s(()=>[i(g,{"data-dismiss":"modal",onClick:e[4]||(e[4]=n=>o.managingPermissionsFor=null)},{default:s(()=>e[17]||(e[17]=[r(" Cancel ")])),_:1,__:[17]}),i(A,{class:c(["ms-2",{"text-black-50":o.updateApiTokenForm.processing}]),onClick:o.updateApiToken,disabled:o.updateApiTokenForm.processing},{default:s(()=>e[18]||(e[18]=[r(" Save ")])),_:1,__:[18]},8,["onClick","class","disabled"])]),_:1}),i(V,{id:"apiTokenBeingDeletedModal"},{title:s(()=>e[19]||(e[19]=[r(" Delete API Token ")])),content:s(()=>e[20]||(e[20]=[r(" Are you sure you would like to delete this API token? ")])),footer:s(()=>[i(g,{onClick:e[5]||(e[5]=n=>o.apiTokenBeingDeleted=null),"data-dismiss":"modal"},{default:s(()=>e[21]||(e[21]=[r(" Cancel ")])),_:1,__:[21]}),i(I,{class:c(["ms-2",{"text-white-50":o.deleteApiTokenForm.processing}]),onClick:o.deleteApiToken,disabled:o.deleteApiTokenForm.processing},{default:s(()=>e[22]||(e[22]=[r(" Delete ")])),_:1,__:[22]},8,["onClick","class","disabled"])]),_:1})])}const We=F(ae,[["render",je]]);export{We as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.