@authhero/kysely-adapter 1.0.0 → 2.0.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.
@@ -1 +1 @@
1
- "use strict";var Ee=Object.defineProperty;var de=t=>{throw TypeError(t)};var ze=(t,e,a)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var M=(t,e,a)=>ze(t,typeof e!="symbol"?e+"":e,a),K=(t,e,a)=>e.has(t)||de("Cannot "+a);var c=(t,e,a)=>(K(t,e,"read from private field"),a?a.call(t):e.get(t)),w=(t,e,a)=>e.has(t)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),A=(t,e,a,r)=>(K(t,e,"write to private field"),r?r.call(t,a):e.set(t,a),a),u=(t,e,a)=>(K(t,e,"access private method"),a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const O=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var W=class extends Error{constructor(e=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});M(this,"res");M(this,"status");this.res=a==null?void 0:a.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,a)=>{const{identities:r,...o}=a,n={...o,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:a.email_verified?1:0,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata)};try{await t.insertInto("users").values(n).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new W(409,{message:"User already exists"}):new W(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 a in e)e[a]===null?delete e[a]:typeof e[a]=="object"&&(Array.isArray(e[a])?e[a]=e[a].map(f):e[a]=f(e[a]));return e}function _e(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(a){console.error("Error parsing profileData",a)}return{connection:t.connection,provider:t.provider,user_id:O.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,a)=>{const[r,o]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).selectAll().execute()]);if(!r)return null;const{tenant_id:n,...s}=r,l={...s,email:r.email||"",email_verified:r.email_verified===1,is_social:r.is_social===1,app_metadata:JSON.parse(r.app_metadata),user_metadata:JSON.parse(r.user_metadata),identities:[{connection:r.connection,provider:r.provider,user_id:O.parseUserId(r.user_id).id,isSocial:!!r.is_social},...o.map(_e)]};return f(l)}}function k(t,e,a,r){return a.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(r.map(C=>y(m(C),"like",`%${s}%`))))}}),e}function x(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ue(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("users").where("users.tenant_id","=",e);if(a.q&&(r=k(t,r,a.q,["email","name"])),a.sort&&a.sort.sort_by){const{ref:m}=t.dynamic;r=r.orderBy(m(a.sort.sort_by),a.sort.sort_order)}const n=await r.offset(a.page*a.per_page).limit(a.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(C=>C.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:O.parseUserId(m.user_id).id,isSocial:!!m.is_social},...y.map(_e)]})}),{count:g}=await r.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:d,start:a.page*a.per_page,limit:a.per_page,length:x(g)}}}function Ke(t){return async(e,a)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1)}function Be(t){if(t.email_verified!==void 0)return t.email_verified?1:0}function Qe(t){return async(e,a,r)=>{const o={...r,email_verified:Be(r),updated_at:new Date().toISOString()};return r.app_metadata&&(o.app_metadata=JSON.stringify(r.app_metadata)),r.user_metadata&&(o.user_metadata=JSON.stringify(r.user_metadata)),(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1}}function Ve(t){return async(e,a,r,o)=>{const n={linked_to:null};return(await t.updateTable("users").set(n).where("users.tenant_id","=",e).where("users.user_id","=",`${r}|${o}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function We(t){return{create:Je(t),remove:Ke(t),get:Re(t),list:Ue(t),update:Qe(t),unlink:Ve(t)}}const qe="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let $=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=qe[a[t]&63];return e};function Ge(t){return async e=>{const a={id:e.id||$(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(a).execute(),a}}function He(t){return async e=>{const a=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return a?f(a):null}}function Xe(t){return async(e={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("tenants");if(e.sort&&e.sort.sort_by){const{ref:l}=t.dynamic;a=a.orderBy(l(e.sort.sort_by),e.sort.sort_order)}e.q&&(a=a.where(l=>l.or([l("name","like",`%${e.q}%`)])));const o=await a.offset(e.page*e.per_page).limit(e.per_page).selectAll().execute();if(!e.include_totals)return{tenants:o};const{count:n}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),s=x(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,a)=>{const r={...a,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).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 at(t){return async(e,a)=>{var o,n,s;const r={id:$(),...a,user_agent:a.user_agent.slice(0,tt)};return await t.insertInto("logs").values({...r,description:(o=r.description)==null?void 0:o.substring(0,256),isMobile:a.isMobile?1:0,tenant_id:e,scope:(n=a.scope)==null?void 0:n.join(","),auth0_client:ue(a.auth0_client),details:(s=ue(a.details))==null?void 0:s.substring(0,8192)}).execute(),r}}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 rt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("logs").where("logs.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));let o=r;if(a.sort&&a.sort.sort_by){const{ref:l}=t.dynamic;o=o.orderBy(l(a.sort.sort_by),a.sort.sort_order)}o=o.offset(a.page*a.per_page).limit(a.per_page);const n=await o.selectAll().execute(),{count:s}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:n.map(pe),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function nt(t){return async(e,a)=>{const r=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",a).selectAll().executeTakeFirst();return r?pe(r):null}}function ot(t){return{create:at(t),list:rt(t),get:nt(t)}}function st(t){return async(e,a)=>await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).selectAll().executeTakeFirst()??null}function it(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),expires_at:new Date().toISOString()};return await t.insertInto("sessions").values({...r,tenant_id:e}).execute(),{...a,...r}}}function lt(t){return async(e,a)=>!!(await t.updateTable("sessions").set({deleted_at:new Date().toISOString()}).where("tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).execute()).length}function ct(t){return async(e,a,r)=>!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).execute()).length}function dt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("sessions").where("sessions.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","session_id"]));let o=r;if(a.sort&&a.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(a.sort.sort_by),a.sort.sort_order)}o=o.offset(a.page*a.per_page).limit(a.per_page);const n=await o.selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=x(s);return{sessions:n,start:a.page*a.per_page,limit:a.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,a)=>{const r=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",a).selectAll().executeTakeFirstOrThrow(),{tenant_id:o,...n}=r;return n}}function ht(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...r,tenant_id:e}).execute(),r}}function ft(t){return async(e,a)=>(await t.updateTable("passwords").set({password:a.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",a.user_id).execute()).length===1}function _t(t){return{create:ht(t),update:ft(t),get:mt(t)}}function pt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("codes").where("codes.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["code","login_id"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:n.map(d=>{const{tenant_id:g,...m}=d;return O.codeSchema.parse(f(m))}),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function gt(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...r,tenant_id:e}).execute(),r}}function wt(t){return async(e,a)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function yt(t){return async(e,a,r)=>{let o=t.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",r);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,a)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",a).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,a)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},o=JSON.stringify(a.allowed_origins),n=JSON.stringify(a.callbacks),s=JSON.stringify(a.web_origins),l=JSON.stringify(a.allowed_logout_urls),d=JSON.stringify(a.allowed_clients);return await t.insertInto("applications").values({...r,tenant_id:e,disable_sign_ups:a.disable_sign_ups?1:0,addons:a.addons?JSON.stringify(a.addons):"{}",callbacks:n,allowed_origins:o,web_origins:s,allowed_logout_urls:l,allowed_clients:d}).execute(),r}}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,a)=>{const r=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).selectAll().executeTakeFirst();return r?f({...r,disable_sign_ups:!!r.disable_sign_ups,addons:JSON.parse(r.addons),callbacks:JSON.parse(r.callbacks),allowed_origins:JSON.parse(r.allowed_origins),web_origins:JSON.parse(r.web_origins),allowed_logout_urls:JSON.parse(r.allowed_logout_urls)}):null}}function Tt(t){return async(e,a)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).executeTakeFirst()).numDeletedRows>0}function St(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString(),allowed_origins:r.allowed_origins?JSON.stringify(r.allowed_origins):void 0,callbacks:r.callbacks?JSON.stringify(r.callbacks):void 0,web_origins:r.web_origins?JSON.stringify(r.web_origins):void 0,allowed_logout_urls:r.allowed_logout_urls?JSON.stringify(r.allowed_logout_urls):void 0,allowed_clients:r.allowed_clients?JSON.stringify(r.allowed_clients):void 0,addons:r.addons?JSON.stringify(r.addons):"{}",disable_sign_ups:r.disable_sign_ups?1:0};return await t.updateTable("applications").set(o).where("applications.id","=",a).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,a)=>{const r={id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...r,options:JSON.stringify(r.options||{}),tenant_id:e}).execute(),r}}function $t(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("connections").where("connections.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));const s=(await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute()).map(d=>f({...d,options:JSON.parse(d.options)})),{count:l}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:s,start:a.page*a.per_page,limit:a.per_page,length:x(l)}}}function It(t){return async(e,a)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function Dt(t){return async(e,a)=>{const r=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).selectAll().executeTakeFirst();return r?f({...r,options:JSON.parse(r.options)}):null}}function Pt(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...o,options:o.options?JSON.stringify(o.options):void 0}).where("connections.id","=",a).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 a=await t.selectFrom("applications").selectAll().where("id","=",e).executeTakeFirst();if(!a)return null;const r=await t.selectFrom("tenants").selectAll().where("id","=",a.tenant_id).executeTakeFirst();if(!r)throw new W(404,{message:"Tenant not found"});const o=await t.selectFrom("connections").where("tenant_id","=",a.tenant_id).selectAll().execute(),n=await t.selectFrom("domains").where("tenant_id","=",a.tenant_id).selectAll().execute();return{...a,connections:o.map(l=>O.connectionSchema.parse(f({...l,options:l.options?JSON.parse(l.options):{}}))),domains:n,addons:a.addons?JSON.parse(a.addons):{},callbacks:a.callbacks?JSON.parse(a.callbacks):[],allowed_origins:a.allowed_origins?JSON.parse(a.allowed_origins):[],web_origins:a.web_origins?JSON.parse(a.web_origins):[],allowed_logout_urls:a.allowed_logout_urls?JSON.parse(a.allowed_logout_urls):[],allowed_clients:a.allowed_clients?JSON.parse(a.allowed_clients):[],tenant:f(r),disable_sign_ups:!!a.disable_sign_ups}}}}function At(t){return async()=>await t.selectFrom("keys").where(a=>a.or([a("revoked_at",">",new Date().toISOString()),a("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,a)=>!!(await t.updateTable("keys").set(a).where("kid","=",e).execute()).length}function Et(t){return{create:Ft(t),list:At(t),update:Lt(t)}}function zt(t){return async(e,a)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,id:$(),...a};return await t.insertInto("domains").values(r).execute(),r}}function Jt(t){return async(e,a)=>{let r=t.selectFrom("domains").where("domains.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{domains:n,start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function Rt(t){return{create:zt(t),list:Jt(t)}}function Ut(t){return async e=>{const[a]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,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}=a;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,a)=>{var s,l,d,g,m,y,C,Z,ee,te,ae,re,ne,oe,se,ie,le,ce;const{colors:r,font:o,...n}=a;try{await t.insertInto("branding").values({...n,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(l=(s=a.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(g=(d=a.colors)==null?void 0:d.page_background)==null?void 0:g.start,colors_page_background_end:(y=(m=a.colors)==null?void 0:m.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(Z=(C=a.colors)==null?void 0:C.page_background)==null?void 0:Z.angle_deg,font_url:(ee=a.font)==null?void 0:ee.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...n,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(ae=(te=a.colors)==null?void 0:te.page_background)==null?void 0:ae.type,colors_page_background_start:(ne=(re=a.colors)==null?void 0:re.page_background)==null?void 0:ne.start,colors_page_background_end:(se=(oe=a.colors)==null?void 0:oe.page_background)==null?void 0:se.end,colors_page_background_angle_dev:(le=(ie=a.colors)==null?void 0:ie.page_background)==null?void 0:le.angle_deg,font_url:(ce=a.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,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("hooks").where("hooks.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["url"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:n.map(d=>{const{tenant_id:g,enabled:m,synchronous:y,...C}=d;return f({...C,enabled:!!m,synchronous:!!y})}),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function Vt(t){return async(e,a)=>{const r=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();return r?f({...r,enabled:!!r.enabled,synchronous:!!r.synchronous}):null}}function Wt(t){return async(e,a)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function qt(t){return async(e,a)=>{const r={hook_id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...r,tenant_id:e,enabled:a.enabled?1:0,synchronous:a.synchronous?1:0}).execute(),r}}function Gt(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString(),enabled:r.enabled!==void 0?r.enabled?1:0:void 0,synchronous:r.enabled!==void 0?r.synchronous?1:0:void 0};return await t.updateTable("hooks").set(o).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",e).execute(),!0}}function Ht(t){return{create:qt(t),get:Vt(t),list:Qt(t),update:Gt(t),remove:Wt(t)}}function J(t,e="",a={}){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const o=e?`${e}_${r}`:r;typeof t[r]=="object"&&t[r]!==null&&!Array.isArray(t[r])?J(t[r],o,a):a[o]=t[r]}return a}function Xt(t,e){const a={};for(const[r,o]of Object.entries(t)){const n=e.find(s=>r.startsWith(`${s}_`));if(!n)a[r]=o;else{const s=r.slice(n.length+1);a[n]={...a[n],[s]:o}}}return a}function Yt(t){return async(e,a)=>{const r={themeId:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("themes").values({...J(r),tenant_id:e}).execute(),r}}function Zt(t){return async(e,a)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",a).executeTakeFirst()).numDeletedRows>0}function ea(t){return async(e,a)=>{const r=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",a).selectAll().executeTakeFirst();return r?f(r):null}}function ta(t){return async(e,a,r)=>{const o=J({...r,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(o).where("themes.id","=",a).where("themes.tenant_id","=",e).execute(),!0}}function aa(t){return{create:Yt(t),get:ea(t),remove:Zt(t),update:ta(t)}}function ra(t){return async(e,a)=>{const r=new Date().toISOString(),o=await t.selectFrom("logins").where("logins.expires_at",">",r).where("logins.login_id","=",a).selectAll().executeTakeFirst();return o?O.loginSchema.parse(Xt(f(o),["authParams"])):null}}function na(t){return async(e,a)=>{const r={login_id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("logins").values({...J(r),tenant_id:e}).execute(),r}}function oa(t){return async(e,a,r)=>(await t.updateTable("logins").set(J(r)).where("logins.login_id","=",a).where("logins.tenant_id","=",e).execute()).length===1}function sa(t){return async(e,a)=>(await t.deleteFrom("logins").where("logins.tenant_id","=",e).where("logins.login_id","=",a).execute()).length>0}function ia(t){return{create:na(t),get:ra(t),update:oa(t),remove:sa(t)}}function la(t){return async e=>{const[a]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return f({identifier_first:!!(a!=null&&a.identifier_first),password_first:!!(a!=null&&a.password_first),webauthn_platform_first_factor:!!(a!=null&&a.webauthn_platform_first_factor),universal_login_experience:(a==null?void 0:a.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 ca(t){return async(e,a)=>{try{const r=O.promptSettingSchema.parse(a);await t.insertInto("prompt_settings").values({...he(r),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(he(a)).where("tenant_id","=",e).execute()}}}function da(t){return{get:la(t),set:ca(t)}}function ua(t){return async e=>{const[a]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,credentials:o,settings:n,enabled:s,...l}=a;return f({...l,credentials:JSON.parse(o),settings:JSON.parse(n),enabled:!!s})}}function ma(t){return async(e,a)=>{const{credentials:r,settings:o,enabled:n,...s}=a;await t.updateTable("email_providers").set({...s,credentials:r?JSON.stringify(r):void 0,settings:o?JSON.stringify(o):void 0,enabled:n!==void 0?n?1:0:void 0}).where("tenant_id","=",e).execute()}}function ha(t){return async(e,a)=>{const{credentials:r,settings:o,enabled:n,...s}=a;await t.insertInto("email_providers").values({...s,enabled:n?1:0,credentials:JSON.stringify(r),settings:JSON.stringify(o),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function fa(t){return{get:ua(t),create:ha(t),update:ma(t)}}function _a(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})}}),q=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)})}}),pa=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:q.create(t)})},createWithSchema(t,e){return p({kind:"TableNode",table:q.createWithSchema(t,e)})}});var U;class ga{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 a=this.transformNodeImpl(e);return this.nodeStack.pop(),p(a)}transformNodeImpl(e){return c(this,U)[e.kind](e)}transformNodeList(e){return e&&p(e.map(a=>this.transformNode(a)))}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 wa=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,T,S,_,ge,we,ye,I,G,Ne;class ya extends ga{constructor(a){super();w(this,_);w(this,j);w(this,T,new Set);w(this,S,new Set);A(this,j,a)}transformNodeImpl(a){if(!u(this,_,ge).call(this,a))return super.transformNodeImpl(a);const r=u(this,_,ye).call(this,a);for(const s of r)c(this,S).add(s);const o=u(this,_,we).call(this,a);for(const s of o)c(this,T).add(s);const n=super.transformNodeImpl(a);for(const s of o)c(this,T).delete(s);for(const s of r)c(this,S).delete(s);return n}transformSchemableIdentifier(a){const r=super.transformSchemableIdentifier(a);return r.schema||!c(this,T).has(a.identifier.name)?r:{...r,schema:R.create(c(this,j))}}transformReferences(a){const r=super.transformReferences(a);return r.table.table.schema?r:{...r,table:B.createWithSchema(c(this,j),r.table.table.identifier.name)}}}j=new WeakMap,T=new WeakMap,S=new WeakMap,_=new WeakSet,ge=function(a){return a.kind in wa},we=function(a){const r=new Set;if("name"in a&&a.name&&q.is(a.name)&&u(this,_,G).call(this,a.name,r),"from"in a&&a.from)for(const o of a.from.froms)u(this,_,I).call(this,o,r);if("into"in a&&a.into&&u(this,_,I).call(this,a.into,r),"table"in a&&a.table&&u(this,_,I).call(this,a.table,r),"joins"in a&&a.joins)for(const o of a.joins)u(this,_,I).call(this,o.table,r);return"using"in a&&a.using&&u(this,_,I).call(this,a.using,r),r},ye=function(a){const r=new Set;return"with"in a&&a.with&&u(this,_,Ne).call(this,a.with,r),r},I=function(a,r){const o=B.is(a)?a:pa.is(a)&&B.is(a.node)?a.node:null;o&&u(this,_,G).call(this,o.table,r)},G=function(a,r){const o=a.identifier.name;!c(this,T).has(o)&&!c(this,S).has(o)&&r.add(o)},Ne=function(a,r){for(const o of a.expressions){const n=o.name.table.table.identifier.name;c(this,S).has(n)||r.add(n)}};var E;class Na{constructor(e){w(this,E);A(this,E,new ya(e))}transformQuery(e){return c(this,E).transformNode(e.node)}async transformResult(e){return e.result}}E=new WeakMap;class va{transformQuery(e){return e.node}async transformResult(e){return e.result}}const ba="kysely_migration",fe="kysely_migration_lock",Ca=!1,Q="migration_lock",xa=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:r,...o})=>{const n=e.find(s=>s.name===r);return{name:r,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:a,executedMigrations:r,pendingMigrations:o})=>{if(e===xa)return{direction:"Down",step:1/0};if(!a.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const n=r.indexOf(e),s=o.findIndex(l=>l.name===e);if(n!==-1)return{direction:"Down",step:r.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(a){return a instanceof V?a.resultSet:{error:a}}},N=function(){return c(this,h).migrationTableSchema},v=function(){return c(this,h).migrationTableName??ba},D=function(){return c(this,h).migrationLockTableName??fe},be=function(){return c(this,h).allowUnorderedMigrations??Ca},b=function(){return c(this,i,N)?new Na(c(this,i,N)):new va},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(a=>a.name===c(this,i,N))},P=async function(e){const a=c(this,i,N);return(await c(this,h).db.introspection.getTables({withInternalKyselyTables:!0})).some(o=>o.name===e&&(!a||o.schema===a))},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 a=c(this,h).db.getExecutor().adapter,r=p({lockTable:c(this,h).migrationLockTableName??fe,lockRowId:Q,lockTableSchema:c(this,h).migrationTableSchema}),o=async n=>{try{await a.acquireMigrationLock(n,r);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 a.releaseMigrationLock(n,r)}};return a.supportsTransactionalDdl?c(this,h).db.transaction().execute(o):c(this,h).db.connection().execute(o)},$e=async function(e){const a=await u(this,i,Y).call(this),r=await u(this,i,De).call(this,e);u(this,i,Pe).call(this,a,r),c(this,i,be)||u(this,i,je).call(this,a,r);const o=u(this,i,Ie).call(this,a,r);return p({migrations:a,executedMigrations:r,lastMigration:_a(r),pendingMigrations:o})},Ie=function(e,a){return e.filter(r=>!a.includes(r.name))},Y=async function(){const e=await c(this,h).provider.getMigrations();return Object.keys(e).sort().map(a=>({...e[a],name:a}))},De=async function(e){return(await e.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select("name").orderBy(["timestamp","name"]).execute()).map(r=>r.name)},Pe=function(e,a){for(const r of a)if(!e.some(o=>o.name===r))throw new Error(`corrupted migrations: previously executed migration ${r} is missing`)},je=function(e,a){for(let r=0;r<a.length;++r)if(e[r].name!==a[r])throw new Error(`corrupted migrations: expected previously executed migration ${a[r]} to be at index ${r} but ${e[r].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,a,r){const o=a.executedMigrations.slice().reverse().slice(0,r).map(s=>a.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,a,r){const n=a.pendingMigrations.slice(0,r).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<n.length;s++){const l=a.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(a){super();w(this,z);A(this,z,a)}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 Ta(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 Sa(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 Oa=Object.freeze(Object.defineProperty({__proto__:null,down:Sa,up:Ta},Symbol.toStringTag,{value:"Module"}));async function ka(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function $a(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}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.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 Aa(t){await t.schema.dropTable("logs").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.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 Ra(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Ua=Object.freeze(Object.defineProperty({__proto__:null,down:Ra,up:Ja},Symbol.toStringTag,{value:"Module"}));async function Ka(t){await t.schema.createTable("passwords").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)").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 Ba(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Qa=Object.freeze(Object.defineProperty({__proto__:null,down:Ba,up:Ka},Symbol.toStringTag,{value:"Module"}));async function Va(t){}async function Wa(t){}const qa=Object.freeze(Object.defineProperty({__proto__:null,down:Wa,up:Va},Symbol.toStringTag,{value:"Module"}));async function Ga(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function Ha(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ha,up:Ga},Symbol.toStringTag,{value:"Module"}));async function Ya(t){}async function Za(t){}const er=Object.freeze(Object.defineProperty({__proto__:null,down:Za,up:Ya},Symbol.toStringTag,{value:"Module"}));async function tr(t){}async function ar(t){}const rr=Object.freeze(Object.defineProperty({__proto__:null,down:ar,up:tr},Symbol.toStringTag,{value:"Module"}));async function nr(t){}async function or(t){}const sr=Object.freeze(Object.defineProperty({__proto__:null,down:or,up:nr},Symbol.toStringTag,{value:"Module"}));async function ir(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function lr(t){await t.schema.dropIndex("users_email_index").execute()}const cr=Object.freeze(Object.defineProperty({__proto__:null,down:lr,up:ir},Symbol.toStringTag,{value:"Module"}));async function dr(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function ur(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const mr=Object.freeze(Object.defineProperty({__proto__:null,down:ur,up:dr},Symbol.toStringTag,{value:"Module"}));async function hr(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function fr(t){await t.schema.dropIndex("users_linked_to_index")}const _r=Object.freeze(Object.defineProperty({__proto__:null,down:fr,up:hr},Symbol.toStringTag,{value:"Module"}));async function pr(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function gr(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const wr=Object.freeze(Object.defineProperty({__proto__:null,down:gr,up:pr},Symbol.toStringTag,{value:"Module"}));async function yr(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 Nr(t){await t.schema.dropTable("keys").execute()}const vr=Object.freeze(Object.defineProperty({__proto__:null,down:Nr,up:yr},Symbol.toStringTag,{value:"Module"}));async function br(t){}async function Cr(t){}const xr=Object.freeze(Object.defineProperty({__proto__:null,down:Cr,up:br},Symbol.toStringTag,{value:"Module"}));async function Tr(t){}async function Sr(t){}const Or=Object.freeze(Object.defineProperty({__proto__:null,down:Sr,up:Tr},Symbol.toStringTag,{value:"Module"}));async function kr(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function $r(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Ir=Object.freeze(Object.defineProperty({__proto__:null,down:$r,up:kr},Symbol.toStringTag,{value:"Module"}));async function Dr(t){}async function Pr(t){}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:Pr,up:Dr},Symbol.toStringTag,{value:"Module"}));async function Mr(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Ar(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Fr=Object.freeze(Object.defineProperty({__proto__:null,down:Ar,up:Mr},Symbol.toStringTag,{value:"Module"}));async function Lr(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Er(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const zr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:Lr},Symbol.toStringTag,{value:"Module"}));async function Jr(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 Rr(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const Ur=Object.freeze(Object.defineProperty({__proto__:null,down:Rr,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Kr(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Br(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Br,up:Kr},Symbol.toStringTag,{value:"Module"}));async function Vr(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 Wr(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 qr=Object.freeze(Object.defineProperty({__proto__:null,down:Wr,up:Vr},Symbol.toStringTag,{value:"Module"}));async function Gr(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function Hr(t){await t.schema.dropIndex("users_name_index").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){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const en=Object.freeze(Object.defineProperty({__proto__:null,down:Zr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function tn(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function an(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const rn=Object.freeze(Object.defineProperty({__proto__:null,down:an,up:tn},Symbol.toStringTag,{value:"Module"}));async function nn(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function on(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const sn=Object.freeze(Object.defineProperty({__proto__:null,down:on,up:nn},Symbol.toStringTag,{value:"Module"}));async function ln(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 cn(t){await t.schema.dropTable("branding").execute()}const dn=Object.freeze(Object.defineProperty({__proto__:null,down:cn,up:ln},Symbol.toStringTag,{value:"Module"}));async function un(t){}async function mn(t){}const hn=Object.freeze(Object.defineProperty({__proto__:null,down:mn,up:un},Symbol.toStringTag,{value:"Module"}));async function fn(t){}async function _n(t){}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){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 xn(t){await t.schema.dropTable("authentication_codes").execute()}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.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function In(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Dn=Object.freeze(Object.defineProperty({__proto__:null,down:In,up:$n},Symbol.toStringTag,{value:"Module"}));async function Pn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function jn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Mn=Object.freeze(Object.defineProperty({__proto__:null,down:jn,up:Pn},Symbol.toStringTag,{value:"Module"}));async function An(t){}async function Fn(t){}const Ln=Object.freeze(Object.defineProperty({__proto__:null,down:Fn,up:An},Symbol.toStringTag,{value:"Module"}));async function En(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 zn(t){await t.schema.dropTable("hooks").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){}async function Qn(t){}const Vn=Object.freeze(Object.defineProperty({__proto__:null,down:Qn,up:Bn},Symbol.toStringTag,{value:"Module"}));async function Wn(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(255)").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 qn(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 Gn=Object.freeze(Object.defineProperty({__proto__:null,down:qn,up:Wn},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.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function eo(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const to=Object.freeze(Object.defineProperty({__proto__:null,down:eo,up:Zn},Symbol.toStringTag,{value:"Module"}));async function ao(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function ro(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const no=Object.freeze(Object.defineProperty({__proto__:null,down:ro,up:ao},Symbol.toStringTag,{value:"Module"}));async function oo(t){}async function so(t){}const io=Object.freeze(Object.defineProperty({__proto__:null,down:so,up:oo},Symbol.toStringTag,{value:"Module"}));async function lo(t){}async function co(t){}const uo=Object.freeze(Object.defineProperty({__proto__:null,down:co,up:lo},Symbol.toStringTag,{value:"Module"}));async function mo(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function ho(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}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){}async function yo(t){}const No=Object.freeze(Object.defineProperty({__proto__:null,down:yo,up:wo},Symbol.toStringTag,{value:"Module"}));async function vo(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 bo(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 Co=Object.freeze(Object.defineProperty({__proto__:null,down:bo,up:vo},Symbol.toStringTag,{value:"Module"}));async function xo(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function To(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 So=Object.freeze(Object.defineProperty({__proto__:null,down:To,up:xo},Symbol.toStringTag,{value:"Module"}));async function Oo(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function ko(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const $o=Object.freeze(Object.defineProperty({__proto__:null,down:ko,up:Oo},Symbol.toStringTag,{value:"Module"}));async function Io(t){}async function Do(t){}const Po=Object.freeze(Object.defineProperty({__proto__:null,down:Do,up:Io},Symbol.toStringTag,{value:"Module"}));async function jo(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 Mo(t){await t.schema.dropTable("prompt_settings").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){}async function Jo(t){}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){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Vo(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Wo=Object.freeze(Object.defineProperty({__proto__:null,down:Vo,up:Qo},Symbol.toStringTag,{value:"Module"}));async function qo(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function Go(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const Ho=Object.freeze(Object.defineProperty({__proto__:null,down:Go,up:qo},Symbol.toStringTag,{value:"Module"}));async function Xo(t){}async function Yo(t){}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_act_as","varchar(255)").execute()}async function ts(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const as=Object.freeze(Object.defineProperty({__proto__:null,down:ts,up:es},Symbol.toStringTag,{value:"Module"}));async function rs(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function ns(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const os=Object.freeze(Object.defineProperty({__proto__:null,down:ns,up:rs},Symbol.toStringTag,{value:"Module"}));async function ss(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 is(t){await t.schema.dropTable("email_providers").execute()}const ls=Object.freeze(Object.defineProperty({__proto__:null,down:is,up:ss},Symbol.toStringTag,{value:"Module"}));async function cs(t){await t.schema.dropTable("tickets").execute()}async function ds(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 us=Object.freeze(Object.defineProperty({__proto__:null,down:ds,up:cs},Symbol.toStringTag,{value:"Module"}));async function ms(t){}async function hs(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:hs,up:ms},Symbol.toStringTag,{value:"Module"})),Le={m1_init:Oa,m2_magicLink:Ia,m3_updateAt:ja,m4_logTable:Fa,m5_userProfile:za,m6_sessions:Ua,m7_passwords:Qa,m8_logsTableNewFields:qa,m9_passwordTableNewField:Xa,n01_codesTable:er,n11_universalLoginSession:rr,n12_userFields:sr,n13_userEmailIndex:cr,n14_profileDataField:mr,n15_userEmailIndex:_r,n16_userLocale:wr,n17_signingKeys:vr,n18_logsFields:xr,n19_connectionsUserinfo:Or,n20_missingFields:Ir,n21_sessionDeletedAt:jr,n22_dropLogsFields:Fr,n23_dropUsersFields:zr,n24_logsIndexes:Ur,n25_logDescMaxLength:Qr,n26_logsTableExtraFields:qr,n27_usersTableNameIndex:Xr,n28_usersEmailConstrain:en,n29_increaseOtpStateLength:rn,n30_increaseTicketStateLength:sn,n31_branding:dn,n32_indexesAndNotNull:hn,n33_vendorIdInUniversalLoginSession:pn,n34_auth0ClientInUniversalLoginSession:yn,n35_increaseUniversalSessionStateLength:bn,n36_authenticationCodes:Tn,n37_disableSignUps:kn,n38_otpIpAddress:Dn,n39_increaseUserAgentLength:Mn,n40_userId:Ln,n41_hooks:Jn,n42_userIdIndexes:Kn,n43_userIdIndexes:Vn,n44_codes:Gn,n45_hookProperties:Yn,n46_loginAuth0Client:to,n47_loginAuth0Client:no,n48_saml:io,n49_removeFields:uo,n50_authParamsNonce:fo,n51_connectionid:go,n52_cert:No,n53_codes_primary_key:Co,n54_cleanup_tables:So,n55_logs_index:$o,n56_application_fields:Po,n57_prompt_settings:Ao,n58_connection_client_id:Eo,n59_connection_options:Ro,n60_users_metadata:Bo,n61_userLocales:Wo,n62_prompt:Ho,n63_connection_cleanup:Zo,n64_act_as:as,n65_code_verifier:os,n66_email_providers:ls,n67_drop_tickets:us,n68_login_useragents:fs};async function _s(t,e=!1){e&&console.log("migrating...");const a=new Fe(Le),r=new ve({db:t,provider:a}),{error:o,results:n}=await r.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 ps(t){console.log("migrating...");const e=new Fe(Le),a=new ve({db:t,provider:e}),{error:r,results:o}=await a.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}function gs(t){return{applications:Ot(t),branding:Bt(t),clients:Mt(t),codes:vt(t),connections:jt(t),emailProviders:fa(t),domains:Rt(t),hooks:Ht(t),keys:Et(t),logins:ia(t),logs:ot(t),passwords:_t(t),promptSettings:da(t),users:We(t),sessions:ut(t),tenants:et(t),themes:aa(t)}}exports.default=gs;exports.migrateDown=ps;exports.migrateToLatest=_s;
1
+ "use strict";var Ee=Object.defineProperty;var de=t=>{throw TypeError(t)};var ze=(t,e,a)=>e in t?Ee(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var M=(t,e,a)=>ze(t,typeof e!="symbol"?e+"":e,a),K=(t,e,a)=>e.has(t)||de("Cannot "+a);var c=(t,e,a)=>(K(t,e,"read from private field"),a?a.call(t):e.get(t)),w=(t,e,a)=>e.has(t)?de("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,a),A=(t,e,a,r)=>(K(t,e,"write to private field"),r?r.call(t,a):e.set(t,a),a),u=(t,e,a)=>(K(t,e,"access private method"),a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const O=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");var W=class extends Error{constructor(e=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});M(this,"res");M(this,"status");this.res=a==null?void 0:a.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,a)=>{const{identities:r,...o}=a,n={...o,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),login_count:0,tenant_id:e,email_verified:a.email_verified?1:0,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata)};try{await t.insertInto("users").values(n).execute()}catch(s){throw s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.message.includes("AlreadyExists")?new W(409,{message:"User already exists"}):new W(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 a in e)e[a]===null?delete e[a]:typeof e[a]=="object"&&(Array.isArray(e[a])?e[a]=e[a].map(f):e[a]=f(e[a]));return e}function _e(t){let e={};try{e=JSON.parse(t.profileData||"{}")}catch(a){console.error("Error parsing profileData",a)}return{connection:t.connection,provider:t.provider,user_id:O.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,a)=>{const[r,o]=await Promise.all([t.selectFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).selectAll().executeTakeFirst(),t.selectFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).selectAll().execute()]);if(!r)return null;const{tenant_id:n,...s}=r,l={...s,email:r.email||"",email_verified:r.email_verified===1,is_social:r.is_social===1,app_metadata:JSON.parse(r.app_metadata),user_metadata:JSON.parse(r.user_metadata),identities:[{connection:r.connection,provider:r.provider,user_id:O.parseUserId(r.user_id).id,isSocial:!!r.is_social},...o.map(_e)]};return f(l)}}function k(t,e,a,r){return a.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(r.map(C=>y(m(C),"like",`%${s}%`))))}}),e}function x(t){return typeof t=="string"?parseInt(t,10):typeof t=="bigint"?Number(t):t}function Ue(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("users").where("users.tenant_id","=",e);if(a.q&&(r=k(t,r,a.q,["email","name"])),a.sort&&a.sort.sort_by){const{ref:m}=t.dynamic;r=r.orderBy(m(a.sort.sort_by),a.sort.sort_order)}const n=await r.offset(a.page*a.per_page).limit(a.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(C=>C.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:O.parseUserId(m.user_id).id,isSocial:!!m.is_social},...y.map(_e)]})}),{count:g}=await r.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:d,start:a.page*a.per_page,limit:a.per_page,length:x(g)}}}function Ke(t){return async(e,a)=>(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.linked_to","=",a).execute(),(await t.deleteFrom("users").where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1)}function Be(t){if(t.email_verified!==void 0)return t.email_verified?1:0}function Qe(t){return async(e,a,r)=>{const o={...r,email_verified:Be(r),updated_at:new Date().toISOString()};return r.app_metadata&&(o.app_metadata=JSON.stringify(r.app_metadata)),r.user_metadata&&(o.user_metadata=JSON.stringify(r.user_metadata)),(await t.updateTable("users").set(o).where("users.tenant_id","=",e).where("users.user_id","=",a).execute()).length===1}}function Ve(t){return async(e,a,r,o)=>{const n={linked_to:null};return(await t.updateTable("users").set(n).where("users.tenant_id","=",e).where("users.user_id","=",`${r}|${o}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function We(t){return{create:Je(t),remove:Ke(t),get:Re(t),list:Ue(t),update:Qe(t),unlink:Ve(t)}}const qe="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";let $=(t=21)=>{let e="",a=crypto.getRandomValues(new Uint8Array(t));for(;t--;)e+=qe[a[t]&63];return e};function Ge(t){return async e=>{const a={id:e.id||$(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...e};return await t.insertInto("tenants").values(a).execute(),a}}function He(t){return async e=>{const a=await t.selectFrom("tenants").where("tenants.id","=",e).selectAll().executeTakeFirst();return a?f(a):null}}function Xe(t){return async(e={page:0,per_page:50,include_totals:!1})=>{let a=t.selectFrom("tenants");if(e.sort&&e.sort.sort_by){const{ref:l}=t.dynamic;a=a.orderBy(l(e.sort.sort_by),e.sort.sort_order)}e.q&&(a=a.where(l=>l.or([l("name","like",`%${e.q}%`)])));const o=await a.offset(e.page*e.per_page).limit(e.per_page).selectAll().execute();if(!e.include_totals)return{tenants:o};const{count:n}=await a.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow(),s=x(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,a)=>{const r={...a,id:e,updated_at:new Date().toISOString()};await t.updateTable("tenants").set(r).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 at(t){return async(e,a)=>{var o,n,s;const r={id:$(),...a,user_agent:a.user_agent.slice(0,tt)};return await t.insertInto("logs").values({...r,description:(o=r.description)==null?void 0:o.substring(0,256),isMobile:a.isMobile?1:0,tenant_id:e,scope:(n=a.scope)==null?void 0:n.join(","),auth0_client:ue(a.auth0_client),details:(s=ue(a.details))==null?void 0:s.substring(0,8192)}).execute(),r}}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 rt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("logs").where("logs.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));let o=r;if(a.sort&&a.sort.sort_by){const{ref:l}=t.dynamic;o=o.orderBy(l(a.sort.sort_by),a.sort.sort_order)}o=o.offset(a.page*a.per_page).limit(a.per_page);const n=await o.selectAll().execute(),{count:s}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:n.map(pe),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function nt(t){return async(e,a)=>{const r=await t.selectFrom("logs").where("logs.tenant_id","=",e).where("logs.id","=",a).selectAll().executeTakeFirst();return r?pe(r):null}}function ot(t){return{create:at(t),list:rt(t),get:nt(t)}}function st(t){return async(e,a)=>await t.selectFrom("sessions").where("sessions.tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).selectAll().executeTakeFirst()??null}function it(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),expires_at:new Date().toISOString()};return await t.insertInto("sessions").values({...r,tenant_id:e}).execute(),{...a,...r}}}function lt(t){return async(e,a)=>!!(await t.updateTable("sessions").set({deleted_at:new Date().toISOString()}).where("tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).execute()).length}function ct(t){return async(e,a,r)=>!!(await t.updateTable("sessions").set(r).where("tenant_id","=",e).where("sessions.session_id","=",a).where("sessions.deleted_at","is",null).execute()).length}function dt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("sessions").where("sessions.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","session_id"]));let o=r;if(a.sort&&a.sort.sort_by){const{ref:d}=t.dynamic;o=o.orderBy(d(a.sort.sort_by),a.sort.sort_order)}o=o.offset(a.page*a.per_page).limit(a.per_page);const n=await o.selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow(),l=x(s);return{sessions:n,start:a.page*a.per_page,limit:a.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,a)=>{const r=await t.selectFrom("passwords").where("passwords.tenant_id","=",e).where("passwords.user_id","=",a).selectAll().executeTakeFirstOrThrow(),{tenant_id:o,...n}=r;return n}}function ht(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("passwords").values({...r,tenant_id:e}).execute(),r}}function ft(t){return async(e,a)=>(await t.updateTable("passwords").set({password:a.password,updated_at:new Date().toISOString()}).where("tenant_id","=",e).where("user_id","=",a.user_id).execute()).length===1}function _t(t){return{create:ht(t),update:ft(t),get:mt(t)}}function pt(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("codes").where("codes.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["code","login_id"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:n.map(d=>{const{tenant_id:g,...m}=d;return O.codeSchema.parse(f(m))}),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function gt(t){return async(e,a)=>{const r={...a,created_at:new Date().toISOString()};return await t.insertInto("codes").values({...r,tenant_id:e}).execute(),r}}function wt(t){return async(e,a)=>(await t.deleteFrom("codes").where("codes.tenant_id","=",e).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function yt(t){return async(e,a,r)=>{let o=t.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",r);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,a)=>(await t.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",e).where("codes.code_id","=",a).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,a)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},o=JSON.stringify(a.allowed_origins),n=JSON.stringify(a.callbacks),s=JSON.stringify(a.web_origins),l=JSON.stringify(a.allowed_logout_urls),d=JSON.stringify(a.allowed_clients);return await t.insertInto("applications").values({...r,tenant_id:e,disable_sign_ups:a.disable_sign_ups?1:0,addons:a.addons?JSON.stringify(a.addons):"{}",callbacks:n,allowed_origins:o,web_origins:s,allowed_logout_urls:l,allowed_clients:d}).execute(),r}}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,a)=>{const r=await t.selectFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).selectAll().executeTakeFirst();return r?f({...r,disable_sign_ups:!!r.disable_sign_ups,addons:JSON.parse(r.addons),callbacks:JSON.parse(r.callbacks),allowed_origins:JSON.parse(r.allowed_origins),web_origins:JSON.parse(r.web_origins),allowed_logout_urls:JSON.parse(r.allowed_logout_urls)}):null}}function Tt(t){return async(e,a)=>(await t.deleteFrom("applications").where("applications.tenant_id","=",e).where("applications.id","=",a).executeTakeFirst()).numDeletedRows>0}function St(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString(),allowed_origins:r.allowed_origins?JSON.stringify(r.allowed_origins):void 0,callbacks:r.callbacks?JSON.stringify(r.callbacks):void 0,web_origins:r.web_origins?JSON.stringify(r.web_origins):void 0,allowed_logout_urls:r.allowed_logout_urls?JSON.stringify(r.allowed_logout_urls):void 0,allowed_clients:r.allowed_clients?JSON.stringify(r.allowed_clients):void 0,addons:r.addons?JSON.stringify(r.addons):"{}",disable_sign_ups:r.disable_sign_ups?1:0};return await t.updateTable("applications").set(o).where("applications.id","=",a).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,a)=>{const r={id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("connections").values({...r,options:JSON.stringify(r.options||{}),tenant_id:e}).execute(),r}}function $t(t){return async(e,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("connections").where("connections.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));const s=(await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute()).map(d=>f({...d,options:JSON.parse(d.options)})),{count:l}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:s,start:a.page*a.per_page,limit:a.per_page,length:x(l)}}}function It(t){return async(e,a)=>(await t.deleteFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function Dt(t){return async(e,a)=>{const r=await t.selectFrom("connections").where("connections.tenant_id","=",e).where("connections.id","=",a).selectAll().executeTakeFirst();return r?f({...r,options:JSON.parse(r.options)}):null}}function Pt(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString()};return await t.updateTable("connections").set({...o,options:o.options?JSON.stringify(o.options):void 0}).where("connections.id","=",a).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 a=await t.selectFrom("applications").selectAll().where("id","=",e).executeTakeFirst();if(!a)return null;const r=await t.selectFrom("tenants").selectAll().where("id","=",a.tenant_id).executeTakeFirst();if(!r)throw new W(404,{message:"Tenant not found"});const o=await t.selectFrom("connections").where("tenant_id","=",a.tenant_id).selectAll().execute(),n=await t.selectFrom("domains").where("tenant_id","=",a.tenant_id).selectAll().execute();return{...a,connections:o.map(l=>O.connectionSchema.parse(f({...l,options:l.options?JSON.parse(l.options):{}}))),domains:n,addons:a.addons?JSON.parse(a.addons):{},callbacks:a.callbacks?JSON.parse(a.callbacks):[],allowed_origins:a.allowed_origins?JSON.parse(a.allowed_origins):[],web_origins:a.web_origins?JSON.parse(a.web_origins):[],allowed_logout_urls:a.allowed_logout_urls?JSON.parse(a.allowed_logout_urls):[],allowed_clients:a.allowed_clients?JSON.parse(a.allowed_clients):[],tenant:f(r),disable_sign_ups:!!a.disable_sign_ups}}}}function At(t){return async()=>await t.selectFrom("keys").where(a=>a.or([a("revoked_at",">",new Date().toISOString()),a("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,a)=>!!(await t.updateTable("keys").set(a).where("kid","=",e).execute()).length}function Et(t){return{create:Ft(t),list:At(t),update:Lt(t)}}function zt(t){return async(e,a)=>{const r={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:e,id:$(),...a};return await t.insertInto("domains").values(r).execute(),r}}function Jt(t){return async(e,a)=>{let r=t.selectFrom("domains").where("domains.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["user_id","ip"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(l=>l.fn.countAll().as("count")).executeTakeFirstOrThrow();return{domains:n,start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function Rt(t){return{create:zt(t),list:Jt(t)}}function Ut(t){return async e=>{const[a]=await t.selectFrom("branding").where("branding.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,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}=a;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,a)=>{var s,l,d,g,m,y,C,Z,ee,te,ae,re,ne,oe,se,ie,le,ce;const{colors:r,font:o,...n}=a;try{await t.insertInto("branding").values({...n,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(l=(s=a.colors)==null?void 0:s.page_background)==null?void 0:l.type,colors_page_background_start:(g=(d=a.colors)==null?void 0:d.page_background)==null?void 0:g.start,colors_page_background_end:(y=(m=a.colors)==null?void 0:m.page_background)==null?void 0:y.end,colors_page_background_angle_dev:(Z=(C=a.colors)==null?void 0:C.page_background)==null?void 0:Z.angle_deg,font_url:(ee=a.font)==null?void 0:ee.url,tenant_id:e}).execute()}catch{await t.updateTable("branding").set({...n,colors_primary:r==null?void 0:r.primary,colors_page_background_type:(ae=(te=a.colors)==null?void 0:te.page_background)==null?void 0:ae.type,colors_page_background_start:(ne=(re=a.colors)==null?void 0:re.page_background)==null?void 0:ne.start,colors_page_background_end:(se=(oe=a.colors)==null?void 0:oe.page_background)==null?void 0:se.end,colors_page_background_angle_dev:(le=(ie=a.colors)==null?void 0:ie.page_background)==null?void 0:le.angle_deg,font_url:(ce=a.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,a={page:0,per_page:50,include_totals:!1})=>{let r=t.selectFrom("hooks").where("hooks.tenant_id","=",e);a.q&&(r=k(t,r,a.q,["url"]));const n=await r.offset(a.page*a.per_page).limit(a.per_page).selectAll().execute(),{count:s}=await r.select(d=>d.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:n.map(d=>{const{tenant_id:g,enabled:m,synchronous:y,...C}=d;return f({...C,enabled:!!m,synchronous:!!y})}),start:a.page*a.per_page,limit:a.per_page,length:x(s)}}}function Vt(t){return async(e,a)=>{const r=await t.selectFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();return r?f({...r,enabled:!!r.enabled,synchronous:!!r.synchronous}):null}}function Wt(t){return async(e,a)=>(await t.deleteFrom("hooks").where("hooks.tenant_id","=",e).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function qt(t){return async(e,a)=>{const r={hook_id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("hooks").values({...r,tenant_id:e,enabled:a.enabled?1:0,synchronous:a.synchronous?1:0}).execute(),r}}function Gt(t){return async(e,a,r)=>{const o={...r,updated_at:new Date().toISOString(),enabled:r.enabled!==void 0?r.enabled?1:0:void 0,synchronous:r.enabled!==void 0?r.synchronous?1:0:void 0};return await t.updateTable("hooks").set(o).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",e).execute(),!0}}function Ht(t){return{create:qt(t),get:Vt(t),list:Qt(t),update:Gt(t),remove:Wt(t)}}function J(t,e="",a={}){for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){const o=e?`${e}_${r}`:r;typeof t[r]=="object"&&t[r]!==null&&!Array.isArray(t[r])?J(t[r],o,a):a[o]=t[r]}return a}function Xt(t,e){const a={};for(const[r,o]of Object.entries(t)){const n=e.find(s=>r.startsWith(`${s}_`));if(!n)a[r]=o;else{const s=r.slice(n.length+1);a[n]={...a[n],[s]:o}}}return a}function Yt(t){return async(e,a)=>{const r={themeId:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("themes").values({...J(r),tenant_id:e}).execute(),r}}function Zt(t){return async(e,a)=>(await t.deleteFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",a).executeTakeFirst()).numDeletedRows>0}function ea(t){return async(e,a)=>{const r=await t.selectFrom("themes").where("themes.tenant_id","=",e).where("themes.theme_id","=",a).selectAll().executeTakeFirst();return r?f(r):null}}function ta(t){return async(e,a,r)=>{const o=J({...r,updated_at:new Date().toISOString()});return await t.updateTable("themes").set(o).where("themes.id","=",a).where("themes.tenant_id","=",e).execute(),!0}}function aa(t){return{create:Yt(t),get:ea(t),remove:Zt(t),update:ta(t)}}function ra(t){return async(e,a)=>{const r=new Date().toISOString(),o=await t.selectFrom("logins").where("logins.expires_at",">",r).where("logins.login_id","=",a).selectAll().executeTakeFirst();return o?O.loginSchema.parse(Xt(f(o),["authParams"])):null}}function na(t){return async(e,a)=>{const r={login_id:$(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await t.insertInto("logins").values({...J(r),tenant_id:e}).execute(),r}}function oa(t){return async(e,a,r)=>(await t.updateTable("logins").set(J(r)).where("logins.login_id","=",a).where("logins.tenant_id","=",e).execute()).length===1}function sa(t){return async(e,a)=>(await t.deleteFrom("logins").where("logins.tenant_id","=",e).where("logins.login_id","=",a).execute()).length>0}function ia(t){return{create:na(t),get:ra(t),update:oa(t),remove:sa(t)}}function la(t){return async e=>{const[a]=await t.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",e).selectAll().execute();return f({identifier_first:!!(a!=null&&a.identifier_first),password_first:!!(a!=null&&a.password_first),webauthn_platform_first_factor:!!(a!=null&&a.webauthn_platform_first_factor),universal_login_experience:(a==null?void 0:a.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 ca(t){return async(e,a)=>{try{const r=O.promptSettingSchema.parse(a);await t.insertInto("prompt_settings").values({...he(r),tenant_id:e}).execute()}catch{await t.updateTable("prompt_settings").set(he(a)).where("tenant_id","=",e).execute()}}}function da(t){return{get:la(t),set:ca(t)}}function ua(t){return async e=>{const[a]=await t.selectFrom("email_providers").where("email_providers.tenant_id","=",e).selectAll().execute();if(!a)return null;const{tenant_id:r,credentials:o,settings:n,enabled:s,...l}=a;return f({...l,credentials:JSON.parse(o),settings:JSON.parse(n),enabled:!!s})}}function ma(t){return async(e,a)=>{const{credentials:r,settings:o,enabled:n,...s}=a;await t.updateTable("email_providers").set({...s,credentials:r?JSON.stringify(r):void 0,settings:o?JSON.stringify(o):void 0,enabled:n!==void 0?n?1:0:void 0}).where("tenant_id","=",e).execute()}}function ha(t){return async(e,a)=>{const{credentials:r,settings:o,enabled:n,...s}=a;await t.insertInto("email_providers").values({...s,enabled:n?1:0,credentials:JSON.stringify(r),settings:JSON.stringify(o),tenant_id:e,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function fa(t){return{get:ua(t),create:ha(t),update:ma(t)}}function _a(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})}}),q=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)})}}),pa=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:q.create(t)})},createWithSchema(t,e){return p({kind:"TableNode",table:q.createWithSchema(t,e)})}});var U;class ga{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 a=this.transformNodeImpl(e);return this.nodeStack.pop(),p(a)}transformNodeImpl(e){return c(this,U)[e.kind](e)}transformNodeList(e){return e&&p(e.map(a=>this.transformNode(a)))}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 wa=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,T,S,_,ge,we,ye,I,G,Ne;class ya extends ga{constructor(a){super();w(this,_);w(this,j);w(this,T,new Set);w(this,S,new Set);A(this,j,a)}transformNodeImpl(a){if(!u(this,_,ge).call(this,a))return super.transformNodeImpl(a);const r=u(this,_,ye).call(this,a);for(const s of r)c(this,S).add(s);const o=u(this,_,we).call(this,a);for(const s of o)c(this,T).add(s);const n=super.transformNodeImpl(a);for(const s of o)c(this,T).delete(s);for(const s of r)c(this,S).delete(s);return n}transformSchemableIdentifier(a){const r=super.transformSchemableIdentifier(a);return r.schema||!c(this,T).has(a.identifier.name)?r:{...r,schema:R.create(c(this,j))}}transformReferences(a){const r=super.transformReferences(a);return r.table.table.schema?r:{...r,table:B.createWithSchema(c(this,j),r.table.table.identifier.name)}}}j=new WeakMap,T=new WeakMap,S=new WeakMap,_=new WeakSet,ge=function(a){return a.kind in wa},we=function(a){const r=new Set;if("name"in a&&a.name&&q.is(a.name)&&u(this,_,G).call(this,a.name,r),"from"in a&&a.from)for(const o of a.from.froms)u(this,_,I).call(this,o,r);if("into"in a&&a.into&&u(this,_,I).call(this,a.into,r),"table"in a&&a.table&&u(this,_,I).call(this,a.table,r),"joins"in a&&a.joins)for(const o of a.joins)u(this,_,I).call(this,o.table,r);return"using"in a&&a.using&&u(this,_,I).call(this,a.using,r),r},ye=function(a){const r=new Set;return"with"in a&&a.with&&u(this,_,Ne).call(this,a.with,r),r},I=function(a,r){const o=B.is(a)?a:pa.is(a)&&B.is(a.node)?a.node:null;o&&u(this,_,G).call(this,o.table,r)},G=function(a,r){const o=a.identifier.name;!c(this,T).has(o)&&!c(this,S).has(o)&&r.add(o)},Ne=function(a,r){for(const o of a.expressions){const n=o.name.table.table.identifier.name;c(this,S).has(n)||r.add(n)}};var E;class Na{constructor(e){w(this,E);A(this,E,new ya(e))}transformQuery(e){return c(this,E).transformNode(e.node)}async transformResult(e){return e.result}}E=new WeakMap;class va{transformQuery(e){return e.node}async transformResult(e){return e.result}}const ba="kysely_migration",fe="kysely_migration_lock",Ca=!1,Q="migration_lock",xa=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:r,...o})=>{const n=e.find(s=>s.name===r);return{name:r,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:a,executedMigrations:r,pendingMigrations:o})=>{if(e===xa)return{direction:"Down",step:1/0};if(!a.find(l=>l.name===e))throw new Error(`migration "${e}" doesn't exist`);const n=r.indexOf(e),s=o.findIndex(l=>l.name===e);if(n!==-1)return{direction:"Down",step:r.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(a){return a instanceof V?a.resultSet:{error:a}}},N=function(){return c(this,h).migrationTableSchema},v=function(){return c(this,h).migrationTableName??ba},D=function(){return c(this,h).migrationLockTableName??fe},be=function(){return c(this,h).allowUnorderedMigrations??Ca},b=function(){return c(this,i,N)?new Na(c(this,i,N)):new va},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(a=>a.name===c(this,i,N))},P=async function(e){const a=c(this,i,N);return(await c(this,h).db.introspection.getTables({withInternalKyselyTables:!0})).some(o=>o.name===e&&(!a||o.schema===a))},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 a=c(this,h).db.getExecutor().adapter,r=p({lockTable:c(this,h).migrationLockTableName??fe,lockRowId:Q,lockTableSchema:c(this,h).migrationTableSchema}),o=async n=>{try{await a.acquireMigrationLock(n,r);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 a.releaseMigrationLock(n,r)}};return a.supportsTransactionalDdl?c(this,h).db.transaction().execute(o):c(this,h).db.connection().execute(o)},$e=async function(e){const a=await u(this,i,Y).call(this),r=await u(this,i,De).call(this,e);u(this,i,Pe).call(this,a,r),c(this,i,be)||u(this,i,je).call(this,a,r);const o=u(this,i,Ie).call(this,a,r);return p({migrations:a,executedMigrations:r,lastMigration:_a(r),pendingMigrations:o})},Ie=function(e,a){return e.filter(r=>!a.includes(r.name))},Y=async function(){const e=await c(this,h).provider.getMigrations();return Object.keys(e).sort().map(a=>({...e[a],name:a}))},De=async function(e){return(await e.withPlugin(c(this,i,b)).selectFrom(c(this,i,v)).select("name").orderBy(["timestamp","name"]).execute()).map(r=>r.name)},Pe=function(e,a){for(const r of a)if(!e.some(o=>o.name===r))throw new Error(`corrupted migrations: previously executed migration ${r} is missing`)},je=function(e,a){for(let r=0;r<a.length;++r)if(e[r].name!==a[r])throw new Error(`corrupted migrations: expected previously executed migration ${a[r]} to be at index ${r} but ${e[r].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,a,r){const o=a.executedMigrations.slice().reverse().slice(0,r).map(s=>a.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,a,r){const n=a.pendingMigrations.slice(0,r).map(s=>({migrationName:s.name,direction:"Up",status:"NotExecuted"}));for(let s=0;s<n.length;s++){const l=a.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(a){super();w(this,z);A(this,z,a)}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 Ta(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 Sa(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 Oa=Object.freeze(Object.defineProperty({__proto__:null,down:Sa,up:Ta},Symbol.toStringTag,{value:"Module"}));async function ka(t){await t.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function $a(t){await t.schema.alterTable("tenants").dropColumn("support_url").execute()}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.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 Aa(t){await t.schema.dropTable("logs").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.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 Ra(t){await t.schema.dropTable("sessions").execute(),await t.schema.dropTable("tickets").execute(),await t.schema.dropTable("otps").execute()}const Ua=Object.freeze(Object.defineProperty({__proto__:null,down:Ra,up:Ja},Symbol.toStringTag,{value:"Module"}));async function Ka(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 Ba(t){await t.schema.dropTable("passwords").execute(),await t.schema.dropTable("codes").execute()}const Qa=Object.freeze(Object.defineProperty({__proto__:null,down:Ba,up:Ka},Symbol.toStringTag,{value:"Module"}));async function Va(t){}async function Wa(t){}const qa=Object.freeze(Object.defineProperty({__proto__:null,down:Wa,up:Va},Symbol.toStringTag,{value:"Module"}));async function Ga(t){await t.schema.alterTable("passwords").addColumn("password","varchar(255)",e=>e.notNull()).execute()}async function Ha(t){await t.schema.alterTable("passwords").dropColumn("password").execute()}const Xa=Object.freeze(Object.defineProperty({__proto__:null,down:Ha,up:Ga},Symbol.toStringTag,{value:"Module"}));async function Ya(t){}async function Za(t){}const er=Object.freeze(Object.defineProperty({__proto__:null,down:Za,up:Ya},Symbol.toStringTag,{value:"Module"}));async function tr(t){}async function ar(t){}const rr=Object.freeze(Object.defineProperty({__proto__:null,down:ar,up:tr},Symbol.toStringTag,{value:"Module"}));async function nr(t){}async function or(t){}const sr=Object.freeze(Object.defineProperty({__proto__:null,down:or,up:nr},Symbol.toStringTag,{value:"Module"}));async function ir(t){await t.schema.createIndex("users_email_index").on("users").column("email").execute()}async function lr(t){await t.schema.dropIndex("users_email_index").execute()}const cr=Object.freeze(Object.defineProperty({__proto__:null,down:lr,up:ir},Symbol.toStringTag,{value:"Module"}));async function dr(t){await t.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function ur(t){await t.schema.alterTable("users").dropColumn("profileData").execute()}const mr=Object.freeze(Object.defineProperty({__proto__:null,down:ur,up:dr},Symbol.toStringTag,{value:"Module"}));async function hr(t){await t.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function fr(t){await t.schema.dropIndex("users_linked_to_index")}const _r=Object.freeze(Object.defineProperty({__proto__:null,down:fr,up:hr},Symbol.toStringTag,{value:"Module"}));async function pr(t){await t.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function gr(t){await t.schema.alterTable("users").dropColumn("locale").execute()}const wr=Object.freeze(Object.defineProperty({__proto__:null,down:gr,up:pr},Symbol.toStringTag,{value:"Module"}));async function yr(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 Nr(t){await t.schema.dropTable("keys").execute()}const vr=Object.freeze(Object.defineProperty({__proto__:null,down:Nr,up:yr},Symbol.toStringTag,{value:"Module"}));async function br(t){}async function Cr(t){}const xr=Object.freeze(Object.defineProperty({__proto__:null,down:Cr,up:br},Symbol.toStringTag,{value:"Module"}));async function Tr(t){}async function Sr(t){}const Or=Object.freeze(Object.defineProperty({__proto__:null,down:Sr,up:Tr},Symbol.toStringTag,{value:"Module"}));async function kr(t){await t.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function $r(t){await t.schema.alterTable("otps").dropColumn("audience").execute()}const Ir=Object.freeze(Object.defineProperty({__proto__:null,down:$r,up:kr},Symbol.toStringTag,{value:"Module"}));async function Dr(t){}async function Pr(t){}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:Pr,up:Dr},Symbol.toStringTag,{value:"Module"}));async function Mr(t){await t.schema.alterTable("logs").dropColumn("category").execute()}async function Ar(t){await t.schema.alterTable("logs").addColumn("category","varchar(255)",e=>e.notNull()).execute()}const Fr=Object.freeze(Object.defineProperty({__proto__:null,down:Ar,up:Mr},Symbol.toStringTag,{value:"Module"}));async function Lr(t){await t.schema.alterTable("users").dropColumn("tags").execute()}async function Er(t){await t.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const zr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:Lr},Symbol.toStringTag,{value:"Module"}));async function Jr(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 Rr(t){await t.schema.dropIndex("logs_user_id"),await t.schema.dropIndex("logs_tenant_id"),await t.schema.dropIndex("logs_date")}const Ur=Object.freeze(Object.defineProperty({__proto__:null,down:Rr,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Kr(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function Br(t){await t.schema.alterTable("logs").dropColumn("details").execute(),await t.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Br,up:Kr},Symbol.toStringTag,{value:"Module"}));async function Vr(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 Wr(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 qr=Object.freeze(Object.defineProperty({__proto__:null,down:Wr,up:Vr},Symbol.toStringTag,{value:"Module"}));async function Gr(t){await t.schema.createIndex("users_name_index").on("users").column("name").execute()}async function Hr(t){await t.schema.dropIndex("users_name_index").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){await t.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const en=Object.freeze(Object.defineProperty({__proto__:null,down:Zr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function tn(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function an(t){await t.schema.alterTable("otps").dropColumn("state").execute(),await t.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const rn=Object.freeze(Object.defineProperty({__proto__:null,down:an,up:tn},Symbol.toStringTag,{value:"Module"}));async function nn(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function on(t){await t.schema.alterTable("tickets").dropColumn("state").execute(),await t.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const sn=Object.freeze(Object.defineProperty({__proto__:null,down:on,up:nn},Symbol.toStringTag,{value:"Module"}));async function ln(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 cn(t){await t.schema.dropTable("branding").execute()}const dn=Object.freeze(Object.defineProperty({__proto__:null,down:cn,up:ln},Symbol.toStringTag,{value:"Module"}));async function un(t){}async function mn(t){}const hn=Object.freeze(Object.defineProperty({__proto__:null,down:mn,up:un},Symbol.toStringTag,{value:"Module"}));async function fn(t){}async function _n(t){}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){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 xn(t){await t.schema.dropTable("authentication_codes").execute()}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.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function In(t){await t.schema.alterTable("otps").dropColumn("ip").execute()}const Dn=Object.freeze(Object.defineProperty({__proto__:null,down:In,up:$n},Symbol.toStringTag,{value:"Module"}));async function Pn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function jn(t){await t.schema.alterTable("logs").dropColumn("user_agent").execute(),await t.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const Mn=Object.freeze(Object.defineProperty({__proto__:null,down:jn,up:Pn},Symbol.toStringTag,{value:"Module"}));async function An(t){}async function Fn(t){}const Ln=Object.freeze(Object.defineProperty({__proto__:null,down:Fn,up:An},Symbol.toStringTag,{value:"Module"}));async function En(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 zn(t){await t.schema.dropTable("hooks").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){}async function Qn(t){}const Vn=Object.freeze(Object.defineProperty({__proto__:null,down:Qn,up:Bn},Symbol.toStringTag,{value:"Module"}));async function Wn(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 qn(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 Gn=Object.freeze(Object.defineProperty({__proto__:null,down:qn,up:Wn},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.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function eo(t){await t.schema.alterTable("logins").dropColumn("auth0Client").execute()}const to=Object.freeze(Object.defineProperty({__proto__:null,down:eo,up:Zn},Symbol.toStringTag,{value:"Module"}));async function ao(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function ro(t){await t.schema.alterTable("logins").dropColumn("authParams_state").execute(),await t.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const no=Object.freeze(Object.defineProperty({__proto__:null,down:ro,up:ao},Symbol.toStringTag,{value:"Module"}));async function oo(t){}async function so(t){}const io=Object.freeze(Object.defineProperty({__proto__:null,down:so,up:oo},Symbol.toStringTag,{value:"Module"}));async function lo(t){}async function co(t){}const uo=Object.freeze(Object.defineProperty({__proto__:null,down:co,up:lo},Symbol.toStringTag,{value:"Module"}));async function mo(t){await t.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function ho(t){await t.schema.alterTable("logins").dropColumn("nonce").execute()}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){}async function yo(t){}const No=Object.freeze(Object.defineProperty({__proto__:null,down:yo,up:wo},Symbol.toStringTag,{value:"Module"}));async function vo(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 bo(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 Co=Object.freeze(Object.defineProperty({__proto__:null,down:bo,up:vo},Symbol.toStringTag,{value:"Module"}));async function xo(t){await t.schema.dropTable("otps").execute(),await t.schema.dropTable("authentication_codes").execute()}async function To(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 So=Object.freeze(Object.defineProperty({__proto__:null,down:To,up:xo},Symbol.toStringTag,{value:"Module"}));async function Oo(t){await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function ko(t){await t.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const $o=Object.freeze(Object.defineProperty({__proto__:null,down:ko,up:Oo},Symbol.toStringTag,{value:"Module"}));async function Io(t){}async function Do(t){}const Po=Object.freeze(Object.defineProperty({__proto__:null,down:Do,up:Io},Symbol.toStringTag,{value:"Module"}));async function jo(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 Mo(t){await t.schema.dropTable("prompt_settings").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){}async function Jo(t){}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){await t.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function Vo(t){await t.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const Wo=Object.freeze(Object.defineProperty({__proto__:null,down:Vo,up:Qo},Symbol.toStringTag,{value:"Module"}));async function qo(t){await t.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function Go(t){await t.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const Ho=Object.freeze(Object.defineProperty({__proto__:null,down:Go,up:qo},Symbol.toStringTag,{value:"Module"}));async function Xo(t){}async function Yo(t){}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_act_as","varchar(255)").execute()}async function ts(t){await t.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const as=Object.freeze(Object.defineProperty({__proto__:null,down:ts,up:es},Symbol.toStringTag,{value:"Module"}));async function rs(t){await t.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function ns(t){await t.schema.alterTable("codes").dropColumn("code_verifier").execute()}const os=Object.freeze(Object.defineProperty({__proto__:null,down:ns,up:rs},Symbol.toStringTag,{value:"Module"}));async function ss(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 is(t){await t.schema.dropTable("email_providers").execute()}const ls=Object.freeze(Object.defineProperty({__proto__:null,down:is,up:ss},Symbol.toStringTag,{value:"Module"}));async function cs(t){await t.schema.dropTable("tickets").execute()}async function ds(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 us=Object.freeze(Object.defineProperty({__proto__:null,down:ds,up:cs},Symbol.toStringTag,{value:"Module"}));async function ms(t){}async function hs(t){await t.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:hs,up:ms},Symbol.toStringTag,{value:"Module"}));async function _s(t){await t.schema.createTable("refresh_tokens").addColumn("tenant_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("refresh_token","varchar(255)",e=>e.notNull()).addColumn("session_id","varchar(255)",e=>e.references("tenants.id").onDelete("cascade").notNull()).addColumn("expires_at","varchar(255)",e=>e.notNull()).addColumn("used_at","varchar(255)").addColumn("revoked_at","varchar(255)").addColumn("created_at","varchar(255)",e=>e.notNull().defaultTo(new Date().toISOString())).addPrimaryKeyConstraint("refresh_tokens_pkey",["tenant_id","refresh_token"]).execute()}async function ps(t){await t.schema.dropTable("refresh_tokens").execute()}const gs=Object.freeze(Object.defineProperty({__proto__:null,down:ps,up:_s},Symbol.toStringTag,{value:"Module"})),Le={m1_init:Oa,m2_magicLink:Ia,m3_updateAt:ja,m4_logTable:Fa,m5_userProfile:za,m6_sessions:Ua,m7_passwords:Qa,m8_logsTableNewFields:qa,m9_passwordTableNewField:Xa,n01_codesTable:er,n11_universalLoginSession:rr,n12_userFields:sr,n13_userEmailIndex:cr,n14_profileDataField:mr,n15_userEmailIndex:_r,n16_userLocale:wr,n17_signingKeys:vr,n18_logsFields:xr,n19_connectionsUserinfo:Or,n20_missingFields:Ir,n21_sessionDeletedAt:jr,n22_dropLogsFields:Fr,n23_dropUsersFields:zr,n24_logsIndexes:Ur,n25_logDescMaxLength:Qr,n26_logsTableExtraFields:qr,n27_usersTableNameIndex:Xr,n28_usersEmailConstrain:en,n29_increaseOtpStateLength:rn,n30_increaseTicketStateLength:sn,n31_branding:dn,n32_indexesAndNotNull:hn,n33_vendorIdInUniversalLoginSession:pn,n34_auth0ClientInUniversalLoginSession:yn,n35_increaseUniversalSessionStateLength:bn,n36_authenticationCodes:Tn,n37_disableSignUps:kn,n38_otpIpAddress:Dn,n39_increaseUserAgentLength:Mn,n40_userId:Ln,n41_hooks:Jn,n42_userIdIndexes:Kn,n43_userIdIndexes:Vn,n44_codes:Gn,n45_hookProperties:Yn,n46_loginAuth0Client:to,n47_loginAuth0Client:no,n48_saml:io,n49_removeFields:uo,n50_authParamsNonce:fo,n51_connectionid:go,n52_cert:No,n53_codes_primary_key:Co,n54_cleanup_tables:So,n55_logs_index:$o,n56_application_fields:Po,n57_prompt_settings:Ao,n58_connection_client_id:Eo,n59_connection_options:Ro,n60_users_metadata:Bo,n61_userLocales:Wo,n62_prompt:Ho,n63_connection_cleanup:Zo,n64_act_as:as,n65_code_verifier:os,n66_email_providers:ls,n67_drop_tickets:us,n68_login_useragents:fs,n70_refresh_tokens:gs};async function ws(t,e=!1){e&&console.log("migrating...");const a=new Fe(Le),r=new ve({db:t,provider:a}),{error:o,results:n}=await r.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 ys(t){console.log("migrating...");const e=new Fe(Le),a=new ve({db:t,provider:e}),{error:r,results:o}=await a.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}"`)}),r)throw console.error("failed to migrate"),console.error(r),r}function Ns(t){return{applications:Ot(t),branding:Bt(t),clients:Mt(t),codes:vt(t),connections:jt(t),emailProviders:fa(t),domains:Rt(t),hooks:Ht(t),keys:Et(t),logins:ia(t),logs:ot(t),passwords:_t(t),promptSettings:da(t),users:We(t),sessions:ut(t),tenants:et(t),themes:aa(t)}}exports.default=Ns;exports.migrateDown=ys;exports.migrateToLatest=ws;
@@ -1508,6 +1508,16 @@ declare const hookSchema: z.ZodObject<z.objectUtil.extendShape<{
1508
1508
  priority?: number | undefined;
1509
1509
  }>;
