@authhero/kysely-adapter 10.131.3 → 10.131.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/kysely-adapter.cjs +14 -14
- package/dist/kysely-adapter.d.ts +117 -2
- package/dist/kysely-adapter.mjs +1549 -1521
- package/package.json +2 -2
package/dist/kysely-adapter.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var Fe=Object.defineProperty;var je=(e,t,a)=>t in e?Fe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Q=(e,t,a)=>je(e,typeof t!="symbol"?t+"":t,a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("nanoid"),N=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");const h=require("kysely"),Re=17,Me={organization:"org_",connection:"con_",action:"act_",hook:"h_",hook_code:"hc_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function M(e){const n=I.customAlphabet("0123456789abcdefghijklmnopqrstuvwxyz",Re)();return`${Me[e]}${n}`}function qe(){return M("organization")}function Je(){return M("connection")}function Le(){return M("action")}function Ke(){return M("hook")}function Be(){return M("resource_server")}function Ue(){return M("hook_code")}function Qe(){return M("invite")}function Ye(e){return async(t,a)=>{var r;const n=Date.now(),o=Le();return await e.insertInto("actions").values({id:o,tenant_id:t,name:a.name,code:a.code,runtime:a.runtime||null,status:"built",secrets:a.secrets?JSON.stringify(a.secrets):null,dependencies:a.dependencies?JSON.stringify(a.dependencies):null,supported_triggers:a.supported_triggers?JSON.stringify(a.supported_triggers):null,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,tenant_id:t,name:a.name,code:a.code,runtime:a.runtime,status:"built",secrets:(r=a.secrets)==null?void 0:r.map(s=>({name:s.name})),dependencies:a.dependencies,supported_triggers:a.supported_triggers,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function B(e){if(e!=null){if(typeof e=="number")return new Date(e).toISOString();if(typeof e=="string"){if(e==="")return;const t=parseFloat(e);return!isNaN(t)&&/^\d+(\.\d+)?$/.test(e)?new Date(t).toISOString():e}}}function F(e,t=new Date(0).toISOString()){return B(e)??t}function C(e){if(!e||e==="")return null;const t=new Date(e);return isNaN(t.getTime())?null:t.getTime()}function Z(){return new Date().toISOString()}function A(e,t,a=[]){const n={};for(const o of t){const r=o.replace(/_ts$/,"");n[r]=F(e[o])}for(const o of a){const r=o.replace(/_ts$/,"");n[r]=B(e[o])}return n}function H(e){if(e)try{return JSON.parse(e)}catch{return}}function He(e){return async(t,a)=>{const n=await e.selectFrom("actions").where("actions.tenant_id","=",t).where("actions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,deployed_at_ts:s,secrets:i,dependencies:d,supported_triggers:l,tenant_id:u,...c}=n,m=A({created_at_ts:o,updated_at_ts:r},["created_at_ts","updated_at_ts"]);return{...c,tenant_id:t,...m,runtime:c.runtime??void 0,status:c.status||"built",deployed_at:s?new Date(Number(s)).toISOString():void 0,secrets:H(i),dependencies:H(d),supported_triggers:H(l)}}}function E(e,t,a,n){const o=a.split(/ OR /i);if(o.length>1)return t.where(l=>{const u=o.map(c=>{const m=c.trim().match(/^([^:]+):(.+)$/);if(m){const[,_,p]=m;if(!_||!p)return null;const f=p.replace(/^"(.*)"$/,"$1");return l(_.trim(),"=",f.trim())}return null}).filter(Boolean);return l.or(u)});const r=[];let s="",i=!1;for(let l=0;l<a.length;l++){const u=a[l];u==='"'?(i=!i,s+=u):u===" "&&!i?s.trim()&&(r.push(s.trim()),s=""):s+=u}return s.trim()&&r.push(s.trim()),r.map(l=>l.replace(/^([^:]+)=/g,"$1:")).map(l=>{let u=l.startsWith("-"),c=null,m="",_=!1,p;if(l.startsWith("-_exists_:"))c=l.substring(10),_=!0,u=!0;else if(l.startsWith("_exists_:"))c=l.substring(9),_=!0,u=!1;else if(l.includes(":")){const f=u?l.substring(1):l,g=f.indexOf(":");c=f.substring(0,g),m=f.substring(g+1),_=!1,m.startsWith(">=")?(p=">=",m=m.substring(2)):m.startsWith(">")?(p=">",m=m.substring(1)):m.startsWith("<=")?(p="<=",m=m.substring(2)):m.startsWith("<")?(p="<",m=m.substring(1)):p="=",m.startsWith('"')&&m.endsWith('"')&&m.length>1&&(m=m.slice(1,-1))}else c=null,m=l,_=!1;return{key:c,value:m,isNegation:u,isExistsQuery:_,operator:p}}).forEach(({key:l,value:u,isNegation:c,isExistsQuery:m,operator:_})=>{if(l)if(m)c?t=t.where(l,"is",null):t=t.where(l,"is not",null);else if(c)switch(_){case">":t=t.where(l,"<=",u);break;case">=":t=t.where(l,"<",u);break;case"<":t=t.where(l,">=",u);break;case"<=":t=t.where(l,">",u);break;default:t=t.where(l,"!=",u)}else t=t.where(l,_,u);else if(u){const{ref:p}=e.dynamic,f=u.includes("|")?[...n,"user_id"]:n;t=t.where(g=>g.or(f.map(v=>v==="user_id"?g(p(v),"=",u):g(p(v),"like",`%${u}%`))))}}),t}function P(e){return typeof e=="string"?parseInt(e,10):typeof e=="bigint"?Number(e):e}function W(e){if(e)try{return JSON.parse(e)}catch{return}}function We(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("actions").where("actions.tenant_id","=",t);s&&(i=E(e,i,s,["name"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{created_at_ts:_,updated_at_ts:p,deployed_at_ts:f,secrets:g,dependencies:v,supported_triggers:b,tenant_id:T,...S}=m,D=A({created_at_ts:_,updated_at_ts:p},["created_at_ts","updated_at_ts"]);return{...S,tenant_id:t,...D,runtime:S.runtime??void 0,status:S.status||"built",deployed_at:f?new Date(Number(f)).toISOString():void 0,secrets:W(g),dependencies:W(v),supported_triggers:W(b)}});if(!r)return{actions:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{actions:u,start:n*o,limit:o,length:P(c)}}}function Ge(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now()};if(n.name!==void 0&&(o.name=n.name),n.code!==void 0&&(o.code=n.code),n.runtime!==void 0&&(o.runtime=n.runtime),n.secrets!==void 0&&(o.secrets=JSON.stringify(n.secrets)),n.dependencies!==void 0&&(o.dependencies=JSON.stringify(n.dependencies)),n.supported_triggers!==void 0&&(o.supported_triggers=JSON.stringify(n.supported_triggers)),n.status!==void 0&&(o.status=n.status),n.deployed_at!==void 0){const s=new Date(n.deployed_at).getTime();Number.isFinite(s)&&(o.deployed_at_ts=s)}return(await e.updateTable("actions").set(o).where("actions.id","=",a).where("actions.tenant_id","=",t).executeTakeFirst()).numUpdatedRows>0}}function Xe(e){return async(t,a)=>(await e.deleteFrom("actions").where("actions.id","=",a).where("actions.tenant_id","=",t).executeTakeFirst()).numDeletedRows>0}function Ve(e){return{create:Ye(e),get:He(e),list:We(e),update:Ge(e),remove:Xe(e)}}var L=class extends Error{constructor(t=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});Q(this,"res");Q(this,"status");this.res=a==null?void 0:a.res,this.status=t}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function Ze(e){return async(t,a)=>{const{identities:n,phone_verified:o,password:r,...s}=a,i={...s,login_count:s.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t,email_verified:a.email_verified?1:0,phone_verified:o!==void 0?o?1:0:null,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata),address:a.address?JSON.stringify(a.address):null};try{const d=async l=>{if(await l.insertInto("users").values(i).execute(),r&&i.user_id){const u={id:I.nanoid(),user_id:i.user_id,password:r.hash,algorithm:r.algorithm,is_current:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t};await l.insertInto("passwords").values(u).execute()}};e.isTransaction?await d(e):await e.transaction().execute(d)}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.code==="ER_DUP_ENTRY"||d.message.includes("AlreadyExists")?new L(409,{message:"User already exists"}):new L(500,{message:`${d.code}, ${d.message}`})}return{...i,email:i.email||"",email_verified:i.email_verified===1,phone_verified:i.phone_verified!==null?i.phone_verified===1:void 0,is_social:i.is_social===1,address:a.address}}}function y(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(a=>a!==null&&typeof a=="object"?y(a):a);const t={...e};for(const a in t){const n=t[a];n===null?delete t[a]:n!==null&&typeof n=="object"&&(Array.isArray(n)?t[a]=n.map(o=>o!==null&&typeof o=="object"?y(o):o):t[a]=y(n))}return t}const et=["email","email_verified","phone_number","phone_verified","username"];function Y(e,t=!1){const a={connection:e.connection,provider:e.provider,user_id:N.parseUserId(e.user_id).id,isSocial:!!e.is_social};for(const n of et)e[n]!==void 0&&e[n]!==null&&(a[n]=n.endsWith("_verified")?!!e[n]:e[n]);if(!t){let n={};try{n=JSON.parse(e.profileData||"{}")}catch(o){console.error("Error parsing profileData",o)}a.profileData={email:e.email,email_verified:!!e.email_verified,...n}}return a}function tt(e){return async(t,a)=>{const[n,o]=await Promise.all([e.selectFrom("users").where("users.tenant_id","=",t).where("users.user_id","=",a).selectAll().executeTakeFirst(),e.selectFrom("users").where("users.tenant_id","=",t).where("users.linked_to","=",a).selectAll().orderBy("created_at","asc").execute()]);if(!n)return null;const{tenant_id:r,...s}=n,i={...s,email:n.email||"",email_verified:n.email_verified===1,phone_verified:n.phone_verified!==null?n.phone_verified===1:void 0,is_social:n.is_social===1,app_metadata:JSON.parse(n.app_metadata),user_metadata:JSON.parse(n.user_metadata),address:n.address?JSON.parse(n.address):void 0,identities:[Y(n,!0),...o.map(d=>Y(d))]};return y(i)}}function at(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("users").where("users.tenant_id","=",t);if(i&&(d=E(e,d,i,["email","name","phone_number"])),s&&s.sort_by){const{ref:f}=e.dynamic;d=d.orderBy(f(s.sort_by),s.sort_order)}const u=await d.offset(n*o).limit(o).selectAll().execute(),c=u.map(f=>f.user_id),m=c.length?await e.selectFrom("users").selectAll().where("users.tenant_id","=",t).where("users.linked_to","in",c).orderBy("created_at","asc").execute():[],_=u.map(f=>{const g=m.filter(v=>v.linked_to===f.user_id);return y({...f,email_verified:f.email_verified===1,phone_verified:f.phone_verified!==null?f.phone_verified===1:void 0,is_social:f.is_social===1,app_metadata:JSON.parse(f.app_metadata),user_metadata:JSON.parse(f.user_metadata),address:f.address?JSON.parse(f.address):void 0,identities:[Y(f,!0),...g.map(v=>Y(v))]})});if(!r)return{users:_,start:0,limit:0,length:0};const{count:p}=await d.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:_,start:n*o,limit:o,length:P(p)}}}function nt(e){return async(t,a)=>(await e.deleteFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.user_id","in",o=>o.selectFrom("users").select("users.user_id").where("users.tenant_id","=",t).where(r=>r.or([r("users.user_id","=",a),r("users.linked_to","=",a)]))).execute(),await e.deleteFrom("users").where("users.tenant_id","=",t).where("users.linked_to","=",a).execute(),(await e.deleteFrom("users").where("users.tenant_id","=",t).where("users.user_id","=",a).execute()).length===1)}function K(e,t="",a={}){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const o=t?`${t}_${n}`:n,r=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)?K(r,o,a):typeof r=="boolean"?a[o]=r?1:0:a[o]=r}return a}function pe(e,t){const a={};for(const[n,o]of Object.entries(e)){const r=t.find(s=>n.startsWith(`${s}_`));if(!r)a[n]=o;else{const s=n.slice(r.length+1);a[r]={...a[r],[s]:o}}}return a}function ot(e){return async(t,a,n)=>{const o=K({...n,updated_at:new Date().toISOString(),app_metadata:n.app_metadata?JSON.stringify(n.app_metadata):void 0,user_metadata:n.user_metadata?JSON.stringify(n.user_metadata):void 0,address:n.address?JSON.stringify(n.address):void 0,phone_verified:n.phone_verified!==void 0?n.phone_verified?1:0:void 0});return(await e.updateTable("users").set(o).where("users.tenant_id","=",t).where("users.user_id","=",a).execute()).length===1}}function rt(e){return async(t,a,n,o)=>{const r={linked_to:null};return(await e.updateTable("users").set(r).where("users.tenant_id","=",t).where("users.user_id","=",`${n}|${o}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function st(e){const t=Ze(e);return{create:t,rawCreate:t,remove:nt(e),get:tt(e),list:at(e),update:ot(e),unlink:rt(e)}}function it(e){return async(t,a)=>{const n=new Date().toISOString(),o=N.flowSchema.parse({id:`af_${I.nanoid()}`,...a,actions:a.actions||[],created_at:n,updated_at:n});return await e.insertInto("flows").values({...o,tenant_id:t,actions:JSON.stringify(o.actions)}).execute(),o}}function R(e,t){if(!e)return t;try{return JSON.parse(e)}catch{return t}}function fe(e,t,a={...e}){for(const n in t)n in e&&(a[n]=R(e[n],t[n]));return a}function ct(e){return async(t,a)=>{const n=await e.selectFrom("flows").selectAll().where("flows.id","=",a).where("tenant_id","=",t).executeTakeFirst();if(!n)return null;const o={...n,actions:R(n.actions,[])};return N.flowSchema.parse(y(o))}}function lt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("flows").where("tenant_id","=",t);s&&(i=E(e,i,s,[]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _={...m,actions:R(m.actions,[])};return N.flowSchema.parse(y(_))});if(!r)return{flows:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{flows:u,start:n*o,limit:o,length:P(c)}}}function dt(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};n.actions!==void 0&&(o.actions=JSON.stringify(n.actions));const{numUpdatedRows:r}=await e.updateTable("flows").set(o).where("id","=",a).where("tenant_id","=",t).executeTakeFirst();if(r===0n)return null;const s=await e.selectFrom("flows").selectAll().where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return s?N.flowSchema.parse({...s,actions:s.actions?JSON.parse(s.actions):[]}):null}}function ut(e){return async(t,a)=>{var o;return(((o=(await e.deleteFrom("flows").where("id","=",a).where("tenant_id","=",t).execute())[0])==null?void 0:o.numDeletedRows)??0n)>0n}}function _t(e){return{create:it(e),get:ct(e),list:lt(e),update:dt(e),remove:ut(e)}}function U(e,t,a={...e}){for(const n of t)e[n]!==void 0&&(a[n]=JSON.stringify(e[n]));return a}function ge(e,t,a=e){for(const n of t)e[n]!==void 0&&(a[n]=e[n]?1:0)}function mt(e){const t={};for(const a in e)e[a]!==void 0&&e[a]!==null&&(t[a]=e[a]);return t}function we(e){const t={...e};return e.session_cookie&&typeof e.session_cookie=="string"&&(t.session_cookie=JSON.parse(e.session_cookie)),e.enabled_locales&&typeof e.enabled_locales=="string"&&(t.enabled_locales=JSON.parse(e.enabled_locales)),e.error_page&&typeof e.error_page=="string"&&(t.error_page=JSON.parse(e.error_page)),e.flags&&typeof e.flags=="string"&&(t.flags=JSON.parse(e.flags)),e.sandbox_versions_available&&typeof e.sandbox_versions_available=="string"&&(t.sandbox_versions_available=JSON.parse(e.sandbox_versions_available)),e.change_password&&typeof e.change_password=="string"&&(t.change_password=JSON.parse(e.change_password)),e.guardian_mfa_page&&typeof e.guardian_mfa_page=="string"&&(t.guardian_mfa_page=JSON.parse(e.guardian_mfa_page)),e.sessions&&typeof e.sessions=="string"&&(t.sessions=JSON.parse(e.sessions)),e.oidc_logout&&typeof e.oidc_logout=="string"&&(t.oidc_logout=JSON.parse(e.oidc_logout)),e.device_flow&&typeof e.device_flow=="string"&&(t.device_flow=JSON.parse(e.device_flow)),e.default_token_quota&&typeof e.default_token_quota=="string"&&(t.default_token_quota=JSON.parse(e.default_token_quota)),e.allowed_logout_urls&&typeof e.allowed_logout_urls=="string"&&(t.allowed_logout_urls=JSON.parse(e.allowed_logout_urls)),e.acr_values_supported&&typeof e.acr_values_supported=="string"&&(t.acr_values_supported=JSON.parse(e.acr_values_supported)),e.mtls&&typeof e.mtls=="string"&&(t.mtls=JSON.parse(e.mtls)),e.mfa&&typeof e.mfa=="string"&&(t.mfa=JSON.parse(e.mfa)),e.allow_organization_name_in_authentication_api!==void 0&&(t.allow_organization_name_in_authentication_api=e.allow_organization_name_in_authentication_api===1),e.customize_mfa_in_postlogin_action!==void 0&&(t.customize_mfa_in_postlogin_action=e.customize_mfa_in_postlogin_action===1),e.pushed_authorization_requests_supported!==void 0&&(t.pushed_authorization_requests_supported=e.pushed_authorization_requests_supported===1),e.authorization_response_iss_parameter_supported!==void 0&&(t.authorization_response_iss_parameter_supported=e.authorization_response_iss_parameter_supported===1),y(t)}function ye(e){const t={...e};return U(e,["session_cookie","enabled_locales","error_page","flags","sandbox_versions_available","change_password","guardian_mfa_page","sessions","oidc_logout","device_flow","default_token_quota","allowed_logout_urls","acr_values_supported","mtls","mfa"],t),e.allow_organization_name_in_authentication_api!==void 0&&(t.allow_organization_name_in_authentication_api=e.allow_organization_name_in_authentication_api?1:0),e.customize_mfa_in_postlogin_action!==void 0&&(t.customize_mfa_in_postlogin_action=e.customize_mfa_in_postlogin_action?1:0),e.pushed_authorization_requests_supported!==void 0&&(t.pushed_authorization_requests_supported=e.pushed_authorization_requests_supported?1:0),e.authorization_response_iss_parameter_supported!==void 0&&(t.authorization_response_iss_parameter_supported=e.authorization_response_iss_parameter_supported?1:0),mt(t)}function ht(e){return async t=>{var o,r;const a={id:t.id||I.nanoid(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...t},n=ye(a);try{await e.insertInto("tenants").values(n).execute()}catch(s){throw(o=s==null?void 0:s.message)!=null&&o.includes("UNIQUE constraint failed")||(r=s==null?void 0:s.message)!=null&&r.includes("duplicate key")||(s==null?void 0:s.code)==="SQLITE_CONSTRAINT"||(s==null?void 0:s.code)==="ER_DUP_ENTRY"||(s==null?void 0:s.code)==="23505"?new L(409,{message:`Tenant with ID '${a.id}' already exists`}):s}return a}}function pt(e){return async t=>{const a=await e.selectFrom("tenants").where("tenants.id","=",t).selectAll().executeTakeFirst();return a?we(a):null}}function ft(e){return async t=>{let a=e.selectFrom("tenants");const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=t||{};if(s&&s.sort_by){const{ref:_}=e.dynamic;a=a.orderBy(_(s.sort_by),s.sort_order)}i&&(a=E(e,a,i,["friendly_name"]));const u=(await a.offset(n*o).limit(o).selectAll().execute()).map(we);if(!r)return{tenants:u};const{count:c}=await a.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow(),m=P(c);return{tenants:u,start:n*o,limit:o,length:m}}}function gt(e){return async(t,a)=>{const o={...ye(a),id:t,updated_at:new Date().toISOString()};await e.updateTable("tenants").set(o).where("id","=",t).execute()}}function wt(e){return async t=>(await e.deleteFrom("tenants").where("tenants.id","=",t).execute()).length===1}function yt(e){return{create:ht(e),get:pt(e),list:ft(e),update:gt(e),remove:wt(e)}}function oe(e){return e?JSON.stringify(e):void 0}const vt=256;function Ct(e){return async(t,a)=>{var i,d,l;const n=(i=a.user_agent)==null?void 0:i.slice(0,vt),o=a.log_id||I.nanoid(),{location_info:r,...s}=a;return await e.insertInto("logs").values({...s,log_id:o,tenant_id:t,user_agent:n,description:(d=a.description)==null?void 0:d.substring(0,256),isMobile:a.isMobile?1:0,scope:a.scope,auth0_client:oe(a.auth0_client),details:(l=oe(a.details))==null?void 0:l.substring(0,8192),country_code:r==null?void 0:r.country_code,city_name:r==null?void 0:r.city_name,latitude:r==null?void 0:r.latitude,longitude:r==null?void 0:r.longitude,time_zone:r==null?void 0:r.time_zone,continent_code:r==null?void 0:r.continent_code}).execute(),{...a,log_id:o,user_agent:n}}}function re(e){if(!e)return"";try{return JSON.parse(e)}catch{return e}}function ve(e){return{...e,client_id:e.client_id,client_name:"",auth0_client:re(e.auth0_client),details:re(e.details),isMobile:!!e.isMobile,scope:e.scope||void 0,log_id:e.log_id,location_info:e.country_code?{country_code:e.country_code,city_name:e.city_name||"",latitude:e.latitude||"",longitude:e.longitude||"",time_zone:e.time_zone||"",continent_code:e.continent_code||""}:void 0}}function xt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("logs").where("logs.tenant_id","=",t);i&&(d=E(e,d,i,["user_id","ip"]));let l=d;if(s&&s.sort_by){const{ref:_}=e.dynamic;l=l.orderBy(_(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(ve);if(!r)return{logs:c,start:0,limit:0,length:0};const{count:m}=await d.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:c,start:n*o,limit:o,length:P(m)}}}function Tt(e){return async(t,a)=>{const n=await e.selectFrom("logs").where("logs.tenant_id","=",t).where("logs.log_id","=",a).selectAll().executeTakeFirst();return n?ve(n):null}}function Nt(e){return{create:Ct(e),list:xt(e),get:Tt(e)}}function bt(e){return async(t,a)=>{const n=await e.selectFrom("sessions").where("sessions.tenant_id","=",t).where("sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,device:r,clients:s,created_at_ts:i,updated_at_ts:d,expires_at_ts:l,idle_expires_at_ts:u,authenticated_at_ts:c,last_interaction_at_ts:m,used_at_ts:_,revoked_at_ts:p,...f}=n,g=A({created_at_ts:i,updated_at_ts:d,expires_at_ts:l,idle_expires_at_ts:u,authenticated_at_ts:c,last_interaction_at_ts:m,used_at_ts:_,revoked_at_ts:p},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...f,...g,device:JSON.parse(r),clients:JSON.parse(s)}}}function St(e){return async(t,a)=>{const n=Date.now(),o=Z(),r={...a,created_at:o,updated_at:o,authenticated_at:o,last_interaction_at:o},{expires_at:s,idle_expires_at:i,used_at:d,revoked_at:l,device:u,clients:c,...m}=a;return await e.insertInto("sessions").values({...m,tenant_id:t,created_at_ts:n,updated_at_ts:n,authenticated_at_ts:n,last_interaction_at_ts:n,expires_at_ts:C(s),idle_expires_at_ts:C(i),used_at_ts:C(d),revoked_at_ts:C(l),device:JSON.stringify(u),clients:JSON.stringify(c)}).execute(),r}}function Ot(e){return async(t,a)=>!!(await e.deleteFrom("sessions").where("tenant_id","=",t).where("sessions.id","=",a).execute()).length}function kt(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now(),device:n.device?JSON.stringify(n.device):void 0,clients:n.clients?JSON.stringify(n.clients):void 0};return n.expires_at!==void 0&&(o.expires_at_ts=C(n.expires_at)),n.idle_expires_at!==void 0&&(o.idle_expires_at_ts=C(n.idle_expires_at)),n.authenticated_at!==void 0&&(o.authenticated_at_ts=C(n.authenticated_at)),n.last_interaction_at!==void 0&&(o.last_interaction_at_ts=C(n.last_interaction_at)),n.used_at!==void 0&&(o.used_at_ts=C(n.used_at)),n.revoked_at!==void 0&&(o.revoked_at_ts=C(n.revoked_at)),n.user_id!==void 0&&(o.user_id=n.user_id),n.login_session_id!==void 0&&(o.login_session_id=n.login_session_id),!!(await e.updateTable("sessions").set(o).where("tenant_id","=",t).where("sessions.id","=",a).execute()).length}}function $t(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("sessions").where("sessions.tenant_id","=",t);i&&(d=E(e,d,i,["user_id","session_id"]));let l=d;if(s&&s.sort_by){const{ref:p}=e.dynamic;l=l.orderBy(p(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(p=>{const{tenant_id:f,device:g,clients:v,created_at_ts:b,updated_at_ts:T,expires_at_ts:S,idle_expires_at_ts:D,authenticated_at_ts:x,last_interaction_at_ts:j,used_at_ts:ne,revoked_at_ts:ze,...De}=p,Ae=A({created_at_ts:b,updated_at_ts:T,expires_at_ts:S,idle_expires_at_ts:D,authenticated_at_ts:x,last_interaction_at_ts:j,used_at_ts:ne,revoked_at_ts:ze},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...De,...Ae,device:JSON.parse(g),clients:JSON.parse(v)}});if(!r)return{sessions:c,start:0,limit:0,length:0};const{count:m}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),_=P(m);return{sessions:c,start:n*o,limit:o,length:_}}}function Et(e){return{create:St(e),get:bt(e),list:$t(e),remove:Ot(e),update:kt(e)}}function Pt(e){return async(t,a)=>{const n=await e.selectFrom("passwords").where("passwords.tenant_id","=",t).where("passwords.user_id","=",a).where("passwords.is_current","=",1).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,...r}=n;return{...r,is_current:!!r.is_current}}}function It(e){return async(t,a)=>{const n=a.id||I.nanoid(),o=a.is_current??!0,r={id:n,...a,is_current:o,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return o&&await e.updateTable("passwords").set({is_current:0}).where("user_id","=",a.user_id).where("tenant_id","=",t).where("is_current","=",1).execute(),await e.insertInto("passwords").values({...r,is_current:r.is_current?1:0,tenant_id:t}).execute(),r}}function zt(e){return async(t,a)=>{let n=e.updateTable("passwords").set({password:a.password,algorithm:a.algorithm,is_current:a.is_current?1:0,updated_at:new Date().toISOString()}).where("tenant_id","=",t).where("user_id","=",a.user_id);return a.id?n=n.where("id","=",a.id):n=n.where("is_current","=",1),(await n.execute()).length===1}}function Dt(e){return async(t,a,n)=>{let o=e.selectFrom("passwords").where("passwords.tenant_id","=",t).where("passwords.user_id","=",a).orderBy("created_at","desc");return n&&(o=o.limit(n)),(await o.selectAll().execute()).map(({tenant_id:s,...i})=>({...i,is_current:!!i.is_current}))}}function At(e){return{create:It(e),update:zt(e),get:Pt(e),list:Dt(e)}}function Ft(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("codes").where("codes.tenant_id","=",t);s&&(i=E(e,i,s,["code","login_id"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{tenant_id:_,...p}=m;return N.codeSchema.parse(y(p))});if(!r)return{codes:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:u,start:n*o,limit:o,length:P(c)}}}function jt(e){return async(t,a)=>{const n={...a,created_at:new Date().toISOString()};return await e.insertInto("codes").values({...n,tenant_id:t}).execute(),n}}function Rt(e){return async(t,a)=>(await e.deleteFrom("codes").where("codes.tenant_id","=",t).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function Mt(e){return async(t,a,n)=>{let o=e.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",n);t.length&&(o=o.where("codes.tenant_id","=",t));const r=await o.selectAll().executeTakeFirst();return r?y(r):null}}function qt(e){return async(t,a)=>(await e.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",t).where("codes.code_id","=",a).executeTakeFirst()).numUpdatedRows>0}function Jt(e){return async(t,a)=>(await e.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",t).where("codes.code_id","=",a).where("codes.used_at","is",null).executeTakeFirst()).numUpdatedRows>0}function Lt(e){return{create:jt(e),list:Ft(e),remove:Rt(e),used:qt(e),consume:Jt(e),get:Mt(e)}}function Kt(e){return async(t,a)=>{const{is_system:n,...o}=a,r={id:o.id||Je(),...o,is_system:n?!0:void 0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await e.insertInto("connections").values({...r,is_system:n?1:0,options:JSON.stringify(r.options||{}),tenant_id:t}).execute(),r}}function ee(e){const{is_system:t,...a}=e;return y({...a,is_system:t?!0:void 0,options:JSON.parse(e.options)})}function Bt(e){return e.map(ee)}function Ut(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("connections").where("connections.tenant_id","=",t);s&&(i=E(e,i,s,["user_id","ip"]));const l=await i.offset(n*o).limit(o).selectAll().execute(),u=Bt(l);if(!r)return{connections:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:u,start:n*o,limit:o,length:P(c)}}}function Qt(e){return async(t,a)=>(await e.deleteFrom("connections").where("connections.tenant_id","=",t).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function Yt(e){return async(t,a)=>{const n=await e.selectFrom("connections").where("connections.tenant_id","=",t).where("connections.id","=",a).selectAll().executeTakeFirst();return n?ee(n):null}}function Ht(e){return async(t,a,n)=>{const{is_system:o,...r}=n,s={...r,is_system:o!==void 0?o?1:0:void 0,updated_at:new Date().toISOString()};return await e.updateTable("connections").set({...s,options:s.options?JSON.stringify(s.options):void 0}).where("connections.id","=",a).where("connections.tenant_id","=",t).execute(),!0}}function Wt(e){return{create:Kt(e),get:Yt(e),list:Ut(e),remove:Qt(e),update:Ht(e)}}function Gt(e){return async(t,a)=>{const n={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a,global:a.global??!1,is_first_party:a.is_first_party??!1,oidc_conformant:a.oidc_conformant??!0,auth0_conformant:a.auth0_conformant??!0,sso:a.sso??!1,sso_disabled:a.sso_disabled??!1,cross_origin_authentication:a.cross_origin_authentication??!1,custom_login_page_on:a.custom_login_page_on??!1,require_pushed_authorization_requests:a.require_pushed_authorization_requests??!1,require_proof_of_possession:a.require_proof_of_possession??!1},o={...n,tenant_id:t};return ge(n,["global","is_first_party","oidc_conformant","auth0_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],o),Object.assign(o,{callbacks:JSON.stringify(a.callbacks||[]),allowed_origins:JSON.stringify(a.allowed_origins||[]),web_origins:JSON.stringify(a.web_origins||[]),client_aliases:JSON.stringify(a.client_aliases||[]),allowed_clients:JSON.stringify(a.allowed_clients||[]),connections:JSON.stringify(a.connections||[]),allowed_logout_urls:JSON.stringify(a.allowed_logout_urls||[]),session_transfer:JSON.stringify(a.session_transfer||{}),oidc_logout:JSON.stringify(a.oidc_logout||{}),grant_types:JSON.stringify(a.grant_types||[]),jwt_configuration:JSON.stringify(a.jwt_configuration||{}),signing_keys:JSON.stringify(a.signing_keys||[]),encryption_key:JSON.stringify(a.encryption_key||{}),addons:JSON.stringify(a.addons||{}),client_metadata:JSON.stringify(a.client_metadata||{}),mobile:JSON.stringify(a.mobile||{}),native_social_login:JSON.stringify(a.native_social_login||{}),refresh_token:JSON.stringify(a.refresh_token||{}),default_organization:JSON.stringify(a.default_organization||{}),client_authentication_methods:JSON.stringify(a.client_authentication_methods||{}),signed_request_object:JSON.stringify(a.signed_request_object||{}),token_quota:JSON.stringify(a.token_quota||{}),owner_user_id:a.owner_user_id??null,registration_type:a.registration_type??null,registration_metadata:a.registration_metadata?JSON.stringify(a.registration_metadata):null}),await e.insertInto("clients").values(o).execute(),n}}function Xt(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,...r}=n;return y({...r,global:!!n.global,is_first_party:!!n.is_first_party,oidc_conformant:!!n.oidc_conformant,auth0_conformant:!!n.auth0_conformant,sso:!!n.sso,sso_disabled:!!n.sso_disabled,cross_origin_authentication:!!n.cross_origin_authentication,custom_login_page_on:!!n.custom_login_page_on,require_pushed_authorization_requests:!!n.require_pushed_authorization_requests,require_proof_of_possession:!!n.require_proof_of_possession,callbacks:JSON.parse(n.callbacks),allowed_origins:JSON.parse(n.allowed_origins),web_origins:JSON.parse(n.web_origins),client_aliases:JSON.parse(n.client_aliases),allowed_clients:JSON.parse(n.allowed_clients),connections:JSON.parse(n.connections||"[]"),allowed_logout_urls:JSON.parse(n.allowed_logout_urls),session_transfer:JSON.parse(n.session_transfer),oidc_logout:JSON.parse(n.oidc_logout),grant_types:JSON.parse(n.grant_types),jwt_configuration:JSON.parse(n.jwt_configuration),signing_keys:JSON.parse(n.signing_keys),encryption_key:JSON.parse(n.encryption_key),addons:JSON.parse(n.addons),client_metadata:JSON.parse(n.client_metadata),mobile:JSON.parse(n.mobile),native_social_login:JSON.parse(n.native_social_login),refresh_token:JSON.parse(n.refresh_token),default_organization:JSON.parse(n.default_organization),client_authentication_methods:JSON.parse(n.client_authentication_methods),signed_request_object:JSON.parse(n.signed_request_object),token_quota:JSON.parse(n.token_quota),registration_metadata:n.registration_metadata?JSON.parse(n.registration_metadata):void 0})}}function Vt(e){return async t=>{const a=await e.selectFrom("clients").where("clients.client_id","=",t).selectAll().executeTakeFirst();return a?y({...a,global:!!a.global,is_first_party:!!a.is_first_party,oidc_conformant:!!a.oidc_conformant,auth0_conformant:!!a.auth0_conformant,sso:!!a.sso,sso_disabled:!!a.sso_disabled,cross_origin_authentication:!!a.cross_origin_authentication,custom_login_page_on:!!a.custom_login_page_on,require_pushed_authorization_requests:!!a.require_pushed_authorization_requests,require_proof_of_possession:!!a.require_proof_of_possession,callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),client_aliases:JSON.parse(a.client_aliases),allowed_clients:JSON.parse(a.allowed_clients),connections:JSON.parse(a.connections||"[]"),allowed_logout_urls:JSON.parse(a.allowed_logout_urls),session_transfer:JSON.parse(a.session_transfer),oidc_logout:JSON.parse(a.oidc_logout),grant_types:JSON.parse(a.grant_types),jwt_configuration:JSON.parse(a.jwt_configuration),signing_keys:JSON.parse(a.signing_keys),encryption_key:JSON.parse(a.encryption_key),addons:JSON.parse(a.addons),client_metadata:JSON.parse(a.client_metadata),mobile:JSON.parse(a.mobile),native_social_login:JSON.parse(a.native_social_login),refresh_token:JSON.parse(a.refresh_token),default_organization:JSON.parse(a.default_organization),client_authentication_methods:JSON.parse(a.client_authentication_methods),signed_request_object:JSON.parse(a.signed_request_object),token_quota:JSON.parse(a.token_quota),registration_metadata:a.registration_metadata?JSON.parse(a.registration_metadata):void 0}):null}}function Zt(e){return async(t,a)=>{let n=e.selectFrom("clients").where("clients.tenant_id","=",t);const o=new Set(["owner_user_id","registration_type"]);if(a!=null&&a.q){const m=a.q.trim().match(/^([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/);if(m&&o.has(m[1])&&m[2]){const _=m[1];n=n.where(_,"=",m[2])}else n=n.where(_=>_.or([_("name","like",`%${a.q}%`),_("client_id","like",`%${a.q}%`)]))}if(a!=null&&a.sort){const c=a.sort.sort_order==="asc"?"asc":"desc",m=a.sort.sort_by;["name","client_id","created_at","updated_at"].includes(m)?n=n.orderBy(m,c):n=n.orderBy("created_at","desc")}else n=n.orderBy("created_at","desc");if((a==null?void 0:a.from)!==void 0){const c=parseInt(a.from,10);isNaN(c)||(n=n.offset(c))}else if((a==null?void 0:a.page)!==void 0){const c=(a==null?void 0:a.per_page)||(a==null?void 0:a.take)||10,m=a.page*c;n=n.offset(m)}const r=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10;n=n.limit(r);const s=await n.selectAll().execute();let i=s.length;if(a!=null&&a.include_totals){let c=e.selectFrom("clients").select(h.sql`count(*)`.as("count")).where("clients.tenant_id","=",t);if(a!=null&&a.q){const p=a.q.trim().match(/^([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/);if(p&&o.has(p[1])&&p[2]){const f=p[1];c=c.where(f,"=",p[2])}else c=c.where(f=>f.or([f("name","like",`%${a.q}%`),f("client_id","like",`%${a.q}%`)]))}const m=await c.executeTakeFirst();i=Number((m==null?void 0:m.count)||0)}const d=s.map(c=>y({...c,global:!!c.global,is_first_party:!!c.is_first_party,oidc_conformant:!!c.oidc_conformant,auth0_conformant:!!c.auth0_conformant,sso:!!c.sso,sso_disabled:!!c.sso_disabled,cross_origin_authentication:!!c.cross_origin_authentication,custom_login_page_on:!!c.custom_login_page_on,require_pushed_authorization_requests:!!c.require_pushed_authorization_requests,require_proof_of_possession:!!c.require_proof_of_possession,callbacks:JSON.parse(c.callbacks),allowed_origins:JSON.parse(c.allowed_origins),web_origins:JSON.parse(c.web_origins),client_aliases:JSON.parse(c.client_aliases),allowed_clients:JSON.parse(c.allowed_clients),connections:JSON.parse(c.connections||"[]"),allowed_logout_urls:JSON.parse(c.allowed_logout_urls),session_transfer:JSON.parse(c.session_transfer),oidc_logout:JSON.parse(c.oidc_logout),grant_types:JSON.parse(c.grant_types),jwt_configuration:JSON.parse(c.jwt_configuration),signing_keys:JSON.parse(c.signing_keys),encryption_key:JSON.parse(c.encryption_key),addons:JSON.parse(c.addons),client_metadata:JSON.parse(c.client_metadata),mobile:JSON.parse(c.mobile),native_social_login:JSON.parse(c.native_social_login),refresh_token:JSON.parse(c.refresh_token),default_organization:JSON.parse(c.default_organization),client_authentication_methods:JSON.parse(c.client_authentication_methods),signed_request_object:JSON.parse(c.signed_request_object),token_quota:JSON.parse(c.token_quota),registration_metadata:c.registration_metadata?JSON.parse(c.registration_metadata):void 0})),l=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10,u=a!=null&&a.from?parseInt(a.from,10):a!=null&&a.page?a.page*l:0;return{clients:d,totals:{start:isNaN(u)?0:u,limit:l,length:d.length,total:i}}}}function ea(e){return async(t,a)=>(await e.deleteFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numDeletedRows>0}function ta(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};return ge(n,["global","is_first_party","oidc_conformant","auth0_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],o),U(n,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","connections","allowed_logout_urls","session_transfer","oidc_logout","grant_types","jwt_configuration","signing_keys","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota","registration_metadata"],o),(await e.updateTable("clients").set(o).where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0}}function aa(e){return{create:Gt(e),get:Xt(e),getByClientId:Vt(e),list:Zt(e),remove:ea(e),update:ta(e)}}function na(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).select("connections").executeTakeFirst();if(!n)return[];const o=JSON.parse(n.connections||"[]");if(o.length===0)return[];const r=await e.selectFrom("connections").where("connections.tenant_id","=",t).where("connections.id","in",o).selectAll().execute(),s=new Map(r.map(i=>[i.id,ee(i)]));return o.map(i=>s.get(i)).filter(i=>i!==void 0)}}function oa(e){return async(t,a,n)=>(await e.updateTable("clients").set({connections:JSON.stringify(n),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0}function ra(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).select(["client_id","connections"]).execute(),o=[];for(const r of n)JSON.parse(r.connections||"[]").includes(a)&&o.push(r.client_id);return o}}function sa(e){return async(t,a,n)=>{const o=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!o)return!1;const r=JSON.parse(o.connections||"[]");return r.includes(a)?!0:(r.push(a),(await e.updateTable("clients").set({connections:JSON.stringify(r),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0)}}function ia(e){return async(t,a,n)=>{const o=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!o)return!1;const r=JSON.parse(o.connections||"[]"),s=r.filter(i=>i!==a);return s.length!==r.length?(await e.updateTable("clients").set({connections:JSON.stringify(s),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0:!0}}function ca(e){return{listByClient:na(e),updateByClient:oa(e),listByConnection:ra(e),addClientToConnection:sa(e),removeClientFromConnection:ia(e)}}function la(e){return async(t,a)=>{const n=new Date().toISOString(),o=I.nanoid(),{scope:r,authorization_details_types:s,...i}=a,d={id:o,tenant_id:t,...i,scope:r?JSON.stringify(r):"[]",authorization_details_types:s?JSON.stringify(s):"[]",allow_any_organization:i.allow_any_organization!==void 0?i.allow_any_organization?1:0:void 0,is_system:i.is_system!==void 0?i.is_system?1:0:void 0,created_at:n,updated_at:n};return await e.insertInto("client_grants").values(d).execute(),y({id:o,tenant_id:t,...i,scope:r||[],authorization_details_types:s||[],allow_any_organization:i.allow_any_organization??!1,is_system:i.is_system??!1,created_at:n,updated_at:n})}}function da(e){return async(t,a)=>{const n=await e.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst();if(!n)return null;const o={id:n.id,client_id:n.client_id,audience:n.audience,scope:n.scope?JSON.parse(n.scope):[],organization_usage:n.organization_usage,allow_any_organization:n.allow_any_organization!==void 0?!!n.allow_any_organization:!1,is_system:n.is_system!==void 0?!!n.is_system:!1,subject_type:n.subject_type,authorization_details_types:n.authorization_details_types?JSON.parse(n.authorization_details_types):[],created_at:n.created_at,updated_at:n.updated_at};return y(o)}}function ua(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s,sort:i}=a;let d=e.selectFrom("client_grants").where("client_grants.tenant_id","=",t);if(s){const _=s.trim(),p=_.split(/\s+/),f=p.length===1?p[0]:void 0,g=f?f.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,v=g?g[3]:"",b=/^(>=|>|<=|<)/.test(v||"");if(g&&!b&&v){const T=!!g[1],S=g[2],{ref:D}=e.dynamic,x=D(`client_grants.${S}`);if(S==="allow_any_organization"){const j=v==="true"?1:0;T?d=d.where(x,"!=",j):d=d.where(x,"=",j)}else T?d=d.where(x,"!=",v):d=d.where(x,"=",v)}else d=E(e,d,_,[])}let l=d;if(i){const{ref:_}=e.dynamic;l=l.orderBy(_(i.sort_by),i.sort_order)}else l=l.orderBy("client_grants.created_at","desc");l=l.limit(o).offset(n*o);const c=(await l.selectAll().execute()).map(_=>{const p={id:_.id,client_id:_.client_id,audience:_.audience,scope:_.scope?JSON.parse(_.scope):[],organization_usage:_.organization_usage,allow_any_organization:_.allow_any_organization!==void 0?!!_.allow_any_organization:!1,is_system:_.is_system!==void 0?!!_.is_system:!1,subject_type:_.subject_type,authorization_details_types:_.authorization_details_types?JSON.parse(_.authorization_details_types):[],created_at:_.created_at,updated_at:_.updated_at};return y(p)});if(!r)return{client_grants:c,start:0,limit:0,length:0};const{count:m}=await d.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:c,start:n*o,limit:o,length:P(m)}}}function _a(e){return async(t,a)=>((await e.deleteFrom("client_grants").where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst()).numDeletedRows??0n)>0n}function ma(e){return async(t,a,n)=>{const o=new Date().toISOString(),{scope:r,authorization_details_types:s,...i}=n,d={...i,updated_at:o};return r!==void 0&&(d.scope=JSON.stringify(r)),s!==void 0&&(d.authorization_details_types=JSON.stringify(s)),i.allow_any_organization!==void 0&&(d.allow_any_organization=i.allow_any_organization?1:0),i.is_system!==void 0&&(d.is_system=i.is_system?1:0),((await e.updateTable("client_grants").set(d).where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst()).numUpdatedRows??0n)>0n}}function ha(e){return{create:la(e),get:da(e),list:ua(e),remove:_a(e),update:ma(e)}}function pa(e){return async(t,a)=>{const n=Date.now();return await e.insertInto("client_registration_tokens").values({id:a.id,tenant_id:t,token_hash:a.token_hash,type:a.type,client_id:a.client_id??null,sub:a.sub??null,constraints:a.constraints?JSON.stringify(a.constraints):null,single_use:a.single_use?1:0,expires_at_ts:C(a.expires_at),created_at_ts:n,used_at_ts:null,revoked_at_ts:null}).execute(),{id:a.id,token_hash:a.token_hash,type:a.type,client_id:a.client_id,sub:a.sub,constraints:a.constraints,single_use:a.single_use,expires_at:a.expires_at,created_at:new Date(n).toISOString()}}}function fa(e){const t=N.clientRegistrationTokenTypeSchema.safeParse(e);if(!t.success)throw new Error(`Unknown client_registration_tokens.type: ${e}`);return t.data}function ga(e){if(!e)return;let t;try{t=JSON.parse(e)}catch{return}return N.isPlainObject(t)?t:void 0}function te(e){return{id:e.id,token_hash:e.token_hash,type:fa(e.type),client_id:e.client_id??void 0,sub:e.sub??void 0,constraints:ga(e.constraints),single_use:!!e.single_use,expires_at:B(e.expires_at_ts),used_at:B(e.used_at_ts),revoked_at:B(e.revoked_at_ts),created_at:F(e.created_at_ts)}}function wa(e){return async(t,a)=>{const n=await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("id","=",a).selectAll().executeTakeFirst();return n?te(n):null}}function ya(e){return async(t,a)=>{const n=await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("token_hash","=",a).selectAll().executeTakeFirst();return n?te(n):null}}function va(e){return async(t,a)=>(await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("client_id","=",a).orderBy("created_at_ts","desc").selectAll().execute()).map(te)}function Ca(e){return async(t,a,n)=>(await e.updateTable("client_registration_tokens").set({used_at_ts:C(n)}).where("tenant_id","=",t).where("id","=",a).where("used_at_ts","is",null).executeTakeFirst()).numUpdatedRows>0}function xa(e){return async(t,a,n)=>(await e.updateTable("client_registration_tokens").set({revoked_at_ts:C(n)}).where("tenant_id","=",t).where("id","=",a).where("revoked_at_ts","is",null).executeTakeFirst()).numUpdatedRows>0}function Ta(e){return async(t,a,n)=>{const o=await e.updateTable("client_registration_tokens").set({revoked_at_ts:C(n)}).where("tenant_id","=",t).where("client_id","=",a).where("revoked_at_ts","is",null).executeTakeFirst();return Number(o.numUpdatedRows)}}function Na(e){return async(t,a)=>(await e.deleteFrom("client_registration_tokens").where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numDeletedRows>0}function ba(e){return{create:pa(e),get:wa(e),getByHash:ya(e),listByClient:va(e),markUsed:Ca(e),revoke:xa(e),revokeByClient:Ta(e),remove:Na(e)}}function Sa(e){return async(t={})=>{const{page:a=0,per_page:n=100,include_totals:o=!1,sort:r,q:s}=t;let i=e.selectFrom("keys").where(_=>_.or([_("revoked_at",">",new Date().toISOString()),_("revoked_at","is",null)]));s&&(i=E(e,i,s,["kid","connection","fingerprint","thumbprint","type"]));let d=i.select(_=>_.fn.count("kid").as("count"));const l=a*n;i=i.limit(n).offset(l),r&&(i=i.orderBy(r.sort_by,r.sort_order));const u=await i.selectAll().execute();if(!o)return{signingKeys:u,start:0,limit:0,length:0};const c=await d.executeTakeFirst(),m=P((c==null?void 0:c.count)??0);return{signingKeys:u,start:l,limit:n,length:m}}}function Oa(e){return async t=>{await e.insertInto("keys").values({...t,created_at:new Date().toDateString()}).execute()}}function ka(e){return async(t,a)=>!!(await e.updateTable("keys").set(a).where("kid","=",t).execute()).length}function $a(e){return{create:Oa(e),list:Sa(e),update:ka(e)}}function Ea(e){return async(t,a)=>{const n={custom_domain_id:a.custom_domain_id||I.nanoid(),status:"pending",primary:!1,...a};return await e.insertInto("custom_domains").values({...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t,primary:n.primary?1:0,domain_metadata:n.domain_metadata?JSON.stringify(n.domain_metadata):void 0}).execute(),n}}function Pa(e){return async t=>(await e.selectFrom("custom_domains").where("custom_domains.tenant_id","=",t).selectAll().execute()).map(n=>({...n,primary:n.primary===1,domain_metadata:R(n.domain_metadata,void 0)}))}function Ia(e){return async(t,a)=>(await e.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).execute()).length>0}function za(e){return async(t,a)=>{const n=await e.selectFrom("custom_domains").where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1,domain_metadata:R(n.domain_metadata,void 0),verification:R(n.verification,void 0)}:null}}function Da(e){return async(t,a,n)=>{const{verification:o,domain_metadata:r,primary:s,...i}=n,d={...i,updated_at:new Date().toISOString(),...s!==void 0&&{primary:s?1:0},...r!==void 0&&{domain_metadata:JSON.stringify(r)},...o!==void 0&&{verification:JSON.stringify(o)}};return(await e.updateTable("custom_domains").set(d).where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).execute()).length>0}}function Aa(e){return async t=>{const a=await e.selectFrom("custom_domains").where("custom_domains.domain","=",t).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1,domain_metadata:R(a.domain_metadata,void 0)}:null}}function Fa(e){return{create:Ea(e),get:za(e),getByDomain:Aa(e),list:Pa(e),remove:Ia(e),update:Da(e)}}function ja(e){return async t=>{const[a]=await e.selectFrom("branding").where("branding.tenant_id","=",t).selectAll().execute();if(!a)return null;const{tenant_id:n,colors_primary:o,colors_page_background_type:r,colors_page_background_start:s,colors_page_background_end:i,colors_page_background_angle_dev:d,font_url:l,...u}=a;return y({...u,colors:{primary:o,page_background:{type:r,start:s,end:i,angle_deg:d}},font:l?{url:l}:void 0})}}function Ra(e){return async(t,a)=>{var s,i,d,l,u,c,m,_,p,f,g,v,b,T,S,D,x,j;const{colors:n,font:o,...r}=a;try{await e.insertInto("branding").values({...r,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(i=(s=a.colors)==null?void 0:s.page_background)==null?void 0:i.type,colors_page_background_start:(l=(d=a.colors)==null?void 0:d.page_background)==null?void 0:l.start,colors_page_background_end:(c=(u=a.colors)==null?void 0:u.page_background)==null?void 0:c.end,colors_page_background_angle_dev:(_=(m=a.colors)==null?void 0:m.page_background)==null?void 0:_.angle_deg,font_url:(p=a.font)==null?void 0:p.url,tenant_id:t}).execute()}catch{await e.updateTable("branding").set({...r,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(g=(f=a.colors)==null?void 0:f.page_background)==null?void 0:g.type,colors_page_background_start:(b=(v=a.colors)==null?void 0:v.page_background)==null?void 0:b.start,colors_page_background_end:(S=(T=a.colors)==null?void 0:T.page_background)==null?void 0:S.end,colors_page_background_angle_dev:(x=(D=a.colors)==null?void 0:D.page_background)==null?void 0:x.angle_deg,font_url:(j=a.font)==null?void 0:j.url}).where("tenant_id","=",t).execute()}}}function Ma(e){return{get:ja(e),set:Ra(e)}}function qa(e){return async t=>{const a=await e.selectFrom("universal_login_templates").select(["body"]).where("tenant_id","=",t).executeTakeFirst();return a?{body:a.body}:null}}function Ja(e){return async(t,a)=>{const n=Date.now();try{await e.insertInto("universal_login_templates").values({tenant_id:t,body:a.body,created_at_ts:n,updated_at_ts:n}).execute()}catch{await e.updateTable("universal_login_templates").set({body:a.body,updated_at_ts:n}).where("tenant_id","=",t).execute()}}}function La(e){return async t=>{await e.deleteFrom("universal_login_templates").where("tenant_id","=",t).execute()}}function Ka(e){return{get:qa(e),set:Ja(e),delete:La(e)}}function Ba(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("hooks").where("hooks.tenant_id","=",t);s&&(i=E(e,i,s,["url","form_id","template_id","code_id"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{tenant_id:_,enabled:p,synchronous:f,created_at_ts:g,updated_at_ts:v,...b}=m,T=A({created_at_ts:g,updated_at_ts:v},["created_at_ts","updated_at_ts"]);return y({...b,...T,enabled:!!p,synchronous:!!f})});if(!r)return{hooks:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:u,start:n*o,limit:o,length:P(c)}}}function Ua(e){return async(t,a)=>{const n=await e.selectFrom("hooks").where("hooks.tenant_id","=",t).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,created_at_ts:r,updated_at_ts:s,...i}=n,d=A({created_at_ts:r,updated_at_ts:s},["created_at_ts","updated_at_ts"]);return y({...i,...d,enabled:!!i.enabled,synchronous:!!i.synchronous})}}function Qa(e){return async(t,a)=>(await e.deleteFrom("hooks").where("hooks.tenant_id","=",t).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function Ya(e){return async(t,a)=>{const n=Date.now(),o=a.hook_id||Ke(),{hook_id:r,enabled:s,synchronous:i,...d}=a;return await e.insertInto("hooks").values({...d,hook_id:o,tenant_id:t,enabled:s?1:0,synchronous:i?1:0,created_at_ts:n,updated_at_ts:n}).execute(),{...d,hook_id:o,enabled:s??!1,synchronous:i??!1,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function Ha(e){return async(t,a,n)=>{const{hook_id:o,...r}=n,s={...r,updated_at_ts:Date.now(),enabled:n.enabled!==void 0?n.enabled?1:0:void 0,synchronous:n.synchronous!==void 0?n.synchronous?1:0:void 0};return await e.updateTable("hooks").set(s).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",t).execute(),!0}}function Wa(e){return{create:Ya(e),get:Ua(e),list:Ba(e),update:Ha(e),remove:Qa(e)}}function Ga(e){return async(t,a)=>{const n=Date.now(),o=Ue();return await e.insertInto("hook_code").values({id:o,tenant_id:t,code:a.code,secrets:a.secrets?JSON.stringify(a.secrets):null,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,tenant_id:t,code:a.code,secrets:a.secrets,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function Xa(e){return async(t,a)=>{const n=await e.selectFrom("hook_code").where("hook_code.tenant_id","=",t).where("hook_code.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,secrets:s,...i}=n,d=A({created_at_ts:o,updated_at_ts:r},["created_at_ts","updated_at_ts"]);return{...i,...d,secrets:s?(()=>{try{return JSON.parse(s)}catch{console.warn(`Failed to parse secrets for hook_code ${a}`);return}})():void 0}}}function Va(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now()};return n.code!==void 0&&(o.code=n.code),n.secrets!==void 0&&(o.secrets=JSON.stringify(n.secrets)),(await e.updateTable("hook_code").set(o).where("hook_code.id","=",a).where("hook_code.tenant_id","=",t).executeTakeFirst()).numUpdatedRows>0}}function Za(e){return async(t,a)=>(await e.deleteFrom("hook_code").where("hook_code.tenant_id","=",t).where("hook_code.id","=",a).executeTakeFirst()).numDeletedRows>0}function en(e){return{create:Ga(e),get:Xa(e),update:Va(e),remove:Za(e)}}function tn(e){return async(t,a,n)=>{const o={themeId:n||I.nanoid(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},r={...o,tenant_id:t};return await e.insertInto("themes").values(K(r)).execute(),o}}function an(e){return async(t,a)=>(await e.deleteFrom("themes").where("themes.tenant_id","=",t).where("themes.themeId","=",a).executeTakeFirst()).numDeletedRows>0}function nn(e){return async(t,a)=>{const n=await e.selectFrom("themes").where("themes.tenant_id","=",t).where("themes.themeId","=",a).selectAll().executeTakeFirst();if(!n)return null;const o={...n,borders_show_widget_shadow:!!n.borders_show_widget_shadow,fonts_body_text_bold:!!n.fonts_body_text_bold,fonts_buttons_text_bold:!!n.fonts_buttons_text_bold,fonts_input_labels_bold:!!n.fonts_input_labels_bold,fonts_links_bold:!!n.fonts_links_bold,fonts_subtitle_bold:!!n.fonts_subtitle_bold,fonts_title_bold:!!n.fonts_title_bold};return y(pe(o,["widget","colors","borders","fonts","page_background"]))}}function on(e){return async(t,a,n)=>{const{themeId:o,...r}=n,s=K({...r,updated_at:new Date().toISOString()});return await e.updateTable("themes").set(s).where("themes.themeId","=",a).where("themes.tenant_id","=",t).execute(),!0}}function rn(e){return{create:tn(e),get:nn(e),remove:an(e),update:on(e)}}function sn(e){return async(t,a)=>{const n=await e.selectFrom("login_sessions").where("login_sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,expires_at_ts:s,auth_params:i,...d}=n,l=A({created_at_ts:o,updated_at_ts:r,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]),u=pe(y({...d,...l,state:n.state||N.LoginSessionState.PENDING,state_data:n.state_data,failure_reason:n.failure_reason}),["auth_strategy"]);return u.authParams=typeof i=="string"&&i.length>0?JSON.parse(i):{},N.loginSessionSchema.parse(u)}}const ae="0123456789ABCDEFGHJKMNPQRSTVWXYZ",V=ae.length,cn=10,se=16;function ln(e){let t="";for(let a=cn;a>0;a--)t=ae.charAt(e%V)+t,e=Math.floor(e/V);return t}function dn(){const e=new Uint8Array(se);crypto.getRandomValues(e);let t="";for(let a=0;a<se;a++)t+=ae.charAt(e[a]%V);return t}function Ce(){return ln(Date.now())+dn()}function un(e){return async(t,a)=>{var l;const n=Z(),o={id:Ce(),...a,authorization_url:(l=a.authorization_url)==null?void 0:l.slice(0,1024),created_at:n,updated_at:n,state:a.state||N.LoginSessionState.PENDING,state_data:a.state_data,failure_reason:a.failure_reason},{authParams:r,...s}=o,i=Date.now(),d=K(s);return delete d.created_at,delete d.updated_at,delete d.expires_at,await e.insertInto("login_sessions").values({...d,tenant_id:t,auth_params:JSON.stringify(r),created_at_ts:i,updated_at_ts:i,expires_at_ts:a.expires_at?new Date(a.expires_at).getTime():i+1e3*60*60*24}).execute(),o}}function _n(e){return async(t,a,n)=>{const{created_at:o,updated_at:r,expires_at:s,authParams:i,...d}=n;let l={};if(i!==void 0){const m=await e.selectFrom("login_sessions").where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",t).select(["auth_params"]).executeTakeFirst(),_=m==null?void 0:m.auth_params,p=typeof _=="string"&&_.length>0?JSON.parse(_):{};l={auth_params:JSON.stringify({...p,...i})}}const u=K(d);return delete u.created_at_ts,delete u.updated_at_ts,delete u.expires_at_ts,delete u.id,delete u.tenant_id,(await e.updateTable("login_sessions").set({...u,...l,updated_at_ts:Date.now(),...s!==void 0?{expires_at_ts:C(s)}:{}}).where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",t).execute()).length===1}}function mn(e){return async(t,a)=>(await e.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",t).where("login_sessions.id","=",a).execute()).length>0}function hn(e){return{create:un(e),get:sn(e),update:_n(e),remove:mn(e)}}function pn(e){return async t=>{const[a]=await e.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",t).selectAll().execute();return y({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 ie(e){return y({...e,webauthn_platform_first_factor:e.webauthn_platform_first_factor?!!e.webauthn_platform_first_factor:void 0,identifier_first:e.identifier_first?!!e.identifier_first:void 0,password_first:e.password_first?!!e.password_first:void 0,universal_login_experience:e.universal_login_experience})}function fn(e){return async(t,a)=>{try{const n=N.promptSettingSchema.parse(a);await e.insertInto("prompt_settings").values({...ie(n),tenant_id:t}).execute()}catch{await e.updateTable("prompt_settings").set(ie(a)).where("tenant_id","=",t).execute()}}}function gn(e){return{get:pn(e),set:fn(e)}}function wn(e){return async t=>{const[a]=await e.selectFrom("email_providers").where("email_providers.tenant_id","=",t).selectAll().execute();if(!a)return null;const{tenant_id:n,credentials:o,settings:r,enabled:s,...i}=a;return y({...i,credentials:JSON.parse(o),settings:JSON.parse(r),enabled:!!s})}}function yn(e){return async(t,a)=>{const{credentials:n,settings:o,enabled:r,...s}=a;await e.updateTable("email_providers").set({...s,credentials:n?JSON.stringify(n):void 0,settings:o?JSON.stringify(o):void 0,enabled:r!==void 0?r?1:0:void 0}).where("tenant_id","=",t).execute()}}function vn(e){return async(t,a)=>{const{credentials:n,settings:o,enabled:r,...s}=a;await e.insertInto("email_providers").values({...s,enabled:r?1:0,credentials:JSON.stringify(n),settings:JSON.stringify(o),tenant_id:t,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function Cn(e){return async t=>{await e.deleteFrom("email_providers").where("tenant_id","=",t).execute()}}function xn(e){return{get:wn(e),create:vn(e),update:yn(e),remove:Cn(e)}}function Tn(e){return async(t,a)=>{const n=await e.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",t).where("refresh_tokens.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,created_at_ts:r,expires_at_ts:s,idle_expires_at_ts:i,last_exchanged_at_ts:d,revoked_at_ts:l,...u}=n,c=A({created_at_ts:r,expires_at_ts:s,idle_expires_at_ts:i,last_exchanged_at_ts:d,revoked_at_ts:l},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts","revoked_at_ts"]);return{...u,...c,rotating:!!n.rotating,device:n.device?JSON.parse(n.device):{},resource_servers:n.resource_servers?JSON.parse(n.resource_servers):[]}}}function Nn(e){return async(t,a)=>{const n=Z(),o={...a,created_at:n},{expires_at:r,idle_expires_at:s,last_exchanged_at:i,device:d,resource_servers:l,rotating:u,...c}=a,m=Date.now(),_=C(r),p=s?C(s):null,f=Math.max(_??0,p??0);return await e.transaction().execute(async g=>{await g.insertInto("refresh_tokens").values({...c,tenant_id:t,rotating:u?1:0,device:JSON.stringify(d),resource_servers:JSON.stringify(l),created_at_ts:m,expires_at_ts:_,idle_expires_at_ts:p,last_exchanged_at_ts:i?C(i):null}).execute(),f>0&&a.login_id&&await g.updateTable("login_sessions").set({expires_at_ts:f,updated_at_ts:m}).where("tenant_id","=",t).where("id","=",a.login_id).where("expires_at_ts","<",f).execute()}),{...a,...o}}}function bn(e){return async(t,a)=>!!(await e.deleteFrom("refresh_tokens").where("tenant_id","=",t).where("refresh_tokens.id","=",a).execute()).length}function Sn(e){return async(t,a,n)=>{const o=C(n),r=await e.updateTable("refresh_tokens").set({revoked_at_ts:o}).where("tenant_id","=",t).where("login_id","=",a).where("revoked_at_ts","is",null).executeTakeFirst();return Number(r.numUpdatedRows??0)}}function On(e){return async(t,a,n,o)=>{const{created_at:r,expires_at:s,idle_expires_at:i,last_exchanged_at:d,revoked_at:l,device:u,resource_servers:c,rotating:m,..._}=n,p={..._,device:u?JSON.stringify(u):void 0,resource_servers:c?JSON.stringify(c):void 0,rotating:m!==void 0?m?1:0:void 0,expires_at_ts:s!==void 0?C(s):void 0,idle_expires_at_ts:i!==void 0?C(i):void 0,last_exchanged_at_ts:d!==void 0?C(d):void 0,revoked_at_ts:l!==void 0?C(l):void 0},f=o==null?void 0:o.loginSessionBump,g=f?C(f.expires_at):null,v=await e.updateTable("refresh_tokens").set(p).where("tenant_id","=",t).where("refresh_tokens.id","=",a).executeTakeFirst();return f!=null&&f.login_id&&g&&g>0&&await e.updateTable("login_sessions").set({expires_at_ts:g,updated_at_ts:Date.now()}).where("tenant_id","=",t).where("id","=",f.login_id).where("expires_at_ts","<",g).execute().catch(()=>{}),((v==null?void 0:v.numUpdatedRows)??0n)>0n}}function kn(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",t);i&&(d=E(e,d,i,["token","login_id"]));let l=d;if(s&&s.sort_by){const{ref:p}=e.dynamic;l=l.orderBy(p(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(p=>{const{tenant_id:f,created_at_ts:g,expires_at_ts:v,idle_expires_at_ts:b,last_exchanged_at_ts:T,revoked_at_ts:S,...D}=p,x=A({created_at_ts:g,expires_at_ts:v,idle_expires_at_ts:b,last_exchanged_at_ts:T,revoked_at_ts:S},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts","revoked_at_ts"]);return{...D,...x,rotating:!!p.rotating,device:p.device?JSON.parse(p.device):{},resource_servers:p.resource_servers?JSON.parse(p.resource_servers):[]}});if(!r)return{refresh_tokens:c,start:0,limit:0,length:0};const{count:m}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),_=P(m);return{refresh_tokens:c,start:n*o,limit:o,length:_}}}function $n(e){return{create:Nn(e),get:Tn(e),list:kn(e),remove:bn(e),revokeByLoginSession:Sn(e),update:On(e)}}const En=7*24*60*60*1e3;function Pn(e){return async t=>{var i,d,l;const{tenant_id:a,user_id:n}=t||{},r=Date.now()-En,s=1e3;try{let u=0;for(;;){let _=e.deleteFrom("refresh_tokens").where(g=>g.or([g("expires_at_ts","<",r),g("idle_expires_at_ts","<",r)]));a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((i=p[0])==null?void 0:i.numDeletedRows)??0);if(u+=f,f<s)break}let c=0;for(;;){let _=e.deleteFrom("sessions").where(g=>g.or([g("expires_at_ts","<",r),g("idle_expires_at_ts","<",r)]));a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((d=p[0])==null?void 0:d.numDeletedRows)??0);if(c+=f,f<s)break}let m=0;for(;;){let _=e.deleteFrom("login_sessions").where("expires_at_ts","<",r);a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((l=p[0])==null?void 0:l.numDeletedRows)??0);if(m+=f,f<s)break}(u>0||c>0||m>0)&&console.log(`Session cleanup: deleted ${u} refresh_tokens, ${c} sessions, ${m} login_sessions`)}catch(u){console.error("Error during session cleanup:",u)}}}function In(e){return async(t,a)=>{const n=N.formSchema.parse({id:I.nanoid(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await e.insertInto("forms").values({...n,nodes:JSON.stringify(n.nodes||[]),start:JSON.stringify(n.start||{}),ending:JSON.stringify(n.ending||{}),tenant_id:t}).execute(),N.formSchema.parse(n)}}function zn(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("forms").where("tenant_id","=",t);s&&(i=E(e,i,s,[]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _={...m};if(typeof _.nodes=="string")try{_.nodes=JSON.parse(_.nodes)}catch{}if(typeof _.start=="string")try{_.start=JSON.parse(_.start)}catch{}if(typeof _.ending=="string")try{_.ending=JSON.parse(_.ending)}catch{}return N.formSchema.parse(y(_))});if(!r)return{forms:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:u,start:n*o,limit:o,length:P(c)}}}function Dn(e){return async(t,a)=>{const{numDeletedRows:n}=await e.deleteFrom("forms").where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return n>0}}function An(e){return async(t,a)=>{const n=await e.selectFrom("forms").selectAll().where("forms.id","=",a).where("tenant_id","=",t).executeTakeFirst();if(!n)return null;const o={...n};if(typeof o.nodes=="string")try{o.nodes=JSON.parse(o.nodes)}catch{}if(typeof o.start=="string")try{o.start=JSON.parse(o.start)}catch{}if(typeof o.ending=="string")try{o.ending=JSON.parse(o.ending)}catch{}return N.formSchema.parse(y(o))}}function Fn(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};U(n,["nodes","start","ending"],o);const{numUpdatedRows:r}=await e.updateTable("forms").set(o).where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return r>0}}function jn(e){return{create:In(e),get:An(e),list:zn(e),remove:Dn(e),update:Fn(e)}}function Rn(e){return async(t,a)=>{const n=new Date().toISOString(),o={id:Be(),...a,created_at:n,updated_at:n},r=N.resourceServerSchema.parse(o),{verificationKey:s,scopes:i,options:d,skip_consent_for_verifiable_first_party_clients:l,allow_offline_access:u,is_system:c,metadata:m,..._}=r,p={..._,tenant_id:t,scopes:i?JSON.stringify(i):"[]",options:d?JSON.stringify(d):"{}",skip_consent_for_verifiable_first_party_clients:l?1:0,allow_offline_access:u?1:0,is_system:c?1:0,metadata:m?JSON.stringify(m):void 0,verification_key:s,created_at:n,updated_at:n};return await e.insertInto("resource_servers").values(p).execute(),y(r)}}function Mn(e){return async(t,a)=>{const n=await e.selectFrom("resource_servers").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();if(!n)return null;const o=n,{verification_key:r,scopes:s,options:i,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:l,is_system:u,metadata:c,...m}=o,_=y({...m,scopes:s?JSON.parse(s):[],options:i?JSON.parse(i):{},skip_consent_for_verifiable_first_party_clients:!!d,allow_offline_access:!!l,is_system:u?!0:void 0,metadata:c?JSON.parse(c):void 0,verificationKey:r});return _.token_lifetime??(_.token_lifetime=86400),_.token_lifetime_for_web??(_.token_lifetime_for_web=7200),_}}function qn(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("resource_servers").where("resource_servers.tenant_id","=",t);if(s){const m=s.trim(),_=m.split(/\s+/),p=_.length===1?_[0]:void 0,f=p?p.match(/^(-)?(name|identifier):(.*)$/):null,g=f?f[3]:"",v=/^(>=|>|<=|<)/.test(g||"");if(f&&!v){const b=!!f[1],T=f[2]==="name"?"resource_servers.name":"resource_servers.identifier";i=b?i.where(T,"not like",`%${g}%`):i.where(T,"like",`%${g}%`)}else i=E(e,i,m,["resource_servers.name","resource_servers.identifier"])}const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _=m,{verification_key:p,scopes:f,options:g,skip_consent_for_verifiable_first_party_clients:v,allow_offline_access:b,is_system:T,metadata:S,...D}=_,x=y({...D,scopes:f?JSON.parse(f):[],options:g?JSON.parse(g):{},skip_consent_for_verifiable_first_party_clients:!!v,allow_offline_access:!!b,is_system:T?!0:void 0,metadata:S?JSON.parse(S):void 0,verificationKey:p});return x.token_lifetime??(x.token_lifetime=86400),x.token_lifetime_for_web??(x.token_lifetime_for_web=7200),x});if(!r)return{resource_servers:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:u,start:n*o,limit:o,length:P(c)}}}function Jn(e){return async(t,a)=>{const n=await e.deleteFrom("resource_servers").where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Ln(e){return async(t,a,n)=>{const{verificationKey:o,scopes:r,options:s,skip_consent_for_verifiable_first_party_clients:i,allow_offline_access:d,is_system:l,metadata:u,...c}=n,m={...c,updated_at:new Date().toISOString()};if(o!==void 0&&(m.verification_key=o),r!==void 0&&(m.scopes=JSON.stringify(r)),s!==void 0){const p=await e.selectFrom("resource_servers").select("options").where("tenant_id","=",t).where("id","=",a).executeTakeFirst(),g={...p!=null&&p.options?JSON.parse(p.options):{},...s};m.options=JSON.stringify(g)}u!==void 0&&(m.metadata=JSON.stringify(u)),i!==void 0&&(m.skip_consent_for_verifiable_first_party_clients=i?1:0),d!==void 0&&(m.allow_offline_access=d?1:0),l!==void 0&&(m.is_system=l?1:0);const _=await e.updateTable("resource_servers").set(m).where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(_.numUpdatedRows)>0}}function Kn(e){return{create:Rn(e),get:Mn(e),list:qn(e),remove:Jn(e),update:Ln(e)}}function Bn(e){return async(t,a)=>{const n=new Date().toISOString(),o=a.id||I.nanoid(),{is_system:r,id:s,metadata:i,...d}=a,l={id:o,...d,tenant_id:t,is_system:r?1:0,metadata:i?JSON.stringify(i):void 0,created_at:n,updated_at:n};return await e.insertInto("roles").values(l).execute(),{id:o,...d,is_system:r?!0:void 0,metadata:i,created_at:n,updated_at:n}}}function Un(e){return async(t,a)=>{const n=await e.selectFrom("roles").selectAll().where("roles.tenant_id","=",t).where("roles.id","=",a).executeTakeFirst();if(!n)return null;const o=n,{is_system:r,tenant_id:s,metadata:i,...d}=o;return{...d,is_system:r?!0:void 0,metadata:i?JSON.parse(i):void 0}}}function Qn(e){return async(t,a)=>{let n=e.selectFrom("roles").where("roles.tenant_id","=",t);const{page:o=0,per_page:r=50,include_totals:s=!1}=a;a.q&&(n=E(e,n,a.q,["name"]));const l=(await n.offset(o*r).limit(r).selectAll().execute()).map(c=>{const m=c,{is_system:_,tenant_id:p,metadata:f,...g}=m;return{...g,is_system:_?!0:void 0,metadata:f?JSON.parse(f):void 0}});if(!s)return{roles:l,start:o*r,limit:r,length:l.length};const{count:u}=await n.select(c=>c.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:l,start:o*r,limit:r,length:P(u)}}}function Yn(e){return async(t,a,n)=>{const{is_system:o,metadata:r,...s}=n,i={...s,is_system:o!==void 0?o?1:0:void 0,metadata:r!==void 0?JSON.stringify(r):void 0,updated_at:new Date().toISOString()},d=await e.updateTable("roles").set(i).where("roles.tenant_id","=",t).where("roles.id","=",a).executeTakeFirst();return Number(d.numUpdatedRows)>0}}function Hn(e){return async(t,a)=>{const n=await e.deleteFrom("roles").where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Wn(e){return{create:Bn(e),get:Un(e),list:Qn(e),update:Yn(e),remove:Hn(e)}}function Gn(e){return async(t,a,n)=>{if(n.length===0)return!0;const o=new Date().toISOString();try{for(const r of n){if(r.role_id!==a)throw new Error(`Permission role_id ${r.role_id} does not match expected role_id ${a}`);const s={tenant_id:t,role_id:r.role_id,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,created_at:o};try{await e.insertInto("role_permissions").values(s).execute()}catch(i){if(i.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||i.code==="SQLITE_CONSTRAINT_UNIQUE"||i.code==="ER_DUP_ENTRY")continue;throw i}}return!0}catch(r){return console.error("Error assigning role permissions:",r),!1}}}function Xn(e){return async(t,a,n)=>{if(n.length===0)return!0;try{return(await Promise.all(n.map(r=>e.deleteFrom("role_permissions").where("tenant_id","=",t).where("role_id","=",a).where("resource_server_identifier","=",r.resource_server_identifier).where("permission_name","=",r.permission_name).executeTakeFirst()))).some(r=>Number(r.numDeletedRows)>0)}catch(o){return console.error("Error removing role permissions:",o),!1}}}function Vn(e){return async(t,a,n={})=>{const{page:o=0,per_page:r=50,include_totals:s=!1}=n;let i=e.selectFrom("role_permissions").leftJoin("resource_servers",c=>c.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",t).where("role_permissions.role_id","=",a);const u=(await i.offset(o*r).limit(r).execute()).map(c=>({role_id:c.role_id,resource_server_identifier:c.resource_server_identifier,resource_server_name:c.resource_server_name||c.resource_server_identifier,permission_name:c.permission_name,description:null,created_at:c.created_at}));return s&&await i.select(c=>c.fn.countAll().as("count")).executeTakeFirstOrThrow(),u}}function Zn(e){return{assign:Gn(e),remove:Xn(e),list:Vn(e)}}function eo(e){return async(t,a,n,o)=>{const r=new Date().toISOString();try{const s={tenant_id:t,user_id:a,resource_server_identifier:n.resource_server_identifier,permission_name:n.permission_name,organization_id:o||n.organization_id||"",created_at:r};return await e.insertInto("user_permissions").values(s).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.code==="ER_DUP_ENTRY"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",s),!1)}}}function to(e){return async(t,a,n,o)=>{try{let r=e.deleteFrom("user_permissions").where("tenant_id","=",t).where("user_id","=",a).where("resource_server_identifier","=",n.resource_server_identifier).where("permission_name","=",n.permission_name);return o!==void 0?r=r.where("organization_id","=",o):r=r.where("organization_id","=",""),await r.execute(),!0}catch(r){return console.error("Error removing user permission:",r),!1}}}function ao(e){return async(t,a,n,o)=>{let r=e.selectFrom("user_permissions").leftJoin("resource_servers",i=>i.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",t).where("user_permissions.user_id","=",a);return o!==void 0&&(r=r.where("user_permissions.organization_id","=",o)),(await r.execute()).map(i=>({resource_server_identifier:i.resource_server_identifier,permission_name:i.permission_name,description:null,resource_server_name:i.resource_server_name||i.resource_server_identifier,user_id:i.user_id,created_at:i.created_at,organization_id:i.organization_id===""?void 0:i.organization_id}))}}function no(e){return{create:eo(e),remove:to(e),list:ao(e)}}function oo(e){const t=no(e);return{create:(a,n,o,r)=>t.create(a,n,o,r),remove:(a,n,o,r)=>t.remove(a,n,o,r),list:(a,n,o,r)=>t.list(a,n,o,r)}}function ro(e){return async(t,a,n,o)=>{let r=e.selectFrom("user_roles as ur").innerJoin("roles as r",i=>i.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",t).where("ur.user_id","=",a);return o!==void 0&&(r=r.where("ur.organization_id","=",o)),await r.execute()}}function so(e){return async(t,a,n,o)=>{const r=new Date().toISOString();try{return await e.insertInto("user_roles").values({tenant_id:t,user_id:a,role_id:n,organization_id:o||"",created_at:r}).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.code==="ER_DUP_ENTRY"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",s),!1)}}}function io(e){return async(t,a,n,o)=>{try{let r=e.deleteFrom("user_roles").where("tenant_id","=",t).where("user_id","=",a).where("role_id","=",n);return o!==void 0?r=r.where("organization_id","=",o):r=r.where("organization_id","=",""),await r.execute(),!0}catch(r){return console.error("Error removing user roles:",r),!1}}}function co(e){return{list:ro(e),create:so(e),remove:io(e)}}function lo(e){const t=co(e);return{list:(a,n,o,r)=>t.list(a,n,o,r),create:(a,n,o,r)=>t.create(a,n,o,r),remove:(a,n,o,r)=>t.remove(a,n,o,r)}}function uo(e){return async(t,a)=>{const n={...a,id:a.id||qe(),tenant_id:t,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(a.branding||{}),metadata:JSON.stringify(a.metadata||{}),enabled_connections:JSON.stringify(a.enabled_connections||[]),token_quota:JSON.stringify(a.token_quota||{})};try{await e.insertInto("organizations").values(n).execute()}catch(o){throw o.code==="SQLITE_CONSTRAINT_UNIQUE"||o.code==="ER_DUP_ENTRY"||o.message.includes("AlreadyExists")?new L(409,{message:"Organization already exists"}):o}return{...a,id:n.id,created_at:n.created_at,updated_at:n.updated_at}}}function _o(e){return async(t,a)=>{let n=await e.selectFrom("organizations").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return n||(n=await e.selectFrom("organizations").selectAll().where("tenant_id","=",t).where("name","=",a).executeTakeFirst()),n?y({...n,branding:n.branding?JSON.parse(n.branding):{},metadata:n.metadata?JSON.parse(n.metadata):{},enabled_connections:n.enabled_connections?JSON.parse(n.enabled_connections):[],token_quota:n.token_quota?JSON.parse(n.token_quota):{}}):null}}function mo(e){return async(t,a)=>{let n=e.selectFrom("organizations").selectAll().where("tenant_id","=",t);if(a!=null&&a.q&&(n=n.where(u=>u.or([u("name","like",`%${a.q}%`),u("display_name","like",`%${a.q}%`)]))),a!=null&&a.sort){const u=a.sort.sort_order==="asc"?"asc":"desc",c=a.sort.sort_by;["name","display_name","created_at"].includes(c)?n=n.orderBy(c,u):n=n.orderBy("created_at","desc")}else n=n.orderBy("created_at","desc");if((a==null?void 0:a.from)!==void 0){const u=parseInt(a.from,10);isNaN(u)||(n=n.offset(u))}else if((a==null?void 0:a.page)!==void 0){const u=(a==null?void 0:a.per_page)||(a==null?void 0:a.take)||10,c=a.page*u;n=n.offset(c)}const o=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10;n=n.limit(o);const r=await n.execute();let s=r.length;if(a!=null&&a.include_totals){let u=e.selectFrom("organizations").select(h.sql`count(*)`.as("count")).where("tenant_id","=",t);a!=null&&a.q&&(u=u.where(m=>m.or([m("name","like",`%${a.q}%`),m("display_name","like",`%${a.q}%`)])));const c=await u.executeTakeFirst();s=Number((c==null?void 0:c.count)||0)}const i=r.map(u=>y({...u,branding:u.branding?JSON.parse(u.branding):{},metadata:u.metadata?JSON.parse(u.metadata):{},enabled_connections:u.enabled_connections?JSON.parse(u.enabled_connections):[],token_quota:u.token_quota?JSON.parse(u.token_quota):{}})),d=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10,l=a!=null&&a.from?parseInt(a.from,10):a!=null&&a.page?a.page*d:0;return{organizations:i,start:isNaN(l)?0:l,limit:d,length:i.length,total:s}}}function ho(e){return async(t,a)=>(await e.deleteFrom("organizations").where("tenant_id","=",t).where("id","=",a).execute()).length>0}function po(e){return async(t,a,n)=>{const{branding:o,metadata:r,enabled_connections:s,token_quota:i,...d}=n,l={...d,updated_at:new Date().toISOString()};return U(n,["branding","metadata","enabled_connections","token_quota"],l),(await e.updateTable("organizations").set(l).where("tenant_id","=",t).where("id","=",a).execute()).length>0}}function fo(e){return{create:uo(e),get:_o(e),list:mo(e),remove:ho(e),update:po(e)}}function go(e){return async(t,a)=>{const n={id:I.nanoid(),tenant_id:t,user_id:a.user_id,organization_id:a.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await e.insertInto("user_organizations").values(n).execute()}catch(o){throw o.code==="SQLITE_CONSTRAINT_UNIQUE"||o.code==="ER_DUP_ENTRY"?new L(409,{message:"User is already a member of this organization"}):o}return{...n}}}function wo(e){return async(t,a)=>{const n=await e.selectFrom("user_organizations").selectAll().where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return n?{id:n.id,user_id:n.user_id,organization_id:n.organization_id,created_at:n.created_at,updated_at:n.updated_at}:null}}function yo(e){return async(t,a)=>{const n=(a==null?void 0:a.page)||0,o=(a==null?void 0:a.per_page)||50,r=n*o;let s=e.selectFrom("user_organizations").selectAll().where("tenant_id","=",t);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const c=a.q.replace("user_id:","");s=s.where("user_id","=",c)}else if(a.q.startsWith("organization_id:")){const c=a.q.replace("organization_id:","");s=s.where("organization_id","=",c)}}s=s.orderBy("created_at","desc"),o>0&&(s=s.limit(o).offset(r));const i=await s.execute();let d=e.selectFrom("user_organizations").select(e.fn.count("id").as("count")).where("tenant_id","=",t);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const c=a.q.replace("user_id:","");d=d.where("user_id","=",c)}else if(a.q.startsWith("organization_id:")){const c=a.q.replace("organization_id:","");d=d.where("organization_id","=",c)}}const l=await d.executeTakeFirst();return{userOrganizations:i.map(c=>({id:c.id,user_id:c.user_id,organization_id:c.organization_id,created_at:c.created_at,updated_at:c.updated_at})),start:r,limit:o,length:Number((l==null?void 0:l.count)||0)}}}function vo(e){return async(t,a,n)=>{const o=(n==null?void 0:n.page)||0,r=(n==null?void 0:n.per_page)||50,s=o*r;let i=e.selectFrom("user_organizations").innerJoin("organizations",c=>c.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",t)).select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",t).where("user_organizations.user_id","=",a);i=i.orderBy("user_organizations.created_at","desc"),r>0&&(i=i.limit(r).offset(s));const d=await i.execute(),l=await e.selectFrom("user_organizations").innerJoin("organizations",c=>c.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",t)).select(e.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",t).where("user_organizations.user_id","=",a).executeTakeFirst();return{organizations:d.map(c=>({id:c.id,name:c.name,display_name:c.display_name,branding:c.branding?JSON.parse(c.branding):void 0,metadata:c.metadata?JSON.parse(c.metadata):{},enabled_connections:c.enabled_connections?JSON.parse(c.enabled_connections):[],token_quota:c.token_quota?JSON.parse(c.token_quota):void 0,created_at:c.created_at,updated_at:c.updated_at,joined_at:c.joined_at})),start:s,limit:r,length:Number((l==null?void 0:l.count)||0)}}}function Co(e){return async(t,a)=>(await e.deleteFrom("user_organizations").where("id","=",a).where("tenant_id","=",t).execute()).length>0}function xo(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};return(await e.updateTable("user_organizations").set(o).where("id","=",a).where("tenant_id","=",t).execute()).length>0}}function To(e){return{create:go(e),get:wo(e),list:yo(e),listUserOrganizations:vo(e),remove:Co(e),update:xo(e)}}function No(e){return async(t,a)=>{const n=Qe(),o=new Date().toISOString(),r=a.ttl_sec||604800,s=new Date(Date.now()+r*1e3).toISOString(),i=U({id:n,tenant_id:t,organization_id:a.organization_id,inviter:a.inviter||{},invitee:a.invitee||{},client_id:a.client_id,connection_id:a.connection_id||null,invitation_url:a.invitation_url,created_at:o,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:null,ttl_sec:r,send_invitation_email:a.send_invitation_email??!0?1:0},["inviter","invitee","app_metadata","user_metadata","roles"]);try{await e.insertInto("invites").values(i).execute()}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.code==="ER_DUP_ENTRY"||d.message.includes("AlreadyExists")?new L(409,{message:"Invite already exists"}):d}return{id:n,organization_id:i.organization_id,inviter:a.inviter,invitee:a.invitee,client_id:a.client_id,connection_id:a.connection_id,invitation_url:a.invitation_url,created_at:o,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:i.ticket_id||void 0,ttl_sec:r,send_invitation_email:a.send_invitation_email??!0}}}function bo(e){return async(t,a)=>{const n=await e.selectFrom("invites").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();if(!n)return null;const o=fe(n,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return y({...o,send_invitation_email:n.send_invitation_email===1})}}function So(e){return async(t,a)=>{let n=e.selectFrom("invites").selectAll().where("tenant_id","=",t).orderBy("created_at","desc");if(a!=null&&a.per_page&&(n=n.limit(a.per_page)),a!=null&&a.page){const s=(a.page-1)*(a.per_page||10);n=n.offset(s)}const r=(await n.execute()).map(s=>{const i=fe(s,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return y({...i,send_invitation_email:s.send_invitation_email===1})});return{invites:r,start:a!=null&&a.page?(a.page-1)*(a.per_page||10):0,limit:(a==null?void 0:a.per_page)||r.length,length:r.length}}}function Oo(e){return async(t,a)=>(await e.deleteFrom("invites").where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numDeletedRows>0n}function ko(e){return async(t,a,n)=>{const o={};return n.inviter!==void 0&&(o.inviter=JSON.stringify(n.inviter)),n.invitee!==void 0&&(o.invitee=JSON.stringify(n.invitee)),n.client_id!==void 0&&(o.client_id=n.client_id),n.connection_id!==void 0&&(o.connection_id=n.connection_id),n.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(n.app_metadata)),n.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(n.user_metadata)),n.roles!==void 0&&(o.roles=JSON.stringify(n.roles)),n.ttl_sec!==void 0&&(o.ttl_sec=n.ttl_sec,o.expires_at=new Date(Date.now()+n.ttl_sec*1e3).toISOString()),n.send_invitation_email!==void 0&&(o.send_invitation_email=n.send_invitation_email?1:0),Object.keys(o).length===0?!0:(await e.updateTable("invites").set(o).where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numUpdatedRows>0n}}function $o(e){return{create:No(e),get:bo(e),list:So(e),remove:Oo(e),update:ko(e)}}const ce=["s","seacft","seccft","sepft","sertft","ssa"],Eo=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function le(e){return`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`}function de(e){return e.toISOString().split("T")[0]}function Po(e){return{async getDaily(t,a={}){const{from:n,to:o}=a,r=new Date,s=new Date(r);s.setDate(s.getDate()-30);const i=n?le(n):de(s),d=o?le(o):de(r),l=h.sql`DATE(logs.date)`;return(await e.selectFrom("logs").where("tenant_id","=",t).where(l,">=",i).where(l,"<=",d).select(c=>[l.as("date"),c.fn.sum(c.case().when("type","in",ce).then(1).else(0).end()).as("logins"),c.fn.sum(c.case().when("type","=","ss").then(1).else(0).end()).as("signups"),c.fn.sum(c.case().when("type","in",Eo).then(1).else(0).end()).as("leaked_passwords"),c.fn.min("date").as("first_event"),c.fn.max("date").as("last_event")]).groupBy(l).orderBy("date","asc").execute()).map(c=>({date:c.date,logins:Number(c.logins)||0,signups:Number(c.signups)||0,leaked_passwords:Number(c.leaked_passwords)||0,created_at:c.first_event||new Date().toISOString(),updated_at:c.last_event||new Date().toISOString()}))},async getActiveUsers(t){const a=new Date;return a.setDate(a.getDate()-30),(await e.selectFrom("logs").where("tenant_id","=",t).where("date",">=",a.toISOString()).where("type","in",ce).where("user_id","is not",null).select(o=>o.fn.count("user_id").distinct().as("count")).executeTakeFirstOrThrow()).count||0}}}function Io(e){return{async get(t,a,n){const o=await e.selectFrom("custom_text").selectAll().where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).executeTakeFirst();if(!o)return null;try{return JSON.parse(o.custom_text)}catch{return null}},async set(t,a,n,o){const r=Date.now(),s=JSON.stringify(o);await e.selectFrom("custom_text").select("tenant_id").where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).executeTakeFirst()?await e.updateTable("custom_text").set({custom_text:s,updated_at_ts:r}).where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).execute():await e.insertInto("custom_text").values({tenant_id:t,prompt:a,language:n,custom_text:s,created_at_ts:r,updated_at_ts:r}).execute()},async delete(t,a,n){await e.deleteFrom("custom_text").where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).execute()},async list(t){return(await e.selectFrom("custom_text").select(["prompt","language"]).where("tenant_id","=",t).execute()).map(n=>({prompt:n.prompt,language:n.language}))}}}function zo(e){return async(t,a)=>{const n=Date.now(),o=Ce();return await e.insertInto("authentication_methods").values({id:o,tenant_id:t,user_id:a.user_id,type:a.type,phone_number:a.phone_number,totp_secret:a.totp_secret,credential_id:a.credential_id,public_key:a.public_key,sign_count:a.sign_count,credential_backed_up:a.credential_backed_up==null?void 0:a.credential_backed_up?1:0,transports:a.transports?JSON.stringify(a.transports):void 0,friendly_name:a.friendly_name,confirmed:a.confirmed?1:0,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,user_id:a.user_id,type:a.type,phone_number:a.phone_number,totp_secret:a.totp_secret,credential_id:a.credential_id,public_key:a.public_key,sign_count:a.sign_count,credential_backed_up:a.credential_backed_up,transports:a.transports,friendly_name:a.friendly_name,confirmed:a.confirmed??!1,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function xe(e){return async(t,a)=>{const n=await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).selectAll().executeTakeFirst();return n?{id:n.id,user_id:n.user_id,type:n.type,phone_number:n.phone_number??void 0,totp_secret:n.totp_secret??void 0,credential_id:n.credential_id??void 0,public_key:n.public_key??void 0,sign_count:n.sign_count??void 0,credential_backed_up:n.credential_backed_up!=null?n.credential_backed_up===1:void 0,transports:n.transports?JSON.parse(n.transports):void 0,friendly_name:n.friendly_name??void 0,confirmed:n.confirmed===1,created_at:F(n.created_at_ts),updated_at:F(n.updated_at_ts)}:null}}function Do(e){return async(t,a)=>{const n=await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.credential_id","=",a).selectAll().executeTakeFirst();return n?{id:n.id,user_id:n.user_id,type:n.type,phone_number:n.phone_number??void 0,totp_secret:n.totp_secret??void 0,credential_id:n.credential_id??void 0,public_key:n.public_key??void 0,sign_count:n.sign_count??void 0,credential_backed_up:n.credential_backed_up!=null?n.credential_backed_up===1:void 0,transports:n.transports?JSON.parse(n.transports):void 0,friendly_name:n.friendly_name??void 0,confirmed:n.confirmed===1,created_at:F(n.created_at_ts),updated_at:F(n.updated_at_ts)}:null}}function Ao(e){return async(t,a)=>(await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.user_id","=",a).selectAll().execute()).map(o=>({id:o.id,user_id:o.user_id,type:o.type,phone_number:o.phone_number??void 0,totp_secret:o.totp_secret??void 0,credential_id:o.credential_id??void 0,public_key:o.public_key??void 0,sign_count:o.sign_count??void 0,credential_backed_up:o.credential_backed_up!=null?o.credential_backed_up===1:void 0,transports:o.transports?JSON.parse(o.transports):void 0,friendly_name:o.friendly_name??void 0,confirmed:o.confirmed===1,created_at:F(o.created_at_ts),updated_at:F(o.updated_at_ts)}))}function Fo(e){return async(t,a,n)=>{const r={updated_at_ts:Date.now()};n.phone_number!==void 0&&(r.phone_number=n.phone_number),n.totp_secret!==void 0&&(r.totp_secret=n.totp_secret),n.credential_id!==void 0&&(r.credential_id=n.credential_id),n.public_key!==void 0&&(r.public_key=n.public_key),n.sign_count!==void 0&&(r.sign_count=n.sign_count),n.credential_backed_up!==void 0&&(r.credential_backed_up=n.credential_backed_up?1:0),n.transports!==void 0&&(r.transports=JSON.stringify(n.transports)),n.friendly_name!==void 0&&(r.friendly_name=n.friendly_name),n.confirmed!==void 0&&(r.confirmed=n.confirmed?1:0),await e.updateTable("authentication_methods").set(r).where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).execute();const s=await xe(e)(t,a);if(!s)throw new Error(`Authentication method ${a} not found`);return s}}function jo(e){return async(t,a)=>(await e.deleteFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).executeTakeFirst()).numDeletedRows>0}function Ro(e){return{create:zo(e),get:xe(e),getByCredentialId:Do(e),list:Ao(e),update:Fo(e),remove:jo(e)}}function Mo(e){return async(t,a)=>{const n=I.nanoid();return await e.insertInto("outbox_events").values({id:n,tenant_id:t,event_type:a.event_type,log_type:a.log_type,aggregate_type:a.target.type,aggregate_id:a.target.id,payload:JSON.stringify({...a,id:n}),created_at:new Date().toISOString(),processed_at:null,retry_count:0,next_retry_at:null,error:null}).execute(),n}}function qo(e){return async t=>t.length===0?[]:(await e.selectFrom("outbox_events").selectAll().where("id","in",t).execute()).map(n=>({...JSON.parse(n.payload),id:n.id,created_at:n.created_at,processed_at:n.processed_at,retry_count:n.retry_count,next_retry_at:n.next_retry_at,error:n.error}))}function Jo(e){return async t=>{const a=new Date().toISOString();return(await e.selectFrom("outbox_events").selectAll().where("processed_at","is",null).where(o=>o.or([o("next_retry_at","is",null),o("next_retry_at","<=",a)])).where(o=>o.or([o("claimed_by","is",null),o("claim_expires_at","<=",a)])).orderBy("created_at","asc").orderBy("id","asc").limit(t).execute()).map(o=>({...JSON.parse(o.payload),id:o.id,created_at:o.created_at,processed_at:o.processed_at,retry_count:o.retry_count,next_retry_at:o.next_retry_at,error:o.error}))}}function Lo(e){return async(t,a,n)=>{if(t.length===0)return[];const o=new Date().toISOString(),r=new Date(Date.now()+n).toISOString();return await e.updateTable("outbox_events").set({claimed_by:a,claim_expires_at:r}).where("id","in",t).where("processed_at","is",null).where(i=>i.or([i("claimed_by","is",null),i("claim_expires_at","<=",o)])).execute(),(await e.selectFrom("outbox_events").select("id").where("id","in",t).where("claimed_by","=",a).where("claim_expires_at","=",r).execute()).map(i=>i.id)}}function Ko(e){return async t=>{if(t.length===0)return;const a=new Date().toISOString();await e.updateTable("outbox_events").set({processed_at:a}).where("id","in",t).execute()}}function Bo(e){return async(t,a,n)=>{await e.updateTable("outbox_events").set({error:a,next_retry_at:n,retry_count:h.sql`retry_count + 1`,claimed_by:null,claim_expires_at:null}).where("id","=",t).execute()}}function Uo(e){return async(t,a)=>{const n=new Date().toISOString();await e.updateTable("outbox_events").set({processed_at:n,dead_lettered_at:n,final_error:a}).where("id","=",t).execute()}}function Qo(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1}=a,i=(await e.selectFrom("outbox_events").selectAll().where("tenant_id","=",t).where("dead_lettered_at","is not",null).orderBy("dead_lettered_at","desc").orderBy("id","asc").offset(n*o).limit(o).execute()).flatMap(l=>{let u;try{u=JSON.parse(l.payload)}catch(c){return console.error(`Failed to parse outbox payload for event ${l.id}`,c),[]}return[{...u,id:l.id,created_at:l.created_at,processed_at:l.processed_at,retry_count:l.retry_count,next_retry_at:l.next_retry_at,error:l.error,dead_lettered_at:l.dead_lettered_at,final_error:l.final_error}]});let d=i.length;if(r){const[l]=await e.selectFrom("outbox_events").select(u=>u.fn.countAll().as("total")).where("tenant_id","=",t).where("dead_lettered_at","is not",null).execute();d=Number((l==null?void 0:l.total)??i.length)}return{events:i,start:n*o,limit:o,length:d}}}function Yo(e){return async(t,a)=>{const n=await e.updateTable("outbox_events").set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where("id","=",t).where("tenant_id","=",a).where("dead_lettered_at","is not",null).executeTakeFirst();return Number(n.numUpdatedRows)>0}}function Ho(e){return async t=>{const a=await e.deleteFrom("outbox_events").where("processed_at","is not",null).where("processed_at","<",t).executeTakeFirst();return Number(a.numDeletedRows)}}function Wo(e){return{create:Mo(e),getByIds:qo(e),getUnprocessed:Jo(e),claimEvents:Lo(e),markProcessed:Ko(e),markRetry:Bo(e),deadLetter:Uo(e),listFailed:Qo(e),replay:Yo(e),cleanup:Ho(e)}}class Te{constructor(t){Q(this,"migrations");this.migrations=t}async getMigrations(){return this.migrations}}async function Go(e){await e.schema.createTable("tenants").addColumn("id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("users").addColumn("user_id","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)").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("phone_number","varchar(17)").addColumn("phone_verified","boolean").addColumn("username","varchar(128)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.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",t=>t.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",t=>t.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",t=>t.notNull()).addColumn("is_social","boolean",t=>t.notNull()).addColumn("app_metadata","varchar(4096)",t=>t.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",t=>t.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).addUniqueConstraint("unique_phone_provider",["phone_number","provider","tenant_id"]).execute(),await e.schema.createTable("members").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("applications").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",t=>t.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",t=>t.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",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("connections").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",t=>t.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("migrations").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("domains").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute()}async function Xo(e){await e.schema.dropTable("domains").execute(),await e.schema.dropTable("members").execute(),await e.schema.dropTable("users").execute(),await e.schema.dropTable("connections").execute(),await e.schema.dropTable("applications").execute(),await e.schema.dropTable("migrations").execute(),await e.schema.dropTable("tenants").execute()}const Vo=Object.freeze(Object.defineProperty({__proto__:null,down:Xo,up:Go},Symbol.toStringTag,{value:"Module"}));async function Zo(e){await e.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function er(e){await e.schema.alterTable("tenants").dropColumn("support_url").execute()}const tr=Object.freeze(Object.defineProperty({__proto__:null,down:er,up:Zo},Symbol.toStringTag,{value:"Module"}));async function ar(e){}async function nr(e){}const or=Object.freeze(Object.defineProperty({__proto__:null,down:nr,up:ar},Symbol.toStringTag,{value:"Module"}));async function rr(e){await e.schema.createTable("logs").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("category","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],t=>t.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.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 sr(e){await e.schema.dropTable("logs").execute()}const ir=Object.freeze(Object.defineProperty({__proto__:null,down:sr,up:rr},Symbol.toStringTag,{value:"Module"}));async function cr(e){}async function lr(e){}const dr=Object.freeze(Object.defineProperty({__proto__:null,down:lr,up:cr},Symbol.toStringTag,{value:"Module"}));async function ur(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createTable("otps").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await e.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function _r(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("tickets").execute(),await e.schema.dropTable("otps").execute()}const mr=Object.freeze(Object.defineProperty({__proto__:null,down:_r,up:ur},Symbol.toStringTag,{value:"Module"}));async function hr(e){await e.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"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await e.schema.createTable("codes").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function pr(e){await e.schema.dropTable("passwords").execute(),await e.schema.dropTable("codes").execute()}const fr=Object.freeze(Object.defineProperty({__proto__:null,down:pr,up:hr},Symbol.toStringTag,{value:"Module"}));async function gr(e){}async function wr(e){}const yr=Object.freeze(Object.defineProperty({__proto__:null,down:wr,up:gr},Symbol.toStringTag,{value:"Module"}));async function vr(e){await e.schema.alterTable("passwords").addColumn("password","varchar(255)",t=>t.notNull()).execute()}async function Cr(e){await e.schema.alterTable("passwords").dropColumn("password").execute()}const xr=Object.freeze(Object.defineProperty({__proto__:null,down:Cr,up:vr},Symbol.toStringTag,{value:"Module"}));async function Tr(e){}async function Nr(e){}const br=Object.freeze(Object.defineProperty({__proto__:null,down:Nr,up:Tr},Symbol.toStringTag,{value:"Module"}));async function Sr(e){}async function Or(e){}const kr=Object.freeze(Object.defineProperty({__proto__:null,down:Or,up:Sr},Symbol.toStringTag,{value:"Module"}));async function $r(e){}async function Er(e){}const Pr=Object.freeze(Object.defineProperty({__proto__:null,down:Er,up:$r},Symbol.toStringTag,{value:"Module"}));async function Ir(e){await e.schema.createIndex("users_email_index").on("users").column("email").execute()}async function zr(e){await e.schema.dropIndex("users_email_index").execute()}const Dr=Object.freeze(Object.defineProperty({__proto__:null,down:zr,up:Ir},Symbol.toStringTag,{value:"Module"}));async function Ar(e){await e.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function Fr(e){await e.schema.alterTable("users").dropColumn("profileData").execute()}const jr=Object.freeze(Object.defineProperty({__proto__:null,down:Fr,up:Ar},Symbol.toStringTag,{value:"Module"}));async function Rr(e){await e.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function Mr(e){await e.schema.dropIndex("users_linked_to_index")}const qr=Object.freeze(Object.defineProperty({__proto__:null,down:Mr,up:Rr},Symbol.toStringTag,{value:"Module"}));async function Jr(e){await e.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Lr(e){await e.schema.alterTable("users").dropColumn("locale").execute()}const Kr=Object.freeze(Object.defineProperty({__proto__:null,down:Lr,up:Jr},Symbol.toStringTag,{value:"Module"}));async function Br(e){await e.schema.createTable("keys").addColumn("kid","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",t=>t.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",t=>t.references("connections.id").onDelete("cascade")).execute()}async function Ur(e){await e.schema.dropTable("keys").execute()}const Qr=Object.freeze(Object.defineProperty({__proto__:null,down:Ur,up:Br},Symbol.toStringTag,{value:"Module"}));async function Yr(e){}async function Hr(e){}const Wr=Object.freeze(Object.defineProperty({__proto__:null,down:Hr,up:Yr},Symbol.toStringTag,{value:"Module"}));async function Gr(e){}async function Xr(e){}const Vr=Object.freeze(Object.defineProperty({__proto__:null,down:Xr,up:Gr},Symbol.toStringTag,{value:"Module"}));async function Zr(e){await e.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function es(e){await e.schema.alterTable("otps").dropColumn("audience").execute()}const ts=Object.freeze(Object.defineProperty({__proto__:null,down:es,up:Zr},Symbol.toStringTag,{value:"Module"}));async function as(e){}async function ns(e){}const os=Object.freeze(Object.defineProperty({__proto__:null,down:ns,up:as},Symbol.toStringTag,{value:"Module"}));async function rs(e){await e.schema.alterTable("logs").dropColumn("category").execute()}async function ss(e){await e.schema.alterTable("logs").addColumn("category","varchar(255)",t=>t.notNull()).execute()}const is=Object.freeze(Object.defineProperty({__proto__:null,down:ss,up:rs},Symbol.toStringTag,{value:"Module"}));async function cs(e){await e.schema.alterTable("users").dropColumn("tags").execute()}async function ls(e){await e.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const ds=Object.freeze(Object.defineProperty({__proto__:null,down:ls,up:cs},Symbol.toStringTag,{value:"Module"}));async function us(e){await e.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await e.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await e.schema.createIndex("logs_date").on("logs").column("date").execute()}async function _s(e){await e.schema.dropIndex("logs_user_id"),await e.schema.dropIndex("logs_tenant_id"),await e.schema.dropIndex("logs_date")}const ms=Object.freeze(Object.defineProperty({__proto__:null,down:_s,up:us},Symbol.toStringTag,{value:"Module"}));async function hs(e){await e.schema.alterTable("logs").dropColumn("details").execute(),await e.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function ps(e){await e.schema.alterTable("logs").dropColumn("details").execute(),await e.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const fs=Object.freeze(Object.defineProperty({__proto__:null,down:ps,up:hs},Symbol.toStringTag,{value:"Module"}));async function gs(e){await e.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await e.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function ws(e){await e.schema.alterTable("logs").dropColumn("user_name").execute(),await e.schema.alterTable("logs").dropColumn("auth0_client").execute(),await e.schema.alterTable("logs").dropColumn("isMobile").execute(),await e.schema.alterTable("logs").dropColumn("connection").execute(),await e.schema.alterTable("logs").dropColumn("connection_id").execute(),await e.schema.alterTable("logs").dropColumn("audience").execute(),await e.schema.alterTable("logs").dropColumn("scope").execute(),await e.schema.alterTable("logs").dropColumn("strategy").execute(),await e.schema.alterTable("logs").dropColumn("strategy_type").execute(),await e.schema.alterTable("logs").dropColumn("hostname").execute(),await e.schema.alterTable("logs").dropColumn("session_connection").execute()}const ys=Object.freeze(Object.defineProperty({__proto__:null,down:ws,up:gs},Symbol.toStringTag,{value:"Module"}));async function vs(e){await e.schema.createIndex("users_name_index").on("users").column("name").execute()}async function Cs(e){await e.schema.dropIndex("users_name_index").execute()}const xs=Object.freeze(Object.defineProperty({__proto__:null,down:Cs,up:vs},Symbol.toStringTag,{value:"Module"}));async function Ts(e){}async function Ns(e){await e.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const bs=Object.freeze(Object.defineProperty({__proto__:null,down:Ns,up:Ts},Symbol.toStringTag,{value:"Module"}));async function Ss(e){await e.schema.alterTable("otps").dropColumn("state").execute(),await e.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function Os(e){await e.schema.alterTable("otps").dropColumn("state").execute(),await e.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const ks=Object.freeze(Object.defineProperty({__proto__:null,down:Os,up:Ss},Symbol.toStringTag,{value:"Module"}));async function $s(e){await e.schema.alterTable("tickets").dropColumn("state").execute(),await e.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function Es(e){await e.schema.alterTable("tickets").dropColumn("state").execute(),await e.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Ps=Object.freeze(Object.defineProperty({__proto__:null,down:Es,up:$s},Symbol.toStringTag,{value:"Module"}));async function Is(e){await e.schema.createTable("branding").addColumn("tenant_id","varchar(255)",t=>t.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 zs(e){await e.schema.dropTable("branding").execute()}const Ds=Object.freeze(Object.defineProperty({__proto__:null,down:zs,up:Is},Symbol.toStringTag,{value:"Module"}));async function As(e){}async function Fs(e){}const js=Object.freeze(Object.defineProperty({__proto__:null,down:Fs,up:As},Symbol.toStringTag,{value:"Module"}));async function Rs(e){}async function Ms(e){}const qs=Object.freeze(Object.defineProperty({__proto__:null,down:Ms,up:Rs},Symbol.toStringTag,{value:"Module"}));async function Js(e){}async function Ls(e){}const Ks=Object.freeze(Object.defineProperty({__proto__:null,down:Ls,up:Js},Symbol.toStringTag,{value:"Module"}));async function Bs(e){}async function Us(e){}const Qs=Object.freeze(Object.defineProperty({__proto__:null,down:Us,up:Bs},Symbol.toStringTag,{value:"Module"}));async function Ys(e){await e.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}async function Hs(e){await e.schema.dropTable("authentication_codes").execute()}const Ws=Object.freeze(Object.defineProperty({__proto__:null,down:Hs,up:Ys},Symbol.toStringTag,{value:"Module"}));async function Gs(e){}async function Xs(e){}const Vs=Object.freeze(Object.defineProperty({__proto__:null,down:Xs,up:Gs},Symbol.toStringTag,{value:"Module"}));async function Zs(e){await e.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function ei(e){await e.schema.alterTable("otps").dropColumn("ip").execute()}const ti=Object.freeze(Object.defineProperty({__proto__:null,down:ei,up:Zs},Symbol.toStringTag,{value:"Module"}));async function ai(e){await e.schema.alterTable("logs").dropColumn("user_agent").execute(),await e.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function ni(e){await e.schema.alterTable("logs").dropColumn("user_agent").execute(),await e.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const oi=Object.freeze(Object.defineProperty({__proto__:null,down:ni,up:ai},Symbol.toStringTag,{value:"Module"}));async function ri(e){}async function si(e){}const ii=Object.freeze(Object.defineProperty({__proto__:null,down:si,up:ri},Symbol.toStringTag,{value:"Module"}));async function ci(e){await e.schema.createTable("hooks").addColumn("hook_id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",t=>t.notNull()).addColumn("trigger_id","varchar(255)",t=>t.notNull()).addColumn("enabled","boolean",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).addColumn("synchronous","boolean",t=>t.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function li(e){await e.schema.dropTable("hooks").execute()}const di=Object.freeze(Object.defineProperty({__proto__:null,down:li,up:ci},Symbol.toStringTag,{value:"Module"}));async function ui(e){}async function _i(e){}const mi=Object.freeze(Object.defineProperty({__proto__:null,down:_i,up:ui},Symbol.toStringTag,{value:"Module"}));async function hi(e){}async function pi(e){}const fi=Object.freeze(Object.defineProperty({__proto__:null,down:pi,up:hi},Symbol.toStringTag,{value:"Module"}));async function gi(e){await e.schema.createTable("logins").addColumn("login_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",t=>t.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("authParams_organization","varchar(256)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await e.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}async function wi(e){await e.schema.dropTable("logins").execute(),await e.schema.alterTable("passwords").dropColumn("algorithm").execute(),await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("code","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const yi=Object.freeze(Object.defineProperty({__proto__:null,down:wi,up:gi},Symbol.toStringTag,{value:"Module"}));async function vi(e){}async function Ci(e){}const xi=Object.freeze(Object.defineProperty({__proto__:null,down:Ci,up:vi},Symbol.toStringTag,{value:"Module"}));async function Ti(e){await e.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function Ni(e){await e.schema.alterTable("logins").dropColumn("auth0Client").execute()}const bi=Object.freeze(Object.defineProperty({__proto__:null,down:Ni,up:Ti},Symbol.toStringTag,{value:"Module"}));async function Si(e){await e.schema.alterTable("logins").dropColumn("authParams_state").execute(),await e.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function Oi(e){await e.schema.alterTable("logins").dropColumn("authParams_state").execute(),await e.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const ki=Object.freeze(Object.defineProperty({__proto__:null,down:Oi,up:Si},Symbol.toStringTag,{value:"Module"}));async function $i(e){}async function Ei(e){}const Pi=Object.freeze(Object.defineProperty({__proto__:null,down:Ei,up:$i},Symbol.toStringTag,{value:"Module"}));async function Ii(e){}async function zi(e){}const Di=Object.freeze(Object.defineProperty({__proto__:null,down:zi,up:Ii},Symbol.toStringTag,{value:"Module"}));async function Ai(e){await e.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function Fi(e){await e.schema.alterTable("logins").dropColumn("nonce").execute()}const ji=Object.freeze(Object.defineProperty({__proto__:null,down:Fi,up:Ai},Symbol.toStringTag,{value:"Module"}));async function Ri(e){}async function Mi(e){}const qi=Object.freeze(Object.defineProperty({__proto__:null,down:Mi,up:Ri},Symbol.toStringTag,{value:"Module"}));async function Ji(e){}async function Li(e){}const Ki=Object.freeze(Object.defineProperty({__proto__:null,down:Li,up:Ji},Symbol.toStringTag,{value:"Module"}));async function Bi(e){await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function Ui(e){await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Qi=Object.freeze(Object.defineProperty({__proto__:null,down:Ui,up:Bi},Symbol.toStringTag,{value:"Module"}));async function Yi(e){await e.schema.dropTable("otps").execute(),await e.schema.dropTable("authentication_codes").execute()}async function Hi(e){await e.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await e.schema.createTable("otps").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Wi=Object.freeze(Object.defineProperty({__proto__:null,down:Hi,up:Yi},Symbol.toStringTag,{value:"Module"}));async function Gi(e){await e.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Xi(e){await e.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Vi=Object.freeze(Object.defineProperty({__proto__:null,down:Xi,up:Gi},Symbol.toStringTag,{value:"Module"}));async function Zi(e){}async function ec(e){}const tc=Object.freeze(Object.defineProperty({__proto__:null,down:ec,up:Zi},Symbol.toStringTag,{value:"Module"}));async function ac(e){await e.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",t=>t.primaryKey()).addColumn("universal_login_experience","varchar(16)",t=>t.defaultTo("new").notNull()).addColumn("identifier_first","boolean",t=>t.defaultTo(!0).notNull()).addColumn("password_first","boolean",t=>t.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",t=>t.defaultTo(!1).notNull()).execute()}async function nc(e){await e.schema.dropTable("prompt_settings").execute()}const oc=Object.freeze(Object.defineProperty({__proto__:null,down:nc,up:ac},Symbol.toStringTag,{value:"Module"}));async function rc(e){}async function sc(e){}const ic=Object.freeze(Object.defineProperty({__proto__:null,down:sc,up:rc},Symbol.toStringTag,{value:"Module"}));async function cc(e){}async function lc(e){}const dc=Object.freeze(Object.defineProperty({__proto__:null,down:lc,up:cc},Symbol.toStringTag,{value:"Module"}));async function uc(e){}async function _c(e){}const mc=Object.freeze(Object.defineProperty({__proto__:null,down:_c,up:uc},Symbol.toStringTag,{value:"Module"}));async function hc(e){await e.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function pc(e){await e.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const fc=Object.freeze(Object.defineProperty({__proto__:null,down:pc,up:hc},Symbol.toStringTag,{value:"Module"}));async function gc(e){await e.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function wc(e){await e.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const yc=Object.freeze(Object.defineProperty({__proto__:null,down:wc,up:gc},Symbol.toStringTag,{value:"Module"}));async function vc(e){}async function Cc(e){}const xc=Object.freeze(Object.defineProperty({__proto__:null,down:Cc,up:vc},Symbol.toStringTag,{value:"Module"}));async function Tc(e){await e.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function Nc(e){await e.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const bc=Object.freeze(Object.defineProperty({__proto__:null,down:Nc,up:Tc},Symbol.toStringTag,{value:"Module"}));async function Sc(e){await e.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function Oc(e){await e.schema.alterTable("codes").dropColumn("code_verifier").execute()}const kc=Object.freeze(Object.defineProperty({__proto__:null,down:Oc,up:Sc},Symbol.toStringTag,{value:"Module"}));async function $c(e){await e.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",t=>t.primaryKey()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("enabled","boolean",t=>t.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",t=>t.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",t=>t.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",t=>t.notNull()).addColumn("updated_at","varchar(29)",t=>t.notNull()).execute()}async function Ec(e){await e.schema.dropTable("email_providers").execute()}const Pc=Object.freeze(Object.defineProperty({__proto__:null,down:Ec,up:$c},Symbol.toStringTag,{value:"Module"}));async function Ic(e){await e.schema.dropTable("tickets").execute()}async function zc(e){await e.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Dc=Object.freeze(Object.defineProperty({__proto__:null,down:zc,up:Ic},Symbol.toStringTag,{value:"Module"}));async function Ac(e){}async function Fc(e){await e.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const jc=Object.freeze(Object.defineProperty({__proto__:null,down:Fc,up:Ac},Symbol.toStringTag,{value:"Module"}));async function Rc(e){await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function Mc(e){await e.schema.dropTable("refresh_tokens").execute()}const qc=Object.freeze(Object.defineProperty({__proto__:null,down:Mc,up:Rc},Symbol.toStringTag,{value:"Module"}));async function Jc(e){}async function Lc(e){}const Kc=Object.freeze(Object.defineProperty({__proto__:null,down:Lc,up:Jc},Symbol.toStringTag,{value:"Module"}));async function Bc(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("refresh_tokens").execute()}async function Uc(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}const Qc=Object.freeze(Object.defineProperty({__proto__:null,down:Uc,up:Bc},Symbol.toStringTag,{value:"Module"}));async function Yc(e){await e.schema.createTable("sessions_2").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("refresh_tokens_2").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function Hc(e){await e.schema.dropTable("sessions_2").execute(),await e.schema.dropTable("refresh_tokens_2").execute()}const Wc=Object.freeze(Object.defineProperty({__proto__:null,down:Hc,up:Yc},Symbol.toStringTag,{value:"Module"}));async function Gc(e){await e.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(21)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.notNull()).addColumn("primary","boolean",t=>t.notNull()).addColumn("status","varchar(50)",t=>t.notNull()).addColumn("type","varchar(50)",t=>t.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.dropTable("domains").execute()}async function Xc(e){await e.schema.dropTable("custom_domains").execute(),await e.schema.createTable("domains").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute()}const Vc=Object.freeze(Object.defineProperty({__proto__:null,down:Xc,up:Gc},Symbol.toStringTag,{value:"Module"}));async function Zc(e){}async function el(e){await e.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const tl=Object.freeze(Object.defineProperty({__proto__:null,down:el,up:Zc},Symbol.toStringTag,{value:"Module"}));async function al(e){await e.schema.alterTable("logins").dropColumn("authorization_url").execute(),await e.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function nl(e){await e.schema.alterTable("logins").dropColumn("authorization_url").execute(),await e.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const ol=Object.freeze(Object.defineProperty({__proto__:null,down:nl,up:al},Symbol.toStringTag,{value:"Module"}));async function rl(e){}async function sl(e){}const il=Object.freeze(Object.defineProperty({__proto__:null,down:sl,up:rl},Symbol.toStringTag,{value:"Module"}));async function cl(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",t=>t.references("sessions.id").onDelete("cascade")).addColumn("csrf_token","varchar(21)",t=>t.notNull()).addColumn("authParams_client_id","varchar(255)",t=>t.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(2048)").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","varchar(255)").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)",t=>t.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","varchar(1024)").addColumn("auth0Client","varchar(255)").execute(),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function ll(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("login_sessions").execute(),await e.schema.dropTable("refresh_tokens").execute()}const dl=Object.freeze(Object.defineProperty({__proto__:null,down:ll,up:cl},Symbol.toStringTag,{value:"Module"}));async function ul(e){await e.schema.dropTable("logins").execute(),await e.schema.dropTable("sessions_2").execute(),await e.schema.dropTable("refresh_tokens_2").execute()}async function _l(e){}const ml=Object.freeze(Object.defineProperty({__proto__:null,down:_l,up:ul},Symbol.toStringTag,{value:"Module"}));async function hl(e){await e.schema.dropTable("custom_domains").execute(),await e.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(256)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.notNull()).addColumn("primary","boolean",t=>t.notNull()).addColumn("status","varchar(50)",t=>t.notNull()).addColumn("type","varchar(50)",t=>t.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute()}async function pl(e){}const fl=Object.freeze(Object.defineProperty({__proto__:null,down:pl,up:hl},Symbol.toStringTag,{value:"Module"}));async function gl(e){}async function wl(e){await e.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const yl=Object.freeze(Object.defineProperty({__proto__:null,down:wl,up:gl},Symbol.toStringTag,{value:"Module"}));async function vl(e){await e.schema.createTable("forms").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.notNull()).addColumn("messages","varchar(255)").addColumn("languages","varchar(255)").addColumn("translations","varchar(4096)").addColumn("nodes","varchar(4096)").addColumn("start","varchar(255)").addColumn("ending","varchar(255)").addColumn("style","varchar(1042)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createIndex("forms_tenant_id_idx").on("forms").column("tenant_id").execute()}async function Cl(e){await e.schema.dropTable("forms").execute()}const xl=Object.freeze(Object.defineProperty({__proto__:null,down:Cl,up:vl},Symbol.toStringTag,{value:"Module"}));async function Tl(e){await e.schema.alterTable("hooks").addColumn("form_id","text").execute(),await e.schema.alterTable("hooks").addColumn("url_tmp","varchar(512)").execute(),await e.updateTable("hooks").set(t=>({url_tmp:t.ref("url")})).execute(),await e.schema.alterTable("hooks").dropColumn("url").execute(),await e.schema.alterTable("hooks").renameColumn("url_tmp","url").execute()}async function Nl(e){await e.schema.dropTable("hooks").ifExists().execute(),await e.schema.createTable("hooks").addColumn("hook_id","text",t=>t.primaryKey()).addColumn("tenant_id","text",t=>t.notNull()).addColumn("trigger_id","text",t=>t.notNull()).addColumn("enabled","integer",t=>t.notNull().defaultTo(0)).addColumn("url","varchar(512)",t=>t.notNull()).addColumn("synchronous","integer",t=>t.notNull().defaultTo(0)).addColumn("priority","integer").addColumn("created_at","text",t=>t.notNull()).addColumn("updated_at","text",t=>t.notNull()).execute()}const bl=Object.freeze(Object.defineProperty({__proto__:null,down:Nl,up:Tl},Symbol.toStringTag,{value:"Module"}));async function Sl(e){await e.schema.alterTable("login_sessions").addColumn("login_completed","boolean",t=>t.notNull().defaultTo(0)).execute()}async function Ol(e){await e.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const kl=Object.freeze(Object.defineProperty({__proto__:null,down:Ol,up:Sl},Symbol.toStringTag,{value:"Module"}));async function $l(e){await e.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",t=>t.references("login_sessions.id").onDelete("set null")).execute()}async function El(e){await e.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const Pl=Object.freeze(Object.defineProperty({__proto__:null,down:El,up:$l},Symbol.toStringTag,{value:"Module"}));async function Il(e){await e.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function zl(e){await e.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const Dl=Object.freeze(Object.defineProperty({__proto__:null,down:zl,up:Il},Symbol.toStringTag,{value:"Module"}));async function Al(e){await e.schema.alterTable("codes").addColumn("code_challenge","varchar(128)").execute(),await e.schema.alterTable("codes").addColumn("code_challenge_method","varchar(5)").execute()}async function Fl(e){await e.schema.alterTable("codes").dropColumn("code_challenge").execute(),await e.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const jl=Object.freeze(Object.defineProperty({__proto__:null,down:Fl,up:Al},Symbol.toStringTag,{value:"Module"}));async function Rl(e){await e.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function Ml(e){await e.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const ql=Object.freeze(Object.defineProperty({__proto__:null,down:Ml,up:Rl},Symbol.toStringTag,{value:"Module"}));async function Jl(e){await e.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await e.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function Ll(e){await e.schema.alterTable("codes").dropColumn("nonce").execute(),await e.schema.alterTable("codes").dropColumn("state").execute()}const Kl=Object.freeze(Object.defineProperty({__proto__:null,down:Ll,up:Jl},Symbol.toStringTag,{value:"Module"}));async function Bl(e){await e.schema.createTable("themes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("themeId","varchar(255)",t=>t.notNull()).addColumn("displayName","varchar(255)",t=>t.notNull()).addColumn("colors_primary_button_label","varchar(24)",t=>t.notNull()).addColumn("colors_primary_button","varchar(24)",t=>t.notNull()).addColumn("colors_secondary_button_border","varchar(24)",t=>t.notNull()).addColumn("colors_secondary_button_label","varchar(24)",t=>t.notNull()).addColumn("colors_base_focus_color","varchar(24)",t=>t.notNull()).addColumn("colors_base_hover_color","varchar(24)",t=>t.notNull()).addColumn("colors_body_text","varchar(24)",t=>t.notNull()).addColumn("colors_captcha_widget_theme","varchar(24)",t=>t.notNull()).addColumn("colors_error","varchar(24)",t=>t.notNull()).addColumn("colors_header","varchar(24)",t=>t.notNull()).addColumn("colors_icons","varchar(24)",t=>t.notNull()).addColumn("colors_input_background","varchar(24)",t=>t.notNull()).addColumn("colors_input_border","varchar(24)",t=>t.notNull()).addColumn("colors_input_filled_text","varchar(24)",t=>t.notNull()).addColumn("colors_input_labels_placeholders","varchar(24)",t=>t.notNull()).addColumn("colors_links_focused_components","varchar(24)",t=>t.notNull()).addColumn("colors_success","varchar(24)",t=>t.notNull()).addColumn("colors_widget_background","varchar(24)",t=>t.notNull()).addColumn("colors_widget_border","varchar(24)",t=>t.notNull()).addColumn("borders_button_border_radius","integer",t=>t.notNull()).addColumn("borders_button_border_weight","integer",t=>t.notNull()).addColumn("borders_buttons_style","varchar(24)",t=>t.notNull()).addColumn("borders_input_border_radius","integer",t=>t.notNull()).addColumn("borders_input_border_weight","integer",t=>t.notNull()).addColumn("borders_inputs_style","varchar(24)",t=>t.notNull()).addColumn("borders_show_widget_shadow","boolean",t=>t.notNull()).addColumn("borders_widget_border_weight","integer",t=>t.notNull()).addColumn("borders_widget_corner_radius","integer",t=>t.notNull()).addColumn("fonts_body_text_bold","integer",t=>t.notNull()).addColumn("fonts_body_text_size","integer",t=>t.notNull()).addColumn("fonts_buttons_text_bold","integer",t=>t.notNull()).addColumn("fonts_buttons_text_size","integer",t=>t.notNull()).addColumn("fonts_font_url","varchar(255)",t=>t.notNull()).addColumn("fonts_input_labels_bold","integer",t=>t.notNull()).addColumn("fonts_input_labels_size","integer",t=>t.notNull()).addColumn("fonts_links_bold","boolean",t=>t.notNull()).addColumn("fonts_links_size","integer",t=>t.notNull()).addColumn("fonts_links_style","varchar(24)",t=>t.notNull()).addColumn("fonts_reference_text_size","integer",t=>t.notNull()).addColumn("fonts_subtitle_bold","boolean",t=>t.notNull()).addColumn("fonts_subtitle_size","integer",t=>t.notNull()).addColumn("fonts_title_bold","boolean",t=>t.notNull()).addColumn("fonts_title_size","integer",t=>t.notNull()).addColumn("page_background_background_color","varchar(24)",t=>t.notNull()).addColumn("page_background_background_image_url","varchar(255)",t=>t.notNull()).addColumn("page_background_page_layout","varchar(24)",t=>t.notNull()).addColumn("widget_header_text_alignment","varchar(24)",t=>t.notNull()).addColumn("widget_logo_height","integer",t=>t.notNull()).addColumn("widget_logo_position","varchar(24)",t=>t.notNull()).addColumn("widget_logo_url","varchar(255)",t=>t.notNull()).addColumn("widget_social_buttons_layout","varchar(24)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("themes_pkey",["tenant_id","themeId"]).execute(),await e.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute()}async function Ul(e){await e.schema.dropTable("themes").execute()}const Ql=Object.freeze(Object.defineProperty({__proto__:null,down:Ul,up:Bl},Symbol.toStringTag,{value:"Module"}));async function Yl(e){await e.schema.createTable("resource_servers").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("identifier","varchar(191)",t=>t.notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("scopes","varchar(4096)").addColumn("signing_alg","varchar(64)").addColumn("signing_secret","varchar(2048)").addColumn("token_lifetime","integer").addColumn("token_lifetime_for_web","integer").addColumn("skip_consent_for_verifiable_first_party_clients","integer").addColumn("allow_offline_access","integer").addColumn("verification_key","varchar(4096)").addColumn("options","varchar(4096)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("resource_servers_pk",["tenant_id","id"]).execute(),await e.schema.createIndex("resource_servers_tenant_identifier_uq").on("resource_servers").columns(["tenant_id","identifier"]).unique().execute(),await e.schema.createTable("roles").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(50)",t=>t.notNull()).addColumn("description","varchar(255)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("roles_pk",["tenant_id","id"]).execute(),await e.schema.createIndex("roles_tenant_name_uq").on("roles").columns(["tenant_id","name"]).unique().execute()}async function Hl(e){await e.schema.dropTable("roles").execute(),await e.schema.dropTable("resource_servers").execute()}const Wl=Object.freeze(Object.defineProperty({__proto__:null,down:Hl,up:Yl},Symbol.toStringTag,{value:"Module"}));async function Gl(e){await e.schema.createTable("role_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("role_permissions_pk",["tenant_id","role_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("role_permissions_permission_fk").on("role_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute()}async function Xl(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("role_permissions").execute()}const Vl=Object.freeze(Object.defineProperty({__proto__:null,down:Xl,up:Gl},Symbol.toStringTag,{value:"Module"}));async function Zl(e){await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}async function ed(e){await e.schema.dropTable("user_roles").execute()}const td=Object.freeze(Object.defineProperty({__proto__:null,down:ed,up:Zl},Symbol.toStringTag,{value:"Module"}));async function ad(e){}async function nd(e){await e.schema.alterTable("keys").dropColumn("connection").execute(),await e.schema.alterTable("keys").modifyColumn("cert","varchar(2048)").execute(),await e.schema.alterTable("keys").modifyColumn("pkcs7","varchar(2048)").execute(),await e.schema.alterTable("keys").dropColumn("type").execute()}const od=Object.freeze(Object.defineProperty({__proto__:null,down:nd,up:ad},Symbol.toStringTag,{value:"Module"}));async function rd(e){await e.schema.createTable("organizations").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(256)",t=>t.notNull()).addColumn("display_name","varchar(256)").addColumn("branding","text").addColumn("metadata","text").addColumn("enabled_connections","text").addColumn("token_quota","text").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_organizations_tenant_name_unique").on("organizations").columns(["tenant_id","name"]).unique().execute()}async function sd(e){await e.schema.dropTable("organizations").execute()}const id=Object.freeze(Object.defineProperty({__proto__:null,down:sd,up:rd},Symbol.toStringTag,{value:"Module"}));async function cd(e){await e.schema.createTable("user_organizations").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addUniqueConstraint("user_organizations_unique",["tenant_id","user_id","organization_id"]).execute(),await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_user_organizations_user_id").on("user_organizations").column("user_id").execute(),await e.schema.createIndex("idx_user_organizations_organization_id").on("user_organizations").column("organization_id").execute()}async function ld(e){await e.schema.dropTable("user_organizations").execute()}const dd=Object.freeze(Object.defineProperty({__proto__:null,down:ld,up:cd},Symbol.toStringTag,{value:"Module"}));async function ud(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("user_roles").execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(21)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull().defaultTo("")).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name","organization_id"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_organization_fk").on("user_permissions").column("organization_id").execute(),await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("organization_id","varchar(191)",t=>t.notNull().defaultTo("")).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id","organization_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("user_roles_organization_fk").on("user_roles").column("organization_id").execute()}async function _d(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("user_roles").execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}const md=Object.freeze(Object.defineProperty({__proto__:null,down:_d,up:ud},Symbol.toStringTag,{value:"Module"}));async function hd(e){await e.schema.createTable("clients").addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("description","varchar(140)").addColumn("global","integer",t=>t.defaultTo(0).notNull()).addColumn("client_secret","varchar(255)").addColumn("app_type","varchar(64)",t=>t.defaultTo("regular_web")).addColumn("logo_uri","varchar(2083)").addColumn("is_first_party","integer",t=>t.defaultTo(0).notNull()).addColumn("oidc_conformant","integer",t=>t.defaultTo(1).notNull()).addColumn("callbacks","text",t=>t.notNull()).addColumn("allowed_origins","text",t=>t.notNull()).addColumn("web_origins","text",t=>t.notNull()).addColumn("client_aliases","text",t=>t.notNull()).addColumn("allowed_clients","text",t=>t.notNull()).addColumn("allowed_logout_urls","text",t=>t.notNull()).addColumn("session_transfer","text",t=>t.notNull()).addColumn("oidc_logout","text",t=>t.notNull()).addColumn("grant_types","text",t=>t.notNull()).addColumn("jwt_configuration","text",t=>t.notNull()).addColumn("signing_keys","text",t=>t.notNull()).addColumn("encryption_key","text",t=>t.notNull()).addColumn("sso","integer",t=>t.defaultTo(0).notNull()).addColumn("sso_disabled","integer",t=>t.defaultTo(1).notNull()).addColumn("cross_origin_authentication","integer",t=>t.defaultTo(0).notNull()).addColumn("cross_origin_loc","varchar(2083)").addColumn("custom_login_page_on","integer",t=>t.defaultTo(0).notNull()).addColumn("custom_login_page","text").addColumn("custom_login_page_preview","text").addColumn("form_template","text").addColumn("addons","text",t=>t.notNull()).addColumn("token_endpoint_auth_method","varchar(64)",t=>t.defaultTo("client_secret_basic")).addColumn("client_metadata","text",t=>t.notNull()).addColumn("mobile","text",t=>t.notNull()).addColumn("initiate_login_uri","varchar(2083)").addColumn("native_social_login","text",t=>t.notNull()).addColumn("refresh_token","text",t=>t.notNull()).addColumn("default_organization","text",t=>t.notNull()).addColumn("organization_usage","varchar(32)",t=>t.defaultTo("deny")).addColumn("organization_require_behavior","varchar(32)",t=>t.defaultTo("no_prompt")).addColumn("client_authentication_methods","text",t=>t.notNull()).addColumn("require_pushed_authorization_requests","integer",t=>t.defaultTo(0).notNull()).addColumn("require_proof_of_possession","integer",t=>t.defaultTo(0).notNull()).addColumn("signed_request_object","text",t=>t.notNull()).addColumn("compliance_level","varchar(64)").addColumn("par_request_expiry","integer").addColumn("token_quota","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("clients_tenant_id_client_id",["tenant_id","client_id"]).execute()}async function pd(e){await e.schema.dropTable("clients").execute()}const fd=Object.freeze(Object.defineProperty({__proto__:null,down:pd,up:hd},Symbol.toStringTag,{value:"Module"}));let Ne=!1;function be(e){Ne=e}function w(...e){Ne&&console.log(...e)}function z(...e){console.warn(...e)}async function Se(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function gd(e){await Se(e)==="mysql"?await wd(e):await yd(e)}async function wd(e){await e.transaction().execute(async t=>{const a=await h.sql`
|
|
1
|
+
"use strict";var je=Object.defineProperty;var Re=(e,t,a)=>t in e?je(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a;var Q=(e,t,a)=>Re(e,typeof t!="symbol"?t+"":t,a);Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const I=require("nanoid"),b=require("@authhero/adapter-interfaces");require("@hono/zod-openapi");const h=require("kysely"),Me=17,qe={organization:"org_",connection:"con_",action:"act_",hook:"h_",hook_code:"hc_",rule:"rul_",resource_server:"api_",guardian_factor:"gfa_",invite:"inv_"};function M(e){const n=I.customAlphabet("0123456789abcdefghijklmnopqrstuvwxyz",Me)();return`${qe[e]}${n}`}function Je(){return M("organization")}function Le(){return M("connection")}function Ke(){return M("action")}function Be(){return M("hook")}function Ue(){return M("resource_server")}function Qe(){return M("hook_code")}function Ye(){return M("invite")}function He(e){return async(t,a)=>{var r;const n=Date.now(),o=Ke();return await e.insertInto("actions").values({id:o,tenant_id:t,name:a.name,code:a.code,runtime:a.runtime||null,status:"built",secrets:a.secrets?JSON.stringify(a.secrets):null,dependencies:a.dependencies?JSON.stringify(a.dependencies):null,supported_triggers:a.supported_triggers?JSON.stringify(a.supported_triggers):null,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,tenant_id:t,name:a.name,code:a.code,runtime:a.runtime,status:"built",secrets:(r=a.secrets)==null?void 0:r.map(s=>({name:s.name})),dependencies:a.dependencies,supported_triggers:a.supported_triggers,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function B(e){if(e!=null){if(typeof e=="number")return new Date(e).toISOString();if(typeof e=="string"){if(e==="")return;const t=parseFloat(e);return!isNaN(t)&&/^\d+(\.\d+)?$/.test(e)?new Date(t).toISOString():e}}}function F(e,t=new Date(0).toISOString()){return B(e)??t}function C(e){if(!e||e==="")return null;const t=new Date(e);return isNaN(t.getTime())?null:t.getTime()}function Z(){return new Date().toISOString()}function A(e,t,a=[]){const n={};for(const o of t){const r=o.replace(/_ts$/,"");n[r]=F(e[o])}for(const o of a){const r=o.replace(/_ts$/,"");n[r]=B(e[o])}return n}function H(e){if(e)try{return JSON.parse(e)}catch{return}}function We(e){return async(t,a)=>{const n=await e.selectFrom("actions").where("actions.tenant_id","=",t).where("actions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,deployed_at_ts:s,secrets:i,dependencies:d,supported_triggers:l,tenant_id:u,...c}=n,m=A({created_at_ts:o,updated_at_ts:r},["created_at_ts","updated_at_ts"]);return{...c,tenant_id:t,...m,runtime:c.runtime??void 0,status:c.status||"built",deployed_at:s?new Date(Number(s)).toISOString():void 0,secrets:H(i),dependencies:H(d),supported_triggers:H(l)}}}function E(e,t,a,n){const o=a.split(/ OR /i);if(o.length>1)return t.where(l=>{const u=o.map(c=>{const m=c.trim().match(/^([^:]+):(.+)$/);if(m){const[,_,p]=m;if(!_||!p)return null;const f=p.replace(/^"(.*)"$/,"$1");return l(_.trim(),"=",f.trim())}return null}).filter(Boolean);return l.or(u)});const r=[];let s="",i=!1;for(let l=0;l<a.length;l++){const u=a[l];u==='"'?(i=!i,s+=u):u===" "&&!i?s.trim()&&(r.push(s.trim()),s=""):s+=u}return s.trim()&&r.push(s.trim()),r.map(l=>l.replace(/^([^:]+)=/g,"$1:")).map(l=>{let u=l.startsWith("-"),c=null,m="",_=!1,p;if(l.startsWith("-_exists_:"))c=l.substring(10),_=!0,u=!0;else if(l.startsWith("_exists_:"))c=l.substring(9),_=!0,u=!1;else if(l.includes(":")){const f=u?l.substring(1):l,g=f.indexOf(":");c=f.substring(0,g),m=f.substring(g+1),_=!1,m.startsWith(">=")?(p=">=",m=m.substring(2)):m.startsWith(">")?(p=">",m=m.substring(1)):m.startsWith("<=")?(p="<=",m=m.substring(2)):m.startsWith("<")?(p="<",m=m.substring(1)):p="=",m.startsWith('"')&&m.endsWith('"')&&m.length>1&&(m=m.slice(1,-1))}else c=null,m=l,_=!1;return{key:c,value:m,isNegation:u,isExistsQuery:_,operator:p}}).forEach(({key:l,value:u,isNegation:c,isExistsQuery:m,operator:_})=>{if(l)if(m)c?t=t.where(l,"is",null):t=t.where(l,"is not",null);else if(c)switch(_){case">":t=t.where(l,"<=",u);break;case">=":t=t.where(l,"<",u);break;case"<":t=t.where(l,">=",u);break;case"<=":t=t.where(l,">",u);break;default:t=t.where(l,"!=",u)}else t=t.where(l,_,u);else if(u){const{ref:p}=e.dynamic,f=u.includes("|")?[...n,"user_id"]:n;t=t.where(g=>g.or(f.map(v=>v==="user_id"?g(p(v),"=",u):g(p(v),"like",`%${u}%`))))}}),t}function P(e){return typeof e=="string"?parseInt(e,10):typeof e=="bigint"?Number(e):e}function W(e){if(e)try{return JSON.parse(e)}catch{return}}function Ge(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("actions").where("actions.tenant_id","=",t);s&&(i=E(e,i,s,["name"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{created_at_ts:_,updated_at_ts:p,deployed_at_ts:f,secrets:g,dependencies:v,supported_triggers:S,tenant_id:N,...T}=m,D=A({created_at_ts:_,updated_at_ts:p},["created_at_ts","updated_at_ts"]);return{...T,tenant_id:t,...D,runtime:T.runtime??void 0,status:T.status||"built",deployed_at:f?new Date(Number(f)).toISOString():void 0,secrets:W(g),dependencies:W(v),supported_triggers:W(S)}});if(!r)return{actions:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{actions:u,start:n*o,limit:o,length:P(c)}}}function Xe(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now()};if(n.name!==void 0&&(o.name=n.name),n.code!==void 0&&(o.code=n.code),n.runtime!==void 0&&(o.runtime=n.runtime),n.secrets!==void 0&&(o.secrets=JSON.stringify(n.secrets)),n.dependencies!==void 0&&(o.dependencies=JSON.stringify(n.dependencies)),n.supported_triggers!==void 0&&(o.supported_triggers=JSON.stringify(n.supported_triggers)),n.status!==void 0&&(o.status=n.status),n.deployed_at!==void 0){const s=new Date(n.deployed_at).getTime();Number.isFinite(s)&&(o.deployed_at_ts=s)}return(await e.updateTable("actions").set(o).where("actions.id","=",a).where("actions.tenant_id","=",t).executeTakeFirst()).numUpdatedRows>0}}function Ve(e){return async(t,a)=>(await e.deleteFrom("actions").where("actions.id","=",a).where("actions.tenant_id","=",t).executeTakeFirst()).numDeletedRows>0}function Ze(e){return{create:He(e),get:We(e),list:Ge(e),update:Xe(e),remove:Ve(e)}}var L=class extends Error{constructor(t=500,a){super(a==null?void 0:a.message,{cause:a==null?void 0:a.cause});Q(this,"res");Q(this,"status");this.res=a==null?void 0:a.res,this.status=t}getResponse(){return this.res?new Response(this.res.body,{status:this.status,headers:this.res.headers}):new Response(this.message,{status:this.status})}};function et(e){return async(t,a)=>{const{identities:n,phone_verified:o,password:r,...s}=a,i={...s,login_count:s.login_count??0,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t,email_verified:a.email_verified?1:0,phone_verified:o!==void 0?o?1:0:null,is_social:a.is_social?1:0,app_metadata:JSON.stringify(a.app_metadata),user_metadata:JSON.stringify(a.user_metadata),address:a.address?JSON.stringify(a.address):null};try{const d=async l=>{if(await l.insertInto("users").values(i).execute(),r&&i.user_id){const u={id:I.nanoid(),user_id:i.user_id,password:r.hash,algorithm:r.algorithm,is_current:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t};await l.insertInto("passwords").values(u).execute()}};e.isTransaction?await d(e):await e.transaction().execute(d)}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.code==="ER_DUP_ENTRY"||d.message.includes("AlreadyExists")?new L(409,{message:"User already exists"}):new L(500,{message:`${d.code}, ${d.message}`})}return{...i,email:i.email||"",email_verified:i.email_verified===1,phone_verified:i.phone_verified!==null?i.phone_verified===1:void 0,is_social:i.is_social===1,address:a.address}}}function y(e){if(e==null||typeof e!="object")return e;if(Array.isArray(e))return e.map(a=>a!==null&&typeof a=="object"?y(a):a);const t={...e};for(const a in t){const n=t[a];n===null?delete t[a]:n!==null&&typeof n=="object"&&(Array.isArray(n)?t[a]=n.map(o=>o!==null&&typeof o=="object"?y(o):o):t[a]=y(n))}return t}const tt=["email","email_verified","phone_number","phone_verified","username"];function Y(e,t=!1){const a={connection:e.connection,provider:e.provider,user_id:b.parseUserId(e.user_id).id,isSocial:!!e.is_social};for(const n of tt)e[n]!==void 0&&e[n]!==null&&(a[n]=n.endsWith("_verified")?!!e[n]:e[n]);if(!t){let n={};try{n=JSON.parse(e.profileData||"{}")}catch(o){console.error("Error parsing profileData",o)}a.profileData={email:e.email,email_verified:!!e.email_verified,...n}}return a}function at(e){return async(t,a)=>{const[n,o]=await Promise.all([e.selectFrom("users").where("users.tenant_id","=",t).where("users.user_id","=",a).selectAll().executeTakeFirst(),e.selectFrom("users").where("users.tenant_id","=",t).where("users.linked_to","=",a).selectAll().orderBy("created_at","asc").execute()]);if(!n)return null;const{tenant_id:r,...s}=n,i={...s,email:n.email||"",email_verified:n.email_verified===1,phone_verified:n.phone_verified!==null?n.phone_verified===1:void 0,is_social:n.is_social===1,app_metadata:JSON.parse(n.app_metadata),user_metadata:JSON.parse(n.user_metadata),address:n.address?JSON.parse(n.address):void 0,identities:[Y(n,!0),...o.map(d=>Y(d))]};return y(i)}}function nt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("users").where("users.tenant_id","=",t);if(i&&(d=E(e,d,i,["email","name","phone_number"])),s&&s.sort_by){const{ref:f}=e.dynamic;d=d.orderBy(f(s.sort_by),s.sort_order)}const u=await d.offset(n*o).limit(o).selectAll().execute(),c=u.map(f=>f.user_id),m=c.length?await e.selectFrom("users").selectAll().where("users.tenant_id","=",t).where("users.linked_to","in",c).orderBy("created_at","asc").execute():[],_=u.map(f=>{const g=m.filter(v=>v.linked_to===f.user_id);return y({...f,email_verified:f.email_verified===1,phone_verified:f.phone_verified!==null?f.phone_verified===1:void 0,is_social:f.is_social===1,app_metadata:JSON.parse(f.app_metadata),user_metadata:JSON.parse(f.user_metadata),address:f.address?JSON.parse(f.address):void 0,identities:[Y(f,!0),...g.map(v=>Y(v))]})});if(!r)return{users:_,start:0,limit:0,length:0};const{count:p}=await d.select(f=>f.fn.countAll().as("count")).executeTakeFirstOrThrow();return{users:_,start:n*o,limit:o,length:P(p)}}}function ot(e){return async(t,a)=>(await e.deleteFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.user_id","in",o=>o.selectFrom("users").select("users.user_id").where("users.tenant_id","=",t).where(r=>r.or([r("users.user_id","=",a),r("users.linked_to","=",a)]))).execute(),await e.deleteFrom("users").where("users.tenant_id","=",t).where("users.linked_to","=",a).execute(),(await e.deleteFrom("users").where("users.tenant_id","=",t).where("users.user_id","=",a).execute()).length===1)}function K(e,t="",a={}){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){const o=t?`${t}_${n}`:n,r=e[n];typeof r=="object"&&r!==null&&!Array.isArray(r)?K(r,o,a):typeof r=="boolean"?a[o]=r?1:0:a[o]=r}return a}function pe(e,t){const a={};for(const[n,o]of Object.entries(e)){const r=t.find(s=>n.startsWith(`${s}_`));if(!r)a[n]=o;else{const s=n.slice(r.length+1);a[r]={...a[r],[s]:o}}}return a}function rt(e){return async(t,a,n)=>{const o=K({...n,updated_at:new Date().toISOString(),app_metadata:n.app_metadata?JSON.stringify(n.app_metadata):void 0,user_metadata:n.user_metadata?JSON.stringify(n.user_metadata):void 0,address:n.address?JSON.stringify(n.address):void 0,phone_verified:n.phone_verified!==void 0?n.phone_verified?1:0:void 0});return(await e.updateTable("users").set(o).where("users.tenant_id","=",t).where("users.user_id","=",a).execute()).length===1}}function st(e){return async(t,a,n,o)=>{const r={linked_to:null};return(await e.updateTable("users").set(r).where("users.tenant_id","=",t).where("users.user_id","=",`${n}|${o}`).where("users.linked_to","=",`${a}`).execute()).length===1}}function it(e){const t=et(e);return{create:t,rawCreate:t,remove:ot(e),get:at(e),list:nt(e),update:rt(e),unlink:st(e)}}function ct(e){return async(t,a)=>{const n=new Date().toISOString(),o=b.flowSchema.parse({id:`af_${I.nanoid()}`,...a,actions:a.actions||[],created_at:n,updated_at:n});return await e.insertInto("flows").values({...o,tenant_id:t,actions:JSON.stringify(o.actions)}).execute(),o}}function R(e,t){if(!e)return t;try{return JSON.parse(e)}catch{return t}}function fe(e){if(e)try{const t=JSON.parse(e);return t&&typeof t=="object"&&!Array.isArray(t)?t:void 0}catch{return}}function ge(e,t,a={...e}){for(const n in t)n in e&&(a[n]=R(e[n],t[n]));return a}function lt(e){return async(t,a)=>{const n=await e.selectFrom("flows").selectAll().where("flows.id","=",a).where("tenant_id","=",t).executeTakeFirst();if(!n)return null;const o={...n,actions:R(n.actions,[])};return b.flowSchema.parse(y(o))}}function dt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("flows").where("tenant_id","=",t);s&&(i=E(e,i,s,[]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _={...m,actions:R(m.actions,[])};return b.flowSchema.parse(y(_))});if(!r)return{flows:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{flows:u,start:n*o,limit:o,length:P(c)}}}function ut(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};n.actions!==void 0&&(o.actions=JSON.stringify(n.actions));const{numUpdatedRows:r}=await e.updateTable("flows").set(o).where("id","=",a).where("tenant_id","=",t).executeTakeFirst();if(r===0n)return null;const s=await e.selectFrom("flows").selectAll().where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return s?b.flowSchema.parse({...s,actions:s.actions?JSON.parse(s.actions):[]}):null}}function _t(e){return async(t,a)=>{var o;return(((o=(await e.deleteFrom("flows").where("id","=",a).where("tenant_id","=",t).execute())[0])==null?void 0:o.numDeletedRows)??0n)>0n}}function mt(e){return{create:ct(e),get:lt(e),list:dt(e),update:ut(e),remove:_t(e)}}function U(e,t,a={...e}){for(const n of t)e[n]!==void 0&&(a[n]=JSON.stringify(e[n]));return a}function we(e,t,a=e){for(const n of t)e[n]!==void 0&&(a[n]=e[n]?1:0)}function ht(e){const t={};for(const a in e)e[a]!==void 0&&e[a]!==null&&(t[a]=e[a]);return t}function ye(e){const t={...e};return e.session_cookie&&typeof e.session_cookie=="string"&&(t.session_cookie=JSON.parse(e.session_cookie)),e.enabled_locales&&typeof e.enabled_locales=="string"&&(t.enabled_locales=JSON.parse(e.enabled_locales)),e.error_page&&typeof e.error_page=="string"&&(t.error_page=JSON.parse(e.error_page)),e.flags&&typeof e.flags=="string"&&(t.flags=JSON.parse(e.flags)),e.sandbox_versions_available&&typeof e.sandbox_versions_available=="string"&&(t.sandbox_versions_available=JSON.parse(e.sandbox_versions_available)),e.change_password&&typeof e.change_password=="string"&&(t.change_password=JSON.parse(e.change_password)),e.guardian_mfa_page&&typeof e.guardian_mfa_page=="string"&&(t.guardian_mfa_page=JSON.parse(e.guardian_mfa_page)),e.sessions&&typeof e.sessions=="string"&&(t.sessions=JSON.parse(e.sessions)),e.oidc_logout&&typeof e.oidc_logout=="string"&&(t.oidc_logout=JSON.parse(e.oidc_logout)),e.device_flow&&typeof e.device_flow=="string"&&(t.device_flow=JSON.parse(e.device_flow)),e.default_token_quota&&typeof e.default_token_quota=="string"&&(t.default_token_quota=JSON.parse(e.default_token_quota)),e.allowed_logout_urls&&typeof e.allowed_logout_urls=="string"&&(t.allowed_logout_urls=JSON.parse(e.allowed_logout_urls)),e.acr_values_supported&&typeof e.acr_values_supported=="string"&&(t.acr_values_supported=JSON.parse(e.acr_values_supported)),e.mtls&&typeof e.mtls=="string"&&(t.mtls=JSON.parse(e.mtls)),e.mfa&&typeof e.mfa=="string"&&(t.mfa=JSON.parse(e.mfa)),e.allow_organization_name_in_authentication_api!==void 0&&(t.allow_organization_name_in_authentication_api=e.allow_organization_name_in_authentication_api===1),e.customize_mfa_in_postlogin_action!==void 0&&(t.customize_mfa_in_postlogin_action=e.customize_mfa_in_postlogin_action===1),e.pushed_authorization_requests_supported!==void 0&&(t.pushed_authorization_requests_supported=e.pushed_authorization_requests_supported===1),e.authorization_response_iss_parameter_supported!==void 0&&(t.authorization_response_iss_parameter_supported=e.authorization_response_iss_parameter_supported===1),y(t)}function ve(e){const t={...e};return U(e,["session_cookie","enabled_locales","error_page","flags","sandbox_versions_available","change_password","guardian_mfa_page","sessions","oidc_logout","device_flow","default_token_quota","allowed_logout_urls","acr_values_supported","mtls","mfa"],t),e.allow_organization_name_in_authentication_api!==void 0&&(t.allow_organization_name_in_authentication_api=e.allow_organization_name_in_authentication_api?1:0),e.customize_mfa_in_postlogin_action!==void 0&&(t.customize_mfa_in_postlogin_action=e.customize_mfa_in_postlogin_action?1:0),e.pushed_authorization_requests_supported!==void 0&&(t.pushed_authorization_requests_supported=e.pushed_authorization_requests_supported?1:0),e.authorization_response_iss_parameter_supported!==void 0&&(t.authorization_response_iss_parameter_supported=e.authorization_response_iss_parameter_supported?1:0),ht(t)}function pt(e){return async t=>{var o,r;const a={id:t.id||I.nanoid(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...t},n=ve(a);try{await e.insertInto("tenants").values(n).execute()}catch(s){throw(o=s==null?void 0:s.message)!=null&&o.includes("UNIQUE constraint failed")||(r=s==null?void 0:s.message)!=null&&r.includes("duplicate key")||(s==null?void 0:s.code)==="SQLITE_CONSTRAINT"||(s==null?void 0:s.code)==="ER_DUP_ENTRY"||(s==null?void 0:s.code)==="23505"?new L(409,{message:`Tenant with ID '${a.id}' already exists`}):s}return a}}function ft(e){return async t=>{const a=await e.selectFrom("tenants").where("tenants.id","=",t).selectAll().executeTakeFirst();return a?ye(a):null}}function gt(e){return async t=>{let a=e.selectFrom("tenants");const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=t||{};if(s&&s.sort_by){const{ref:_}=e.dynamic;a=a.orderBy(_(s.sort_by),s.sort_order)}i&&(a=E(e,a,i,["friendly_name"]));const u=(await a.offset(n*o).limit(o).selectAll().execute()).map(ye);if(!r)return{tenants:u};const{count:c}=await a.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow(),m=P(c);return{tenants:u,start:n*o,limit:o,length:m}}}function wt(e){return async(t,a)=>{const o={...ve(a),id:t,updated_at:new Date().toISOString()};await e.updateTable("tenants").set(o).where("id","=",t).execute()}}function yt(e){return async t=>(await e.deleteFrom("tenants").where("tenants.id","=",t).execute()).length===1}function vt(e){return{create:pt(e),get:ft(e),list:gt(e),update:wt(e),remove:yt(e)}}function oe(e){return e?JSON.stringify(e):void 0}const Ct=256;function xt(e){return async(t,a)=>{var i,d,l;const n=(i=a.user_agent)==null?void 0:i.slice(0,Ct),o=a.log_id||I.nanoid(),{location_info:r,...s}=a;return await e.insertInto("logs").values({...s,log_id:o,tenant_id:t,user_agent:n,description:(d=a.description)==null?void 0:d.substring(0,256),isMobile:a.isMobile?1:0,scope:a.scope,auth0_client:oe(a.auth0_client),details:(l=oe(a.details))==null?void 0:l.substring(0,8192),country_code:r==null?void 0:r.country_code,city_name:r==null?void 0:r.city_name,latitude:r==null?void 0:r.latitude,longitude:r==null?void 0:r.longitude,time_zone:r==null?void 0:r.time_zone,continent_code:r==null?void 0:r.continent_code}).execute(),{...a,log_id:o,user_agent:n}}}function re(e){if(!e)return"";try{return JSON.parse(e)}catch{return e}}function Ce(e){return{...e,client_id:e.client_id,client_name:"",auth0_client:re(e.auth0_client),details:re(e.details),isMobile:!!e.isMobile,scope:e.scope||void 0,log_id:e.log_id,location_info:e.country_code?{country_code:e.country_code,city_name:e.city_name||"",latitude:e.latitude||"",longitude:e.longitude||"",time_zone:e.time_zone||"",continent_code:e.continent_code||""}:void 0}}function Tt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("logs").where("logs.tenant_id","=",t);i&&(d=E(e,d,i,["user_id","ip"]));let l=d;if(s&&s.sort_by){const{ref:_}=e.dynamic;l=l.orderBy(_(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(Ce);if(!r)return{logs:c,start:0,limit:0,length:0};const{count:m}=await d.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow();return{logs:c,start:n*o,limit:o,length:P(m)}}}function Nt(e){return async(t,a)=>{const n=await e.selectFrom("logs").where("logs.tenant_id","=",t).where("logs.log_id","=",a).selectAll().executeTakeFirst();return n?Ce(n):null}}function bt(e){return{create:xt(e),list:Tt(e),get:Nt(e)}}function St(e){return async(t,a)=>{const n=await e.selectFrom("sessions").where("sessions.tenant_id","=",t).where("sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,device:r,clients:s,created_at_ts:i,updated_at_ts:d,expires_at_ts:l,idle_expires_at_ts:u,authenticated_at_ts:c,last_interaction_at_ts:m,used_at_ts:_,revoked_at_ts:p,...f}=n,g=A({created_at_ts:i,updated_at_ts:d,expires_at_ts:l,idle_expires_at_ts:u,authenticated_at_ts:c,last_interaction_at_ts:m,used_at_ts:_,revoked_at_ts:p},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...f,...g,device:JSON.parse(r),clients:JSON.parse(s)}}}function Ot(e){return async(t,a)=>{const n=Date.now(),o=Z(),r={...a,created_at:o,updated_at:o,authenticated_at:o,last_interaction_at:o},{expires_at:s,idle_expires_at:i,used_at:d,revoked_at:l,device:u,clients:c,...m}=a;return await e.insertInto("sessions").values({...m,tenant_id:t,created_at_ts:n,updated_at_ts:n,authenticated_at_ts:n,last_interaction_at_ts:n,expires_at_ts:C(s),idle_expires_at_ts:C(i),used_at_ts:C(d),revoked_at_ts:C(l),device:JSON.stringify(u),clients:JSON.stringify(c)}).execute(),r}}function kt(e){return async(t,a)=>!!(await e.deleteFrom("sessions").where("tenant_id","=",t).where("sessions.id","=",a).execute()).length}function $t(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now(),device:n.device?JSON.stringify(n.device):void 0,clients:n.clients?JSON.stringify(n.clients):void 0};return n.expires_at!==void 0&&(o.expires_at_ts=C(n.expires_at)),n.idle_expires_at!==void 0&&(o.idle_expires_at_ts=C(n.idle_expires_at)),n.authenticated_at!==void 0&&(o.authenticated_at_ts=C(n.authenticated_at)),n.last_interaction_at!==void 0&&(o.last_interaction_at_ts=C(n.last_interaction_at)),n.used_at!==void 0&&(o.used_at_ts=C(n.used_at)),n.revoked_at!==void 0&&(o.revoked_at_ts=C(n.revoked_at)),n.user_id!==void 0&&(o.user_id=n.user_id),n.login_session_id!==void 0&&(o.login_session_id=n.login_session_id),!!(await e.updateTable("sessions").set(o).where("tenant_id","=",t).where("sessions.id","=",a).execute()).length}}function Et(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("sessions").where("sessions.tenant_id","=",t);i&&(d=E(e,d,i,["user_id","session_id"]));let l=d;if(s&&s.sort_by){const{ref:p}=e.dynamic;l=l.orderBy(p(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(p=>{const{tenant_id:f,device:g,clients:v,created_at_ts:S,updated_at_ts:N,expires_at_ts:T,idle_expires_at_ts:D,authenticated_at_ts:x,last_interaction_at_ts:j,used_at_ts:ne,revoked_at_ts:De,...Ae}=p,Fe=A({created_at_ts:S,updated_at_ts:N,expires_at_ts:T,idle_expires_at_ts:D,authenticated_at_ts:x,last_interaction_at_ts:j,used_at_ts:ne,revoked_at_ts:De},["created_at_ts","updated_at_ts","authenticated_at_ts","last_interaction_at_ts"],["expires_at_ts","idle_expires_at_ts","used_at_ts","revoked_at_ts"]);return{...Ae,...Fe,device:JSON.parse(g),clients:JSON.parse(v)}});if(!r)return{sessions:c,start:0,limit:0,length:0};const{count:m}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),_=P(m);return{sessions:c,start:n*o,limit:o,length:_}}}function Pt(e){return{create:Ot(e),get:St(e),list:Et(e),remove:kt(e),update:$t(e)}}function It(e){return async(t,a)=>{const n=await e.selectFrom("passwords").where("passwords.tenant_id","=",t).where("passwords.user_id","=",a).where("passwords.is_current","=",1).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,...r}=n;return{...r,is_current:!!r.is_current}}}function zt(e){return async(t,a)=>{const n=a.id||I.nanoid(),o=a.is_current??!0,r={id:n,...a,is_current:o,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return o&&await e.updateTable("passwords").set({is_current:0}).where("user_id","=",a.user_id).where("tenant_id","=",t).where("is_current","=",1).execute(),await e.insertInto("passwords").values({...r,is_current:r.is_current?1:0,tenant_id:t}).execute(),r}}function Dt(e){return async(t,a)=>{let n=e.updateTable("passwords").set({password:a.password,algorithm:a.algorithm,is_current:a.is_current?1:0,updated_at:new Date().toISOString()}).where("tenant_id","=",t).where("user_id","=",a.user_id);return a.id?n=n.where("id","=",a.id):n=n.where("is_current","=",1),(await n.execute()).length===1}}function At(e){return async(t,a,n)=>{let o=e.selectFrom("passwords").where("passwords.tenant_id","=",t).where("passwords.user_id","=",a).orderBy("created_at","desc");return n&&(o=o.limit(n)),(await o.selectAll().execute()).map(({tenant_id:s,...i})=>({...i,is_current:!!i.is_current}))}}function Ft(e){return{create:zt(e),update:Dt(e),get:It(e),list:At(e)}}function jt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("codes").where("codes.tenant_id","=",t);s&&(i=E(e,i,s,["code","login_id"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{tenant_id:_,...p}=m;return b.codeSchema.parse(y(p))});if(!r)return{codes:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{codes:u,start:n*o,limit:o,length:P(c)}}}function Rt(e){return async(t,a)=>{const n={...a,created_at:new Date().toISOString()};return await e.insertInto("codes").values({...n,tenant_id:t}).execute(),n}}function Mt(e){return async(t,a)=>(await e.deleteFrom("codes").where("codes.tenant_id","=",t).where("codes.code_id","=",a).executeTakeFirst()).numDeletedRows>0}function qt(e){return async(t,a,n)=>{let o=e.selectFrom("codes").where("codes.code_id","=",a).where("codes.code_type","=",n);t.length&&(o=o.where("codes.tenant_id","=",t));const r=await o.selectAll().executeTakeFirst();return r?y(r):null}}function Jt(e){return async(t,a)=>(await e.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",t).where("codes.code_id","=",a).executeTakeFirst()).numUpdatedRows>0}function Lt(e){return async(t,a)=>(await e.updateTable("codes").set({used_at:new Date().toISOString()}).where("codes.tenant_id","=",t).where("codes.code_id","=",a).where("codes.used_at","is",null).executeTakeFirst()).numUpdatedRows>0}function Kt(e){return{create:Rt(e),list:jt(e),remove:Mt(e),used:Jt(e),consume:Lt(e),get:qt(e)}}function Bt(e){return async(t,a)=>{const{is_system:n,...o}=a,r={id:o.id||Le(),...o,is_system:n?!0:void 0,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};return await e.insertInto("connections").values({...r,is_system:n?1:0,options:JSON.stringify(r.options||{}),tenant_id:t}).execute(),r}}function ee(e){const{is_system:t,...a}=e;return y({...a,is_system:t?!0:void 0,options:JSON.parse(e.options)})}function Ut(e){return e.map(ee)}function Qt(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("connections").where("connections.tenant_id","=",t);s&&(i=E(e,i,s,["user_id","ip"]));const l=await i.offset(n*o).limit(o).selectAll().execute(),u=Ut(l);if(!r)return{connections:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{connections:u,start:n*o,limit:o,length:P(c)}}}function Yt(e){return async(t,a)=>(await e.deleteFrom("connections").where("connections.tenant_id","=",t).where("connections.id","=",a).executeTakeFirst()).numDeletedRows>0}function Ht(e){return async(t,a)=>{const n=await e.selectFrom("connections").where("connections.tenant_id","=",t).where("connections.id","=",a).selectAll().executeTakeFirst();return n?ee(n):null}}function Wt(e){return async(t,a,n)=>{const{is_system:o,...r}=n,s={...r,is_system:o!==void 0?o?1:0:void 0,updated_at:new Date().toISOString()};return await e.updateTable("connections").set({...s,options:s.options?JSON.stringify(s.options):void 0}).where("connections.id","=",a).where("connections.tenant_id","=",t).execute(),!0}}function Gt(e){return{create:Bt(e),get:Ht(e),list:Qt(e),remove:Yt(e),update:Wt(e)}}function Xt(e){return async(t,a)=>{const n={created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a,global:a.global??!1,is_first_party:a.is_first_party??!1,oidc_conformant:a.oidc_conformant??!0,auth0_conformant:a.auth0_conformant??!0,sso:a.sso??!1,sso_disabled:a.sso_disabled??!1,cross_origin_authentication:a.cross_origin_authentication??!1,custom_login_page_on:a.custom_login_page_on??!1,require_pushed_authorization_requests:a.require_pushed_authorization_requests??!1,require_proof_of_possession:a.require_proof_of_possession??!1},o={...n,tenant_id:t};return we(n,["global","is_first_party","oidc_conformant","auth0_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],o),Object.assign(o,{callbacks:JSON.stringify(a.callbacks||[]),allowed_origins:JSON.stringify(a.allowed_origins||[]),web_origins:JSON.stringify(a.web_origins||[]),client_aliases:JSON.stringify(a.client_aliases||[]),allowed_clients:JSON.stringify(a.allowed_clients||[]),connections:JSON.stringify(a.connections||[]),allowed_logout_urls:JSON.stringify(a.allowed_logout_urls||[]),session_transfer:JSON.stringify(a.session_transfer||{}),oidc_logout:JSON.stringify(a.oidc_logout||{}),grant_types:JSON.stringify(a.grant_types||[]),jwt_configuration:JSON.stringify(a.jwt_configuration||{}),signing_keys:JSON.stringify(a.signing_keys||[]),encryption_key:JSON.stringify(a.encryption_key||{}),addons:JSON.stringify(a.addons||{}),client_metadata:JSON.stringify(a.client_metadata||{}),mobile:JSON.stringify(a.mobile||{}),native_social_login:JSON.stringify(a.native_social_login||{}),refresh_token:JSON.stringify(a.refresh_token||{}),default_organization:JSON.stringify(a.default_organization||{}),client_authentication_methods:JSON.stringify(a.client_authentication_methods||{}),signed_request_object:JSON.stringify(a.signed_request_object||{}),token_quota:JSON.stringify(a.token_quota||{}),owner_user_id:a.owner_user_id??null,registration_type:a.registration_type??null,registration_metadata:a.registration_metadata?JSON.stringify(a.registration_metadata):null}),await e.insertInto("clients").values(o).execute(),n}}function Vt(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,...r}=n;return y({...r,global:!!n.global,is_first_party:!!n.is_first_party,oidc_conformant:!!n.oidc_conformant,auth0_conformant:!!n.auth0_conformant,sso:!!n.sso,sso_disabled:!!n.sso_disabled,cross_origin_authentication:!!n.cross_origin_authentication,custom_login_page_on:!!n.custom_login_page_on,require_pushed_authorization_requests:!!n.require_pushed_authorization_requests,require_proof_of_possession:!!n.require_proof_of_possession,callbacks:JSON.parse(n.callbacks),allowed_origins:JSON.parse(n.allowed_origins),web_origins:JSON.parse(n.web_origins),client_aliases:JSON.parse(n.client_aliases),allowed_clients:JSON.parse(n.allowed_clients),connections:JSON.parse(n.connections||"[]"),allowed_logout_urls:JSON.parse(n.allowed_logout_urls),session_transfer:JSON.parse(n.session_transfer),oidc_logout:JSON.parse(n.oidc_logout),grant_types:JSON.parse(n.grant_types),jwt_configuration:JSON.parse(n.jwt_configuration),signing_keys:JSON.parse(n.signing_keys),encryption_key:JSON.parse(n.encryption_key),addons:JSON.parse(n.addons),client_metadata:JSON.parse(n.client_metadata),mobile:JSON.parse(n.mobile),native_social_login:JSON.parse(n.native_social_login),refresh_token:JSON.parse(n.refresh_token),default_organization:JSON.parse(n.default_organization),client_authentication_methods:JSON.parse(n.client_authentication_methods),signed_request_object:JSON.parse(n.signed_request_object),token_quota:JSON.parse(n.token_quota),registration_metadata:n.registration_metadata?JSON.parse(n.registration_metadata):void 0})}}function Zt(e){return async t=>{const a=await e.selectFrom("clients").where("clients.client_id","=",t).selectAll().executeTakeFirst();return a?y({...a,global:!!a.global,is_first_party:!!a.is_first_party,oidc_conformant:!!a.oidc_conformant,auth0_conformant:!!a.auth0_conformant,sso:!!a.sso,sso_disabled:!!a.sso_disabled,cross_origin_authentication:!!a.cross_origin_authentication,custom_login_page_on:!!a.custom_login_page_on,require_pushed_authorization_requests:!!a.require_pushed_authorization_requests,require_proof_of_possession:!!a.require_proof_of_possession,callbacks:JSON.parse(a.callbacks),allowed_origins:JSON.parse(a.allowed_origins),web_origins:JSON.parse(a.web_origins),client_aliases:JSON.parse(a.client_aliases),allowed_clients:JSON.parse(a.allowed_clients),connections:JSON.parse(a.connections||"[]"),allowed_logout_urls:JSON.parse(a.allowed_logout_urls),session_transfer:JSON.parse(a.session_transfer),oidc_logout:JSON.parse(a.oidc_logout),grant_types:JSON.parse(a.grant_types),jwt_configuration:JSON.parse(a.jwt_configuration),signing_keys:JSON.parse(a.signing_keys),encryption_key:JSON.parse(a.encryption_key),addons:JSON.parse(a.addons),client_metadata:JSON.parse(a.client_metadata),mobile:JSON.parse(a.mobile),native_social_login:JSON.parse(a.native_social_login),refresh_token:JSON.parse(a.refresh_token),default_organization:JSON.parse(a.default_organization),client_authentication_methods:JSON.parse(a.client_authentication_methods),signed_request_object:JSON.parse(a.signed_request_object),token_quota:JSON.parse(a.token_quota),registration_metadata:a.registration_metadata?JSON.parse(a.registration_metadata):void 0}):null}}function ea(e){return async(t,a)=>{let n=e.selectFrom("clients").where("clients.tenant_id","=",t);const o=new Set(["owner_user_id","registration_type"]);if(a!=null&&a.q){const m=a.q.trim().match(/^([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/);if(m&&o.has(m[1])&&m[2]){const _=m[1];n=n.where(_,"=",m[2])}else n=n.where(_=>_.or([_("name","like",`%${a.q}%`),_("client_id","like",`%${a.q}%`)]))}if(a!=null&&a.sort){const c=a.sort.sort_order==="asc"?"asc":"desc",m=a.sort.sort_by;["name","client_id","created_at","updated_at"].includes(m)?n=n.orderBy(m,c):n=n.orderBy("created_at","desc")}else n=n.orderBy("created_at","desc");if((a==null?void 0:a.from)!==void 0){const c=parseInt(a.from,10);isNaN(c)||(n=n.offset(c))}else if((a==null?void 0:a.page)!==void 0){const c=(a==null?void 0:a.per_page)||(a==null?void 0:a.take)||10,m=a.page*c;n=n.offset(m)}const r=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10;n=n.limit(r);const s=await n.selectAll().execute();let i=s.length;if(a!=null&&a.include_totals){let c=e.selectFrom("clients").select(h.sql`count(*)`.as("count")).where("clients.tenant_id","=",t);if(a!=null&&a.q){const p=a.q.trim().match(/^([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/);if(p&&o.has(p[1])&&p[2]){const f=p[1];c=c.where(f,"=",p[2])}else c=c.where(f=>f.or([f("name","like",`%${a.q}%`),f("client_id","like",`%${a.q}%`)]))}const m=await c.executeTakeFirst();i=Number((m==null?void 0:m.count)||0)}const d=s.map(c=>y({...c,global:!!c.global,is_first_party:!!c.is_first_party,oidc_conformant:!!c.oidc_conformant,auth0_conformant:!!c.auth0_conformant,sso:!!c.sso,sso_disabled:!!c.sso_disabled,cross_origin_authentication:!!c.cross_origin_authentication,custom_login_page_on:!!c.custom_login_page_on,require_pushed_authorization_requests:!!c.require_pushed_authorization_requests,require_proof_of_possession:!!c.require_proof_of_possession,callbacks:JSON.parse(c.callbacks),allowed_origins:JSON.parse(c.allowed_origins),web_origins:JSON.parse(c.web_origins),client_aliases:JSON.parse(c.client_aliases),allowed_clients:JSON.parse(c.allowed_clients),connections:JSON.parse(c.connections||"[]"),allowed_logout_urls:JSON.parse(c.allowed_logout_urls),session_transfer:JSON.parse(c.session_transfer),oidc_logout:JSON.parse(c.oidc_logout),grant_types:JSON.parse(c.grant_types),jwt_configuration:JSON.parse(c.jwt_configuration),signing_keys:JSON.parse(c.signing_keys),encryption_key:JSON.parse(c.encryption_key),addons:JSON.parse(c.addons),client_metadata:JSON.parse(c.client_metadata),mobile:JSON.parse(c.mobile),native_social_login:JSON.parse(c.native_social_login),refresh_token:JSON.parse(c.refresh_token),default_organization:JSON.parse(c.default_organization),client_authentication_methods:JSON.parse(c.client_authentication_methods),signed_request_object:JSON.parse(c.signed_request_object),token_quota:JSON.parse(c.token_quota),registration_metadata:c.registration_metadata?JSON.parse(c.registration_metadata):void 0})),l=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10,u=a!=null&&a.from?parseInt(a.from,10):a!=null&&a.page?a.page*l:0;return{clients:d,totals:{start:isNaN(u)?0:u,limit:l,length:d.length,total:i}}}}function ta(e){return async(t,a)=>(await e.deleteFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numDeletedRows>0}function aa(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};return we(n,["global","is_first_party","oidc_conformant","auth0_conformant","sso","sso_disabled","cross_origin_authentication","custom_login_page_on","require_pushed_authorization_requests","require_proof_of_possession"],o),U(n,["callbacks","allowed_origins","web_origins","client_aliases","allowed_clients","connections","allowed_logout_urls","session_transfer","oidc_logout","grant_types","jwt_configuration","signing_keys","encryption_key","addons","client_metadata","mobile","native_social_login","refresh_token","default_organization","client_authentication_methods","signed_request_object","token_quota","registration_metadata"],o),(await e.updateTable("clients").set(o).where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0}}function na(e){return{create:Xt(e),get:Vt(e),getByClientId:Zt(e),list:ea(e),remove:ta(e),update:aa(e)}}function oa(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",a).select("connections").executeTakeFirst();if(!n)return[];const o=JSON.parse(n.connections||"[]");if(o.length===0)return[];const r=await e.selectFrom("connections").where("connections.tenant_id","=",t).where("connections.id","in",o).selectAll().execute(),s=new Map(r.map(i=>[i.id,ee(i)]));return o.map(i=>s.get(i)).filter(i=>i!==void 0)}}function ra(e){return async(t,a,n)=>(await e.updateTable("clients").set({connections:JSON.stringify(n),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",a).executeTakeFirst()).numUpdatedRows>0}function sa(e){return async(t,a)=>{const n=await e.selectFrom("clients").where("clients.tenant_id","=",t).select(["client_id","connections"]).execute(),o=[];for(const r of n)JSON.parse(r.connections||"[]").includes(a)&&o.push(r.client_id);return o}}function ia(e){return async(t,a,n)=>{const o=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!o)return!1;const r=JSON.parse(o.connections||"[]");return r.includes(a)?!0:(r.push(a),(await e.updateTable("clients").set({connections:JSON.stringify(r),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0)}}function ca(e){return async(t,a,n)=>{const o=await e.selectFrom("clients").where("clients.tenant_id","=",t).where("clients.client_id","=",n).select("connections").executeTakeFirst();if(!o)return!1;const r=JSON.parse(o.connections||"[]"),s=r.filter(i=>i!==a);return s.length!==r.length?(await e.updateTable("clients").set({connections:JSON.stringify(s),updated_at:new Date().toISOString()}).where("clients.tenant_id","=",t).where("clients.client_id","=",n).executeTakeFirst()).numUpdatedRows>0:!0}}function la(e){return{listByClient:oa(e),updateByClient:ra(e),listByConnection:sa(e),addClientToConnection:ia(e),removeClientFromConnection:ca(e)}}function da(e){return async(t,a)=>{const n=new Date().toISOString(),o=I.nanoid(),{scope:r,authorization_details_types:s,...i}=a,d={id:o,tenant_id:t,...i,scope:r?JSON.stringify(r):"[]",authorization_details_types:s?JSON.stringify(s):"[]",allow_any_organization:i.allow_any_organization!==void 0?i.allow_any_organization?1:0:void 0,is_system:i.is_system!==void 0?i.is_system?1:0:void 0,created_at:n,updated_at:n};return await e.insertInto("client_grants").values(d).execute(),y({id:o,tenant_id:t,...i,scope:r||[],authorization_details_types:s||[],allow_any_organization:i.allow_any_organization??!1,is_system:i.is_system??!1,created_at:n,updated_at:n})}}function ua(e){return async(t,a)=>{const n=await e.selectFrom("client_grants").selectAll().where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst();if(!n)return null;const o={id:n.id,client_id:n.client_id,audience:n.audience,scope:n.scope?JSON.parse(n.scope):[],organization_usage:n.organization_usage,allow_any_organization:n.allow_any_organization!==void 0?!!n.allow_any_organization:!1,is_system:n.is_system!==void 0?!!n.is_system:!1,subject_type:n.subject_type,authorization_details_types:n.authorization_details_types?JSON.parse(n.authorization_details_types):[],created_at:n.created_at,updated_at:n.updated_at};return y(o)}}function _a(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s,sort:i}=a;let d=e.selectFrom("client_grants").where("client_grants.tenant_id","=",t);if(s){const _=s.trim(),p=_.split(/\s+/),f=p.length===1?p[0]:void 0,g=f?f.match(/^(-)?([a-zA-Z_][a-zA-Z0-9_]*):"?([^"]*)"?$/):null,v=g?g[3]:"",S=/^(>=|>|<=|<)/.test(v||"");if(g&&!S&&v){const N=!!g[1],T=g[2],{ref:D}=e.dynamic,x=D(`client_grants.${T}`);if(T==="allow_any_organization"){const j=v==="true"?1:0;N?d=d.where(x,"!=",j):d=d.where(x,"=",j)}else N?d=d.where(x,"!=",v):d=d.where(x,"=",v)}else d=E(e,d,_,[])}let l=d;if(i){const{ref:_}=e.dynamic;l=l.orderBy(_(i.sort_by),i.sort_order)}else l=l.orderBy("client_grants.created_at","desc");l=l.limit(o).offset(n*o);const c=(await l.selectAll().execute()).map(_=>{const p={id:_.id,client_id:_.client_id,audience:_.audience,scope:_.scope?JSON.parse(_.scope):[],organization_usage:_.organization_usage,allow_any_organization:_.allow_any_organization!==void 0?!!_.allow_any_organization:!1,is_system:_.is_system!==void 0?!!_.is_system:!1,subject_type:_.subject_type,authorization_details_types:_.authorization_details_types?JSON.parse(_.authorization_details_types):[],created_at:_.created_at,updated_at:_.updated_at};return y(p)});if(!r)return{client_grants:c,start:0,limit:0,length:0};const{count:m}=await d.select(_=>_.fn.countAll().as("count")).executeTakeFirstOrThrow();return{client_grants:c,start:n*o,limit:o,length:P(m)}}}function ma(e){return async(t,a)=>((await e.deleteFrom("client_grants").where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst()).numDeletedRows??0n)>0n}function ha(e){return async(t,a,n)=>{const o=new Date().toISOString(),{scope:r,authorization_details_types:s,...i}=n,d={...i,updated_at:o};return r!==void 0&&(d.scope=JSON.stringify(r)),s!==void 0&&(d.authorization_details_types=JSON.stringify(s)),i.allow_any_organization!==void 0&&(d.allow_any_organization=i.allow_any_organization?1:0),i.is_system!==void 0&&(d.is_system=i.is_system?1:0),((await e.updateTable("client_grants").set(d).where("client_grants.tenant_id","=",t).where("client_grants.id","=",a).executeTakeFirst()).numUpdatedRows??0n)>0n}}function pa(e){return{create:da(e),get:ua(e),list:_a(e),remove:ma(e),update:ha(e)}}function fa(e){return async(t,a)=>{const n=Date.now();return await e.insertInto("client_registration_tokens").values({id:a.id,tenant_id:t,token_hash:a.token_hash,type:a.type,client_id:a.client_id??null,sub:a.sub??null,constraints:a.constraints?JSON.stringify(a.constraints):null,single_use:a.single_use?1:0,expires_at_ts:C(a.expires_at),created_at_ts:n,used_at_ts:null,revoked_at_ts:null}).execute(),{id:a.id,token_hash:a.token_hash,type:a.type,client_id:a.client_id,sub:a.sub,constraints:a.constraints,single_use:a.single_use,expires_at:a.expires_at,created_at:new Date(n).toISOString()}}}function ga(e){const t=b.clientRegistrationTokenTypeSchema.safeParse(e);if(!t.success)throw new Error(`Unknown client_registration_tokens.type: ${e}`);return t.data}function wa(e){if(!e)return;let t;try{t=JSON.parse(e)}catch{return}return b.isPlainObject(t)?t:void 0}function te(e){return{id:e.id,token_hash:e.token_hash,type:ga(e.type),client_id:e.client_id??void 0,sub:e.sub??void 0,constraints:wa(e.constraints),single_use:!!e.single_use,expires_at:B(e.expires_at_ts),used_at:B(e.used_at_ts),revoked_at:B(e.revoked_at_ts),created_at:F(e.created_at_ts)}}function ya(e){return async(t,a)=>{const n=await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("id","=",a).selectAll().executeTakeFirst();return n?te(n):null}}function va(e){return async(t,a)=>{const n=await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("token_hash","=",a).selectAll().executeTakeFirst();return n?te(n):null}}function Ca(e){return async(t,a)=>(await e.selectFrom("client_registration_tokens").where("tenant_id","=",t).where("client_id","=",a).orderBy("created_at_ts","desc").selectAll().execute()).map(te)}function xa(e){return async(t,a,n)=>(await e.updateTable("client_registration_tokens").set({used_at_ts:C(n)}).where("tenant_id","=",t).where("id","=",a).where("used_at_ts","is",null).executeTakeFirst()).numUpdatedRows>0}function Ta(e){return async(t,a,n)=>(await e.updateTable("client_registration_tokens").set({revoked_at_ts:C(n)}).where("tenant_id","=",t).where("id","=",a).where("revoked_at_ts","is",null).executeTakeFirst()).numUpdatedRows>0}function Na(e){return async(t,a,n)=>{const o=await e.updateTable("client_registration_tokens").set({revoked_at_ts:C(n)}).where("tenant_id","=",t).where("client_id","=",a).where("revoked_at_ts","is",null).executeTakeFirst();return Number(o.numUpdatedRows)}}function ba(e){return async(t,a)=>(await e.deleteFrom("client_registration_tokens").where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numDeletedRows>0}function Sa(e){return{create:fa(e),get:ya(e),getByHash:va(e),listByClient:Ca(e),markUsed:xa(e),revoke:Ta(e),revokeByClient:Na(e),remove:ba(e)}}function Oa(e){return async(t={})=>{const{page:a=0,per_page:n=100,include_totals:o=!1,sort:r,q:s}=t;let i=e.selectFrom("keys").where(_=>_.or([_("revoked_at",">",new Date().toISOString()),_("revoked_at","is",null)]));s&&(i=E(e,i,s,["kid","connection","fingerprint","thumbprint","type"]));let d=i.select(_=>_.fn.count("kid").as("count"));const l=a*n;i=i.limit(n).offset(l),r&&(i=i.orderBy(r.sort_by,r.sort_order));const u=await i.selectAll().execute();if(!o)return{signingKeys:u,start:0,limit:0,length:0};const c=await d.executeTakeFirst(),m=P((c==null?void 0:c.count)??0);return{signingKeys:u,start:l,limit:n,length:m}}}function ka(e){return async t=>{await e.insertInto("keys").values({...t,created_at:new Date().toDateString()}).execute()}}function $a(e){return async(t,a)=>!!(await e.updateTable("keys").set(a).where("kid","=",t).execute()).length}function Ea(e){return{create:ka(e),list:Oa(e),update:$a(e)}}function Pa(e){return async(t,a)=>{const n={custom_domain_id:a.custom_domain_id||I.nanoid(),status:"pending",primary:!1,...a};return await e.insertInto("custom_domains").values({...n,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),tenant_id:t,primary:n.primary?1:0,domain_metadata:n.domain_metadata?JSON.stringify(n.domain_metadata):void 0}).execute(),n}}function Ia(e){return async t=>(await e.selectFrom("custom_domains").where("custom_domains.tenant_id","=",t).selectAll().execute()).map(n=>({...n,primary:n.primary===1,domain_metadata:R(n.domain_metadata,void 0)}))}function za(e){return async(t,a)=>(await e.deleteFrom("custom_domains").where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).execute()).length>0}function Da(e){return async(t,a)=>{const n=await e.selectFrom("custom_domains").where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).selectAll().executeTakeFirst();return n?{...n,primary:n.primary===1,domain_metadata:R(n.domain_metadata,void 0),verification:R(n.verification,void 0)}:null}}function Aa(e){return async(t,a,n)=>{const{verification:o,domain_metadata:r,primary:s,...i}=n,d={...i,updated_at:new Date().toISOString(),...s!==void 0&&{primary:s?1:0},...r!==void 0&&{domain_metadata:JSON.stringify(r)},...o!==void 0&&{verification:JSON.stringify(o)}};return(await e.updateTable("custom_domains").set(d).where("custom_domains.tenant_id","=",t).where("custom_domains.custom_domain_id","=",a).execute()).length>0}}function Fa(e){return async t=>{const a=await e.selectFrom("custom_domains").where("custom_domains.domain","=",t).selectAll().executeTakeFirst();return a?{...a,primary:a.primary===1,domain_metadata:R(a.domain_metadata,void 0)}:null}}function ja(e){return{create:Pa(e),get:Da(e),getByDomain:Fa(e),list:Ia(e),remove:za(e),update:Aa(e)}}function Ra(e){return async t=>{const[a]=await e.selectFrom("branding").where("branding.tenant_id","=",t).selectAll().execute();if(!a)return null;const{tenant_id:n,colors_primary:o,colors_page_background_type:r,colors_page_background_start:s,colors_page_background_end:i,colors_page_background_angle_dev:d,font_url:l,...u}=a;return y({...u,colors:{primary:o,page_background:{type:r,start:s,end:i,angle_deg:d}},font:l?{url:l}:void 0})}}function Ma(e){return async(t,a)=>{var s,i,d,l,u,c,m,_,p,f,g,v,S,N,T,D,x,j;const{colors:n,font:o,...r}=a;try{await e.insertInto("branding").values({...r,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(i=(s=a.colors)==null?void 0:s.page_background)==null?void 0:i.type,colors_page_background_start:(l=(d=a.colors)==null?void 0:d.page_background)==null?void 0:l.start,colors_page_background_end:(c=(u=a.colors)==null?void 0:u.page_background)==null?void 0:c.end,colors_page_background_angle_dev:(_=(m=a.colors)==null?void 0:m.page_background)==null?void 0:_.angle_deg,font_url:(p=a.font)==null?void 0:p.url,tenant_id:t}).execute()}catch{await e.updateTable("branding").set({...r,colors_primary:n==null?void 0:n.primary,colors_page_background_type:(g=(f=a.colors)==null?void 0:f.page_background)==null?void 0:g.type,colors_page_background_start:(S=(v=a.colors)==null?void 0:v.page_background)==null?void 0:S.start,colors_page_background_end:(T=(N=a.colors)==null?void 0:N.page_background)==null?void 0:T.end,colors_page_background_angle_dev:(x=(D=a.colors)==null?void 0:D.page_background)==null?void 0:x.angle_deg,font_url:(j=a.font)==null?void 0:j.url}).where("tenant_id","=",t).execute()}}}function qa(e){return{get:Ra(e),set:Ma(e)}}function Ja(e){return async t=>{const a=await e.selectFrom("universal_login_templates").select(["body"]).where("tenant_id","=",t).executeTakeFirst();return a?{body:a.body}:null}}function La(e){return async(t,a)=>{const n=Date.now();try{await e.insertInto("universal_login_templates").values({tenant_id:t,body:a.body,created_at_ts:n,updated_at_ts:n}).execute()}catch{await e.updateTable("universal_login_templates").set({body:a.body,updated_at_ts:n}).where("tenant_id","=",t).execute()}}}function Ka(e){return async t=>{await e.deleteFrom("universal_login_templates").where("tenant_id","=",t).execute()}}function Ba(e){return{get:Ja(e),set:La(e),delete:Ka(e)}}function Ua(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("hooks").where("hooks.tenant_id","=",t);s&&(i=E(e,i,s,["url","form_id","template_id","code_id"]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const{tenant_id:_,enabled:p,synchronous:f,created_at_ts:g,updated_at_ts:v,metadata:S,...N}=m,T=A({created_at_ts:g,updated_at_ts:v},["created_at_ts","updated_at_ts"]);return y({...N,...T,enabled:!!p,synchronous:!!f,metadata:fe(S)})});if(!r)return{hooks:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{hooks:u,start:n*o,limit:o,length:P(c)}}}function Qa(e){return async(t,a)=>{const n=await e.selectFrom("hooks").where("hooks.tenant_id","=",t).where("hooks.hook_id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,created_at_ts:r,updated_at_ts:s,metadata:i,...d}=n,l=A({created_at_ts:r,updated_at_ts:s},["created_at_ts","updated_at_ts"]);return y({...d,...l,enabled:!!d.enabled,synchronous:!!d.synchronous,metadata:fe(i)})}}function Ya(e){return async(t,a)=>(await e.deleteFrom("hooks").where("hooks.tenant_id","=",t).where("hooks.hook_id","=",a).executeTakeFirst()).numDeletedRows>0}function Ha(e){return async(t,a)=>{const n=Date.now(),o=a.hook_id||Be(),{hook_id:r,enabled:s,synchronous:i,metadata:d,...l}=a;return await e.insertInto("hooks").values({...l,hook_id:o,tenant_id:t,enabled:s?1:0,synchronous:i?1:0,metadata:d?JSON.stringify(d):null,created_at_ts:n,updated_at_ts:n}).execute(),{...l,hook_id:o,enabled:s??!1,synchronous:i??!1,...d?{metadata:d}:{},created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function Wa(e){return async(t,a,n)=>{const{hook_id:o,metadata:r,...s}=n,i={...s,updated_at_ts:Date.now(),enabled:n.enabled!==void 0?n.enabled?1:0:void 0,synchronous:n.synchronous!==void 0?n.synchronous?1:0:void 0,...r!==void 0?{metadata:r===null?null:JSON.stringify(r)}:{}};return await e.updateTable("hooks").set(i).where("hooks.hook_id","=",a).where("hooks.tenant_id","=",t).execute(),!0}}function Ga(e){return{create:Ha(e),get:Qa(e),list:Ua(e),update:Wa(e),remove:Ya(e)}}function Xa(e){return async(t,a)=>{const n=Date.now(),o=Qe();return await e.insertInto("hook_code").values({id:o,tenant_id:t,code:a.code,secrets:a.secrets?JSON.stringify(a.secrets):null,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,tenant_id:t,code:a.code,secrets:a.secrets,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function Va(e){return async(t,a)=>{const n=await e.selectFrom("hook_code").where("hook_code.tenant_id","=",t).where("hook_code.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,secrets:s,...i}=n,d=A({created_at_ts:o,updated_at_ts:r},["created_at_ts","updated_at_ts"]);return{...i,...d,secrets:s?(()=>{try{return JSON.parse(s)}catch{console.warn(`Failed to parse secrets for hook_code ${a}`);return}})():void 0}}}function Za(e){return async(t,a,n)=>{const o={updated_at_ts:Date.now()};return n.code!==void 0&&(o.code=n.code),n.secrets!==void 0&&(o.secrets=JSON.stringify(n.secrets)),(await e.updateTable("hook_code").set(o).where("hook_code.id","=",a).where("hook_code.tenant_id","=",t).executeTakeFirst()).numUpdatedRows>0}}function en(e){return async(t,a)=>(await e.deleteFrom("hook_code").where("hook_code.tenant_id","=",t).where("hook_code.id","=",a).executeTakeFirst()).numDeletedRows>0}function tn(e){return{create:Xa(e),get:Va(e),update:Za(e),remove:en(e)}}function an(e){return async(t,a,n)=>{const o={themeId:n||I.nanoid(),created_at:new Date().toISOString(),updated_at:new Date().toISOString(),...a},r={...o,tenant_id:t};return await e.insertInto("themes").values(K(r)).execute(),o}}function nn(e){return async(t,a)=>(await e.deleteFrom("themes").where("themes.tenant_id","=",t).where("themes.themeId","=",a).executeTakeFirst()).numDeletedRows>0}function on(e){return async(t,a)=>{const n=await e.selectFrom("themes").where("themes.tenant_id","=",t).where("themes.themeId","=",a).selectAll().executeTakeFirst();if(!n)return null;const o={...n,borders_show_widget_shadow:!!n.borders_show_widget_shadow,fonts_body_text_bold:!!n.fonts_body_text_bold,fonts_buttons_text_bold:!!n.fonts_buttons_text_bold,fonts_input_labels_bold:!!n.fonts_input_labels_bold,fonts_links_bold:!!n.fonts_links_bold,fonts_subtitle_bold:!!n.fonts_subtitle_bold,fonts_title_bold:!!n.fonts_title_bold};return y(pe(o,["widget","colors","borders","fonts","page_background"]))}}function rn(e){return async(t,a,n)=>{const{themeId:o,...r}=n,s=K({...r,updated_at:new Date().toISOString()});return await e.updateTable("themes").set(s).where("themes.themeId","=",a).where("themes.tenant_id","=",t).execute(),!0}}function sn(e){return{create:an(e),get:on(e),remove:nn(e),update:rn(e)}}function cn(e){return async(t,a)=>{const n=await e.selectFrom("login_sessions").where("login_sessions.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{created_at_ts:o,updated_at_ts:r,expires_at_ts:s,auth_params:i,...d}=n,l=A({created_at_ts:o,updated_at_ts:r,expires_at_ts:s},["created_at_ts","updated_at_ts","expires_at_ts"]),u=pe(y({...d,...l,state:n.state||b.LoginSessionState.PENDING,state_data:n.state_data,failure_reason:n.failure_reason}),["auth_strategy"]);return u.authParams=typeof i=="string"&&i.length>0?JSON.parse(i):{},b.loginSessionSchema.parse(u)}}const ae="0123456789ABCDEFGHJKMNPQRSTVWXYZ",V=ae.length,ln=10,se=16;function dn(e){let t="";for(let a=ln;a>0;a--)t=ae.charAt(e%V)+t,e=Math.floor(e/V);return t}function un(){const e=new Uint8Array(se);crypto.getRandomValues(e);let t="";for(let a=0;a<se;a++)t+=ae.charAt(e[a]%V);return t}function xe(){return dn(Date.now())+un()}function _n(e){return async(t,a)=>{var l;const n=Z(),o={id:xe(),...a,authorization_url:(l=a.authorization_url)==null?void 0:l.slice(0,1024),created_at:n,updated_at:n,state:a.state||b.LoginSessionState.PENDING,state_data:a.state_data,failure_reason:a.failure_reason},{authParams:r,...s}=o,i=Date.now(),d=K(s);return delete d.created_at,delete d.updated_at,delete d.expires_at,await e.insertInto("login_sessions").values({...d,tenant_id:t,auth_params:JSON.stringify(r),created_at_ts:i,updated_at_ts:i,expires_at_ts:a.expires_at?new Date(a.expires_at).getTime():i+1e3*60*60*24}).execute(),o}}function mn(e){return async(t,a,n)=>{const{created_at:o,updated_at:r,expires_at:s,authParams:i,...d}=n;let l={};if(i!==void 0){const m=await e.selectFrom("login_sessions").where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",t).select(["auth_params"]).executeTakeFirst(),_=m==null?void 0:m.auth_params,p=typeof _=="string"&&_.length>0?JSON.parse(_):{};l={auth_params:JSON.stringify({...p,...i})}}const u=K(d);return delete u.created_at_ts,delete u.updated_at_ts,delete u.expires_at_ts,delete u.id,delete u.tenant_id,(await e.updateTable("login_sessions").set({...u,...l,updated_at_ts:Date.now(),...s!==void 0?{expires_at_ts:C(s)}:{}}).where("login_sessions.id","=",a).where("login_sessions.tenant_id","=",t).execute()).length===1}}function hn(e){return async(t,a)=>(await e.deleteFrom("login_sessions").where("login_sessions.tenant_id","=",t).where("login_sessions.id","=",a).execute()).length>0}function pn(e){return{create:_n(e),get:cn(e),update:mn(e),remove:hn(e)}}function fn(e){return async t=>{const[a]=await e.selectFrom("prompt_settings").where("prompt_settings.tenant_id","=",t).selectAll().execute();return y({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 ie(e){return y({...e,webauthn_platform_first_factor:e.webauthn_platform_first_factor?!!e.webauthn_platform_first_factor:void 0,identifier_first:e.identifier_first?!!e.identifier_first:void 0,password_first:e.password_first?!!e.password_first:void 0,universal_login_experience:e.universal_login_experience})}function gn(e){return async(t,a)=>{try{const n=b.promptSettingSchema.parse(a);await e.insertInto("prompt_settings").values({...ie(n),tenant_id:t}).execute()}catch{await e.updateTable("prompt_settings").set(ie(a)).where("tenant_id","=",t).execute()}}}function wn(e){return{get:fn(e),set:gn(e)}}function yn(e){return async t=>{const[a]=await e.selectFrom("email_providers").where("email_providers.tenant_id","=",t).selectAll().execute();if(!a)return null;const{tenant_id:n,credentials:o,settings:r,enabled:s,...i}=a;return y({...i,credentials:JSON.parse(o),settings:JSON.parse(r),enabled:!!s})}}function vn(e){return async(t,a)=>{const{credentials:n,settings:o,enabled:r,...s}=a;await e.updateTable("email_providers").set({...s,credentials:n?JSON.stringify(n):void 0,settings:o?JSON.stringify(o):void 0,enabled:r!==void 0?r?1:0:void 0}).where("tenant_id","=",t).execute()}}function Cn(e){return async(t,a)=>{const{credentials:n,settings:o,enabled:r,...s}=a;await e.insertInto("email_providers").values({...s,enabled:r?1:0,credentials:JSON.stringify(n),settings:JSON.stringify(o),tenant_id:t,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}).execute()}}function xn(e){return async t=>{await e.deleteFrom("email_providers").where("tenant_id","=",t).execute()}}function Tn(e){return{get:yn(e),create:Cn(e),update:vn(e),remove:xn(e)}}function Nn(e){return async(t,a)=>{const n=await e.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",t).where("refresh_tokens.id","=",a).selectAll().executeTakeFirst();if(!n)return null;const{tenant_id:o,created_at_ts:r,expires_at_ts:s,idle_expires_at_ts:i,last_exchanged_at_ts:d,revoked_at_ts:l,...u}=n,c=A({created_at_ts:r,expires_at_ts:s,idle_expires_at_ts:i,last_exchanged_at_ts:d,revoked_at_ts:l},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts","revoked_at_ts"]);return{...u,...c,rotating:!!n.rotating,device:n.device?JSON.parse(n.device):{},resource_servers:n.resource_servers?JSON.parse(n.resource_servers):[]}}}function bn(e){return async(t,a)=>{const n=Z(),o={...a,created_at:n},{expires_at:r,idle_expires_at:s,last_exchanged_at:i,device:d,resource_servers:l,rotating:u,...c}=a,m=Date.now(),_=C(r),p=s?C(s):null,f=Math.max(_??0,p??0);return await e.transaction().execute(async g=>{await g.insertInto("refresh_tokens").values({...c,tenant_id:t,rotating:u?1:0,device:JSON.stringify(d),resource_servers:JSON.stringify(l),created_at_ts:m,expires_at_ts:_,idle_expires_at_ts:p,last_exchanged_at_ts:i?C(i):null}).execute(),f>0&&a.login_id&&await g.updateTable("login_sessions").set({expires_at_ts:f,updated_at_ts:m}).where("tenant_id","=",t).where("id","=",a.login_id).where("expires_at_ts","<",f).execute()}),{...a,...o}}}function Sn(e){return async(t,a)=>!!(await e.deleteFrom("refresh_tokens").where("tenant_id","=",t).where("refresh_tokens.id","=",a).execute()).length}function On(e){return async(t,a,n)=>{const o=C(n),r=await e.updateTable("refresh_tokens").set({revoked_at_ts:o}).where("tenant_id","=",t).where("login_id","=",a).where("revoked_at_ts","is",null).executeTakeFirst();return Number(r.numUpdatedRows??0)}}function kn(e){return async(t,a,n,o)=>{const{created_at:r,expires_at:s,idle_expires_at:i,last_exchanged_at:d,revoked_at:l,device:u,resource_servers:c,rotating:m,..._}=n,p={..._,device:u?JSON.stringify(u):void 0,resource_servers:c?JSON.stringify(c):void 0,rotating:m!==void 0?m?1:0:void 0,expires_at_ts:s!==void 0?C(s):void 0,idle_expires_at_ts:i!==void 0?C(i):void 0,last_exchanged_at_ts:d!==void 0?C(d):void 0,revoked_at_ts:l!==void 0?C(l):void 0},f=o==null?void 0:o.loginSessionBump,g=f?C(f.expires_at):null,v=await e.updateTable("refresh_tokens").set(p).where("tenant_id","=",t).where("refresh_tokens.id","=",a).executeTakeFirst();return f!=null&&f.login_id&&g&&g>0&&await e.updateTable("login_sessions").set({expires_at_ts:g,updated_at_ts:Date.now()}).where("tenant_id","=",t).where("id","=",f.login_id).where("expires_at_ts","<",g).execute().catch(()=>{}),((v==null?void 0:v.numUpdatedRows)??0n)>0n}}function $n(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,sort:s,q:i}=a;let d=e.selectFrom("refresh_tokens").where("refresh_tokens.tenant_id","=",t);i&&(d=E(e,d,i,["token","login_id"]));let l=d;if(s&&s.sort_by){const{ref:p}=e.dynamic;l=l.orderBy(p(s.sort_by),s.sort_order)}l=l.offset(n*o).limit(o);const c=(await l.selectAll().execute()).map(p=>{const{tenant_id:f,created_at_ts:g,expires_at_ts:v,idle_expires_at_ts:S,last_exchanged_at_ts:N,revoked_at_ts:T,...D}=p,x=A({created_at_ts:g,expires_at_ts:v,idle_expires_at_ts:S,last_exchanged_at_ts:N,revoked_at_ts:T},["created_at_ts"],["expires_at_ts","idle_expires_at_ts","last_exchanged_at_ts","revoked_at_ts"]);return{...D,...x,rotating:!!p.rotating,device:p.device?JSON.parse(p.device):{},resource_servers:p.resource_servers?JSON.parse(p.resource_servers):[]}});if(!r)return{refresh_tokens:c,start:0,limit:0,length:0};const{count:m}=await d.select(p=>p.fn.countAll().as("count")).executeTakeFirstOrThrow(),_=P(m);return{refresh_tokens:c,start:n*o,limit:o,length:_}}}function En(e){return{create:bn(e),get:Nn(e),list:$n(e),remove:Sn(e),revokeByLoginSession:On(e),update:kn(e)}}const Pn=7*24*60*60*1e3;function In(e){return async t=>{var i,d,l;const{tenant_id:a,user_id:n}=t||{},r=Date.now()-Pn,s=1e3;try{let u=0;for(;;){let _=e.deleteFrom("refresh_tokens").where(g=>g.or([g("expires_at_ts","<",r),g("idle_expires_at_ts","<",r)]));a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((i=p[0])==null?void 0:i.numDeletedRows)??0);if(u+=f,f<s)break}let c=0;for(;;){let _=e.deleteFrom("sessions").where(g=>g.or([g("expires_at_ts","<",r),g("idle_expires_at_ts","<",r)]));a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((d=p[0])==null?void 0:d.numDeletedRows)??0);if(c+=f,f<s)break}let m=0;for(;;){let _=e.deleteFrom("login_sessions").where("expires_at_ts","<",r);a&&(_=_.where("tenant_id","=",a)),n&&(_=_.where("user_id","=",n));const p=await _.limit(s).execute(),f=Number(((l=p[0])==null?void 0:l.numDeletedRows)??0);if(m+=f,f<s)break}(u>0||c>0||m>0)&&console.log(`Session cleanup: deleted ${u} refresh_tokens, ${c} sessions, ${m} login_sessions`)}catch(u){console.error("Error during session cleanup:",u)}}}function zn(e){return async(t,a)=>{const n=b.formSchema.parse({id:I.nanoid(),...a,created_at:new Date().toISOString(),updated_at:new Date().toISOString()});return await e.insertInto("forms").values({...n,nodes:JSON.stringify(n.nodes||[]),start:JSON.stringify(n.start||{}),ending:JSON.stringify(n.ending||{}),tenant_id:t}).execute(),b.formSchema.parse(n)}}function Dn(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("forms").where("tenant_id","=",t);s&&(i=E(e,i,s,[]));const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _={...m};if(typeof _.nodes=="string")try{_.nodes=JSON.parse(_.nodes)}catch{}if(typeof _.start=="string")try{_.start=JSON.parse(_.start)}catch{}if(typeof _.ending=="string")try{_.ending=JSON.parse(_.ending)}catch{}return b.formSchema.parse(y(_))});if(!r)return{forms:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{forms:u,start:n*o,limit:o,length:P(c)}}}function An(e){return async(t,a)=>{const{numDeletedRows:n}=await e.deleteFrom("forms").where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return n>0}}function Fn(e){return async(t,a)=>{const n=await e.selectFrom("forms").selectAll().where("forms.id","=",a).where("tenant_id","=",t).executeTakeFirst();if(!n)return null;const o={...n};if(typeof o.nodes=="string")try{o.nodes=JSON.parse(o.nodes)}catch{}if(typeof o.start=="string")try{o.start=JSON.parse(o.start)}catch{}if(typeof o.ending=="string")try{o.ending=JSON.parse(o.ending)}catch{}return b.formSchema.parse(y(o))}}function jn(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};U(n,["nodes","start","ending"],o);const{numUpdatedRows:r}=await e.updateTable("forms").set(o).where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return r>0}}function Rn(e){return{create:zn(e),get:Fn(e),list:Dn(e),remove:An(e),update:jn(e)}}function Mn(e){return async(t,a)=>{const n=new Date().toISOString(),o={id:Ue(),...a,created_at:n,updated_at:n},r=b.resourceServerSchema.parse(o),{verificationKey:s,scopes:i,options:d,skip_consent_for_verifiable_first_party_clients:l,allow_offline_access:u,is_system:c,metadata:m,..._}=r,p={..._,tenant_id:t,scopes:i?JSON.stringify(i):"[]",options:d?JSON.stringify(d):"{}",skip_consent_for_verifiable_first_party_clients:l?1:0,allow_offline_access:u?1:0,is_system:c?1:0,metadata:m?JSON.stringify(m):void 0,verification_key:s,created_at:n,updated_at:n};return await e.insertInto("resource_servers").values(p).execute(),y(r)}}function qn(e){return async(t,a)=>{const n=await e.selectFrom("resource_servers").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();if(!n)return null;const o=n,{verification_key:r,scopes:s,options:i,skip_consent_for_verifiable_first_party_clients:d,allow_offline_access:l,is_system:u,metadata:c,...m}=o,_=y({...m,scopes:s?JSON.parse(s):[],options:i?JSON.parse(i):{},skip_consent_for_verifiable_first_party_clients:!!d,allow_offline_access:!!l,is_system:u?!0:void 0,metadata:c?JSON.parse(c):void 0,verificationKey:r});return _.token_lifetime??(_.token_lifetime=86400),_.token_lifetime_for_web??(_.token_lifetime_for_web=7200),_}}function Jn(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1,q:s}=a;let i=e.selectFrom("resource_servers").where("resource_servers.tenant_id","=",t);if(s){const m=s.trim(),_=m.split(/\s+/),p=_.length===1?_[0]:void 0,f=p?p.match(/^(-)?(name|identifier):(.*)$/):null,g=f?f[3]:"",v=/^(>=|>|<=|<)/.test(g||"");if(f&&!v){const S=!!f[1],N=f[2]==="name"?"resource_servers.name":"resource_servers.identifier";i=S?i.where(N,"not like",`%${g}%`):i.where(N,"like",`%${g}%`)}else i=E(e,i,m,["resource_servers.name","resource_servers.identifier"])}const u=(await i.offset(n*o).limit(o).selectAll().execute()).map(m=>{const _=m,{verification_key:p,scopes:f,options:g,skip_consent_for_verifiable_first_party_clients:v,allow_offline_access:S,is_system:N,metadata:T,...D}=_,x=y({...D,scopes:f?JSON.parse(f):[],options:g?JSON.parse(g):{},skip_consent_for_verifiable_first_party_clients:!!v,allow_offline_access:!!S,is_system:N?!0:void 0,metadata:T?JSON.parse(T):void 0,verificationKey:p});return x.token_lifetime??(x.token_lifetime=86400),x.token_lifetime_for_web??(x.token_lifetime_for_web=7200),x});if(!r)return{resource_servers:u,start:0,limit:0,length:0};const{count:c}=await i.select(m=>m.fn.countAll().as("count")).executeTakeFirstOrThrow();return{resource_servers:u,start:n*o,limit:o,length:P(c)}}}function Ln(e){return async(t,a)=>{const n=await e.deleteFrom("resource_servers").where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Kn(e){return async(t,a,n)=>{const{verificationKey:o,scopes:r,options:s,skip_consent_for_verifiable_first_party_clients:i,allow_offline_access:d,is_system:l,metadata:u,...c}=n,m={...c,updated_at:new Date().toISOString()};if(o!==void 0&&(m.verification_key=o),r!==void 0&&(m.scopes=JSON.stringify(r)),s!==void 0){const p=await e.selectFrom("resource_servers").select("options").where("tenant_id","=",t).where("id","=",a).executeTakeFirst(),g={...p!=null&&p.options?JSON.parse(p.options):{},...s};m.options=JSON.stringify(g)}u!==void 0&&(m.metadata=JSON.stringify(u)),i!==void 0&&(m.skip_consent_for_verifiable_first_party_clients=i?1:0),d!==void 0&&(m.allow_offline_access=d?1:0),l!==void 0&&(m.is_system=l?1:0);const _=await e.updateTable("resource_servers").set(m).where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(_.numUpdatedRows)>0}}function Bn(e){return{create:Mn(e),get:qn(e),list:Jn(e),remove:Ln(e),update:Kn(e)}}function Un(e){return async(t,a)=>{const n=new Date().toISOString(),o=a.id||I.nanoid(),{is_system:r,id:s,metadata:i,...d}=a,l={id:o,...d,tenant_id:t,is_system:r?1:0,metadata:i?JSON.stringify(i):void 0,created_at:n,updated_at:n};return await e.insertInto("roles").values(l).execute(),{id:o,...d,is_system:r?!0:void 0,metadata:i,created_at:n,updated_at:n}}}function Qn(e){return async(t,a)=>{const n=await e.selectFrom("roles").selectAll().where("roles.tenant_id","=",t).where("roles.id","=",a).executeTakeFirst();if(!n)return null;const o=n,{is_system:r,tenant_id:s,metadata:i,...d}=o;return{...d,is_system:r?!0:void 0,metadata:i?JSON.parse(i):void 0}}}function Yn(e){return async(t,a)=>{let n=e.selectFrom("roles").where("roles.tenant_id","=",t);const{page:o=0,per_page:r=50,include_totals:s=!1}=a;a.q&&(n=E(e,n,a.q,["name"]));const l=(await n.offset(o*r).limit(r).selectAll().execute()).map(c=>{const m=c,{is_system:_,tenant_id:p,metadata:f,...g}=m;return{...g,is_system:_?!0:void 0,metadata:f?JSON.parse(f):void 0}});if(!s)return{roles:l,start:o*r,limit:r,length:l.length};const{count:u}=await n.select(c=>c.fn.countAll().as("count")).executeTakeFirstOrThrow();return{roles:l,start:o*r,limit:r,length:P(u)}}}function Hn(e){return async(t,a,n)=>{const{is_system:o,metadata:r,...s}=n,i={...s,is_system:o!==void 0?o?1:0:void 0,metadata:r!==void 0?JSON.stringify(r):void 0,updated_at:new Date().toISOString()},d=await e.updateTable("roles").set(i).where("roles.tenant_id","=",t).where("roles.id","=",a).executeTakeFirst();return Number(d.numUpdatedRows)>0}}function Wn(e){return async(t,a)=>{const n=await e.deleteFrom("roles").where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return Number(n.numDeletedRows)>0}}function Gn(e){return{create:Un(e),get:Qn(e),list:Yn(e),update:Hn(e),remove:Wn(e)}}function Xn(e){return async(t,a,n)=>{if(n.length===0)return!0;const o=new Date().toISOString();try{for(const r of n){if(r.role_id!==a)throw new Error(`Permission role_id ${r.role_id} does not match expected role_id ${a}`);const s={tenant_id:t,role_id:r.role_id,resource_server_identifier:r.resource_server_identifier,permission_name:r.permission_name,created_at:o};try{await e.insertInto("role_permissions").values(s).execute()}catch(i){if(i.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||i.code==="SQLITE_CONSTRAINT_UNIQUE"||i.code==="ER_DUP_ENTRY")continue;throw i}}return!0}catch(r){return console.error("Error assigning role permissions:",r),!1}}}function Vn(e){return async(t,a,n)=>{if(n.length===0)return!0;try{return(await Promise.all(n.map(r=>e.deleteFrom("role_permissions").where("tenant_id","=",t).where("role_id","=",a).where("resource_server_identifier","=",r.resource_server_identifier).where("permission_name","=",r.permission_name).executeTakeFirst()))).some(r=>Number(r.numDeletedRows)>0)}catch(o){return console.error("Error removing role permissions:",o),!1}}}function Zn(e){return async(t,a,n={})=>{const{page:o=0,per_page:r=50,include_totals:s=!1}=n;let i=e.selectFrom("role_permissions").leftJoin("resource_servers",c=>c.onRef("role_permissions.tenant_id","=","resource_servers.tenant_id").onRef("role_permissions.resource_server_identifier","=","resource_servers.id")).select(["role_permissions.role_id","role_permissions.resource_server_identifier","role_permissions.permission_name","role_permissions.created_at","resource_servers.name as resource_server_name"]).where("role_permissions.tenant_id","=",t).where("role_permissions.role_id","=",a);const u=(await i.offset(o*r).limit(r).execute()).map(c=>({role_id:c.role_id,resource_server_identifier:c.resource_server_identifier,resource_server_name:c.resource_server_name||c.resource_server_identifier,permission_name:c.permission_name,description:null,created_at:c.created_at}));return s&&await i.select(c=>c.fn.countAll().as("count")).executeTakeFirstOrThrow(),u}}function eo(e){return{assign:Xn(e),remove:Vn(e),list:Zn(e)}}function to(e){return async(t,a,n,o)=>{const r=new Date().toISOString();try{const s={tenant_id:t,user_id:a,resource_server_identifier:n.resource_server_identifier,permission_name:n.permission_name,organization_id:o||n.organization_id||"",created_at:r};return await e.insertInto("user_permissions").values(s).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.code==="ER_DUP_ENTRY"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user permission:",s),!1)}}}function ao(e){return async(t,a,n,o)=>{try{let r=e.deleteFrom("user_permissions").where("tenant_id","=",t).where("user_id","=",a).where("resource_server_identifier","=",n.resource_server_identifier).where("permission_name","=",n.permission_name);return o!==void 0?r=r.where("organization_id","=",o):r=r.where("organization_id","=",""),await r.execute(),!0}catch(r){return console.error("Error removing user permission:",r),!1}}}function no(e){return async(t,a,n,o)=>{let r=e.selectFrom("user_permissions").leftJoin("resource_servers",i=>i.onRef("user_permissions.tenant_id","=","resource_servers.tenant_id").onRef("user_permissions.resource_server_identifier","=","resource_servers.id")).select(["user_permissions.resource_server_identifier","user_permissions.permission_name","resource_servers.name as resource_server_name","user_permissions.user_id","user_permissions.created_at","user_permissions.organization_id"]).where("user_permissions.tenant_id","=",t).where("user_permissions.user_id","=",a);return o!==void 0&&(r=r.where("user_permissions.organization_id","=",o)),(await r.execute()).map(i=>({resource_server_identifier:i.resource_server_identifier,permission_name:i.permission_name,description:null,resource_server_name:i.resource_server_name||i.resource_server_identifier,user_id:i.user_id,created_at:i.created_at,organization_id:i.organization_id===""?void 0:i.organization_id}))}}function oo(e){return{create:to(e),remove:ao(e),list:no(e)}}function ro(e){const t=oo(e);return{create:(a,n,o,r)=>t.create(a,n,o,r),remove:(a,n,o,r)=>t.remove(a,n,o,r),list:(a,n,o,r)=>t.list(a,n,o,r)}}function so(e){return async(t,a,n,o)=>{let r=e.selectFrom("user_roles as ur").innerJoin("roles as r",i=>i.onRef("ur.role_id","=","r.id").onRef("ur.tenant_id","=","r.tenant_id")).select(["r.id","r.name","r.description","r.created_at","r.updated_at"]).where("ur.tenant_id","=",t).where("ur.user_id","=",a);return o!==void 0&&(r=r.where("ur.organization_id","=",o)),await r.execute()}}function io(e){return async(t,a,n,o)=>{const r=new Date().toISOString();try{return await e.insertInto("user_roles").values({tenant_id:t,user_id:a,role_id:n,organization_id:o||"",created_at:r}).execute(),!0}catch(s){return s.code==="SQLITE_CONSTRAINT_PRIMARYKEY"||s.code==="SQLITE_CONSTRAINT_UNIQUE"||s.code==="SQLITE_CONSTRAINT"||s.code==="ER_DUP_ENTRY"||s.message&&s.message.includes("UNIQUE constraint failed")||s.message&&s.message.includes("PRIMARY KEY constraint failed")?!0:(console.error("Error creating user role:",s),!1)}}}function co(e){return async(t,a,n,o)=>{try{let r=e.deleteFrom("user_roles").where("tenant_id","=",t).where("user_id","=",a).where("role_id","=",n);return o!==void 0?r=r.where("organization_id","=",o):r=r.where("organization_id","=",""),await r.execute(),!0}catch(r){return console.error("Error removing user roles:",r),!1}}}function lo(e){return{list:so(e),create:io(e),remove:co(e)}}function uo(e){const t=lo(e);return{list:(a,n,o,r)=>t.list(a,n,o,r),create:(a,n,o,r)=>t.create(a,n,o,r),remove:(a,n,o,r)=>t.remove(a,n,o,r)}}function _o(e){return async(t,a)=>{const n={...a,id:a.id||Je(),tenant_id:t,created_at:new Date().toISOString(),updated_at:new Date().toISOString(),branding:JSON.stringify(a.branding||{}),metadata:JSON.stringify(a.metadata||{}),enabled_connections:JSON.stringify(a.enabled_connections||[]),token_quota:JSON.stringify(a.token_quota||{})};try{await e.insertInto("organizations").values(n).execute()}catch(o){throw o.code==="SQLITE_CONSTRAINT_UNIQUE"||o.code==="ER_DUP_ENTRY"||o.message.includes("AlreadyExists")?new L(409,{message:"Organization already exists"}):o}return{...a,id:n.id,created_at:n.created_at,updated_at:n.updated_at}}}function mo(e){return async(t,a)=>{let n=await e.selectFrom("organizations").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();return n||(n=await e.selectFrom("organizations").selectAll().where("tenant_id","=",t).where("name","=",a).executeTakeFirst()),n?y({...n,branding:n.branding?JSON.parse(n.branding):{},metadata:n.metadata?JSON.parse(n.metadata):{},enabled_connections:n.enabled_connections?JSON.parse(n.enabled_connections):[],token_quota:n.token_quota?JSON.parse(n.token_quota):{}}):null}}function ho(e){return async(t,a)=>{let n=e.selectFrom("organizations").selectAll().where("tenant_id","=",t);if(a!=null&&a.q&&(n=n.where(u=>u.or([u("name","like",`%${a.q}%`),u("display_name","like",`%${a.q}%`)]))),a!=null&&a.sort){const u=a.sort.sort_order==="asc"?"asc":"desc",c=a.sort.sort_by;["name","display_name","created_at"].includes(c)?n=n.orderBy(c,u):n=n.orderBy("created_at","desc")}else n=n.orderBy("created_at","desc");if((a==null?void 0:a.from)!==void 0){const u=parseInt(a.from,10);isNaN(u)||(n=n.offset(u))}else if((a==null?void 0:a.page)!==void 0){const u=(a==null?void 0:a.per_page)||(a==null?void 0:a.take)||10,c=a.page*u;n=n.offset(c)}const o=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10;n=n.limit(o);const r=await n.execute();let s=r.length;if(a!=null&&a.include_totals){let u=e.selectFrom("organizations").select(h.sql`count(*)`.as("count")).where("tenant_id","=",t);a!=null&&a.q&&(u=u.where(m=>m.or([m("name","like",`%${a.q}%`),m("display_name","like",`%${a.q}%`)])));const c=await u.executeTakeFirst();s=Number((c==null?void 0:c.count)||0)}const i=r.map(u=>y({...u,branding:u.branding?JSON.parse(u.branding):{},metadata:u.metadata?JSON.parse(u.metadata):{},enabled_connections:u.enabled_connections?JSON.parse(u.enabled_connections):[],token_quota:u.token_quota?JSON.parse(u.token_quota):{}})),d=(a==null?void 0:a.take)||(a==null?void 0:a.per_page)||10,l=a!=null&&a.from?parseInt(a.from,10):a!=null&&a.page?a.page*d:0;return{organizations:i,start:isNaN(l)?0:l,limit:d,length:i.length,total:s}}}function po(e){return async(t,a)=>(await e.deleteFrom("organizations").where("tenant_id","=",t).where("id","=",a).execute()).length>0}function fo(e){return async(t,a,n)=>{const{branding:o,metadata:r,enabled_connections:s,token_quota:i,...d}=n,l={...d,updated_at:new Date().toISOString()};return U(n,["branding","metadata","enabled_connections","token_quota"],l),(await e.updateTable("organizations").set(l).where("tenant_id","=",t).where("id","=",a).execute()).length>0}}function go(e){return{create:_o(e),get:mo(e),list:ho(e),remove:po(e),update:fo(e)}}function wo(e){return async(t,a)=>{const n={id:I.nanoid(),tenant_id:t,user_id:a.user_id,organization_id:a.organization_id,created_at:new Date().toISOString(),updated_at:new Date().toISOString()};try{await e.insertInto("user_organizations").values(n).execute()}catch(o){throw o.code==="SQLITE_CONSTRAINT_UNIQUE"||o.code==="ER_DUP_ENTRY"?new L(409,{message:"User is already a member of this organization"}):o}return{...n}}}function yo(e){return async(t,a)=>{const n=await e.selectFrom("user_organizations").selectAll().where("id","=",a).where("tenant_id","=",t).executeTakeFirst();return n?{id:n.id,user_id:n.user_id,organization_id:n.organization_id,created_at:n.created_at,updated_at:n.updated_at}:null}}function vo(e){return async(t,a)=>{const n=(a==null?void 0:a.page)||0,o=(a==null?void 0:a.per_page)||50,r=n*o;let s=e.selectFrom("user_organizations").selectAll().where("tenant_id","=",t);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const c=a.q.replace("user_id:","");s=s.where("user_id","=",c)}else if(a.q.startsWith("organization_id:")){const c=a.q.replace("organization_id:","");s=s.where("organization_id","=",c)}}s=s.orderBy("created_at","desc"),o>0&&(s=s.limit(o).offset(r));const i=await s.execute();let d=e.selectFrom("user_organizations").select(e.fn.count("id").as("count")).where("tenant_id","=",t);if(a!=null&&a.q){if(a.q.startsWith("user_id:")){const c=a.q.replace("user_id:","");d=d.where("user_id","=",c)}else if(a.q.startsWith("organization_id:")){const c=a.q.replace("organization_id:","");d=d.where("organization_id","=",c)}}const l=await d.executeTakeFirst();return{userOrganizations:i.map(c=>({id:c.id,user_id:c.user_id,organization_id:c.organization_id,created_at:c.created_at,updated_at:c.updated_at})),start:r,limit:o,length:Number((l==null?void 0:l.count)||0)}}}function Co(e){return async(t,a,n)=>{const o=(n==null?void 0:n.page)||0,r=(n==null?void 0:n.per_page)||50,s=o*r;let i=e.selectFrom("user_organizations").innerJoin("organizations",c=>c.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",t)).select(["organizations.id","organizations.name","organizations.display_name","organizations.branding","organizations.metadata","organizations.enabled_connections","organizations.token_quota","organizations.created_at","organizations.updated_at","user_organizations.created_at as joined_at"]).where("user_organizations.tenant_id","=",t).where("user_organizations.user_id","=",a);i=i.orderBy("user_organizations.created_at","desc"),r>0&&(i=i.limit(r).offset(s));const d=await i.execute(),l=await e.selectFrom("user_organizations").innerJoin("organizations",c=>c.onRef("organizations.id","=","user_organizations.organization_id").on("organizations.tenant_id","=",t)).select(e.fn.count("user_organizations.id").as("count")).where("user_organizations.tenant_id","=",t).where("user_organizations.user_id","=",a).executeTakeFirst();return{organizations:d.map(c=>({id:c.id,name:c.name,display_name:c.display_name,branding:c.branding?JSON.parse(c.branding):void 0,metadata:c.metadata?JSON.parse(c.metadata):{},enabled_connections:c.enabled_connections?JSON.parse(c.enabled_connections):[],token_quota:c.token_quota?JSON.parse(c.token_quota):void 0,created_at:c.created_at,updated_at:c.updated_at,joined_at:c.joined_at})),start:s,limit:r,length:Number((l==null?void 0:l.count)||0)}}}function xo(e){return async(t,a)=>(await e.deleteFrom("user_organizations").where("id","=",a).where("tenant_id","=",t).execute()).length>0}function To(e){return async(t,a,n)=>{const o={...n,updated_at:new Date().toISOString()};return(await e.updateTable("user_organizations").set(o).where("id","=",a).where("tenant_id","=",t).execute()).length>0}}function No(e){return{create:wo(e),get:yo(e),list:vo(e),listUserOrganizations:Co(e),remove:xo(e),update:To(e)}}function bo(e){return async(t,a)=>{const n=Ye(),o=new Date().toISOString(),r=a.ttl_sec||604800,s=new Date(Date.now()+r*1e3).toISOString(),i=U({id:n,tenant_id:t,organization_id:a.organization_id,inviter:a.inviter||{},invitee:a.invitee||{},client_id:a.client_id,connection_id:a.connection_id||null,invitation_url:a.invitation_url,created_at:o,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:null,ttl_sec:r,send_invitation_email:a.send_invitation_email??!0?1:0},["inviter","invitee","app_metadata","user_metadata","roles"]);try{await e.insertInto("invites").values(i).execute()}catch(d){throw d.code==="SQLITE_CONSTRAINT_UNIQUE"||d.code==="ER_DUP_ENTRY"||d.message.includes("AlreadyExists")?new L(409,{message:"Invite already exists"}):d}return{id:n,organization_id:i.organization_id,inviter:a.inviter,invitee:a.invitee,client_id:a.client_id,connection_id:a.connection_id,invitation_url:a.invitation_url,created_at:o,expires_at:s,app_metadata:a.app_metadata||{},user_metadata:a.user_metadata||{},roles:a.roles||[],ticket_id:i.ticket_id||void 0,ttl_sec:r,send_invitation_email:a.send_invitation_email??!0}}}function So(e){return async(t,a)=>{const n=await e.selectFrom("invites").selectAll().where("tenant_id","=",t).where("id","=",a).executeTakeFirst();if(!n)return null;const o=ge(n,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return y({...o,send_invitation_email:n.send_invitation_email===1})}}function Oo(e){return async(t,a)=>{let n=e.selectFrom("invites").selectAll().where("tenant_id","=",t).orderBy("created_at","desc");if(a!=null&&a.per_page&&(n=n.limit(a.per_page)),a!=null&&a.page){const s=(a.page-1)*(a.per_page||10);n=n.offset(s)}const r=(await n.execute()).map(s=>{const i=ge(s,{inviter:{},invitee:{},app_metadata:{},user_metadata:{},roles:[]});return y({...i,send_invitation_email:s.send_invitation_email===1})});return{invites:r,start:a!=null&&a.page?(a.page-1)*(a.per_page||10):0,limit:(a==null?void 0:a.per_page)||r.length,length:r.length}}}function ko(e){return async(t,a)=>(await e.deleteFrom("invites").where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numDeletedRows>0n}function $o(e){return async(t,a,n)=>{const o={};return n.inviter!==void 0&&(o.inviter=JSON.stringify(n.inviter)),n.invitee!==void 0&&(o.invitee=JSON.stringify(n.invitee)),n.client_id!==void 0&&(o.client_id=n.client_id),n.connection_id!==void 0&&(o.connection_id=n.connection_id),n.app_metadata!==void 0&&(o.app_metadata=JSON.stringify(n.app_metadata)),n.user_metadata!==void 0&&(o.user_metadata=JSON.stringify(n.user_metadata)),n.roles!==void 0&&(o.roles=JSON.stringify(n.roles)),n.ttl_sec!==void 0&&(o.ttl_sec=n.ttl_sec,o.expires_at=new Date(Date.now()+n.ttl_sec*1e3).toISOString()),n.send_invitation_email!==void 0&&(o.send_invitation_email=n.send_invitation_email?1:0),Object.keys(o).length===0?!0:(await e.updateTable("invites").set(o).where("tenant_id","=",t).where("id","=",a).executeTakeFirst()).numUpdatedRows>0n}}function Eo(e){return{create:bo(e),get:So(e),list:Oo(e),remove:ko(e),update:$o(e)}}const ce=["s","seacft","seccft","sepft","sertft","ssa"],Po=["pwd_leak","signup_pwd_leak","reset_pwd_leak"];function le(e){return`${e.slice(0,4)}-${e.slice(4,6)}-${e.slice(6,8)}`}function de(e){return e.toISOString().split("T")[0]}function Io(e){return{async getDaily(t,a={}){const{from:n,to:o}=a,r=new Date,s=new Date(r);s.setDate(s.getDate()-30);const i=n?le(n):de(s),d=o?le(o):de(r),l=h.sql`DATE(logs.date)`;return(await e.selectFrom("logs").where("tenant_id","=",t).where(l,">=",i).where(l,"<=",d).select(c=>[l.as("date"),c.fn.sum(c.case().when("type","in",ce).then(1).else(0).end()).as("logins"),c.fn.sum(c.case().when("type","=","ss").then(1).else(0).end()).as("signups"),c.fn.sum(c.case().when("type","in",Po).then(1).else(0).end()).as("leaked_passwords"),c.fn.min("date").as("first_event"),c.fn.max("date").as("last_event")]).groupBy(l).orderBy("date","asc").execute()).map(c=>({date:c.date,logins:Number(c.logins)||0,signups:Number(c.signups)||0,leaked_passwords:Number(c.leaked_passwords)||0,created_at:c.first_event||new Date().toISOString(),updated_at:c.last_event||new Date().toISOString()}))},async getActiveUsers(t){const a=new Date;return a.setDate(a.getDate()-30),(await e.selectFrom("logs").where("tenant_id","=",t).where("date",">=",a.toISOString()).where("type","in",ce).where("user_id","is not",null).select(o=>o.fn.count("user_id").distinct().as("count")).executeTakeFirstOrThrow()).count||0}}}function zo(e){return{async get(t,a,n){const o=await e.selectFrom("custom_text").selectAll().where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).executeTakeFirst();if(!o)return null;try{return JSON.parse(o.custom_text)}catch{return null}},async set(t,a,n,o){const r=Date.now(),s=JSON.stringify(o);await e.selectFrom("custom_text").select("tenant_id").where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).executeTakeFirst()?await e.updateTable("custom_text").set({custom_text:s,updated_at_ts:r}).where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).execute():await e.insertInto("custom_text").values({tenant_id:t,prompt:a,language:n,custom_text:s,created_at_ts:r,updated_at_ts:r}).execute()},async delete(t,a,n){await e.deleteFrom("custom_text").where("tenant_id","=",t).where("prompt","=",a).where("language","=",n).execute()},async list(t){return(await e.selectFrom("custom_text").select(["prompt","language"]).where("tenant_id","=",t).execute()).map(n=>({prompt:n.prompt,language:n.language}))}}}function Do(e){return async(t,a)=>{const n=Date.now(),o=xe();return await e.insertInto("authentication_methods").values({id:o,tenant_id:t,user_id:a.user_id,type:a.type,phone_number:a.phone_number,totp_secret:a.totp_secret,credential_id:a.credential_id,public_key:a.public_key,sign_count:a.sign_count,credential_backed_up:a.credential_backed_up==null?void 0:a.credential_backed_up?1:0,transports:a.transports?JSON.stringify(a.transports):void 0,friendly_name:a.friendly_name,confirmed:a.confirmed?1:0,created_at_ts:n,updated_at_ts:n}).execute(),{id:o,user_id:a.user_id,type:a.type,phone_number:a.phone_number,totp_secret:a.totp_secret,credential_id:a.credential_id,public_key:a.public_key,sign_count:a.sign_count,credential_backed_up:a.credential_backed_up,transports:a.transports,friendly_name:a.friendly_name,confirmed:a.confirmed??!1,created_at:new Date(n).toISOString(),updated_at:new Date(n).toISOString()}}}function Te(e){return async(t,a)=>{const n=await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).selectAll().executeTakeFirst();return n?{id:n.id,user_id:n.user_id,type:n.type,phone_number:n.phone_number??void 0,totp_secret:n.totp_secret??void 0,credential_id:n.credential_id??void 0,public_key:n.public_key??void 0,sign_count:n.sign_count??void 0,credential_backed_up:n.credential_backed_up!=null?n.credential_backed_up===1:void 0,transports:n.transports?JSON.parse(n.transports):void 0,friendly_name:n.friendly_name??void 0,confirmed:n.confirmed===1,created_at:F(n.created_at_ts),updated_at:F(n.updated_at_ts)}:null}}function Ao(e){return async(t,a)=>{const n=await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.credential_id","=",a).selectAll().executeTakeFirst();return n?{id:n.id,user_id:n.user_id,type:n.type,phone_number:n.phone_number??void 0,totp_secret:n.totp_secret??void 0,credential_id:n.credential_id??void 0,public_key:n.public_key??void 0,sign_count:n.sign_count??void 0,credential_backed_up:n.credential_backed_up!=null?n.credential_backed_up===1:void 0,transports:n.transports?JSON.parse(n.transports):void 0,friendly_name:n.friendly_name??void 0,confirmed:n.confirmed===1,created_at:F(n.created_at_ts),updated_at:F(n.updated_at_ts)}:null}}function Fo(e){return async(t,a)=>(await e.selectFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.user_id","=",a).selectAll().execute()).map(o=>({id:o.id,user_id:o.user_id,type:o.type,phone_number:o.phone_number??void 0,totp_secret:o.totp_secret??void 0,credential_id:o.credential_id??void 0,public_key:o.public_key??void 0,sign_count:o.sign_count??void 0,credential_backed_up:o.credential_backed_up!=null?o.credential_backed_up===1:void 0,transports:o.transports?JSON.parse(o.transports):void 0,friendly_name:o.friendly_name??void 0,confirmed:o.confirmed===1,created_at:F(o.created_at_ts),updated_at:F(o.updated_at_ts)}))}function jo(e){return async(t,a,n)=>{const r={updated_at_ts:Date.now()};n.phone_number!==void 0&&(r.phone_number=n.phone_number),n.totp_secret!==void 0&&(r.totp_secret=n.totp_secret),n.credential_id!==void 0&&(r.credential_id=n.credential_id),n.public_key!==void 0&&(r.public_key=n.public_key),n.sign_count!==void 0&&(r.sign_count=n.sign_count),n.credential_backed_up!==void 0&&(r.credential_backed_up=n.credential_backed_up?1:0),n.transports!==void 0&&(r.transports=JSON.stringify(n.transports)),n.friendly_name!==void 0&&(r.friendly_name=n.friendly_name),n.confirmed!==void 0&&(r.confirmed=n.confirmed?1:0),await e.updateTable("authentication_methods").set(r).where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).execute();const s=await Te(e)(t,a);if(!s)throw new Error(`Authentication method ${a} not found`);return s}}function Ro(e){return async(t,a)=>(await e.deleteFrom("authentication_methods").where("authentication_methods.tenant_id","=",t).where("authentication_methods.id","=",a).executeTakeFirst()).numDeletedRows>0}function Mo(e){return{create:Do(e),get:Te(e),getByCredentialId:Ao(e),list:Fo(e),update:jo(e),remove:Ro(e)}}function qo(e){return async(t,a)=>{const n=I.nanoid();return await e.insertInto("outbox_events").values({id:n,tenant_id:t,event_type:a.event_type,log_type:a.log_type,aggregate_type:a.target.type,aggregate_id:a.target.id,payload:JSON.stringify({...a,id:n}),created_at:new Date().toISOString(),processed_at:null,retry_count:0,next_retry_at:null,error:null}).execute(),n}}function Jo(e){return async t=>t.length===0?[]:(await e.selectFrom("outbox_events").selectAll().where("id","in",t).execute()).map(n=>({...JSON.parse(n.payload),id:n.id,created_at:n.created_at,processed_at:n.processed_at,retry_count:n.retry_count,next_retry_at:n.next_retry_at,error:n.error}))}function Lo(e){return async t=>{const a=new Date().toISOString();return(await e.selectFrom("outbox_events").selectAll().where("processed_at","is",null).where(o=>o.or([o("next_retry_at","is",null),o("next_retry_at","<=",a)])).where(o=>o.or([o("claimed_by","is",null),o("claim_expires_at","<=",a)])).orderBy("created_at","asc").orderBy("id","asc").limit(t).execute()).map(o=>({...JSON.parse(o.payload),id:o.id,created_at:o.created_at,processed_at:o.processed_at,retry_count:o.retry_count,next_retry_at:o.next_retry_at,error:o.error}))}}function Ko(e){return async(t,a,n)=>{if(t.length===0)return[];const o=new Date().toISOString(),r=new Date(Date.now()+n).toISOString();return await e.updateTable("outbox_events").set({claimed_by:a,claim_expires_at:r}).where("id","in",t).where("processed_at","is",null).where(i=>i.or([i("claimed_by","is",null),i("claim_expires_at","<=",o)])).execute(),(await e.selectFrom("outbox_events").select("id").where("id","in",t).where("claimed_by","=",a).where("claim_expires_at","=",r).execute()).map(i=>i.id)}}function Bo(e){return async t=>{if(t.length===0)return;const a=new Date().toISOString();await e.updateTable("outbox_events").set({processed_at:a}).where("id","in",t).execute()}}function Uo(e){return async(t,a,n)=>{await e.updateTable("outbox_events").set({error:a,next_retry_at:n,retry_count:h.sql`retry_count + 1`,claimed_by:null,claim_expires_at:null}).where("id","=",t).execute()}}function Qo(e){return async(t,a)=>{const n=new Date().toISOString();await e.updateTable("outbox_events").set({processed_at:n,dead_lettered_at:n,final_error:a}).where("id","=",t).execute()}}function Yo(e){return async(t,a={})=>{const{page:n=0,per_page:o=50,include_totals:r=!1}=a,i=(await e.selectFrom("outbox_events").selectAll().where("tenant_id","=",t).where("dead_lettered_at","is not",null).orderBy("dead_lettered_at","desc").orderBy("id","asc").offset(n*o).limit(o).execute()).flatMap(l=>{let u;try{u=JSON.parse(l.payload)}catch(c){return console.error(`Failed to parse outbox payload for event ${l.id}`,c),[]}return[{...u,id:l.id,created_at:l.created_at,processed_at:l.processed_at,retry_count:l.retry_count,next_retry_at:l.next_retry_at,error:l.error,dead_lettered_at:l.dead_lettered_at,final_error:l.final_error}]});let d=i.length;if(r){const[l]=await e.selectFrom("outbox_events").select(u=>u.fn.countAll().as("total")).where("tenant_id","=",t).where("dead_lettered_at","is not",null).execute();d=Number((l==null?void 0:l.total)??i.length)}return{events:i,start:n*o,limit:o,length:d}}}function Ho(e){return async(t,a)=>{const n=await e.updateTable("outbox_events").set({processed_at:null,dead_lettered_at:null,final_error:null,retry_count:0,next_retry_at:null,error:null}).where("id","=",t).where("tenant_id","=",a).where("dead_lettered_at","is not",null).executeTakeFirst();return Number(n.numUpdatedRows)>0}}function Wo(e){return async t=>{const a=await e.deleteFrom("outbox_events").where("processed_at","is not",null).where("processed_at","<",t).executeTakeFirst();return Number(a.numDeletedRows)}}function Go(e){return{create:qo(e),getByIds:Jo(e),getUnprocessed:Lo(e),claimEvents:Ko(e),markProcessed:Bo(e),markRetry:Uo(e),deadLetter:Qo(e),listFailed:Yo(e),replay:Ho(e),cleanup:Wo(e)}}class Ne{constructor(t){Q(this,"migrations");this.migrations=t}async getMigrations(){return this.migrations}}async function Xo(e){await e.schema.createTable("tenants").addColumn("id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("users").addColumn("user_id","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)").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("phone_number","varchar(17)").addColumn("phone_verified","boolean").addColumn("username","varchar(128)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.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",t=>t.notNull()).addColumn("last_login","varchar(255)").addColumn("provider","varchar(255)",t=>t.notNull()).addColumn("connection","varchar(255)").addColumn("email_verified","boolean",t=>t.notNull()).addColumn("is_social","boolean",t=>t.notNull()).addColumn("app_metadata","varchar(4096)",t=>t.defaultTo("{}").notNull()).addColumn("user_metadata","varchar(4096)",t=>t.defaultTo("{}").notNull()).addUniqueConstraint("unique_email_provider",["email","provider","tenant_id"]).addUniqueConstraint("unique_phone_provider",["phone_number","provider","tenant_id"]).execute(),await e.schema.createTable("members").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("applications").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("client_secret","varchar(255)").addColumn("allowed_logout_urls","varchar(255)").addColumn("authentication_settings","varchar(255)").addColumn("addons","varchar(4096)",t=>t.notNull().defaultTo("{}")).addColumn("callbacks","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("allowed_origins","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("web_origins","varchar(1024)",t=>t.notNull().defaultTo("[]")).addColumn("allowed_clients","varchar(1024)",t=>t.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",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("connections").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(2048)",t=>t.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("migrations").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createTable("domains").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute()}async function Vo(e){await e.schema.dropTable("domains").execute(),await e.schema.dropTable("members").execute(),await e.schema.dropTable("users").execute(),await e.schema.dropTable("connections").execute(),await e.schema.dropTable("applications").execute(),await e.schema.dropTable("migrations").execute(),await e.schema.dropTable("tenants").execute()}const Zo=Object.freeze(Object.defineProperty({__proto__:null,down:Vo,up:Xo},Symbol.toStringTag,{value:"Module"}));async function er(e){await e.schema.alterTable("tenants").addColumn("support_url","varchar(255)").execute()}async function tr(e){await e.schema.alterTable("tenants").dropColumn("support_url").execute()}const ar=Object.freeze(Object.defineProperty({__proto__:null,down:tr,up:er},Symbol.toStringTag,{value:"Module"}));async function nr(e){}async function or(e){}const rr=Object.freeze(Object.defineProperty({__proto__:null,down:or,up:nr},Symbol.toStringTag,{value:"Module"}));async function sr(e){await e.schema.createTable("logs").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("category","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addForeignKeyConstraint("tenant_id_constraint",["tenant_id"],"tenants",["id"],t=>t.onDelete("cascade")).addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.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 ir(e){await e.schema.dropTable("logs").execute()}const cr=Object.freeze(Object.defineProperty({__proto__:null,down:ir,up:sr},Symbol.toStringTag,{value:"Module"}));async function lr(e){}async function dr(e){}const ur=Object.freeze(Object.defineProperty({__proto__:null,down:dr,up:lr},Symbol.toStringTag,{value:"Module"}));async function _r(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createTable("otps").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createIndex("otps_email_index").on("otps").column("email").execute(),await e.schema.createIndex("otps_expires_at_index").on("otps").column("expires_at").execute()}async function mr(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("tickets").execute(),await e.schema.dropTable("otps").execute()}const hr=Object.freeze(Object.defineProperty({__proto__:null,down:mr,up:_r},Symbol.toStringTag,{value:"Module"}));async function pr(e){await e.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"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(255)").addColumn("updated_at","varchar(255)").execute(),await e.schema.createTable("codes").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("user_id","varchar(255)").addColumn("tenant_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createIndex("codes_expires_at_index").on("codes").column("expires_at").execute()}async function fr(e){await e.schema.dropTable("passwords").execute(),await e.schema.dropTable("codes").execute()}const gr=Object.freeze(Object.defineProperty({__proto__:null,down:fr,up:pr},Symbol.toStringTag,{value:"Module"}));async function wr(e){}async function yr(e){}const vr=Object.freeze(Object.defineProperty({__proto__:null,down:yr,up:wr},Symbol.toStringTag,{value:"Module"}));async function Cr(e){await e.schema.alterTable("passwords").addColumn("password","varchar(255)",t=>t.notNull()).execute()}async function xr(e){await e.schema.alterTable("passwords").dropColumn("password").execute()}const Tr=Object.freeze(Object.defineProperty({__proto__:null,down:xr,up:Cr},Symbol.toStringTag,{value:"Module"}));async function Nr(e){}async function br(e){}const Sr=Object.freeze(Object.defineProperty({__proto__:null,down:br,up:Nr},Symbol.toStringTag,{value:"Module"}));async function Or(e){}async function kr(e){}const $r=Object.freeze(Object.defineProperty({__proto__:null,down:kr,up:Or},Symbol.toStringTag,{value:"Module"}));async function Er(e){}async function Pr(e){}const Ir=Object.freeze(Object.defineProperty({__proto__:null,down:Pr,up:Er},Symbol.toStringTag,{value:"Module"}));async function zr(e){await e.schema.createIndex("users_email_index").on("users").column("email").execute()}async function Dr(e){await e.schema.dropIndex("users_email_index").execute()}const Ar=Object.freeze(Object.defineProperty({__proto__:null,down:Dr,up:zr},Symbol.toStringTag,{value:"Module"}));async function Fr(e){await e.schema.alterTable("users").addColumn("profileData","varchar(2048)").execute()}async function jr(e){await e.schema.alterTable("users").dropColumn("profileData").execute()}const Rr=Object.freeze(Object.defineProperty({__proto__:null,down:jr,up:Fr},Symbol.toStringTag,{value:"Module"}));async function Mr(e){await e.schema.createIndex("users_linked_to_index").on("users").column("linked_to").execute()}async function qr(e){await e.schema.dropIndex("users_linked_to_index")}const Jr=Object.freeze(Object.defineProperty({__proto__:null,down:qr,up:Mr},Symbol.toStringTag,{value:"Module"}));async function Lr(e){await e.schema.alterTable("users").addColumn("locale","varchar(255)").execute()}async function Kr(e){await e.schema.alterTable("users").dropColumn("locale").execute()}const Br=Object.freeze(Object.defineProperty({__proto__:null,down:Kr,up:Lr},Symbol.toStringTag,{value:"Module"}));async function Ur(e){await e.schema.createTable("keys").addColumn("kid","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",t=>t.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",t=>t.references("connections.id").onDelete("cascade")).execute()}async function Qr(e){await e.schema.dropTable("keys").execute()}const Yr=Object.freeze(Object.defineProperty({__proto__:null,down:Qr,up:Ur},Symbol.toStringTag,{value:"Module"}));async function Hr(e){}async function Wr(e){}const Gr=Object.freeze(Object.defineProperty({__proto__:null,down:Wr,up:Hr},Symbol.toStringTag,{value:"Module"}));async function Xr(e){}async function Vr(e){}const Zr=Object.freeze(Object.defineProperty({__proto__:null,down:Vr,up:Xr},Symbol.toStringTag,{value:"Module"}));async function es(e){await e.schema.alterTable("otps").addColumn("audience","varchar(255)").execute()}async function ts(e){await e.schema.alterTable("otps").dropColumn("audience").execute()}const as=Object.freeze(Object.defineProperty({__proto__:null,down:ts,up:es},Symbol.toStringTag,{value:"Module"}));async function ns(e){}async function os(e){}const rs=Object.freeze(Object.defineProperty({__proto__:null,down:os,up:ns},Symbol.toStringTag,{value:"Module"}));async function ss(e){await e.schema.alterTable("logs").dropColumn("category").execute()}async function is(e){await e.schema.alterTable("logs").addColumn("category","varchar(255)",t=>t.notNull()).execute()}const cs=Object.freeze(Object.defineProperty({__proto__:null,down:is,up:ss},Symbol.toStringTag,{value:"Module"}));async function ls(e){await e.schema.alterTable("users").dropColumn("tags").execute()}async function ds(e){await e.schema.alterTable("users").addColumn("tags","varchar(255)").execute()}const us=Object.freeze(Object.defineProperty({__proto__:null,down:ds,up:ls},Symbol.toStringTag,{value:"Module"}));async function _s(e){await e.schema.createIndex("logs_user_id").on("logs").column("user_id").execute(),await e.schema.createIndex("logs_tenant_id").on("logs").column("tenant_id").execute(),await e.schema.createIndex("logs_date").on("logs").column("date").execute()}async function ms(e){await e.schema.dropIndex("logs_user_id"),await e.schema.dropIndex("logs_tenant_id"),await e.schema.dropIndex("logs_date")}const hs=Object.freeze(Object.defineProperty({__proto__:null,down:ms,up:_s},Symbol.toStringTag,{value:"Module"}));async function ps(e){await e.schema.alterTable("logs").dropColumn("details").execute(),await e.schema.alterTable("logs").addColumn("details","varchar(8192)").execute()}async function fs(e){await e.schema.alterTable("logs").dropColumn("details").execute(),await e.schema.alterTable("logs").addColumn("details","varchar(2048)").execute()}const gs=Object.freeze(Object.defineProperty({__proto__:null,down:fs,up:ps},Symbol.toStringTag,{value:"Module"}));async function ws(e){await e.schema.alterTable("logs").addColumn("user_name","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("auth0_client","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("isMobile","boolean").execute(),await e.schema.alterTable("logs").addColumn("connection","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("connection_id","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("audience","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("scope","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("strategy","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("strategy_type","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("hostname","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("session_connection","varchar(255)").execute()}async function ys(e){await e.schema.alterTable("logs").dropColumn("user_name").execute(),await e.schema.alterTable("logs").dropColumn("auth0_client").execute(),await e.schema.alterTable("logs").dropColumn("isMobile").execute(),await e.schema.alterTable("logs").dropColumn("connection").execute(),await e.schema.alterTable("logs").dropColumn("connection_id").execute(),await e.schema.alterTable("logs").dropColumn("audience").execute(),await e.schema.alterTable("logs").dropColumn("scope").execute(),await e.schema.alterTable("logs").dropColumn("strategy").execute(),await e.schema.alterTable("logs").dropColumn("strategy_type").execute(),await e.schema.alterTable("logs").dropColumn("hostname").execute(),await e.schema.alterTable("logs").dropColumn("session_connection").execute()}const vs=Object.freeze(Object.defineProperty({__proto__:null,down:ys,up:ws},Symbol.toStringTag,{value:"Module"}));async function Cs(e){await e.schema.createIndex("users_name_index").on("users").column("name").execute()}async function xs(e){await e.schema.dropIndex("users_name_index").execute()}const Ts=Object.freeze(Object.defineProperty({__proto__:null,down:xs,up:Cs},Symbol.toStringTag,{value:"Module"}));async function Ns(e){}async function bs(e){await e.schema.alterTable("users").dropConstraint("unique_email_provider").execute()}const Ss=Object.freeze(Object.defineProperty({__proto__:null,down:bs,up:Ns},Symbol.toStringTag,{value:"Module"}));async function Os(e){await e.schema.alterTable("otps").dropColumn("state").execute(),await e.schema.alterTable("otps").addColumn("state","varchar(8192)").execute()}async function ks(e){await e.schema.alterTable("otps").dropColumn("state").execute(),await e.schema.alterTable("otps").addColumn("state","varchar(1024)").execute()}const $s=Object.freeze(Object.defineProperty({__proto__:null,down:ks,up:Os},Symbol.toStringTag,{value:"Module"}));async function Es(e){await e.schema.alterTable("tickets").dropColumn("state").execute(),await e.schema.alterTable("tickets").addColumn("state","varchar(8192)").execute()}async function Ps(e){await e.schema.alterTable("tickets").dropColumn("state").execute(),await e.schema.alterTable("tickets").addColumn("state","varchar(1024)").execute()}const Is=Object.freeze(Object.defineProperty({__proto__:null,down:Ps,up:Es},Symbol.toStringTag,{value:"Module"}));async function zs(e){await e.schema.createTable("branding").addColumn("tenant_id","varchar(255)",t=>t.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 Ds(e){await e.schema.dropTable("branding").execute()}const As=Object.freeze(Object.defineProperty({__proto__:null,down:Ds,up:zs},Symbol.toStringTag,{value:"Module"}));async function Fs(e){}async function js(e){}const Rs=Object.freeze(Object.defineProperty({__proto__:null,down:js,up:Fs},Symbol.toStringTag,{value:"Module"}));async function Ms(e){}async function qs(e){}const Js=Object.freeze(Object.defineProperty({__proto__:null,down:qs,up:Ms},Symbol.toStringTag,{value:"Module"}));async function Ls(e){}async function Ks(e){}const Bs=Object.freeze(Object.defineProperty({__proto__:null,down:Ks,up:Ls},Symbol.toStringTag,{value:"Module"}));async function Us(e){}async function Qs(e){}const Ys=Object.freeze(Object.defineProperty({__proto__:null,down:Qs,up:Us},Symbol.toStringTag,{value:"Module"}));async function Hs(e){await e.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}async function Ws(e){await e.schema.dropTable("authentication_codes").execute()}const Gs=Object.freeze(Object.defineProperty({__proto__:null,down:Ws,up:Hs},Symbol.toStringTag,{value:"Module"}));async function Xs(e){}async function Vs(e){}const Zs=Object.freeze(Object.defineProperty({__proto__:null,down:Vs,up:Xs},Symbol.toStringTag,{value:"Module"}));async function ei(e){await e.schema.alterTable("otps").addColumn("ip","varchar(64)").execute()}async function ti(e){await e.schema.alterTable("otps").dropColumn("ip").execute()}const ai=Object.freeze(Object.defineProperty({__proto__:null,down:ti,up:ei},Symbol.toStringTag,{value:"Module"}));async function ni(e){await e.schema.alterTable("logs").dropColumn("user_agent").execute(),await e.schema.alterTable("logs").addColumn("user_agent","varchar(1024)").execute()}async function oi(e){await e.schema.alterTable("logs").dropColumn("user_agent").execute(),await e.schema.alterTable("logs").addColumn("user_agent","varchar(255)").execute()}const ri=Object.freeze(Object.defineProperty({__proto__:null,down:oi,up:ni},Symbol.toStringTag,{value:"Module"}));async function si(e){}async function ii(e){}const ci=Object.freeze(Object.defineProperty({__proto__:null,down:ii,up:si},Symbol.toStringTag,{value:"Module"}));async function li(e){await e.schema.createTable("hooks").addColumn("hook_id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("url","varchar(512)",t=>t.notNull()).addColumn("trigger_id","varchar(255)",t=>t.notNull()).addColumn("enabled","boolean",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).addColumn("synchronous","boolean",t=>t.defaultTo(!1).notNull()).addColumn("priority","integer").execute()}async function di(e){await e.schema.dropTable("hooks").execute()}const ui=Object.freeze(Object.defineProperty({__proto__:null,down:di,up:li},Symbol.toStringTag,{value:"Module"}));async function _i(e){}async function mi(e){}const hi=Object.freeze(Object.defineProperty({__proto__:null,down:mi,up:_i},Symbol.toStringTag,{value:"Module"}));async function pi(e){}async function fi(e){}const gi=Object.freeze(Object.defineProperty({__proto__:null,down:fi,up:pi},Symbol.toStringTag,{value:"Module"}));async function wi(e){await e.schema.createTable("logins").addColumn("login_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("authParams_client_id","varchar(255)",t=>t.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("authParams_organization","varchar(256)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("ip","varchar(255)").addColumn("useragent","varchar(512)").execute(),await e.schema.alterTable("passwords").addColumn("algorithm","varchar(16)").execute(),await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}async function yi(e){await e.schema.dropTable("logins").execute(),await e.schema.alterTable("passwords").dropColumn("algorithm").execute(),await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("code","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const vi=Object.freeze(Object.defineProperty({__proto__:null,down:yi,up:wi},Symbol.toStringTag,{value:"Module"}));async function Ci(e){}async function xi(e){}const Ti=Object.freeze(Object.defineProperty({__proto__:null,down:xi,up:Ci},Symbol.toStringTag,{value:"Module"}));async function Ni(e){await e.schema.alterTable("logins").addColumn("auth0Client","varchar(256)").execute()}async function bi(e){await e.schema.alterTable("logins").dropColumn("auth0Client").execute()}const Si=Object.freeze(Object.defineProperty({__proto__:null,down:bi,up:Ni},Symbol.toStringTag,{value:"Module"}));async function Oi(e){await e.schema.alterTable("logins").dropColumn("authParams_state").execute(),await e.schema.alterTable("logins").addColumn("authParams_state","varchar(8192)").execute()}async function ki(e){await e.schema.alterTable("logins").dropColumn("authParams_state").execute(),await e.schema.alterTable("logins").addColumn("authParams_state","varchar(511)").execute()}const $i=Object.freeze(Object.defineProperty({__proto__:null,down:ki,up:Oi},Symbol.toStringTag,{value:"Module"}));async function Ei(e){}async function Pi(e){}const Ii=Object.freeze(Object.defineProperty({__proto__:null,down:Pi,up:Ei},Symbol.toStringTag,{value:"Module"}));async function zi(e){}async function Di(e){}const Ai=Object.freeze(Object.defineProperty({__proto__:null,down:Di,up:zi},Symbol.toStringTag,{value:"Module"}));async function Fi(e){await e.schema.alterTable("logins").addColumn("authParams_nonce","varchar(255)").execute()}async function ji(e){await e.schema.alterTable("logins").dropColumn("nonce").execute()}const Ri=Object.freeze(Object.defineProperty({__proto__:null,down:ji,up:Fi},Symbol.toStringTag,{value:"Module"}));async function Mi(e){}async function qi(e){}const Ji=Object.freeze(Object.defineProperty({__proto__:null,down:qi,up:Mi},Symbol.toStringTag,{value:"Module"}));async function Li(e){}async function Ki(e){}const Bi=Object.freeze(Object.defineProperty({__proto__:null,down:Ki,up:Li},Symbol.toStringTag,{value:"Module"}));async function Ui(e){await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").addPrimaryKeyConstraint("PK_codes_code_id_code_type",["code_id","code_type"]).execute()}async function Qi(e){await e.schema.dropTable("codes").execute(),await e.schema.createTable("codes").addColumn("code_id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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"],t=>t.onDelete("cascade")).addColumn("code_type","varchar(255)",t=>t.notNull()).addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Yi=Object.freeze(Object.defineProperty({__proto__:null,down:Qi,up:Ui},Symbol.toStringTag,{value:"Module"}));async function Hi(e){await e.schema.dropTable("otps").execute(),await e.schema.dropTable("authentication_codes").execute()}async function Wi(e){await e.schema.alterTable("keys").addColumn("private_key","varchar(2048)").addColumn("public_key","varchar(2048)").execute(),await e.schema.createTable("otps").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute(),await e.schema.createTable("authentication_codes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("code","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Gi=Object.freeze(Object.defineProperty({__proto__:null,down:Wi,up:Hi},Symbol.toStringTag,{value:"Module"}));async function Xi(e){await e.schema.createIndex("IDX_logs_tenant_date_type_user").on("logs").columns(["tenant_id","date","type","user_id"]).execute()}async function Vi(e){await e.schema.dropIndex("IDX_logs_tenant_date_type_user").on("logs").execute()}const Zi=Object.freeze(Object.defineProperty({__proto__:null,down:Vi,up:Xi},Symbol.toStringTag,{value:"Module"}));async function ec(e){}async function tc(e){}const ac=Object.freeze(Object.defineProperty({__proto__:null,down:tc,up:ec},Symbol.toStringTag,{value:"Module"}));async function nc(e){await e.schema.createTable("prompt_settings").addColumn("tenant_id","varchar(64)",t=>t.primaryKey()).addColumn("universal_login_experience","varchar(16)",t=>t.defaultTo("new").notNull()).addColumn("identifier_first","boolean",t=>t.defaultTo(!0).notNull()).addColumn("password_first","boolean",t=>t.defaultTo(!1).notNull()).addColumn("webauthn_platform_first_factor","boolean",t=>t.defaultTo(!1).notNull()).execute()}async function oc(e){await e.schema.dropTable("prompt_settings").execute()}const rc=Object.freeze(Object.defineProperty({__proto__:null,down:oc,up:nc},Symbol.toStringTag,{value:"Module"}));async function sc(e){}async function ic(e){}const cc=Object.freeze(Object.defineProperty({__proto__:null,down:ic,up:sc},Symbol.toStringTag,{value:"Module"}));async function lc(e){}async function dc(e){}const uc=Object.freeze(Object.defineProperty({__proto__:null,down:dc,up:lc},Symbol.toStringTag,{value:"Module"}));async function _c(e){}async function mc(e){}const hc=Object.freeze(Object.defineProperty({__proto__:null,down:mc,up:_c},Symbol.toStringTag,{value:"Module"}));async function pc(e){await e.schema.alterTable("logins").addColumn("authParams_ui_locales","varchar(32)").execute()}async function fc(e){await e.schema.alterTable("logins").dropColumn("authParams_ui_locales").execute()}const gc=Object.freeze(Object.defineProperty({__proto__:null,down:fc,up:pc},Symbol.toStringTag,{value:"Module"}));async function wc(e){await e.schema.alterTable("logins").addColumn("authParams_prompt","varchar(16)").execute()}async function yc(e){await e.schema.alterTable("logins").dropColumn("authParams_prompt").execute()}const vc=Object.freeze(Object.defineProperty({__proto__:null,down:yc,up:wc},Symbol.toStringTag,{value:"Module"}));async function Cc(e){}async function xc(e){}const Tc=Object.freeze(Object.defineProperty({__proto__:null,down:xc,up:Cc},Symbol.toStringTag,{value:"Module"}));async function Nc(e){await e.schema.alterTable("logins").addColumn("authParams_act_as","varchar(255)").execute()}async function bc(e){await e.schema.alterTable("logins").dropColumn("authParam_act_as").execute()}const Sc=Object.freeze(Object.defineProperty({__proto__:null,down:bc,up:Nc},Symbol.toStringTag,{value:"Module"}));async function Oc(e){await e.schema.alterTable("codes").addColumn("code_verifier","varchar(128)").execute()}async function kc(e){await e.schema.alterTable("codes").dropColumn("code_verifier").execute()}const $c=Object.freeze(Object.defineProperty({__proto__:null,down:kc,up:Oc},Symbol.toStringTag,{value:"Module"}));async function Ec(e){await e.schema.createTable("email_providers").addColumn("tenant_id","varchar(255)",t=>t.primaryKey()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("enabled","boolean",t=>t.notNull()).addColumn("default_from_address","varchar(255)").addColumn("credentials","varchar(2048)",t=>t.notNull().defaultTo("{}")).addColumn("settings","varchar(2048)",t=>t.notNull().defaultTo("{}")).addColumn("created_at","varchar(29)",t=>t.notNull()).addColumn("updated_at","varchar(29)",t=>t.notNull()).execute()}async function Pc(e){await e.schema.dropTable("email_providers").execute()}const Ic=Object.freeze(Object.defineProperty({__proto__:null,down:Pc,up:Ec},Symbol.toStringTag,{value:"Module"}));async function zc(e){await e.schema.dropTable("tickets").execute()}async function Dc(e){await e.schema.createTable("tickets").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("client_id","varchar(255)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("email","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("expires_at","varchar(255)",t=>t.notNull()).addColumn("used_at","varchar(255)").execute()}const Ac=Object.freeze(Object.defineProperty({__proto__:null,down:Dc,up:zc},Symbol.toStringTag,{value:"Module"}));async function Fc(e){}async function jc(e){await e.schema.alterTable("logins").dropColumn("ip").dropColumn("useragent").execute()}const Rc=Object.freeze(Object.defineProperty({__proto__:null,down:jc,up:Fc},Symbol.toStringTag,{value:"Module"}));async function Mc(e){await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function qc(e){await e.schema.dropTable("refresh_tokens").execute()}const Jc=Object.freeze(Object.defineProperty({__proto__:null,down:qc,up:Mc},Symbol.toStringTag,{value:"Module"}));async function Lc(e){}async function Kc(e){}const Bc=Object.freeze(Object.defineProperty({__proto__:null,down:Kc,up:Lc},Symbol.toStringTag,{value:"Module"}));async function Uc(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("refresh_tokens").execute()}async function Qc(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}const Yc=Object.freeze(Object.defineProperty({__proto__:null,down:Qc,up:Uc},Symbol.toStringTag,{value:"Module"}));async function Hc(e){await e.schema.createTable("sessions_2").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("refresh_tokens_2").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_2_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function Wc(e){await e.schema.dropTable("sessions_2").execute(),await e.schema.dropTable("refresh_tokens_2").execute()}const Gc=Object.freeze(Object.defineProperty({__proto__:null,down:Wc,up:Hc},Symbol.toStringTag,{value:"Module"}));async function Xc(e){await e.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(21)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.notNull()).addColumn("primary","boolean",t=>t.notNull()).addColumn("status","varchar(50)",t=>t.notNull()).addColumn("type","varchar(50)",t=>t.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.dropTable("domains").execute()}async function Vc(e){await e.schema.dropTable("custom_domains").execute(),await e.schema.createTable("domains").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute()}const Zc=Object.freeze(Object.defineProperty({__proto__:null,down:Vc,up:Xc},Symbol.toStringTag,{value:"Module"}));async function el(e){}async function tl(e){await e.schema.alterTable("logins").dropColumn("authParams_organization").dropColumn("authorization_url").execute()}const al=Object.freeze(Object.defineProperty({__proto__:null,down:tl,up:el},Symbol.toStringTag,{value:"Module"}));async function nl(e){await e.schema.alterTable("logins").dropColumn("authorization_url").execute(),await e.schema.alterTable("logins").addColumn("authorization_url","varchar(2048)").execute()}async function ol(e){await e.schema.alterTable("logins").dropColumn("authorization_url").execute(),await e.schema.alterTable("logins").addColumn("authorization_url","varchar(1024)").execute()}const rl=Object.freeze(Object.defineProperty({__proto__:null,down:ol,up:nl},Symbol.toStringTag,{value:"Module"}));async function sl(e){}async function il(e){}const cl=Object.freeze(Object.defineProperty({__proto__:null,down:il,up:sl},Symbol.toStringTag,{value:"Module"}));async function ll(e){await e.schema.createTable("sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)").addColumn("user_id","varchar(255)").addForeignKeyConstraint("sessions_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("clients","varchar(1024)",t=>t.notNull()).execute(),await e.schema.createTable("login_sessions").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",t=>t.references("sessions.id").onDelete("cascade")).addColumn("csrf_token","varchar(21)",t=>t.notNull()).addColumn("authParams_client_id","varchar(255)",t=>t.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(2048)").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","varchar(255)").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","varchar(1024)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)",t=>t.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","varchar(1024)").addColumn("auth0Client","varchar(255)").execute(),await e.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("client_id","varchar(21)",t=>t.references("applications.id").onDelete("cascade").notNull()).addColumn("tenant_id","varchar(255)").addColumn("session_id","varchar(21)",t=>t.notNull()).addColumn("user_id","varchar(255)").addForeignKeyConstraint("refresh_tokens_user_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],t=>t.onDelete("cascade")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addColumn("device","varchar(2048)",t=>t.notNull()).addColumn("resource_servers","varchar(2048)",t=>t.notNull()).addColumn("rotating","boolean",t=>t.notNull()).execute()}async function dl(e){await e.schema.dropTable("sessions").execute(),await e.schema.dropTable("login_sessions").execute(),await e.schema.dropTable("refresh_tokens").execute()}const ul=Object.freeze(Object.defineProperty({__proto__:null,down:dl,up:ll},Symbol.toStringTag,{value:"Module"}));async function _l(e){await e.schema.dropTable("logins").execute(),await e.schema.dropTable("sessions_2").execute(),await e.schema.dropTable("refresh_tokens_2").execute()}async function ml(e){}const hl=Object.freeze(Object.defineProperty({__proto__:null,down:ml,up:_l},Symbol.toStringTag,{value:"Module"}));async function pl(e){await e.schema.dropTable("custom_domains").execute(),await e.schema.createTable("custom_domains").addColumn("custom_domain_id","varchar(256)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("domain","varchar(255)",t=>t.notNull()).addColumn("primary","boolean",t=>t.notNull()).addColumn("status","varchar(50)",t=>t.notNull()).addColumn("type","varchar(50)",t=>t.notNull()).addColumn("origin_domain_name","varchar(255)").addColumn("verification","varchar(2048)").addColumn("custom_client_ip_header","varchar(50)").addColumn("tls_policy","varchar(50)").addColumn("domain_metadata","varchar(2048)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute()}async function fl(e){}const gl=Object.freeze(Object.defineProperty({__proto__:null,down:fl,up:pl},Symbol.toStringTag,{value:"Module"}));async function wl(e){}async function yl(e){await e.schema.alterTable("users").dropColumn("phone_number").dropColumn("phone_verified").dropColumn("username").execute()}const vl=Object.freeze(Object.defineProperty({__proto__:null,down:yl,up:wl},Symbol.toStringTag,{value:"Module"}));async function Cl(e){await e.schema.createTable("forms").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(255)",t=>t.notNull()).addColumn("messages","varchar(255)").addColumn("languages","varchar(255)").addColumn("translations","varchar(4096)").addColumn("nodes","varchar(4096)").addColumn("start","varchar(255)").addColumn("ending","varchar(255)").addColumn("style","varchar(1042)").addColumn("created_at","varchar(255)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createIndex("forms_tenant_id_idx").on("forms").column("tenant_id").execute()}async function xl(e){await e.schema.dropTable("forms").execute()}const Tl=Object.freeze(Object.defineProperty({__proto__:null,down:xl,up:Cl},Symbol.toStringTag,{value:"Module"}));async function Nl(e){await e.schema.alterTable("hooks").addColumn("form_id","text").execute(),await e.schema.alterTable("hooks").addColumn("url_tmp","varchar(512)").execute(),await e.updateTable("hooks").set(t=>({url_tmp:t.ref("url")})).execute(),await e.schema.alterTable("hooks").dropColumn("url").execute(),await e.schema.alterTable("hooks").renameColumn("url_tmp","url").execute()}async function bl(e){await e.schema.dropTable("hooks").ifExists().execute(),await e.schema.createTable("hooks").addColumn("hook_id","text",t=>t.primaryKey()).addColumn("tenant_id","text",t=>t.notNull()).addColumn("trigger_id","text",t=>t.notNull()).addColumn("enabled","integer",t=>t.notNull().defaultTo(0)).addColumn("url","varchar(512)",t=>t.notNull()).addColumn("synchronous","integer",t=>t.notNull().defaultTo(0)).addColumn("priority","integer").addColumn("created_at","text",t=>t.notNull()).addColumn("updated_at","text",t=>t.notNull()).execute()}const Sl=Object.freeze(Object.defineProperty({__proto__:null,down:bl,up:Nl},Symbol.toStringTag,{value:"Module"}));async function Ol(e){await e.schema.alterTable("login_sessions").addColumn("login_completed","boolean",t=>t.notNull().defaultTo(0)).execute()}async function kl(e){await e.schema.alterTable("login_sessions").dropColumn("login_completed").execute()}const $l=Object.freeze(Object.defineProperty({__proto__:null,down:kl,up:Ol},Symbol.toStringTag,{value:"Module"}));async function El(e){await e.schema.alterTable("sessions").addColumn("login_session_id","varchar(21)",t=>t.references("login_sessions.id").onDelete("set null")).execute()}async function Pl(e){await e.schema.alterTable("sessions").dropColumn("login_session_id").execute()}const Il=Object.freeze(Object.defineProperty({__proto__:null,down:Pl,up:El},Symbol.toStringTag,{value:"Module"}));async function zl(e){await e.schema.createIndex("IDX_sessions_login_session_id").on("sessions").column("login_session_id").execute()}async function Dl(e){await e.schema.dropIndex("IDX_sessions_login_session_id").on("sessions").execute()}const Al=Object.freeze(Object.defineProperty({__proto__:null,down:Dl,up:zl},Symbol.toStringTag,{value:"Module"}));async function Fl(e){await e.schema.alterTable("codes").addColumn("code_challenge","varchar(128)").execute(),await e.schema.alterTable("codes").addColumn("code_challenge_method","varchar(5)").execute()}async function jl(e){await e.schema.alterTable("codes").dropColumn("code_challenge").execute(),await e.schema.alterTable("codes").dropColumn("code_challenge_method").execute()}const Rl=Object.freeze(Object.defineProperty({__proto__:null,down:jl,up:Fl},Symbol.toStringTag,{value:"Module"}));async function Ml(e){await e.schema.alterTable("codes").addColumn("redirect_uri","varchar(1024)").execute()}async function ql(e){await e.schema.alterTable("codes").dropColumn("redirect_uri").execute()}const Jl=Object.freeze(Object.defineProperty({__proto__:null,down:ql,up:Ml},Symbol.toStringTag,{value:"Module"}));async function Ll(e){await e.schema.alterTable("codes").addColumn("nonce","varchar(1024)").execute(),await e.schema.alterTable("codes").addColumn("state","varchar(2048)").execute()}async function Kl(e){await e.schema.alterTable("codes").dropColumn("nonce").execute(),await e.schema.alterTable("codes").dropColumn("state").execute()}const Bl=Object.freeze(Object.defineProperty({__proto__:null,down:Kl,up:Ll},Symbol.toStringTag,{value:"Module"}));async function Ul(e){await e.schema.createTable("themes").addColumn("tenant_id","varchar(255)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("themeId","varchar(255)",t=>t.notNull()).addColumn("displayName","varchar(255)",t=>t.notNull()).addColumn("colors_primary_button_label","varchar(24)",t=>t.notNull()).addColumn("colors_primary_button","varchar(24)",t=>t.notNull()).addColumn("colors_secondary_button_border","varchar(24)",t=>t.notNull()).addColumn("colors_secondary_button_label","varchar(24)",t=>t.notNull()).addColumn("colors_base_focus_color","varchar(24)",t=>t.notNull()).addColumn("colors_base_hover_color","varchar(24)",t=>t.notNull()).addColumn("colors_body_text","varchar(24)",t=>t.notNull()).addColumn("colors_captcha_widget_theme","varchar(24)",t=>t.notNull()).addColumn("colors_error","varchar(24)",t=>t.notNull()).addColumn("colors_header","varchar(24)",t=>t.notNull()).addColumn("colors_icons","varchar(24)",t=>t.notNull()).addColumn("colors_input_background","varchar(24)",t=>t.notNull()).addColumn("colors_input_border","varchar(24)",t=>t.notNull()).addColumn("colors_input_filled_text","varchar(24)",t=>t.notNull()).addColumn("colors_input_labels_placeholders","varchar(24)",t=>t.notNull()).addColumn("colors_links_focused_components","varchar(24)",t=>t.notNull()).addColumn("colors_success","varchar(24)",t=>t.notNull()).addColumn("colors_widget_background","varchar(24)",t=>t.notNull()).addColumn("colors_widget_border","varchar(24)",t=>t.notNull()).addColumn("borders_button_border_radius","integer",t=>t.notNull()).addColumn("borders_button_border_weight","integer",t=>t.notNull()).addColumn("borders_buttons_style","varchar(24)",t=>t.notNull()).addColumn("borders_input_border_radius","integer",t=>t.notNull()).addColumn("borders_input_border_weight","integer",t=>t.notNull()).addColumn("borders_inputs_style","varchar(24)",t=>t.notNull()).addColumn("borders_show_widget_shadow","boolean",t=>t.notNull()).addColumn("borders_widget_border_weight","integer",t=>t.notNull()).addColumn("borders_widget_corner_radius","integer",t=>t.notNull()).addColumn("fonts_body_text_bold","integer",t=>t.notNull()).addColumn("fonts_body_text_size","integer",t=>t.notNull()).addColumn("fonts_buttons_text_bold","integer",t=>t.notNull()).addColumn("fonts_buttons_text_size","integer",t=>t.notNull()).addColumn("fonts_font_url","varchar(255)",t=>t.notNull()).addColumn("fonts_input_labels_bold","integer",t=>t.notNull()).addColumn("fonts_input_labels_size","integer",t=>t.notNull()).addColumn("fonts_links_bold","boolean",t=>t.notNull()).addColumn("fonts_links_size","integer",t=>t.notNull()).addColumn("fonts_links_style","varchar(24)",t=>t.notNull()).addColumn("fonts_reference_text_size","integer",t=>t.notNull()).addColumn("fonts_subtitle_bold","boolean",t=>t.notNull()).addColumn("fonts_subtitle_size","integer",t=>t.notNull()).addColumn("fonts_title_bold","boolean",t=>t.notNull()).addColumn("fonts_title_size","integer",t=>t.notNull()).addColumn("page_background_background_color","varchar(24)",t=>t.notNull()).addColumn("page_background_background_image_url","varchar(255)",t=>t.notNull()).addColumn("page_background_page_layout","varchar(24)",t=>t.notNull()).addColumn("widget_header_text_alignment","varchar(24)",t=>t.notNull()).addColumn("widget_logo_height","integer",t=>t.notNull()).addColumn("widget_logo_position","varchar(24)",t=>t.notNull()).addColumn("widget_logo_url","varchar(255)",t=>t.notNull()).addColumn("widget_social_buttons_layout","varchar(24)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("themes_pkey",["tenant_id","themeId"]).execute(),await e.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute()}async function Ql(e){await e.schema.dropTable("themes").execute()}const Yl=Object.freeze(Object.defineProperty({__proto__:null,down:Ql,up:Ul},Symbol.toStringTag,{value:"Module"}));async function Hl(e){await e.schema.createTable("resource_servers").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("identifier","varchar(191)",t=>t.notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("scopes","varchar(4096)").addColumn("signing_alg","varchar(64)").addColumn("signing_secret","varchar(2048)").addColumn("token_lifetime","integer").addColumn("token_lifetime_for_web","integer").addColumn("skip_consent_for_verifiable_first_party_clients","integer").addColumn("allow_offline_access","integer").addColumn("verification_key","varchar(4096)").addColumn("options","varchar(4096)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("resource_servers_pk",["tenant_id","id"]).execute(),await e.schema.createIndex("resource_servers_tenant_identifier_uq").on("resource_servers").columns(["tenant_id","identifier"]).unique().execute(),await e.schema.createTable("roles").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(50)",t=>t.notNull()).addColumn("description","varchar(255)").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("roles_pk",["tenant_id","id"]).execute(),await e.schema.createIndex("roles_tenant_name_uq").on("roles").columns(["tenant_id","name"]).unique().execute()}async function Wl(e){await e.schema.dropTable("roles").execute(),await e.schema.dropTable("resource_servers").execute()}const Gl=Object.freeze(Object.defineProperty({__proto__:null,down:Wl,up:Hl},Symbol.toStringTag,{value:"Module"}));async function Xl(e){await e.schema.createTable("role_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("role_permissions_pk",["tenant_id","role_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("role_permissions_permission_fk").on("role_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute()}async function Vl(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("role_permissions").execute()}const Zl=Object.freeze(Object.defineProperty({__proto__:null,down:Vl,up:Xl},Symbol.toStringTag,{value:"Module"}));async function ed(e){await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}async function td(e){await e.schema.dropTable("user_roles").execute()}const ad=Object.freeze(Object.defineProperty({__proto__:null,down:td,up:ed},Symbol.toStringTag,{value:"Module"}));async function nd(e){}async function od(e){await e.schema.alterTable("keys").dropColumn("connection").execute(),await e.schema.alterTable("keys").modifyColumn("cert","varchar(2048)").execute(),await e.schema.alterTable("keys").modifyColumn("pkcs7","varchar(2048)").execute(),await e.schema.alterTable("keys").dropColumn("type").execute()}const rd=Object.freeze(Object.defineProperty({__proto__:null,down:od,up:nd},Symbol.toStringTag,{value:"Module"}));async function sd(e){await e.schema.createTable("organizations").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(256)",t=>t.notNull()).addColumn("display_name","varchar(256)").addColumn("branding","text").addColumn("metadata","text").addColumn("enabled_connections","text").addColumn("token_quota","text").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_organizations_tenant_name_unique").on("organizations").columns(["tenant_id","name"]).unique().execute()}async function id(e){await e.schema.dropTable("organizations").execute()}const cd=Object.freeze(Object.defineProperty({__proto__:null,down:id,up:sd},Symbol.toStringTag,{value:"Module"}));async function ld(e){await e.schema.createTable("user_organizations").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addUniqueConstraint("user_organizations_unique",["tenant_id","user_id","organization_id"]).execute(),await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_user_organizations_user_id").on("user_organizations").column("user_id").execute(),await e.schema.createIndex("idx_user_organizations_organization_id").on("user_organizations").column("organization_id").execute()}async function dd(e){await e.schema.dropTable("user_organizations").execute()}const ud=Object.freeze(Object.defineProperty({__proto__:null,down:dd,up:ld},Symbol.toStringTag,{value:"Module"}));async function _d(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("user_roles").execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(21)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull().defaultTo("")).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name","organization_id"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_organization_fk").on("user_permissions").column("organization_id").execute(),await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("organization_id","varchar(191)",t=>t.notNull().defaultTo("")).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id","organization_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("user_roles_organization_fk").on("user_roles").column("organization_id").execute()}async function md(e){await e.schema.dropTable("user_permissions").execute(),await e.schema.dropTable("user_roles").execute(),await e.schema.createTable("user_permissions").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("resource_server_identifier","varchar(191)",t=>t.notNull()).addColumn("permission_name","varchar(191)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_permissions_pk",["tenant_id","user_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createIndex("user_permissions_user_fk").on("user_permissions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_permissions_permission_fk").on("user_permissions").columns(["tenant_id","resource_server_identifier","permission_name"]).execute(),await e.schema.createTable("user_roles").addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("user_id","varchar(191)",t=>t.notNull()).addColumn("role_id","varchar(21)",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("user_roles_pk",["tenant_id","user_id","role_id"]).execute(),await e.schema.createIndex("user_roles_user_fk").on("user_roles").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("user_roles_role_fk").on("user_roles").columns(["tenant_id","role_id"]).execute()}const hd=Object.freeze(Object.defineProperty({__proto__:null,down:md,up:_d},Symbol.toStringTag,{value:"Module"}));async function pd(e){await e.schema.createTable("clients").addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("description","varchar(140)").addColumn("global","integer",t=>t.defaultTo(0).notNull()).addColumn("client_secret","varchar(255)").addColumn("app_type","varchar(64)",t=>t.defaultTo("regular_web")).addColumn("logo_uri","varchar(2083)").addColumn("is_first_party","integer",t=>t.defaultTo(0).notNull()).addColumn("oidc_conformant","integer",t=>t.defaultTo(1).notNull()).addColumn("callbacks","text",t=>t.notNull()).addColumn("allowed_origins","text",t=>t.notNull()).addColumn("web_origins","text",t=>t.notNull()).addColumn("client_aliases","text",t=>t.notNull()).addColumn("allowed_clients","text",t=>t.notNull()).addColumn("allowed_logout_urls","text",t=>t.notNull()).addColumn("session_transfer","text",t=>t.notNull()).addColumn("oidc_logout","text",t=>t.notNull()).addColumn("grant_types","text",t=>t.notNull()).addColumn("jwt_configuration","text",t=>t.notNull()).addColumn("signing_keys","text",t=>t.notNull()).addColumn("encryption_key","text",t=>t.notNull()).addColumn("sso","integer",t=>t.defaultTo(0).notNull()).addColumn("sso_disabled","integer",t=>t.defaultTo(1).notNull()).addColumn("cross_origin_authentication","integer",t=>t.defaultTo(0).notNull()).addColumn("cross_origin_loc","varchar(2083)").addColumn("custom_login_page_on","integer",t=>t.defaultTo(0).notNull()).addColumn("custom_login_page","text").addColumn("custom_login_page_preview","text").addColumn("form_template","text").addColumn("addons","text",t=>t.notNull()).addColumn("token_endpoint_auth_method","varchar(64)",t=>t.defaultTo("client_secret_basic")).addColumn("client_metadata","text",t=>t.notNull()).addColumn("mobile","text",t=>t.notNull()).addColumn("initiate_login_uri","varchar(2083)").addColumn("native_social_login","text",t=>t.notNull()).addColumn("refresh_token","text",t=>t.notNull()).addColumn("default_organization","text",t=>t.notNull()).addColumn("organization_usage","varchar(32)",t=>t.defaultTo("deny")).addColumn("organization_require_behavior","varchar(32)",t=>t.defaultTo("no_prompt")).addColumn("client_authentication_methods","text",t=>t.notNull()).addColumn("require_pushed_authorization_requests","integer",t=>t.defaultTo(0).notNull()).addColumn("require_proof_of_possession","integer",t=>t.defaultTo(0).notNull()).addColumn("signed_request_object","text",t=>t.notNull()).addColumn("compliance_level","varchar(64)").addColumn("par_request_expiry","integer").addColumn("token_quota","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("clients_tenant_id_client_id",["tenant_id","client_id"]).execute()}async function fd(e){await e.schema.dropTable("clients").execute()}const gd=Object.freeze(Object.defineProperty({__proto__:null,down:fd,up:pd},Symbol.toStringTag,{value:"Module"}));let be=!1;function Se(e){be=e}function w(...e){be&&console.log(...e)}function z(...e){console.warn(...e)}async function Oe(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function wd(e){await Oe(e)==="mysql"?await yd(e):await vd(e)}async function yd(e){await e.transaction().execute(async t=>{const a=await h.sql`
|
|
2
2
|
SELECT
|
|
3
3
|
rc.CONSTRAINT_NAME,
|
|
4
4
|
rc.TABLE_NAME
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
authParams_nonce, authParams_code_challenge_method, authParams_code_challenge, authParams_redirect_uri,
|
|
30
30
|
authParams_organization, authParams_prompt, authParams_act_as, authParams_ui_locales, authorization_url,
|
|
31
31
|
created_at, updated_at, expires_at, ip, useragent, auth0Client, login_completed
|
|
32
|
-
FROM login_sessions_backup`.execute(t),await h.sql`DROP TABLE sessions_backup`.execute(t),await h.sql`DROP TABLE login_sessions_backup`.execute(t),await h.sql`DROP TABLE refresh_tokens_backup`.execute(t)})}async function
|
|
32
|
+
FROM login_sessions_backup`.execute(t),await h.sql`DROP TABLE sessions_backup`.execute(t),await h.sql`DROP TABLE login_sessions_backup`.execute(t),await h.sql`DROP TABLE refresh_tokens_backup`.execute(t)})}async function vd(e){await e.transaction().execute(async t=>{const a=["sessions_backup","login_sessions_backup","refresh_tokens_backup"];for(const n of a)try{await h.sql`DROP TABLE IF EXISTS ${h.sql.raw(n)}`.execute(t)}catch(o){console.warn(`Failed to drop backup table ${n}:`,o)}await h.sql`CREATE TABLE sessions_backup AS SELECT * FROM sessions`.execute(t),await h.sql`CREATE TABLE login_sessions_backup AS SELECT * FROM login_sessions`.execute(t),await h.sql`CREATE TABLE refresh_tokens_backup AS SELECT * FROM refresh_tokens`.execute(t),await h.sql`DROP TABLE sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await h.sql`DROP TABLE refresh_tokens`.execute(t),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(191)",n=>n.notNull()).addColumn("session_id","varchar(21)",n=>n.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","text",n=>n.notNull()).addColumn("device","text",n=>n.notNull()).addColumn("rotating","boolean",n=>n.notNull()).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").addPrimaryKeyConstraint("refresh_tokens_pk",["tenant_id","id"]).addForeignKeyConstraint("refresh_tokens_client_fk",["tenant_id","client_id"],"clients",["tenant_id","client_id"],n=>n.onDelete("cascade")).execute(),await t.schema.createTable("sessions").addColumn("id","varchar(21)",n=>n.notNull()).addColumn("tenant_id","varchar(191)",n=>n.notNull()).addColumn("user_id","varchar(255)").addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("authenticated_at","varchar(35)").addColumn("last_interaction_at","varchar(35)").addColumn("used_at","varchar(35)").addColumn("revoked_at","varchar(35)").addColumn("device","text",n=>n.notNull()).addColumn("clients","text",n=>n.notNull()).addColumn("login_session_id","varchar(21)").addPrimaryKeyConstraint("sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("sessions_user_fk",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute(),await t.schema.createTable("login_sessions").addColumn("id","varchar(21)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)").addColumn("csrf_token","varchar(21)",n=>n.notNull()).addColumn("authParams_client_id","varchar(191)",n=>n.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","text").addColumn("authParams_state","text").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","text").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authorization_url","text").addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("expires_at","varchar(35)",n=>n.notNull()).addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("login_completed","integer",n=>n.defaultTo(0)).addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_client_fk",["tenant_id","authParams_client_id"],"clients",["tenant_id","client_id"],n=>n.onDelete("cascade")).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],n=>n.onDelete("cascade")).execute(),await h.sql`INSERT INTO refresh_tokens
|
|
33
33
|
SELECT id, tenant_id, client_id, session_id, user_id, resource_servers, device, rotating,
|
|
34
34
|
created_at, expires_at, idle_expires_at, last_exchanged_at
|
|
35
35
|
FROM refresh_tokens_backup`.execute(t),await h.sql`INSERT INTO sessions
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
authParams_nonce, authParams_code_challenge_method, authParams_code_challenge, authParams_redirect_uri,
|
|
42
42
|
authParams_organization, authParams_prompt, authParams_act_as, authParams_ui_locales, authorization_url,
|
|
43
43
|
created_at, updated_at, expires_at, ip, useragent, auth0Client, login_completed
|
|
44
|
-
FROM login_sessions_backup`.execute(t),await h.sql`DROP TABLE sessions_backup`.execute(t),await h.sql`DROP TABLE login_sessions_backup`.execute(t),await h.sql`DROP TABLE refresh_tokens_backup`.execute(t)})}async function
|
|
44
|
+
FROM login_sessions_backup`.execute(t),await h.sql`DROP TABLE sessions_backup`.execute(t),await h.sql`DROP TABLE login_sessions_backup`.execute(t),await h.sql`DROP TABLE refresh_tokens_backup`.execute(t)})}async function Cd(e){await Oe(e)==="mysql"?await xd(e):await Td(e)}async function xd(e){await e.transaction().execute(async t=>{await h.sql`ALTER TABLE refresh_tokens DROP FOREIGN KEY refresh_tokens_client_fk`.execute(t),await h.sql`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(t),await h.sql`ALTER TABLE refresh_tokens DROP PRIMARY KEY`.execute(t),await h.sql`ALTER TABLE refresh_tokens ADD PRIMARY KEY (id)`.execute(t),await h.sql`ALTER TABLE sessions DROP PRIMARY KEY`.execute(t),await h.sql`ALTER TABLE sessions ADD PRIMARY KEY (id)`.execute(t),await h.sql`ALTER TABLE login_sessions DROP PRIMARY KEY`.execute(t),await h.sql`ALTER TABLE login_sessions ADD PRIMARY KEY (id)`.execute(t),await h.sql`ALTER TABLE refresh_tokens
|
|
45
45
|
ADD CONSTRAINT refresh_tokens_application_fk
|
|
46
46
|
FOREIGN KEY (client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(t),await h.sql`ALTER TABLE login_sessions
|
|
47
47
|
ADD CONSTRAINT login_sessions_application_fk
|
|
48
|
-
FOREIGN KEY (authParams_client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(t)})}async function
|
|
48
|
+
FOREIGN KEY (authParams_client_id) REFERENCES applications(id) ON DELETE CASCADE`.execute(t)})}async function Td(e){await e.transaction().execute(async t=>{await h.sql`CREATE TABLE refresh_tokens_temp AS SELECT * FROM refresh_tokens`.execute(t),await h.sql`DROP TABLE refresh_tokens`.execute(t),await t.schema.createTable("refresh_tokens").addColumn("id","varchar(21)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("client_id","varchar(21)",a=>a.references("applications.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)",a=>a.notNull()).addColumn("user_id","varchar(255)").addColumn("resource_servers","varchar(255)",a=>a.notNull()).addColumn("device","varchar(255)",a=>a.notNull()).addColumn("rotating","boolean",a=>a.notNull()).addColumn("created_at","varchar(35)",a=>a.notNull()).addColumn("expires_at","varchar(35)").addColumn("idle_expires_at","varchar(35)").addColumn("last_exchanged_at","varchar(35)").execute(),await h.sql`INSERT INTO refresh_tokens
|
|
49
49
|
SELECT id, tenant_id, client_id, session_id, user_id, resource_servers, device, rotating,
|
|
50
50
|
created_at, expires_at, idle_expires_at, last_exchanged_at
|
|
51
51
|
FROM refresh_tokens_temp`.execute(t),await h.sql`DROP TABLE refresh_tokens_temp`.execute(t),await h.sql`CREATE TABLE login_sessions_temp AS SELECT * FROM login_sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await t.schema.createTable("login_sessions").addColumn("id","varchar(21)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(21)").addColumn("csrf_token","varchar(21)",a=>a.notNull()).addColumn("authParams_client_id","varchar(191)",a=>a.references("applications.id").onDelete("cascade").notNull()).execute(),await h.sql`INSERT INTO login_sessions (id, tenant_id, session_id, csrf_token, authParams_client_id)
|
|
52
52
|
SELECT id, tenant_id, session_id, csrf_token, authParams_client_id
|
|
53
|
-
FROM login_sessions_temp`.execute(t),await h.sql`DROP TABLE login_sessions_temp`.execute(t)})}const Td=Object.freeze(Object.defineProperty({__proto__:null,down:vd,up:gd},Symbol.toStringTag,{value:"Module"}));async function Nd(e){await e.schema.createTable("client_grants").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("audience","varchar(191)",t=>t.notNull()).addColumn("scope","text",t=>t.defaultTo("[]")).addColumn("organization_usage","varchar(32)").addColumn("allow_any_organization","integer",t=>t.defaultTo(0)).addColumn("is_system","integer",t=>t.defaultTo(0)).addColumn("subject_type","varchar(32)").addColumn("authorization_details_types","text",t=>t.defaultTo("[]")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("pk_client_grants",["tenant_id","id"]).addForeignKeyConstraint("fk_client_grants_clients",["tenant_id","client_id"],"clients",["tenant_id","client_id"],t=>t.onDelete("cascade")).execute(),await e.schema.createIndex("uq_client_grants_tenant_client_audience").on("client_grants").columns(["tenant_id","client_id","audience"]).unique().execute(),await e.schema.createIndex("idx_client_grants_audience").on("client_grants").columns(["audience"]).execute()}async function bd(e){await e.schema.dropTable("client_grants").execute()}const Sd=Object.freeze(Object.defineProperty({__proto__:null,down:bd,up:Nd},Symbol.toStringTag,{value:"Module"}));async function Od(e){await e.schema.dropTable("applications").execute()}async function kd(e){await e.schema.createTable("applications").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("client_secret","varchar(255)").addColumn("callbacks","text",t=>t.defaultTo("[]")).addColumn("allowed_origins","text",t=>t.defaultTo("[]")).addColumn("web_origins","text",t=>t.defaultTo("[]")).addColumn("allowed_logout_urls","text",t=>t.defaultTo("[]")).addColumn("allowed_clients","text",t=>t.defaultTo("[]")).addColumn("disable_sign_ups","integer",t=>t.defaultTo(0)).addColumn("addons","text",t=>t.defaultTo("{}")).addColumn("client_metadata","text",t=>t.defaultTo("{}")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("pk_applications",["tenant_id","id"]).execute(),await e.schema.createIndex("idx_applications_tenant_id").on("applications").columns(["tenant_id"]).execute()}const $d=Object.freeze(Object.defineProperty({__proto__:null,down:kd,up:Od},Symbol.toStringTag,{value:"Module"}));async function Ed(e){await e.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function Pd(e){await e.schema.dropIndex("users_phone_tenant_provider_index").execute()}const Id=Object.freeze(Object.defineProperty({__proto__:null,down:Pd,up:Ed},Symbol.toStringTag,{value:"Module"}));async function zd(e){await e.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Dd(e){await e.schema.dropIndex("login_sessions_id_index").execute()}const Ad=Object.freeze(Object.defineProperty({__proto__:null,down:Dd,up:zd},Symbol.toStringTag,{value:"Module"}));async function Fd(e){await e.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function jd(e){await e.schema.dropIndex("connections_tenant_id_index").execute()}const Rd=Object.freeze(Object.defineProperty({__proto__:null,down:jd,up:Fd},Symbol.toStringTag,{value:"Module"}));async function Md(e){await e.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function qd(e){await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const Jd=Object.freeze(Object.defineProperty({__proto__:null,down:qd,up:Md},Symbol.toStringTag,{value:"Module"}));async function Ld(e){await e.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute()}async function Kd(e){await e.schema.dropTable("tenant_settings").execute()}const Bd=Object.freeze(Object.defineProperty({__proto__:null,down:Kd,up:Ld},Symbol.toStringTag,{value:"Module"}));async function Ud(e){if(await e.schema.alterTable("tenants").addColumn("idle_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("session_cookie","text").execute(),await e.schema.alterTable("tenants").addColumn("allowed_logout_urls","text").execute(),await e.schema.alterTable("tenants").addColumn("ephemeral_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("idle_ephemeral_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("default_redirection_uri","text").execute(),await e.schema.alterTable("tenants").addColumn("enabled_locales","text").execute(),await e.schema.alterTable("tenants").addColumn("default_directory","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("error_page","text").execute(),await e.schema.alterTable("tenants").addColumn("flags","text").execute(),await e.schema.alterTable("tenants").addColumn("friendly_name","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("picture_url","text").execute(),await e.schema.alterTable("tenants").addColumn("support_email","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("sandbox_version","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("sandbox_versions_available","text").execute(),await e.schema.alterTable("tenants").addColumn("legacy_sandbox_version","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("change_password","text").execute(),await e.schema.alterTable("tenants").addColumn("guardian_mfa_page","text").execute(),await e.schema.alterTable("tenants").addColumn("device_flow","text").execute(),await e.schema.alterTable("tenants").addColumn("default_token_quota","text").execute(),await e.schema.alterTable("tenants").addColumn("default_audience","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("default_organization","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("sessions","text").execute(),await e.schema.alterTable("tenants").addColumn("oidc_logout","text").execute(),await e.schema.alterTable("tenants").addColumn("allow_organization_name_in_authentication_api","integer").execute(),await e.schema.alterTable("tenants").addColumn("customize_mfa_in_postlogin_action","integer").execute(),await e.schema.alterTable("tenants").addColumn("acr_values_supported","text").execute(),await e.schema.alterTable("tenants").addColumn("mtls","text").execute(),await e.schema.alterTable("tenants").addColumn("pushed_authorization_requests_supported","integer").execute(),await e.schema.alterTable("tenants").addColumn("authorization_response_iss_parameter_supported","integer").execute(),await e.updateTable("tenants").set({friendly_name:h.sql`name`}).execute(),await e.schema.alterTable("tenants").dropColumn("language").execute(),await e.schema.alterTable("tenants").dropColumn("logo").execute(),await e.schema.alterTable("tenants").dropColumn("primary_color").execute(),await e.schema.alterTable("tenants").dropColumn("secondary_color").execute(),await e.schema.alterTable("tenants").dropColumn("name").execute(),(await e.selectFrom("tenant_settings").select("tenant_id").limit(1).execute()).length>0){const a=await e.selectFrom("tenant_settings").selectAll().execute();for(const n of a)await e.updateTable("tenants").set({idle_session_lifetime:n.idle_session_lifetime,session_lifetime:n.session_lifetime,session_cookie:n.session_cookie,enable_client_connections:n.enable_client_connections,default_redirection_uri:n.default_redirection_uri,enabled_locales:n.enabled_locales,default_directory:n.default_directory,error_page:n.error_page,flags:n.flags,friendly_name:n.friendly_name,picture_url:n.picture_url,support_email:n.support_email,support_url:n.support_url,sandbox_version:n.sandbox_version,sandbox_versions_available:n.sandbox_versions_available,change_password:n.change_password,guardian_mfa_page:n.guardian_mfa_page,default_audience:n.default_audience,default_organization:n.default_organization,sessions:n.sessions}).where("id","=",n.tenant_id).execute()}await e.schema.dropTable("tenant_settings").execute()}async function Qd(e){await e.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",a=>a.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute();const t=await e.selectFrom("tenants").select(["id","idle_session_lifetime","session_lifetime","session_cookie","enable_client_connections","default_redirection_uri","enabled_locales","default_directory","error_page","flags","friendly_name","picture_url","support_email","support_url","sandbox_version","sandbox_versions_available","change_password","guardian_mfa_page","default_audience","default_organization","sessions"]).execute();for(const a of t)(a.idle_session_lifetime!==null||a.session_lifetime!==null||a.session_cookie!==null||a.enable_client_connections!==null||a.default_redirection_uri!==null||a.enabled_locales!==null||a.default_directory!==null||a.error_page!==null||a.flags!==null||a.friendly_name!==null||a.picture_url!==null||a.support_email!==null||a.support_url!==null||a.sandbox_version!==null||a.sandbox_versions_available!==null||a.change_password!==null||a.guardian_mfa_page!==null||a.default_audience!==null||a.default_organization!==null||a.sessions!==null)&&await e.insertInto("tenant_settings").values({tenant_id:a.id,idle_session_lifetime:a.idle_session_lifetime,session_lifetime:a.session_lifetime,session_cookie:a.session_cookie,enable_client_connections:a.enable_client_connections,default_redirection_uri:a.default_redirection_uri,enabled_locales:a.enabled_locales,default_directory:a.default_directory,error_page:a.error_page,flags:a.flags,friendly_name:a.friendly_name,picture_url:a.picture_url,support_email:a.support_email,support_url:a.support_url,sandbox_version:a.sandbox_version,sandbox_versions_available:a.sandbox_versions_available,change_password:a.change_password,guardian_mfa_page:a.guardian_mfa_page,default_audience:a.default_audience,default_organization:a.default_organization,sessions:a.sessions}).execute();await e.schema.alterTable("tenants").dropColumn("idle_session_lifetime").dropColumn("session_lifetime").dropColumn("session_cookie").dropColumn("enable_client_connections").dropColumn("default_redirection_uri").dropColumn("enabled_locales").dropColumn("default_directory").dropColumn("error_page").dropColumn("flags").dropColumn("friendly_name").dropColumn("picture_url").dropColumn("support_email").dropColumn("sandbox_version").dropColumn("sandbox_versions_available").dropColumn("change_password").dropColumn("guardian_mfa_page").dropColumn("default_audience").dropColumn("default_organization").dropColumn("sessions").execute(),await e.schema.alterTable("tenants").addColumn("name","varchar(255)").execute(),await e.updateTable("tenants").set({name:h.sql`COALESCE(friendly_name, id)`}).execute(),await e.schema.alterTable("tenants").addColumn("language","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("logo","text").execute(),await e.schema.alterTable("tenants").addColumn("primary_color","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("secondary_color","varchar(50)").execute()}const Yd=Object.freeze(Object.defineProperty({__proto__:null,down:Qd,up:Ud},Symbol.toStringTag,{value:"Module"}));async function Hd(e){await e.schema.createTable("invites").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull()).addColumn("inviter","text",t=>t.notNull()).addColumn("invitee","text",t=>t.notNull()).addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("connection_id","varchar(21)").addColumn("invitation_url","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)",t=>t.notNull()).addColumn("app_metadata","text").addColumn("user_metadata","text").addColumn("roles","text").addColumn("ticket_id","varchar(191)").addColumn("ttl_sec","integer").addColumn("send_invitation_email","integer").execute(),await e.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await e.schema.createIndex("idx_invites_organization_id").on("invites").column("organization_id").execute(),await e.schema.createIndex("idx_invites_expires_at").on("invites").column("expires_at").execute(),await e.schema.createIndex("idx_invites_tenant_created").on("invites").columns(["tenant_id","created_at"]).execute()}async function Wd(e){await e.schema.dropTable("invites").execute()}const Gd=Object.freeze(Object.defineProperty({__proto__:null,down:Wd,up:Hd},Symbol.toStringTag,{value:"Module"}));async function Xd(e){await e.schema.dropTable("logs").ifExists().execute(),await e.schema.createTable("logs").addColumn("log_id","varchar(21)",t=>t.primaryKey().notNull()).addColumn("category","varchar(255)").addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").addColumn("isMobile","integer").addColumn("user_name","varchar(255)").addColumn("connection","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("audience","varchar(255)").addColumn("scope","varchar(255)").addColumn("strategy","varchar(255)").addColumn("strategy_type","varchar(255)").addColumn("hostname","varchar(255)").addColumn("auth0_client","varchar(8192)").addColumn("session_connection","varchar(255)").execute()}async function Vd(e){await e.schema.dropTable("logs").ifExists().execute(),await e.schema.createTable("logs").addColumn("id","varchar(255)",t=>t.primaryKey().notNull()).addColumn("category","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.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()}const Zd=Object.freeze(Object.defineProperty({__proto__:null,down:Vd,up:Xd},Symbol.toStringTag,{value:"Module"}));async function eu(e){await e.schema.alterTable("logs").addColumn("country_code","varchar(2)").execute(),await e.schema.alterTable("logs").addColumn("city_name","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("latitude","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("longitude","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("time_zone","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("continent_code","varchar(2)").execute()}async function tu(e){await e.schema.alterTable("logs").dropColumn("country_code").execute(),await e.schema.alterTable("logs").dropColumn("city_name").execute(),await e.schema.alterTable("logs").dropColumn("latitude").execute(),await e.schema.alterTable("logs").dropColumn("longitude").execute(),await e.schema.alterTable("logs").dropColumn("time_zone").execute(),await e.schema.alterTable("logs").dropColumn("continent_code").execute()}const au=Object.freeze(Object.defineProperty({__proto__:null,down:tu,up:eu},Symbol.toStringTag,{value:"Module"})),J=1e3;async function nu(e){await e.schema.createTable("password_history").addColumn("id","varchar(21)",n=>n.primaryKey()).addColumn("user_id","varchar(191)",n=>n.notNull()).addColumn("tenant_id","varchar(191)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("is_current","integer",n=>n.notNull().defaultTo(1)).addForeignKeyConstraint("password_history_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let t=0,a=!0;for(;a;){const n=await e.selectFrom("passwords").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).limit(J).offset(t).execute();if(n.length===0){a=!1;break}for(const o of n)await e.insertInto("password_history").values({id:I.nanoid(),user_id:o.user_id,tenant_id:o.tenant_id,password:o.password,algorithm:o.algorithm??"bcrypt",created_at:o.created_at,updated_at:o.updated_at??o.created_at,is_current:1}).execute();t+=J,n.length<J&&(a=!1)}await e.schema.alterTable("passwords").renameTo("passwords_backup").execute(),await e.schema.alterTable("password_history").renameTo("passwords").execute()}async function ou(e){await e.schema.alterTable("passwords").renameTo("password_history").execute();try{await e.schema.alterTable("passwords_backup").renameTo("passwords").execute()}catch{await e.schema.createTable("passwords").addColumn("user_id","varchar(255)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("passwords_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let t=0,a=!0;for(;a;){const n=await e.selectFrom("password_history").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).where("is_current","=",1).limit(J).offset(t).execute();if(n.length===0){a=!1;break}for(const o of n)await e.insertInto("passwords").values({user_id:o.user_id,tenant_id:o.tenant_id,password:o.password,algorithm:o.algorithm,created_at:o.created_at,updated_at:o.updated_at}).execute();t+=J,n.length<J&&(a=!1)}}await e.schema.dropTable("password_history").execute()}const ru=Object.freeze(Object.defineProperty({__proto__:null,down:ou,up:nu},Symbol.toStringTag,{value:"Module"}));async function su(e){await e.schema.alterTable("connections").addColumn("display_name","varchar(255)").execute(),await e.schema.alterTable("connections").addColumn("is_domain_connection","integer").execute(),await e.schema.alterTable("connections").addColumn("show_as_button","integer").execute(),await e.schema.alterTable("connections").addColumn("metadata","varchar(4096)").execute()}async function iu(e){await e.schema.alterTable("connections").dropColumn("display_name").execute(),await e.schema.alterTable("connections").dropColumn("is_domain_connection").execute(),await e.schema.alterTable("connections").dropColumn("show_as_button").execute(),await e.schema.alterTable("connections").dropColumn("metadata").execute()}const cu=Object.freeze(Object.defineProperty({__proto__:null,down:iu,up:su},Symbol.toStringTag,{value:"Module"}));async function lu(e){await e.schema.alterTable("clients").addColumn("connections","text",t=>t.notNull().defaultTo("[]")).execute()}async function du(e){await e.schema.alterTable("clients").dropColumn("connections").execute()}const uu=Object.freeze(Object.defineProperty({__proto__:null,down:du,up:lu},Symbol.toStringTag,{value:"Module"}));async function _u(e){await e.schema.createTable("flows").addColumn("id","varchar(24)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(150)",t=>t.notNull()).addColumn("actions","text").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.createIndex("flows_tenant_id_idx").on("flows").column("tenant_id").execute(),await e.schema.dropTable("passwords_backup").execute()}async function mu(e){await e.schema.dropTable("flows").execute()}const hu=Object.freeze(Object.defineProperty({__proto__:null,down:mu,up:_u},Symbol.toStringTag,{value:"Module"}));async function pu(e){await e.schema.alterTable("resource_servers").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute(),await e.schema.alterTable("roles").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute(),await e.schema.alterTable("connections").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute()}async function fu(e){await e.schema.alterTable("resource_servers").dropColumn("is_system").execute(),await e.schema.alterTable("roles").dropColumn("is_system").execute(),await e.schema.alterTable("connections").dropColumn("is_system").execute()}const gu=Object.freeze(Object.defineProperty({__proto__:null,down:fu,up:pu},Symbol.toStringTag,{value:"Module"}));async function wu(e){const t=await e.selectFrom("keys").selectAll().execute();await e.schema.dropTable("keys").execute(),await h.sql`ALTER TABLE connections RENAME TO connections_old`.execute(e),await e.schema.createTable("connections").addColumn("id","varchar(255)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",a=>a.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",a=>a.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("updated_at","varchar(255)",a=>a.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",a=>a.defaultTo(0).notNull()).addPrimaryKeyConstraint("connections_pkey",["tenant_id","id"]).execute(),await h.sql`
|
|
53
|
+
FROM login_sessions_temp`.execute(t),await h.sql`DROP TABLE login_sessions_temp`.execute(t)})}const Nd=Object.freeze(Object.defineProperty({__proto__:null,down:Cd,up:wd},Symbol.toStringTag,{value:"Module"}));async function bd(e){await e.schema.createTable("client_grants").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("audience","varchar(191)",t=>t.notNull()).addColumn("scope","text",t=>t.defaultTo("[]")).addColumn("organization_usage","varchar(32)").addColumn("allow_any_organization","integer",t=>t.defaultTo(0)).addColumn("is_system","integer",t=>t.defaultTo(0)).addColumn("subject_type","varchar(32)").addColumn("authorization_details_types","text",t=>t.defaultTo("[]")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("pk_client_grants",["tenant_id","id"]).addForeignKeyConstraint("fk_client_grants_clients",["tenant_id","client_id"],"clients",["tenant_id","client_id"],t=>t.onDelete("cascade")).execute(),await e.schema.createIndex("uq_client_grants_tenant_client_audience").on("client_grants").columns(["tenant_id","client_id","audience"]).unique().execute(),await e.schema.createIndex("idx_client_grants_audience").on("client_grants").columns(["audience"]).execute()}async function Sd(e){await e.schema.dropTable("client_grants").execute()}const Od=Object.freeze(Object.defineProperty({__proto__:null,down:Sd,up:bd},Symbol.toStringTag,{value:"Module"}));async function kd(e){await e.schema.dropTable("applications").execute()}async function $d(e){await e.schema.createTable("applications").addColumn("id","varchar(21)",t=>t.notNull()).addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("client_secret","varchar(255)").addColumn("callbacks","text",t=>t.defaultTo("[]")).addColumn("allowed_origins","text",t=>t.defaultTo("[]")).addColumn("web_origins","text",t=>t.defaultTo("[]")).addColumn("allowed_logout_urls","text",t=>t.defaultTo("[]")).addColumn("allowed_clients","text",t=>t.defaultTo("[]")).addColumn("disable_sign_ups","integer",t=>t.defaultTo(0)).addColumn("addons","text",t=>t.defaultTo("{}")).addColumn("client_metadata","text",t=>t.defaultTo("{}")).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).addPrimaryKeyConstraint("pk_applications",["tenant_id","id"]).execute(),await e.schema.createIndex("idx_applications_tenant_id").on("applications").columns(["tenant_id"]).execute()}const Ed=Object.freeze(Object.defineProperty({__proto__:null,down:$d,up:kd},Symbol.toStringTag,{value:"Module"}));async function Pd(e){await e.schema.createIndex("users_phone_tenant_provider_index").on("users").columns(["tenant_id","phone_number","provider"]).execute()}async function Id(e){await e.schema.dropIndex("users_phone_tenant_provider_index").execute()}const zd=Object.freeze(Object.defineProperty({__proto__:null,down:Id,up:Pd},Symbol.toStringTag,{value:"Module"}));async function Dd(e){await e.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute()}async function Ad(e){await e.schema.dropIndex("login_sessions_id_index").execute()}const Fd=Object.freeze(Object.defineProperty({__proto__:null,down:Ad,up:Dd},Symbol.toStringTag,{value:"Module"}));async function jd(e){await e.schema.createIndex("connections_tenant_id_index").on("connections").column("tenant_id").execute()}async function Rd(e){await e.schema.dropIndex("connections_tenant_id_index").execute()}const Md=Object.freeze(Object.defineProperty({__proto__:null,down:Rd,up:jd},Symbol.toStringTag,{value:"Module"}));async function qd(e){await e.schema.dropIndex("idx_user_organizations_tenant_id").execute()}async function Jd(e){await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute()}const Ld=Object.freeze(Object.defineProperty({__proto__:null,down:Jd,up:qd},Symbol.toStringTag,{value:"Module"}));async function Kd(e){await e.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute()}async function Bd(e){await e.schema.dropTable("tenant_settings").execute()}const Ud=Object.freeze(Object.defineProperty({__proto__:null,down:Bd,up:Kd},Symbol.toStringTag,{value:"Module"}));async function Qd(e){if(await e.schema.alterTable("tenants").addColumn("idle_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("session_cookie","text").execute(),await e.schema.alterTable("tenants").addColumn("allowed_logout_urls","text").execute(),await e.schema.alterTable("tenants").addColumn("ephemeral_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("idle_ephemeral_session_lifetime","integer").execute(),await e.schema.alterTable("tenants").addColumn("default_redirection_uri","text").execute(),await e.schema.alterTable("tenants").addColumn("enabled_locales","text").execute(),await e.schema.alterTable("tenants").addColumn("default_directory","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("error_page","text").execute(),await e.schema.alterTable("tenants").addColumn("flags","text").execute(),await e.schema.alterTable("tenants").addColumn("friendly_name","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("picture_url","text").execute(),await e.schema.alterTable("tenants").addColumn("support_email","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("sandbox_version","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("sandbox_versions_available","text").execute(),await e.schema.alterTable("tenants").addColumn("legacy_sandbox_version","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("change_password","text").execute(),await e.schema.alterTable("tenants").addColumn("guardian_mfa_page","text").execute(),await e.schema.alterTable("tenants").addColumn("device_flow","text").execute(),await e.schema.alterTable("tenants").addColumn("default_token_quota","text").execute(),await e.schema.alterTable("tenants").addColumn("default_audience","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("default_organization","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("sessions","text").execute(),await e.schema.alterTable("tenants").addColumn("oidc_logout","text").execute(),await e.schema.alterTable("tenants").addColumn("allow_organization_name_in_authentication_api","integer").execute(),await e.schema.alterTable("tenants").addColumn("customize_mfa_in_postlogin_action","integer").execute(),await e.schema.alterTable("tenants").addColumn("acr_values_supported","text").execute(),await e.schema.alterTable("tenants").addColumn("mtls","text").execute(),await e.schema.alterTable("tenants").addColumn("pushed_authorization_requests_supported","integer").execute(),await e.schema.alterTable("tenants").addColumn("authorization_response_iss_parameter_supported","integer").execute(),await e.updateTable("tenants").set({friendly_name:h.sql`name`}).execute(),await e.schema.alterTable("tenants").dropColumn("language").execute(),await e.schema.alterTable("tenants").dropColumn("logo").execute(),await e.schema.alterTable("tenants").dropColumn("primary_color").execute(),await e.schema.alterTable("tenants").dropColumn("secondary_color").execute(),await e.schema.alterTable("tenants").dropColumn("name").execute(),(await e.selectFrom("tenant_settings").select("tenant_id").limit(1).execute()).length>0){const a=await e.selectFrom("tenant_settings").selectAll().execute();for(const n of a)await e.updateTable("tenants").set({idle_session_lifetime:n.idle_session_lifetime,session_lifetime:n.session_lifetime,session_cookie:n.session_cookie,enable_client_connections:n.enable_client_connections,default_redirection_uri:n.default_redirection_uri,enabled_locales:n.enabled_locales,default_directory:n.default_directory,error_page:n.error_page,flags:n.flags,friendly_name:n.friendly_name,picture_url:n.picture_url,support_email:n.support_email,support_url:n.support_url,sandbox_version:n.sandbox_version,sandbox_versions_available:n.sandbox_versions_available,change_password:n.change_password,guardian_mfa_page:n.guardian_mfa_page,default_audience:n.default_audience,default_organization:n.default_organization,sessions:n.sessions}).where("id","=",n.tenant_id).execute()}await e.schema.dropTable("tenant_settings").execute()}async function Yd(e){await e.schema.createTable("tenant_settings").addColumn("tenant_id","varchar(191)",a=>a.references("tenants.id").onDelete("cascade").notNull().primaryKey()).addColumn("idle_session_lifetime","integer").addColumn("session_lifetime","integer").addColumn("session_cookie","text").addColumn("enable_client_connections","integer").addColumn("default_redirection_uri","text").addColumn("enabled_locales","text").addColumn("default_directory","varchar(255)").addColumn("error_page","text").addColumn("flags","text").addColumn("friendly_name","varchar(255)").addColumn("picture_url","text").addColumn("support_email","varchar(255)").addColumn("support_url","text").addColumn("sandbox_version","varchar(50)").addColumn("sandbox_versions_available","text").addColumn("change_password","text").addColumn("guardian_mfa_page","text").addColumn("default_audience","varchar(255)").addColumn("default_organization","varchar(255)").addColumn("sessions","text").execute();const t=await e.selectFrom("tenants").select(["id","idle_session_lifetime","session_lifetime","session_cookie","enable_client_connections","default_redirection_uri","enabled_locales","default_directory","error_page","flags","friendly_name","picture_url","support_email","support_url","sandbox_version","sandbox_versions_available","change_password","guardian_mfa_page","default_audience","default_organization","sessions"]).execute();for(const a of t)(a.idle_session_lifetime!==null||a.session_lifetime!==null||a.session_cookie!==null||a.enable_client_connections!==null||a.default_redirection_uri!==null||a.enabled_locales!==null||a.default_directory!==null||a.error_page!==null||a.flags!==null||a.friendly_name!==null||a.picture_url!==null||a.support_email!==null||a.support_url!==null||a.sandbox_version!==null||a.sandbox_versions_available!==null||a.change_password!==null||a.guardian_mfa_page!==null||a.default_audience!==null||a.default_organization!==null||a.sessions!==null)&&await e.insertInto("tenant_settings").values({tenant_id:a.id,idle_session_lifetime:a.idle_session_lifetime,session_lifetime:a.session_lifetime,session_cookie:a.session_cookie,enable_client_connections:a.enable_client_connections,default_redirection_uri:a.default_redirection_uri,enabled_locales:a.enabled_locales,default_directory:a.default_directory,error_page:a.error_page,flags:a.flags,friendly_name:a.friendly_name,picture_url:a.picture_url,support_email:a.support_email,support_url:a.support_url,sandbox_version:a.sandbox_version,sandbox_versions_available:a.sandbox_versions_available,change_password:a.change_password,guardian_mfa_page:a.guardian_mfa_page,default_audience:a.default_audience,default_organization:a.default_organization,sessions:a.sessions}).execute();await e.schema.alterTable("tenants").dropColumn("idle_session_lifetime").dropColumn("session_lifetime").dropColumn("session_cookie").dropColumn("enable_client_connections").dropColumn("default_redirection_uri").dropColumn("enabled_locales").dropColumn("default_directory").dropColumn("error_page").dropColumn("flags").dropColumn("friendly_name").dropColumn("picture_url").dropColumn("support_email").dropColumn("sandbox_version").dropColumn("sandbox_versions_available").dropColumn("change_password").dropColumn("guardian_mfa_page").dropColumn("default_audience").dropColumn("default_organization").dropColumn("sessions").execute(),await e.schema.alterTable("tenants").addColumn("name","varchar(255)").execute(),await e.updateTable("tenants").set({name:h.sql`COALESCE(friendly_name, id)`}).execute(),await e.schema.alterTable("tenants").addColumn("language","varchar(255)").execute(),await e.schema.alterTable("tenants").addColumn("logo","text").execute(),await e.schema.alterTable("tenants").addColumn("primary_color","varchar(50)").execute(),await e.schema.alterTable("tenants").addColumn("secondary_color","varchar(50)").execute()}const Hd=Object.freeze(Object.defineProperty({__proto__:null,down:Yd,up:Qd},Symbol.toStringTag,{value:"Module"}));async function Wd(e){await e.schema.createTable("invites").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("organization_id","varchar(21)",t=>t.notNull()).addColumn("inviter","text",t=>t.notNull()).addColumn("invitee","text",t=>t.notNull()).addColumn("client_id","varchar(191)",t=>t.notNull()).addColumn("connection_id","varchar(21)").addColumn("invitation_url","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("expires_at","varchar(35)",t=>t.notNull()).addColumn("app_metadata","text").addColumn("user_metadata","text").addColumn("roles","text").addColumn("ticket_id","varchar(191)").addColumn("ttl_sec","integer").addColumn("send_invitation_email","integer").execute(),await e.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await e.schema.createIndex("idx_invites_organization_id").on("invites").column("organization_id").execute(),await e.schema.createIndex("idx_invites_expires_at").on("invites").column("expires_at").execute(),await e.schema.createIndex("idx_invites_tenant_created").on("invites").columns(["tenant_id","created_at"]).execute()}async function Gd(e){await e.schema.dropTable("invites").execute()}const Xd=Object.freeze(Object.defineProperty({__proto__:null,down:Gd,up:Wd},Symbol.toStringTag,{value:"Module"}));async function Vd(e){await e.schema.dropTable("logs").ifExists().execute(),await e.schema.createTable("logs").addColumn("log_id","varchar(21)",t=>t.primaryKey().notNull()).addColumn("category","varchar(255)").addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.notNull()).addColumn("client_id","varchar(255)").addColumn("client_name","varchar(255)").addColumn("user_agent","varchar(255)").addColumn("description","varchar(255)").addColumn("details","varchar(2048)").addColumn("isMobile","integer").addColumn("user_name","varchar(255)").addColumn("connection","varchar(255)").addColumn("connection_id","varchar(255)").addColumn("audience","varchar(255)").addColumn("scope","varchar(255)").addColumn("strategy","varchar(255)").addColumn("strategy_type","varchar(255)").addColumn("hostname","varchar(255)").addColumn("auth0_client","varchar(8192)").addColumn("session_connection","varchar(255)").execute()}async function Zd(e){await e.schema.dropTable("logs").ifExists().execute(),await e.schema.createTable("logs").addColumn("id","varchar(255)",t=>t.primaryKey().notNull()).addColumn("category","varchar(255)",t=>t.notNull()).addColumn("tenant_id","varchar(64)").addColumn("user_id","varchar(64)").addColumn("ip","varchar(255)").addColumn("type","varchar(8)",t=>t.notNull()).addColumn("date","varchar(25)",t=>t.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()}const eu=Object.freeze(Object.defineProperty({__proto__:null,down:Zd,up:Vd},Symbol.toStringTag,{value:"Module"}));async function tu(e){await e.schema.alterTable("logs").addColumn("country_code","varchar(2)").execute(),await e.schema.alterTable("logs").addColumn("city_name","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("latitude","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("longitude","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("time_zone","varchar(255)").execute(),await e.schema.alterTable("logs").addColumn("continent_code","varchar(2)").execute()}async function au(e){await e.schema.alterTable("logs").dropColumn("country_code").execute(),await e.schema.alterTable("logs").dropColumn("city_name").execute(),await e.schema.alterTable("logs").dropColumn("latitude").execute(),await e.schema.alterTable("logs").dropColumn("longitude").execute(),await e.schema.alterTable("logs").dropColumn("time_zone").execute(),await e.schema.alterTable("logs").dropColumn("continent_code").execute()}const nu=Object.freeze(Object.defineProperty({__proto__:null,down:au,up:tu},Symbol.toStringTag,{value:"Module"})),J=1e3;async function ou(e){await e.schema.createTable("password_history").addColumn("id","varchar(21)",n=>n.primaryKey()).addColumn("user_id","varchar(191)",n=>n.notNull()).addColumn("tenant_id","varchar(191)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addColumn("is_current","integer",n=>n.notNull().defaultTo(1)).addForeignKeyConstraint("password_history_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let t=0,a=!0;for(;a;){const n=await e.selectFrom("passwords").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).limit(J).offset(t).execute();if(n.length===0){a=!1;break}for(const o of n)await e.insertInto("password_history").values({id:I.nanoid(),user_id:o.user_id,tenant_id:o.tenant_id,password:o.password,algorithm:o.algorithm??"bcrypt",created_at:o.created_at,updated_at:o.updated_at??o.created_at,is_current:1}).execute();t+=J,n.length<J&&(a=!1)}await e.schema.alterTable("passwords").renameTo("passwords_backup").execute(),await e.schema.alterTable("password_history").renameTo("passwords").execute()}async function ru(e){await e.schema.alterTable("passwords").renameTo("password_history").execute();try{await e.schema.alterTable("passwords_backup").renameTo("passwords").execute()}catch{await e.schema.createTable("passwords").addColumn("user_id","varchar(255)",n=>n.notNull()).addColumn("tenant_id","varchar(255)",n=>n.references("tenants.id").onDelete("cascade").notNull()).addColumn("password","varchar(255)",n=>n.notNull()).addColumn("algorithm","varchar(255)",n=>n.notNull().defaultTo("bcrypt")).addColumn("created_at","varchar(35)",n=>n.notNull()).addColumn("updated_at","varchar(35)",n=>n.notNull()).addPrimaryKeyConstraint("passwords_pkey",["user_id","tenant_id"]).addForeignKeyConstraint("passwords_user_id_tenant_id_constraint",["user_id","tenant_id"],"users",["user_id","tenant_id"],n=>n.onDelete("cascade")).execute();let t=0,a=!0;for(;a;){const n=await e.selectFrom("password_history").select(["user_id","tenant_id","password","algorithm","created_at","updated_at"]).where("is_current","=",1).limit(J).offset(t).execute();if(n.length===0){a=!1;break}for(const o of n)await e.insertInto("passwords").values({user_id:o.user_id,tenant_id:o.tenant_id,password:o.password,algorithm:o.algorithm,created_at:o.created_at,updated_at:o.updated_at}).execute();t+=J,n.length<J&&(a=!1)}}await e.schema.dropTable("password_history").execute()}const su=Object.freeze(Object.defineProperty({__proto__:null,down:ru,up:ou},Symbol.toStringTag,{value:"Module"}));async function iu(e){await e.schema.alterTable("connections").addColumn("display_name","varchar(255)").execute(),await e.schema.alterTable("connections").addColumn("is_domain_connection","integer").execute(),await e.schema.alterTable("connections").addColumn("show_as_button","integer").execute(),await e.schema.alterTable("connections").addColumn("metadata","varchar(4096)").execute()}async function cu(e){await e.schema.alterTable("connections").dropColumn("display_name").execute(),await e.schema.alterTable("connections").dropColumn("is_domain_connection").execute(),await e.schema.alterTable("connections").dropColumn("show_as_button").execute(),await e.schema.alterTable("connections").dropColumn("metadata").execute()}const lu=Object.freeze(Object.defineProperty({__proto__:null,down:cu,up:iu},Symbol.toStringTag,{value:"Module"}));async function du(e){await e.schema.alterTable("clients").addColumn("connections","text",t=>t.notNull().defaultTo("[]")).execute()}async function uu(e){await e.schema.alterTable("clients").dropColumn("connections").execute()}const _u=Object.freeze(Object.defineProperty({__proto__:null,down:uu,up:du},Symbol.toStringTag,{value:"Module"}));async function mu(e){await e.schema.createTable("flows").addColumn("id","varchar(24)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(150)",t=>t.notNull()).addColumn("actions","text").addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("updated_at","varchar(35)",t=>t.notNull()).execute(),await e.schema.createIndex("flows_tenant_id_idx").on("flows").column("tenant_id").execute(),await e.schema.dropTable("passwords_backup").execute()}async function hu(e){await e.schema.dropTable("flows").execute()}const pu=Object.freeze(Object.defineProperty({__proto__:null,down:hu,up:mu},Symbol.toStringTag,{value:"Module"}));async function fu(e){await e.schema.alterTable("resource_servers").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute(),await e.schema.alterTable("roles").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute(),await e.schema.alterTable("connections").addColumn("is_system","integer",t=>t.defaultTo(0).notNull()).execute()}async function gu(e){await e.schema.alterTable("resource_servers").dropColumn("is_system").execute(),await e.schema.alterTable("roles").dropColumn("is_system").execute(),await e.schema.alterTable("connections").dropColumn("is_system").execute()}const wu=Object.freeze(Object.defineProperty({__proto__:null,down:gu,up:fu},Symbol.toStringTag,{value:"Module"}));async function yu(e){const t=await e.selectFrom("keys").selectAll().execute();await e.schema.dropTable("keys").execute(),await h.sql`ALTER TABLE connections RENAME TO connections_old`.execute(e),await e.schema.createTable("connections").addColumn("id","varchar(255)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",a=>a.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",a=>a.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("updated_at","varchar(255)",a=>a.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",a=>a.defaultTo(0).notNull()).addPrimaryKeyConstraint("connections_pkey",["tenant_id","id"]).execute(),await h.sql`
|
|
54
54
|
INSERT INTO connections (
|
|
55
55
|
id, tenant_id, name, response_type, response_mode, strategy, options,
|
|
56
56
|
created_at, updated_at, display_name,
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
created_at, updated_at, display_name,
|
|
62
62
|
is_domain_connection, show_as_button, metadata, is_system
|
|
63
63
|
FROM connections_old
|
|
64
|
-
`.execute(e),await e.schema.dropTable("connections_old").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await e.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)").execute();for(const a of t)await e.insertInto("keys").values(a).execute()}async function
|
|
64
|
+
`.execute(e),await e.schema.dropTable("connections_old").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await e.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)").execute();for(const a of t)await e.insertInto("keys").values(a).execute()}async function vu(e){const t=await e.selectFrom("keys").selectAll().execute();await e.schema.dropTable("keys").execute(),await h.sql`ALTER TABLE connections RENAME TO connections_new`.execute(e),await e.schema.createTable("connections").addColumn("id","varchar(255)",a=>a.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("name","varchar(255)",a=>a.notNull()).addColumn("response_type","varchar(255)").addColumn("response_mode","varchar(255)").addColumn("strategy","varchar(64)").addColumn("options","varchar(8192)",a=>a.defaultTo("{}").notNull()).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("updated_at","varchar(255)",a=>a.notNull()).addColumn("display_name","varchar(255)").addColumn("is_domain_connection","integer").addColumn("show_as_button","integer").addColumn("metadata","varchar(4096)").addColumn("is_system","integer",a=>a.defaultTo(0).notNull()).execute(),await h.sql`
|
|
65
65
|
INSERT INTO connections (
|
|
66
66
|
id, tenant_id, name, response_type, response_mode, strategy, options,
|
|
67
67
|
created_at, updated_at, display_name,
|
|
@@ -72,11 +72,11 @@
|
|
|
72
72
|
created_at, updated_at, display_name,
|
|
73
73
|
is_domain_connection, show_as_button, metadata, is_system
|
|
74
74
|
FROM connections_new
|
|
75
|
-
`.execute(e),await e.schema.dropTable("connections_new").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await e.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",a=>a.references("connections.id").onDelete("cascade")).execute();for(const a of t)await e.insertInto("keys").values(a).execute()}const
|
|
75
|
+
`.execute(e),await e.schema.dropTable("connections_new").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute(),await e.schema.createTable("keys").addColumn("kid","varchar(255)",a=>a.primaryKey()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade")).addColumn("created_at","varchar(255)",a=>a.notNull()).addColumn("revoked_at","varchar(255)").addColumn("cert","varchar(4096)").addColumn("pkcs7","varchar(4096)").addColumn("fingerprint","varchar(256)").addColumn("thumbprint","varchar(256)").addColumn("current_since","varchar(256)").addColumn("current_until","varchar(256)").addColumn("type","varchar(50)",a=>a.notNull().defaultTo("jwt_signing")).addColumn("connection","varchar(255)",a=>a.references("connections.id").onDelete("cascade")).execute();for(const a of t)await e.insertInto("keys").values(a).execute()}const Cu=Object.freeze(Object.defineProperty({__proto__:null,down:vu,up:yu},Symbol.toStringTag,{value:"Module"}));async function xu(e){await e.schema.alterTable("login_sessions").addColumn("state","varchar(50)",t=>t.defaultTo("pending")).execute(),await e.schema.alterTable("login_sessions").addColumn("state_data","text").execute(),await e.schema.alterTable("login_sessions").addColumn("failure_reason","text").execute(),await e.schema.alterTable("login_sessions").addColumn("user_id","varchar(255)").execute(),await e.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await e.updateTable("login_sessions").set({state:h.sql`CASE
|
|
76
76
|
WHEN login_completed = 1 THEN 'completed'
|
|
77
77
|
WHEN expires_at < CURRENT_TIMESTAMP THEN 'expired'
|
|
78
78
|
ELSE 'pending'
|
|
79
|
-
END`}).execute(),await e.schema.alterTable("login_sessions").dropColumn("login_completed").execute(),await e.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await e.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at"]).execute()}async function xu(e){await e.schema.alterTable("login_sessions").addColumn("login_completed","integer",t=>t.defaultTo(0)).execute(),await e.updateTable("login_sessions").set({login_completed:h.sql`CASE WHEN state = 'completed' THEN 1 ELSE 0 END`}).execute(),await e.schema.dropIndex("login_sessions_state_updated_idx").execute(),await e.schema.dropIndex("login_sessions_state_idx").execute(),await e.schema.dropIndex("login_sessions_tenant_user_idx").execute(),await e.schema.alterTable("login_sessions").dropColumn("state").dropColumn("state_data").dropColumn("failure_reason").dropColumn("user_id").execute()}const Tu=Object.freeze(Object.defineProperty({__proto__:null,down:xu,up:Cu},Symbol.toStringTag,{value:"Module"}));async function Nu(e){await e.schema.alterTable("roles").addColumn("metadata","varchar(4096)").execute(),await e.schema.alterTable("resource_servers").addColumn("metadata","varchar(4096)").execute()}async function bu(e){await e.schema.alterTable("roles").dropColumn("metadata").execute(),await e.schema.alterTable("resource_servers").dropColumn("metadata").execute()}const Su=Object.freeze(Object.defineProperty({__proto__:null,down:bu,up:Nu},Symbol.toStringTag,{value:"Module"}));async function Ou(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function O(e,t,a,n){try{await e.schema.alterTable(t).addColumn(a,n).execute()}catch(o){if(o instanceof Error&&(o.message.includes("1060")||o.message.includes("duplicate column"))){w(` Column ${t}.${a} already exists, skipping`);return}throw o}}async function ku(e){const t=await Ou(e);await O(e,"refresh_tokens","created_at_ts","bigint"),await O(e,"refresh_tokens","expires_at_ts","bigint"),await O(e,"refresh_tokens","idle_expires_at_ts","bigint"),await O(e,"refresh_tokens","last_exchanged_at_ts","bigint"),await O(e,"sessions","created_at_ts","bigint"),await O(e,"sessions","updated_at_ts","bigint"),await O(e,"sessions","expires_at_ts","bigint"),await O(e,"sessions","idle_expires_at_ts","bigint"),await O(e,"sessions","authenticated_at_ts","bigint"),await O(e,"sessions","last_interaction_at_ts","bigint"),await O(e,"sessions","used_at_ts","bigint"),await O(e,"sessions","revoked_at_ts","bigint"),await O(e,"login_sessions","created_at_ts","bigint"),await O(e,"login_sessions","updated_at_ts","bigint"),await O(e,"login_sessions","expires_at_ts","bigint"),t==="mysql"&&(await e.schema.alterTable("refresh_tokens").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("expires_at","varchar(35)").execute()),await e.schema.createIndex("idx_sessions_user_id").on("sessions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("idx_refresh_tokens_user_id").on("refresh_tokens").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await e.schema.createIndex("idx_refresh_tokens_expires_at_ts").on("refresh_tokens").column("expires_at_ts").execute(),await e.schema.createIndex("idx_sessions_expires_at_ts").on("sessions").column("expires_at_ts").execute(),await e.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}async function q(e,t,a){try{await e.schema.dropIndex(t).on(a).execute()}catch(n){if(n instanceof Error&&n.message.includes("1091"))return;throw n}}async function k(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){if(n instanceof Error&&n.message.includes("1091"))return;throw n}}async function $u(e){await q(e,"idx_sessions_user_id","sessions"),await q(e,"idx_refresh_tokens_user_id","refresh_tokens"),await q(e,"idx_refresh_tokens_session_id","refresh_tokens"),await q(e,"idx_refresh_tokens_expires_at_ts","refresh_tokens"),await q(e,"idx_sessions_expires_at_ts","sessions"),await q(e,"idx_login_sessions_expires_at_ts","login_sessions"),await k(e,"refresh_tokens","created_at_ts"),await k(e,"refresh_tokens","expires_at_ts"),await k(e,"refresh_tokens","idle_expires_at_ts"),await k(e,"refresh_tokens","last_exchanged_at_ts"),await k(e,"sessions","created_at_ts"),await k(e,"sessions","updated_at_ts"),await k(e,"sessions","expires_at_ts"),await k(e,"sessions","idle_expires_at_ts"),await k(e,"sessions","authenticated_at_ts"),await k(e,"sessions","last_interaction_at_ts"),await k(e,"sessions","used_at_ts"),await k(e,"sessions","revoked_at_ts"),await k(e,"login_sessions","created_at_ts"),await k(e,"login_sessions","updated_at_ts"),await k(e,"login_sessions","expires_at_ts")}const Eu=Object.freeze(Object.defineProperty({__proto__:null,down:$u,up:ku},Symbol.toStringTag,{value:"Module"}));async function Oe(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function $(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){const o=n instanceof Error?n.message:String(n);if(o.includes("1091")||o.includes("no such column")){w(` Column ${t}.${a} doesn't exist, skipping`);return}throw n}}async function Pu(e){const t=await Oe(e);w("Dropping indexes that depend on old date columns...");try{await h.sql`DROP INDEX IF EXISTS login_sessions_state_updated_idx`.execute(e),w(" Dropped index login_sessions_state_updated_idx")}catch(a){z(` Warning: Failed to drop index login_sessions_state_updated_idx: ${a instanceof Error?a.message:String(a)}`)}w("Dropping old date columns..."),await $(e,"refresh_tokens","created_at"),await $(e,"refresh_tokens","expires_at"),await $(e,"refresh_tokens","idle_expires_at"),await $(e,"refresh_tokens","last_exchanged_at"),await $(e,"sessions","created_at"),await $(e,"sessions","updated_at"),await $(e,"sessions","expires_at"),await $(e,"sessions","idle_expires_at"),await $(e,"sessions","authenticated_at"),await $(e,"sessions","last_interaction_at"),await $(e,"sessions","used_at"),await $(e,"sessions","revoked_at"),await $(e,"login_sessions","created_at"),await $(e,"login_sessions","updated_at"),await $(e,"login_sessions","expires_at"),t==="mysql"&&(w("Increasing ID column sizes for ULID support..."),await e.schema.alterTable("login_sessions").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(26)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(26)").execute(),await e.schema.alterTable("sessions").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(26)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(26)").execute()),w("Migration completed successfully")}async function Iu(e){await Oe(e)==="mysql"&&(w("Restoring ID column sizes to varchar(21)..."),await e.schema.alterTable("login_sessions").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(21)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(21)").execute(),await e.schema.alterTable("sessions").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(21)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(21)").execute()),w("Re-adding old date columns (data will be empty)..."),await e.schema.alterTable("refresh_tokens").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("idle_expires_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("last_exchanged_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("idle_expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("authenticated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("last_interaction_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("used_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("revoked_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("expires_at","varchar(35)").execute(),w("Rollback completed")}const zu=Object.freeze(Object.defineProperty({__proto__:null,down:Iu,up:Pu},Symbol.toStringTag,{value:"Module"}));async function Du(e){await e.schema.alterTable("users").dropColumn("user_metadata").execute(),await e.schema.alterTable("users").addColumn("user_metadata","text").execute(),await e.schema.alterTable("users").addColumn("middle_name","varchar(100)").execute(),await e.schema.alterTable("users").addColumn("profile","text").execute(),await e.schema.alterTable("users").addColumn("website","text").execute(),await e.schema.alterTable("users").addColumn("gender","varchar(50)").execute(),await e.schema.alterTable("users").addColumn("birthdate","varchar(10)").execute(),await e.schema.alterTable("users").addColumn("zoneinfo","varchar(100)").execute()}async function Au(e){await e.schema.alterTable("users").dropColumn("middle_name").execute(),await e.schema.alterTable("users").dropColumn("profile").execute(),await e.schema.alterTable("users").dropColumn("website").execute(),await e.schema.alterTable("users").dropColumn("gender").execute(),await e.schema.alterTable("users").dropColumn("birthdate").execute(),await e.schema.alterTable("users").dropColumn("zoneinfo").execute(),await e.schema.alterTable("users").dropColumn("user_metadata").execute(),await e.schema.alterTable("users").addColumn("user_metadata","varchar(4096)").execute()}const Fu=Object.freeze(Object.defineProperty({__proto__:null,down:Au,up:Du},Symbol.toStringTag,{value:"Module"}));async function ju(e){await e.schema.alterTable("users").addColumn("preferred_username","varchar(255)").execute()}async function Ru(e){await e.schema.alterTable("users").dropColumn("preferred_username").execute()}const Mu=Object.freeze(Object.defineProperty({__proto__:null,down:Ru,up:ju},Symbol.toStringTag,{value:"Module"}));async function qu(e){await e.schema.alterTable("users").addColumn("address","text").execute()}async function Ju(e){await e.schema.alterTable("users").dropColumn("address").execute()}const Lu=Object.freeze(Object.defineProperty({__proto__:null,down:Ju,up:qu},Symbol.toStringTag,{value:"Module"}));async function Ku(e){try{await e.schema.alterTable("login_sessions").addColumn("authParams_max_age","integer").execute(),w(" Added column authParams_max_age to login_sessions")}catch(t){z(` Warning: Could not add authParams_max_age column: ${t instanceof Error?t.message:String(t)}`)}try{await e.schema.alterTable("login_sessions").addColumn("authParams_acr_values","text").execute(),w(" Added column authParams_acr_values to login_sessions")}catch(t){z(` Warning: Could not add authParams_acr_values column: ${t instanceof Error?t.message:String(t)}`)}}async function Bu(e){try{await e.schema.alterTable("login_sessions").dropColumn("authParams_max_age").execute()}catch(t){z(` Warning: Could not drop authParams_max_age column: ${t instanceof Error?t.message:String(t)}`)}try{await e.schema.alterTable("login_sessions").dropColumn("authParams_acr_values").execute()}catch(t){z(` Warning: Could not drop authParams_acr_values column: ${t instanceof Error?t.message:String(t)}`)}}const Uu=Object.freeze(Object.defineProperty({__proto__:null,down:Bu,up:Ku},Symbol.toStringTag,{value:"Module"}));async function Qu(e){await e.schema.alterTable("clients").addColumn("auth0_conformant","integer",t=>t.defaultTo(1)).execute()}async function Yu(e){await e.schema.alterTable("clients").dropColumn("auth0_conformant").execute()}const Hu=Object.freeze(Object.defineProperty({__proto__:null,down:Yu,up:Qu},Symbol.toStringTag,{value:"Module"}));async function Wu(e){await e.schema.createTable("universal_login_templates").addColumn("tenant_id","varchar(191)",t=>t.primaryKey().references("tenants.id").onDelete("cascade")).addColumn("body","text",t=>t.notNull()).addColumn("updated_at_ts","integer",t=>t.notNull()).addColumn("created_at_ts","integer",t=>t.notNull()).execute()}async function Gu(e){await e.schema.dropTable("universal_login_templates").execute()}const Xu=Object.freeze(Object.defineProperty({__proto__:null,down:Gu,up:Wu},Symbol.toStringTag,{value:"Module"}));async function Vu(e){await e.schema.createTable("custom_text").addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("prompt","varchar(64)",t=>t.notNull()).addColumn("language","varchar(16)",t=>t.notNull()).addColumn("custom_text","text",t=>t.notNull()).addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).addPrimaryKeyConstraint("custom_text_pk",["tenant_id","prompt","language"]).execute()}async function Zu(e){await e.schema.dropTable("custom_text").execute()}const e_=Object.freeze(Object.defineProperty({__proto__:null,down:Zu,up:Vu},Symbol.toStringTag,{value:"Module"}));async function t_(e){await e.schema.alterTable("tenants").addColumn("mfa","text").execute()}async function a_(e){await e.schema.alterTable("tenants").dropColumn("mfa").execute()}const n_=Object.freeze(Object.defineProperty({__proto__:null,down:a_,up:t_},Symbol.toStringTag,{value:"Module"}));async function o_(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function G(e,t,a,n){try{await e.schema.alterTable(t).addColumn(a,h.sql.raw(n)).execute()}catch(o){if(o instanceof Error&&(o.message.includes("1060")||o.message.includes("duplicate column"))){w(` Column ${t}.${a} already exists, skipping`);return}throw o}}async function r_(e){const t=await o_(e);await G(e,"hooks","template_id","text"),await G(e,"hooks","created_at_ts","bigint"),await G(e,"hooks","updated_at_ts","bigint"),t==="mysql"?await h.sql`
|
|
79
|
+
END`}).execute(),await e.schema.alterTable("login_sessions").dropColumn("login_completed").execute(),await e.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await e.schema.createIndex("login_sessions_state_updated_idx").on("login_sessions").columns(["state","updated_at"]).execute()}async function Tu(e){await e.schema.alterTable("login_sessions").addColumn("login_completed","integer",t=>t.defaultTo(0)).execute(),await e.updateTable("login_sessions").set({login_completed:h.sql`CASE WHEN state = 'completed' THEN 1 ELSE 0 END`}).execute(),await e.schema.dropIndex("login_sessions_state_updated_idx").execute(),await e.schema.dropIndex("login_sessions_state_idx").execute(),await e.schema.dropIndex("login_sessions_tenant_user_idx").execute(),await e.schema.alterTable("login_sessions").dropColumn("state").dropColumn("state_data").dropColumn("failure_reason").dropColumn("user_id").execute()}const Nu=Object.freeze(Object.defineProperty({__proto__:null,down:Tu,up:xu},Symbol.toStringTag,{value:"Module"}));async function bu(e){await e.schema.alterTable("roles").addColumn("metadata","varchar(4096)").execute(),await e.schema.alterTable("resource_servers").addColumn("metadata","varchar(4096)").execute()}async function Su(e){await e.schema.alterTable("roles").dropColumn("metadata").execute(),await e.schema.alterTable("resource_servers").dropColumn("metadata").execute()}const Ou=Object.freeze(Object.defineProperty({__proto__:null,down:Su,up:bu},Symbol.toStringTag,{value:"Module"}));async function ku(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function O(e,t,a,n){try{await e.schema.alterTable(t).addColumn(a,n).execute()}catch(o){if(o instanceof Error&&(o.message.includes("1060")||o.message.includes("duplicate column"))){w(` Column ${t}.${a} already exists, skipping`);return}throw o}}async function $u(e){const t=await ku(e);await O(e,"refresh_tokens","created_at_ts","bigint"),await O(e,"refresh_tokens","expires_at_ts","bigint"),await O(e,"refresh_tokens","idle_expires_at_ts","bigint"),await O(e,"refresh_tokens","last_exchanged_at_ts","bigint"),await O(e,"sessions","created_at_ts","bigint"),await O(e,"sessions","updated_at_ts","bigint"),await O(e,"sessions","expires_at_ts","bigint"),await O(e,"sessions","idle_expires_at_ts","bigint"),await O(e,"sessions","authenticated_at_ts","bigint"),await O(e,"sessions","last_interaction_at_ts","bigint"),await O(e,"sessions","used_at_ts","bigint"),await O(e,"sessions","revoked_at_ts","bigint"),await O(e,"login_sessions","created_at_ts","bigint"),await O(e,"login_sessions","updated_at_ts","bigint"),await O(e,"login_sessions","expires_at_ts","bigint"),t==="mysql"&&(await e.schema.alterTable("refresh_tokens").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").modifyColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("expires_at","varchar(35)").execute()),await e.schema.createIndex("idx_sessions_user_id").on("sessions").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("idx_refresh_tokens_user_id").on("refresh_tokens").columns(["tenant_id","user_id"]).execute(),await e.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await e.schema.createIndex("idx_refresh_tokens_expires_at_ts").on("refresh_tokens").column("expires_at_ts").execute(),await e.schema.createIndex("idx_sessions_expires_at_ts").on("sessions").column("expires_at_ts").execute(),await e.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}async function q(e,t,a){try{await e.schema.dropIndex(t).on(a).execute()}catch(n){if(n instanceof Error&&n.message.includes("1091"))return;throw n}}async function k(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){if(n instanceof Error&&n.message.includes("1091"))return;throw n}}async function Eu(e){await q(e,"idx_sessions_user_id","sessions"),await q(e,"idx_refresh_tokens_user_id","refresh_tokens"),await q(e,"idx_refresh_tokens_session_id","refresh_tokens"),await q(e,"idx_refresh_tokens_expires_at_ts","refresh_tokens"),await q(e,"idx_sessions_expires_at_ts","sessions"),await q(e,"idx_login_sessions_expires_at_ts","login_sessions"),await k(e,"refresh_tokens","created_at_ts"),await k(e,"refresh_tokens","expires_at_ts"),await k(e,"refresh_tokens","idle_expires_at_ts"),await k(e,"refresh_tokens","last_exchanged_at_ts"),await k(e,"sessions","created_at_ts"),await k(e,"sessions","updated_at_ts"),await k(e,"sessions","expires_at_ts"),await k(e,"sessions","idle_expires_at_ts"),await k(e,"sessions","authenticated_at_ts"),await k(e,"sessions","last_interaction_at_ts"),await k(e,"sessions","used_at_ts"),await k(e,"sessions","revoked_at_ts"),await k(e,"login_sessions","created_at_ts"),await k(e,"login_sessions","updated_at_ts"),await k(e,"login_sessions","expires_at_ts")}const Pu=Object.freeze(Object.defineProperty({__proto__:null,down:Eu,up:$u},Symbol.toStringTag,{value:"Module"}));async function ke(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function $(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){const o=n instanceof Error?n.message:String(n);if(o.includes("1091")||o.includes("no such column")){w(` Column ${t}.${a} doesn't exist, skipping`);return}throw n}}async function Iu(e){const t=await ke(e);w("Dropping indexes that depend on old date columns...");try{await h.sql`DROP INDEX IF EXISTS login_sessions_state_updated_idx`.execute(e),w(" Dropped index login_sessions_state_updated_idx")}catch(a){z(` Warning: Failed to drop index login_sessions_state_updated_idx: ${a instanceof Error?a.message:String(a)}`)}w("Dropping old date columns..."),await $(e,"refresh_tokens","created_at"),await $(e,"refresh_tokens","expires_at"),await $(e,"refresh_tokens","idle_expires_at"),await $(e,"refresh_tokens","last_exchanged_at"),await $(e,"sessions","created_at"),await $(e,"sessions","updated_at"),await $(e,"sessions","expires_at"),await $(e,"sessions","idle_expires_at"),await $(e,"sessions","authenticated_at"),await $(e,"sessions","last_interaction_at"),await $(e,"sessions","used_at"),await $(e,"sessions","revoked_at"),await $(e,"login_sessions","created_at"),await $(e,"login_sessions","updated_at"),await $(e,"login_sessions","expires_at"),t==="mysql"&&(w("Increasing ID column sizes for ULID support..."),await e.schema.alterTable("login_sessions").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(26)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(26)").execute(),await e.schema.alterTable("sessions").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(26)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(26)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(26)").execute()),w("Migration completed successfully")}async function zu(e){await ke(e)==="mysql"&&(w("Restoring ID column sizes to varchar(21)..."),await e.schema.alterTable("login_sessions").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("session_id","varchar(21)").execute(),await e.schema.alterTable("login_sessions").modifyColumn("csrf_token","varchar(21)").execute(),await e.schema.alterTable("sessions").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("sessions").modifyColumn("login_session_id","varchar(21)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("id","varchar(21)").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("session_id","varchar(21)").execute()),w("Re-adding old date columns (data will be empty)..."),await e.schema.alterTable("refresh_tokens").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("idle_expires_at","varchar(35)").execute(),await e.schema.alterTable("refresh_tokens").addColumn("last_exchanged_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("idle_expires_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("authenticated_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("last_interaction_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("used_at","varchar(35)").execute(),await e.schema.alterTable("sessions").addColumn("revoked_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("created_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("updated_at","varchar(35)").execute(),await e.schema.alterTable("login_sessions").addColumn("expires_at","varchar(35)").execute(),w("Rollback completed")}const Du=Object.freeze(Object.defineProperty({__proto__:null,down:zu,up:Iu},Symbol.toStringTag,{value:"Module"}));async function Au(e){await e.schema.alterTable("users").dropColumn("user_metadata").execute(),await e.schema.alterTable("users").addColumn("user_metadata","text").execute(),await e.schema.alterTable("users").addColumn("middle_name","varchar(100)").execute(),await e.schema.alterTable("users").addColumn("profile","text").execute(),await e.schema.alterTable("users").addColumn("website","text").execute(),await e.schema.alterTable("users").addColumn("gender","varchar(50)").execute(),await e.schema.alterTable("users").addColumn("birthdate","varchar(10)").execute(),await e.schema.alterTable("users").addColumn("zoneinfo","varchar(100)").execute()}async function Fu(e){await e.schema.alterTable("users").dropColumn("middle_name").execute(),await e.schema.alterTable("users").dropColumn("profile").execute(),await e.schema.alterTable("users").dropColumn("website").execute(),await e.schema.alterTable("users").dropColumn("gender").execute(),await e.schema.alterTable("users").dropColumn("birthdate").execute(),await e.schema.alterTable("users").dropColumn("zoneinfo").execute(),await e.schema.alterTable("users").dropColumn("user_metadata").execute(),await e.schema.alterTable("users").addColumn("user_metadata","varchar(4096)").execute()}const ju=Object.freeze(Object.defineProperty({__proto__:null,down:Fu,up:Au},Symbol.toStringTag,{value:"Module"}));async function Ru(e){await e.schema.alterTable("users").addColumn("preferred_username","varchar(255)").execute()}async function Mu(e){await e.schema.alterTable("users").dropColumn("preferred_username").execute()}const qu=Object.freeze(Object.defineProperty({__proto__:null,down:Mu,up:Ru},Symbol.toStringTag,{value:"Module"}));async function Ju(e){await e.schema.alterTable("users").addColumn("address","text").execute()}async function Lu(e){await e.schema.alterTable("users").dropColumn("address").execute()}const Ku=Object.freeze(Object.defineProperty({__proto__:null,down:Lu,up:Ju},Symbol.toStringTag,{value:"Module"}));async function Bu(e){try{await e.schema.alterTable("login_sessions").addColumn("authParams_max_age","integer").execute(),w(" Added column authParams_max_age to login_sessions")}catch(t){z(` Warning: Could not add authParams_max_age column: ${t instanceof Error?t.message:String(t)}`)}try{await e.schema.alterTable("login_sessions").addColumn("authParams_acr_values","text").execute(),w(" Added column authParams_acr_values to login_sessions")}catch(t){z(` Warning: Could not add authParams_acr_values column: ${t instanceof Error?t.message:String(t)}`)}}async function Uu(e){try{await e.schema.alterTable("login_sessions").dropColumn("authParams_max_age").execute()}catch(t){z(` Warning: Could not drop authParams_max_age column: ${t instanceof Error?t.message:String(t)}`)}try{await e.schema.alterTable("login_sessions").dropColumn("authParams_acr_values").execute()}catch(t){z(` Warning: Could not drop authParams_acr_values column: ${t instanceof Error?t.message:String(t)}`)}}const Qu=Object.freeze(Object.defineProperty({__proto__:null,down:Uu,up:Bu},Symbol.toStringTag,{value:"Module"}));async function Yu(e){await e.schema.alterTable("clients").addColumn("auth0_conformant","integer",t=>t.defaultTo(1)).execute()}async function Hu(e){await e.schema.alterTable("clients").dropColumn("auth0_conformant").execute()}const Wu=Object.freeze(Object.defineProperty({__proto__:null,down:Hu,up:Yu},Symbol.toStringTag,{value:"Module"}));async function Gu(e){await e.schema.createTable("universal_login_templates").addColumn("tenant_id","varchar(191)",t=>t.primaryKey().references("tenants.id").onDelete("cascade")).addColumn("body","text",t=>t.notNull()).addColumn("updated_at_ts","integer",t=>t.notNull()).addColumn("created_at_ts","integer",t=>t.notNull()).execute()}async function Xu(e){await e.schema.dropTable("universal_login_templates").execute()}const Vu=Object.freeze(Object.defineProperty({__proto__:null,down:Xu,up:Gu},Symbol.toStringTag,{value:"Module"}));async function Zu(e){await e.schema.createTable("custom_text").addColumn("tenant_id","varchar(191)",t=>t.notNull().references("tenants.id").onDelete("cascade")).addColumn("prompt","varchar(64)",t=>t.notNull()).addColumn("language","varchar(16)",t=>t.notNull()).addColumn("custom_text","text",t=>t.notNull()).addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).addPrimaryKeyConstraint("custom_text_pk",["tenant_id","prompt","language"]).execute()}async function e_(e){await e.schema.dropTable("custom_text").execute()}const t_=Object.freeze(Object.defineProperty({__proto__:null,down:e_,up:Zu},Symbol.toStringTag,{value:"Module"}));async function a_(e){await e.schema.alterTable("tenants").addColumn("mfa","text").execute()}async function n_(e){await e.schema.alterTable("tenants").dropColumn("mfa").execute()}const o_=Object.freeze(Object.defineProperty({__proto__:null,down:n_,up:a_},Symbol.toStringTag,{value:"Module"}));async function r_(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function G(e,t,a,n){try{await e.schema.alterTable(t).addColumn(a,h.sql.raw(n)).execute()}catch(o){if(o instanceof Error&&(o.message.includes("1060")||o.message.includes("duplicate column"))){w(` Column ${t}.${a} already exists, skipping`);return}throw o}}async function s_(e){const t=await r_(e);await G(e,"hooks","template_id","text"),await G(e,"hooks","created_at_ts","bigint"),await G(e,"hooks","updated_at_ts","bigint"),t==="mysql"?await h.sql`
|
|
80
80
|
UPDATE hooks
|
|
81
81
|
SET created_at_ts = UNIX_TIMESTAMP(created_at) * 1000,
|
|
82
82
|
updated_at_ts = UNIX_TIMESTAMP(updated_at) * 1000
|
|
@@ -86,14 +86,14 @@
|
|
|
86
86
|
SET created_at_ts = CAST(strftime('%s', created_at) AS INTEGER) * 1000,
|
|
87
87
|
updated_at_ts = CAST(strftime('%s', updated_at) AS INTEGER) * 1000
|
|
88
88
|
WHERE created_at_ts IS NULL AND created_at IS NOT NULL
|
|
89
|
-
`.execute(e),t==="mysql"&&(await e.schema.alterTable("hooks").modifyColumn("created_at","varchar(255)").execute(),await e.schema.alterTable("hooks").modifyColumn("updated_at","varchar(255)").execute())}async function X(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){if(n instanceof Error&&(n.message.includes("1091")||n.message.includes("no such column")))return;throw n}}async function
|
|
89
|
+
`.execute(e),t==="mysql"&&(await e.schema.alterTable("hooks").modifyColumn("created_at","varchar(255)").execute(),await e.schema.alterTable("hooks").modifyColumn("updated_at","varchar(255)").execute())}async function X(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){if(n instanceof Error&&(n.message.includes("1091")||n.message.includes("no such column")))return;throw n}}async function i_(e){await X(e,"hooks","template_id"),await X(e,"hooks","created_at_ts"),await X(e,"hooks","updated_at_ts")}const c_=Object.freeze(Object.defineProperty({__proto__:null,down:i_,up:s_},Symbol.toStringTag,{value:"Module"}));async function $e(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function ue(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){const o=n instanceof Error?n.message:String(n);if(o.includes("1091")||o.includes("no such column")){w(` Column ${t}.${a} doesn't exist, skipping`);return}throw n}}async function l_(e){var r,s,i,d,l;const t=await $e(e);w("Running preflight integrity check on hooks timestamp columns...");const{rows:a}=await h.sql`SELECT
|
|
90
90
|
SUM(CASE WHEN created_at_ts IS NULL THEN 1 ELSE 0 END) AS null_created,
|
|
91
91
|
SUM(CASE WHEN updated_at_ts IS NULL THEN 1 ELSE 0 END) AS null_updated
|
|
92
92
|
FROM hooks`.execute(e),n=Number(((r=a[0])==null?void 0:r.null_created)??0),o=Number(((s=a[0])==null?void 0:s.null_updated)??0);if(n>0||o>0)throw new Error(`Preflight check failed: ${n} row(s) with NULL created_at_ts, ${o} row(s) with NULL updated_at_ts. All timestamp data must be migrated to _ts columns before dropping legacy columns.`);if(w(" Preflight check passed — all _ts columns are populated."),t==="mysql"){w("Running preflight length check on columns being narrowed...");const{rows:u}=await h.sql`SELECT
|
|
93
93
|
SUM(CASE WHEN CHAR_LENGTH(hook_id) > 21 THEN 1 ELSE 0 END) AS long_hook_id,
|
|
94
94
|
SUM(CASE WHEN CHAR_LENGTH(form_id) > 128 THEN 1 ELSE 0 END) AS long_form_id,
|
|
95
95
|
SUM(CASE WHEN CHAR_LENGTH(template_id) > 64 THEN 1 ELSE 0 END) AS long_template_id
|
|
96
|
-
FROM hooks`.execute(e),c=Number(((i=u[0])==null?void 0:i.long_hook_id)??0),m=Number(((d=u[0])==null?void 0:d.long_form_id)??0),_=Number(((l=u[0])==null?void 0:l.long_template_id)??0),p=[];if(c>0&&p.push(`${c} row(s) with hook_id longer than 21 chars`),m>0&&p.push(`${m} row(s) with form_id longer than 128 chars`),_>0&&p.push(`${_} row(s) with template_id longer than 64 chars`),p.length>0)throw new Error(`Preflight length check failed: ${p.join("; ")}. Truncate or fix oversized values before running this migration.`);w(" Preflight length check passed — all values fit within new column sizes.")}w("Dropping old date columns from hooks..."),await ue(e,"hooks","created_at"),await ue(e,"hooks","updated_at"),t==="mysql"&&(w("Fixing hook column types..."),await e.schema.alterTable("hooks").modifyColumn("hook_id","varchar(21)",u=>u.notNull().primaryKey()).execute(),await e.schema.alterTable("hooks").modifyColumn("form_id","varchar(128)").execute(),await e.schema.alterTable("hooks").modifyColumn("template_id","varchar(64)").execute())}async function
|
|
96
|
+
FROM hooks`.execute(e),c=Number(((i=u[0])==null?void 0:i.long_hook_id)??0),m=Number(((d=u[0])==null?void 0:d.long_form_id)??0),_=Number(((l=u[0])==null?void 0:l.long_template_id)??0),p=[];if(c>0&&p.push(`${c} row(s) with hook_id longer than 21 chars`),m>0&&p.push(`${m} row(s) with form_id longer than 128 chars`),_>0&&p.push(`${_} row(s) with template_id longer than 64 chars`),p.length>0)throw new Error(`Preflight length check failed: ${p.join("; ")}. Truncate or fix oversized values before running this migration.`);w(" Preflight length check passed — all values fit within new column sizes.")}w("Dropping old date columns from hooks..."),await ue(e,"hooks","created_at"),await ue(e,"hooks","updated_at"),t==="mysql"&&(w("Fixing hook column types..."),await e.schema.alterTable("hooks").modifyColumn("hook_id","varchar(21)",u=>u.notNull().primaryKey()).execute(),await e.schema.alterTable("hooks").modifyColumn("form_id","varchar(128)").execute(),await e.schema.alterTable("hooks").modifyColumn("template_id","varchar(64)").execute())}async function d_(e){const t=await $e(e);await e.schema.alterTable("hooks").addColumn("created_at","varchar(255)").execute(),await e.schema.alterTable("hooks").addColumn("updated_at","varchar(255)").execute(),t==="mysql"?await h.sql`
|
|
97
97
|
UPDATE hooks
|
|
98
98
|
SET created_at = DATE_FORMAT(CONVERT_TZ(FROM_UNIXTIME(created_at_ts / 1000), @@session.time_zone, '+00:00'), '%Y-%m-%dT%H:%i:%s.000Z'),
|
|
99
99
|
updated_at = DATE_FORMAT(CONVERT_TZ(FROM_UNIXTIME(updated_at_ts / 1000), @@session.time_zone, '+00:00'), '%Y-%m-%dT%H:%i:%s.000Z')
|
|
@@ -103,7 +103,7 @@
|
|
|
103
103
|
SET created_at = strftime('%Y-%m-%dT%H:%M:%fZ', created_at_ts / 1000, 'unixepoch'),
|
|
104
104
|
updated_at = strftime('%Y-%m-%dT%H:%M:%fZ', updated_at_ts / 1000, 'unixepoch')
|
|
105
105
|
WHERE created_at_ts IS NOT NULL
|
|
106
|
-
`.execute(e),t==="mysql"&&(await e.schema.alterTable("hooks").modifyColumn("hook_id","varchar(255)",a=>a.notNull().primaryKey()).execute(),await e.schema.alterTable("hooks").modifyColumn("form_id","text").execute(),await e.schema.alterTable("hooks").modifyColumn("template_id","text").execute())}const
|
|
106
|
+
`.execute(e),t==="mysql"&&(await e.schema.alterTable("hooks").modifyColumn("hook_id","varchar(255)",a=>a.notNull().primaryKey()).execute(),await e.schema.alterTable("hooks").modifyColumn("form_id","text").execute(),await e.schema.alterTable("hooks").modifyColumn("template_id","text").execute())}const u_=Object.freeze(Object.defineProperty({__proto__:null,down:d_,up:l_},Symbol.toStringTag,{value:"Module"}));async function __(e){const{rows:t}=await h.sql`
|
|
107
107
|
SELECT username, provider, tenant_id, COUNT(*) AS cnt
|
|
108
108
|
FROM users
|
|
109
109
|
WHERE username IS NOT NULL
|
|
@@ -125,7 +125,7 @@
|
|
|
125
125
|
GROUP BY username, provider, tenant_id
|
|
126
126
|
HAVING COUNT(*) > 1
|
|
127
127
|
)
|
|
128
|
-
`.execute(e),w("Duplicate rows removed.")}await e.schema.createIndex("unique_username_provider").on("users").unique().columns(["username","provider","tenant_id"]).execute()}async function __(e){await e.schema.dropIndex("unique_username_provider").execute()}const m_=Object.freeze(Object.defineProperty({__proto__:null,down:__,up:u_},Symbol.toStringTag,{value:"Module"}));async function h_(e){await e.schema.alterTable("refresh_tokens").addColumn("login_id","varchar(26)").execute(),await e.schema.createIndex("idx_refresh_tokens_login_id").on("refresh_tokens").column("login_id").execute()}async function p_(e){await e.schema.dropIndex("idx_refresh_tokens_login_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("login_id").execute()}const f_=Object.freeze(Object.defineProperty({__proto__:null,down:p_,up:h_},Symbol.toStringTag,{value:"Module"}));async function $e(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function g_(e){await $e(e)==="mysql"?(await e.schema.alterTable("refresh_tokens").modifyColumn("login_id","varchar(26)",a=>a.notNull()).execute(),await e.schema.dropIndex("idx_refresh_tokens_session_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("session_id").execute()):(await e.schema.dropIndex("idx_refresh_tokens_session_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("session_id").execute())}async function w_(e){await $e(e)==="mysql"?(await e.schema.alterTable("refresh_tokens").addColumn("session_id","varchar(26)").execute(),await e.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("login_id","varchar(26)").execute()):await e.schema.alterTable("refresh_tokens").addColumn("session_id","varchar(21)").execute()}const y_=Object.freeze(Object.defineProperty({__proto__:null,down:w_,up:g_},Symbol.toStringTag,{value:"Module"}));async function v_(e){await e.schema.createIndex("idx_sessions_idle_expires_at_ts").on("sessions").column("idle_expires_at_ts").execute(),await e.schema.createIndex("idx_refresh_tokens_idle_expires_at_ts").on("refresh_tokens").column("idle_expires_at_ts").execute()}async function C_(e){await e.schema.dropIndex("idx_sessions_idle_expires_at_ts").on("sessions").execute(),await e.schema.dropIndex("idx_refresh_tokens_idle_expires_at_ts").on("refresh_tokens").execute()}const x_=Object.freeze(Object.defineProperty({__proto__:null,down:C_,up:v_},Symbol.toStringTag,{value:"Module"}));async function T_(e){await e.schema.alterTable("login_sessions").addColumn("auth_connection","varchar(255)").execute()}async function N_(e){await e.schema.alterTable("login_sessions").dropColumn("auth_connection").execute()}const b_=Object.freeze(Object.defineProperty({__proto__:null,down:N_,up:T_},Symbol.toStringTag,{value:"Module"}));async function S_(e){await e.schema.createTable("mfa_enrollments").addColumn("id","varchar(26)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.notNull()).addColumn("type","varchar(32)",t=>t.notNull()).addColumn("phone_number","varchar(32)").addColumn("totp_secret","varchar(255)").addColumn("confirmed","integer",t=>t.notNull().defaultTo(0)).addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("mfa_enrollments_tenant_user_idx").on("mfa_enrollments").columns(["tenant_id","user_id"]).execute()}async function O_(e){await e.schema.dropTable("mfa_enrollments").execute()}const k_=Object.freeze(Object.defineProperty({__proto__:null,down:O_,up:S_},Symbol.toStringTag,{value:"Module"}));async function $_(e){await e.schema.alterTable("codes").addColumn("otp","varchar(32)").execute()}async function E_(e){await e.schema.alterTable("codes").dropColumn("otp").execute()}const P_=Object.freeze(Object.defineProperty({__proto__:null,down:E_,up:$_},Symbol.toStringTag,{value:"Module"}));async function I_(e){await e.schema.alterTable("mfa_enrollments").renameTo("authentication_methods").execute(),await e.schema.alterTable("authentication_methods").addColumn("credential_id","varchar(512)").execute(),await e.schema.alterTable("authentication_methods").addColumn("public_key","text").execute(),await e.schema.alterTable("authentication_methods").addColumn("sign_count","integer").execute(),await e.schema.alterTable("authentication_methods").addColumn("credential_backed_up","integer").execute(),await e.schema.alterTable("authentication_methods").addColumn("transports","varchar(512)").execute(),await e.schema.alterTable("authentication_methods").addColumn("friendly_name","varchar(255)").execute(),await e.schema.createIndex("authentication_methods_credential_id_idx").on("authentication_methods").column("credential_id").execute()}async function z_(e){await e.schema.dropIndex("authentication_methods_credential_id_idx").execute(),await e.schema.alterTable("authentication_methods").dropColumn("friendly_name").execute(),await e.schema.alterTable("authentication_methods").dropColumn("transports").execute(),await e.schema.alterTable("authentication_methods").dropColumn("credential_backed_up").execute(),await e.schema.alterTable("authentication_methods").dropColumn("sign_count").execute(),await e.schema.alterTable("authentication_methods").dropColumn("public_key").execute(),await e.schema.alterTable("authentication_methods").dropColumn("credential_id").execute(),await e.schema.alterTable("authentication_methods").renameTo("mfa_enrollments").execute()}const D_=Object.freeze(Object.defineProperty({__proto__:null,down:z_,up:I_},Symbol.toStringTag,{value:"Module"}));async function A_(e){await e.schema.createTable("outbox_events").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("event_type","varchar(255)",t=>t.notNull()).addColumn("log_type","varchar(64)",t=>t.notNull()).addColumn("aggregate_type","varchar(64)",t=>t.notNull()).addColumn("aggregate_id","varchar(255)",t=>t.notNull()).addColumn("payload","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("processed_at","varchar(35)").addColumn("retry_count","integer",t=>t.notNull().defaultTo(0)).addColumn("next_retry_at","varchar(35)").addColumn("error","text").execute(),await e.schema.createIndex("idx_outbox_unprocessed").on("outbox_events").columns(["processed_at","created_at"]).execute(),await e.schema.createIndex("idx_outbox_tenant_type").on("outbox_events").columns(["tenant_id","event_type","created_at"]).execute()}async function F_(e){await e.schema.dropTable("outbox_events").execute()}const j_=Object.freeze(Object.defineProperty({__proto__:null,down:F_,up:A_},Symbol.toStringTag,{value:"Module"}));async function R_(e){await e.schema.alterTable("outbox_events").addColumn("claimed_by","varchar(64)").execute(),await e.schema.alterTable("outbox_events").addColumn("claim_expires_at","varchar(35)").execute()}async function M_(e){await e.schema.alterTable("outbox_events").dropColumn("claimed_by").execute(),await e.schema.alterTable("outbox_events").dropColumn("claim_expires_at").execute()}const q_=Object.freeze(Object.defineProperty({__proto__:null,down:M_,up:R_},Symbol.toStringTag,{value:"Module"}));async function J_(e){await e.schema.createIndex("idx_outbox_claim").on("outbox_events").columns(["processed_at","claim_expires_at","next_retry_at","created_at"]).execute()}async function L_(e){await e.schema.dropIndex("idx_outbox_claim").on("outbox_events").execute()}const K_=Object.freeze(Object.defineProperty({__proto__:null,down:L_,up:J_},Symbol.toStringTag,{value:"Module"}));async function B_(e){await e.schema.createTable("hook_code").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("code","text",t=>t.notNull()).addColumn("secrets","text").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("idx_hook_code_tenant").on("hook_code").columns(["tenant_id"]).execute(),await e.schema.alterTable("hooks").addColumn("code_id","varchar(21)").execute()}async function U_(e){await e.schema.alterTable("hooks").dropColumn("code_id").execute(),await e.schema.dropTable("hook_code").execute()}const Q_=Object.freeze(Object.defineProperty({__proto__:null,down:U_,up:B_},Symbol.toStringTag,{value:"Module"}));async function Y_(e){await e.schema.createTable("actions").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("code","text",t=>t.notNull()).addColumn("runtime","varchar(50)").addColumn("status","varchar(50)",t=>t.defaultTo("built")).addColumn("secrets","text").addColumn("dependencies","text").addColumn("supported_triggers","text").addColumn("deployed_at_ts","bigint").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("idx_actions_tenant").on("actions").columns(["tenant_id"]).execute()}async function H_(e){await e.schema.dropTable("actions").execute()}const W_=Object.freeze(Object.defineProperty({__proto__:null,down:H_,up:Y_},Symbol.toStringTag,{value:"Module"}));async function G_(e){await e.schema.alterTable("outbox_events").addColumn("dead_lettered_at","varchar(35)").execute(),await e.schema.alterTable("outbox_events").addColumn("final_error","text").execute()}async function X_(e){await e.schema.alterTable("outbox_events").dropColumn("dead_lettered_at").execute(),await e.schema.alterTable("outbox_events").dropColumn("final_error").execute()}const V_=Object.freeze(Object.defineProperty({__proto__:null,down:X_,up:G_},Symbol.toStringTag,{value:"Module"}));async function Z_(e){await e.schema.alterTable("users").addColumn("registration_completed_at","varchar(35)").execute(),await e.updateTable("users").set({registration_completed_at:h.sql`created_at`}).where("registration_completed_at","is",null).execute()}async function em(e){await e.schema.alterTable("users").dropColumn("registration_completed_at").execute()}const tm=Object.freeze(Object.defineProperty({__proto__:null,down:em,up:Z_},Symbol.toStringTag,{value:"Module"}));async function am(e){await e.schema.createIndex("idx_outbox_events_tenant_dead_lettered").on("outbox_events").columns(["tenant_id","dead_lettered_at"]).execute()}async function nm(e){await e.schema.dropIndex("idx_outbox_events_tenant_dead_lettered").execute()}const om=Object.freeze(Object.defineProperty({__proto__:null,down:nm,up:am},Symbol.toStringTag,{value:"Module"}));async function rm(e){await e.schema.alterTable("login_sessions").addColumn("auth_strategy_strategy","varchar(64)").execute(),await e.schema.alterTable("login_sessions").addColumn("auth_strategy_strategy_type","varchar(64)").execute(),await e.schema.alterTable("login_sessions").addColumn("authenticated_at","varchar(35)").execute()}async function sm(e){await e.schema.alterTable("login_sessions").dropColumn("auth_strategy_strategy").execute(),await e.schema.alterTable("login_sessions").dropColumn("auth_strategy_strategy_type").execute(),await e.schema.alterTable("login_sessions").dropColumn("authenticated_at").execute()}const im=Object.freeze(Object.defineProperty({__proto__:null,down:sm,up:rm},Symbol.toStringTag,{value:"Module"}));async function Ee(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function cm(e){const t=await Ee(e);try{await e.schema.alterTable("login_sessions").addColumn("auth_params","text").execute(),w(" Added column auth_params to login_sessions")}catch(a){z(` Warning: Could not add auth_params column: ${a instanceof Error?a.message:String(a)}`)}if(t==="mysql")try{await e.schema.alterTable("login_sessions").modifyColumn("authorization_url","text").execute(),w(" Widened authorization_url to text")}catch(a){z(` Warning: Could not widen authorization_url: ${a instanceof Error?a.message:String(a)}`)}}async function lm(e){const t=await Ee(e);try{await e.schema.alterTable("login_sessions").dropColumn("auth_params").execute()}catch(a){z(` Warning: Could not drop auth_params column: ${a instanceof Error?a.message:String(a)}`)}if(t==="mysql")try{await e.schema.alterTable("login_sessions").modifyColumn("authorization_url","varchar(1024)").execute()}catch(a){z(` Warning: Could not narrow authorization_url: ${a instanceof Error?a.message:String(a)}`)}}const dm=Object.freeze(Object.defineProperty({__proto__:null,down:lm,up:cm},Symbol.toStringTag,{value:"Module"})),um=["client_id","act_as","response_type","response_mode","redirect_uri","audience","organization","state","nonce","scope","prompt","code_challenge_method","code_challenge","username","ui_locales","max_age","acr_values","vendor_id"],_e=500,me=20;async function _m(e){try{let t=0;for(;;){const a=await e.selectFrom("login_sessions").where("auth_params","is",null).selectAll().limit(_e).execute();if(a.length===0)break;for(let n=0;n<a.length;n+=me){const o=a.slice(n,n+me);await Promise.all(o.map(async r=>{const s={};for(const i of um){const d=r[`authParams_${i}`];d!=null&&(s[i]=d)}await e.updateTable("login_sessions").set({auth_params:JSON.stringify(s)}).where("tenant_id","=",r.tenant_id).where("id","=",r.id).execute()}))}if(t+=a.length,w(` Backfilled auth_params for ${t} login_sessions row(s)...`),a.length<_e)break}w(t===0?" No login_sessions rows to backfill (auth_params all set)":` Backfilled auth_params for ${t} login_sessions row(s) total`)}catch(t){z(` Warning: Could not backfill auth_params: ${t instanceof Error?t.message:String(t)}`)}}async function mm(e){}const hm=Object.freeze(Object.defineProperty({__proto__:null,down:mm,up:_m},Symbol.toStringTag,{value:"Module"}));async function pm(e){try{return await h.sql`SELECT @@version_comment`.execute(e),"mysql"}catch{return"sqlite"}}async function fm(e){await pm(e)==="mysql"?await gm(e):await wm(e)}async function gm(e){try{await h.sql`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(e),w(" Dropped FK login_sessions_client_fk")}catch(t){const a=t instanceof Error?t.message:String(t);a.includes("1091")||a.includes("doesn't exist")?w(" FK login_sessions_client_fk already absent, skipping"):z(` Warning: could not drop login_sessions_client_fk: ${a}`)}try{await h.sql`ALTER TABLE login_sessions MODIFY authParams_client_id varchar(191) NULL`.execute(e),w(" Relaxed NOT NULL on login_sessions.authParams_client_id")}catch(t){const a=t instanceof Error?t.message:String(t);throw z(` Failed to relax authParams_client_id NOT NULL: ${a}`),t}}async function wm(e){await e.transaction().execute(async t=>{await t.schema.createTable("login_sessions_new").addColumn("id","varchar(26)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(26)").addColumn("csrf_token","varchar(26)",a=>a.notNull()).addColumn("authParams_client_id","varchar(191)").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","text").addColumn("authParams_state","text").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","text").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authParams_max_age","integer").addColumn("authParams_acr_values","varchar(255)").addColumn("authorization_url","text").addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("state","varchar(50)",a=>a.defaultTo("pending")).addColumn("state_data","text").addColumn("failure_reason","text").addColumn("user_id","varchar(255)").addColumn("created_at_ts","bigint").addColumn("updated_at_ts","bigint").addColumn("expires_at_ts","bigint").addColumn("auth_connection","varchar(255)").addColumn("auth_strategy_strategy","varchar(64)").addColumn("auth_strategy_strategy_type","varchar(64)").addColumn("authenticated_at","varchar(35)").addColumn("auth_params","text").addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],a=>a.onDelete("cascade")).execute(),await h.sql`INSERT INTO login_sessions_new (
|
|
128
|
+
`.execute(e),w("Duplicate rows removed.")}await e.schema.createIndex("unique_username_provider").on("users").unique().columns(["username","provider","tenant_id"]).execute()}async function m_(e){await e.schema.dropIndex("unique_username_provider").execute()}const h_=Object.freeze(Object.defineProperty({__proto__:null,down:m_,up:__},Symbol.toStringTag,{value:"Module"}));async function p_(e){await e.schema.alterTable("refresh_tokens").addColumn("login_id","varchar(26)").execute(),await e.schema.createIndex("idx_refresh_tokens_login_id").on("refresh_tokens").column("login_id").execute()}async function f_(e){await e.schema.dropIndex("idx_refresh_tokens_login_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("login_id").execute()}const g_=Object.freeze(Object.defineProperty({__proto__:null,down:f_,up:p_},Symbol.toStringTag,{value:"Module"}));async function Ee(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function w_(e){await Ee(e)==="mysql"?(await e.schema.alterTable("refresh_tokens").modifyColumn("login_id","varchar(26)",a=>a.notNull()).execute(),await e.schema.dropIndex("idx_refresh_tokens_session_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("session_id").execute()):(await e.schema.dropIndex("idx_refresh_tokens_session_id").execute(),await e.schema.alterTable("refresh_tokens").dropColumn("session_id").execute())}async function y_(e){await Ee(e)==="mysql"?(await e.schema.alterTable("refresh_tokens").addColumn("session_id","varchar(26)").execute(),await e.schema.createIndex("idx_refresh_tokens_session_id").on("refresh_tokens").column("session_id").execute(),await e.schema.alterTable("refresh_tokens").modifyColumn("login_id","varchar(26)").execute()):await e.schema.alterTable("refresh_tokens").addColumn("session_id","varchar(21)").execute()}const v_=Object.freeze(Object.defineProperty({__proto__:null,down:y_,up:w_},Symbol.toStringTag,{value:"Module"}));async function C_(e){await e.schema.createIndex("idx_sessions_idle_expires_at_ts").on("sessions").column("idle_expires_at_ts").execute(),await e.schema.createIndex("idx_refresh_tokens_idle_expires_at_ts").on("refresh_tokens").column("idle_expires_at_ts").execute()}async function x_(e){await e.schema.dropIndex("idx_sessions_idle_expires_at_ts").on("sessions").execute(),await e.schema.dropIndex("idx_refresh_tokens_idle_expires_at_ts").on("refresh_tokens").execute()}const T_=Object.freeze(Object.defineProperty({__proto__:null,down:x_,up:C_},Symbol.toStringTag,{value:"Module"}));async function N_(e){await e.schema.alterTable("login_sessions").addColumn("auth_connection","varchar(255)").execute()}async function b_(e){await e.schema.alterTable("login_sessions").dropColumn("auth_connection").execute()}const S_=Object.freeze(Object.defineProperty({__proto__:null,down:b_,up:N_},Symbol.toStringTag,{value:"Module"}));async function O_(e){await e.schema.createTable("mfa_enrollments").addColumn("id","varchar(26)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("user_id","varchar(255)",t=>t.notNull()).addColumn("type","varchar(32)",t=>t.notNull()).addColumn("phone_number","varchar(32)").addColumn("totp_secret","varchar(255)").addColumn("confirmed","integer",t=>t.notNull().defaultTo(0)).addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("mfa_enrollments_tenant_user_idx").on("mfa_enrollments").columns(["tenant_id","user_id"]).execute()}async function k_(e){await e.schema.dropTable("mfa_enrollments").execute()}const $_=Object.freeze(Object.defineProperty({__proto__:null,down:k_,up:O_},Symbol.toStringTag,{value:"Module"}));async function E_(e){await e.schema.alterTable("codes").addColumn("otp","varchar(32)").execute()}async function P_(e){await e.schema.alterTable("codes").dropColumn("otp").execute()}const I_=Object.freeze(Object.defineProperty({__proto__:null,down:P_,up:E_},Symbol.toStringTag,{value:"Module"}));async function z_(e){await e.schema.alterTable("mfa_enrollments").renameTo("authentication_methods").execute(),await e.schema.alterTable("authentication_methods").addColumn("credential_id","varchar(512)").execute(),await e.schema.alterTable("authentication_methods").addColumn("public_key","text").execute(),await e.schema.alterTable("authentication_methods").addColumn("sign_count","integer").execute(),await e.schema.alterTable("authentication_methods").addColumn("credential_backed_up","integer").execute(),await e.schema.alterTable("authentication_methods").addColumn("transports","varchar(512)").execute(),await e.schema.alterTable("authentication_methods").addColumn("friendly_name","varchar(255)").execute(),await e.schema.createIndex("authentication_methods_credential_id_idx").on("authentication_methods").column("credential_id").execute()}async function D_(e){await e.schema.dropIndex("authentication_methods_credential_id_idx").execute(),await e.schema.alterTable("authentication_methods").dropColumn("friendly_name").execute(),await e.schema.alterTable("authentication_methods").dropColumn("transports").execute(),await e.schema.alterTable("authentication_methods").dropColumn("credential_backed_up").execute(),await e.schema.alterTable("authentication_methods").dropColumn("sign_count").execute(),await e.schema.alterTable("authentication_methods").dropColumn("public_key").execute(),await e.schema.alterTable("authentication_methods").dropColumn("credential_id").execute(),await e.schema.alterTable("authentication_methods").renameTo("mfa_enrollments").execute()}const A_=Object.freeze(Object.defineProperty({__proto__:null,down:D_,up:z_},Symbol.toStringTag,{value:"Module"}));async function F_(e){await e.schema.createTable("outbox_events").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("event_type","varchar(255)",t=>t.notNull()).addColumn("log_type","varchar(64)",t=>t.notNull()).addColumn("aggregate_type","varchar(64)",t=>t.notNull()).addColumn("aggregate_id","varchar(255)",t=>t.notNull()).addColumn("payload","text",t=>t.notNull()).addColumn("created_at","varchar(35)",t=>t.notNull()).addColumn("processed_at","varchar(35)").addColumn("retry_count","integer",t=>t.notNull().defaultTo(0)).addColumn("next_retry_at","varchar(35)").addColumn("error","text").execute(),await e.schema.createIndex("idx_outbox_unprocessed").on("outbox_events").columns(["processed_at","created_at"]).execute(),await e.schema.createIndex("idx_outbox_tenant_type").on("outbox_events").columns(["tenant_id","event_type","created_at"]).execute()}async function j_(e){await e.schema.dropTable("outbox_events").execute()}const R_=Object.freeze(Object.defineProperty({__proto__:null,down:j_,up:F_},Symbol.toStringTag,{value:"Module"}));async function M_(e){await e.schema.alterTable("outbox_events").addColumn("claimed_by","varchar(64)").execute(),await e.schema.alterTable("outbox_events").addColumn("claim_expires_at","varchar(35)").execute()}async function q_(e){await e.schema.alterTable("outbox_events").dropColumn("claimed_by").execute(),await e.schema.alterTable("outbox_events").dropColumn("claim_expires_at").execute()}const J_=Object.freeze(Object.defineProperty({__proto__:null,down:q_,up:M_},Symbol.toStringTag,{value:"Module"}));async function L_(e){await e.schema.createIndex("idx_outbox_claim").on("outbox_events").columns(["processed_at","claim_expires_at","next_retry_at","created_at"]).execute()}async function K_(e){await e.schema.dropIndex("idx_outbox_claim").on("outbox_events").execute()}const B_=Object.freeze(Object.defineProperty({__proto__:null,down:K_,up:L_},Symbol.toStringTag,{value:"Module"}));async function U_(e){await e.schema.createTable("hook_code").addColumn("id","varchar(21)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("code","text",t=>t.notNull()).addColumn("secrets","text").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("idx_hook_code_tenant").on("hook_code").columns(["tenant_id"]).execute(),await e.schema.alterTable("hooks").addColumn("code_id","varchar(21)").execute()}async function Q_(e){await e.schema.alterTable("hooks").dropColumn("code_id").execute(),await e.schema.dropTable("hook_code").execute()}const Y_=Object.freeze(Object.defineProperty({__proto__:null,down:Q_,up:U_},Symbol.toStringTag,{value:"Module"}));async function H_(e){await e.schema.createTable("actions").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.notNull()).addColumn("name","varchar(255)",t=>t.notNull()).addColumn("code","text",t=>t.notNull()).addColumn("runtime","varchar(50)").addColumn("status","varchar(50)",t=>t.defaultTo("built")).addColumn("secrets","text").addColumn("dependencies","text").addColumn("supported_triggers","text").addColumn("deployed_at_ts","bigint").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("updated_at_ts","bigint",t=>t.notNull()).execute(),await e.schema.createIndex("idx_actions_tenant").on("actions").columns(["tenant_id"]).execute()}async function W_(e){await e.schema.dropTable("actions").execute()}const G_=Object.freeze(Object.defineProperty({__proto__:null,down:W_,up:H_},Symbol.toStringTag,{value:"Module"}));async function X_(e){await e.schema.alterTable("outbox_events").addColumn("dead_lettered_at","varchar(35)").execute(),await e.schema.alterTable("outbox_events").addColumn("final_error","text").execute()}async function V_(e){await e.schema.alterTable("outbox_events").dropColumn("dead_lettered_at").execute(),await e.schema.alterTable("outbox_events").dropColumn("final_error").execute()}const Z_=Object.freeze(Object.defineProperty({__proto__:null,down:V_,up:X_},Symbol.toStringTag,{value:"Module"}));async function em(e){await e.schema.alterTable("users").addColumn("registration_completed_at","varchar(35)").execute(),await e.updateTable("users").set({registration_completed_at:h.sql`created_at`}).where("registration_completed_at","is",null).execute()}async function tm(e){await e.schema.alterTable("users").dropColumn("registration_completed_at").execute()}const am=Object.freeze(Object.defineProperty({__proto__:null,down:tm,up:em},Symbol.toStringTag,{value:"Module"}));async function nm(e){await e.schema.createIndex("idx_outbox_events_tenant_dead_lettered").on("outbox_events").columns(["tenant_id","dead_lettered_at"]).execute()}async function om(e){await e.schema.dropIndex("idx_outbox_events_tenant_dead_lettered").execute()}const rm=Object.freeze(Object.defineProperty({__proto__:null,down:om,up:nm},Symbol.toStringTag,{value:"Module"}));async function sm(e){await e.schema.alterTable("login_sessions").addColumn("auth_strategy_strategy","varchar(64)").execute(),await e.schema.alterTable("login_sessions").addColumn("auth_strategy_strategy_type","varchar(64)").execute(),await e.schema.alterTable("login_sessions").addColumn("authenticated_at","varchar(35)").execute()}async function im(e){await e.schema.alterTable("login_sessions").dropColumn("auth_strategy_strategy").execute(),await e.schema.alterTable("login_sessions").dropColumn("auth_strategy_strategy_type").execute(),await e.schema.alterTable("login_sessions").dropColumn("authenticated_at").execute()}const cm=Object.freeze(Object.defineProperty({__proto__:null,down:im,up:sm},Symbol.toStringTag,{value:"Module"}));async function Pe(e){try{return await h.sql`SELECT VERSION()`.execute(e),"mysql"}catch{return"sqlite"}}async function lm(e){const t=await Pe(e);try{await e.schema.alterTable("login_sessions").addColumn("auth_params","text").execute(),w(" Added column auth_params to login_sessions")}catch(a){z(` Warning: Could not add auth_params column: ${a instanceof Error?a.message:String(a)}`)}if(t==="mysql")try{await e.schema.alterTable("login_sessions").modifyColumn("authorization_url","text").execute(),w(" Widened authorization_url to text")}catch(a){z(` Warning: Could not widen authorization_url: ${a instanceof Error?a.message:String(a)}`)}}async function dm(e){const t=await Pe(e);try{await e.schema.alterTable("login_sessions").dropColumn("auth_params").execute()}catch(a){z(` Warning: Could not drop auth_params column: ${a instanceof Error?a.message:String(a)}`)}if(t==="mysql")try{await e.schema.alterTable("login_sessions").modifyColumn("authorization_url","varchar(1024)").execute()}catch(a){z(` Warning: Could not narrow authorization_url: ${a instanceof Error?a.message:String(a)}`)}}const um=Object.freeze(Object.defineProperty({__proto__:null,down:dm,up:lm},Symbol.toStringTag,{value:"Module"})),_m=["client_id","act_as","response_type","response_mode","redirect_uri","audience","organization","state","nonce","scope","prompt","code_challenge_method","code_challenge","username","ui_locales","max_age","acr_values","vendor_id"],_e=500,me=20;async function mm(e){try{let t=0;for(;;){const a=await e.selectFrom("login_sessions").where("auth_params","is",null).selectAll().limit(_e).execute();if(a.length===0)break;for(let n=0;n<a.length;n+=me){const o=a.slice(n,n+me);await Promise.all(o.map(async r=>{const s={};for(const i of _m){const d=r[`authParams_${i}`];d!=null&&(s[i]=d)}await e.updateTable("login_sessions").set({auth_params:JSON.stringify(s)}).where("tenant_id","=",r.tenant_id).where("id","=",r.id).execute()}))}if(t+=a.length,w(` Backfilled auth_params for ${t} login_sessions row(s)...`),a.length<_e)break}w(t===0?" No login_sessions rows to backfill (auth_params all set)":` Backfilled auth_params for ${t} login_sessions row(s) total`)}catch(t){z(` Warning: Could not backfill auth_params: ${t instanceof Error?t.message:String(t)}`)}}async function hm(e){}const pm=Object.freeze(Object.defineProperty({__proto__:null,down:hm,up:mm},Symbol.toStringTag,{value:"Module"}));async function fm(e){try{return await h.sql`SELECT @@version_comment`.execute(e),"mysql"}catch{return"sqlite"}}async function gm(e){await fm(e)==="mysql"?await wm(e):await ym(e)}async function wm(e){try{await h.sql`ALTER TABLE login_sessions DROP FOREIGN KEY login_sessions_client_fk`.execute(e),w(" Dropped FK login_sessions_client_fk")}catch(t){const a=t instanceof Error?t.message:String(t);a.includes("1091")||a.includes("doesn't exist")?w(" FK login_sessions_client_fk already absent, skipping"):z(` Warning: could not drop login_sessions_client_fk: ${a}`)}try{await h.sql`ALTER TABLE login_sessions MODIFY authParams_client_id varchar(191) NULL`.execute(e),w(" Relaxed NOT NULL on login_sessions.authParams_client_id")}catch(t){const a=t instanceof Error?t.message:String(t);throw z(` Failed to relax authParams_client_id NOT NULL: ${a}`),t}}async function ym(e){await e.transaction().execute(async t=>{await t.schema.createTable("login_sessions_new").addColumn("id","varchar(26)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(26)").addColumn("csrf_token","varchar(26)",a=>a.notNull()).addColumn("authParams_client_id","varchar(191)").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","text").addColumn("authParams_state","text").addColumn("authParams_nonce","varchar(255)").addColumn("authParams_code_challenge_method","varchar(255)").addColumn("authParams_code_challenge","varchar(255)").addColumn("authParams_redirect_uri","text").addColumn("authParams_organization","varchar(255)").addColumn("authParams_prompt","varchar(32)").addColumn("authParams_act_as","varchar(256)").addColumn("authParams_ui_locales","varchar(32)").addColumn("authParams_max_age","integer").addColumn("authParams_acr_values","varchar(255)").addColumn("authorization_url","text").addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("state","varchar(50)",a=>a.defaultTo("pending")).addColumn("state_data","text").addColumn("failure_reason","text").addColumn("user_id","varchar(255)").addColumn("created_at_ts","bigint").addColumn("updated_at_ts","bigint").addColumn("expires_at_ts","bigint").addColumn("auth_connection","varchar(255)").addColumn("auth_strategy_strategy","varchar(64)").addColumn("auth_strategy_strategy_type","varchar(64)").addColumn("authenticated_at","varchar(35)").addColumn("auth_params","text").addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],a=>a.onDelete("cascade")).execute(),await h.sql`INSERT INTO login_sessions_new (
|
|
129
129
|
id, tenant_id, session_id, csrf_token,
|
|
130
130
|
authParams_client_id, authParams_vendor_id, authParams_username,
|
|
131
131
|
authParams_response_type, authParams_response_mode, authParams_audience,
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
user_id, created_at_ts, updated_at_ts, expires_at_ts,
|
|
152
152
|
auth_connection, auth_strategy_strategy, auth_strategy_strategy_type,
|
|
153
153
|
authenticated_at, auth_params
|
|
154
|
-
FROM login_sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await h.sql`ALTER TABLE login_sessions_new RENAME TO login_sessions`.execute(t),await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute(),await t.schema.createIndex("idx_login_sessions_session_id").on("login_sessions").column("session_id").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}),w(" Rebuilt login_sessions with FK dropped and authParams_client_id nullable")}async function
|
|
154
|
+
FROM login_sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await h.sql`ALTER TABLE login_sessions_new RENAME TO login_sessions`.execute(t),await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute(),await t.schema.createIndex("idx_login_sessions_session_id").on("login_sessions").column("session_id").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}),w(" Rebuilt login_sessions with FK dropped and authParams_client_id nullable")}async function vm(e){}const Cm=Object.freeze(Object.defineProperty({__proto__:null,down:vm,up:gm},Symbol.toStringTag,{value:"Module"})),he=["authParams_client_id","authParams_vendor_id","authParams_username","authParams_response_type","authParams_response_mode","authParams_audience","authParams_scope","authParams_state","authParams_nonce","authParams_code_challenge_method","authParams_code_challenge","authParams_redirect_uri","authParams_organization","authParams_prompt","authParams_act_as","authParams_ui_locales","authParams_max_age","authParams_acr_values"];async function xm(e){try{return await h.sql`SELECT @@version_comment`.execute(e),"mysql"}catch{return"sqlite"}}async function Tm(e,t,a){try{await e.schema.alterTable(t).dropColumn(a).execute()}catch(n){const o=n instanceof Error?n.message:String(n);if(o.includes("1091")||o.includes("no such column")){w(` ${t}.${a} already absent, skipping`);return}throw n}}async function Nm(e){await xm(e)==="mysql"?await bm(e):await Sm(e)}async function bm(e){for(const t of he)await Tm(e,"login_sessions",t);w(` Dropped ${he.length} hoisted authParams_* columns from login_sessions`)}async function Sm(e){await e.transaction().execute(async t=>{await t.schema.createTable("login_sessions_new").addColumn("id","varchar(26)",a=>a.notNull()).addColumn("tenant_id","varchar(255)",a=>a.references("tenants.id").onDelete("cascade").notNull()).addColumn("session_id","varchar(26)").addColumn("csrf_token","varchar(26)",a=>a.notNull()).addColumn("authorization_url","text").addColumn("ip","varchar(39)").addColumn("useragent","text").addColumn("auth0Client","varchar(255)").addColumn("state","varchar(50)",a=>a.defaultTo("pending")).addColumn("state_data","text").addColumn("failure_reason","text").addColumn("user_id","varchar(255)").addColumn("created_at_ts","bigint").addColumn("updated_at_ts","bigint").addColumn("expires_at_ts","bigint").addColumn("auth_connection","varchar(255)").addColumn("auth_strategy_strategy","varchar(64)").addColumn("auth_strategy_strategy_type","varchar(64)").addColumn("authenticated_at","varchar(35)").addColumn("auth_params","text").addPrimaryKeyConstraint("login_sessions_pk",["tenant_id","id"]).addForeignKeyConstraint("login_sessions_session_fk",["tenant_id","session_id"],"sessions",["tenant_id","id"],a=>a.onDelete("cascade")).execute(),await h.sql`INSERT INTO login_sessions_new (
|
|
155
155
|
id, tenant_id, session_id, csrf_token, authorization_url,
|
|
156
156
|
ip, useragent, auth0Client, state, state_data, failure_reason,
|
|
157
157
|
user_id, created_at_ts, updated_at_ts, expires_at_ts,
|
|
@@ -163,4 +163,4 @@
|
|
|
163
163
|
user_id, created_at_ts, updated_at_ts, expires_at_ts,
|
|
164
164
|
auth_connection, auth_strategy_strategy, auth_strategy_strategy_type,
|
|
165
165
|
authenticated_at, auth_params
|
|
166
|
-
FROM login_sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await h.sql`ALTER TABLE login_sessions_new RENAME TO login_sessions`.execute(t),await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute(),await t.schema.createIndex("idx_login_sessions_session_id").on("login_sessions").column("session_id").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}),w(" Recreated login_sessions without hoisted authParams_* columns")}async function Sm(e){}const Om=Object.freeze(Object.defineProperty({__proto__:null,down:Sm,up:Tm},Symbol.toStringTag,{value:"Module"}));async function km(e){await e.schema.alterTable("refresh_tokens").addColumn("revoked_at_ts","bigint").execute()}async function $m(e){await e.schema.alterTable("refresh_tokens").dropColumn("revoked_at_ts").execute()}const Em=Object.freeze(Object.defineProperty({__proto__:null,down:$m,up:km},Symbol.toStringTag,{value:"Module"}));async function Pm(e){await e.schema.alterTable("clients").addColumn("owner_user_id","varchar(255)").execute(),await e.schema.alterTable("clients").addColumn("registration_type","varchar(32)").execute(),await e.schema.alterTable("clients").addColumn("registration_metadata","text").execute(),await e.schema.createIndex("idx_clients_owner_user_id").on("clients").columns(["tenant_id","owner_user_id"]).execute(),await e.schema.createTable("client_registration_tokens").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("token_hash","varchar(64)",t=>t.notNull()).addColumn("type","varchar(8)",t=>t.notNull()).addColumn("client_id","varchar(191)").addColumn("sub","varchar(255)").addColumn("constraints","text").addColumn("single_use","integer",t=>t.defaultTo(0).notNull()).addColumn("used_at_ts","bigint").addColumn("expires_at_ts","bigint").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("revoked_at_ts","bigint").execute(),await e.schema.createIndex("idx_client_registration_tokens_hash").on("client_registration_tokens").columns(["tenant_id","token_hash"]).unique().execute(),await e.schema.createIndex("idx_client_registration_tokens_client").on("client_registration_tokens").columns(["tenant_id","client_id"]).execute()}async function Im(e){await e.schema.dropTable("client_registration_tokens").execute(),await e.schema.dropIndex("idx_clients_owner_user_id").execute(),await e.schema.alterTable("clients").dropColumn("registration_metadata").execute(),await e.schema.alterTable("clients").dropColumn("registration_type").execute(),await e.schema.alterTable("clients").dropColumn("owner_user_id").execute()}const zm=Object.freeze(Object.defineProperty({__proto__:null,down:Im,up:Pm},Symbol.toStringTag,{value:"Module"}));async function Dm(e){try{return await h.sql`SELECT @@version_comment`.execute(e),"mysql"}catch{return"sqlite"}}const Am=[{index:"connections_tenant_id_idx",table:"connections",reason:"composite PK (tenant_id, id)"},{index:"idx_invites_tenant_id",table:"invites",reason:"idx_invites_tenant_created (tenant_id, created_at)"},{index:"idx_organizations_tenant_id",table:"organizations",reason:"idx_organizations_tenant_name_unique (tenant_id, name)"},{index:"role_permissions_role_fk",table:"role_permissions",reason:"role_permissions_pk (tenant_id, role_id, ...)"},{index:"themes_tenant_id_idx",table:"themes",reason:"themes_pkey (tenant_id, themeId)"},{index:"users_tenant_index",table:"users",reason:"stale on PlanetScale only; commented out locally in 2024"},{index:"idx_user_organizations_tenant_id",table:"user_organizations",reason:"already dropped locally; may linger on PlanetScale"}];async function Fm(e,t,a,n){try{t==="mysql"?await h.sql.raw(`DROP INDEX IF EXISTS \`${a}\` ON \`${n}\``).execute(e):await h.sql.raw(`DROP INDEX IF EXISTS "${a}"`).execute(e)}catch(o){const r=o instanceof Error?o.message:String(o);z(` Warning: failed to drop index ${a} on ${n}: ${r}`)}}async function jm(e){const t=await Dm(e);for(const{index:a,table:n}of Am)await Fm(e,t,a,n);await e.schema.dropTable("members").ifExists().execute()}async function Rm(e){await e.schema.createTable("members").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await e.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute(),await e.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute()}const Mm=Object.freeze(Object.defineProperty({__proto__:null,down:Rm,up:jm},Symbol.toStringTag,{value:"Module"}));async function qm(e){await e.schema.alterTable("clients").addColumn("user_linking_mode","varchar(16)").execute()}async function Jm(e){await e.schema.alterTable("clients").dropColumn("user_linking_mode").execute()}const Lm=Object.freeze(Object.defineProperty({__proto__:null,down:Jm,up:qm},Symbol.toStringTag,{value:"Module"})),Pe={m1_init:Vo,m2_magicLink:tr,m3_updateAt:or,m4_logTable:ir,m5_userProfile:dr,m6_sessions:mr,m7_passwords:fr,m8_logsTableNewFields:yr,m9_passwordTableNewField:xr,n01_codesTable:br,n11_universalLoginSession:kr,n12_userFields:Pr,n13_userEmailIndex:Dr,n14_profileDataField:jr,n15_userEmailIndex:qr,n16_userLocale:Kr,n17_signingKeys:Qr,n18_logsFields:Wr,n19_connectionsUserinfo:Vr,n20_missingFields:ts,n21_sessionDeletedAt:os,n22_dropLogsFields:is,n23_dropUsersFields:ds,n24_logsIndexes:ms,n25_logDescMaxLength:fs,n26_logsTableExtraFields:ys,n27_usersTableNameIndex:xs,n28_usersEmailConstrain:bs,n29_increaseOtpStateLength:ks,n30_increaseTicketStateLength:Ps,n31_branding:Ds,n32_indexesAndNotNull:js,n33_vendorIdInUniversalLoginSession:qs,n34_auth0ClientInUniversalLoginSession:Ks,n35_increaseUniversalSessionStateLength:Qs,n36_authenticationCodes:Ws,n37_disableSignUps:Vs,n38_otpIpAddress:ti,n39_increaseUserAgentLength:oi,n40_userId:ii,n41_hooks:di,n42_userIdIndexes:mi,n43_userIdIndexes:fi,n44_codes:yi,n45_hookProperties:xi,n46_loginAuth0Client:bi,n47_loginAuth0Client:ki,n48_saml:Pi,n49_removeFields:Di,n50_authParamsNonce:ji,n51_connectionid:qi,n52_cert:Ki,n53_codes_primary_key:Qi,n54_cleanup_tables:Wi,n55_logs_index:Vi,n56_application_fields:tc,n57_prompt_settings:oc,n58_connection_client_id:ic,n59_connection_options:dc,n60_users_metadata:mc,n61_userLocales:fc,n62_prompt:yc,n63_connection_cleanup:xc,n64_act_as:bc,n65_code_verifier:kc,n66_email_providers:Pc,n67_drop_tickets:Dc,n68_login_useragents:jc,n70_refresh_tokens:qc,n71_session_new_fields:Kc,n72_session_primary_key:Qc,n73_drop_sessions:Wc,n74_custom_domains:Vc,n75_organizations:tl,n76_authorization_url_length:ol,n77_drop_sessions:il,n78_login_sessions:dl,n79_drop_sessions_2:ml,n80_recreate_custom_domains:fl,n81_phone:yl,n82_forms:xl,n83_addFormsIdToHooks:bl,n84_login_completed:kl,n85_add_login_session_id_to_sessions:Pl,n86_index_sessions_login_session_id:Dl,n87_code_challenge:jl,n88_add_redirect_uri_to_codes:ql,n89_add_nonce_and_state_to_codes:Kl,n90_themes:Ql,n91_resource_servers_rules_permissions:Wl,n92_role_permissions:Vl,n93_add_permissions_to_roles:td,n94_keys_connection_and_extend_columns:od,n95_create_organizations_table:id,n96_create_user_organizations_table:dd,n97_add_organization_to_user_permissions_and_roles:md,n98_clients:fd,n99_update_client_foreign_keys:Td,o001_client_grants:Sd,o002_drop_applications:$d,o003_phone_number_index:Id,o004_login_sessions_id_index:Ad,o005_connections_tenant_index:Rd,o006_remove_redundant_user_organizations_tenant_index:Jd,o007_tenant_settings:Bd,o008_merge_tenant_settings_into_tenants:Yd,o009_create_invites_table:Gd,o010_add_log_id_to_logs:Zd,o011_add_location_info_to_logs:au,o012_add_password_history:ru,o013_connection_display_name:cu,o014_client_connections:uu,o015_flows:hu,o016_add_is_system_column:gu,o017_connections_composite_key:vu,o018_login_session_state:Tu,o019_roles_resource_servers_metadata:Su,o020_session_add_timestamp_columns:Eu,o021_session_cleanup_and_ulid:zu,o022_oidc_profile_claims:Fu,o023_preferred_username:Mu,o024_user_address:Lu,o025_authparams_max_age:Uu,o026_auth0_conformant:Hu,o027_universal_login_templates:Xu,o028_custom_text:e_,o029_guardian_mfa:n_,o030_add_template_id_to_hooks:i_,o031_hooks_cleanup:d_,o032_unique_username_provider:m_,o033_add_login_id_to_refresh_tokens:f_,o034_refresh_tokens_replace_session_id_with_login_id:y_,o035_idle_expires_at_ts_indexes:x_,o036_add_connection_to_login_sessions:b_,o037_mfa_enrollments:k_,o038_add_otp_to_codes:P_,o039_rename_mfa_enrollments_to_authentication_methods:D_,o040_create_outbox_events:j_,o041_add_outbox_claim_columns:q_,o042_add_outbox_claim_index:K_,o043_add_code_hooks:Q_,o044_create_actions:W_,o045_outbox_dead_letter:V_,o046_user_registration_completed_at:tm,o047_outbox_dead_lettered_tenant_index:om,o048_add_auth_strategy_to_login_sessions:im,o049_login_sessions_auth_params:dm,o050_login_sessions_auth_params_backfill:hm,o051_relax_login_sessions_authparams:vm,o052_drop_login_sessions_hoisted_authparams:Om,o053_refresh_tokens_revoked_at:Em,o054_client_registration_tokens:zm,o055_planetscale_redundant_indexes_cleanup:Mm,o056_client_user_linking_mode:Lm};async function Km(e,t=!1){be(t),t&&console.log("migrating...");const a=new Te(Pe),n=new h.Migrator({db:e,provider:a}),{error:o,results:r}=await n.migrateToLatest();if(r==null||r.forEach(s=>{s.status==="Success"?t&&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 Bm(e,t=!1){be(t),t&&console.log("migrating...");const a=new Te(Pe),n=new h.Migrator({db:e,provider:a}),{error:o,results:r}=await n.migrateDown();if(r==null||r.forEach(s=>{s.status==="Success"?t&&console.log(`migration "${s.migrationName}" was reverted successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),o)throw console.error("failed to migrate"),console.error(o),o}function Ie(e,t={useTransactions:!0}){const a={actions:Ve(e),branding:Ma(e),clients:aa(e),clientConnections:ca(e),clientGrants:ha(e),clientRegistrationTokens:ba(e),codes:Lt(e),connections:Wt(e),emailProviders:xn(e),customDomains:Fa(e),flows:_t(e),forms:jn(e),hookCode:en(e),hooks:Wa(e),invites:$o(e),keys:$a(e),loginSessions:hn(e),logs:Nt(e),authenticationMethods:Ro(e),passwords:At(e),promptSettings:gn(e),refreshTokens:$n(e),resourceServers:Kn(e),rolePermissions:Zn(e),userPermissions:oo(e),userRoles:lo(e),roles:Wn(e),sessions:Et(e),sessionCleanup:Pn(e),tenants:yt(e),themes:rn(e),universalLoginTemplates:Ka(e),customText:Io(e),users:st(e),organizations:fo(e),userOrganizations:To(e),stats:Po(e),outbox:Wo(e),async transaction(n){return t.useTransactions===!1?n(a):e.transaction().execute(async o=>{const r=Ie(o,{...t,useTransactions:!1});return n(r)})}};return a}exports.default=Ie;exports.migrateDown=Bm;exports.migrateToLatest=Km;
|
|
166
|
+
FROM login_sessions`.execute(t),await h.sql`DROP TABLE login_sessions`.execute(t),await h.sql`ALTER TABLE login_sessions_new RENAME TO login_sessions`.execute(t),await t.schema.createIndex("login_sessions_id_index").on("login_sessions").column("id").execute(),await t.schema.createIndex("idx_login_sessions_session_id").on("login_sessions").column("session_id").execute(),await t.schema.createIndex("login_sessions_tenant_user_idx").on("login_sessions").columns(["tenant_id","user_id"]).execute(),await t.schema.createIndex("login_sessions_state_idx").on("login_sessions").column("state").execute(),await t.schema.createIndex("idx_login_sessions_expires_at_ts").on("login_sessions").column("expires_at_ts").execute()}),w(" Recreated login_sessions without hoisted authParams_* columns")}async function Om(e){}const km=Object.freeze(Object.defineProperty({__proto__:null,down:Om,up:Nm},Symbol.toStringTag,{value:"Module"}));async function $m(e){await e.schema.alterTable("refresh_tokens").addColumn("revoked_at_ts","bigint").execute()}async function Em(e){await e.schema.alterTable("refresh_tokens").dropColumn("revoked_at_ts").execute()}const Pm=Object.freeze(Object.defineProperty({__proto__:null,down:Em,up:$m},Symbol.toStringTag,{value:"Module"}));async function Im(e){await e.schema.alterTable("clients").addColumn("owner_user_id","varchar(255)").execute(),await e.schema.alterTable("clients").addColumn("registration_type","varchar(32)").execute(),await e.schema.alterTable("clients").addColumn("registration_metadata","text").execute(),await e.schema.createIndex("idx_clients_owner_user_id").on("clients").columns(["tenant_id","owner_user_id"]).execute(),await e.schema.createTable("client_registration_tokens").addColumn("id","varchar(255)",t=>t.primaryKey()).addColumn("tenant_id","varchar(191)",t=>t.references("tenants.id").onDelete("cascade").notNull()).addColumn("token_hash","varchar(64)",t=>t.notNull()).addColumn("type","varchar(8)",t=>t.notNull()).addColumn("client_id","varchar(191)").addColumn("sub","varchar(255)").addColumn("constraints","text").addColumn("single_use","integer",t=>t.defaultTo(0).notNull()).addColumn("used_at_ts","bigint").addColumn("expires_at_ts","bigint").addColumn("created_at_ts","bigint",t=>t.notNull()).addColumn("revoked_at_ts","bigint").execute(),await e.schema.createIndex("idx_client_registration_tokens_hash").on("client_registration_tokens").columns(["tenant_id","token_hash"]).unique().execute(),await e.schema.createIndex("idx_client_registration_tokens_client").on("client_registration_tokens").columns(["tenant_id","client_id"]).execute()}async function zm(e){await e.schema.dropTable("client_registration_tokens").execute(),await e.schema.dropIndex("idx_clients_owner_user_id").execute(),await e.schema.alterTable("clients").dropColumn("registration_metadata").execute(),await e.schema.alterTable("clients").dropColumn("registration_type").execute(),await e.schema.alterTable("clients").dropColumn("owner_user_id").execute()}const Dm=Object.freeze(Object.defineProperty({__proto__:null,down:zm,up:Im},Symbol.toStringTag,{value:"Module"}));async function Am(e){try{return await h.sql`SELECT @@version_comment`.execute(e),"mysql"}catch{return"sqlite"}}const Fm=[{index:"connections_tenant_id_idx",table:"connections",reason:"composite PK (tenant_id, id)"},{index:"idx_invites_tenant_id",table:"invites",reason:"idx_invites_tenant_created (tenant_id, created_at)"},{index:"idx_organizations_tenant_id",table:"organizations",reason:"idx_organizations_tenant_name_unique (tenant_id, name)"},{index:"role_permissions_role_fk",table:"role_permissions",reason:"role_permissions_pk (tenant_id, role_id, ...)"},{index:"themes_tenant_id_idx",table:"themes",reason:"themes_pkey (tenant_id, themeId)"},{index:"users_tenant_index",table:"users",reason:"stale on PlanetScale only; commented out locally in 2024"},{index:"idx_user_organizations_tenant_id",table:"user_organizations",reason:"already dropped locally; may linger on PlanetScale"}];async function jm(e,t,a,n){try{t==="mysql"?await h.sql.raw(`DROP INDEX IF EXISTS \`${a}\` ON \`${n}\``).execute(e):await h.sql.raw(`DROP INDEX IF EXISTS "${a}"`).execute(e)}catch(o){const r=o instanceof Error?o.message:String(o);z(` Warning: failed to drop index ${a} on ${n}: ${r}`)}}async function Rm(e){const t=await Am(e);for(const{index:a,table:n}of Fm)await jm(e,t,a,n);await e.schema.dropTable("members").ifExists().execute()}async function Mm(e){await e.schema.createTable("members").addColumn("id","varchar(255)",t=>t.notNull().primaryKey()).addColumn("tenant_id","varchar(255)",t=>t.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)",t=>t.notNull()).addColumn("updated_at","varchar(255)",t=>t.notNull()).execute(),await e.schema.createIndex("idx_user_organizations_tenant_id").on("user_organizations").column("tenant_id").execute(),await e.schema.createIndex("themes_tenant_id_idx").on("themes").column("tenant_id").execute(),await e.schema.createIndex("role_permissions_role_fk").on("role_permissions").columns(["tenant_id","role_id"]).execute(),await e.schema.createIndex("idx_organizations_tenant_id").on("organizations").column("tenant_id").execute(),await e.schema.createIndex("idx_invites_tenant_id").on("invites").column("tenant_id").execute(),await e.schema.createIndex("connections_tenant_id_idx").on("connections").column("tenant_id").execute()}const qm=Object.freeze(Object.defineProperty({__proto__:null,down:Mm,up:Rm},Symbol.toStringTag,{value:"Module"}));async function Jm(e){await e.schema.alterTable("clients").addColumn("user_linking_mode","varchar(16)").execute()}async function Lm(e){await e.schema.alterTable("clients").dropColumn("user_linking_mode").execute()}const Km=Object.freeze(Object.defineProperty({__proto__:null,down:Lm,up:Jm},Symbol.toStringTag,{value:"Module"}));async function Bm(e){await e.schema.alterTable("hooks").addColumn("metadata","text").execute()}async function Um(e){await e.schema.alterTable("hooks").dropColumn("metadata").execute()}const Qm=Object.freeze(Object.defineProperty({__proto__:null,down:Um,up:Bm},Symbol.toStringTag,{value:"Module"})),Ie={m1_init:Zo,m2_magicLink:ar,m3_updateAt:rr,m4_logTable:cr,m5_userProfile:ur,m6_sessions:hr,m7_passwords:gr,m8_logsTableNewFields:vr,m9_passwordTableNewField:Tr,n01_codesTable:Sr,n11_universalLoginSession:$r,n12_userFields:Ir,n13_userEmailIndex:Ar,n14_profileDataField:Rr,n15_userEmailIndex:Jr,n16_userLocale:Br,n17_signingKeys:Yr,n18_logsFields:Gr,n19_connectionsUserinfo:Zr,n20_missingFields:as,n21_sessionDeletedAt:rs,n22_dropLogsFields:cs,n23_dropUsersFields:us,n24_logsIndexes:hs,n25_logDescMaxLength:gs,n26_logsTableExtraFields:vs,n27_usersTableNameIndex:Ts,n28_usersEmailConstrain:Ss,n29_increaseOtpStateLength:$s,n30_increaseTicketStateLength:Is,n31_branding:As,n32_indexesAndNotNull:Rs,n33_vendorIdInUniversalLoginSession:Js,n34_auth0ClientInUniversalLoginSession:Bs,n35_increaseUniversalSessionStateLength:Ys,n36_authenticationCodes:Gs,n37_disableSignUps:Zs,n38_otpIpAddress:ai,n39_increaseUserAgentLength:ri,n40_userId:ci,n41_hooks:ui,n42_userIdIndexes:hi,n43_userIdIndexes:gi,n44_codes:vi,n45_hookProperties:Ti,n46_loginAuth0Client:Si,n47_loginAuth0Client:$i,n48_saml:Ii,n49_removeFields:Ai,n50_authParamsNonce:Ri,n51_connectionid:Ji,n52_cert:Bi,n53_codes_primary_key:Yi,n54_cleanup_tables:Gi,n55_logs_index:Zi,n56_application_fields:ac,n57_prompt_settings:rc,n58_connection_client_id:cc,n59_connection_options:uc,n60_users_metadata:hc,n61_userLocales:gc,n62_prompt:vc,n63_connection_cleanup:Tc,n64_act_as:Sc,n65_code_verifier:$c,n66_email_providers:Ic,n67_drop_tickets:Ac,n68_login_useragents:Rc,n70_refresh_tokens:Jc,n71_session_new_fields:Bc,n72_session_primary_key:Yc,n73_drop_sessions:Gc,n74_custom_domains:Zc,n75_organizations:al,n76_authorization_url_length:rl,n77_drop_sessions:cl,n78_login_sessions:ul,n79_drop_sessions_2:hl,n80_recreate_custom_domains:gl,n81_phone:vl,n82_forms:Tl,n83_addFormsIdToHooks:Sl,n84_login_completed:$l,n85_add_login_session_id_to_sessions:Il,n86_index_sessions_login_session_id:Al,n87_code_challenge:Rl,n88_add_redirect_uri_to_codes:Jl,n89_add_nonce_and_state_to_codes:Bl,n90_themes:Yl,n91_resource_servers_rules_permissions:Gl,n92_role_permissions:Zl,n93_add_permissions_to_roles:ad,n94_keys_connection_and_extend_columns:rd,n95_create_organizations_table:cd,n96_create_user_organizations_table:ud,n97_add_organization_to_user_permissions_and_roles:hd,n98_clients:gd,n99_update_client_foreign_keys:Nd,o001_client_grants:Od,o002_drop_applications:Ed,o003_phone_number_index:zd,o004_login_sessions_id_index:Fd,o005_connections_tenant_index:Md,o006_remove_redundant_user_organizations_tenant_index:Ld,o007_tenant_settings:Ud,o008_merge_tenant_settings_into_tenants:Hd,o009_create_invites_table:Xd,o010_add_log_id_to_logs:eu,o011_add_location_info_to_logs:nu,o012_add_password_history:su,o013_connection_display_name:lu,o014_client_connections:_u,o015_flows:pu,o016_add_is_system_column:wu,o017_connections_composite_key:Cu,o018_login_session_state:Nu,o019_roles_resource_servers_metadata:Ou,o020_session_add_timestamp_columns:Pu,o021_session_cleanup_and_ulid:Du,o022_oidc_profile_claims:ju,o023_preferred_username:qu,o024_user_address:Ku,o025_authparams_max_age:Qu,o026_auth0_conformant:Wu,o027_universal_login_templates:Vu,o028_custom_text:t_,o029_guardian_mfa:o_,o030_add_template_id_to_hooks:c_,o031_hooks_cleanup:u_,o032_unique_username_provider:h_,o033_add_login_id_to_refresh_tokens:g_,o034_refresh_tokens_replace_session_id_with_login_id:v_,o035_idle_expires_at_ts_indexes:T_,o036_add_connection_to_login_sessions:S_,o037_mfa_enrollments:$_,o038_add_otp_to_codes:I_,o039_rename_mfa_enrollments_to_authentication_methods:A_,o040_create_outbox_events:R_,o041_add_outbox_claim_columns:J_,o042_add_outbox_claim_index:B_,o043_add_code_hooks:Y_,o044_create_actions:G_,o045_outbox_dead_letter:Z_,o046_user_registration_completed_at:am,o047_outbox_dead_lettered_tenant_index:rm,o048_add_auth_strategy_to_login_sessions:cm,o049_login_sessions_auth_params:um,o050_login_sessions_auth_params_backfill:pm,o051_relax_login_sessions_authparams:Cm,o052_drop_login_sessions_hoisted_authparams:km,o053_refresh_tokens_revoked_at:Pm,o054_client_registration_tokens:Dm,o055_planetscale_redundant_indexes_cleanup:qm,o056_client_user_linking_mode:Km,o057_hooks_metadata:Qm};async function Ym(e,t=!1){Se(t),t&&console.log("migrating...");const a=new Ne(Ie),n=new h.Migrator({db:e,provider:a}),{error:o,results:r}=await n.migrateToLatest();if(r==null||r.forEach(s=>{s.status==="Success"?t&&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 Hm(e,t=!1){Se(t),t&&console.log("migrating...");const a=new Ne(Ie),n=new h.Migrator({db:e,provider:a}),{error:o,results:r}=await n.migrateDown();if(r==null||r.forEach(s=>{s.status==="Success"?t&&console.log(`migration "${s.migrationName}" was reverted successfully`):s.status==="Error"&&console.error(`failed to execute migration "${s.migrationName}"`)}),o)throw console.error("failed to migrate"),console.error(o),o}function ze(e,t={useTransactions:!0}){const a={actions:Ze(e),branding:qa(e),clients:na(e),clientConnections:la(e),clientGrants:pa(e),clientRegistrationTokens:Sa(e),codes:Kt(e),connections:Gt(e),emailProviders:Tn(e),customDomains:ja(e),flows:mt(e),forms:Rn(e),hookCode:tn(e),hooks:Ga(e),invites:Eo(e),keys:Ea(e),loginSessions:pn(e),logs:bt(e),authenticationMethods:Mo(e),passwords:Ft(e),promptSettings:wn(e),refreshTokens:En(e),resourceServers:Bn(e),rolePermissions:eo(e),userPermissions:ro(e),userRoles:uo(e),roles:Gn(e),sessions:Pt(e),sessionCleanup:In(e),tenants:vt(e),themes:sn(e),universalLoginTemplates:Ba(e),customText:zo(e),users:it(e),organizations:go(e),userOrganizations:No(e),stats:Io(e),outbox:Go(e),async transaction(n){return t.useTransactions===!1?n(a):e.transaction().execute(async o=>{const r=ze(o,{...t,useTransactions:!1});return n(r)})}};return a}exports.default=ze;exports.migrateDown=Hm;exports.migrateToLatest=Ym;
|