go-quasar-partial-ssr/backend/internal/http/static/spa/assets/ApiEndpointsPage-JesCyaiy.js

2 lines
8.1 KiB
JavaScript

import{Q as G}from"./QBadge-2h1D8yZx.js";import{a as I,h as n,i as S,j as o,m as s,p as x,s as u,G as E,H as O,k as r,F as N,a3 as h,t as i,v as V,J as C,a6 as Q,Q as T,a7 as J,x as L,K as U,D as y}from"./index-DAvBaevK.js";import{Q as B}from"./QPage-B68JuyjH.js";import{C as A}from"./ClosePopup-DV5_zFD6.js";import{f as F,b as M,l as $,c as j,d as q,m as H,a as W,h as X,r as Y}from"./api-RGUeM09o.js";import{_ as Z}from"./_plugin-vue_export-helper-DlAUqK2U.js";const K={class:"page-shell"},ee={class:"cards-grid"},ae={class:"head-main"},te={class:"text-h6"},se={class:"text-caption text-grey-7"},le={key:0,class:"no-fields"},re={key:1,class:"field-grid"},oe={class:"text-h6"},ne={class:"text-caption"},ie={class:"result-block"},de={class:"result-block"},pe=I({__name:"ApiEndpointsPage",setup(ue){const g=[{key:"forgotPassword",name:"forgotPassword",method:"POST",path:"/auth/password/forgot",signature:"Typescript: TSEndpoint= path=/auth/password/forgot; name=forgotPassword; method=POST",fields:[{key:"email",label:"Email",type:"text",placeholder:"user@example.com"}],defaults:{email:""},call:e=>F(e),buildPayload:e=>({email:String(e.email??"")})},{key:"metrics",name:"metrics",method:"GET",path:"/metrics",signature:"Typescript: TSEndpoint= path=/metrics; name=metrics; method=GET",fields:[],defaults:{},call:()=>M(),buildPayload:()=>null},{key:"login",name:"login",method:"POST",path:"/auth/login",signature:"Typescript: TSEndpoint= path=/auth/login; name=login; method=POST",fields:[{key:"username",label:"Username",type:"text",placeholder:"utente"},{key:"password",label:"Password",type:"password",placeholder:"********"}],defaults:{username:"",password:""},call:e=>$(e),buildPayload:e=>({username:String(e.username??""),password:String(e.password??"")})},{key:"refresh",name:"refresh",method:"POST",path:"/auth/refresh",signature:"Typescript: TSEndpoint= path=/auth/refresh; name=refresh; method=POST",fields:[{key:"refresh_token",label:"Refresh token",type:"textarea",hint:"Incolla il token completo"}],defaults:{refresh_token:""},call:e=>j(e),buildPayload:e=>({refresh_token:String(e.refresh_token??"")})},{key:"listUsers",name:"listUsers",method:"POST",path:"/admin/users",signature:"Typescript: TSEndpoint= path=/admin/users; name=listUsers; method=POST",fields:[{key:"page",label:"Page",type:"number",placeholder:"1"},{key:"pageSize",label:"Page size",type:"number",placeholder:"10"}],defaults:{page:1,pageSize:10},call:e=>q(e),buildPayload:e=>({page:Number(e.page??1),pageSize:Number(e.pageSize??10)})},{key:"me",name:"me",method:"GET",path:"/auth/me",signature:"Typescript: TSEndpoint= path=/auth/me; name=me; method=GET",fields:[],defaults:{},call:()=>H(),buildPayload:()=>null},{key:"resetPassword",name:"resetPassword",method:"POST",path:"/auth/password/reset",signature:"Typescript: TSEndpoint= path=/auth/password/reset; name=resetPassword; method=POST",fields:[{key:"token",label:"Token",type:"textarea"},{key:"password",label:"Nuova password",type:"password"}],defaults:{token:"",password:""},call:e=>W(e),buildPayload:e=>({token:String(e.token??""),password:String(e.password??"")})},{key:"health",name:"health",method:"GET",path:"/health",signature:"Typescript: TSEndpoint= path=/health; name=health; method=GET",fields:[],defaults:{},call:()=>X(),buildPayload:()=>null},{key:"register",name:"register",method:"POST",path:"/auth/register",signature:"Typescript: TSEndpoint= path=/auth/register; name=register; method=POST",fields:[{key:"name",label:"Name",type:"text"},{key:"email",label:"Email",type:"text"},{key:"password",label:"Password",type:"password"},{key:"roles",label:"Roles (comma separated)",type:"text",placeholder:"admin,editor"},{key:"status",label:"Status",type:"text",placeholder:"pending | active | disabled"},{key:"types",label:"Types (comma separated)",type:"text",placeholder:"internal,staff"},{key:"avatar",label:"Avatar URL",type:"text"},{key:"details",label:"Details JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"title":"Sig.","firstName":"Mario","lastName":"Rossi","address":"Via Roma 1","city":"Roma","zipCode":"00100","country":"IT","phone":"+39..."}'},{key:"preferences",label:"Preferences JSON",type:"textarea",hint:"Lascia vuoto per null",placeholder:'{"useIdle":true,"idleTimeout":15,"useIdlePassword":false,"idlePin":"","useDirectLogin":true,"useQuadcodeLogin":false,"sendNoticesMail":true,"language":"it"}'}],defaults:{name:"",email:"",password:"",roles:"user",status:"pending",types:"default",avatar:"",details:"",preferences:""},call:e=>Y(e),buildPayload:e=>({name:String(e.name??""),email:String(e.email??""),password:String(e.password??""),roles:_(String(e.roles??"")),status:String(e.status??"pending"),types:_(String(e.types??"")),avatar:R(String(e.avatar??"")),details:w(String(e.details??"")),preferences:w(String(e.preferences??""))})}],d=U({}),c=U({});for(const e of g)d[e.key]={...e.defaults},c[e.key]=!1;const f=y(!1),m=y({name:"",method:"",path:""}),P=y(null),k=y(null);function _(e){return e.split(",").map(t=>t.trim()).filter(t=>t.length>0)}function R(e){return e.trim()===""?null:e}function w(e){if(e.trim()==="")return null;try{return JSON.parse(e)}catch{return{_raw:e}}}function z(e){const t=g.find(a=>a.key===e);t&&(d[e]={...t.defaults})}function p(e){return d[e]||(d[e]={}),d[e]}async function D(e){c[e.key]=!0;const t=e.buildPayload(p(e.key));m.value={name:e.name,method:e.method,path:e.path},P.value=t;try{const a=await e.call(t);k.value=a}catch(a){k.value={error:a instanceof Error?a.message:String(a)}}finally{c[e.key]=!1,f.value=!0}}function v(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return(e,t)=>(n(),S(B,{class:"api-tester-page"},{default:o(()=>[s("div",K,[t[1]||(t[1]=s("header",{class:"page-header"},[s("p",{class:"eyebrow"},"Developer tools"),s("h1",null,"API Endpoints Tester"),s("p",{class:"subtitle"},[x(" Lista endpoint generata da "),s("strong",null,"src/api/api.ts"),x(" con form payload, esecuzione rapida e risposta formattata. ")])],-1)),s("section",ee,[(n(),u(E,null,O(g,a=>r(N,{key:a.key,flat:"",bordered:"",class:"endpoint-card"},{default:o(()=>[r(h,{class:"card-head"},{default:o(()=>[s("div",ae,[r(G,{color:a.method==="GET"?"positive":"primary","text-color":"white",label:a.method},null,8,["color","label"]),s("code",null,i(a.path),1)]),s("div",te,i(a.name),1),s("div",se,i(a.signature),1)]),_:2},1024),r(V),r(h,{class:"card-body"},{default:o(()=>[a.fields.length===0?(n(),u("div",le," Nessun dato richiesto da questo endpoint. ")):(n(),u("div",re,[(n(!0),u(E,null,O(a.fields,l=>(n(),u("div",{key:`${a.key}-${l.key}`,class:"field-item"},[l.type!=="number"?(n(),S(C,{key:0,modelValue:p(a.key)[l.key],"onUpdate:modelValue":b=>p(a.key)[l.key]=b,label:l.label,type:l.type,hint:l.hint,placeholder:l.placeholder,dense:"",outlined:"",autogrow:""},null,8,["modelValue","onUpdate:modelValue","label","type","hint","placeholder"])):(n(),S(C,{key:1,modelValue:p(a.key)[l.key],"onUpdate:modelValue":b=>p(a.key)[l.key]=b,modelModifiers:{number:!0},label:l.label,type:"number",hint:l.hint,placeholder:l.placeholder,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","label","hint","placeholder"]))]))),128))]))]),_:2},1024),r(Q,{align:"between",class:"card-actions"},{default:o(()=>[r(T,{flat:"",color:"secondary",icon:"restart_alt",label:"Reset",onClick:l=>z(a.key)},null,8,["onClick"]),r(T,{color:"accent",icon:"play_arrow",label:"Test",loading:c[a.key],onClick:l=>D(a)},null,8,["loading","onClick"])]),_:2},1024)]),_:2},1024)),64))])]),r(J,{modelValue:f.value,"onUpdate:modelValue":t[0]||(t[0]=a=>f.value=a),maximized:""},{default:o(()=>[r(N,{class:"result-card"},{default:o(()=>[r(h,{class:"result-header"},{default:o(()=>[t[2]||(t[2]=s("div",{class:"text-overline"},"Risultato endpoint",-1)),s("div",oe,i(m.value.name),1),s("div",ne,i(m.value.method)+" "+i(m.value.path),1)]),_:1}),r(V),r(h,{class:"result-body"},{default:o(()=>[s("div",ie,[t[3]||(t[3]=s("h3",null,"Payload inviato",-1)),s("pre",null,i(v(P.value)),1)]),s("div",de,[t[4]||(t[4]=s("h3",null,"Risposta",-1)),s("pre",null,i(v(k.value)),1)])]),_:1}),r(Q,{align:"right"},{default:o(()=>[L(r(T,{flat:"",color:"primary",label:"Chiudi"},null,512),[[A]])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),ke=Z(pe,[["__scopeId","data-v-a5a44d8d"]]);export{ke as default};