1510
1510
  export type Hook = z.infer<typeof hookSchema>;
1511
+ export interface ListParams {
1512
+ page: number;
1513
+ per_page: number;
1514
+ include_totals: boolean;
1515
+ q?: string;
1516
+ sort?: {
1517
+ sort_by: string;
1518
+ sort_order: "asc" | "desc";
1519
+ };
1520
+ }
1511
1521
  declare const loginInsertSchema: z.ZodObject<{
1512
1522
  auth0Client: z.ZodOptional<z.ZodString>;
1513
1523
  authParams: z.ZodObject<{
@@ -2995,16 +3005,6 @@ declare const emailProviderSchema: z.ZodObject<{
2995
3005
  settings?: {} | undefined;
2996
3006
  }>;
2997
3007
  export type EmailProvider = z.infer<typeof emailProviderSchema>;
2998
- export interface ListParams {
2999
- page: number;
3000
- per_page: number;
3001
- include_totals: boolean;
3002
- q?: string;
3003
- sort?: {
3004
- sort_by: string;
3005
- sort_order: "asc" | "desc";
3006
- };
3007
- }
3008
3008
  export interface ListCodesResponse extends Totals {
3009
3009
  codes: Code[];
3010
3010
  }
@@ -566,7 +566,7 @@ function kt(t) {
566
566
  function $t(t) {
567
567
  return async (e, a) => (await t.deleteFrom("applications").where("applications.tenant_id", "=", e).where("applications.id", "=", a).executeTakeFirst()).numDeletedRows > 0;
568
568
  }
569
- function It(t) {
569
+ function Dt(t) {
570
570
  return async (e, a, r) => {
571
571
  const o = {
572
572
  ...r,
@@ -582,13 +582,13 @@ function It(t) {
582
582
  return await t.updateTable("applications").set(o).where("applications.id", "=", a).where("applications.tenant_id", "=", e).execute(), !0;
583
583
  };
584
584
  }
585
- function Dt(t) {
585
+ function It(t) {
586
586
  return {
587
587
  create: St(t),
588
588
  list: Ot(t),
589
589
  get: kt(t),
590
590
  remove: $t(t),
591
- update: It(t)
591
+ update: Dt(t)
592
592
  };
593
593
  }
594
594
  function Pt(t) {
@@ -2079,7 +2079,7 @@ class Ta {
2079
2079
  }
2080
2080
  }
2081
2081
  const Sa = "kysely_migration", fe = "kysely_migration_lock", Oa = !1, B = "migration_lock", ka = p({ __noMigrations__: !0 });
2082
- var h, i, A, N, v, I, be, b, Ce, xe, Te, Se, Oe, G, D, H, ke, $e, Ie, X, De, Pe, je, Me, Ae, F;
2082
+ var h, i, A, N, v, D, be, b, Ce, xe, Te, Se, Oe, G, I, H, ke, $e, De, X, Ie, Pe, je, Me, Ae, F;
2083
2083
  class ve {
2084
2084
  constructor(e) {
2085
2085
  w(this, i);
@@ -2092,7 +2092,7 @@ class ve {
2092
2092
  * The returned array is sorted by migration name.
2093
2093
  */
2094
2094
  async getMigrations() {
2095
- const e = await u(this, i, D).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() : [];
2095
+ const e = await u(this, i, I).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() : [];
2096
2096
  return (await u(this, i, X).call(this)).map(({ name: r, ...o }) => {
2097
2097
  const n = e.find((s) => s.name === r);
2098
2098
  return {
@@ -2237,7 +2237,7 @@ h = new WeakMap(), i = new WeakSet(), A = async function(e) {
2237
2237
  return c(this, h).migrationTableSchema;
2238
2238
  }, v = function() {
2239
2239
  return c(this, h).migrationTableName ?? Sa;
2240
- }, I = function() {
2240
+ }, D = function() {
2241
2241
  return c(this, h).migrationLockTableName ?? fe;
2242
2242
  }, be = function() {
2243
2243
  return c(this, h).allowUnorderedMigrations ?? Oa;
@@ -2254,38 +2254,38 @@ h = new WeakMap(), i = new WeakSet(), A = async function(e) {
2254
2254
  throw e;
2255
2255
  }
2256
2256
  }, Te = async function() {
2257
- if (!await u(this, i, D).call(this, c(this, i, v)))
2257
+ if (!await u(this, i, I).call(this, c(this, i, v)))
2258
2258
  try {
2259
2259
  c(this, i, N) && await u(this, i, F).call(this, c(this, h).db.schema.createSchema(c(this, i, N))), await u(this, i, F).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()));
2260
2260
  } catch (e) {
2261
- if (!await u(this, i, D).call(this, c(this, i, v)))
2261
+ if (!await u(this, i, I).call(this, c(this, i, v)))
2262
2262
  throw e;
2263
2263
  }
2264
2264
  }, Se = async function() {
2265
- if (!await u(this, i, D).call(this, c(this, i, I)))
2265
+ if (!await u(this, i, I).call(this, c(this, i, D)))
2266
2266
  try {
2267
- await u(this, i, F).call(this, c(this, h).db.schema.withPlugin(c(this, i, b)).createTable(c(this, i, I)).addColumn("id", "varchar(255)", (e) => e.notNull().primaryKey()).addColumn("is_locked", "integer", (e) => e.notNull().defaultTo(0)));
2267
+ await u(this, i, F).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)));
2268
2268
  } catch (e) {
2269
- if (!await u(this, i, D).call(this, c(this, i, I)))
2269
+ if (!await u(this, i, I).call(this, c(this, i, D)))
2270
2270
  throw e;
2271
2271
  }
2272
2272
  }, Oe = async function() {
2273
2273
  if (!await u(this, i, H).call(this))
2274
2274
  try {
2275
- await c(this, h).db.withPlugin(c(this, i, b)).insertInto(c(this, i, I)).values({ id: B, is_locked: 0 }).execute();
2275
+ await c(this, h).db.withPlugin(c(this, i, b)).insertInto(c(this, i, D)).values({ id: B, is_locked: 0 }).execute();
2276
2276
  } catch (e) {
2277
2277
  if (!await u(this, i, H).call(this))
2278
2278
  throw e;
2279
2279
  }
2280
2280
  }, G = async function() {
2281
2281
  return (await c(this, h).db.introspection.getSchemas()).some((a) => a.name === c(this, i, N));
2282
- }, D = async function(e) {
2282
+ }, I = async function(e) {
2283
2283
  const a = c(this, i, N);
2284
2284
  return (await c(this, h).db.introspection.getTables({
2285
2285
  withInternalKyselyTables: !0
2286
2286
  })).some((o) => o.name === e && (!a || o.schema === a));
2287
2287
  }, H = async function() {
2288
- return !!await c(this, h).db.withPlugin(c(this, i, b)).selectFrom(c(this, i, I)).where("id", "=", B).select("id").executeTakeFirst();
2288
+ return !!await c(this, h).db.withPlugin(c(this, i, b)).selectFrom(c(this, i, D)).where("id", "=", B).select("id").executeTakeFirst();
2289
2289
  }, ke = async function(e) {
2290
2290
  const a = c(this, h).db.getExecutor().adapter, r = p({
2291
2291
  lockTable: c(this, h).migrationLockTableName ?? fe,
@@ -2305,16 +2305,16 @@ h = new WeakMap(), i = new WeakSet(), A = async function(e) {
2305
2305
  };
2306
2306
  return a.supportsTransactionalDdl ? c(this, h).db.transaction().execute(o) : c(this, h).db.connection().execute(o);
2307
2307
  }, $e = async function(e) {
2308
- const a = await u(this, i, X).call(this), r = await u(this, i, De).call(this, e);
2308
+ const a = await u(this, i, X).call(this), r = await u(this, i, Ie).call(this, e);
2309
2309
  u(this, i, Pe).call(this, a, r), c(this, i, be) || u(this, i, je).call(this, a, r);
2310
- const o = u(this, i, Ie).call(this, a, r);
2310
+ const o = u(this, i, De).call(this, a, r);
2311
2311
  return p({
2312
2312
  migrations: a,
2313
2313
  executedMigrations: r,
2314
2314
  lastMigration: ya(r),
2315
2315
  pendingMigrations: o
2316
2316
  });
2317
- }, Ie = function(e, a) {
2317
+ }, De = function(e, a) {
2318
2318
  return e.filter((r) => !a.includes(r.name));
2319
2319
  }, X = async function() {
2320
2320
  const e = await c(this, h).provider.getMigrations();
@@ -2322,7 +2322,7 @@ h = new WeakMap(), i = new WeakSet(), A = async function(e) {
2322
2322
  ...e[a],
2323
2323
  name: a
2324
2324
  }));
2325
- }, De = async function(e) {
2325
+ }, Ie = async function(e) {
2326
2326
  return (await e.withPlugin(c(this, i, b)).selectFrom(c(this, i, v)).select("name").orderBy(["timestamp", "name"]).execute()).map((r) => r.name);
2327
2327
  }, Pe = function(e, a) {
2328
2328
  for (const r of a)
@@ -2479,12 +2479,12 @@ async function $a(t) {
2479
2479
  (e) => e.references("tenants.id").onDelete("cascade").notNull()
2480
2480
  ).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();
2481
2481
  }
2482
- async function Ia(t) {
2482
+ async function Da(t) {
2483
2483
  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();
2484
2484
  }
2485
- const Da = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2485
+ const Ia = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2486
2486
  __proto__: null,
2487
- down: Ia,
2487
+ down: Da,
2488
2488
  up: $a
2489
2489
  }, Symbol.toStringTag, { value: "Module" }));
2490
2490
  async function Pa(t) {
@@ -2571,7 +2571,7 @@ const Va = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2571
2571
  up: Ba
2572
2572
  }, Symbol.toStringTag, { value: "Module" }));
2573
2573
  async function Wa(t) {
2574
- await t.schema.createTable("passwords").addColumn("tenant_id", "varchar(255)").addColumn("user_id", "varchar(255)").addForeignKeyConstraint(
2574
+ await t.schema.createTable("passwords").addColumn("tenant_id", "varchar(255)").addColumn("user_id", "varchar(255)").addPrimaryKeyConstraint("passwords_pkey", ["user_id", "tenant_id"]).addForeignKeyConstraint(
2575
2575
  "user_id_constraint",
2576
2576
  ["user_id", "tenant_id"],
2577
2577
  "users",
@@ -2715,11 +2715,11 @@ const kr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2715
2715
  }, Symbol.toStringTag, { value: "Module" }));
2716
2716
  async function $r(t) {
2717
2717
  }
2718
- async function Ir(t) {
2718
+ async function Dr(t) {
2719
2719
  }
2720
- const Dr = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2720
+ const Ir = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2721
2721
  __proto__: null,
2722
- down: Ir,
2722
+ down: Dr,
2723
2723
  up: $r
2724
2724
  }, Symbol.toStringTag, { value: "Module" }));
2725
2725
  async function Pr(t) {
@@ -2910,14 +2910,14 @@ const $n = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2910
2910
  down: kn,
2911
2911
  up: On
2912
2912
  }, Symbol.toStringTag, { value: "Module" }));
2913
- async function In(t) {
2914
- }
2915
2913
  async function Dn(t) {
2916
2914
  }
2915
+ async function In(t) {
2916
+ }
2917
2917
  const Pn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2918
2918
  __proto__: null,
2919
- down: Dn,
2920
- up: In
2919
+ down: In,
2920
+ up: Dn
2921
2921
  }, Symbol.toStringTag, { value: "Module" }));
