Files
Nexus/web/app/assets/CredentialsPage-D2hAfP3p.js
T
Your Name 51948469c2 build(frontend): track Vite output in Git for Gitea deploy
- Stop ignoring web/app/index.html and web/app/assets/
- Bundle index-DBKIQT7H.js from current vite build (~101MB assets)

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-03 00:52:44 +08:00

1 line
11 KiB
JavaScript

import{Dr as e,F as t,L as n,Lr as r,Lt as i,M as a,N as o,Nr as s,P as c,Q as ee,Xn as l,Yn as u,Zn as d,br as f,er as p,fr as m,j as h,rr as g,t as _,tr as v,ur as y,vr as te}from"./index-Dh0DFtbo.js";import{a as ne}from"./VSelectionControl-B3gtBbGB.js";import{t as b}from"./VSpacer-DU1Ny9D7.js";import{t as x}from"./useSnackbar-D7YOfKok.js";import{t as S}from"./VChip-DyMrOSGa.js";import{t as C}from"./VDialog-CUX1L9Y8.js";import{t as w}from"./VDataTableServer-BXpX5c_w.js";import{i as T}from"./validation-DMwOxx4a.js";import{t as E}from"./VTextarea-q-O8oTvg.js";var D=g({__name:`CredentialsPage`,setup(g){let D=x(),O=e(!1),k=e(`passwords`),A=e(null),j=e(1),M=e(0),N=e(20),P=e([]),F=e(!1),I=e({name:``,username:``,password:``}),L=[{title:`名称`,key:`name`},{title:`用户名`,key:`username`},{title:`密码`,key:`password_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}],R=e([]),z=e(!1),B=e({name:``,public_key:``,private_key:``}),V=[{title:`名称`,key:`name`},{title:`私钥`,key:`private_key_set`,width:120},{title:`操作`,key:`actions`,width:150,align:`end`}],H=e([]),U=e(!1),W=e({name:``,host:``,port:3306,username:``,password:``,database:``}),G=[{title:`名称`,key:`name`},{title:`主机`,key:`host`},{title:`端口`,key:`port`,width:80},{title:`用户名`,key:`username`},{title:`数据库`,key:`database`},{title:`操作`,key:`actions`,width:150,align:`end`}],K=e(!1),q=e(``),J=e(null);async function Y(){O.value=!0;try{let e=await i.getList(`/presets/`,{page:j.value,per_page:N.value});P.value=e.items,M.value=e.total}catch{P.value=[]}finally{O.value=!1}}async function X(){O.value=!0;try{let e=await i.getList(`/ssh-key-presets/`,{page:j.value,per_page:N.value});R.value=e.items,M.value=e.total}catch{R.value=[]}finally{O.value=!1}}async function Z(){O.value=!0;try{let e=await i.getList(`/scripts/credentials`,{page:j.value,per_page:N.value});H.value=e.items,M.value=e.total}catch{H.value=[]}finally{O.value=!1}}function Q(){switch(k.value){case`passwords`:Y();break;case`sshkeys`:X();break;case`db`:Z();break}}te(k,()=>{j.value=1,Q()});function re(e){A.value=e.id,I.value={name:e.name,username:e.username||``,password:``},F.value=!0}async function ie(){try{A.value?await i.put(`/presets/${A.value}`,I.value):await i.post(`/presets/`,I.value),F.value=!1,Y(),D(`保存成功`)}catch(e){D(e.message||`保存失败`,`error`)}}function ae(e){A.value=e.id,B.value={name:e.name,public_key:e.public_key||``,private_key:``},z.value=!0}async function oe(){try{A.value?await i.put(`/ssh-key-presets/${A.value}`,B.value):await i.post(`/ssh-key-presets/`,B.value),z.value=!1,X(),D(`保存成功`)}catch(e){D(e.message||`保存失败`,`error`)}}function se(e){A.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 ce(){try{A.value?await i.put(`/scripts/credentials/${A.value}`,W.value):await i.post(`/scripts/credentials`,W.value),U.value=!1,Z(),D(`保存成功`)}catch(e){D(e.message||`保存失败`,`error`)}}function le(){A.value=null,k.value===`passwords`?(I.value={name:``,username:``,password:``},F.value=!0):k.value===`sshkeys`?(B.value={name:``,public_key:``,private_key:``},z.value=!0):(W.value={name:``,host:``,port:3306,username:``,password:``,database:``},U.value=!0)}function $(e,t){q.value=e,J.value=t.id,K.value=!0}async function ue(){try{q.value===`password`?await i.delete(`/presets/${J.value}`):q.value===`sshkey`?await i.delete(`/ssh-key-presets/${J.value}`):await i.delete(`/scripts/credentials/${J.value}`),K.value=!1,Q(),D(`已删除`)}catch(e){D(e.message||`删除失败`,`error`)}}return y(()=>{Q()}),(e,i)=>(m(),l(ne,{fluid:``,class:`pa-6`},{default:f(()=>[v(a,{elevation:`0`,border:``,rounded:`lg`},{default:f(()=>[v(c,{class:`d-flex align-center`},{default:f(()=>[i[31]||=p(` 凭据管理 `,-1),v(b),v(ee,{modelValue:k.value,"onUpdate:modelValue":i[0]||=e=>k.value=e,mandatory:``,density:`compact`,variant:`outlined`,class:`mr-3`},{default:f(()=>[v(n,{size:`small`,value:`passwords`},{default:f(()=>[...i[27]||=[p(`密码预设`,-1)]]),_:1}),v(n,{size:`small`,value:`sshkeys`},{default:f(()=>[...i[28]||=[p(`SSH 密钥`,-1)]]),_:1}),v(n,{size:`small`,value:`db`},{default:f(()=>[...i[29]||=[p(`数据库凭据`,-1)]]),_:1})]),_:1},8,[`modelValue`]),v(n,{color:`primary`,variant:`flat`,size:`small`,"prepend-icon":`mdi-plus`,onClick:le},{default:f(()=>[...i[30]||=[p(`添加`,-1)]]),_:1})]),_:1}),v(h),k.value===`passwords`?(m(),l(w,{key:0,items:P.value,headers:L,"items-length":M.value,loading:O.value,page:j.value,"items-per-page":N.value,hover:``,density:`comfortable`,"onUpdate:page":i[1]||=e=>{j.value=e,Y()},"onUpdate:itemsPerPage":i[2]||=e=>{N.value=e,j.value=1,Y()}},{"item.password_set":f(({item:e})=>[v(S,{color:e.password_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[p(r(e.password_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":f(({item:e})=>[v(n,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>re(e)},{default:f(()=>[...i[32]||=[p(`编辑`,-1)]]),_:1},8,[`onClick`]),v(n,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`password`,e)},{default:f(()=>[...i[33]||=[p(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...i[34]||=[u(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`])):d(``,!0),k.value===`sshkeys`?(m(),l(w,{key:1,items:R.value,headers:V,"items-length":M.value,loading:O.value,page:j.value,"items-per-page":N.value,hover:``,density:`comfortable`,"onUpdate:page":i[3]||=e=>{j.value=e,X()},"onUpdate:itemsPerPage":i[4]||=e=>{N.value=e,j.value=1,X()}},{"item.private_key_set":f(({item:e})=>[v(S,{color:e.private_key_set?`success`:`grey`,size:`small`,variant:`tonal`,label:``},{default:f(()=>[p(r(e.private_key_set?`已设置`:`未设置`),1)]),_:2},1032,[`color`])]),"item.actions":f(({item:e})=>[v(n,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>ae(e)},{default:f(()=>[...i[35]||=[p(`编辑`,-1)]]),_:1},8,[`onClick`]),v(n,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`sshkey`,e)},{default:f(()=>[...i[36]||=[p(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...i[37]||=[u(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`])):d(``,!0),k.value===`db`?(m(),l(w,{key:2,items:H.value,headers:G,"items-length":M.value,loading:O.value,page:j.value,"items-per-page":N.value,hover:``,density:`comfortable`,"onUpdate:page":i[5]||=e=>{j.value=e,Z()},"onUpdate:itemsPerPage":i[6]||=e=>{N.value=e,j.value=1,Z()}},{"item.actions":f(({item:e})=>[v(n,{variant:`text`,size:`x-small`,density:`compact`,onClick:t=>se(e)},{default:f(()=>[...i[38]||=[p(`编辑`,-1)]]),_:1},8,[`onClick`]),v(n,{variant:`text`,size:`x-small`,color:`error`,density:`compact`,onClick:t=>$(`db`,e)},{default:f(()=>[...i[39]||=[p(`删除`,-1)]]),_:1},8,[`onClick`])]),"no-data":f(()=>[...i[40]||=[u(`div`,{class:`text-center text-medium-emphasis py-6`},`暂无凭据`,-1)]]),_:1},8,[`items`,`items-length`,`loading`,`page`,`items-per-page`])):d(``,!0)]),_:1}),v(C,{modelValue:F.value,"onUpdate:modelValue":i[11]||=e=>F.value=e,"max-width":`500`},{default:f(()=>[v(a,{border:``},{default:f(()=>[v(c,null,{default:f(()=>[p(r(A.value?`编辑密码预设`:`新建密码预设`),1)]),_:1}),v(o,null,{default:f(()=>[v(_,{modelValue:I.value.name,"onUpdate:modelValue":i[7]||=e=>I.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[s(T)(`凭据名称`)]},null,8,[`modelValue`,`rules`]),v(_,{modelValue:I.value.username,"onUpdate:modelValue":i[8]||=e=>I.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`,rules:[s(T)(`用户名`)]},null,8,[`modelValue`,`rules`]),v(_,{modelValue:I.value.password,"onUpdate:modelValue":i[9]||=e=>I.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`},null,8,[`modelValue`])]),_:1}),v(t,null,{default:f(()=>[v(b),v(n,{variant:`text`,onClick:i[10]||=e=>F.value=!1},{default:f(()=>[...i[41]||=[p(`取消`,-1)]]),_:1}),v(n,{color:`primary`,variant:`flat`,onClick:ie},{default:f(()=>[...i[42]||=[p(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(C,{modelValue:z.value,"onUpdate:modelValue":i[16]||=e=>z.value=e,"max-width":`500`},{default:f(()=>[v(a,{border:``},{default:f(()=>[v(c,null,{default:f(()=>[p(r(A.value?`编辑 SSH 密钥`:`新建 SSH 密钥`),1)]),_:1}),v(o,null,{default:f(()=>[v(_,{modelValue:B.value.name,"onUpdate:modelValue":i[12]||=e=>B.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(E,{modelValue:B.value.public_key,"onUpdate:modelValue":i[13]||=e=>B.value.public_key=e,label:`公钥`,variant:`outlined`,density:`compact`,rows:`3`,class:`mb-2`},null,8,[`modelValue`]),v(E,{modelValue:B.value.private_key,"onUpdate:modelValue":i[14]||=e=>B.value.private_key=e,label:`私钥`,variant:`outlined`,density:`compact`,rows:`5`},null,8,[`modelValue`])]),_:1}),v(t,null,{default:f(()=>[v(b),v(n,{variant:`text`,onClick:i[15]||=e=>z.value=!1},{default:f(()=>[...i[43]||=[p(`取消`,-1)]]),_:1}),v(n,{color:`primary`,variant:`flat`,onClick:oe},{default:f(()=>[...i[44]||=[p(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(C,{modelValue:U.value,"onUpdate:modelValue":i[24]||=e=>U.value=e,"max-width":`500`},{default:f(()=>[v(a,{border:``},{default:f(()=>[v(c,null,{default:f(()=>[p(r(A.value?`编辑数据库凭据`:`新建数据库凭据`),1)]),_:1}),v(o,null,{default:f(()=>[v(_,{modelValue:W.value.name,"onUpdate:modelValue":i[17]||=e=>W.value.name=e,label:`名称`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(_,{modelValue:W.value.host,"onUpdate:modelValue":i[18]||=e=>W.value.host=e,label:`主机`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(_,{modelValue:W.value.port,"onUpdate:modelValue":i[19]||=e=>W.value.port=e,label:`端口`,variant:`outlined`,density:`compact`,type:`number`,class:`mb-2`},null,8,[`modelValue`]),v(_,{modelValue:W.value.username,"onUpdate:modelValue":i[20]||=e=>W.value.username=e,label:`用户名`,variant:`outlined`,density:`compact`,class:`mb-2`},null,8,[`modelValue`]),v(_,{modelValue:W.value.password,"onUpdate:modelValue":i[21]||=e=>W.value.password=e,label:`密码`,variant:`outlined`,density:`compact`,type:`password`,class:`mb-2`},null,8,[`modelValue`]),v(_,{modelValue:W.value.database,"onUpdate:modelValue":i[22]||=e=>W.value.database=e,label:`数据库`,variant:`outlined`,density:`compact`},null,8,[`modelValue`])]),_:1}),v(t,null,{default:f(()=>[v(b),v(n,{variant:`text`,onClick:i[23]||=e=>U.value=!1},{default:f(()=>[...i[45]||=[p(`取消`,-1)]]),_:1}),v(n,{color:`primary`,variant:`flat`,onClick:ce},{default:f(()=>[...i[46]||=[p(`保存`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`]),v(C,{modelValue:K.value,"onUpdate:modelValue":i[26]||=e=>K.value=e,"max-width":`400`},{default:f(()=>[v(a,{border:``},{default:f(()=>[v(c,null,{default:f(()=>[...i[47]||=[p(`确认删除`,-1)]]),_:1}),v(o,null,{default:f(()=>[...i[48]||=[p(`确定要删除此凭据吗?`,-1)]]),_:1}),v(t,null,{default:f(()=>[v(b),v(n,{variant:`text`,onClick:i[25]||=e=>K.value=!1},{default:f(()=>[...i[49]||=[p(`取消`,-1)]]),_:1}),v(n,{color:`error`,variant:`flat`,onClick:ue},{default:f(()=>[...i[50]||=[p(`删除`,-1)]]),_:1})]),_:1})]),_:1})]),_:1},8,[`modelValue`])]),_:1}))}});export{D as default};