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

2 lines
9.9 KiB
JavaScript

import{s as I,y as $,p as E,B as G,_ as A,a as J,o as c,e as _,w as u,h as s,g as N,k as y,$ as C,a0 as O,f as i,t as m,R as M,X as Q,q as f}from"./index-QUdrNkKl.js";import{d as F}from"./render-B4qP-w0Q.js";import{Q as V,a as k}from"./QCard-D_vcm7k9.js";import{Q as B,f as K,m as X,l as j,a as H,b as W,c as Y,r as Z,h as ee,d as te}from"./api-rhge6pbe.js";import{Q as L}from"./QInput-CEazYqyH.js";import{Q as v}from"./QBtn-AYMizH8c.js";import{Q as q}from"./QCardActions-DlFyQG4S.js";import{g as ae,c as le,Q as se}from"./QDialog-BcbjPBVh.js";import{Q as re}from"./QPage-gf8hzrox.js";import{_ as oe}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./use-dark-BRt0_t6X.js";import"./use-key-composition-TTwP9QMZ.js";import"./use-prevent-scroll-eZQDeoK_.js";import"./use-timeout-Jkrq6Sig.js";const ne=["top","middle","bottom"],ie=I({name:"QBadge",props:{color:String,textColor:String,floating:Boolean,transparent:Boolean,multiLine:Boolean,outline:Boolean,rounded:Boolean,label:[Number,String],align:{type:String,validator:t=>ne.includes(t)}},setup(t,{slots:r}){const o=E(()=>t.align!==void 0?{verticalAlign:t.align}:null),d=E(()=>{const p=t.outline===!0&&t.color||t.textColor;return`q-badge flex inline items-center no-wrap q-badge--${t.multiLine===!0?"multi":"single"}-line`+(t.outline===!0?" q-badge--outline":t.color!==void 0?` bg-${t.color}`:"")+(p!==void 0?` text-${p}`:"")+(t.floating===!0?" q-badge--floating":"")+(t.rounded===!0?" q-badge--rounded":"")+(t.transparent===!0?" q-badge--transparent":"")});return()=>$("div",{class:d.value,style:o.value,role:"status","aria-label":t.label},F(r.default,t.label!==void 0?[t.label]:[]))}});function U(t){if(t===!1)return 0;if(t===!0||t===void 0)return 1;const r=parseInt(t,10);return isNaN(r)?0:r}const de=G({name:"close-popup",beforeMount(t,{value:r}){const o={depth:U(r),handler(d){o.depth!==0&&setTimeout(()=>{const p=ae(t);p!==void 0&&le(p,d,o.depth)})},handlerKey(d){A(d,13)===!0&&o.handler(d)}};t.__qclosepopup=o,t.addEventListener("click",o.handler),t.addEventListener("keyup",o.handlerKey)},updated(t,{value:r,oldValue:o}){r!==o&&(t.__qclosepopup.depth=U(r))},beforeUnmount(t){const r=t.__qclosepopup;t.removeEventListener("click",r.handler),t.removeEventListener("keyup",r.handlerKey),delete t.__qclosepopup}}),ue={class:"page-shell"},pe={class:"cards-grid"},ce={class:"head-main"},me={class:"text-h6"},he={class:"text-caption text-grey-7"},ye={key:0,class:"no-fields"},ge={key:1,class:"field-grid"},fe={class:"text-h6"},ke={class:"text-caption"},be={class:"result-block"},Se={class:"result-block"},_e=J({__name:"ApiEndpointsPage",setup(t){const r=[{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=>K(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:()=>X(),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=>j(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=>H(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=>W(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:()=>Y(),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=>Z(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:()=>ee(),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=>te(e),buildPayload:e=>({name:String(e.name??""),email:String(e.email??""),password:String(e.password??""),roles:T(String(e.roles??"")),status:String(e.status??"pending"),types:T(String(e.types??"")),avatar:R(String(e.avatar??"")),details:w(String(e.details??"")),preferences:w(String(e.preferences??""))})}],o=Q({}),d=Q({});for(const e of r)o[e.key]={...e.defaults},d[e.key]=!1;const p=f(!1),g=f({name:"",method:"",path:""}),P=f(null),b=f(null);function T(e){return e.split(",").map(l=>l.trim()).filter(l=>l.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 D(e){const l=r.find(a=>a.key===e);l&&(o[e]={...l.defaults})}function h(e){return o[e]||(o[e]={}),o[e]}async function z(e){d[e.key]=!0;const l=e.buildPayload(h(e.key));g.value={name:e.name,method:e.method,path:e.path},P.value=l;try{const a=await e.call(l);b.value=a}catch(a){b.value={error:a instanceof Error?a.message:String(a)}}finally{d[e.key]=!1,p.value=!0}}function x(e){if(typeof e=="string")return e;try{return JSON.stringify(e,null,2)}catch{return String(e)}}return(e,l)=>(c(),_(re,{class:"api-tester-page"},{default:u(()=>[s("div",ue,[l[1]||(l[1]=s("header",{class:"page-header"},[s("p",{class:"eyebrow"},"Developer tools"),s("h1",null,"API Endpoints Tester"),s("p",{class:"subtitle"},[N(" Lista endpoint generata da "),s("strong",null,"src/api/api.ts"),N(" con form payload, esecuzione rapida e risposta formattata. ")])],-1)),s("section",pe,[(c(),y(C,null,O(r,a=>i(V,{key:a.key,flat:"",bordered:"",class:"endpoint-card"},{default:u(()=>[i(k,{class:"card-head"},{default:u(()=>[s("div",ce,[i(ie,{color:a.method==="GET"?"positive":"primary","text-color":"white",label:a.method},null,8,["color","label"]),s("code",null,m(a.path),1)]),s("div",me,m(a.name),1),s("div",he,m(a.signature),1)]),_:2},1024),i(B),i(k,{class:"card-body"},{default:u(()=>[a.fields.length===0?(c(),y("div",ye," Nessun dato richiesto da questo endpoint. ")):(c(),y("div",ge,[(c(!0),y(C,null,O(a.fields,n=>(c(),y("div",{key:`${a.key}-${n.key}`,class:"field-item"},[n.type!=="number"?(c(),_(L,{key:0,modelValue:h(a.key)[n.key],"onUpdate:modelValue":S=>h(a.key)[n.key]=S,label:n.label,type:n.type,hint:n.hint,placeholder:n.placeholder,dense:"",outlined:"",autogrow:""},null,8,["modelValue","onUpdate:modelValue","label","type","hint","placeholder"])):(c(),_(L,{key:1,modelValue:h(a.key)[n.key],"onUpdate:modelValue":S=>h(a.key)[n.key]=S,modelModifiers:{number:!0},label:n.label,type:"number",hint:n.hint,placeholder:n.placeholder,dense:"",outlined:""},null,8,["modelValue","onUpdate:modelValue","label","hint","placeholder"]))]))),128))]))]),_:2},1024),i(q,{align:"between",class:"card-actions"},{default:u(()=>[i(v,{flat:"",color:"secondary",icon:"restart_alt",label:"Reset",onClick:n=>D(a.key)},null,8,["onClick"]),i(v,{color:"accent",icon:"play_arrow",label:"Test",loading:d[a.key],onClick:n=>z(a)},null,8,["loading","onClick"])]),_:2},1024)]),_:2},1024)),64))])]),i(se,{modelValue:p.value,"onUpdate:modelValue":l[0]||(l[0]=a=>p.value=a),maximized:""},{default:u(()=>[i(V,{class:"result-card"},{default:u(()=>[i(k,{class:"result-header"},{default:u(()=>[l[2]||(l[2]=s("div",{class:"text-overline"},"Risultato endpoint",-1)),s("div",fe,m(g.value.name),1),s("div",ke,m(g.value.method)+" "+m(g.value.path),1)]),_:1}),i(B),i(k,{class:"result-body"},{default:u(()=>[s("div",be,[l[3]||(l[3]=s("h3",null,"Payload inviato",-1)),s("pre",null,m(x(P.value)),1)]),s("div",Se,[l[4]||(l[4]=s("h3",null,"Risposta",-1)),s("pre",null,m(x(b.value)),1)])]),_:1}),i(q,{align:"right"},{default:u(()=>[M(i(v,{flat:"",color:"primary",label:"Chiudi"},null,512),[[de]])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1}))}}),Ue=oe(_e,[["__scopeId","data-v-a5a44d8d"]]);export{Ue as default};