2922
2922
  async function jn(t) {
2923
2923
  await t.schema.alterTable("otps").addColumn("ip", "varchar(64)").execute();
@@ -2992,7 +2992,7 @@ async function Xn(t) {
2992
2992
  "tenant_id",
2993
2993
  "varchar(255)",
2994
2994
  (e) => e.references("tenants.id").onDelete("cascade").notNull()
2995
- ).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(255)").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(
2995
+ ).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(
2996
2996
  "tenant_id",
2997
2997
  "varchar(255)",
2998
2998
  (e) => e.references("tenants.id").onDelete("cascade").notNull()
@@ -3152,12 +3152,12 @@ async function $o(t) {
3152
3152
  (e) => e.references("applications.id").onDelete("cascade").notNull()
3153
3153
  ).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();
3154
3154
  }
3155
- const Io = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3155
+ const Do = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3156
3156
  __proto__: null,
3157
3157
  down: $o,
3158
3158
  up: ko
3159
3159
  }, Symbol.toStringTag, { value: "Module" }));
3160
- async function Do(t) {
3160
+ async function Io(t) {
3161
3161
  await t.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id", "date", "type", "user_id"]).execute();
3162
3162
  }
3163
3163
  async function Po(t) {
@@ -3166,7 +3166,7 @@ async function Po(t) {
3166
3166
  const jo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3167
3167
  __proto__: null,
3168
3168
  down: Po,
3169
- up: Do
3169
+ up: Io
3170
3170
  }, Symbol.toStringTag, { value: "Module" }));
