1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
|
|
import{t as e}from"./VDataTable-a27PQ8_A.js";import{F as t,L as n,Lr as r,M as ee,N as i,P as a,Sr as te,Vr as o,Zn as ne,ar as s,er as c,et as l,gr as u,jr as d,mr as f,nr as p,or as m,rr as re,sr as h,t as g,tr as _,wr as v,z as y,zt as b}from"./index-CLVw8WaP.js";import{o as x,t as ie}from"./VContainer-FlPueFWR.js";import{t as ae}from"./VChip-CoJQpM5X.js";import{t as S}from"./VDataTableServer-CihJhzNQ.js";import{t as C}from"./VSpacer-BKvfPYW2.js";import{t as w}from"./apiError-CX6Jp2Ug.js";import{i as T}from"./validation-DMwOxx4a.js";import{t as E}from"./VDialog-dL9hfbvp.js";import{t as D}from"./VTextarea-DPT-xsuQ.js";var oe={class:`text-caption text-medium-emphasis`},O=h({__name:`CredentialsPage`,setup(h){let O=x();function se(e){if(!e)return`—`;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(`zh-CN`,{hour12:!1})}let k=d(!1),A=d(`passwords`),j=d(null),M=d(1),N=d(0),P=d(20),F=d([]),I=d(!1),L=d({name:``,username:`root`,password:``}),ce=[{title:`预设名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`创建时间`,key:`created_at`,width:180},{title:`操作`,key:`actions`,width:150,align:`end`}],R=d([]),z=d(!1),B=d({name:``,username:`root`,public_key:``,private_key:``}),V=[{title:`名称`,key:`name`},{title:`用户名`,key:`username`,width:120},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}],H=d([]),U=d(!1),W=d({name:``,host:``,port:3306,username:``,password:``,database:``}),le=[{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}],G=d(!1),K=d(``),q=d(null);async function J(){k.value=!0;try{let e=await b.getList(`/presets/`);F.value=e.items,N.value=e.total}catch(e){F.value=[],O(w(e,`加载密码预设失败`),`error`)}finally{k.value=!1}}async function Y(){k.value=!0;try{let e=await b.getList(`/ssh-key-presets/`,{page:M.value,per_page:P.value});R.value=e.items,N.value=e.total}catch(e){R.value=[],O(w(e,`加载 SSH 密钥失败`),`error`)}finally{k.value=!1}}async function X(){k.value=!0;try{let e=await b.getList(`/scripts/credentials`,{page:M.value,per_page:P.value});H.value=e.items,N.value=e.total}catch(e){H.value=[],O(w(e,`加载数据库凭据失败`),`error`)}finally{k.value=!1}}function Z(){switch(A.value){case`passwords`:J();break;case`sshkeys`:Y();break;case`db`:X();break}}te(A,()=>{M.value=1,Z()});function ue(e){j.value=e.id,L.value={name:e.name,username:e.username||`root`,password:``},I.value=!0}async function de(){let e=L.value.name.trim(),t=L.value.password;if(!e){O(`请填写预设名称`,`error`);return}if(!j.value&&!t){O(`请填写 SSH 密码`,`error`);return}try{let n=L.value.username.trim()||`root`;if(j.value){let r={name:e,username:n};t&&(r.encrypted_pw=t),await b.put(`/presets/${j.value}`,r)}else await b.post(`/presets/`,{name:e,username:n,encrypted_pw:t});I.value=!1,J(),O(`保存成功`)}catch(e){O(e instanceof Error?e.message:`保存失败`,`error`)}}function Q(e){j.value=e.id,B.value={name:e.name,username:e.username||`root`,public_key:e.public_key||``,private_key:``},z.value=!0}async function fe(){try{j.value?await b.put(`/ssh-key-presets/${j.value}`,B.value):await b.post(`/ssh-key-presets/`,B.value),z.value=!1,Y(),O(`保存成功`)}catch(e){O(e.message||`保存失败`,`error`)}}function pe(e){j.value=e.id,W.value={name:e.name,host:e.host||``,port:e.port||3306,username:e.username||``,password:``,database:e.database||``},U.value=!0}async function me(){try{j.value?await b.put(`/scripts/credentials/${j.value}`,W.value):await b.post(`/scripts/credentials`,W.value),U.value=!1,X(),O(`保存成功`)}catch(e){O(e.message||`保存失败`,`error`)}}function he(){j.value=null,A.value===`passwords`?(L.value={name:``,username:`root`,password:``},I.value=!0):A.value===`sshkeys`?(B.value={name:``,username:`root`,public_key:``,private_key:``},z.value=!0):(W.value={name:``,host:``,port:3306,username:``,password:``,database:``},U.value=!0)}function $(e,t){K.v
|