@authhero/kysely-adapter 4.0.0 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/kysely-adapter.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var Ee=Object.defineProperty;var de=t=>{throw TypeError(t)};var ze=(t,e,r)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var M=(t,e,r)=>ze(t,typeof e!="symbol"?e+"":e,r),K=(t,e,r)=>e.has(t)||de("Cannot "+r);var c=(t,e,r)=>(K(t,e,"read from private field"),r?r.call(t):e.get(t)),w=(t,e,r)=>e.has(t)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),A=(t,e,r,a)=>(K(t,e,"write to private field"),a?a.call(t,r):e.set(t,r),r),u=(t,e,r)=>(K(t,e,"access private method"),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var q=class extends Error{constructor(e=500,r){super(r==null?void 0:r.message,{cause:r==null?void 0:r.cause});M(this,"res");M(this,"status");this.res=r==null?void 0:r.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function Je(t){return async(e,r)=>{const{identities:a,...o}=r,n={...o,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:r.email_verified?1:0,is_social:r.is_social?1:0,app_metadata:JSON.stringify(r.app_metadata),user_metadata:JSON.stringify(r.user_metadata)};try{await t.insertInto("users").values(n).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new q(409,{message:"User already exists"}):new q(500,{message:`${s.code}, ${s.message}`})}return{...n,email:n.email||"",email_verified:n.email_verified===1,is_social:n.is_social===1}}}function f(t){const e={...t};for(const r in e)e[r]===null?delete e[r]:typeof e[r]=="object"&&(Array.isArray(e[r])?e[r]=e[r].map(f):e[r]=f(e[r]));return e}function _e(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(r){console.error("Error parsing profileData",r)}return{connection:t.connection,provider:t.provider,user_id:k.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Re(t){return async(e,r)=>{const[a,o]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).selectAll().execute()]);if(!a)return null;const{tenant_id:n,...s}=a,l={...s,email:a.email||"",email_verified:a.email_verified===1,is_social:a.is_social===1,app_metadata:JSON.parse(a.app_metadata),user_metadata:JSON.parse(a.user_metadata),identities:[{connection:a.connection,provider:a.provider,user_id:k.parseUserId(a.user_id).id,isSocial:!!a.is_social},...o.map(_e)]};return f(l)}}function T(t,e,r,a){return r.split(/\s+/).map(n=>n.replace(/^([^:]+)=/g,"$1:")).map(n=>{let s=n.startsWith("-"),l,d,g,m;return n.startsWith("-_exists_:")?(l=n.substring(10),g=!0,s=!0):n.startsWith("_exists_:")?(l=n.substring(9),g=!0,s=!1):n.includes(":")?(s=n.startsWith("-"),[l,d]=s?n.substring(1).split(":"):n.split(":"),g=!1,d.startsWith(">=")?(m=">=",d=d.substring(2)):d.startsWith(">")?(m=">",d=d.substring(1)):d.startsWith("<=")?(m="<=",d=d.substring(2)):d.startsWith("<")?(m="<",d=d.substring(1)):m="="):(l=null,d=n,g=!1),{key:l,value:d,isNegation:s,isExistsQuery:g,operator:m}}).forEach(({key:n,value:s,isNegation:l,isExistsQuery:d,operator:g})=>{if(n)if(d)l?e=e.where(n,"is",null):e=e.where(n,"is not",null);else if(l)switch(g){case">":e=e.where(n,"<=",s);break;case">=":e=e.where(n,"<",s);break;case"<":e=e.where(n,">=",s);break;case"<=":e=e.where(n,">",s);break;default:e=e.where(n,"!=",s)}else e=e.where(n,g,s);else{const{ref:m}=t.dynamic;e=e.where(y=>y.or(a.map(x=>y(m(x),"like",`%${s}%`))))}}),e}function C(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ue(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("users").where("users.tenant_id","=",e);if(r.q&&(a=T(t,a,r.q,["email","name"])),r.sort&&r.sort.sort_by){const{ref:m}=t.dynamic;a=a.orderBy(m(r.sort.sort_by),r.sort.sort_order)}const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),s=n.map(m=>m.user_id),l=s.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",s).execute():[],d=n.map(m=>{const y=l.filter(x=>x.linked_to===m.user_id);return f({...m,email_verified:m.email_verified===1,is_social:m.is_social===1,app_metadata:JSON.parse(m.app_metadata),user_metadata:JSON.parse(m.user_metadata),identities:[{connection:m.connection,provider:m.provider,user_id:k.parseUserId(m.user_id).id,isSocial:!!m.is_social},...y.map(_e)]})}),{count:g}=await a.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:d,start:r.page*r.per_page,limit:r.per_page,length:C(g)}}}function Ke(t){return async(e,r)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1)}function Be(t){if(t.email_verified!==void 0)return t.email_verified?1:0}function Qe(t){return async(e,r,a)=>{const o={...a,email_verified:Be(a),updated_at:new Date().toISOString()};return a.app_metadata&&(o.app_metadata=JSON.stringify(a.app_metadata)),a.user_metadata&&(o.user_metadata=JSON.stringify(a.user_metadata)),(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1}}function Ve(t){return async(e,r,a,o)=>{const n={linked_to:null};return(await t.updateTable("users").set(n).where("users.tenant_id","=",e).where("users.user_id","=",`${a}|${o}`).where("users.linked_to","=",`${r}`).execute()).length===1}}function qe(t){return{create:Je(t),remove:Ke(t),get:Re(t),list:Ue(t),update:Qe(t),unlink:Ve(t)}}const We="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let $=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=We[r[t]&63];return e};function Ge(t){return async e=>{const r={id:e.id||$(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(r).execute(),r}}function He(t){return async e=>{const r=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return r?f(r):null}}function Xe(t){return async(e={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("tenants");if(e.sort&&e.sort.sort_by){const{ref:l}=t.dynamic;r=r.orderBy(l(e.sort.sort_by),e.sort.sort_order)}e.q&&(r=r.where(l=>l.or([l("name","like",`%${e.q}%`)])));const o=await r.offset(e.page*e.per_page).limit(e.per_page).selectAll().execute();if(!e.include_totals)return{tenants:o};const{count:n}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),s=C(n);return{tenants:o.map(f),start:(e.page-1)*e.per_page,limit:e.per_page,length:s}}}function Ye(t){return async(e,r)=>{const a={...r,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(a).where("id","=",e).execute()}}function Ze(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function et(t){return{create:Ge(t),get:He(t),list:Xe(t),update:Ye(t),remove:Ze(t)}}function ue(t){return t?JSON.stringify(t):void 0}const tt=1024;function rt(t){return async(e,r)=>{var o,n,s;const a={id:$(),...r,user_agent:r.user_agent.slice(0,tt)};return await t.insertInto("logs").values({...a,description:(o=a.description)==null?void 0:o.substring(0,256),isMobile:r.isMobile?1:0,tenant_id:e,scope:(n=r.scope)==null?void 0:n.join(","),auth0_client:ue(r.auth0_client),details:(s=ue(r.details))==null?void 0:s.substring(0,8192)}).execute(),a}}function me(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function pe(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:me(t.auth0_client),details:me(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function at(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("logs").where("logs.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:l}=t.dynamic;o=o.orderBy(l(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:n.map(pe),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function nt(t){return async(e,r)=>{const a=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",r).selectAll().executeTakeFirst();return a?pe(a):null}}function ot(t){return{create:rt(t),list:at(t),get:nt(t)}}function st(t){return async(e,r)=>await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).selectAll().executeTakeFirst()??null}function it(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString(),expires_at:new Date().toISOString()};return await t.insertInto("sessions").values({...a,tenant_id:e}).execute(),{...r,...a}}}function lt(t){return async(e,r)=>!!(await t.updateTable("sessions").set({deleted_at:new Date().toISOString()}).where("tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).execute()).length}function ct(t){return async(e,r,a)=>!!(await t.updateTable("sessions").set(a).where("tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).execute()).length}function dt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("sessions").where("sessions.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","session_id"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=C(s);return{sessions:n,start:r.page*r.per_page,limit:r.per_page,length:l}}}function ut(t){return{create:it(t),get:st(t),list:dt(t),remove:lt(t),update:ct(t)}}function mt(t){return async(e,r)=>{const a=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",r).selectAll().executeTakeFirstOrThrow(),{tenant_id:o,...n}=a;return n}}function ht(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...a,tenant_id:e}).execute(),a}}function ft(t){return async(e,r)=>(await t.updateTable("passwords").set({password:r.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",r.user_id).execute()).length===1}function _t(t){return{create:ht(t),update:ft(t),get:mt(t)}}function pt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("codes").where("codes.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["code","login_id"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:n.map(d=>{const{tenant_id:g,...m}=d;return k.codeSchema.parse(f(m))}),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function gt(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...a,tenant_id:e}).execute(),a}}function wt(t){return async(e,r)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numDeletedRows>0}function yt(t){return async(e,r,a)=>{let o=t.selectFrom("codes").where("codes.code_id","=",r).where("codes.code_type","=",a);e.length&&(o=o.where("codes.tenant_id","=",e));const n=await o.selectAll().executeTakeFirst();return n?f(n):null}}function Nt(t){return async(e,r)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numUpdatedRows>0}function vt(t){return{create:gt(t),list:pt(t),remove:wt(t),used:Nt(t),get:yt(t)}}function bt(t){return async(e,r)=>{const a={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...r},o=JSON.stringify(r.allowed_origins),n=JSON.stringify(r.callbacks),s=JSON.stringify(r.web_origins),l=JSON.stringify(r.allowed_logout_urls),d=JSON.stringify(r.allowed_clients);return await t.insertInto("applications").values({...a,tenant_id:e,disable_sign_ups:r.disable_sign_ups?1:0,addons:r.addons?JSON.stringify(r.addons):"{}",callbacks:n,allowed_origins:o,web_origins:s,allowed_logout_urls:l,allowed_clients:d}).execute(),a}}function Ct(t){return async e=>({applications:(await t.selectFrom("applications").where("applications.tenant_id","=",e).selectAll().execute()).map(n=>({...n,disable_sign_ups:!!n.disable_sign_ups,addons:n.addons?JSON.parse(n.addons):{},callbacks:n.callbacks?JSON.parse(n.callbacks):[],allowed_origins:n.allowed_origins?JSON.parse(n.allowed_origins):[],web_origins:n.web_origins?JSON.parse(n.web_origins):[],allowed_logout_urls:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[],allowed_clients:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[]}))})}function xt(t){return async(e,r)=>{const a=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).selectAll().executeTakeFirst();return a?f({...a,disable_sign_ups:!!a.disable_sign_ups,addons:JSON.parse(a.addons),callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),allowed_logout_urls:JSON.parse(a.allowed_logout_urls)}):null}}function Tt(t){return async(e,r)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).executeTakeFirst()).numDeletedRows>0}function St(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString(),allowed_origins:a.allowed_origins?JSON.stringify(a.allowed_origins):void 0,callbacks:a.callbacks?JSON.stringify(a.callbacks):void 0,web_origins:a.web_origins?JSON.stringify(a.web_origins):void 0,allowed_logout_urls:a.allowed_logout_urls?JSON.stringify(a.allowed_logout_urls):void 0,allowed_clients:a.allowed_clients?JSON.stringify(a.allowed_clients):void 0,addons:a.addons?JSON.stringify(a.addons):"{}",disable_sign_ups:a.disable_sign_ups?1:0};return await t.updateTable("applications").set(o).where("applications.id","=",r).where("applications.tenant_id","=",e).execute(),!0}}function Ot(t){return{create:bt(t),list:Ct(t),get:xt(t),remove:Tt(t),update:St(t)}}function kt(t){return async(e,r)=>{const a={id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...a,options:JSON.stringify(a.options||{}),tenant_id:e}).execute(),a}}function $t(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("connections").where("connections.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));const s=(await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute()).map(d=>f({...d,options:JSON.parse(d.options)})),{count:l}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:s,start:r.page*r.per_page,limit:r.per_page,length:C(l)}}}function It(t){return async(e,r)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).executeTakeFirst()).numDeletedRows>0}function Dt(t){return async(e,r)=>{const a=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).selectAll().executeTakeFirst();return a?f({...a,options:JSON.parse(a.options)}):null}}function Pt(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...o,options:o.options?JSON.stringify(o.options):void 0}).where("connections.id","=",r).where("connections.tenant_id","=",e).execute(),!0}}function jt(t){return{create:kt(t),get:Dt(t),list:$t(t),remove:It(t),update:Pt(t)}}function Mt(t){return{get:async e=>{const r=await t.selectFrom("applications").selectAll().where("id","=",e).executeTakeFirst();if(!r)return null;const a=await t.selectFrom("tenants").selectAll().where("id","=",r.tenant_id).executeTakeFirst();if(!a)throw new q(404,{message:"Tenant not found"});const o=await t.selectFrom("connections").where("tenant_id","=",r.tenant_id).selectAll().execute(),n=await t.selectFrom("domains").where("tenant_id","=",r.tenant_id).selectAll().execute();return{...r,connections:o.map(l=>k.connectionSchema.parse(f({...l,options:l.options?JSON.parse(l.options):{}}))),domains:n,addons:r.addons?JSON.parse(r.addons):{},callbacks:r.callbacks?JSON.parse(r.callbacks):[],allowed_origins:r.allowed_origins?JSON.parse(r.allowed_origins):[],web_origins:r.web_origins?JSON.parse(r.web_origins):[],allowed_logout_urls:r.allowed_logout_urls?JSON.parse(r.allowed_logout_urls):[],allowed_clients:r.allowed_clients?JSON.parse(r.allowed_clients):[],tenant:f(a),disable_sign_ups:!!r.disable_sign_ups}}}}function At(t){return async()=>await t.selectFrom("keys").where(r=>r.or([r("revoked_at",">",new Date().toISOString()),r("revoked_at","is",null)])).selectAll().execute()}function Ft(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Lt(t){return async(e,r)=>!!(await t.updateTable("keys").set(r).where("kid","=",e).execute()).length}function Et(t){return{create:Ft(t),list:At(t),update:Lt(t)}}function zt(t){return async(e,r)=>{const a={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,id:$(),...r};return await t.insertInto("domains").values(a).execute(),a}}function Jt(t){return async(e,r)=>{let a=t.selectFrom("domains").where("domains.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{domains:n,start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function Rt(t){return{create:zt(t),list:Jt(t)}}function Ut(t){return async e=>{const[r]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:a,colors_primary:o,colors_page_background_type:n,colors_page_background_start:s,colors_page_background_end:l,colors_page_background_angle_dev:d,font_url:g,...m}=r;return f({...m,colors:{primary:o,page_background:{type:n,start:s,end:l,angle_deg:d}},font:g?{url:g}:void 0})}}function Kt(t){return async(e,r)=>{var s,l,d,g,m,y,x,Z,ee,te,re,ae,ne,oe,se,ie,le,ce;const{colors:a,font:o,...n}=r;try{await t.insertInto("branding").values({...n,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(l=(s=r.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(g=(d=r.colors)==null?void 0:d.page_background)==null?void 0:g.start,colors_page_background_end:(y=(m=r.colors)==null?void 0:m.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(Z=(x=r.colors)==null?void 0:x.page_background)==null?void 0:Z.angle_deg,font_url:(ee=r.font)==null?void 0:ee.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...n,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(re=(te=r.colors)==null?void 0:te.page_background)==null?void 0:re.type,colors_page_background_start:(ne=(ae=r.colors)==null?void 0:ae.page_background)==null?void 0:ne.start,colors_page_background_end:(se=(oe=r.colors)==null?void 0:oe.page_background)==null?void 0:se.end,colors_page_background_angle_dev:(le=(ie=r.colors)==null?void 0:ie.page_background)==null?void 0:le.angle_deg,font_url:(ce=r.font)==null?void 0:ce.url}).where("tenant_id","=",e).execute()}}}function Bt(t){return{get:Ut(t),set:Kt(t)}}function Qt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("hooks").where("hooks.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["url"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:n.map(d=>{const{tenant_id:g,enabled:m,synchronous:y,...x}=d;return f({...x,enabled:!!m,synchronous:!!y})}),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function Vt(t){return async(e,r)=>{const a=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).selectAll().executeTakeFirst();return a?f({...a,enabled:!!a.enabled,synchronous:!!a.synchronous}):null}}function qt(t){return async(e,r)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).executeTakeFirst()).numDeletedRows>0}function Wt(t){return async(e,r)=>{const a={hook_id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...a,tenant_id:e,enabled:r.enabled?1:0,synchronous:r.synchronous?1:0}).execute(),a}}function Gt(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString(),enabled:a.enabled!==void 0?a.enabled?1:0:void 0,synchronous:a.enabled!==void 0?a.synchronous?1:0:void 0};return await t.updateTable("hooks").set(o).where("hooks.hook_id","=",r).where("hooks.tenant_id","=",e).execute(),!0}}function Ht(t){return{create:Wt(t),get:Vt(t),list:Qt(t),update:Gt(t),remove:qt(t)}}function J(t,e="",r={}){for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const o=e?`${e}_${a}`:a;typeof t[a]=="object"&&t[a]!==null&&!Array.isArray(t[a])?J(t[a],o,r):r[o]=t[a]}return r}function Xt(t,e){const r={};for(const[a,o]of Object.entries(t)){const n=e.find(s=>a.startsWith(`${s}_`));if(!n)r[a]=o;else{const s=a.slice(n.length+1);r[n]={...r[n],[s]:o}}}return r}function Yt(t){return async(e,r)=>{const a={themeId:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("themes").values({...J(a),tenant_id:e}).execute(),a}}function Zt(t){return async(e,r)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",r).executeTakeFirst()).numDeletedRows>0}function er(t){return async(e,r)=>{const a=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",r).selectAll().executeTakeFirst();return a?f(a):null}}function tr(t){return async(e,r,a)=>{const o=J({...a,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(o).where("themes.id","=",r).where("themes.tenant_id","=",e).execute(),!0}}function rr(t){return{create:Yt(t),get:er(t),remove:Zt(t),update:tr(t)}}function ar(t){return async(e,r)=>{const a=new Date().toISOString(),o=await t.selectFrom("logins").where("logins.expires_at",">",a).where("logins.login_id","=",r).selectAll().executeTakeFirst();return o?k.loginSchema.parse(Xt(f(o),["authParams"])):null}}function nr(t){return async(e,r)=>{const a={login_id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("logins").values({...J(a),tenant_id:e}).execute(),a}}function or(t){return async(e,r,a)=>(await t.updateTable("logins").set(J(a)).where("logins.login_id","=",r).where("logins.tenant_id","=",e).execute()).length===1}function sr(t){return async(e,r)=>(await t.deleteFrom("logins").where("logins.tenant_id","=",e).where("logins.login_id","=",r).execute()).length>0}function ir(t){return{create:nr(t),get:ar(t),update:or(t),remove:sr(t)}}function lr(t){return async e=>{const[r]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return f({identifier_first:!!(r!=null&&r.identifier_first),password_first:!!(r!=null&&r.password_first),webauthn_platform_first_factor:!!(r!=null&&r.webauthn_platform_first_factor),universal_login_experience:(r==null?void 0:r.universal_login_experience)||"new"})}}function he(t){return f({...t,webauthn_platform_first_factor:t.webauthn_platform_first_factor?!!t.webauthn_platform_first_factor:void 0,identifier_first:t.identifier_first?!!t.identifier_first:void 0,password_first:t.password_first?!!t.password_first:void 0,universal_login_experience:t.universal_login_experience})}function cr(t){return async(e,r)=>{try{const a=k.promptSettingSchema.parse(r);await t.insertInto("prompt_settings").values({...he(a),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(he(r)).where("tenant_id","=",e).execute()}}}function dr(t){return{get:lr(t),set:cr(t)}}function ur(t){return async e=>{const[r]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:a,credentials:o,settings:n,enabled:s,...l}=r;return f({...l,credentials:JSON.parse(o),settings:JSON.parse(n),enabled:!!s})}}function mr(t){return async(e,r)=>{const{credentials:a,settings:o,enabled:n,...s}=r;await t.updateTable("email_providers").set({...s,credentials:a?JSON.stringify(a):void 0,settings:o?JSON.stringify(o):void 0,enabled:n!==void 0?n?1:0:void 0}).where("tenant_id","=",e).execute()}}function hr(t){return async(e,r)=>{const{credentials:a,settings:o,enabled:n,...s}=r;await t.insertInto("email_providers").values({...s,enabled:n?1:0,credentials:JSON.stringify(a),settings:JSON.stringify(o),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function fr(t){return{get:ur(t),create:hr(t),update:mr(t)}}function _r(t){return async(e,r)=>await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.token","=",r).where("refresh_tokens.revoked_at","is",null).selectAll().executeTakeFirst()??null}function pr(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString(),expires_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...a,tenant_id:e}).execute(),{...r,...a}}}function gr(t){return async(e,r)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.token","=",r).execute()).length}function wr(t){return async(e,r,a)=>!!(await t.updateTable("refresh_tokens").set(a).where("tenant_id","=",e).where("refresh_tokens.token","=",r).execute()).length}function yr(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["token","session_id"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=C(s);return{refresh_tokens:n,start:r.page*r.per_page,limit:r.per_page,length:l}}}function Nr(t){return{create:pr(t),get:_r(t),list:yr(t),remove:gr(t),update:wr(t)}}function vr(t){return t[t.length-1]}function p(t){return Object.freeze(t)}const R=p({is(t){return t.kind==="IdentifierNode"},create(t){return p({kind:"IdentifierNode",name:t})}}),W=p({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return p({kind:"SchemableIdentifierNode",identifier:R.create(t)})},createWithSchema(t,e){return p({kind:"SchemableIdentifierNode",schema:R.create(t),identifier:R.create(e)})}}),br=p({is(t){return t.kind==="AliasNode"},create(t,e){return p({kind:"AliasNode",node:t,alias:e})}}),B=p({is(t){return t.kind==="TableNode"},create(t){return p({kind:"TableNode",table:W.create(t)})},createWithSchema(t,e){return p({kind:"TableNode",table:W.createWithSchema(t,e)})}});var U;class Cr{constructor(){M(this,"nodeStack",[]);w(this,U,p({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const r=this.transformNodeImpl(e);return this.nodeStack.pop(),p(r)}transformNodeImpl(e){return c(this,U)[e.kind](e)}transformNodeList(e){return e&&p(e.map(r=>this.transformNode(r)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:p([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}}U=new WeakMap;const xr=p({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0});var j,S,O,_,ge,we,ye,I,G,Ne;class Tr extends Cr{constructor(r){super();w(this,_);w(this,j);w(this,S,new Set);w(this,O,new Set);A(this,j,r)}transformNodeImpl(r){if(!u(this,_,ge).call(this,r))return super.transformNodeImpl(r);const a=u(this,_,ye).call(this,r);for(const s of a)c(this,O).add(s);const o=u(this,_,we).call(this,r);for(const s of o)c(this,S).add(s);const n=super.transformNodeImpl(r);for(const s of o)c(this,S).delete(s);for(const s of a)c(this,O).delete(s);return n}transformSchemableIdentifier(r){const a=super.transformSchemableIdentifier(r);return a.schema||!c(this,S).has(r.identifier.name)?a:{...a,schema:R.create(c(this,j))}}transformReferences(r){const a=super.transformReferences(r);return a.table.table.schema?a:{...a,table:B.createWithSchema(c(this,j),a.table.table.identifier.name)}}}j=new WeakMap,S=new WeakMap,O=new WeakMap,_=new WeakSet,ge=function(r){return r.kind in xr},we=function(r){const a=new Set;if("name"in r&&r.name&&W.is(r.name)&&u(this,_,G).call(this,r.name,a),"from"in r&&r.from)for(const o of r.from.froms)u(this,_,I).call(this,o,a);if("into"in r&&r.into&&u(this,_,I).call(this,r.into,a),"table"in r&&r.table&&u(this,_,I).call(this,r.table,a),"joins"in r&&r.joins)for(const o of r.joins)u(this,_,I).call(this,o.table,a);return"using"in r&&r.using&&u(this,_,I).call(this,r.using,a),a},ye=function(r){const a=new Set;return"with"in r&&r.with&&u(this,_,Ne).call(this,r.with,a),a},I=function(r,a){const o=B.is(r)?r:br.is(r)&&B.is(r.node)?r.node:null;o&&u(this,_,G).call(this,o.table,a)},G=function(r,a){const o=r.identifier.name;!c(this,S).has(o)&&!c(this,O).has(o)&&a.add(o)},Ne=function(r,a){for(const o of r.expressions){const n=o.name.table.table.identifier.name;c(this,O).has(n)||a.add(n)}};var E;class Sr{constructor(e){w(this,E);A(this,E,new Tr(e))}transformQuery(e){return c(this,E).transformNode(e.node)}async transformResult(e){return e.result}}E=new WeakMap;class Or{transformQuery(e){return e.node}async transformResult(e){return e.result}}const kr="kysely_migration",fe="kysely_migration_lock",$r=!1,Q="migration_lock",Ir=p({__noMigrations__:!0});var h,i,F,N,v,D,be,b,Ce,xe,Te,Se,Oe,H,P,X,ke,$e,Ie,Y,De,Pe,je,Me,Ae,L;class ve{constructor(e){w(this,i);w(this,h);A(this,h,p(e))}async getMigrations(){const e=await u(this,i,P).call(this,c(this,i,v))?await c(this,h).db.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select(["name","timestamp"]).execute():[];return(await u(this,i,Y).call(this)).map(({name:a,...o})=>{const n=e.find(s=>s.name===a);return{name:a,migration:o,executedAt:n?new Date(n.timestamp):void 0}})}async migrateToLatest(){return u(this,i,F).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return u(this,i,F).call(this,({migrations:r,executedMigrations:a,pendingMigrations:o})=>{if(e===Ir)return{direction:"Down",step:1/0};if(!r.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const n=a.indexOf(e),s=o.findIndex(l=>l.name===e);if(n!==-1)return{direction:"Down",step:a.length-n-1};if(s!==-1)return{direction:"Up",step:s+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return u(this,i,F).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return u(this,i,F).call(this,()=>({direction:"Down",step:1}))}}h=new WeakMap,i=new WeakSet,F=async function(e){try{return await u(this,i,Ce).call(this),await u(this,i,ke).call(this,e)}catch(r){return r instanceof V?r.resultSet:{error:r}}},N=function(){return c(this,h).migrationTableSchema},v=function(){return c(this,h).migrationTableName??kr},D=function(){return c(this,h).migrationLockTableName??fe},be=function(){return c(this,h).allowUnorderedMigrations??$r},b=function(){return c(this,i,N)?new Sr(c(this,i,N)):new Or},Ce=async function(){await u(this,i,xe).call(this),await u(this,i,Te).call(this),await u(this,i,Se).call(this),await u(this,i,Oe).call(this)},xe=async function(){if(c(this,i,N)&&!await u(this,i,H).call(this))try{await u(this,i,L).call(this,c(this,h).db.schema.createSchema(c(this,i,N)))}catch(e){if(!await u(this,i,H).call(this))throw e}},Te=async function(){if(!await u(this,i,P).call(this,c(this,i,v)))try{c(this,i,N)&&await u(this,i,L).call(this,c(this,h).db.schema.createSchema(c(this,i,N))),await u(this,i,L).call(this,c(this,h).db.schema.withPlugin(c(this,i,b)).createTable(c(this,i,v)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await u(this,i,P).call(this,c(this,i,v)))throw e}},Se=async function(){if(!await u(this,i,P).call(this,c(this,i,D)))try{await u(this,i,L).call(this,c(this,h).db.schema.withPlugin(c(this,i,b)).createTable(c(this,i,D)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await u(this,i,P).call(this,c(this,i,D)))throw e}},Oe=async function(){if(!await u(this,i,X).call(this))try{await c(this,h).db.withPlugin(c(this,i,b)).insertInto(c(this,i,D)).values({id:Q,is_locked:0}).execute()}catch(e){if(!await u(this,i,X).call(this))throw e}},H=async function(){return(await c(this,h).db.introspection.getSchemas()).some(r=>r.name===c(this,i,N))},P=async function(e){const r=c(this,i,N);return(await c(this,h).db.introspection.getTables({withInternalKyselyTables:!0})).some(o=>o.name===e&&(!r||o.schema===r))},X=async function(){return!!await c(this,h).db.withPlugin(c(this,i,b)).selectFrom(c(this,i,D)).where("id","=",Q).select("id").executeTakeFirst()},ke=async function(e){const r=c(this,h).db.getExecutor().adapter,a=p({lockTable:c(this,h).migrationLockTableName??fe,lockRowId:Q,lockTableSchema:c(this,h).migrationTableSchema}),o=async n=>{try{await r.acquireMigrationLock(n,a);const s=await u(this,i,$e).call(this,n);if(s.migrations.length===0)return{results:[]};const{direction:l,step:d}=e(s);return d<=0?{results:[]}:l==="Down"?await u(this,i,Me).call(this,n,s,d):l==="Up"?await u(this,i,Ae).call(this,n,s,d):{results:[]}}finally{await r.releaseMigrationLock(n,a)}};return r.supportsTransactionalDdl?c(this,h).db.transaction().execute(o):c(this,h).db.connection().execute(o)},$e=async function(e){const r=await u(this,i,Y).call(this),a=await u(this,i,De).call(this,e);u(this,i,Pe).call(this,r,a),c(this,i,be)||u(this,i,je).call(this,r,a);const o=u(this,i,Ie).call(this,r,a);return p({migrations:r,executedMigrations:a,lastMigration:vr(a),pendingMigrations:o})},Ie=function(e,r){return e.filter(a=>!r.includes(a.name))},Y=async function(){const e=await c(this,h).provider.getMigrations();return Object.keys(e).sort().map(r=>({...e[r],name:r}))},De=async function(e){return(await e.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select("name").orderBy(["timestamp","name"]).execute()).map(a=>a.name)},Pe=function(e,r){for(const a of r)if(!e.some(o=>o.name===a))throw new Error(`corrupted migrations: previously executed migration ${a} is missing`)},je=function(e,r){for(let a=0;a<r.length;++a)if(e[a].name!==r[a])throw new Error(`corrupted migrations: expected previously executed migration ${r[a]} to be at index ${a} but ${e[a].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Me=async function(e,r,a){const o=r.executedMigrations.slice().reverse().slice(0,a).map(s=>r.migrations.find(l=>l.name===s)),n=o.map(s=>({migrationName:s.name,direction:"Down",status:"NotExecuted"}));for(let s=0;s<n.length;++s){const l=o[s];try{l.down&&(await l.down(e),await e.withPlugin(c(this,i,b)).deleteFrom(c(this,i,v)).where("name","=",l.name).execute(),n[s]={migrationName:l.name,direction:"Down",status:"Success"})}catch(d){throw n[s]={migrationName:l.name,direction:"Down",status:"Error"},new V({error:d,results:n})}}return{results:n}},Ae=async function(e,r,a){const n=r.pendingMigrations.slice(0,a).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<n.length;s++){const l=r.pendingMigrations[s];try{await l.up(e),await e.withPlugin(c(this,i,b)).insertInto(c(this,i,v)).values({name:l.name,timestamp:new Date().toISOString()}).execute(),n[s]={migrationName:l.name,direction:"Up",status:"Success"}}catch(d){throw n[s]={migrationName:l.name,direction:"Up",status:"Error"},new V({error:d,results:n})}}return{results:n}},L=async function(e){c(this,h).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var z;class V extends Error{constructor(r){super();w(this,z);A(this,z,r)}get resultSet(){return c(this,z)}}z=new WeakMap;class Fe{constructor(e){M(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Dr(t){await t.schema.createTable("tenants").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)").addColumn("audience","varchar(255)").addColumn("sender_email","varchar(255)").addColumn("sender_name","varchar(255)").addColumn("language","varchar(255)").addColumn("logo","varchar(255)").addColumn("primary_color","varchar(255)").addColumn("secondary_color","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("users").addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("given_name","varchar(255)").addColumn("family_name","varchar(255)").addColumn("nickname","varchar(255)").addColumn("name","varchar(255)").addColumn("picture","varchar(2083)").addColumn("tags","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addPrimaryKeyConstraint("users_tenants",["user_id","tenant_id"]).addColumn("linked_to","varchar(255)").addForeignKeyConstraint("linked_to_constraint",["linked_to","tenant_id"],"users",["user_id","tenant_id"]).addColumn("last_ip","varchar(255)").addColumn("login_count","integer",e=>e.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",e=>e.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",e=>e.notNull()).addColumn("is_social","boolean",e=>e.notNull()).addColumn("app_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).execute(),await t.schema.createTable("members").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("sub","varchar(255)").addColumn("email","varchar(255)").addColumn("name","varchar(255)").addColumn("status","varchar(255)").addColumn("role","varchar(255)").addColumn("picture","varchar(2083)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("applications").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",e=>e.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",e=>e.defaultTo("[]").notNull()).addColumn("options_kid","varchar(32)").addColumn("options_team_id","varchar(32)").addColumn("options_client_id","varchar(128)").addColumn("options_client_secret","varchar(255)").addColumn("options_scope","varchar(255)").addColumn("options_realms","varchar(255)").addColumn("options_app_secret","varchar(1024)").addColumn("email_validation","varchar(255)").addColumn("disable_sign_ups","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("connections").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",e=>e.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("migrations").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("provider","varchar(255)").addColumn("client_id","varchar(255)").addColumn("origin","varchar(255)").addColumn("domain","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}async function Pr(t){await t.schema.dropTable("domains").execute(),await t.schema.dropTable("members").execute(),await t.schema.dropTable("users").execute(),await t.schema.dropTable("connections").execute(),await t.schema.dropTable("applications").execute(),await t.schema.dropTable("migrations").execute(),await t.schema.dropTable("tenants").execute()}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:Pr,up:Dr},Symbol.toStringTag,{value:"Module"}));async function Mr(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Ar(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Fr=Object.freeze(Object.defineProperty({__proto__:null,down:Ar,up:Mr},Symbol.toStringTag,{value:"Module"}));async function Lr(t){}async function Er(t){}const zr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:Lr},Symbol.toStringTag,{value:"Module"}));async function Jr(t){await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],e=>e.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",e=>e.notNull()).addColumn("date","varchar(25)",e=>e.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").execute()}async function Rr(t){await t.schema.dropTable("logs").execute()}const Ur=Object.freeze(Object.defineProperty({__proto__:null,down:Rr,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Kr(t){}async function Br(t){}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Br,up:Kr},Symbol.toStringTag,{value:"Module"}));async function Vr(t){await t.schema.createTable("sessions").addColumn("session_id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addColumn("deleted_at","varchar(255)").execute(),await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await t.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function qr(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Wr=Object.freeze(Object.defineProperty({__proto__:null,down:qr,up:Vr},Symbol.toStringTag,{value:"Module"}));async function Gr(t){await t.schema.createTable("passwords").addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function Hr(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Xr=Object.freeze(Object.defineProperty({__proto__:null,down:Hr,up:Gr},Symbol.toStringTag,{value:"Module"}));async function Yr(t){}async function Zr(t){}const ea=Object.freeze(Object.defineProperty({__proto__:null,down:Zr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function ta(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function ra(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const aa=Object.freeze(Object.defineProperty({__proto__:null,down:ra,up:ta},Symbol.toStringTag,{value:"Module"}));async function na(t){}async function oa(t){}const sa=Object.freeze(Object.defineProperty({__proto__:null,down:oa,up:na},Symbol.toStringTag,{value:"Module"}));async function ia(t){}async function la(t){}const ca=Object.freeze(Object.defineProperty({__proto__:null,down:la,up:ia},Symbol.toStringTag,{value:"Module"}));async function da(t){}async function ua(t){}const ma=Object.freeze(Object.defineProperty({__proto__:null,down:ua,up:da},Symbol.toStringTag,{value:"Module"}));async function ha(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function fa(t){await t.schema.dropIndex("users_email_index").execute()}const _a=Object.freeze(Object.defineProperty({__proto__:null,down:fa,up:ha},Symbol.toStringTag,{value:"Module"}));async function pa(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function ga(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const wa=Object.freeze(Object.defineProperty({__proto__:null,down:ga,up:pa},Symbol.toStringTag,{value:"Module"}));async function ya(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Na(t){await t.schema.dropIndex("users_linked_to_index")}const va=Object.freeze(Object.defineProperty({__proto__:null,down:Na,up:ya},Symbol.toStringTag,{value:"Module"}));async function ba(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Ca(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ca,up:ba},Symbol.toStringTag,{value:"Module"}));async function Ta(t){await t.schema.createTable("keys").addColumn("kid","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(2048)").addColumn("pkcs7","varchar(2048)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").execute()}async function Sa(t){await t.schema.dropTable("keys").execute()}const Oa=Object.freeze(Object.defineProperty({__proto__:null,down:Sa,up:Ta},Symbol.toStringTag,{value:"Module"}));async function ka(t){}async function $a(t){}const Ia=Object.freeze(Object.defineProperty({__proto__:null,down:$a,up:ka},Symbol.toStringTag,{value:"Module"}));async function Da(t){}async function Pa(t){}const ja=Object.freeze(Object.defineProperty({__proto__:null,down:Pa,up:Da},Symbol.toStringTag,{value:"Module"}));async function Ma(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Aa(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Fa=Object.freeze(Object.defineProperty({__proto__:null,down:Aa,up:Ma},Symbol.toStringTag,{value:"Module"}));async function La(t){}async function Ea(t){}const za=Object.freeze(Object.defineProperty({__proto__:null,down:Ea,up:La},Symbol.toStringTag,{value:"Module"}));async function Ja(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Ra(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Ua=Object.freeze(Object.defineProperty({__proto__:null,down:Ra,up:Ja},Symbol.toStringTag,{value:"Module"}));async function Ka(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Ba(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Qa=Object.freeze(Object.defineProperty({__proto__:null,down:Ba,up:Ka},Symbol.toStringTag,{value:"Module"}));async function Va(t){await t.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await t.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await t.schema.createIndex("logs_date").on("logs").column("date").execute()}async function qa(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const Wa=Object.freeze(Object.defineProperty({__proto__:null,down:qa,up:Va},Symbol.toStringTag,{value:"Module"}));async function Ga(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Ha(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ha,up:Ga},Symbol.toStringTag,{value:"Module"}));async function Ya(t){await t.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await t.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function Za(t){await t.schema.alterTable("logs").dropColumn("user_name").execute(),await t.schema.alterTable("logs").dropColumn("auth0_client").execute(),await t.schema.alterTable("logs").dropColumn("isMobile").execute(),await t.schema.alterTable("logs").dropColumn("connection").execute(),await t.schema.alterTable("logs").dropColumn("connection_id").execute(),await t.schema.alterTable("logs").dropColumn("audience").execute(),await t.schema.alterTable("logs").dropColumn("scope").execute(),await t.schema.alterTable("logs").dropColumn("strategy").execute(),await t.schema.alterTable("logs").dropColumn("strategy_type").execute(),await t.schema.alterTable("logs").dropColumn("hostname").execute(),await t.schema.alterTable("logs").dropColumn("session_connection").execute()}const en=Object.freeze(Object.defineProperty({__proto__:null,down:Za,up:Ya},Symbol.toStringTag,{value:"Module"}));async function tn(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function rn(t){await t.schema.dropIndex("users_name_index").execute()}const an=Object.freeze(Object.defineProperty({__proto__:null,down:rn,up:tn},Symbol.toStringTag,{value:"Module"}));async function nn(t){}async function on(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const sn=Object.freeze(Object.defineProperty({__proto__:null,down:on,up:nn},Symbol.toStringTag,{value:"Module"}));async function ln(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function cn(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const dn=Object.freeze(Object.defineProperty({__proto__:null,down:cn,up:ln},Symbol.toStringTag,{value:"Module"}));async function un(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function mn(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const hn=Object.freeze(Object.defineProperty({__proto__:null,down:mn,up:un},Symbol.toStringTag,{value:"Module"}));async function fn(t){await t.schema.createTable("branding").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("logo_url","varchar(512)").addColumn("favicon_url","varchar(512)").addColumn("font_url","varchar(512)").addColumn("colors_primary","varchar(8)").addColumn("colors_page_background_type","varchar(32)").addColumn("colors_page_background_start","varchar(8)").addColumn("colors_page_background_end","varchar(8)").addColumn("colors_page_background_angle_dev","integer").execute()}async function _n(t){await t.schema.dropTable("branding").execute()}const pn=Object.freeze(Object.defineProperty({__proto__:null,down:_n,up:fn},Symbol.toStringTag,{value:"Module"}));async function gn(t){}async function wn(t){}const yn=Object.freeze(Object.defineProperty({__proto__:null,down:wn,up:gn},Symbol.toStringTag,{value:"Module"}));async function Nn(t){}async function vn(t){}const bn=Object.freeze(Object.defineProperty({__proto__:null,down:vn,up:Nn},Symbol.toStringTag,{value:"Module"}));async function Cn(t){}async function xn(t){}const Tn=Object.freeze(Object.defineProperty({__proto__:null,down:xn,up:Cn},Symbol.toStringTag,{value:"Module"}));async function Sn(t){}async function On(t){}const kn=Object.freeze(Object.defineProperty({__proto__:null,down:On,up:Sn},Symbol.toStringTag,{value:"Module"}));async function $n(t){await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function In(t){await t.schema.dropTable("authentication_codes").execute()}const Dn=Object.freeze(Object.defineProperty({__proto__:null,down:In,up:$n},Symbol.toStringTag,{value:"Module"}));async function Pn(t){}async function jn(t){}const Mn=Object.freeze(Object.defineProperty({__proto__:null,down:jn,up:Pn},Symbol.toStringTag,{value:"Module"}));async function An(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Fn(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Ln=Object.freeze(Object.defineProperty({__proto__:null,down:Fn,up:An},Symbol.toStringTag,{value:"Module"}));async function En(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function zn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Jn=Object.freeze(Object.defineProperty({__proto__:null,down:zn,up:En},Symbol.toStringTag,{value:"Module"}));async function Rn(t){}async function Un(t){}const Kn=Object.freeze(Object.defineProperty({__proto__:null,down:Un,up:Rn},Symbol.toStringTag,{value:"Module"}));async function Bn(t){await t.schema.createTable("hooks").addColumn("hook_id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("trigger_id","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("synchronous","boolean",e=>e.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function Qn(t){await t.schema.dropTable("hooks").execute()}const Vn=Object.freeze(Object.defineProperty({__proto__:null,down:Qn,up:Bn},Symbol.toStringTag,{value:"Module"}));async function qn(t){}async function Wn(t){}const Gn=Object.freeze(Object.defineProperty({__proto__:null,down:Wn,up:qn},Symbol.toStringTag,{value:"Module"}));async function Hn(t){}async function Xn(t){}const Yn=Object.freeze(Object.defineProperty({__proto__:null,down:Xn,up:Hn},Symbol.toStringTag,{value:"Module"}));async function Zn(t){await t.schema.createTable("logins").addColumn("login_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(511)").addColumn("authParams_code_challenge_method","varchar(256)").addColumn("authParams_code_challenge","varchar(256)").addColumn("authParams_redirect_uri","varchar(256)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await t.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function eo(t){await t.schema.dropTable("logins").execute(),await t.schema.alterTable("passwords").dropColumn("algorithm").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const to=Object.freeze(Object.defineProperty({__proto__:null,down:eo,up:Zn},Symbol.toStringTag,{value:"Module"}));async function ro(t){}async function ao(t){}const no=Object.freeze(Object.defineProperty({__proto__:null,down:ao,up:ro},Symbol.toStringTag,{value:"Module"}));async function oo(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function so(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const io=Object.freeze(Object.defineProperty({__proto__:null,down:so,up:oo},Symbol.toStringTag,{value:"Module"}));async function lo(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function co(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const uo=Object.freeze(Object.defineProperty({__proto__:null,down:co,up:lo},Symbol.toStringTag,{value:"Module"}));async function mo(t){}async function ho(t){}const fo=Object.freeze(Object.defineProperty({__proto__:null,down:ho,up:mo},Symbol.toStringTag,{value:"Module"}));async function _o(t){}async function po(t){}const go=Object.freeze(Object.defineProperty({__proto__:null,down:po,up:_o},Symbol.toStringTag,{value:"Module"}));async function wo(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function yo(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const No=Object.freeze(Object.defineProperty({__proto__:null,down:yo,up:wo},Symbol.toStringTag,{value:"Module"}));async function vo(t){}async function bo(t){}const Co=Object.freeze(Object.defineProperty({__proto__:null,down:bo,up:vo},Symbol.toStringTag,{value:"Module"}));async function xo(t){}async function To(t){}const So=Object.freeze(Object.defineProperty({__proto__:null,down:To,up:xo},Symbol.toStringTag,{value:"Module"}));async function Oo(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addColumn("connection_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function ko(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const $o=Object.freeze(Object.defineProperty({__proto__:null,down:ko,up:Oo},Symbol.toStringTag,{value:"Module"}));async function Io(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Do(t){await t.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Po=Object.freeze(Object.defineProperty({__proto__:null,down:Do,up:Io},Symbol.toStringTag,{value:"Module"}));async function jo(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Mo(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Ao=Object.freeze(Object.defineProperty({__proto__:null,down:Mo,up:jo},Symbol.toStringTag,{value:"Module"}));async function Fo(t){}async function Lo(t){}const Eo=Object.freeze(Object.defineProperty({__proto__:null,down:Lo,up:Fo},Symbol.toStringTag,{value:"Module"}));async function zo(t){await t.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",e=>e.primaryKey()).addColumn("universal_login_experience","varchar(16)",e=>e.defaultTo("new").notNull()).addColumn("identifier_first","boolean",e=>e.defaultTo(!0).notNull()).addColumn("password_first","boolean",e=>e.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",e=>e.defaultTo(!1).notNull()).execute()}async function Jo(t){await t.schema.dropTable("prompt_settings").execute()}const Ro=Object.freeze(Object.defineProperty({__proto__:null,down:Jo,up:zo},Symbol.toStringTag,{value:"Module"}));async function Uo(t){}async function Ko(t){}const Bo=Object.freeze(Object.defineProperty({__proto__:null,down:Ko,up:Uo},Symbol.toStringTag,{value:"Module"}));async function Qo(t){}async function Vo(t){}const qo=Object.freeze(Object.defineProperty({__proto__:null,down:Vo,up:Qo},Symbol.toStringTag,{value:"Module"}));async function Wo(t){}async function Go(t){}const Ho=Object.freeze(Object.defineProperty({__proto__:null,down:Go,up:Wo},Symbol.toStringTag,{value:"Module"}));async function Xo(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Yo(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Zo=Object.freeze(Object.defineProperty({__proto__:null,down:Yo,up:Xo},Symbol.toStringTag,{value:"Module"}));async function es(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function ts(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const rs=Object.freeze(Object.defineProperty({__proto__:null,down:ts,up:es},Symbol.toStringTag,{value:"Module"}));async function as(t){}async function ns(t){}const os=Object.freeze(Object.defineProperty({__proto__:null,down:ns,up:as},Symbol.toStringTag,{value:"Module"}));async function ss(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function is(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const ls=Object.freeze(Object.defineProperty({__proto__:null,down:is,up:ss},Symbol.toStringTag,{value:"Module"}));async function cs(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function ds(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const us=Object.freeze(Object.defineProperty({__proto__:null,down:ds,up:cs},Symbol.toStringTag,{value:"Module"}));async function ms(t){await t.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",e=>e.notNull()).addColumn("updated_at","varchar(29)",e=>e.notNull()).execute()}async function hs(t){await t.schema.dropTable("email_providers").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:hs,up:ms},Symbol.toStringTag,{value:"Module"}));async function _s(t){await t.schema.dropTable("tickets").execute()}async function ps(t){await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const gs=Object.freeze(Object.defineProperty({__proto__:null,down:ps,up:_s},Symbol.toStringTag,{value:"Module"}));async function ws(t){}async function ys(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Ns=Object.freeze(Object.defineProperty({__proto__:null,down:ys,up:ws},Symbol.toStringTag,{value:"Module"}));async function vs(t){await t.schema.createTable("refresh_tokens").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("token","varchar(255)",e=>e.notNull()).addColumn("session_id","varchar(255)",e=>e.references("sessions.session_id").onDelete("cascade").notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addColumn("scope","varchar(512)",e=>e.notNull()).addColumn("audience","varchar(512)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull().defaultTo(new Date().toISOString())).addPrimaryKeyConstraint("refresh_tokens_pkey",["tenant_id","token"]).execute()}async function bs(t){await t.schema.dropTable("refresh_tokens").execute()}const Cs=Object.freeze(Object.defineProperty({__proto__:null,down:bs,up:vs},Symbol.toStringTag,{value:"Module"})),Le={m1_init:jr,m2_magicLink:Fr,m3_updateAt:zr,m4_logTable:Ur,m5_userProfile:Qr,m6_sessions:Wr,m7_passwords:Xr,m8_logsTableNewFields:ea,m9_passwordTableNewField:aa,n01_codesTable:sa,n11_universalLoginSession:ca,n12_userFields:ma,n13_userEmailIndex:_a,n14_profileDataField:wa,n15_userEmailIndex:va,n16_userLocale:xa,n17_signingKeys:Oa,n18_logsFields:Ia,n19_connectionsUserinfo:ja,n20_missingFields:Fa,n21_sessionDeletedAt:za,n22_dropLogsFields:Ua,n23_dropUsersFields:Qa,n24_logsIndexes:Wa,n25_logDescMaxLength:Xa,n26_logsTableExtraFields:en,n27_usersTableNameIndex:an,n28_usersEmailConstrain:sn,n29_increaseOtpStateLength:dn,n30_increaseTicketStateLength:hn,n31_branding:pn,n32_indexesAndNotNull:yn,n33_vendorIdInUniversalLoginSession:bn,n34_auth0ClientInUniversalLoginSession:Tn,n35_increaseUniversalSessionStateLength:kn,n36_authenticationCodes:Dn,n37_disableSignUps:Mn,n38_otpIpAddress:Ln,n39_increaseUserAgentLength:Jn,n40_userId:Kn,n41_hooks:Vn,n42_userIdIndexes:Gn,n43_userIdIndexes:Yn,n44_codes:to,n45_hookProperties:no,n46_loginAuth0Client:io,n47_loginAuth0Client:uo,n48_saml:fo,n49_removeFields:go,n50_authParamsNonce:No,n51_connectionid:Co,n52_cert:So,n53_codes_primary_key:$o,n54_cleanup_tables:Po,n55_logs_index:Ao,n56_application_fields:Eo,n57_prompt_settings:Ro,n58_connection_client_id:Bo,n59_connection_options:qo,n60_users_metadata:Ho,n61_userLocales:Zo,n62_prompt:rs,n63_connection_cleanup:os,n64_act_as:ls,n65_code_verifier:us,n66_email_providers:fs,n67_drop_tickets:gs,n68_login_useragents:Ns,n70_refresh_tokens:Cs};async function xs(t,e=!1){e&&console.log("migrating...");const r=new Fe(Le),a=new ve({db:t,provider:r}),{error:o,results:n}=await a.migrateToLatest();if(n==null||n.forEach(s=>{s.status==="Success"?e&&console.log(`migration "${s.migrationName}" was executed successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),o)throw console.error("failed to migrate"),console.error(o),o}async function Ts(t){console.log("migrating...");const e=new Fe(Le),r=new ve({db:t,provider:e}),{error:a,results:o}=await r.migrateDown();if(o==null||o.forEach(n=>{n.status==="Success"?console.log(`migration "${n.migrationName}" was reverted successfully`):n.status==="Error"&&console.error(`failed to execute migration "${n.migrationName}"`)}),a)throw console.error("failed to migrate"),console.error(a),a}function Ss(t){return{applications:Ot(t),branding:Bt(t),clients:Mt(t),codes:vt(t),connections:jt(t),emailProviders:fr(t),domains:Rt(t),hooks:Ht(t),keys:Et(t),logins:ir(t),logs:ot(t),passwords:_t(t),promptSettings:dr(t),refreshTokens:Nr(t),sessions:ut(t),tenants:et(t),themes:rr(t),users:qe(t)}}exports.default=Ss;exports.migrateDown=Ts;exports.migrateToLatest=xs;
|
|
1
|
+
"use strict";var Ee=Object.defineProperty;var de=t=>{throw TypeError(t)};var ze=(t,e,r)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var M=(t,e,r)=>ze(t,typeof e!="symbol"?e+"":e,r),K=(t,e,r)=>e.has(t)||de("Cannot "+r);var c=(t,e,r)=>(K(t,e,"read from private field"),r?r.call(t):e.get(t)),w=(t,e,r)=>e.has(t)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),A=(t,e,r,a)=>(K(t,e,"write to private field"),a?a.call(t,r):e.set(t,r),r),u=(t,e,r)=>(K(t,e,"access private method"),r);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const k=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var q=class extends Error{constructor(e=500,r){super(r==null?void 0:r.message,{cause:r==null?void 0:r.cause});M(this,"res");M(this,"status");this.res=r==null?void 0:r.res,this.status=e}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function Je(t){return async(e,r)=>{const{identities:a,...o}=r,n={...o,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:r.email_verified?1:0,is_social:r.is_social?1:0,app_metadata:JSON.stringify(r.app_metadata),user_metadata:JSON.stringify(r.user_metadata)};try{await t.insertInto("users").values(n).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new q(409,{message:"User already exists"}):new q(500,{message:`${s.code}, ${s.message}`})}return{...n,email:n.email||"",email_verified:n.email_verified===1,is_social:n.is_social===1}}}function f(t){const e={...t};for(const r in e)e[r]===null?delete e[r]:typeof e[r]=="object"&&(Array.isArray(e[r])?e[r]=e[r].map(f):e[r]=f(e[r]));return e}function _e(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(r){console.error("Error parsing profileData",r)}return{connection:t.connection,provider:t.provider,user_id:k.parseUserId(t.user_id).id,isSocial:!!t.is_social,profileData:{email:t.email,email_verified:!!t.email_verified,...e}}}function Re(t){return async(e,r)=>{const[a,o]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).selectAll().execute()]);if(!a)return null;const{tenant_id:n,...s}=a,l={...s,email:a.email||"",email_verified:a.email_verified===1,is_social:a.is_social===1,app_metadata:JSON.parse(a.app_metadata),user_metadata:JSON.parse(a.user_metadata),identities:[{connection:a.connection,provider:a.provider,user_id:k.parseUserId(a.user_id).id,isSocial:!!a.is_social},...o.map(_e)]};return f(l)}}function T(t,e,r,a){return r.split(/\s+/).map(n=>n.replace(/^([^:]+)=/g,"$1:")).map(n=>{let s=n.startsWith("-"),l,d,g,m;return n.startsWith("-_exists_:")?(l=n.substring(10),g=!0,s=!0):n.startsWith("_exists_:")?(l=n.substring(9),g=!0,s=!1):n.includes(":")?(s=n.startsWith("-"),[l,d]=s?n.substring(1).split(":"):n.split(":"),g=!1,d.startsWith(">=")?(m=">=",d=d.substring(2)):d.startsWith(">")?(m=">",d=d.substring(1)):d.startsWith("<=")?(m="<=",d=d.substring(2)):d.startsWith("<")?(m="<",d=d.substring(1)):m="="):(l=null,d=n,g=!1),{key:l,value:d,isNegation:s,isExistsQuery:g,operator:m}}).forEach(({key:n,value:s,isNegation:l,isExistsQuery:d,operator:g})=>{if(n)if(d)l?e=e.where(n,"is",null):e=e.where(n,"is not",null);else if(l)switch(g){case">":e=e.where(n,"<=",s);break;case">=":e=e.where(n,"<",s);break;case"<":e=e.where(n,">=",s);break;case"<=":e=e.where(n,">",s);break;default:e=e.where(n,"!=",s)}else e=e.where(n,g,s);else{const{ref:m}=t.dynamic;e=e.where(y=>y.or(a.map(x=>y(m(x),"like",`%${s}%`))))}}),e}function C(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ue(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("users").where("users.tenant_id","=",e);if(r.q&&(a=T(t,a,r.q,["email","name"])),r.sort&&r.sort.sort_by){const{ref:m}=t.dynamic;a=a.orderBy(m(r.sort.sort_by),r.sort.sort_order)}const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),s=n.map(m=>m.user_id),l=s.length?await t.selectFrom("users").selectAll().where("users.tenant_id","=",e).where("users.linked_to","in",s).execute():[],d=n.map(m=>{const y=l.filter(x=>x.linked_to===m.user_id);return f({...m,email_verified:m.email_verified===1,is_social:m.is_social===1,app_metadata:JSON.parse(m.app_metadata),user_metadata:JSON.parse(m.user_metadata),identities:[{connection:m.connection,provider:m.provider,user_id:k.parseUserId(m.user_id).id,isSocial:!!m.is_social},...y.map(_e)]})}),{count:g}=await a.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:d,start:r.page*r.per_page,limit:r.per_page,length:C(g)}}}function Ke(t){return async(e,r)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",r).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1)}function Be(t){if(t.email_verified!==void 0)return t.email_verified?1:0}function Qe(t){return async(e,r,a)=>{const o={...a,email_verified:Be(a),updated_at:new Date().toISOString()};return a.app_metadata&&(o.app_metadata=JSON.stringify(a.app_metadata)),a.user_metadata&&(o.user_metadata=JSON.stringify(a.user_metadata)),(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",r).execute()).length===1}}function Ve(t){return async(e,r,a,o)=>{const n={linked_to:null};return(await t.updateTable("users").set(n).where("users.tenant_id","=",e).where("users.user_id","=",`${a}|${o}`).where("users.linked_to","=",`${r}`).execute()).length===1}}function qe(t){return{create:Je(t),remove:Ke(t),get:Re(t),list:Ue(t),update:Qe(t),unlink:Ve(t)}}const We="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let $=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=We[r[t]&63];return e};function Ge(t){return async e=>{const r={id:e.id||$(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(r).execute(),r}}function He(t){return async e=>{const r=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return r?f(r):null}}function Xe(t){return async(e={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("tenants");if(e.sort&&e.sort.sort_by){const{ref:l}=t.dynamic;r=r.orderBy(l(e.sort.sort_by),e.sort.sort_order)}e.q&&(r=r.where(l=>l.or([l("name","like",`%${e.q}%`)])));const o=await r.offset(e.page*e.per_page).limit(e.per_page).selectAll().execute();if(!e.include_totals)return{tenants:o};const{count:n}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),s=C(n);return{tenants:o.map(f),start:(e.page-1)*e.per_page,limit:e.per_page,length:s}}}function Ye(t){return async(e,r)=>{const a={...r,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(a).where("id","=",e).execute()}}function Ze(t){return async e=>(await t.deleteFrom("tenants").where("tenants.id","=",e).execute()).length===1}function et(t){return{create:Ge(t),get:He(t),list:Xe(t),update:Ye(t),remove:Ze(t)}}function ue(t){return t?JSON.stringify(t):void 0}const tt=1024;function rt(t){return async(e,r)=>{var o,n,s;const a={id:$(),...r,user_agent:r.user_agent.slice(0,tt)};return await t.insertInto("logs").values({...a,description:(o=a.description)==null?void 0:o.substring(0,256),isMobile:r.isMobile?1:0,tenant_id:e,scope:(n=r.scope)==null?void 0:n.join(","),auth0_client:ue(r.auth0_client),details:(s=ue(r.details))==null?void 0:s.substring(0,8192)}).execute(),a}}function me(t){if(!t)return"";try{return JSON.parse(t)}catch{return t}}function pe(t){return{...t,client_id:t.client_id,client_name:"",auth0_client:me(t.auth0_client),details:me(t.details),isMobile:!!t.isMobile,scope:t.scope?t.scope.split(","):void 0,log_id:t.id,_id:t.id}}function at(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("logs").where("logs.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:l}=t.dynamic;o=o.orderBy(l(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:n.map(pe),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function nt(t){return async(e,r)=>{const a=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",r).selectAll().executeTakeFirst();return a?pe(a):null}}function ot(t){return{create:rt(t),list:at(t),get:nt(t)}}function st(t){return async(e,r)=>await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).selectAll().executeTakeFirst()??null}function it(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString(),expires_at:new Date().toISOString()};return await t.insertInto("sessions").values({...a,tenant_id:e}).execute(),{...r,...a}}}function lt(t){return async(e,r)=>!!(await t.updateTable("sessions").set({deleted_at:new Date().toISOString()}).where("tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).execute()).length}function ct(t){return async(e,r,a)=>!!(await t.updateTable("sessions").set(a).where("tenant_id","=",e).where("sessions.session_id","=",r).where("sessions.deleted_at","is",null).execute()).length}function dt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("sessions").where("sessions.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","session_id"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=C(s);return{sessions:n,start:r.page*r.per_page,limit:r.per_page,length:l}}}function ut(t){return{create:it(t),get:st(t),list:dt(t),remove:lt(t),update:ct(t)}}function mt(t){return async(e,r)=>{const a=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",r).selectAll().executeTakeFirstOrThrow(),{tenant_id:o,...n}=a;return n}}function ht(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...a,tenant_id:e}).execute(),a}}function ft(t){return async(e,r)=>(await t.updateTable("passwords").set({password:r.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",r.user_id).execute()).length===1}function _t(t){return{create:ht(t),update:ft(t),get:mt(t)}}function pt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("codes").where("codes.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["code","login_id"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:n.map(d=>{const{tenant_id:g,...m}=d;return k.codeSchema.parse(f(m))}),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function gt(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...a,tenant_id:e}).execute(),a}}function wt(t){return async(e,r)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numDeletedRows>0}function yt(t){return async(e,r,a)=>{let o=t.selectFrom("codes").where("codes.code_id","=",r).where("codes.code_type","=",a);e.length&&(o=o.where("codes.tenant_id","=",e));const n=await o.selectAll().executeTakeFirst();return n?f(n):null}}function Nt(t){return async(e,r)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",r).executeTakeFirst()).numUpdatedRows>0}function vt(t){return{create:gt(t),list:pt(t),remove:wt(t),used:Nt(t),get:yt(t)}}function bt(t){return async(e,r)=>{const a={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...r},o=JSON.stringify(r.allowed_origins),n=JSON.stringify(r.callbacks),s=JSON.stringify(r.web_origins),l=JSON.stringify(r.allowed_logout_urls),d=JSON.stringify(r.allowed_clients);return await t.insertInto("applications").values({...a,tenant_id:e,disable_sign_ups:r.disable_sign_ups?1:0,addons:r.addons?JSON.stringify(r.addons):"{}",callbacks:n,allowed_origins:o,web_origins:s,allowed_logout_urls:l,allowed_clients:d}).execute(),a}}function Ct(t){return async e=>({applications:(await t.selectFrom("applications").where("applications.tenant_id","=",e).selectAll().execute()).map(n=>({...n,disable_sign_ups:!!n.disable_sign_ups,addons:n.addons?JSON.parse(n.addons):{},callbacks:n.callbacks?JSON.parse(n.callbacks):[],allowed_origins:n.allowed_origins?JSON.parse(n.allowed_origins):[],web_origins:n.web_origins?JSON.parse(n.web_origins):[],allowed_logout_urls:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[],allowed_clients:n.allowed_logout_urls?JSON.parse(n.allowed_logout_urls):[]}))})}function xt(t){return async(e,r)=>{const a=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).selectAll().executeTakeFirst();return a?f({...a,disable_sign_ups:!!a.disable_sign_ups,addons:JSON.parse(a.addons),callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),allowed_logout_urls:JSON.parse(a.allowed_logout_urls)}):null}}function Tt(t){return async(e,r)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",r).executeTakeFirst()).numDeletedRows>0}function St(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString(),allowed_origins:a.allowed_origins?JSON.stringify(a.allowed_origins):void 0,callbacks:a.callbacks?JSON.stringify(a.callbacks):void 0,web_origins:a.web_origins?JSON.stringify(a.web_origins):void 0,allowed_logout_urls:a.allowed_logout_urls?JSON.stringify(a.allowed_logout_urls):void 0,allowed_clients:a.allowed_clients?JSON.stringify(a.allowed_clients):void 0,addons:a.addons?JSON.stringify(a.addons):"{}",disable_sign_ups:a.disable_sign_ups?1:0};return await t.updateTable("applications").set(o).where("applications.id","=",r).where("applications.tenant_id","=",e).execute(),!0}}function Ot(t){return{create:bt(t),list:Ct(t),get:xt(t),remove:Tt(t),update:St(t)}}function kt(t){return async(e,r)=>{const a={id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...a,options:JSON.stringify(a.options||{}),tenant_id:e}).execute(),a}}function $t(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("connections").where("connections.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));const s=(await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute()).map(d=>f({...d,options:JSON.parse(d.options)})),{count:l}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:s,start:r.page*r.per_page,limit:r.per_page,length:C(l)}}}function It(t){return async(e,r)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).executeTakeFirst()).numDeletedRows>0}function Dt(t){return async(e,r)=>{const a=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",r).selectAll().executeTakeFirst();return a?f({...a,options:JSON.parse(a.options)}):null}}function Pt(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...o,options:o.options?JSON.stringify(o.options):void 0}).where("connections.id","=",r).where("connections.tenant_id","=",e).execute(),!0}}function jt(t){return{create:kt(t),get:Dt(t),list:$t(t),remove:It(t),update:Pt(t)}}function Mt(t){return{get:async e=>{const r=await t.selectFrom("applications").selectAll().where("id","=",e).executeTakeFirst();if(!r)return null;const a=await t.selectFrom("tenants").selectAll().where("id","=",r.tenant_id).executeTakeFirst();if(!a)throw new q(404,{message:"Tenant not found"});const o=await t.selectFrom("connections").where("tenant_id","=",r.tenant_id).selectAll().execute(),n=await t.selectFrom("domains").where("tenant_id","=",r.tenant_id).selectAll().execute();return{...r,connections:o.map(l=>k.connectionSchema.parse(f({...l,options:l.options?JSON.parse(l.options):{}}))),domains:n,addons:r.addons?JSON.parse(r.addons):{},callbacks:r.callbacks?JSON.parse(r.callbacks):[],allowed_origins:r.allowed_origins?JSON.parse(r.allowed_origins):[],web_origins:r.web_origins?JSON.parse(r.web_origins):[],allowed_logout_urls:r.allowed_logout_urls?JSON.parse(r.allowed_logout_urls):[],allowed_clients:r.allowed_clients?JSON.parse(r.allowed_clients):[],tenant:f(a),disable_sign_ups:!!r.disable_sign_ups}}}}function At(t){return async()=>await t.selectFrom("keys").where(r=>r.or([r("revoked_at",">",new Date().toISOString()),r("revoked_at","is",null)])).selectAll().execute()}function Ft(t){return async e=>{await t.insertInto("keys").values({...e,created_at:new Date().toDateString()}).execute()}}function Lt(t){return async(e,r)=>!!(await t.updateTable("keys").set(r).where("kid","=",e).execute()).length}function Et(t){return{create:Ft(t),list:At(t),update:Lt(t)}}function zt(t){return async(e,r)=>{const a={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,id:$(),...r};return await t.insertInto("domains").values(a).execute(),a}}function Jt(t){return async(e,r)=>{let a=t.selectFrom("domains").where("domains.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["user_id","ip"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{domains:n,start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function Rt(t){return{create:zt(t),list:Jt(t)}}function Ut(t){return async e=>{const[r]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:a,colors_primary:o,colors_page_background_type:n,colors_page_background_start:s,colors_page_background_end:l,colors_page_background_angle_dev:d,font_url:g,...m}=r;return f({...m,colors:{primary:o,page_background:{type:n,start:s,end:l,angle_deg:d}},font:g?{url:g}:void 0})}}function Kt(t){return async(e,r)=>{var s,l,d,g,m,y,x,Z,ee,te,re,ae,ne,oe,se,ie,le,ce;const{colors:a,font:o,...n}=r;try{await t.insertInto("branding").values({...n,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(l=(s=r.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(g=(d=r.colors)==null?void 0:d.page_background)==null?void 0:g.start,colors_page_background_end:(y=(m=r.colors)==null?void 0:m.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(Z=(x=r.colors)==null?void 0:x.page_background)==null?void 0:Z.angle_deg,font_url:(ee=r.font)==null?void 0:ee.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...n,colors_primary:a==null?void 0:a.primary,colors_page_background_type:(re=(te=r.colors)==null?void 0:te.page_background)==null?void 0:re.type,colors_page_background_start:(ne=(ae=r.colors)==null?void 0:ae.page_background)==null?void 0:ne.start,colors_page_background_end:(se=(oe=r.colors)==null?void 0:oe.page_background)==null?void 0:se.end,colors_page_background_angle_dev:(le=(ie=r.colors)==null?void 0:ie.page_background)==null?void 0:le.angle_deg,font_url:(ce=r.font)==null?void 0:ce.url}).where("tenant_id","=",e).execute()}}}function Bt(t){return{get:Ut(t),set:Kt(t)}}function Qt(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("hooks").where("hooks.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["url"]));const n=await a.offset(r.page*r.per_page).limit(r.per_page).selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:n.map(d=>{const{tenant_id:g,enabled:m,synchronous:y,...x}=d;return f({...x,enabled:!!m,synchronous:!!y})}),start:r.page*r.per_page,limit:r.per_page,length:C(s)}}}function Vt(t){return async(e,r)=>{const a=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).selectAll().executeTakeFirst();return a?f({...a,enabled:!!a.enabled,synchronous:!!a.synchronous}):null}}function qt(t){return async(e,r)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",r).executeTakeFirst()).numDeletedRows>0}function Wt(t){return async(e,r)=>{const a={hook_id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...a,tenant_id:e,enabled:r.enabled?1:0,synchronous:r.synchronous?1:0}).execute(),a}}function Gt(t){return async(e,r,a)=>{const o={...a,updated_at:new Date().toISOString(),enabled:a.enabled!==void 0?a.enabled?1:0:void 0,synchronous:a.enabled!==void 0?a.synchronous?1:0:void 0};return await t.updateTable("hooks").set(o).where("hooks.hook_id","=",r).where("hooks.tenant_id","=",e).execute(),!0}}function Ht(t){return{create:Wt(t),get:Vt(t),list:Qt(t),update:Gt(t),remove:qt(t)}}function J(t,e="",r={}){for(let a in t)if(Object.prototype.hasOwnProperty.call(t,a)){const o=e?`${e}_${a}`:a;typeof t[a]=="object"&&t[a]!==null&&!Array.isArray(t[a])?J(t[a],o,r):r[o]=t[a]}return r}function Xt(t,e){const r={};for(const[a,o]of Object.entries(t)){const n=e.find(s=>a.startsWith(`${s}_`));if(!n)r[a]=o;else{const s=a.slice(n.length+1);r[n]={...r[n],[s]:o}}}return r}function Yt(t){return async(e,r)=>{const a={themeId:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("themes").values({...J(a),tenant_id:e}).execute(),a}}function Zt(t){return async(e,r)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",r).executeTakeFirst()).numDeletedRows>0}function er(t){return async(e,r)=>{const a=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",r).selectAll().executeTakeFirst();return a?f(a):null}}function tr(t){return async(e,r,a)=>{const o=J({...a,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(o).where("themes.id","=",r).where("themes.tenant_id","=",e).execute(),!0}}function rr(t){return{create:Yt(t),get:er(t),remove:Zt(t),update:tr(t)}}function ar(t){return async(e,r)=>{const a=new Date().toISOString(),o=await t.selectFrom("logins").where("logins.expires_at",">",a).where("logins.login_id","=",r).selectAll().executeTakeFirst();return o?k.loginSchema.parse(Xt(f(o),["authParams"])):null}}function nr(t){return async(e,r)=>{const a={login_id:$(),...r,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("logins").values({...J(a),tenant_id:e}).execute(),a}}function or(t){return async(e,r,a)=>(await t.updateTable("logins").set(J(a)).where("logins.login_id","=",r).where("logins.tenant_id","=",e).execute()).length===1}function sr(t){return async(e,r)=>(await t.deleteFrom("logins").where("logins.tenant_id","=",e).where("logins.login_id","=",r).execute()).length>0}function ir(t){return{create:nr(t),get:ar(t),update:or(t),remove:sr(t)}}function lr(t){return async e=>{const[r]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return f({identifier_first:!!(r!=null&&r.identifier_first),password_first:!!(r!=null&&r.password_first),webauthn_platform_first_factor:!!(r!=null&&r.webauthn_platform_first_factor),universal_login_experience:(r==null?void 0:r.universal_login_experience)||"new"})}}function he(t){return f({...t,webauthn_platform_first_factor:t.webauthn_platform_first_factor?!!t.webauthn_platform_first_factor:void 0,identifier_first:t.identifier_first?!!t.identifier_first:void 0,password_first:t.password_first?!!t.password_first:void 0,universal_login_experience:t.universal_login_experience})}function cr(t){return async(e,r)=>{try{const a=k.promptSettingSchema.parse(r);await t.insertInto("prompt_settings").values({...he(a),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(he(r)).where("tenant_id","=",e).execute()}}}function dr(t){return{get:lr(t),set:cr(t)}}function ur(t){return async e=>{const[r]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!r)return null;const{tenant_id:a,credentials:o,settings:n,enabled:s,...l}=r;return f({...l,credentials:JSON.parse(o),settings:JSON.parse(n),enabled:!!s})}}function mr(t){return async(e,r)=>{const{credentials:a,settings:o,enabled:n,...s}=r;await t.updateTable("email_providers").set({...s,credentials:a?JSON.stringify(a):void 0,settings:o?JSON.stringify(o):void 0,enabled:n!==void 0?n?1:0:void 0}).where("tenant_id","=",e).execute()}}function hr(t){return async(e,r)=>{const{credentials:a,settings:o,enabled:n,...s}=r;await t.insertInto("email_providers").values({...s,enabled:n?1:0,credentials:JSON.stringify(a),settings:JSON.stringify(o),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function fr(t){return{get:ur(t),create:hr(t),update:mr(t)}}function _r(t){return async(e,r)=>await t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e).where("refresh_tokens.token","=",r).where("refresh_tokens.revoked_at","is",null).selectAll().executeTakeFirst()??null}function pr(t){return async(e,r)=>{const a={...r,created_at:new Date().toISOString()};return await t.insertInto("refresh_tokens").values({...a,tenant_id:e}).execute(),{...r,...a}}}function gr(t){return async(e,r)=>!!(await t.deleteFrom("refresh_tokens").where("tenant_id","=",e).where("refresh_tokens.token","=",r).execute()).length}function wr(t){return async(e,r,a)=>!!(await t.updateTable("refresh_tokens").set(a).where("tenant_id","=",e).where("refresh_tokens.token","=",r).execute()).length}function yr(t){return async(e,r={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",e);r.q&&(a=T(t,a,r.q,["token","session_id"]));let o=a;if(r.sort&&r.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(r.sort.sort_by),r.sort.sort_order)}o=o.offset(r.page*r.per_page).limit(r.per_page);const n=await o.selectAll().execute(),{count:s}=await a.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=C(s);return{refresh_tokens:n,start:r.page*r.per_page,limit:r.per_page,length:l}}}function Nr(t){return{create:pr(t),get:_r(t),list:yr(t),remove:gr(t),update:wr(t)}}function vr(t){return t[t.length-1]}function p(t){return Object.freeze(t)}const R=p({is(t){return t.kind==="IdentifierNode"},create(t){return p({kind:"IdentifierNode",name:t})}}),W=p({is(t){return t.kind==="SchemableIdentifierNode"},create(t){return p({kind:"SchemableIdentifierNode",identifier:R.create(t)})},createWithSchema(t,e){return p({kind:"SchemableIdentifierNode",schema:R.create(t),identifier:R.create(e)})}}),br=p({is(t){return t.kind==="AliasNode"},create(t,e){return p({kind:"AliasNode",node:t,alias:e})}}),B=p({is(t){return t.kind==="TableNode"},create(t){return p({kind:"TableNode",table:W.create(t)})},createWithSchema(t,e){return p({kind:"TableNode",table:W.createWithSchema(t,e)})}});var U;class Cr{constructor(){M(this,"nodeStack",[]);w(this,U,p({AliasNode:this.transformAlias.bind(this),ColumnNode:this.transformColumn.bind(this),IdentifierNode:this.transformIdentifier.bind(this),SchemableIdentifierNode:this.transformSchemableIdentifier.bind(this),RawNode:this.transformRaw.bind(this),ReferenceNode:this.transformReference.bind(this),SelectQueryNode:this.transformSelectQuery.bind(this),SelectionNode:this.transformSelection.bind(this),TableNode:this.transformTable.bind(this),FromNode:this.transformFrom.bind(this),SelectAllNode:this.transformSelectAll.bind(this),AndNode:this.transformAnd.bind(this),OrNode:this.transformOr.bind(this),ValueNode:this.transformValue.bind(this),ValueListNode:this.transformValueList.bind(this),PrimitiveValueListNode:this.transformPrimitiveValueList.bind(this),ParensNode:this.transformParens.bind(this),JoinNode:this.transformJoin.bind(this),OperatorNode:this.transformOperator.bind(this),WhereNode:this.transformWhere.bind(this),InsertQueryNode:this.transformInsertQuery.bind(this),DeleteQueryNode:this.transformDeleteQuery.bind(this),ReturningNode:this.transformReturning.bind(this),CreateTableNode:this.transformCreateTable.bind(this),AddColumnNode:this.transformAddColumn.bind(this),ColumnDefinitionNode:this.transformColumnDefinition.bind(this),DropTableNode:this.transformDropTable.bind(this),DataTypeNode:this.transformDataType.bind(this),OrderByNode:this.transformOrderBy.bind(this),OrderByItemNode:this.transformOrderByItem.bind(this),GroupByNode:this.transformGroupBy.bind(this),GroupByItemNode:this.transformGroupByItem.bind(this),UpdateQueryNode:this.transformUpdateQuery.bind(this),ColumnUpdateNode:this.transformColumnUpdate.bind(this),LimitNode:this.transformLimit.bind(this),OffsetNode:this.transformOffset.bind(this),OnConflictNode:this.transformOnConflict.bind(this),OnDuplicateKeyNode:this.transformOnDuplicateKey.bind(this),CreateIndexNode:this.transformCreateIndex.bind(this),DropIndexNode:this.transformDropIndex.bind(this),ListNode:this.transformList.bind(this),PrimaryKeyConstraintNode:this.transformPrimaryKeyConstraint.bind(this),UniqueConstraintNode:this.transformUniqueConstraint.bind(this),ReferencesNode:this.transformReferences.bind(this),CheckConstraintNode:this.transformCheckConstraint.bind(this),WithNode:this.transformWith.bind(this),CommonTableExpressionNode:this.transformCommonTableExpression.bind(this),CommonTableExpressionNameNode:this.transformCommonTableExpressionName.bind(this),HavingNode:this.transformHaving.bind(this),CreateSchemaNode:this.transformCreateSchema.bind(this),DropSchemaNode:this.transformDropSchema.bind(this),AlterTableNode:this.transformAlterTable.bind(this),DropColumnNode:this.transformDropColumn.bind(this),RenameColumnNode:this.transformRenameColumn.bind(this),AlterColumnNode:this.transformAlterColumn.bind(this),ModifyColumnNode:this.transformModifyColumn.bind(this),AddConstraintNode:this.transformAddConstraint.bind(this),DropConstraintNode:this.transformDropConstraint.bind(this),ForeignKeyConstraintNode:this.transformForeignKeyConstraint.bind(this),CreateViewNode:this.transformCreateView.bind(this),DropViewNode:this.transformDropView.bind(this),GeneratedNode:this.transformGenerated.bind(this),DefaultValueNode:this.transformDefaultValue.bind(this),OnNode:this.transformOn.bind(this),ValuesNode:this.transformValues.bind(this),SelectModifierNode:this.transformSelectModifier.bind(this),CreateTypeNode:this.transformCreateType.bind(this),DropTypeNode:this.transformDropType.bind(this),ExplainNode:this.transformExplain.bind(this),DefaultInsertValueNode:this.transformDefaultInsertValue.bind(this),AggregateFunctionNode:this.transformAggregateFunction.bind(this),OverNode:this.transformOver.bind(this),PartitionByNode:this.transformPartitionBy.bind(this),PartitionByItemNode:this.transformPartitionByItem.bind(this),SetOperationNode:this.transformSetOperation.bind(this),BinaryOperationNode:this.transformBinaryOperation.bind(this),UnaryOperationNode:this.transformUnaryOperation.bind(this),UsingNode:this.transformUsing.bind(this),FunctionNode:this.transformFunction.bind(this),CaseNode:this.transformCase.bind(this),WhenNode:this.transformWhen.bind(this),JSONReferenceNode:this.transformJSONReference.bind(this),JSONPathNode:this.transformJSONPath.bind(this),JSONPathLegNode:this.transformJSONPathLeg.bind(this),JSONOperatorChainNode:this.transformJSONOperatorChain.bind(this),TupleNode:this.transformTuple.bind(this),MergeQueryNode:this.transformMergeQuery.bind(this),MatchedNode:this.transformMatched.bind(this),AddIndexNode:this.transformAddIndex.bind(this),CastNode:this.transformCast.bind(this),FetchNode:this.transformFetch.bind(this),TopNode:this.transformTop.bind(this),OutputNode:this.transformOutput.bind(this)}))}transformNode(e){if(!e)return e;this.nodeStack.push(e);const r=this.transformNodeImpl(e);return this.nodeStack.pop(),p(r)}transformNodeImpl(e){return c(this,U)[e.kind](e)}transformNodeList(e){return e&&p(e.map(r=>this.transformNode(r)))}transformSelectQuery(e){return{kind:"SelectQueryNode",from:this.transformNode(e.from),selections:this.transformNodeList(e.selections),distinctOn:this.transformNodeList(e.distinctOn),joins:this.transformNodeList(e.joins),groupBy:this.transformNode(e.groupBy),orderBy:this.transformNode(e.orderBy),where:this.transformNode(e.where),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),limit:this.transformNode(e.limit),offset:this.transformNode(e.offset),with:this.transformNode(e.with),having:this.transformNode(e.having),explain:this.transformNode(e.explain),setOperations:this.transformNodeList(e.setOperations),fetch:this.transformNode(e.fetch),top:this.transformNode(e.top)}}transformSelection(e){return{kind:"SelectionNode",selection:this.transformNode(e.selection)}}transformColumn(e){return{kind:"ColumnNode",column:this.transformNode(e.column)}}transformAlias(e){return{kind:"AliasNode",node:this.transformNode(e.node),alias:this.transformNode(e.alias)}}transformTable(e){return{kind:"TableNode",table:this.transformNode(e.table)}}transformFrom(e){return{kind:"FromNode",froms:this.transformNodeList(e.froms)}}transformReference(e){return{kind:"ReferenceNode",column:this.transformNode(e.column),table:this.transformNode(e.table)}}transformAnd(e){return{kind:"AndNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformOr(e){return{kind:"OrNode",left:this.transformNode(e.left),right:this.transformNode(e.right)}}transformValueList(e){return{kind:"ValueListNode",values:this.transformNodeList(e.values)}}transformParens(e){return{kind:"ParensNode",node:this.transformNode(e.node)}}transformJoin(e){return{kind:"JoinNode",joinType:e.joinType,table:this.transformNode(e.table),on:this.transformNode(e.on)}}transformRaw(e){return{kind:"RawNode",sqlFragments:p([...e.sqlFragments]),parameters:this.transformNodeList(e.parameters)}}transformWhere(e){return{kind:"WhereNode",where:this.transformNode(e.where)}}transformInsertQuery(e){return{kind:"InsertQueryNode",into:this.transformNode(e.into),columns:this.transformNodeList(e.columns),values:this.transformNode(e.values),returning:this.transformNode(e.returning),onConflict:this.transformNode(e.onConflict),onDuplicateKey:this.transformNode(e.onDuplicateKey),with:this.transformNode(e.with),ignore:e.ignore,replace:e.replace,explain:this.transformNode(e.explain),defaultValues:e.defaultValues,top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformValues(e){return{kind:"ValuesNode",values:this.transformNodeList(e.values)}}transformDeleteQuery(e){return{kind:"DeleteQueryNode",from:this.transformNode(e.from),using:this.transformNode(e.using),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),returning:this.transformNode(e.returning),with:this.transformNode(e.with),orderBy:this.transformNode(e.orderBy),limit:this.transformNode(e.limit),explain:this.transformNode(e.explain),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformReturning(e){return{kind:"ReturningNode",selections:this.transformNodeList(e.selections)}}transformCreateTable(e){return{kind:"CreateTableNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),constraints:this.transformNodeList(e.constraints),temporary:e.temporary,ifNotExists:e.ifNotExists,onCommit:e.onCommit,frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),selectQuery:this.transformNode(e.selectQuery)}}transformColumnDefinition(e){return{kind:"ColumnDefinitionNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),references:this.transformNode(e.references),primaryKey:e.primaryKey,autoIncrement:e.autoIncrement,unique:e.unique,notNull:e.notNull,unsigned:e.unsigned,defaultTo:this.transformNode(e.defaultTo),check:this.transformNode(e.check),generated:this.transformNode(e.generated),frontModifiers:this.transformNodeList(e.frontModifiers),endModifiers:this.transformNodeList(e.endModifiers),nullsNotDistinct:e.nullsNotDistinct,identity:e.identity,ifNotExists:e.ifNotExists}}transformAddColumn(e){return{kind:"AddColumnNode",column:this.transformNode(e.column)}}transformDropTable(e){return{kind:"DropTableNode",table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformOrderBy(e){return{kind:"OrderByNode",items:this.transformNodeList(e.items)}}transformOrderByItem(e){return{kind:"OrderByItemNode",orderBy:this.transformNode(e.orderBy),direction:this.transformNode(e.direction)}}transformGroupBy(e){return{kind:"GroupByNode",items:this.transformNodeList(e.items)}}transformGroupByItem(e){return{kind:"GroupByItemNode",groupBy:this.transformNode(e.groupBy)}}transformUpdateQuery(e){return{kind:"UpdateQueryNode",table:this.transformNode(e.table),from:this.transformNode(e.from),joins:this.transformNodeList(e.joins),where:this.transformNode(e.where),updates:this.transformNodeList(e.updates),returning:this.transformNode(e.returning),with:this.transformNode(e.with),explain:this.transformNode(e.explain),limit:this.transformNode(e.limit),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformColumnUpdate(e){return{kind:"ColumnUpdateNode",column:this.transformNode(e.column),value:this.transformNode(e.value)}}transformLimit(e){return{kind:"LimitNode",limit:this.transformNode(e.limit)}}transformOffset(e){return{kind:"OffsetNode",offset:this.transformNode(e.offset)}}transformOnConflict(e){return{kind:"OnConflictNode",columns:this.transformNodeList(e.columns),constraint:this.transformNode(e.constraint),indexExpression:this.transformNode(e.indexExpression),indexWhere:this.transformNode(e.indexWhere),updates:this.transformNodeList(e.updates),updateWhere:this.transformNode(e.updateWhere),doNothing:e.doNothing}}transformOnDuplicateKey(e){return{kind:"OnDuplicateKeyNode",updates:this.transformNodeList(e.updates)}}transformCreateIndex(e){return{kind:"CreateIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists,where:this.transformNode(e.where),nullsNotDistinct:e.nullsNotDistinct}}transformList(e){return{kind:"ListNode",items:this.transformNodeList(e.items)}}transformDropIndex(e){return{kind:"DropIndexNode",name:this.transformNode(e.name),table:this.transformNode(e.table),ifExists:e.ifExists,cascade:e.cascade}}transformPrimaryKeyConstraint(e){return{kind:"PrimaryKeyConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name)}}transformUniqueConstraint(e){return{kind:"UniqueConstraintNode",columns:this.transformNodeList(e.columns),name:this.transformNode(e.name),nullsNotDistinct:e.nullsNotDistinct}}transformForeignKeyConstraint(e){return{kind:"ForeignKeyConstraintNode",columns:this.transformNodeList(e.columns),references:this.transformNode(e.references),name:this.transformNode(e.name),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformSetOperation(e){return{kind:"SetOperationNode",operator:e.operator,expression:this.transformNode(e.expression),all:e.all}}transformReferences(e){return{kind:"ReferencesNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns),onDelete:e.onDelete,onUpdate:e.onUpdate}}transformCheckConstraint(e){return{kind:"CheckConstraintNode",expression:this.transformNode(e.expression),name:this.transformNode(e.name)}}transformWith(e){return{kind:"WithNode",expressions:this.transformNodeList(e.expressions),recursive:e.recursive}}transformCommonTableExpression(e){return{kind:"CommonTableExpressionNode",name:this.transformNode(e.name),materialized:e.materialized,expression:this.transformNode(e.expression)}}transformCommonTableExpressionName(e){return{kind:"CommonTableExpressionNameNode",table:this.transformNode(e.table),columns:this.transformNodeList(e.columns)}}transformHaving(e){return{kind:"HavingNode",having:this.transformNode(e.having)}}transformCreateSchema(e){return{kind:"CreateSchemaNode",schema:this.transformNode(e.schema),ifNotExists:e.ifNotExists}}transformDropSchema(e){return{kind:"DropSchemaNode",schema:this.transformNode(e.schema),ifExists:e.ifExists,cascade:e.cascade}}transformAlterTable(e){return{kind:"AlterTableNode",table:this.transformNode(e.table),renameTo:this.transformNode(e.renameTo),setSchema:this.transformNode(e.setSchema),columnAlterations:this.transformNodeList(e.columnAlterations),addConstraint:this.transformNode(e.addConstraint),dropConstraint:this.transformNode(e.dropConstraint),addIndex:this.transformNode(e.addIndex),dropIndex:this.transformNode(e.dropIndex)}}transformDropColumn(e){return{kind:"DropColumnNode",column:this.transformNode(e.column)}}transformRenameColumn(e){return{kind:"RenameColumnNode",column:this.transformNode(e.column),renameTo:this.transformNode(e.renameTo)}}transformAlterColumn(e){return{kind:"AlterColumnNode",column:this.transformNode(e.column),dataType:this.transformNode(e.dataType),dataTypeExpression:this.transformNode(e.dataTypeExpression),setDefault:this.transformNode(e.setDefault),dropDefault:e.dropDefault,setNotNull:e.setNotNull,dropNotNull:e.dropNotNull}}transformModifyColumn(e){return{kind:"ModifyColumnNode",column:this.transformNode(e.column)}}transformAddConstraint(e){return{kind:"AddConstraintNode",constraint:this.transformNode(e.constraint)}}transformDropConstraint(e){return{kind:"DropConstraintNode",constraintName:this.transformNode(e.constraintName),ifExists:e.ifExists,modifier:e.modifier}}transformCreateView(e){return{kind:"CreateViewNode",name:this.transformNode(e.name),temporary:e.temporary,orReplace:e.orReplace,ifNotExists:e.ifNotExists,materialized:e.materialized,columns:this.transformNodeList(e.columns),as:this.transformNode(e.as)}}transformDropView(e){return{kind:"DropViewNode",name:this.transformNode(e.name),ifExists:e.ifExists,materialized:e.materialized,cascade:e.cascade}}transformGenerated(e){return{kind:"GeneratedNode",byDefault:e.byDefault,always:e.always,identity:e.identity,stored:e.stored,expression:this.transformNode(e.expression)}}transformDefaultValue(e){return{kind:"DefaultValueNode",defaultValue:this.transformNode(e.defaultValue)}}transformOn(e){return{kind:"OnNode",on:this.transformNode(e.on)}}transformSelectModifier(e){return{kind:"SelectModifierNode",modifier:e.modifier,rawModifier:this.transformNode(e.rawModifier),of:this.transformNodeList(e.of)}}transformCreateType(e){return{kind:"CreateTypeNode",name:this.transformNode(e.name),enum:this.transformNode(e.enum)}}transformDropType(e){return{kind:"DropTypeNode",name:this.transformNode(e.name),ifExists:e.ifExists}}transformExplain(e){return{kind:"ExplainNode",format:e.format,options:this.transformNode(e.options)}}transformSchemableIdentifier(e){return{kind:"SchemableIdentifierNode",schema:this.transformNode(e.schema),identifier:this.transformNode(e.identifier)}}transformAggregateFunction(e){return{kind:"AggregateFunctionNode",aggregated:this.transformNodeList(e.aggregated),distinct:e.distinct,filter:this.transformNode(e.filter),func:e.func,over:this.transformNode(e.over)}}transformOver(e){return{kind:"OverNode",orderBy:this.transformNode(e.orderBy),partitionBy:this.transformNode(e.partitionBy)}}transformPartitionBy(e){return{kind:"PartitionByNode",items:this.transformNodeList(e.items)}}transformPartitionByItem(e){return{kind:"PartitionByItemNode",partitionBy:this.transformNode(e.partitionBy)}}transformBinaryOperation(e){return{kind:"BinaryOperationNode",leftOperand:this.transformNode(e.leftOperand),operator:this.transformNode(e.operator),rightOperand:this.transformNode(e.rightOperand)}}transformUnaryOperation(e){return{kind:"UnaryOperationNode",operator:this.transformNode(e.operator),operand:this.transformNode(e.operand)}}transformUsing(e){return{kind:"UsingNode",tables:this.transformNodeList(e.tables)}}transformFunction(e){return{kind:"FunctionNode",func:e.func,arguments:this.transformNodeList(e.arguments)}}transformCase(e){return{kind:"CaseNode",value:this.transformNode(e.value),when:this.transformNodeList(e.when),else:this.transformNode(e.else),isStatement:e.isStatement}}transformWhen(e){return{kind:"WhenNode",condition:this.transformNode(e.condition),result:this.transformNode(e.result)}}transformJSONReference(e){return{kind:"JSONReferenceNode",reference:this.transformNode(e.reference),traversal:this.transformNode(e.traversal)}}transformJSONPath(e){return{kind:"JSONPathNode",inOperator:this.transformNode(e.inOperator),pathLegs:this.transformNodeList(e.pathLegs)}}transformJSONPathLeg(e){return{kind:"JSONPathLegNode",type:e.type,value:e.value}}transformJSONOperatorChain(e){return{kind:"JSONOperatorChainNode",operator:this.transformNode(e.operator),values:this.transformNodeList(e.values)}}transformTuple(e){return{kind:"TupleNode",values:this.transformNodeList(e.values)}}transformMergeQuery(e){return{kind:"MergeQueryNode",into:this.transformNode(e.into),using:this.transformNode(e.using),whens:this.transformNodeList(e.whens),with:this.transformNode(e.with),top:this.transformNode(e.top),output:this.transformNode(e.output)}}transformMatched(e){return{kind:"MatchedNode",not:e.not,bySource:e.bySource}}transformAddIndex(e){return{kind:"AddIndexNode",name:this.transformNode(e.name),columns:this.transformNodeList(e.columns),unique:e.unique,using:this.transformNode(e.using),ifNotExists:e.ifNotExists}}transformCast(e){return{kind:"CastNode",expression:this.transformNode(e.expression),dataType:this.transformNode(e.dataType)}}transformFetch(e){return{kind:"FetchNode",rowCount:this.transformNode(e.rowCount),modifier:e.modifier}}transformTop(e){return{kind:"TopNode",expression:e.expression,modifiers:e.modifiers}}transformOutput(e){return{kind:"OutputNode",selections:this.transformNodeList(e.selections)}}transformDataType(e){return e}transformSelectAll(e){return e}transformIdentifier(e){return e}transformValue(e){return e}transformPrimitiveValueList(e){return e}transformOperator(e){return e}transformDefaultInsertValue(e){return e}}U=new WeakMap;const xr=p({AlterTableNode:!0,CreateIndexNode:!0,CreateSchemaNode:!0,CreateTableNode:!0,CreateTypeNode:!0,CreateViewNode:!0,DeleteQueryNode:!0,DropIndexNode:!0,DropSchemaNode:!0,DropTableNode:!0,DropTypeNode:!0,DropViewNode:!0,InsertQueryNode:!0,RawNode:!0,SelectQueryNode:!0,UpdateQueryNode:!0,MergeQueryNode:!0});var j,S,O,_,ge,we,ye,I,G,Ne;class Tr extends Cr{constructor(r){super();w(this,_);w(this,j);w(this,S,new Set);w(this,O,new Set);A(this,j,r)}transformNodeImpl(r){if(!u(this,_,ge).call(this,r))return super.transformNodeImpl(r);const a=u(this,_,ye).call(this,r);for(const s of a)c(this,O).add(s);const o=u(this,_,we).call(this,r);for(const s of o)c(this,S).add(s);const n=super.transformNodeImpl(r);for(const s of o)c(this,S).delete(s);for(const s of a)c(this,O).delete(s);return n}transformSchemableIdentifier(r){const a=super.transformSchemableIdentifier(r);return a.schema||!c(this,S).has(r.identifier.name)?a:{...a,schema:R.create(c(this,j))}}transformReferences(r){const a=super.transformReferences(r);return a.table.table.schema?a:{...a,table:B.createWithSchema(c(this,j),a.table.table.identifier.name)}}}j=new WeakMap,S=new WeakMap,O=new WeakMap,_=new WeakSet,ge=function(r){return r.kind in xr},we=function(r){const a=new Set;if("name"in r&&r.name&&W.is(r.name)&&u(this,_,G).call(this,r.name,a),"from"in r&&r.from)for(const o of r.from.froms)u(this,_,I).call(this,o,a);if("into"in r&&r.into&&u(this,_,I).call(this,r.into,a),"table"in r&&r.table&&u(this,_,I).call(this,r.table,a),"joins"in r&&r.joins)for(const o of r.joins)u(this,_,I).call(this,o.table,a);return"using"in r&&r.using&&u(this,_,I).call(this,r.using,a),a},ye=function(r){const a=new Set;return"with"in r&&r.with&&u(this,_,Ne).call(this,r.with,a),a},I=function(r,a){const o=B.is(r)?r:br.is(r)&&B.is(r.node)?r.node:null;o&&u(this,_,G).call(this,o.table,a)},G=function(r,a){const o=r.identifier.name;!c(this,S).has(o)&&!c(this,O).has(o)&&a.add(o)},Ne=function(r,a){for(const o of r.expressions){const n=o.name.table.table.identifier.name;c(this,O).has(n)||a.add(n)}};var E;class Sr{constructor(e){w(this,E);A(this,E,new Tr(e))}transformQuery(e){return c(this,E).transformNode(e.node)}async transformResult(e){return e.result}}E=new WeakMap;class Or{transformQuery(e){return e.node}async transformResult(e){return e.result}}const kr="kysely_migration",fe="kysely_migration_lock",$r=!1,Q="migration_lock",Ir=p({__noMigrations__:!0});var h,i,F,N,v,D,be,b,Ce,xe,Te,Se,Oe,H,P,X,ke,$e,Ie,Y,De,Pe,je,Me,Ae,L;class ve{constructor(e){w(this,i);w(this,h);A(this,h,p(e))}async getMigrations(){const e=await u(this,i,P).call(this,c(this,i,v))?await c(this,h).db.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select(["name","timestamp"]).execute():[];return(await u(this,i,Y).call(this)).map(({name:a,...o})=>{const n=e.find(s=>s.name===a);return{name:a,migration:o,executedAt:n?new Date(n.timestamp):void 0}})}async migrateToLatest(){return u(this,i,F).call(this,()=>({direction:"Up",step:1/0}))}async migrateTo(e){return u(this,i,F).call(this,({migrations:r,executedMigrations:a,pendingMigrations:o})=>{if(e===Ir)return{direction:"Down",step:1/0};if(!r.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const n=a.indexOf(e),s=o.findIndex(l=>l.name===e);if(n!==-1)return{direction:"Down",step:a.length-n-1};if(s!==-1)return{direction:"Up",step:s+1};throw new Error(`migration "${e}" isn't executed or pending`)})}async migrateUp(){return u(this,i,F).call(this,()=>({direction:"Up",step:1}))}async migrateDown(){return u(this,i,F).call(this,()=>({direction:"Down",step:1}))}}h=new WeakMap,i=new WeakSet,F=async function(e){try{return await u(this,i,Ce).call(this),await u(this,i,ke).call(this,e)}catch(r){return r instanceof V?r.resultSet:{error:r}}},N=function(){return c(this,h).migrationTableSchema},v=function(){return c(this,h).migrationTableName??kr},D=function(){return c(this,h).migrationLockTableName??fe},be=function(){return c(this,h).allowUnorderedMigrations??$r},b=function(){return c(this,i,N)?new Sr(c(this,i,N)):new Or},Ce=async function(){await u(this,i,xe).call(this),await u(this,i,Te).call(this),await u(this,i,Se).call(this),await u(this,i,Oe).call(this)},xe=async function(){if(c(this,i,N)&&!await u(this,i,H).call(this))try{await u(this,i,L).call(this,c(this,h).db.schema.createSchema(c(this,i,N)))}catch(e){if(!await u(this,i,H).call(this))throw e}},Te=async function(){if(!await u(this,i,P).call(this,c(this,i,v)))try{c(this,i,N)&&await u(this,i,L).call(this,c(this,h).db.schema.createSchema(c(this,i,N))),await u(this,i,L).call(this,c(this,h).db.schema.withPlugin(c(this,i,b)).createTable(c(this,i,v)).addColumn("name","varchar(255)",e=>e.notNull().primaryKey()).addColumn("timestamp","varchar(255)",e=>e.notNull()))}catch(e){if(!await u(this,i,P).call(this,c(this,i,v)))throw e}},Se=async function(){if(!await u(this,i,P).call(this,c(this,i,D)))try{await u(this,i,L).call(this,c(this,h).db.schema.withPlugin(c(this,i,b)).createTable(c(this,i,D)).addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("is_locked","integer",e=>e.notNull().defaultTo(0)))}catch(e){if(!await u(this,i,P).call(this,c(this,i,D)))throw e}},Oe=async function(){if(!await u(this,i,X).call(this))try{await c(this,h).db.withPlugin(c(this,i,b)).insertInto(c(this,i,D)).values({id:Q,is_locked:0}).execute()}catch(e){if(!await u(this,i,X).call(this))throw e}},H=async function(){return(await c(this,h).db.introspection.getSchemas()).some(r=>r.name===c(this,i,N))},P=async function(e){const r=c(this,i,N);return(await c(this,h).db.introspection.getTables({withInternalKyselyTables:!0})).some(o=>o.name===e&&(!r||o.schema===r))},X=async function(){return!!await c(this,h).db.withPlugin(c(this,i,b)).selectFrom(c(this,i,D)).where("id","=",Q).select("id").executeTakeFirst()},ke=async function(e){const r=c(this,h).db.getExecutor().adapter,a=p({lockTable:c(this,h).migrationLockTableName??fe,lockRowId:Q,lockTableSchema:c(this,h).migrationTableSchema}),o=async n=>{try{await r.acquireMigrationLock(n,a);const s=await u(this,i,$e).call(this,n);if(s.migrations.length===0)return{results:[]};const{direction:l,step:d}=e(s);return d<=0?{results:[]}:l==="Down"?await u(this,i,Me).call(this,n,s,d):l==="Up"?await u(this,i,Ae).call(this,n,s,d):{results:[]}}finally{await r.releaseMigrationLock(n,a)}};return r.supportsTransactionalDdl?c(this,h).db.transaction().execute(o):c(this,h).db.connection().execute(o)},$e=async function(e){const r=await u(this,i,Y).call(this),a=await u(this,i,De).call(this,e);u(this,i,Pe).call(this,r,a),c(this,i,be)||u(this,i,je).call(this,r,a);const o=u(this,i,Ie).call(this,r,a);return p({migrations:r,executedMigrations:a,lastMigration:vr(a),pendingMigrations:o})},Ie=function(e,r){return e.filter(a=>!r.includes(a.name))},Y=async function(){const e=await c(this,h).provider.getMigrations();return Object.keys(e).sort().map(r=>({...e[r],name:r}))},De=async function(e){return(await e.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select("name").orderBy(["timestamp","name"]).execute()).map(a=>a.name)},Pe=function(e,r){for(const a of r)if(!e.some(o=>o.name===a))throw new Error(`corrupted migrations: previously executed migration ${a} is missing`)},je=function(e,r){for(let a=0;a<r.length;++a)if(e[a].name!==r[a])throw new Error(`corrupted migrations: expected previously executed migration ${r[a]} to be at index ${a} but ${e[a].name} was found in its place. New migrations must always have a name that comes alphabetically after the last executed migration.`)},Me=async function(e,r,a){const o=r.executedMigrations.slice().reverse().slice(0,a).map(s=>r.migrations.find(l=>l.name===s)),n=o.map(s=>({migrationName:s.name,direction:"Down",status:"NotExecuted"}));for(let s=0;s<n.length;++s){const l=o[s];try{l.down&&(await l.down(e),await e.withPlugin(c(this,i,b)).deleteFrom(c(this,i,v)).where("name","=",l.name).execute(),n[s]={migrationName:l.name,direction:"Down",status:"Success"})}catch(d){throw n[s]={migrationName:l.name,direction:"Down",status:"Error"},new V({error:d,results:n})}}return{results:n}},Ae=async function(e,r,a){const n=r.pendingMigrations.slice(0,a).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<n.length;s++){const l=r.pendingMigrations[s];try{await l.up(e),await e.withPlugin(c(this,i,b)).insertInto(c(this,i,v)).values({name:l.name,timestamp:new Date().toISOString()}).execute(),n[s]={migrationName:l.name,direction:"Up",status:"Success"}}catch(d){throw n[s]={migrationName:l.name,direction:"Up",status:"Error"},new V({error:d,results:n})}}return{results:n}},L=async function(e){c(this,h).db.getExecutor().adapter.supportsCreateIfNotExists&&(e=e.ifNotExists()),await e.execute()};var z;class V extends Error{constructor(r){super();w(this,z);A(this,z,r)}get resultSet(){return c(this,z)}}z=new WeakMap;class Fe{constructor(e){M(this,"migrations");this.migrations=e}async getMigrations(){return this.migrations}}async function Dr(t){await t.schema.createTable("tenants").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)").addColumn("audience","varchar(255)").addColumn("sender_email","varchar(255)").addColumn("sender_name","varchar(255)").addColumn("language","varchar(255)").addColumn("logo","varchar(255)").addColumn("primary_color","varchar(255)").addColumn("secondary_color","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("users").addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("given_name","varchar(255)").addColumn("family_name","varchar(255)").addColumn("nickname","varchar(255)").addColumn("name","varchar(255)").addColumn("picture","varchar(2083)").addColumn("tags","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addPrimaryKeyConstraint("users_tenants",["user_id","tenant_id"]).addColumn("linked_to","varchar(255)").addForeignKeyConstraint("linked_to_constraint",["linked_to","tenant_id"],"users",["user_id","tenant_id"]).addColumn("last_ip","varchar(255)").addColumn("login_count","integer",e=>e.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",e=>e.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",e=>e.notNull()).addColumn("is_social","boolean",e=>e.notNull()).addColumn("app_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",e=>e.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).execute(),await t.schema.createTable("members").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("sub","varchar(255)").addColumn("email","varchar(255)").addColumn("name","varchar(255)").addColumn("status","varchar(255)").addColumn("role","varchar(255)").addColumn("picture","varchar(2083)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("applications").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",e=>e.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",e=>e.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",e=>e.defaultTo("[]").notNull()).addColumn("options_kid","varchar(32)").addColumn("options_team_id","varchar(32)").addColumn("options_client_id","varchar(128)").addColumn("options_client_secret","varchar(255)").addColumn("options_scope","varchar(255)").addColumn("options_realms","varchar(255)").addColumn("options_app_secret","varchar(1024)").addColumn("email_validation","varchar(255)").addColumn("disable_sign_ups","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("connections").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",e=>e.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("migrations").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("provider","varchar(255)").addColumn("client_id","varchar(255)").addColumn("origin","varchar(255)").addColumn("domain","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute(),await t.schema.createTable("domains").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",e=>e.notNull()).addColumn("email_service","varchar(255)").addColumn("email_api_key","varchar(255)").addColumn("dkim_private_key","varchar(2048)").addColumn("dkim_public_key","varchar(2048)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).execute()}async function Pr(t){await t.schema.dropTable("domains").execute(),await t.schema.dropTable("members").execute(),await t.schema.dropTable("users").execute(),await t.schema.dropTable("connections").execute(),await t.schema.dropTable("applications").execute(),await t.schema.dropTable("migrations").execute(),await t.schema.dropTable("tenants").execute()}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:Pr,up:Dr},Symbol.toStringTag,{value:"Module"}));async function Mr(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function Ar(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}const Fr=Object.freeze(Object.defineProperty({__proto__:null,down:Ar,up:Mr},Symbol.toStringTag,{value:"Module"}));async function Lr(t){}async function Er(t){}const zr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:Lr},Symbol.toStringTag,{value:"Module"}));async function Jr(t){await t.schema.createTable("logs").addColumn("id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("category","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],e=>e.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",e=>e.notNull()).addColumn("date","varchar(25)",e=>e.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").execute()}async function Rr(t){await t.schema.dropTable("logs").execute()}const Ur=Object.freeze(Object.defineProperty({__proto__:null,down:Rr,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Kr(t){}async function Br(t){}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Br,up:Kr},Symbol.toStringTag,{value:"Module"}));async function Vr(t){await t.schema.createTable("sessions").addColumn("session_id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addColumn("deleted_at","varchar(255)").execute(),await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await t.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function qr(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Wr=Object.freeze(Object.defineProperty({__proto__:null,down:qr,up:Vr},Symbol.toStringTag,{value:"Module"}));async function Gr(t){await t.schema.createTable("passwords").addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function Hr(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Xr=Object.freeze(Object.defineProperty({__proto__:null,down:Hr,up:Gr},Symbol.toStringTag,{value:"Module"}));async function Yr(t){}async function Zr(t){}const ea=Object.freeze(Object.defineProperty({__proto__:null,down:Zr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function ta(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function ra(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const aa=Object.freeze(Object.defineProperty({__proto__:null,down:ra,up:ta},Symbol.toStringTag,{value:"Module"}));async function na(t){}async function oa(t){}const sa=Object.freeze(Object.defineProperty({__proto__:null,down:oa,up:na},Symbol.toStringTag,{value:"Module"}));async function ia(t){}async function la(t){}const ca=Object.freeze(Object.defineProperty({__proto__:null,down:la,up:ia},Symbol.toStringTag,{value:"Module"}));async function da(t){}async function ua(t){}const ma=Object.freeze(Object.defineProperty({__proto__:null,down:ua,up:da},Symbol.toStringTag,{value:"Module"}));async function ha(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function fa(t){await t.schema.dropIndex("users_email_index").execute()}const _a=Object.freeze(Object.defineProperty({__proto__:null,down:fa,up:ha},Symbol.toStringTag,{value:"Module"}));async function pa(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function ga(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const wa=Object.freeze(Object.defineProperty({__proto__:null,down:ga,up:pa},Symbol.toStringTag,{value:"Module"}));async function ya(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Na(t){await t.schema.dropIndex("users_linked_to_index")}const va=Object.freeze(Object.defineProperty({__proto__:null,down:Na,up:ya},Symbol.toStringTag,{value:"Module"}));async function ba(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Ca(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ca,up:ba},Symbol.toStringTag,{value:"Module"}));async function Ta(t){await t.schema.createTable("keys").addColumn("kid","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(2048)").addColumn("pkcs7","varchar(2048)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").execute()}async function Sa(t){await t.schema.dropTable("keys").execute()}const Oa=Object.freeze(Object.defineProperty({__proto__:null,down:Sa,up:Ta},Symbol.toStringTag,{value:"Module"}));async function ka(t){}async function $a(t){}const Ia=Object.freeze(Object.defineProperty({__proto__:null,down:$a,up:ka},Symbol.toStringTag,{value:"Module"}));async function Da(t){}async function Pa(t){}const ja=Object.freeze(Object.defineProperty({__proto__:null,down:Pa,up:Da},Symbol.toStringTag,{value:"Module"}));async function Ma(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function Aa(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Fa=Object.freeze(Object.defineProperty({__proto__:null,down:Aa,up:Ma},Symbol.toStringTag,{value:"Module"}));async function La(t){}async function Ea(t){}const za=Object.freeze(Object.defineProperty({__proto__:null,down:Ea,up:La},Symbol.toStringTag,{value:"Module"}));async function Ja(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Ra(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Ua=Object.freeze(Object.defineProperty({__proto__:null,down:Ra,up:Ja},Symbol.toStringTag,{value:"Module"}));async function Ka(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Ba(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const Qa=Object.freeze(Object.defineProperty({__proto__:null,down:Ba,up:Ka},Symbol.toStringTag,{value:"Module"}));async function Va(t){await t.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await t.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await t.schema.createIndex("logs_date").on("logs").column("date").execute()}async function qa(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const Wa=Object.freeze(Object.defineProperty({__proto__:null,down:qa,up:Va},Symbol.toStringTag,{value:"Module"}));async function Ga(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Ha(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ha,up:Ga},Symbol.toStringTag,{value:"Module"}));async function Ya(t){await t.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await t.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await t.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function Za(t){await t.schema.alterTable("logs").dropColumn("user_name").execute(),await t.schema.alterTable("logs").dropColumn("auth0_client").execute(),await t.schema.alterTable("logs").dropColumn("isMobile").execute(),await t.schema.alterTable("logs").dropColumn("connection").execute(),await t.schema.alterTable("logs").dropColumn("connection_id").execute(),await t.schema.alterTable("logs").dropColumn("audience").execute(),await t.schema.alterTable("logs").dropColumn("scope").execute(),await t.schema.alterTable("logs").dropColumn("strategy").execute(),await t.schema.alterTable("logs").dropColumn("strategy_type").execute(),await t.schema.alterTable("logs").dropColumn("hostname").execute(),await t.schema.alterTable("logs").dropColumn("session_connection").execute()}const en=Object.freeze(Object.defineProperty({__proto__:null,down:Za,up:Ya},Symbol.toStringTag,{value:"Module"}));async function tn(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function rn(t){await t.schema.dropIndex("users_name_index").execute()}const an=Object.freeze(Object.defineProperty({__proto__:null,down:rn,up:tn},Symbol.toStringTag,{value:"Module"}));async function nn(t){}async function on(t){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const sn=Object.freeze(Object.defineProperty({__proto__:null,down:on,up:nn},Symbol.toStringTag,{value:"Module"}));async function ln(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function cn(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const dn=Object.freeze(Object.defineProperty({__proto__:null,down:cn,up:ln},Symbol.toStringTag,{value:"Module"}));async function un(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function mn(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const hn=Object.freeze(Object.defineProperty({__proto__:null,down:mn,up:un},Symbol.toStringTag,{value:"Module"}));async function fn(t){await t.schema.createTable("branding").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("logo_url","varchar(512)").addColumn("favicon_url","varchar(512)").addColumn("font_url","varchar(512)").addColumn("colors_primary","varchar(8)").addColumn("colors_page_background_type","varchar(32)").addColumn("colors_page_background_start","varchar(8)").addColumn("colors_page_background_end","varchar(8)").addColumn("colors_page_background_angle_dev","integer").execute()}async function _n(t){await t.schema.dropTable("branding").execute()}const pn=Object.freeze(Object.defineProperty({__proto__:null,down:_n,up:fn},Symbol.toStringTag,{value:"Module"}));async function gn(t){}async function wn(t){}const yn=Object.freeze(Object.defineProperty({__proto__:null,down:wn,up:gn},Symbol.toStringTag,{value:"Module"}));async function Nn(t){}async function vn(t){}const bn=Object.freeze(Object.defineProperty({__proto__:null,down:vn,up:Nn},Symbol.toStringTag,{value:"Module"}));async function Cn(t){}async function xn(t){}const Tn=Object.freeze(Object.defineProperty({__proto__:null,down:xn,up:Cn},Symbol.toStringTag,{value:"Module"}));async function Sn(t){}async function On(t){}const kn=Object.freeze(Object.defineProperty({__proto__:null,down:On,up:Sn},Symbol.toStringTag,{value:"Module"}));async function $n(t){await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function In(t){await t.schema.dropTable("authentication_codes").execute()}const Dn=Object.freeze(Object.defineProperty({__proto__:null,down:In,up:$n},Symbol.toStringTag,{value:"Module"}));async function Pn(t){}async function jn(t){}const Mn=Object.freeze(Object.defineProperty({__proto__:null,down:jn,up:Pn},Symbol.toStringTag,{value:"Module"}));async function An(t){await t.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function Fn(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Ln=Object.freeze(Object.defineProperty({__proto__:null,down:Fn,up:An},Symbol.toStringTag,{value:"Module"}));async function En(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function zn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Jn=Object.freeze(Object.defineProperty({__proto__:null,down:zn,up:En},Symbol.toStringTag,{value:"Module"}));async function Rn(t){}async function Un(t){}const Kn=Object.freeze(Object.defineProperty({__proto__:null,down:Un,up:Rn},Symbol.toStringTag,{value:"Module"}));async function Bn(t){await t.schema.createTable("hooks").addColumn("hook_id","varchar(255)",e=>e.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",e=>e.notNull()).addColumn("trigger_id","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("synchronous","boolean",e=>e.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function Qn(t){await t.schema.dropTable("hooks").execute()}const Vn=Object.freeze(Object.defineProperty({__proto__:null,down:Qn,up:Bn},Symbol.toStringTag,{value:"Module"}));async function qn(t){}async function Wn(t){}const Gn=Object.freeze(Object.defineProperty({__proto__:null,down:Wn,up:qn},Symbol.toStringTag,{value:"Module"}));async function Hn(t){}async function Xn(t){}const Yn=Object.freeze(Object.defineProperty({__proto__:null,down:Xn,up:Hn},Symbol.toStringTag,{value:"Module"}));async function Zn(t){await t.schema.createTable("logins").addColumn("login_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",e=>e.notNull()).addColumn("authParams_vendor_id","varchar(255)").addColumn("authParams_username","varchar(255)").addColumn("authParams_response_type","varchar(255)").addColumn("authParams_response_mode","varchar(255)").addColumn("authParams_audience","varchar(255)").addColumn("authParams_scope","varchar(511)").addColumn("authParams_state","varchar(511)").addColumn("authParams_code_challenge_method","varchar(256)").addColumn("authParams_code_challenge","varchar(256)").addColumn("authParams_redirect_uri","varchar(256)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("updated_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await t.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}async function eo(t){await t.schema.dropTable("logins").execute(),await t.schema.alterTable("passwords").dropColumn("algorithm").execute(),await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const to=Object.freeze(Object.defineProperty({__proto__:null,down:eo,up:Zn},Symbol.toStringTag,{value:"Module"}));async function ro(t){}async function ao(t){}const no=Object.freeze(Object.defineProperty({__proto__:null,down:ao,up:ro},Symbol.toStringTag,{value:"Module"}));async function oo(t){await t.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function so(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const io=Object.freeze(Object.defineProperty({__proto__:null,down:so,up:oo},Symbol.toStringTag,{value:"Module"}));async function lo(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function co(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const uo=Object.freeze(Object.defineProperty({__proto__:null,down:co,up:lo},Symbol.toStringTag,{value:"Module"}));async function mo(t){}async function ho(t){}const fo=Object.freeze(Object.defineProperty({__proto__:null,down:ho,up:mo},Symbol.toStringTag,{value:"Module"}));async function _o(t){}async function po(t){}const go=Object.freeze(Object.defineProperty({__proto__:null,down:po,up:_o},Symbol.toStringTag,{value:"Module"}));async function wo(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function yo(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}const No=Object.freeze(Object.defineProperty({__proto__:null,down:yo,up:wo},Symbol.toStringTag,{value:"Module"}));async function vo(t){}async function bo(t){}const Co=Object.freeze(Object.defineProperty({__proto__:null,down:bo,up:vo},Symbol.toStringTag,{value:"Module"}));async function xo(t){}async function To(t){}const So=Object.freeze(Object.defineProperty({__proto__:null,down:To,up:xo},Symbol.toStringTag,{value:"Module"}));async function Oo(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.notNull()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("login_id","varchar(255)").addColumn("connection_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function ko(t){await t.schema.dropTable("codes").execute(),await t.schema.createTable("codes").addColumn("code_id","varchar(255)",e=>e.primaryKey()).addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("login_id","varchar(255)").addForeignKeyConstraint("codes_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],e=>e.onDelete("cascade")).addColumn("code_type","varchar(255)",e=>e.notNull()).addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const $o=Object.freeze(Object.defineProperty({__proto__:null,down:ko,up:Oo},Symbol.toStringTag,{value:"Module"}));async function Io(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function Do(t){await t.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await t.schema.createTable("otps").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("user_id","varchar(255)").addColumn("send","varchar(255)").addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute(),await t.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(8192)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const Po=Object.freeze(Object.defineProperty({__proto__:null,down:Do,up:Io},Symbol.toStringTag,{value:"Module"}));async function jo(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Mo(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Ao=Object.freeze(Object.defineProperty({__proto__:null,down:Mo,up:jo},Symbol.toStringTag,{value:"Module"}));async function Fo(t){}async function Lo(t){}const Eo=Object.freeze(Object.defineProperty({__proto__:null,down:Lo,up:Fo},Symbol.toStringTag,{value:"Module"}));async function zo(t){await t.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",e=>e.primaryKey()).addColumn("universal_login_experience","varchar(16)",e=>e.defaultTo("new").notNull()).addColumn("identifier_first","boolean",e=>e.defaultTo(!0).notNull()).addColumn("password_first","boolean",e=>e.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",e=>e.defaultTo(!1).notNull()).execute()}async function Jo(t){await t.schema.dropTable("prompt_settings").execute()}const Ro=Object.freeze(Object.defineProperty({__proto__:null,down:Jo,up:zo},Symbol.toStringTag,{value:"Module"}));async function Uo(t){}async function Ko(t){}const Bo=Object.freeze(Object.defineProperty({__proto__:null,down:Ko,up:Uo},Symbol.toStringTag,{value:"Module"}));async function Qo(t){}async function Vo(t){}const qo=Object.freeze(Object.defineProperty({__proto__:null,down:Vo,up:Qo},Symbol.toStringTag,{value:"Module"}));async function Wo(t){}async function Go(t){}const Ho=Object.freeze(Object.defineProperty({__proto__:null,down:Go,up:Wo},Symbol.toStringTag,{value:"Module"}));async function Xo(t){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Yo(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Zo=Object.freeze(Object.defineProperty({__proto__:null,down:Yo,up:Xo},Symbol.toStringTag,{value:"Module"}));async function es(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function ts(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const rs=Object.freeze(Object.defineProperty({__proto__:null,down:ts,up:es},Symbol.toStringTag,{value:"Module"}));async function as(t){}async function ns(t){}const os=Object.freeze(Object.defineProperty({__proto__:null,down:ns,up:as},Symbol.toStringTag,{value:"Module"}));async function ss(t){await t.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function is(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const ls=Object.freeze(Object.defineProperty({__proto__:null,down:is,up:ss},Symbol.toStringTag,{value:"Module"}));async function cs(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function ds(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const us=Object.freeze(Object.defineProperty({__proto__:null,down:ds,up:cs},Symbol.toStringTag,{value:"Module"}));async function ms(t){await t.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",e=>e.primaryKey()).addColumn("name","varchar(255)",e=>e.notNull()).addColumn("enabled","boolean",e=>e.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",e=>e.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",e=>e.notNull()).addColumn("updated_at","varchar(29)",e=>e.notNull()).execute()}async function hs(t){await t.schema.dropTable("email_providers").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:hs,up:ms},Symbol.toStringTag,{value:"Module"}));async function _s(t){await t.schema.dropTable("tickets").execute()}async function ps(t){await t.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",e=>e.primaryKey()).addColumn("client_id","varchar(255)",e=>e.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",e=>e.notNull()).addColumn("nonce","varchar(255)").addColumn("state","varchar(1024)").addColumn("scope","varchar(1024)").addColumn("response_type","varchar(256)").addColumn("response_mode","varchar(256)").addColumn("redirect_uri","varchar(1024)").addColumn("created_at","varchar(255)",e=>e.notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").execute()}const gs=Object.freeze(Object.defineProperty({__proto__:null,down:ps,up:_s},Symbol.toStringTag,{value:"Module"}));async function ws(t){}async function ys(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Ns=Object.freeze(Object.defineProperty({__proto__:null,down:ys,up:ws},Symbol.toStringTag,{value:"Module"}));async function vs(t){await t.schema.createTable("refresh_tokens").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("token","varchar(255)",e=>e.notNull()).addColumn("session_id","varchar(255)",e=>e.references("sessions.session_id").onDelete("cascade").notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addColumn("scope","varchar(512)",e=>e.notNull()).addColumn("audience","varchar(512)",e=>e.notNull()).addColumn("revoked_at","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull().defaultTo(new Date().toISOString())).addPrimaryKeyConstraint("refresh_tokens_pkey",["tenant_id","token"]).execute()}async function bs(t){await t.schema.dropTable("refresh_tokens").execute()}const Cs=Object.freeze(Object.defineProperty({__proto__:null,down:bs,up:vs},Symbol.toStringTag,{value:"Module"})),Le={m1_init:jr,m2_magicLink:Fr,m3_updateAt:zr,m4_logTable:Ur,m5_userProfile:Qr,m6_sessions:Wr,m7_passwords:Xr,m8_logsTableNewFields:ea,m9_passwordTableNewField:aa,n01_codesTable:sa,n11_universalLoginSession:ca,n12_userFields:ma,n13_userEmailIndex:_a,n14_profileDataField:wa,n15_userEmailIndex:va,n16_userLocale:xa,n17_signingKeys:Oa,n18_logsFields:Ia,n19_connectionsUserinfo:ja,n20_missingFields:Fa,n21_sessionDeletedAt:za,n22_dropLogsFields:Ua,n23_dropUsersFields:Qa,n24_logsIndexes:Wa,n25_logDescMaxLength:Xa,n26_logsTableExtraFields:en,n27_usersTableNameIndex:an,n28_usersEmailConstrain:sn,n29_increaseOtpStateLength:dn,n30_increaseTicketStateLength:hn,n31_branding:pn,n32_indexesAndNotNull:yn,n33_vendorIdInUniversalLoginSession:bn,n34_auth0ClientInUniversalLoginSession:Tn,n35_increaseUniversalSessionStateLength:kn,n36_authenticationCodes:Dn,n37_disableSignUps:Mn,n38_otpIpAddress:Ln,n39_increaseUserAgentLength:Jn,n40_userId:Kn,n41_hooks:Vn,n42_userIdIndexes:Gn,n43_userIdIndexes:Yn,n44_codes:to,n45_hookProperties:no,n46_loginAuth0Client:io,n47_loginAuth0Client:uo,n48_saml:fo,n49_removeFields:go,n50_authParamsNonce:No,n51_connectionid:Co,n52_cert:So,n53_codes_primary_key:$o,n54_cleanup_tables:Po,n55_logs_index:Ao,n56_application_fields:Eo,n57_prompt_settings:Ro,n58_connection_client_id:Bo,n59_connection_options:qo,n60_users_metadata:Ho,n61_userLocales:Zo,n62_prompt:rs,n63_connection_cleanup:os,n64_act_as:ls,n65_code_verifier:us,n66_email_providers:fs,n67_drop_tickets:gs,n68_login_useragents:Ns,n70_refresh_tokens:Cs};async function xs(t,e=!1){e&&console.log("migrating...");const r=new Fe(Le),a=new ve({db:t,provider:r}),{error:o,results:n}=await a.migrateToLatest();if(n==null||n.forEach(s=>{s.status==="Success"?e&&console.log(`migration "${s.migrationName}" was executed successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),o)throw console.error("failed to migrate"),console.error(o),o}async function Ts(t){console.log("migrating...");const e=new Fe(Le),r=new ve({db:t,provider:e}),{error:a,results:o}=await r.migrateDown();if(o==null||o.forEach(n=>{n.status==="Success"?console.log(`migration "${n.migrationName}" was reverted successfully`):n.status==="Error"&&console.error(`failed to execute migration "${n.migrationName}"`)}),a)throw console.error("failed to migrate"),console.error(a),a}function Ss(t){return{applications:Ot(t),branding:Bt(t),clients:Mt(t),codes:vt(t),connections:jt(t),emailProviders:fr(t),domains:Rt(t),hooks:Ht(t),keys:Et(t),logins:ir(t),logs:ot(t),passwords:_t(t),promptSettings:dr(t),refreshTokens:Nr(t),sessions:ut(t),tenants:et(t),themes:rr(t),users:qe(t)}}exports.default=Ss;exports.migrateDown=Ts;exports.migrateToLatest=xs;
|
package/dist/kysely-adapter.mjs
CHANGED
|
@@ -1081,8 +1081,7 @@ function Nr(t) {
|
|
|
1081
1081
|
return async (e, r) => {
|
|
1082
1082
|
const a = {
|
|
1083
1083
|
...r,
|
|
1084
|
-
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
1085
|
-
expires_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
1084
|
+
created_at: (/* @__PURE__ */ new Date()).toISOString()
|
|
1086
1085
|
};
|
|
1087
1086
|
return await t.insertInto("refresh_tokens").values({ ...a, tenant_id: e }).execute(), { ...r, ...a };
|
|
1088
1087
|
};
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"type": "git",
|
|
12
12
|
"url": "https://github.com/markusahlstrand/authhero"
|
|
13
13
|
},
|
|
14
|
-
"version": "
|
|
14
|
+
"version": "5.1.0",
|
|
15
15
|
"files": [
|
|
16
16
|
"dist"
|
|
17
17
|
],
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
"hono": "^4.6.8",
|
|
49
49
|
"kysely-bun-sqlite": "^0.3.2",
|
|
50
50
|
"kysely-planetscale": "^1.5.0",
|
|
51
|
-
"@authhero/adapter-interfaces": "^0.
|
|
51
|
+
"@authhero/adapter-interfaces": "^0.41.0"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "tsc && vite build && dts-bundle-generator --config ./dts-bundle-generator.config.ts",
|