3171
3171
  async function Mo(t) {
3172
3172
  }
@@ -3331,8 +3331,34 @@ const ws = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3331
3331
  __proto__: null,
3332
3332
  down: gs,
3333
3333
  up: ps
3334
+ }, Symbol.toStringTag, { value: "Module" }));
3335
+ async function ys(t) {
3336
+ await t.schema.createTable("refresh_tokens").addColumn(
3337
+ "tenant_id",
3338
+ "varchar(255)",
3339
+ (e) => e.references("tenants.id").onDelete("cascade").notNull()
3340
+ ).addColumn("refresh_token", "varchar(255)", (e) => e.notNull()).addColumn(
3341
+ "session_id",
3342
+ "varchar(255)",
3343
+ (e) => e.references("tenants.id").onDelete("cascade").notNull()
3344
+ ).addColumn("expires_at", "varchar(255)", (e) => e.notNull()).addColumn("used_at", "varchar(255)").addColumn("revoked_at", "varchar(255)").addColumn(
3345
+ "created_at",
3346
+ "varchar(255)",
3347
+ (e) => e.notNull().defaultTo((/* @__PURE__ */ new Date()).toISOString())
3348
+ ).addPrimaryKeyConstraint("refresh_tokens_pkey", [
3349
+ "tenant_id",
3350
+ "refresh_token"
3351
+ ]).execute();
3352
+ }
3353
+ async function Ns(t) {
3354
+ await t.schema.dropTable("refresh_tokens").execute();
3355
+ }
3356
+ const vs = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3357
+ __proto__: null,
3358
+ down: Ns,
3359
+ up: ys
3334
3360
  }, Symbol.toStringTag, { value: "Module" })), Le = {
3335
- m1_init: Da,
3361
+ m1_init: Ia,
3336
3362
  m2_magicLink: Ma,
3337
3363
  m3_updateAt: La,
3338
3364
  m4_logTable: Ja,
@@ -3350,7 +3376,7 @@ const ws = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3350
3376
  n16_userLocale: br,
3351
3377
  n17_signingKeys: Tr,
3352
3378
  n18_logsFields: kr,
3353
- n19_connectionsUserinfo: Dr,
3379
+ n19_connectionsUserinfo: Ir,
3354
3380
  n20_missingFields: Mr,
3355
3381
  n21_sessionDeletedAt: Lr,
3356
3382
  n22_dropLogsFields: Jr,
@@ -3385,7 +3411,7 @@ const ws = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3385
3411
  n51_connectionid: vo,
3386
3412
  n52_cert: xo,
3387
3413
  n53_codes_primary_key: Oo,
3388
- n54_cleanup_tables: Io,
3414
+ n54_cleanup_tables: Do,
3389
3415
  n55_logs_index: jo,
3390
3416
  n56_application_fields: Fo,
3391
3417
  n57_prompt_settings: zo,
@@ -3399,9 +3425,10 @@ const ws = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
3399
3425
  n65_code_verifier: cs,
3400
3426
  n66_email_providers: ms,
3401
3427
  n67_drop_tickets: _s,
3402
- n68_login_useragents: ws
3428
+ n68_login_useragents: ws,
3429
+ n70_refresh_tokens: vs
3403
3430
  };
3404
- async function Cs(t, e = !1) {
3431
+ async function Ss(t, e = !1) {
3405
3432
  e && console.log("migrating...");
3406
3433
  const a = new Fe(Le), r = new ve({
3407
3434
  db: t,
@@ -3414,7 +3441,7 @@ async function Cs(t, e = !1) {
3414
3441
  }), o)
3415
3442
  throw console.error("failed to migrate"), console.error(o), o;
3416
3443
  }
3417
- async function xs(t) {
3444
+ async function Os(t) {
3418
3445
  console.log("migrating...");
3419
3446
  const e = new Fe(Le), a = new ve({
3420
3447
  db: t,
@@ -3425,9 +3452,9 @@ async function xs(t) {
3425
3452
  }), r)
3426
3453
  throw console.error("failed to migrate"), console.error(r), r;
3427
3454
  }
3428
- function Ts(t) {
3455
+ function ks(t) {
3429
3456
  return {
3430
- applications: Dt(t),
3457
+ applications: It(t),
3431
3458
  branding: qt(t),
3432
3459
  clients: Et(t),
3433
3460
  codes: Tt(t),
@@ -3447,7 +3474,7 @@ function Ts(t) {
3447
3474
  };
3448
3475
  }
3449
3476
  export {
3450
- Ts as default,
3451
- xs as migrateDown,
3452
- Cs as migrateToLatest
3477
+ ks as default,
3478
+ Os as migrateDown,
3479
+ Ss as migrateToLatest
3453
3480
  };
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "type": "git",
12
12
  "url": "https://github.com/markusahlstrand/authhero"
13
13
  },
14
- "version": "1.0.0",
14
+ "version": "2.0.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.37.0"
51
+ "@authhero/adapter-interfaces": "^0.38.0"
52
52
  },
53
53
  "scripts": {
54
54
  "build": "tsc && vite build && dts-bundle-generator --config ./dts-bundle-generator.config.ts",