better-auth 1.1.2 → 1.1.3-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- "use strict";var F=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var $=(e,r)=>{for(var d in r)F(e,d,{get:r[d],enumerable:!0})},j=(e,r,d,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of _(r))!C.call(e,c)&&c!==d&&F(e,c,{get:()=>r[c],enumerable:!(p=V(r,c))||p.enumerable});return e};var K=e=>j(F({},"__esModule",{value:!0}),e);var pe={};$(pe,{drizzleAdapter:()=>fe});module.exports=K(pe);var y=require("drizzle-orm");var i=require("zod"),H=require("better-call"),he=i.z.object({id:i.z.string(),providerId:i.z.string(),accountId:i.z.string(),userId:i.z.string(),accessToken:i.z.string().nullish(),refreshToken:i.z.string().nullish(),idToken:i.z.string().nullish(),accessTokenExpiresAt:i.z.date().nullish(),refreshTokenExpiresAt:i.z.date().nullish(),scope:i.z.string().nullish(),password:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),Ae=i.z.object({id:i.z.string(),email:i.z.string().transform(e=>e.toLowerCase()),emailVerified:i.z.boolean().default(!1),name:i.z.string(),image:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),we=i.z.object({id:i.z.string(),userId:i.z.string(),expiresAt:i.z.date(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),token:i.z.string(),ipAddress:i.z.string().nullish(),userAgent:i.z.string().nullish()}),xe=i.z.object({id:i.z.string(),value:i.z.string(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),expiresAt:i.z.date(),identifier:i.z.string()});var D=Object.create(null),k=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?D:globalThis),q=new Proxy(D,{get(e,r){return k()[r]??D[r]},has(e,r){let d=k();return r in d||r in D},set(e,r,d){let p=k(!0);return p[r]=d,!0},deleteProperty(e,r){if(!r)return!1;let d=k(!0);return delete d[r],!0},ownKeys(){let e=k(!0);return Object.keys(e)}});function z(e){return e?e!=="false":!1}var W=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var G=W==="test"||z(q.TEST);var B=require("@better-auth/utils/random"),R=e=>(0,B.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var re=require("zod"),ne=require("better-call");var w=class extends Error{constructor(r,d){super(r),this.name="BetterAuthError",this.message=r,this.cause=d,this.stack=""}};var Y=require("@better-auth/utils/hash"),ee=require("@noble/ciphers/chacha"),I=require("@noble/ciphers/utils"),te=require("@noble/ciphers/webcrypto");var J=require("@noble/hashes/scrypt"),Q=require("uncrypto"),Z=require("@better-auth/utils/hex");var L=require("@better-auth/utils/random"),X=(0,L.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var N=["info","success","warn","error","debug"];function se(e,r){return N.indexOf(r)<=N.indexOf(e)}var b={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},ie={info:b.fg.blue,success:b.fg.green,warn:b.fg.yellow,error:b.fg.red,debug:b.fg.magenta},ae=(e,r)=>{let d=new Date().toISOString();return`${b.dim}${d}${b.reset} ${ie[e]}${e.toUpperCase()}${b.reset} ${b.bright}Better Auth${b.reset} ${r}`},M=e=>{let r=e?.disabled!==!0,d=e?.level??"error",p=(c,g,m=[])=>{if(!r||!se(d,c))return;let x=ae(c,g);if(!e||typeof e.log!="function"){c==="error"?console.error(x,...m):c==="warn"?console.warn(x,...m):console.log(x,...m);return}e.log(c==="success"?"info":c,x,...m)};return Object.fromEntries(N.map(c=>[c,(...[g,...m])=>p(c,g,m)]))},oe=M();var T=e=>{let r=e.plugins?.reduce((a,l)=>{let s=l.schema;if(!s)return a;for(let[t,u]of Object.entries(s))a[t]={fields:{...a[t]?.fields,...u.fields},modelName:u.modelName||t};return a},{}),d=e.rateLimit?.storage==="database",p={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:c,session:g,account:m,...x}=r||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...c?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...g?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...m?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...x,...d?p:{}}};var de=require("zod");var E=require("kysely"),S=require("kysely");function O(e,r,d){return d==="update"?e:e==null&&r.defaultValue?typeof r.defaultValue=="function"?r.defaultValue():r.defaultValue:e}var ce=(e,r,d)=>{let p=T(d);function c(a,l){return l==="id"?l:p[a].fields[l].fieldName||l}function g(a){let l=r.schema||e._.fullSchema;if(!l)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let s=m(a),t=l[s];if(!t)throw new w(`[# Drizzle Adapter]: The model "${s}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let m=a=>p[a].modelName!==a?p[a].modelName:r.usePlural?`${a}s`:a,x=d?.advanced?.generateId===!1;return{getSchema:g,transformInput(a,l,s){let t=x||s==="update"?{}:{id:d.advanced?.generateId?d.advanced.generateId({model:l}):a.id||R()},u=p[l].fields;for(let o in u){let f=a[o];f===void 0&&!u[o].defaultValue||(t[u[o].fieldName||o]=O(f,u[o],s))}return t},transformOutput(a,l,s=[]){if(!a)return null;let t=a.id||a._id?s.length===0||s.includes("id")?{id:a.id}:{}:{},u=p[l].fields;for(let o in u){if(s.length&&!s.includes(o))continue;let f=u[o];f&&(t[o]=a[f.fieldName||o])}return t},convertWhereClause(a,l){let s=g(l);if(!a)return[];if(a.length===1){let n=a[0];if(!n)return[];let h=c(l,n.field);if(!s[h])throw new w(`The field "${n.field}" does not exist in the schema for the model "${l}". Please update your schema.`);if(n.operator==="in"){if(!Array.isArray(n.value))throw new w(`The value for the field "${n.field}" must be an array when using the "in" operator.`);return[(0,y.inArray)(s[h],n.value)]}return n.operator==="contains"?[(0,y.like)(s[h],`%${n.value}%`)]:n.operator==="starts_with"?[(0,y.like)(s[h],`${n.value}%`)]:n.operator==="ends_with"?[(0,y.like)(s[h],`%${n.value}`)]:[(0,y.eq)(s[h],n.value)]}let t=a.filter(n=>n.connector==="AND"||!n.connector),u=a.filter(n=>n.connector==="OR"),o=(0,y.and)(...t.map(n=>{let h=c(l,n.field);if(n.operator==="in"){if(!Array.isArray(n.value))throw new w(`The value for the field "${n.field}" must be an array when using the "in" operator.`);return(0,y.inArray)(s[h],n.value)}return(0,y.eq)(s[h],n.value)})),f=(0,y.or)(...u.map(n=>{let h=c(l,n.field);return(0,y.eq)(s[h],n.value)})),A=[];return t.length&&A.push(o),u.length&&A.push(f),A},withReturning:async(a,l,s)=>{if(r.provider!=="mysql")return(await l.returning())[0];await l;let t=g(m(a));return(await e.select().from(t).where((0,y.eq)(t.id,s.id)))[0]},getField:c,getModelName:m}};function le(e,r,d){if(!e)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");for(let p in d)if(!e[p])throw new w(`The field "${p}" does not exist in the "${r}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var fe=(e,r)=>d=>{let{transformInput:p,transformOutput:c,convertWhereClause:g,getSchema:m,withReturning:x,getField:a,getModelName:l}=ce(e,r,d);return{id:"drizzle",async create(s){let{model:t,data:u}=s,o=p(u,t,"create"),f=m(t);le(f,l(t),o);let A=e.insert(f).values(o),n=await x(t,A,o);return c(n,t)},async findOne(s){let{model:t,where:u,select:o}=s,f=m(t),A=g(u,t),n=await e.select().from(f).where(...A);return n.length?c(n[0],t,o):null},async findMany(s){let{model:t,where:u,sortBy:o,limit:f,offset:A}=s,n=m(t),h=u?g(u,t):[],v=o?.direction==="desc"?y.desc:y.asc,U=e.select().from(n).limit(f||100).offset(A||0);return o?.field&&U.orderBy(v(n[a(t,o?.field)])),(await U.where(...h)).map(P=>c(P,t))},async update(s){let{model:t,where:u,update:o}=s,f=m(t),A=g(u,t),n=p(o,t,"update"),h=e.update(f).set(n).where(...A),v=await x(t,h,n);return c(v,t)},async updateMany(s){let{model:t,where:u,update:o}=s,f=m(t),A=g(u,t),n=p(o,t,"update"),v=await e.update(f).set(n).where(...A);return v?v.changes:0},async delete(s){let{model:t,where:u}=s,o=m(t),f=g(u,t);await e.delete(o).where(...f)},async deleteMany(s){let{model:t,where:u}=s,o=m(t),f=g(u,t),n=await e.delete(o).where(...f);return n?n.length:0},options:r}};0&&(module.exports={drizzleAdapter});
1
+ "use strict";var O=Object.defineProperty;var V=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var $=(e,r)=>{for(var d in r)O(e,d,{get:r[d],enumerable:!0})},j=(e,r,d,p)=>{if(r&&typeof r=="object"||typeof r=="function")for(let c of _(r))!C.call(e,c)&&c!==d&&O(e,c,{get:()=>r[c],enumerable:!(p=V(r,c))||p.enumerable});return e};var K=e=>j(O({},"__esModule",{value:!0}),e);var pe={};$(pe,{drizzleAdapter:()=>fe});module.exports=K(pe);var y=require("drizzle-orm");var i=require("zod"),H=require("better-call"),he=i.z.object({id:i.z.string(),providerId:i.z.string(),accountId:i.z.string(),userId:i.z.string(),accessToken:i.z.string().nullish(),refreshToken:i.z.string().nullish(),idToken:i.z.string().nullish(),accessTokenExpiresAt:i.z.date().nullish(),refreshTokenExpiresAt:i.z.date().nullish(),scope:i.z.string().nullish(),password:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),Ae=i.z.object({id:i.z.string(),email:i.z.string().transform(e=>e.toLowerCase()),emailVerified:i.z.boolean().default(!1),name:i.z.string(),image:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),we=i.z.object({id:i.z.string(),userId:i.z.string(),expiresAt:i.z.date(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),token:i.z.string(),ipAddress:i.z.string().nullish(),userAgent:i.z.string().nullish()}),xe=i.z.object({id:i.z.string(),value:i.z.string(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),expiresAt:i.z.date(),identifier:i.z.string()});var D=Object.create(null),k=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?D:globalThis),q=new Proxy(D,{get(e,r){return k()[r]??D[r]},has(e,r){let d=k();return r in d||r in D},set(e,r,d){let p=k(!0);return p[r]=d,!0},deleteProperty(e,r){if(!r)return!1;let d=k(!0);return delete d[r],!0},ownKeys(){let e=k(!0);return Object.keys(e)}});function z(e){return e?e!=="false":!1}var W=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var G=W==="test"||z(q.TEST);var B=require("@better-auth/utils/random"),R=e=>(0,B.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var re=require("zod"),ne=require("better-call");var w=class extends Error{constructor(r,d){super(r),this.name="BetterAuthError",this.message=r,this.cause=d,this.stack=""}};var Y=require("@better-auth/utils/hash"),ee=require("@noble/ciphers/chacha"),I=require("@noble/ciphers/utils"),te=require("@noble/ciphers/webcrypto");var J=require("@noble/hashes/scrypt"),Q=require("uncrypto"),Z=require("@better-auth/utils/hex");var L=require("@better-auth/utils/random"),X=(0,L.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var N=["info","success","warn","error","debug"];function se(e,r){return N.indexOf(r)<=N.indexOf(e)}var b={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},ie={info:b.fg.blue,success:b.fg.green,warn:b.fg.yellow,error:b.fg.red,debug:b.fg.magenta},ae=(e,r)=>{let d=new Date().toISOString();return`${b.dim}${d}${b.reset} ${ie[e]}${e.toUpperCase()}${b.reset} ${b.bright}Better Auth${b.reset} ${r}`},M=e=>{let r=e?.disabled!==!0,d=e?.level??"error",p=(c,g,m=[])=>{if(!r||!se(d,c))return;let x=ae(c,g);if(!e||typeof e.log!="function"){c==="error"?console.error(x,...m):c==="warn"?console.warn(x,...m):console.log(x,...m);return}e.log(c==="success"?"info":c,x,...m)};return Object.fromEntries(N.map(c=>[c,(...[g,...m])=>p(c,g,m)]))},oe=M();var T=e=>{let r=e.plugins?.reduce((a,l)=>{let s=l.schema;if(!s)return a;for(let[t,u]of Object.entries(s))a[t]={fields:{...a[t]?.fields,...u.fields},modelName:u.modelName||t};return a},{}),d=e.rateLimit?.storage==="database",p={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:c,session:g,account:m,...x}=r||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...c?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...g?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...m?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...x,...d?p:{}}};var de=require("zod");var E=require("kysely"),S=require("kysely");function F(e,r,d){return d==="update"?e:e==null&&r.defaultValue?typeof r.defaultValue=="function"?r.defaultValue():r.defaultValue:e}var ce=(e,r,d)=>{let p=T(d);function c(a,l){return l==="id"?l:p[a].fields[l].fieldName||l}function g(a){let l=r.schema||e._.fullSchema;if(!l)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let s=m(a),t=l[s];if(!t)throw new w(`[# Drizzle Adapter]: The model "${s}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let m=a=>p[a].modelName!==a?p[a].modelName:r.usePlural?`${a}s`:a,x=d?.advanced?.generateId===!1;return{getSchema:g,transformInput(a,l,s){let t=x||s==="update"?{}:{id:d.advanced?.generateId?d.advanced.generateId({model:l}):a.id||R()},u=p[l].fields;for(let o in u){let f=a[o];f===void 0&&!u[o].defaultValue||(t[u[o].fieldName||o]=F(f,u[o],s))}return t},transformOutput(a,l,s=[]){if(!a)return null;let t=a.id||a._id?s.length===0||s.includes("id")?{id:a.id}:{}:{},u=p[l].fields;for(let o in u){if(s.length&&!s.includes(o))continue;let f=u[o];f&&(t[o]=a[f.fieldName||o])}return t},convertWhereClause(a,l){let s=g(l);if(!a)return[];if(a.length===1){let n=a[0];if(!n)return[];let h=c(l,n.field);if(!s[h])throw new w(`The field "${n.field}" does not exist in the schema for the model "${l}". Please update your schema.`);if(n.operator==="in"){if(!Array.isArray(n.value))throw new w(`The value for the field "${n.field}" must be an array when using the "in" operator.`);return[(0,y.inArray)(s[h],n.value)]}return n.operator==="contains"?[(0,y.like)(s[h],`%${n.value}%`)]:n.operator==="starts_with"?[(0,y.like)(s[h],`${n.value}%`)]:n.operator==="ends_with"?[(0,y.like)(s[h],`%${n.value}`)]:[(0,y.eq)(s[h],n.value)]}let t=a.filter(n=>n.connector==="AND"||!n.connector),u=a.filter(n=>n.connector==="OR"),o=(0,y.and)(...t.map(n=>{let h=c(l,n.field);if(n.operator==="in"){if(!Array.isArray(n.value))throw new w(`The value for the field "${n.field}" must be an array when using the "in" operator.`);return(0,y.inArray)(s[h],n.value)}return(0,y.eq)(s[h],n.value)})),f=(0,y.or)(...u.map(n=>{let h=c(l,n.field);return(0,y.eq)(s[h],n.value)})),A=[];return t.length&&A.push(o),u.length&&A.push(f),A},withReturning:async(a,l,s)=>{if(r.provider!=="mysql")return(await l.returning())[0];await l;let t=g(m(a));return(await e.select().from(t).where((0,y.eq)(t.id,s.id)))[0]},getField:c,getModelName:m}};function le(e,r,d){if(!e)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");for(let p in d)if(!e[p])throw new w(`The field "${p}" does not exist in the "${r}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var fe=(e,r)=>d=>{let{transformInput:p,transformOutput:c,convertWhereClause:g,getSchema:m,withReturning:x,getField:a,getModelName:l}=ce(e,r,d);return{id:"drizzle",async create(s){let{model:t,data:u}=s,o=p(u,t,"create"),f=m(t);le(f,l(t),o);let A=e.insert(f).values(o),n=await x(t,A,o);return c(n,t)},async findOne(s){let{model:t,where:u,select:o}=s,f=m(t),A=g(u,t),n=await e.select().from(f).where(...A);return n.length?c(n[0],t,o):null},async findMany(s){let{model:t,where:u,sortBy:o,limit:f,offset:A}=s,n=m(t),h=u?g(u,t):[],v=o?.direction==="desc"?y.desc:y.asc,U=e.select().from(n).limit(f||100).offset(A||0);return o?.field&&U.orderBy(v(n[a(t,o?.field)])),(await U.where(...h)).map(P=>c(P,t))},async update(s){let{model:t,where:u,update:o}=s,f=m(t),A=g(u,t),n=p(o,t,"update"),h=e.update(f).set(n).where(...A),v=await x(t,h,n);return c(v,t)},async updateMany(s){let{model:t,where:u,update:o}=s,f=m(t),A=g(u,t),n=p(o,t,"update"),v=await e.update(f).set(n).where(...A);return v?v.changes:0},async delete(s){let{model:t,where:u}=s,o=m(t),f=g(u,t);await e.delete(o).where(...f)},async deleteMany(s){let{model:t,where:u}=s,o=m(t),f=g(u,t),n=await e.delete(o).where(...f);return n?n.length:0},options:r}};0&&(module.exports={drizzleAdapter});
@@ -1 +1 @@
1
- import{and as z,asc as W,desc as G,eq as O,inArray as q,like as I,or as J}from"drizzle-orm";import{z as s}from"zod";import{APIError as re}from"better-call";var ne=s.object({id:s.string(),providerId:s.string(),accountId:s.string(),userId:s.string(),accessToken:s.string().nullish(),refreshToken:s.string().nullish(),idToken:s.string().nullish(),accessTokenExpiresAt:s.date().nullish(),refreshTokenExpiresAt:s.date().nullish(),scope:s.string().nullish(),password:s.string().nullish(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date)}),se=s.object({id:s.string(),email:s.string().transform(e=>e.toLowerCase()),emailVerified:s.boolean().default(!1),name:s.string(),image:s.string().nullish(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date)}),ie=s.object({id:s.string(),userId:s.string(),expiresAt:s.date(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date),token:s.string(),ipAddress:s.string().nullish(),userAgent:s.string().nullish()}),ae=s.object({id:s.string(),value:s.string(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date),expiresAt:s.date(),identifier:s.string()});var R=Object.create(null),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?R:globalThis),S=new Proxy(R,{get(e,i){return T()[i]??R[i]},has(e,i){let u=T();return i in u||i in R},set(e,i,u){let m=T(!0);return m[i]=u,!0},deleteProperty(e,i){if(!i)return!1;let u=T(!0);return delete u[i],!0},ownKeys(){let e=T(!0);return Object.keys(e)}});function L(e){return e?e!=="false":!1}var M=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var E=M==="test"||L(S.TEST);import{createRandomStringGenerator as P}from"@better-auth/utils/random";var k=e=>P("a-z","A-Z","0-9")(e||32);import{z as Xe}from"zod";import{APIError as et}from"better-call";var A=class extends Error{constructor(i,u){super(i),this.name="BetterAuthError",this.message=i,this.cause=u,this.stack=""}};import{createHash as Me}from"@better-auth/utils/hash";import{xchacha20poly1305 as Pe}from"@noble/ciphers/chacha";import{bytesToHex as _e,hexToBytes as Ce,utf8ToBytes as $e}from"@noble/ciphers/utils";import{managedNonce as Ke}from"@noble/ciphers/webcrypto";import{scryptAsync as Oe}from"@noble/hashes/scrypt";import{getRandomValues as Ie}from"uncrypto";import{hex as Se}from"@better-auth/utils/hex";import{createRandomStringGenerator as V}from"@better-auth/utils/random";var _=V("a-z","0-9","A-Z","-_");var F=["info","success","warn","error","debug"];function C(e,i){return F.indexOf(i)<=F.indexOf(e)}var x={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},$={info:x.fg.blue,success:x.fg.green,warn:x.fg.yellow,error:x.fg.red,debug:x.fg.magenta},j=(e,i)=>{let u=new Date().toISOString();return`${x.dim}${u}${x.reset} ${$[e]}${e.toUpperCase()}${x.reset} ${x.bright}Better Auth${x.reset} ${i}`},U=e=>{let i=e?.disabled!==!0,u=e?.level??"error",m=(f,y,p=[])=>{if(!i||!C(u,f))return;let w=j(f,y);if(!e||typeof e.log!="function"){f==="error"?console.error(w,...p):f==="warn"?console.warn(w,...p):console.log(w,...p);return}e.log(f==="success"?"info":f,w,...p)};return Object.fromEntries(F.map(f=>[f,(...[y,...p])=>m(f,y,p)]))},K=U();var v=e=>{let i=e.plugins?.reduce((a,c)=>{let n=c.schema;if(!n)return a;for(let[t,d]of Object.entries(n))a[t]={fields:{...a[t]?.fields,...d.fields},modelName:d.modelName||t};return a},{}),u=e.rateLimit?.storage==="database",m={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:f,session:y,account:p,...w}=i||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...f?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...y?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...w,...u?m:{}}};import{z as It}from"zod";import{Kysely as Ut,MssqlDialect as qt}from"kysely";import{MysqlDialect as Lt,PostgresDialect as Mt,SqliteDialect as Et}from"kysely";function D(e,i,u){return u==="update"?e:e==null&&i.defaultValue?typeof i.defaultValue=="function"?i.defaultValue():i.defaultValue:e}var Q=(e,i,u)=>{let m=v(u);function f(a,c){return c==="id"?c:m[a].fields[c].fieldName||c}function y(a){let c=i.schema||e._.fullSchema;if(!c)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let n=p(a),t=c[n];if(!t)throw new A(`[# Drizzle Adapter]: The model "${n}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let p=a=>m[a].modelName!==a?m[a].modelName:i.usePlural?`${a}s`:a,w=u?.advanced?.generateId===!1;return{getSchema:y,transformInput(a,c,n){let t=w||n==="update"?{}:{id:u.advanced?.generateId?u.advanced.generateId({model:c}):a.id||k()},d=m[c].fields;for(let o in d){let l=a[o];l===void 0&&!d[o].defaultValue||(t[d[o].fieldName||o]=D(l,d[o],n))}return t},transformOutput(a,c,n=[]){if(!a)return null;let t=a.id||a._id?n.length===0||n.includes("id")?{id:a.id}:{}:{},d=m[c].fields;for(let o in d){if(n.length&&!n.includes(o))continue;let l=d[o];l&&(t[o]=a[l.fieldName||o])}return t},convertWhereClause(a,c){let n=y(c);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let g=f(c,r.field);if(!n[g])throw new A(`The field "${r.field}" does not exist in the schema for the model "${c}". Please update your schema.`);if(r.operator==="in"){if(!Array.isArray(r.value))throw new A(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return[q(n[g],r.value)]}return r.operator==="contains"?[I(n[g],`%${r.value}%`)]:r.operator==="starts_with"?[I(n[g],`${r.value}%`)]:r.operator==="ends_with"?[I(n[g],`%${r.value}`)]:[O(n[g],r.value)]}let t=a.filter(r=>r.connector==="AND"||!r.connector),d=a.filter(r=>r.connector==="OR"),o=z(...t.map(r=>{let g=f(c,r.field);if(r.operator==="in"){if(!Array.isArray(r.value))throw new A(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return q(n[g],r.value)}return O(n[g],r.value)})),l=J(...d.map(r=>{let g=f(c,r.field);return O(n[g],r.value)})),h=[];return t.length&&h.push(o),d.length&&h.push(l),h},withReturning:async(a,c,n)=>{if(i.provider!=="mysql")return(await c.returning())[0];await c;let t=y(p(a));return(await e.select().from(t).where(O(t.id,n.id)))[0]},getField:f,getModelName:p}};function Z(e,i,u){if(!e)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");for(let m in u)if(!e[m])throw new A(`The field "${m}" does not exist in the "${i}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var Sr=(e,i)=>u=>{let{transformInput:m,transformOutput:f,convertWhereClause:y,getSchema:p,withReturning:w,getField:a,getModelName:c}=Q(e,i,u);return{id:"drizzle",async create(n){let{model:t,data:d}=n,o=m(d,t,"create"),l=p(t);Z(l,c(t),o);let h=e.insert(l).values(o),r=await w(t,h,o);return f(r,t)},async findOne(n){let{model:t,where:d,select:o}=n,l=p(t),h=y(d,t),r=await e.select().from(l).where(...h);return r.length?f(r[0],t,o):null},async findMany(n){let{model:t,where:d,sortBy:o,limit:l,offset:h}=n,r=p(t),g=d?y(d,t):[],b=o?.direction==="desc"?G:W,N=e.select().from(r).limit(l||100).offset(h||0);return o?.field&&N.orderBy(b(r[a(t,o?.field)])),(await N.where(...g)).map(B=>f(B,t))},async update(n){let{model:t,where:d,update:o}=n,l=p(t),h=y(d,t),r=m(o,t,"update"),g=e.update(l).set(r).where(...h),b=await w(t,g,r);return f(b,t)},async updateMany(n){let{model:t,where:d,update:o}=n,l=p(t),h=y(d,t),r=m(o,t,"update"),b=await e.update(l).set(r).where(...h);return b?b.changes:0},async delete(n){let{model:t,where:d}=n,o=p(t),l=y(d,t);await e.delete(o).where(...l)},async deleteMany(n){let{model:t,where:d}=n,o=p(t),l=y(d,t),r=await e.delete(o).where(...l);return r?r.length:0},options:i}};export{Sr as drizzleAdapter};
1
+ import{and as z,asc as W,desc as G,eq as F,inArray as q,like as I,or as J}from"drizzle-orm";import{z as s}from"zod";import{APIError as re}from"better-call";var ne=s.object({id:s.string(),providerId:s.string(),accountId:s.string(),userId:s.string(),accessToken:s.string().nullish(),refreshToken:s.string().nullish(),idToken:s.string().nullish(),accessTokenExpiresAt:s.date().nullish(),refreshTokenExpiresAt:s.date().nullish(),scope:s.string().nullish(),password:s.string().nullish(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date)}),se=s.object({id:s.string(),email:s.string().transform(e=>e.toLowerCase()),emailVerified:s.boolean().default(!1),name:s.string(),image:s.string().nullish(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date)}),ie=s.object({id:s.string(),userId:s.string(),expiresAt:s.date(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date),token:s.string(),ipAddress:s.string().nullish(),userAgent:s.string().nullish()}),ae=s.object({id:s.string(),value:s.string(),createdAt:s.date().default(()=>new Date),updatedAt:s.date().default(()=>new Date),expiresAt:s.date(),identifier:s.string()});var R=Object.create(null),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?R:globalThis),S=new Proxy(R,{get(e,i){return T()[i]??R[i]},has(e,i){let u=T();return i in u||i in R},set(e,i,u){let m=T(!0);return m[i]=u,!0},deleteProperty(e,i){if(!i)return!1;let u=T(!0);return delete u[i],!0},ownKeys(){let e=T(!0);return Object.keys(e)}});function L(e){return e?e!=="false":!1}var M=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var E=M==="test"||L(S.TEST);import{createRandomStringGenerator as P}from"@better-auth/utils/random";var k=e=>P("a-z","A-Z","0-9")(e||32);import{z as Xe}from"zod";import{APIError as et}from"better-call";var A=class extends Error{constructor(i,u){super(i),this.name="BetterAuthError",this.message=i,this.cause=u,this.stack=""}};import{createHash as Me}from"@better-auth/utils/hash";import{xchacha20poly1305 as Pe}from"@noble/ciphers/chacha";import{bytesToHex as _e,hexToBytes as Ce,utf8ToBytes as $e}from"@noble/ciphers/utils";import{managedNonce as Ke}from"@noble/ciphers/webcrypto";import{scryptAsync as Fe}from"@noble/hashes/scrypt";import{getRandomValues as Ie}from"uncrypto";import{hex as Se}from"@better-auth/utils/hex";import{createRandomStringGenerator as V}from"@better-auth/utils/random";var _=V("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function C(e,i){return O.indexOf(i)<=O.indexOf(e)}var x={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},$={info:x.fg.blue,success:x.fg.green,warn:x.fg.yellow,error:x.fg.red,debug:x.fg.magenta},j=(e,i)=>{let u=new Date().toISOString();return`${x.dim}${u}${x.reset} ${$[e]}${e.toUpperCase()}${x.reset} ${x.bright}Better Auth${x.reset} ${i}`},U=e=>{let i=e?.disabled!==!0,u=e?.level??"error",m=(f,y,p=[])=>{if(!i||!C(u,f))return;let w=j(f,y);if(!e||typeof e.log!="function"){f==="error"?console.error(w,...p):f==="warn"?console.warn(w,...p):console.log(w,...p);return}e.log(f==="success"?"info":f,w,...p)};return Object.fromEntries(O.map(f=>[f,(...[y,...p])=>m(f,y,p)]))},K=U();var v=e=>{let i=e.plugins?.reduce((a,c)=>{let n=c.schema;if(!n)return a;for(let[t,d]of Object.entries(n))a[t]={fields:{...a[t]?.fields,...d.fields},modelName:d.modelName||t};return a},{}),u=e.rateLimit?.storage==="database",m={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:f,session:y,account:p,...w}=i||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...f?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...y?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...w,...u?m:{}}};import{z as It}from"zod";import{Kysely as Ut,MssqlDialect as qt}from"kysely";import{MysqlDialect as Lt,PostgresDialect as Mt,SqliteDialect as Et}from"kysely";function D(e,i,u){return u==="update"?e:e==null&&i.defaultValue?typeof i.defaultValue=="function"?i.defaultValue():i.defaultValue:e}var Q=(e,i,u)=>{let m=v(u);function f(a,c){return c==="id"?c:m[a].fields[c].fieldName||c}function y(a){let c=i.schema||e._.fullSchema;if(!c)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let n=p(a),t=c[n];if(!t)throw new A(`[# Drizzle Adapter]: The model "${n}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let p=a=>m[a].modelName!==a?m[a].modelName:i.usePlural?`${a}s`:a,w=u?.advanced?.generateId===!1;return{getSchema:y,transformInput(a,c,n){let t=w||n==="update"?{}:{id:u.advanced?.generateId?u.advanced.generateId({model:c}):a.id||k()},d=m[c].fields;for(let o in d){let l=a[o];l===void 0&&!d[o].defaultValue||(t[d[o].fieldName||o]=D(l,d[o],n))}return t},transformOutput(a,c,n=[]){if(!a)return null;let t=a.id||a._id?n.length===0||n.includes("id")?{id:a.id}:{}:{},d=m[c].fields;for(let o in d){if(n.length&&!n.includes(o))continue;let l=d[o];l&&(t[o]=a[l.fieldName||o])}return t},convertWhereClause(a,c){let n=y(c);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let g=f(c,r.field);if(!n[g])throw new A(`The field "${r.field}" does not exist in the schema for the model "${c}". Please update your schema.`);if(r.operator==="in"){if(!Array.isArray(r.value))throw new A(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return[q(n[g],r.value)]}return r.operator==="contains"?[I(n[g],`%${r.value}%`)]:r.operator==="starts_with"?[I(n[g],`${r.value}%`)]:r.operator==="ends_with"?[I(n[g],`%${r.value}`)]:[F(n[g],r.value)]}let t=a.filter(r=>r.connector==="AND"||!r.connector),d=a.filter(r=>r.connector==="OR"),o=z(...t.map(r=>{let g=f(c,r.field);if(r.operator==="in"){if(!Array.isArray(r.value))throw new A(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return q(n[g],r.value)}return F(n[g],r.value)})),l=J(...d.map(r=>{let g=f(c,r.field);return F(n[g],r.value)})),h=[];return t.length&&h.push(o),d.length&&h.push(l),h},withReturning:async(a,c,n)=>{if(i.provider!=="mysql")return(await c.returning())[0];await c;let t=y(p(a));return(await e.select().from(t).where(F(t.id,n.id)))[0]},getField:f,getModelName:p}};function Z(e,i,u){if(!e)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");for(let m in u)if(!e[m])throw new A(`The field "${m}" does not exist in the "${i}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var Sr=(e,i)=>u=>{let{transformInput:m,transformOutput:f,convertWhereClause:y,getSchema:p,withReturning:w,getField:a,getModelName:c}=Q(e,i,u);return{id:"drizzle",async create(n){let{model:t,data:d}=n,o=m(d,t,"create"),l=p(t);Z(l,c(t),o);let h=e.insert(l).values(o),r=await w(t,h,o);return f(r,t)},async findOne(n){let{model:t,where:d,select:o}=n,l=p(t),h=y(d,t),r=await e.select().from(l).where(...h);return r.length?f(r[0],t,o):null},async findMany(n){let{model:t,where:d,sortBy:o,limit:l,offset:h}=n,r=p(t),g=d?y(d,t):[],b=o?.direction==="desc"?G:W,N=e.select().from(r).limit(l||100).offset(h||0);return o?.field&&N.orderBy(b(r[a(t,o?.field)])),(await N.where(...g)).map(B=>f(B,t))},async update(n){let{model:t,where:d,update:o}=n,l=p(t),h=y(d,t),r=m(o,t,"update"),g=e.update(l).set(r).where(...h),b=await w(t,g,r);return f(b,t)},async updateMany(n){let{model:t,where:d,update:o}=n,l=p(t),h=y(d,t),r=m(o,t,"update"),b=await e.update(l).set(r).where(...h);return b?b.changes:0},async delete(n){let{model:t,where:d}=n,o=p(t),l=y(d,t);await e.delete(o).where(...l)},async deleteMany(n){let{model:t,where:d}=n,o=p(t),l=y(d,t),r=await e.delete(o).where(...l);return r?r.length:0},options:i}};export{Sr as drizzleAdapter};
@@ -1 +1 @@
1
- "use strict";var I=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var l in t)I(e,l,{get:t[l],enumerable:!0})},K=(e,t,l,y)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of C(t))!j.call(e,m)&&m!==l&&I(e,m,{get:()=>t[m],enumerable:!(y=_(t,m))||y.enumerable});return e};var H=e=>K(I({},"__esModule",{value:!0}),e);var fe={};$(fe,{createKyselyAdapter:()=>N,kyselyAdapter:()=>M});module.exports=H(fe);var T=require("kysely"),b=require("kysely");function L(e){if(!e)return null;if("dialect"in e)return L(e.dialect);if("createDriver"in e){if(e instanceof b.SqliteDialect)return"sqlite";if(e instanceof b.MysqlDialect)return"mysql";if(e instanceof b.PostgresDialect)return"postgres";if(e instanceof T.MssqlDialect)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var N=async e=>{let t=e.database;if(!t)return{kysely:null,databaseType:null};if("db"in t)return{kysely:t.db,databaseType:t.type};if("dialect"in t)return{kysely:new T.Kysely({dialect:t.dialect}),databaseType:t.type};let l,y=L(t);return"createDriver"in t&&(l=t),"aggregate"in t&&(l=new b.SqliteDialect({database:t})),"getConnection"in t&&(l=new b.MysqlDialect(t)),"connect"in t&&(l=new b.PostgresDialect({pool:t})),{kysely:l?new T.Kysely({dialect:l}):null,databaseType:y}};var d=require("zod"),W=require("better-call"),ge=d.z.object({id:d.z.string(),providerId:d.z.string(),accountId:d.z.string(),userId:d.z.string(),accessToken:d.z.string().nullish(),refreshToken:d.z.string().nullish(),idToken:d.z.string().nullish(),accessTokenExpiresAt:d.z.date().nullish(),refreshTokenExpiresAt:d.z.date().nullish(),scope:d.z.string().nullish(),password:d.z.string().nullish(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date)}),Ae=d.z.object({id:d.z.string(),email:d.z.string().transform(e=>e.toLowerCase()),emailVerified:d.z.boolean().default(!1),name:d.z.string(),image:d.z.string().nullish(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date)}),he=d.z.object({id:d.z.string(),userId:d.z.string(),expiresAt:d.z.date(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date),token:d.z.string(),ipAddress:d.z.string().nullish(),userAgent:d.z.string().nullish()}),xe=d.z.object({id:d.z.string(),value:d.z.string(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date),expiresAt:d.z.date(),identifier:d.z.string()});var F=Object.create(null),k=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?F:globalThis),B=new Proxy(F,{get(e,t){return k()[t]??F[t]},has(e,t){let l=k();return t in l||t in F},set(e,t,l){let y=k(!0);return y[t]=l,!0},deleteProperty(e,t){if(!t)return!1;let l=k(!0);return delete l[t],!0},ownKeys(){let e=k(!0);return Object.keys(e)}});function J(e){return e?e!=="false":!1}var z=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var G=z==="test"||J(B.TEST);var E=require("@better-auth/utils/random"),O=e=>(0,E.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var ie=require("zod"),se=require("better-call");var te=require("@better-auth/utils/hash"),re=require("@noble/ciphers/chacha"),U=require("@noble/ciphers/utils"),ne=require("@noble/ciphers/webcrypto");var Q=require("@noble/hashes/scrypt"),X=require("uncrypto"),Y=require("@better-auth/utils/hex");var V=require("@better-auth/utils/random"),ee=(0,V.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var S=["info","success","warn","error","debug"];function ae(e,t){return S.indexOf(t)<=S.indexOf(e)}var w={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},oe={info:w.fg.blue,success:w.fg.green,warn:w.fg.yellow,error:w.fg.red,debug:w.fg.magenta},de=(e,t)=>{let l=new Date().toISOString();return`${w.dim}${l}${w.reset} ${oe[e]}${e.toUpperCase()}${w.reset} ${w.bright}Better Auth${w.reset} ${t}`},P=e=>{let t=e?.disabled!==!0,l=e?.level??"error",y=(m,x,A=[])=>{if(!t||!ae(l,m))return;let h=de(m,x);if(!e||typeof e.log!="function"){m==="error"?console.error(h,...A):m==="warn"?console.warn(h,...A):console.log(h,...A);return}e.log(m==="success"?"info":m,h,...A)};return Object.fromEntries(S.map(m=>[m,(...[x,...A])=>y(m,x,A)]))},ue=P();var R=e=>{let t=e.plugins?.reduce((v,i)=>{let r=i.schema;if(!r)return v;for(let[a,u]of Object.entries(r))v[a]={fields:{...v[a]?.fields,...u.fields},modelName:u.modelName||a};return v},{}),l=e.rateLimit?.storage==="database",y={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:m,session:x,account:A,...h}=t||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...m?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...x?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...A?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...h,...l?y:{}}};var le=require("zod");function q(e,t,l){return l==="update"?e:e==null&&t.defaultValue?typeof t.defaultValue=="function"?t.defaultValue():t.defaultValue:e}var ce=(e,t,l)=>{let y=R(t);function m(i,r){if(r==="id")return r;let a=y[i].fields[r];return a||console.log("Field not found",i,r),a.fieldName||r}function x(i,r,a){let{type:u="sqlite"}=l||{},o=y[r].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null&&i!==void 0?i?1:0:o.type==="date"&&i&&i instanceof Date&&u==="sqlite"?i.toISOString():i}function A(i,r,a){let{type:u="sqlite"}=l||{},o=y[r].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function h(i){return y[i].modelName}let v=t?.advanced?.generateId===!1;return{transformInput(i,r,a){let u=v||a==="update"?{}:{id:t.advanced?.generateId?t.advanced.generateId({model:r}):i.id||O()},o=y[r].fields;for(let n in o){let s=i[n];u[o[n].fieldName||n]=q(x(s,r,n),o[n],a)}return u},transformOutput(i,r,a=[]){if(!i)return null;let u=i.id?a.length===0||a.includes("id")?{id:i.id}:{}:{},o=y[r].fields;for(let n in o){if(a.length&&!a.includes(n))continue;let s=o[n];s&&(u[n]=A(i[s.fieldName||n],r,n))}return u},convertWhereClause(i,r){if(!r)return{and:null,or:null};let a={and:[],or:[]};return r.forEach(u=>{let{field:o,value:n,operator:s="=",connector:f="AND"}=u,c=m(i,o),g=p=>s.toLowerCase()==="in"?p(c,"in",Array.isArray(n)?n:[n]):s==="contains"?p(c,"like",`%${n}%`):s==="starts_with"?p(c,"like",`${n}%`):s==="ends_with"?p(c,"like",`%${n}`):s==="eq"?p(c,"=",n):s==="ne"?p(c,"<>",n):s==="gt"?p(c,">",n):s==="gte"?p(c,">=",n):s==="lt"?p(c,"<",n):s==="lte"?p(c,"<=",n):p(c,s,n);f==="OR"?a.or.push(g):a.and.push(g)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}},async withReturning(i,r,a,u){let o;if(l?.type!=="mysql")o=await r.returningAll().executeTakeFirst();else{await r.execute();let n=i.id?"id":u[0].field?u[0].field:"id",s=i[n]||u[0].value;o=await e.selectFrom(h(a)).selectAll().where(m(a,n),"=",s).executeTakeFirst()}return o},getModelName:h,getField:m}},M=(e,t)=>l=>{let{transformInput:y,withReturning:m,transformOutput:x,convertWhereClause:A,getModelName:h,getField:v}=ce(e,l,t);return{id:"kysely",async create(i){let{model:r,data:a,select:u}=i,o=y(a,r,"create"),n=e.insertInto(h(r)).values(o);return x(await m(o,n,r,[]),r,u)},async findOne(i){let{model:r,where:a,select:u}=i,{and:o,or:n}=A(r,a),s=e.selectFrom(h(r)).selectAll();o&&(s=s.where(c=>c.and(o.map(g=>g(c))))),n&&(s=s.where(c=>c.or(n.map(g=>g(c)))));let f=await s.executeTakeFirst();return f?x(f,r,u):null},async findMany(i){let{model:r,where:a,limit:u,offset:o,sortBy:n}=i,{and:s,or:f}=A(r,a),c=e.selectFrom(h(r));s&&(c=c.where(p=>p.and(s.map(D=>D(p))))),f&&(c=c.where(p=>p.or(f.map(D=>D(p))))),c=c.limit(u||100),o&&(c=c.offset(o)),n&&(c=c.orderBy(v(r,n.field),n.direction));let g=await c.selectAll().execute();return g?g.map(p=>x(p,r)):[]},async update(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=y(u,r,"update"),f=e.updateTable(h(r)).set(s);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),n&&(f=f.where(g=>g.or(n.map(p=>p(g))))),await x(await m(s,f,r,a),r)},async updateMany(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=y(u,r,"update"),f=e.updateTable(h(r)).set(s);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),n&&(f=f.where(g=>g.or(n.map(p=>p(g))))),(await f.execute()).length},async delete(i){let{model:r,where:a}=i,{and:u,or:o}=A(r,a),n=e.deleteFrom(h(r));u&&(n=n.where(s=>s.and(u.map(f=>f(s))))),o&&(n=n.where(s=>s.or(o.map(f=>f(s))))),await n.execute()},async deleteMany(i){let{model:r,where:a}=i,{and:u,or:o}=A(r,a),n=e.deleteFrom(h(r));return u&&(n=n.where(s=>s.and(u.map(f=>f(s))))),o&&(n=n.where(s=>s.or(o.map(f=>f(s))))),(await n.execute()).length},options:t}};0&&(module.exports={createKyselyAdapter,kyselyAdapter});
1
+ "use strict";var I=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var C=Object.getOwnPropertyNames;var j=Object.prototype.hasOwnProperty;var $=(e,t)=>{for(var l in t)I(e,l,{get:t[l],enumerable:!0})},K=(e,t,l,y)=>{if(t&&typeof t=="object"||typeof t=="function")for(let m of C(t))!j.call(e,m)&&m!==l&&I(e,m,{get:()=>t[m],enumerable:!(y=_(t,m))||y.enumerable});return e};var H=e=>K(I({},"__esModule",{value:!0}),e);var fe={};$(fe,{createKyselyAdapter:()=>N,kyselyAdapter:()=>M});module.exports=H(fe);var T=require("kysely"),b=require("kysely");function L(e){if(!e)return null;if("dialect"in e)return L(e.dialect);if("createDriver"in e){if(e instanceof b.SqliteDialect)return"sqlite";if(e instanceof b.MysqlDialect)return"mysql";if(e instanceof b.PostgresDialect)return"postgres";if(e instanceof T.MssqlDialect)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var N=async e=>{let t=e.database;if(!t)return{kysely:null,databaseType:null};if("db"in t)return{kysely:t.db,databaseType:t.type};if("dialect"in t)return{kysely:new T.Kysely({dialect:t.dialect}),databaseType:t.type};let l,y=L(t);return"createDriver"in t&&(l=t),"aggregate"in t&&(l=new b.SqliteDialect({database:t})),"getConnection"in t&&(l=new b.MysqlDialect(t)),"connect"in t&&(l=new b.PostgresDialect({pool:t})),{kysely:l?new T.Kysely({dialect:l}):null,databaseType:y}};var d=require("zod"),W=require("better-call"),ge=d.z.object({id:d.z.string(),providerId:d.z.string(),accountId:d.z.string(),userId:d.z.string(),accessToken:d.z.string().nullish(),refreshToken:d.z.string().nullish(),idToken:d.z.string().nullish(),accessTokenExpiresAt:d.z.date().nullish(),refreshTokenExpiresAt:d.z.date().nullish(),scope:d.z.string().nullish(),password:d.z.string().nullish(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date)}),Ae=d.z.object({id:d.z.string(),email:d.z.string().transform(e=>e.toLowerCase()),emailVerified:d.z.boolean().default(!1),name:d.z.string(),image:d.z.string().nullish(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date)}),he=d.z.object({id:d.z.string(),userId:d.z.string(),expiresAt:d.z.date(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date),token:d.z.string(),ipAddress:d.z.string().nullish(),userAgent:d.z.string().nullish()}),xe=d.z.object({id:d.z.string(),value:d.z.string(),createdAt:d.z.date().default(()=>new Date),updatedAt:d.z.date().default(()=>new Date),expiresAt:d.z.date(),identifier:d.z.string()});var F=Object.create(null),k=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?F:globalThis),B=new Proxy(F,{get(e,t){return k()[t]??F[t]},has(e,t){let l=k();return t in l||t in F},set(e,t,l){let y=k(!0);return y[t]=l,!0},deleteProperty(e,t){if(!t)return!1;let l=k(!0);return delete l[t],!0},ownKeys(){let e=k(!0);return Object.keys(e)}});function J(e){return e?e!=="false":!1}var z=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var G=z==="test"||J(B.TEST);var E=require("@better-auth/utils/random"),O=e=>(0,E.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var ie=require("zod"),se=require("better-call");var te=require("@better-auth/utils/hash"),re=require("@noble/ciphers/chacha"),U=require("@noble/ciphers/utils"),ne=require("@noble/ciphers/webcrypto");var Q=require("@noble/hashes/scrypt"),X=require("uncrypto"),Y=require("@better-auth/utils/hex");var V=require("@better-auth/utils/random"),ee=(0,V.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var q=["info","success","warn","error","debug"];function ae(e,t){return q.indexOf(t)<=q.indexOf(e)}var w={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},oe={info:w.fg.blue,success:w.fg.green,warn:w.fg.yellow,error:w.fg.red,debug:w.fg.magenta},de=(e,t)=>{let l=new Date().toISOString();return`${w.dim}${l}${w.reset} ${oe[e]}${e.toUpperCase()}${w.reset} ${w.bright}Better Auth${w.reset} ${t}`},P=e=>{let t=e?.disabled!==!0,l=e?.level??"error",y=(m,x,A=[])=>{if(!t||!ae(l,m))return;let h=de(m,x);if(!e||typeof e.log!="function"){m==="error"?console.error(h,...A):m==="warn"?console.warn(h,...A):console.log(h,...A);return}e.log(m==="success"?"info":m,h,...A)};return Object.fromEntries(q.map(m=>[m,(...[x,...A])=>y(m,x,A)]))},ue=P();var R=e=>{let t=e.plugins?.reduce((v,i)=>{let r=i.schema;if(!r)return v;for(let[a,u]of Object.entries(r))v[a]={fields:{...v[a]?.fields,...u.fields},modelName:u.modelName||a};return v},{}),l=e.rateLimit?.storage==="database",y={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:m,session:x,account:A,...h}=t||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...m?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...x?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...A?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...h,...l?y:{}}};var le=require("zod");function S(e,t,l){return l==="update"?e:e==null&&t.defaultValue?typeof t.defaultValue=="function"?t.defaultValue():t.defaultValue:e}var ce=(e,t,l)=>{let y=R(t);function m(i,r){if(r==="id")return r;let a=y[i].fields[r];return a||console.log("Field not found",i,r),a.fieldName||r}function x(i,r,a){let{type:u="sqlite"}=l||{},o=y[r].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null&&i!==void 0?i?1:0:o.type==="date"&&i&&i instanceof Date&&u==="sqlite"?i.toISOString():i}function A(i,r,a){let{type:u="sqlite"}=l||{},o=y[r].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function h(i){return y[i].modelName}let v=t?.advanced?.generateId===!1;return{transformInput(i,r,a){let u=v||a==="update"?{}:{id:t.advanced?.generateId?t.advanced.generateId({model:r}):i.id||O()},o=y[r].fields;for(let n in o){let s=i[n];u[o[n].fieldName||n]=S(x(s,r,n),o[n],a)}return u},transformOutput(i,r,a=[]){if(!i)return null;let u=i.id?a.length===0||a.includes("id")?{id:i.id}:{}:{},o=y[r].fields;for(let n in o){if(a.length&&!a.includes(n))continue;let s=o[n];s&&(u[n]=A(i[s.fieldName||n],r,n))}return u},convertWhereClause(i,r){if(!r)return{and:null,or:null};let a={and:[],or:[]};return r.forEach(u=>{let{field:o,value:n,operator:s="=",connector:f="AND"}=u,c=m(i,o),g=p=>s.toLowerCase()==="in"?p(c,"in",Array.isArray(n)?n:[n]):s==="contains"?p(c,"like",`%${n}%`):s==="starts_with"?p(c,"like",`${n}%`):s==="ends_with"?p(c,"like",`%${n}`):s==="eq"?p(c,"=",n):s==="ne"?p(c,"<>",n):s==="gt"?p(c,">",n):s==="gte"?p(c,">=",n):s==="lt"?p(c,"<",n):s==="lte"?p(c,"<=",n):p(c,s,n);f==="OR"?a.or.push(g):a.and.push(g)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}},async withReturning(i,r,a,u){let o;if(l?.type!=="mysql")o=await r.returningAll().executeTakeFirst();else{await r.execute();let n=i.id?"id":u[0].field?u[0].field:"id",s=i[n]||u[0].value;o=await e.selectFrom(h(a)).selectAll().where(m(a,n),"=",s).executeTakeFirst()}return o},getModelName:h,getField:m}},M=(e,t)=>l=>{let{transformInput:y,withReturning:m,transformOutput:x,convertWhereClause:A,getModelName:h,getField:v}=ce(e,l,t);return{id:"kysely",async create(i){let{model:r,data:a,select:u}=i,o=y(a,r,"create"),n=e.insertInto(h(r)).values(o);return x(await m(o,n,r,[]),r,u)},async findOne(i){let{model:r,where:a,select:u}=i,{and:o,or:n}=A(r,a),s=e.selectFrom(h(r)).selectAll();o&&(s=s.where(c=>c.and(o.map(g=>g(c))))),n&&(s=s.where(c=>c.or(n.map(g=>g(c)))));let f=await s.executeTakeFirst();return f?x(f,r,u):null},async findMany(i){let{model:r,where:a,limit:u,offset:o,sortBy:n}=i,{and:s,or:f}=A(r,a),c=e.selectFrom(h(r));s&&(c=c.where(p=>p.and(s.map(D=>D(p))))),f&&(c=c.where(p=>p.or(f.map(D=>D(p))))),c=c.limit(u||100),o&&(c=c.offset(o)),n&&(c=c.orderBy(v(r,n.field),n.direction));let g=await c.selectAll().execute();return g?g.map(p=>x(p,r)):[]},async update(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=y(u,r,"update"),f=e.updateTable(h(r)).set(s);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),n&&(f=f.where(g=>g.or(n.map(p=>p(g))))),await x(await m(s,f,r,a),r)},async updateMany(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=y(u,r,"update"),f=e.updateTable(h(r)).set(s);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),n&&(f=f.where(g=>g.or(n.map(p=>p(g))))),(await f.execute()).length},async delete(i){let{model:r,where:a}=i,{and:u,or:o}=A(r,a),n=e.deleteFrom(h(r));u&&(n=n.where(s=>s.and(u.map(f=>f(s))))),o&&(n=n.where(s=>s.or(o.map(f=>f(s))))),await n.execute()},async deleteMany(i){let{model:r,where:a}=i,{and:u,or:o}=A(r,a),n=e.deleteFrom(h(r));return u&&(n=n.where(s=>s.and(u.map(f=>f(s))))),o&&(n=n.where(s=>s.or(o.map(f=>f(s))))),(await n.execute()).length},options:t}};0&&(module.exports={createKyselyAdapter,kyselyAdapter});
@@ -1 +1 @@
1
- import{Kysely as I,MssqlDialect as V}from"kysely";import{MysqlDialect as N,PostgresDialect as U,SqliteDialect as S}from"kysely";function q(e){if(!e)return null;if("dialect"in e)return q(e.dialect);if("createDriver"in e){if(e instanceof S)return"sqlite";if(e instanceof N)return"mysql";if(e instanceof U)return"postgres";if(e instanceof V)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var L=async e=>{let n=e.database;if(!n)return{kysely:null,databaseType:null};if("db"in n)return{kysely:n.db,databaseType:n.type};if("dialect"in n)return{kysely:new I({dialect:n.dialect}),databaseType:n.type};let c,y=q(n);return"createDriver"in n&&(c=n),"aggregate"in n&&(c=new S({database:n})),"getConnection"in n&&(c=new N(n)),"connect"in n&&(c=new U({pool:n})),{kysely:c?new I({dialect:c}):null,databaseType:y}};import{z as d}from"zod";import{APIError as ne}from"better-call";var ie=d.object({id:d.string(),providerId:d.string(),accountId:d.string(),userId:d.string(),accessToken:d.string().nullish(),refreshToken:d.string().nullish(),idToken:d.string().nullish(),accessTokenExpiresAt:d.date().nullish(),refreshTokenExpiresAt:d.date().nullish(),scope:d.string().nullish(),password:d.string().nullish(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date)}),se=d.object({id:d.string(),email:d.string().transform(e=>e.toLowerCase()),emailVerified:d.boolean().default(!1),name:d.string(),image:d.string().nullish(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date)}),ae=d.object({id:d.string(),userId:d.string(),expiresAt:d.date(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date),token:d.string(),ipAddress:d.string().nullish(),userAgent:d.string().nullish()}),oe=d.object({id:d.string(),value:d.string(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date),expiresAt:d.date(),identifier:d.string()});var k=Object.create(null),v=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?k:globalThis),B=new Proxy(k,{get(e,n){return v()[n]??k[n]},has(e,n){let c=v();return n in c||n in k},set(e,n,c){let y=v(!0);return y[n]=c,!0},deleteProperty(e,n){if(!n)return!1;let c=v(!0);return delete c[n],!0},ownKeys(){let e=v(!0);return Object.keys(e)}});function P(e){return e?e!=="false":!1}var M=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var _=M==="test"||P(B.TEST);import{createRandomStringGenerator as C}from"@better-auth/utils/random";var R=e=>C("a-z","A-Z","0-9")(e||32);import{z as Ye}from"zod";import{APIError as tt}from"better-call";import{createHash as Ve}from"@better-auth/utils/hash";import{xchacha20poly1305 as Me}from"@noble/ciphers/chacha";import{bytesToHex as Ce,hexToBytes as je,utf8ToBytes as $e}from"@noble/ciphers/utils";import{managedNonce as He}from"@noble/ciphers/webcrypto";import{scryptAsync as De}from"@noble/hashes/scrypt";import{getRandomValues as Ne}from"uncrypto";import{hex as Se}from"@better-auth/utils/hex";import{createRandomStringGenerator as $}from"@better-auth/utils/random";var K=$("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function H(e,n){return O.indexOf(n)<=O.indexOf(e)}var w={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},W={info:w.fg.blue,success:w.fg.green,warn:w.fg.yellow,error:w.fg.red,debug:w.fg.magenta},J=(e,n)=>{let c=new Date().toISOString();return`${w.dim}${c}${w.reset} ${W[e]}${e.toUpperCase()}${w.reset} ${w.bright}Better Auth${w.reset} ${n}`},E=e=>{let n=e?.disabled!==!0,c=e?.level??"error",y=(g,x,A=[])=>{if(!n||!H(c,g))return;let h=J(g,x);if(!e||typeof e.log!="function"){g==="error"?console.error(h,...A):g==="warn"?console.warn(h,...A):console.log(h,...A);return}e.log(g==="success"?"info":g,h,...A)};return Object.fromEntries(O.map(g=>[g,(...[x,...A])=>y(g,x,A)]))},z=E();var T=e=>{let n=e.plugins?.reduce((b,i)=>{let t=i.schema;if(!t)return b;for(let[a,u]of Object.entries(t))b[a]={fields:{...b[a]?.fields,...u.fields},modelName:u.modelName||a};return b},{}),c=e.rateLimit?.storage==="database",y={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:g,session:x,account:A,...h}=n||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...g?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...x?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...A?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...h,...c?y:{}}};import{z as Nt}from"zod";function D(e,n,c){return c==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var Z=(e,n,c)=>{let y=T(n);function g(i,t){if(t==="id")return t;let a=y[i].fields[t];return a||console.log("Field not found",i,t),a.fieldName||t}function x(i,t,a){let{type:u="sqlite"}=c||{},o=y[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null&&i!==void 0?i?1:0:o.type==="date"&&i&&i instanceof Date&&u==="sqlite"?i.toISOString():i}function A(i,t,a){let{type:u="sqlite"}=c||{},o=y[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function h(i){return y[i].modelName}let b=n?.advanced?.generateId===!1;return{transformInput(i,t,a){let u=b||a==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:t}):i.id||R()},o=y[t].fields;for(let r in o){let s=i[r];u[o[r].fieldName||r]=D(x(s,t,r),o[r],a)}return u},transformOutput(i,t,a=[]){if(!i)return null;let u=i.id?a.length===0||a.includes("id")?{id:i.id}:{}:{},o=y[t].fields;for(let r in o){if(a.length&&!a.includes(r))continue;let s=o[r];s&&(u[r]=A(i[s.fieldName||r],t,r))}return u},convertWhereClause(i,t){if(!t)return{and:null,or:null};let a={and:[],or:[]};return t.forEach(u=>{let{field:o,value:r,operator:s="=",connector:f="AND"}=u,l=g(i,o),m=p=>s.toLowerCase()==="in"?p(l,"in",Array.isArray(r)?r:[r]):s==="contains"?p(l,"like",`%${r}%`):s==="starts_with"?p(l,"like",`${r}%`):s==="ends_with"?p(l,"like",`%${r}`):s==="eq"?p(l,"=",r):s==="ne"?p(l,"<>",r):s==="gt"?p(l,">",r):s==="gte"?p(l,">=",r):s==="lt"?p(l,"<",r):s==="lte"?p(l,"<=",r):p(l,s,r);f==="OR"?a.or.push(m):a.and.push(m)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}},async withReturning(i,t,a,u){let o;if(c?.type!=="mysql")o=await t.returningAll().executeTakeFirst();else{await t.execute();let r=i.id?"id":u[0].field?u[0].field:"id",s=i[r]||u[0].value;o=await e.selectFrom(h(a)).selectAll().where(g(a,r),"=",s).executeTakeFirst()}return o},getModelName:h,getField:g}},G=(e,n)=>c=>{let{transformInput:y,withReturning:g,transformOutput:x,convertWhereClause:A,getModelName:h,getField:b}=Z(e,c,n);return{id:"kysely",async create(i){let{model:t,data:a,select:u}=i,o=y(a,t,"create"),r=e.insertInto(h(t)).values(o);return x(await g(o,r,t,[]),t,u)},async findOne(i){let{model:t,where:a,select:u}=i,{and:o,or:r}=A(t,a),s=e.selectFrom(h(t)).selectAll();o&&(s=s.where(l=>l.and(o.map(m=>m(l))))),r&&(s=s.where(l=>l.or(r.map(m=>m(l)))));let f=await s.executeTakeFirst();return f?x(f,t,u):null},async findMany(i){let{model:t,where:a,limit:u,offset:o,sortBy:r}=i,{and:s,or:f}=A(t,a),l=e.selectFrom(h(t));s&&(l=l.where(p=>p.and(s.map(F=>F(p))))),f&&(l=l.where(p=>p.or(f.map(F=>F(p))))),l=l.limit(u||100),o&&(l=l.offset(o)),r&&(l=l.orderBy(b(t,r.field),r.direction));let m=await l.selectAll().execute();return m?m.map(p=>x(p,t)):[]},async update(i){let{model:t,where:a,update:u}=i,{and:o,or:r}=A(t,a),s=y(u,t,"update"),f=e.updateTable(h(t)).set(s);return o&&(f=f.where(m=>m.and(o.map(p=>p(m))))),r&&(f=f.where(m=>m.or(r.map(p=>p(m))))),await x(await g(s,f,t,a),t)},async updateMany(i){let{model:t,where:a,update:u}=i,{and:o,or:r}=A(t,a),s=y(u,t,"update"),f=e.updateTable(h(t)).set(s);return o&&(f=f.where(m=>m.and(o.map(p=>p(m))))),r&&(f=f.where(m=>m.or(r.map(p=>p(m))))),(await f.execute()).length},async delete(i){let{model:t,where:a}=i,{and:u,or:o}=A(t,a),r=e.deleteFrom(h(t));u&&(r=r.where(s=>s.and(u.map(f=>f(s))))),o&&(r=r.where(s=>s.or(o.map(f=>f(s))))),await r.execute()},async deleteMany(i){let{model:t,where:a}=i,{and:u,or:o}=A(t,a),r=e.deleteFrom(h(t));return u&&(r=r.where(s=>s.and(u.map(f=>f(s))))),o&&(r=r.where(s=>s.or(o.map(f=>f(s))))),(await r.execute()).length},options:n}};export{L as createKyselyAdapter,G as kyselyAdapter};
1
+ import{Kysely as I,MssqlDialect as V}from"kysely";import{MysqlDialect as N,PostgresDialect as U,SqliteDialect as q}from"kysely";function S(e){if(!e)return null;if("dialect"in e)return S(e.dialect);if("createDriver"in e){if(e instanceof q)return"sqlite";if(e instanceof N)return"mysql";if(e instanceof U)return"postgres";if(e instanceof V)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var L=async e=>{let n=e.database;if(!n)return{kysely:null,databaseType:null};if("db"in n)return{kysely:n.db,databaseType:n.type};if("dialect"in n)return{kysely:new I({dialect:n.dialect}),databaseType:n.type};let c,y=S(n);return"createDriver"in n&&(c=n),"aggregate"in n&&(c=new q({database:n})),"getConnection"in n&&(c=new N(n)),"connect"in n&&(c=new U({pool:n})),{kysely:c?new I({dialect:c}):null,databaseType:y}};import{z as d}from"zod";import{APIError as ne}from"better-call";var ie=d.object({id:d.string(),providerId:d.string(),accountId:d.string(),userId:d.string(),accessToken:d.string().nullish(),refreshToken:d.string().nullish(),idToken:d.string().nullish(),accessTokenExpiresAt:d.date().nullish(),refreshTokenExpiresAt:d.date().nullish(),scope:d.string().nullish(),password:d.string().nullish(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date)}),se=d.object({id:d.string(),email:d.string().transform(e=>e.toLowerCase()),emailVerified:d.boolean().default(!1),name:d.string(),image:d.string().nullish(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date)}),ae=d.object({id:d.string(),userId:d.string(),expiresAt:d.date(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date),token:d.string(),ipAddress:d.string().nullish(),userAgent:d.string().nullish()}),oe=d.object({id:d.string(),value:d.string(),createdAt:d.date().default(()=>new Date),updatedAt:d.date().default(()=>new Date),expiresAt:d.date(),identifier:d.string()});var k=Object.create(null),v=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?k:globalThis),B=new Proxy(k,{get(e,n){return v()[n]??k[n]},has(e,n){let c=v();return n in c||n in k},set(e,n,c){let y=v(!0);return y[n]=c,!0},deleteProperty(e,n){if(!n)return!1;let c=v(!0);return delete c[n],!0},ownKeys(){let e=v(!0);return Object.keys(e)}});function P(e){return e?e!=="false":!1}var M=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var _=M==="test"||P(B.TEST);import{createRandomStringGenerator as C}from"@better-auth/utils/random";var R=e=>C("a-z","A-Z","0-9")(e||32);import{z as Ye}from"zod";import{APIError as tt}from"better-call";import{createHash as Ve}from"@better-auth/utils/hash";import{xchacha20poly1305 as Me}from"@noble/ciphers/chacha";import{bytesToHex as Ce,hexToBytes as je,utf8ToBytes as $e}from"@noble/ciphers/utils";import{managedNonce as He}from"@noble/ciphers/webcrypto";import{scryptAsync as De}from"@noble/hashes/scrypt";import{getRandomValues as Ne}from"uncrypto";import{hex as qe}from"@better-auth/utils/hex";import{createRandomStringGenerator as $}from"@better-auth/utils/random";var K=$("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function H(e,n){return O.indexOf(n)<=O.indexOf(e)}var w={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},W={info:w.fg.blue,success:w.fg.green,warn:w.fg.yellow,error:w.fg.red,debug:w.fg.magenta},J=(e,n)=>{let c=new Date().toISOString();return`${w.dim}${c}${w.reset} ${W[e]}${e.toUpperCase()}${w.reset} ${w.bright}Better Auth${w.reset} ${n}`},E=e=>{let n=e?.disabled!==!0,c=e?.level??"error",y=(g,x,A=[])=>{if(!n||!H(c,g))return;let h=J(g,x);if(!e||typeof e.log!="function"){g==="error"?console.error(h,...A):g==="warn"?console.warn(h,...A):console.log(h,...A);return}e.log(g==="success"?"info":g,h,...A)};return Object.fromEntries(O.map(g=>[g,(...[x,...A])=>y(g,x,A)]))},z=E();var T=e=>{let n=e.plugins?.reduce((b,i)=>{let t=i.schema;if(!t)return b;for(let[a,u]of Object.entries(t))b[a]={fields:{...b[a]?.fields,...u.fields},modelName:u.modelName||a};return b},{}),c=e.rateLimit?.storage==="database",y={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:g,session:x,account:A,...h}=n||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...g?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...x?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...A?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...h,...c?y:{}}};import{z as Nt}from"zod";function D(e,n,c){return c==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var Z=(e,n,c)=>{let y=T(n);function g(i,t){if(t==="id")return t;let a=y[i].fields[t];return a||console.log("Field not found",i,t),a.fieldName||t}function x(i,t,a){let{type:u="sqlite"}=c||{},o=y[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null&&i!==void 0?i?1:0:o.type==="date"&&i&&i instanceof Date&&u==="sqlite"?i.toISOString():i}function A(i,t,a){let{type:u="sqlite"}=c||{},o=y[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function h(i){return y[i].modelName}let b=n?.advanced?.generateId===!1;return{transformInput(i,t,a){let u=b||a==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:t}):i.id||R()},o=y[t].fields;for(let r in o){let s=i[r];u[o[r].fieldName||r]=D(x(s,t,r),o[r],a)}return u},transformOutput(i,t,a=[]){if(!i)return null;let u=i.id?a.length===0||a.includes("id")?{id:i.id}:{}:{},o=y[t].fields;for(let r in o){if(a.length&&!a.includes(r))continue;let s=o[r];s&&(u[r]=A(i[s.fieldName||r],t,r))}return u},convertWhereClause(i,t){if(!t)return{and:null,or:null};let a={and:[],or:[]};return t.forEach(u=>{let{field:o,value:r,operator:s="=",connector:f="AND"}=u,l=g(i,o),m=p=>s.toLowerCase()==="in"?p(l,"in",Array.isArray(r)?r:[r]):s==="contains"?p(l,"like",`%${r}%`):s==="starts_with"?p(l,"like",`${r}%`):s==="ends_with"?p(l,"like",`%${r}`):s==="eq"?p(l,"=",r):s==="ne"?p(l,"<>",r):s==="gt"?p(l,">",r):s==="gte"?p(l,">=",r):s==="lt"?p(l,"<",r):s==="lte"?p(l,"<=",r):p(l,s,r);f==="OR"?a.or.push(m):a.and.push(m)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}},async withReturning(i,t,a,u){let o;if(c?.type!=="mysql")o=await t.returningAll().executeTakeFirst();else{await t.execute();let r=i.id?"id":u[0].field?u[0].field:"id",s=i[r]||u[0].value;o=await e.selectFrom(h(a)).selectAll().where(g(a,r),"=",s).executeTakeFirst()}return o},getModelName:h,getField:g}},G=(e,n)=>c=>{let{transformInput:y,withReturning:g,transformOutput:x,convertWhereClause:A,getModelName:h,getField:b}=Z(e,c,n);return{id:"kysely",async create(i){let{model:t,data:a,select:u}=i,o=y(a,t,"create"),r=e.insertInto(h(t)).values(o);return x(await g(o,r,t,[]),t,u)},async findOne(i){let{model:t,where:a,select:u}=i,{and:o,or:r}=A(t,a),s=e.selectFrom(h(t)).selectAll();o&&(s=s.where(l=>l.and(o.map(m=>m(l))))),r&&(s=s.where(l=>l.or(r.map(m=>m(l)))));let f=await s.executeTakeFirst();return f?x(f,t,u):null},async findMany(i){let{model:t,where:a,limit:u,offset:o,sortBy:r}=i,{and:s,or:f}=A(t,a),l=e.selectFrom(h(t));s&&(l=l.where(p=>p.and(s.map(F=>F(p))))),f&&(l=l.where(p=>p.or(f.map(F=>F(p))))),l=l.limit(u||100),o&&(l=l.offset(o)),r&&(l=l.orderBy(b(t,r.field),r.direction));let m=await l.selectAll().execute();return m?m.map(p=>x(p,t)):[]},async update(i){let{model:t,where:a,update:u}=i,{and:o,or:r}=A(t,a),s=y(u,t,"update"),f=e.updateTable(h(t)).set(s);return o&&(f=f.where(m=>m.and(o.map(p=>p(m))))),r&&(f=f.where(m=>m.or(r.map(p=>p(m))))),await x(await g(s,f,t,a),t)},async updateMany(i){let{model:t,where:a,update:u}=i,{and:o,or:r}=A(t,a),s=y(u,t,"update"),f=e.updateTable(h(t)).set(s);return o&&(f=f.where(m=>m.and(o.map(p=>p(m))))),r&&(f=f.where(m=>m.or(r.map(p=>p(m))))),(await f.execute()).length},async delete(i){let{model:t,where:a}=i,{and:u,or:o}=A(t,a),r=e.deleteFrom(h(t));u&&(r=r.where(s=>s.and(u.map(f=>f(s))))),o&&(r=r.where(s=>s.or(o.map(f=>f(s))))),await r.execute()},async deleteMany(i){let{model:t,where:a}=i,{and:u,or:o}=A(t,a),r=e.deleteFrom(h(t));return u&&(r=r.where(s=>s.and(u.map(f=>f(s))))),o&&(r=r.where(s=>s.or(o.map(f=>f(s))))),(await r.execute()).length},options:n}};export{L as createKyselyAdapter,G as kyselyAdapter};
@@ -1 +1 @@
1
- "use strict";var w=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var B=(e,r)=>{for(var l in r)w(e,l,{get:r[l],enumerable:!0})},E=(e,r,l,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of q(r))!L.call(e,i)&&i!==l&&w(e,i,{get:()=>r[i],enumerable:!(u=S(r,i))||u.enumerable});return e};var V=e=>E(w({},"__esModule",{value:!0}),e);var se={};B(se,{memoryAdapter:()=>U});module.exports=V(se);var n=require("zod"),P=require("better-call"),de=n.z.object({id:n.z.string(),providerId:n.z.string(),accountId:n.z.string(),userId:n.z.string(),accessToken:n.z.string().nullish(),refreshToken:n.z.string().nullish(),idToken:n.z.string().nullish(),accessTokenExpiresAt:n.z.date().nullish(),refreshTokenExpiresAt:n.z.date().nullish(),scope:n.z.string().nullish(),password:n.z.string().nullish(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date)}),ue=n.z.object({id:n.z.string(),email:n.z.string().transform(e=>e.toLowerCase()),emailVerified:n.z.boolean().default(!1),name:n.z.string(),image:n.z.string().nullish(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date)}),le=n.z.object({id:n.z.string(),userId:n.z.string(),expiresAt:n.z.date(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date),token:n.z.string(),ipAddress:n.z.string().nullish(),userAgent:n.z.string().nullish()}),ce=n.z.object({id:n.z.string(),value:n.z.string(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date),expiresAt:n.z.date(),identifier:n.z.string()});var h=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?h:globalThis),F=new Proxy(h,{get(e,r){return y()[r]??h[r]},has(e,r){let l=y();return r in l||r in h},set(e,r,l){let u=y(!0);return u[r]=l,!0},deleteProperty(e,r){if(!r)return!1;let l=y(!0);return delete l[r],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function M(e){return e?e!=="false":!1}var _=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var C=_==="test"||M(F.TEST);var O=require("@better-auth/utils/random"),x=e=>(0,O.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var Z=require("zod"),Q=require("better-call");var J=require("@better-auth/utils/hash"),z=require("@noble/ciphers/chacha"),b=require("@noble/ciphers/utils"),G=require("@noble/ciphers/webcrypto");var $=require("@noble/hashes/scrypt"),K=require("uncrypto"),H=require("@better-auth/utils/hex");var D=require("@better-auth/utils/random"),W=(0,D.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var v=["info","success","warn","error","debug"];function X(e,r){return v.indexOf(r)<=v.indexOf(e)}var p={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},Y={info:p.fg.blue,success:p.fg.green,warn:p.fg.yellow,error:p.fg.red,debug:p.fg.magenta},ee=(e,r)=>{let l=new Date().toISOString();return`${p.dim}${l}${p.reset} ${Y[e]}${e.toUpperCase()}${p.reset} ${p.bright}Better Auth${p.reset} ${r}`},I=e=>{let r=e?.disabled!==!0,l=e?.level??"error",u=(i,f,t=[])=>{if(!r||!X(l,i))return;let a=ee(i,f);if(!e||typeof e.log!="function"){i==="error"?console.error(a,...t):i==="warn"?console.warn(a,...t):console.log(a,...t);return}e.log(i==="success"?"info":i,a,...t)};return Object.fromEntries(v.map(i=>[i,(...[f,...t])=>u(i,f,t)]))},te=I();var g=e=>{let r=e.plugins?.reduce((s,d)=>{let c=d.schema;if(!c)return s;for(let[o,m]of Object.entries(c))s[o]={fields:{...s[o]?.fields,...m.fields},modelName:m.modelName||o};return s},{}),l=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:i,session:f,account:t,...a}=r||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...i?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...f?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...a,...l?u:{}}};var re=require("zod");var N=require("kysely"),T=require("kysely");function k(e,r,l){return l==="update"?e:e==null&&r.defaultValue?typeof r.defaultValue=="function"?r.defaultValue():r.defaultValue:e}var ie=e=>{let r=g(e);function l(u,i){return i==="id"?i:r[u].fields[i].fieldName||i}return{transformInput(u,i,f){let t=f==="update"?{}:{id:e.advanced?.generateId?e.advanced.generateId({model:i}):u.id||x()},a=r[i].fields;for(let s in a){let d=u[s];d===void 0&&!a[s].defaultValue||(t[a[s].fieldName||s]=k(d,a[s],f))}return t},transformOutput(u,i,f=[]){if(!u)return null;let t=u.id||u._id?f.length===0||f.includes("id")?{id:u.id}:{}:{},a=r[i].fields;for(let s in a){if(f.length&&!f.includes(s))continue;let d=a[s];d&&(t[s]=u[d.fieldName||s])}return t},convertWhereClause(u,i,f){return i.filter(t=>u.every(a=>{let{field:s,value:d,operator:c}=a,o=l(f,s);if(c==="in"){if(!Array.isArray(d))throw new Error("Value must be an array");return d.includes(t[o])}else return c==="contains"?t[o].includes(d):c==="starts_with"?t[o].startsWith(d):c==="ends_with"?t[o].endsWith(d):t[o]===d}))},getField:l}},U=e=>r=>{let{transformInput:l,transformOutput:u,convertWhereClause:i,getField:f}=ie(r);return{id:"memory",create:async({model:t,data:a})=>{let s=l(a,t,"create");return e[t].push(s),u(s,t)},findOne:async({model:t,where:a,select:s})=>{let d=e[t],o=i(a,d,t)[0]||null;return u(o,t,s)},findMany:async({model:t,where:a,sortBy:s,limit:d,offset:c})=>{let o=e[t];return a&&(o=i(a,o,t)),s&&(o=o.sort((m,R)=>{let A=f(t,s.field);return s.direction==="asc"?m[A]>R[A]?1:-1:m[A]<R[A]?1:-1})),c!==void 0&&(o=o.slice(c)),d!==void 0&&(o=o.slice(0,d)),o.map(m=>u(m,t))},update:async({model:t,where:a,update:s})=>{let d=e[t],c=i(a,d,t);return c.forEach(o=>{Object.assign(o,l(s,t,"update"))}),u(c[0],t)},delete:async({model:t,where:a})=>{let s=e[t],d=i(a,s,t);e[t]=s.filter(c=>!d.includes(c))},deleteMany:async({model:t,where:a})=>{let s=e[t],d=i(a,s,t),c=0;return e[t]=s.filter(o=>d.includes(o)?(c++,!1):!d.includes(o)),c},updateMany(t){let{model:a,where:s,update:d}=t,c=e[a],o=i(s,c,a);return o.forEach(m=>{Object.assign(m,d)}),o[0]||null}}};0&&(module.exports={memoryAdapter});
1
+ "use strict";var w=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var B=(e,r)=>{for(var l in r)w(e,l,{get:r[l],enumerable:!0})},E=(e,r,l,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let i of S(r))!L.call(e,i)&&i!==l&&w(e,i,{get:()=>r[i],enumerable:!(u=q(r,i))||u.enumerable});return e};var V=e=>E(w({},"__esModule",{value:!0}),e);var se={};B(se,{memoryAdapter:()=>U});module.exports=V(se);var n=require("zod"),P=require("better-call"),de=n.z.object({id:n.z.string(),providerId:n.z.string(),accountId:n.z.string(),userId:n.z.string(),accessToken:n.z.string().nullish(),refreshToken:n.z.string().nullish(),idToken:n.z.string().nullish(),accessTokenExpiresAt:n.z.date().nullish(),refreshTokenExpiresAt:n.z.date().nullish(),scope:n.z.string().nullish(),password:n.z.string().nullish(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date)}),ue=n.z.object({id:n.z.string(),email:n.z.string().transform(e=>e.toLowerCase()),emailVerified:n.z.boolean().default(!1),name:n.z.string(),image:n.z.string().nullish(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date)}),le=n.z.object({id:n.z.string(),userId:n.z.string(),expiresAt:n.z.date(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date),token:n.z.string(),ipAddress:n.z.string().nullish(),userAgent:n.z.string().nullish()}),ce=n.z.object({id:n.z.string(),value:n.z.string(),createdAt:n.z.date().default(()=>new Date),updatedAt:n.z.date().default(()=>new Date),expiresAt:n.z.date(),identifier:n.z.string()});var h=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?h:globalThis),F=new Proxy(h,{get(e,r){return y()[r]??h[r]},has(e,r){let l=y();return r in l||r in h},set(e,r,l){let u=y(!0);return u[r]=l,!0},deleteProperty(e,r){if(!r)return!1;let l=y(!0);return delete l[r],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function M(e){return e?e!=="false":!1}var _=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var C=_==="test"||M(F.TEST);var O=require("@better-auth/utils/random"),x=e=>(0,O.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var Z=require("zod"),Q=require("better-call");var J=require("@better-auth/utils/hash"),z=require("@noble/ciphers/chacha"),b=require("@noble/ciphers/utils"),G=require("@noble/ciphers/webcrypto");var $=require("@noble/hashes/scrypt"),K=require("uncrypto"),H=require("@better-auth/utils/hex");var D=require("@better-auth/utils/random"),W=(0,D.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var v=["info","success","warn","error","debug"];function X(e,r){return v.indexOf(r)<=v.indexOf(e)}var p={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},Y={info:p.fg.blue,success:p.fg.green,warn:p.fg.yellow,error:p.fg.red,debug:p.fg.magenta},ee=(e,r)=>{let l=new Date().toISOString();return`${p.dim}${l}${p.reset} ${Y[e]}${e.toUpperCase()}${p.reset} ${p.bright}Better Auth${p.reset} ${r}`},I=e=>{let r=e?.disabled!==!0,l=e?.level??"error",u=(i,f,t=[])=>{if(!r||!X(l,i))return;let a=ee(i,f);if(!e||typeof e.log!="function"){i==="error"?console.error(a,...t):i==="warn"?console.warn(a,...t):console.log(a,...t);return}e.log(i==="success"?"info":i,a,...t)};return Object.fromEntries(v.map(i=>[i,(...[f,...t])=>u(i,f,t)]))},te=I();var g=e=>{let r=e.plugins?.reduce((s,d)=>{let c=d.schema;if(!c)return s;for(let[o,m]of Object.entries(c))s[o]={fields:{...s[o]?.fields,...m.fields},modelName:m.modelName||o};return s},{}),l=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:i,session:f,account:t,...a}=r||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...i?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...f?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...a,...l?u:{}}};var re=require("zod");var N=require("kysely"),T=require("kysely");function k(e,r,l){return l==="update"?e:e==null&&r.defaultValue?typeof r.defaultValue=="function"?r.defaultValue():r.defaultValue:e}var ie=e=>{let r=g(e);function l(u,i){return i==="id"?i:r[u].fields[i].fieldName||i}return{transformInput(u,i,f){let t=f==="update"?{}:{id:e.advanced?.generateId?e.advanced.generateId({model:i}):u.id||x()},a=r[i].fields;for(let s in a){let d=u[s];d===void 0&&!a[s].defaultValue||(t[a[s].fieldName||s]=k(d,a[s],f))}return t},transformOutput(u,i,f=[]){if(!u)return null;let t=u.id||u._id?f.length===0||f.includes("id")?{id:u.id}:{}:{},a=r[i].fields;for(let s in a){if(f.length&&!f.includes(s))continue;let d=a[s];d&&(t[s]=u[d.fieldName||s])}return t},convertWhereClause(u,i,f){return i.filter(t=>u.every(a=>{let{field:s,value:d,operator:c}=a,o=l(f,s);if(c==="in"){if(!Array.isArray(d))throw new Error("Value must be an array");return d.includes(t[o])}else return c==="contains"?t[o].includes(d):c==="starts_with"?t[o].startsWith(d):c==="ends_with"?t[o].endsWith(d):t[o]===d}))},getField:l}},U=e=>r=>{let{transformInput:l,transformOutput:u,convertWhereClause:i,getField:f}=ie(r);return{id:"memory",create:async({model:t,data:a})=>{let s=l(a,t,"create");return e[t].push(s),u(s,t)},findOne:async({model:t,where:a,select:s})=>{let d=e[t],o=i(a,d,t)[0]||null;return u(o,t,s)},findMany:async({model:t,where:a,sortBy:s,limit:d,offset:c})=>{let o=e[t];return a&&(o=i(a,o,t)),s&&(o=o.sort((m,R)=>{let A=f(t,s.field);return s.direction==="asc"?m[A]>R[A]?1:-1:m[A]<R[A]?1:-1})),c!==void 0&&(o=o.slice(c)),d!==void 0&&(o=o.slice(0,d)),o.map(m=>u(m,t))},update:async({model:t,where:a,update:s})=>{let d=e[t],c=i(a,d,t);return c.forEach(o=>{Object.assign(o,l(s,t,"update"))}),u(c[0],t)},delete:async({model:t,where:a})=>{let s=e[t],d=i(a,s,t);e[t]=s.filter(c=>!d.includes(c))},deleteMany:async({model:t,where:a})=>{let s=e[t],d=i(a,s,t),c=0;return e[t]=s.filter(o=>d.includes(o)?(c++,!1):!d.includes(o)),c},updateMany(t){let{model:a,where:s,update:d}=t,c=e[a],o=i(s,c,a);return o.forEach(m=>{Object.assign(m,d)}),o[0]||null}}};0&&(module.exports={memoryAdapter});
@@ -1 +1 @@
1
- import{z as r}from"zod";import{APIError as j}from"better-call";var $=r.object({id:r.string(),providerId:r.string(),accountId:r.string(),userId:r.string(),accessToken:r.string().nullish(),refreshToken:r.string().nullish(),idToken:r.string().nullish(),accessTokenExpiresAt:r.date().nullish(),refreshTokenExpiresAt:r.date().nullish(),scope:r.string().nullish(),password:r.string().nullish(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date)}),K=r.object({id:r.string(),email:r.string().transform(e=>e.toLowerCase()),emailVerified:r.boolean().default(!1),name:r.string(),image:r.string().nullish(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date)}),H=r.object({id:r.string(),userId:r.string(),expiresAt:r.date(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date),token:r.string(),ipAddress:r.string().nullish(),userAgent:r.string().nullish()}),W=r.object({id:r.string(),value:r.string(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date),expiresAt:r.date(),identifier:r.string()});var h=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?h:globalThis),T=new Proxy(h,{get(e,a){return y()[a]??h[a]},has(e,a){let c=y();return a in c||a in h},set(e,a,c){let u=y(!0);return u[a]=c,!0},deleteProperty(e,a){if(!a)return!1;let c=y(!0);return delete c[a],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function R(e){return e?e!=="false":!1}var F=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var O=F==="test"||R(T.TEST);import{createRandomStringGenerator as D}from"@better-auth/utils/random";var x=e=>D("a-z","A-Z","0-9")(e||32);import{z as Pe}from"zod";import{APIError as _e}from"better-call";import{createHash as ve}from"@better-auth/utils/hash";import{xchacha20poly1305 as ke}from"@noble/ciphers/chacha";import{bytesToHex as Fe,hexToBytes as Oe,utf8ToBytes as De}from"@noble/ciphers/utils";import{managedNonce as Ne}from"@noble/ciphers/webcrypto";import{scryptAsync as pe}from"@noble/hashes/scrypt";import{getRandomValues as ye}from"uncrypto";import{hex as Ae}from"@better-auth/utils/hex";import{createRandomStringGenerator as N}from"@better-auth/utils/random";var U=N("a-z","0-9","A-Z","-_");var w=["info","success","warn","error","debug"];function S(e,a){return w.indexOf(a)<=w.indexOf(e)}var p={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},q={info:p.fg.blue,success:p.fg.green,warn:p.fg.yellow,error:p.fg.red,debug:p.fg.magenta},L=(e,a)=>{let c=new Date().toISOString();return`${p.dim}${c}${p.reset} ${q[e]}${e.toUpperCase()}${p.reset} ${p.bright}Better Auth${p.reset} ${a}`},k=e=>{let a=e?.disabled!==!0,c=e?.level??"error",u=(s,f,t=[])=>{if(!a||!S(c,s))return;let i=L(s,f);if(!e||typeof e.log!="function"){s==="error"?console.error(i,...t):s==="warn"?console.warn(i,...t):console.log(i,...t);return}e.log(s==="success"?"info":s,i,...t)};return Object.fromEntries(w.map(s=>[s,(...[f,...t])=>u(s,f,t)]))},B=k();var g=e=>{let a=e.plugins?.reduce((n,d)=>{let l=d.schema;if(!l)return n;for(let[o,m]of Object.entries(l))n[o]={fields:{...n[o]?.fields,...m.fields},modelName:m.modelName||o};return n},{}),c=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:s,session:f,account:t,...i}=a||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...s?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...f?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...i,...c?u:{}}};import{z as yt}from"zod";import{Kysely as ht,MssqlDialect as xt}from"kysely";import{MysqlDialect as bt,PostgresDialect as vt,SqliteDialect as Tt}from"kysely";function b(e,a,c){return c==="update"?e:e==null&&a.defaultValue?typeof a.defaultValue=="function"?a.defaultValue():a.defaultValue:e}var P=e=>{let a=g(e);function c(u,s){return s==="id"?s:a[u].fields[s].fieldName||s}return{transformInput(u,s,f){let t=f==="update"?{}:{id:e.advanced?.generateId?e.advanced.generateId({model:s}):u.id||x()},i=a[s].fields;for(let n in i){let d=u[n];d===void 0&&!i[n].defaultValue||(t[i[n].fieldName||n]=b(d,i[n],f))}return t},transformOutput(u,s,f=[]){if(!u)return null;let t=u.id||u._id?f.length===0||f.includes("id")?{id:u.id}:{}:{},i=a[s].fields;for(let n in i){if(f.length&&!f.includes(n))continue;let d=i[n];d&&(t[n]=u[d.fieldName||n])}return t},convertWhereClause(u,s,f){return s.filter(t=>u.every(i=>{let{field:n,value:d,operator:l}=i,o=c(f,n);if(l==="in"){if(!Array.isArray(d))throw new Error("Value must be an array");return d.includes(t[o])}else return l==="contains"?t[o].includes(d):l==="starts_with"?t[o].startsWith(d):l==="ends_with"?t[o].endsWith(d):t[o]===d}))},getField:c}},V=e=>a=>{let{transformInput:c,transformOutput:u,convertWhereClause:s,getField:f}=P(a);return{id:"memory",create:async({model:t,data:i})=>{let n=c(i,t,"create");return e[t].push(n),u(n,t)},findOne:async({model:t,where:i,select:n})=>{let d=e[t],o=s(i,d,t)[0]||null;return u(o,t,n)},findMany:async({model:t,where:i,sortBy:n,limit:d,offset:l})=>{let o=e[t];return i&&(o=s(i,o,t)),n&&(o=o.sort((m,v)=>{let A=f(t,n.field);return n.direction==="asc"?m[A]>v[A]?1:-1:m[A]<v[A]?1:-1})),l!==void 0&&(o=o.slice(l)),d!==void 0&&(o=o.slice(0,d)),o.map(m=>u(m,t))},update:async({model:t,where:i,update:n})=>{let d=e[t],l=s(i,d,t);return l.forEach(o=>{Object.assign(o,c(n,t,"update"))}),u(l[0],t)},delete:async({model:t,where:i})=>{let n=e[t],d=s(i,n,t);e[t]=n.filter(l=>!d.includes(l))},deleteMany:async({model:t,where:i})=>{let n=e[t],d=s(i,n,t),l=0;return e[t]=n.filter(o=>d.includes(o)?(l++,!1):!d.includes(o)),l},updateMany(t){let{model:i,where:n,update:d}=t,l=e[i],o=s(n,l,i);return o.forEach(m=>{Object.assign(m,d)}),o[0]||null}}};export{V as memoryAdapter};
1
+ import{z as r}from"zod";import{APIError as j}from"better-call";var $=r.object({id:r.string(),providerId:r.string(),accountId:r.string(),userId:r.string(),accessToken:r.string().nullish(),refreshToken:r.string().nullish(),idToken:r.string().nullish(),accessTokenExpiresAt:r.date().nullish(),refreshTokenExpiresAt:r.date().nullish(),scope:r.string().nullish(),password:r.string().nullish(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date)}),K=r.object({id:r.string(),email:r.string().transform(e=>e.toLowerCase()),emailVerified:r.boolean().default(!1),name:r.string(),image:r.string().nullish(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date)}),H=r.object({id:r.string(),userId:r.string(),expiresAt:r.date(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date),token:r.string(),ipAddress:r.string().nullish(),userAgent:r.string().nullish()}),W=r.object({id:r.string(),value:r.string(),createdAt:r.date().default(()=>new Date),updatedAt:r.date().default(()=>new Date),expiresAt:r.date(),identifier:r.string()});var h=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?h:globalThis),T=new Proxy(h,{get(e,a){return y()[a]??h[a]},has(e,a){let c=y();return a in c||a in h},set(e,a,c){let u=y(!0);return u[a]=c,!0},deleteProperty(e,a){if(!a)return!1;let c=y(!0);return delete c[a],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function R(e){return e?e!=="false":!1}var F=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var O=F==="test"||R(T.TEST);import{createRandomStringGenerator as D}from"@better-auth/utils/random";var x=e=>D("a-z","A-Z","0-9")(e||32);import{z as Pe}from"zod";import{APIError as _e}from"better-call";import{createHash as ve}from"@better-auth/utils/hash";import{xchacha20poly1305 as ke}from"@noble/ciphers/chacha";import{bytesToHex as Fe,hexToBytes as Oe,utf8ToBytes as De}from"@noble/ciphers/utils";import{managedNonce as Ne}from"@noble/ciphers/webcrypto";import{scryptAsync as pe}from"@noble/hashes/scrypt";import{getRandomValues as ye}from"uncrypto";import{hex as Ae}from"@better-auth/utils/hex";import{createRandomStringGenerator as N}from"@better-auth/utils/random";var U=N("a-z","0-9","A-Z","-_");var w=["info","success","warn","error","debug"];function q(e,a){return w.indexOf(a)<=w.indexOf(e)}var p={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},S={info:p.fg.blue,success:p.fg.green,warn:p.fg.yellow,error:p.fg.red,debug:p.fg.magenta},L=(e,a)=>{let c=new Date().toISOString();return`${p.dim}${c}${p.reset} ${S[e]}${e.toUpperCase()}${p.reset} ${p.bright}Better Auth${p.reset} ${a}`},k=e=>{let a=e?.disabled!==!0,c=e?.level??"error",u=(s,f,t=[])=>{if(!a||!q(c,s))return;let i=L(s,f);if(!e||typeof e.log!="function"){s==="error"?console.error(i,...t):s==="warn"?console.warn(i,...t):console.log(i,...t);return}e.log(s==="success"?"info":s,i,...t)};return Object.fromEntries(w.map(s=>[s,(...[f,...t])=>u(s,f,t)]))},B=k();var g=e=>{let a=e.plugins?.reduce((n,d)=>{let l=d.schema;if(!l)return n;for(let[o,m]of Object.entries(l))n[o]={fields:{...n[o]?.fields,...m.fields},modelName:m.modelName||o};return n},{}),c=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:s,session:f,account:t,...i}=a||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...s?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...f?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...i,...c?u:{}}};import{z as yt}from"zod";import{Kysely as ht,MssqlDialect as xt}from"kysely";import{MysqlDialect as bt,PostgresDialect as vt,SqliteDialect as Tt}from"kysely";function b(e,a,c){return c==="update"?e:e==null&&a.defaultValue?typeof a.defaultValue=="function"?a.defaultValue():a.defaultValue:e}var P=e=>{let a=g(e);function c(u,s){return s==="id"?s:a[u].fields[s].fieldName||s}return{transformInput(u,s,f){let t=f==="update"?{}:{id:e.advanced?.generateId?e.advanced.generateId({model:s}):u.id||x()},i=a[s].fields;for(let n in i){let d=u[n];d===void 0&&!i[n].defaultValue||(t[i[n].fieldName||n]=b(d,i[n],f))}return t},transformOutput(u,s,f=[]){if(!u)return null;let t=u.id||u._id?f.length===0||f.includes("id")?{id:u.id}:{}:{},i=a[s].fields;for(let n in i){if(f.length&&!f.includes(n))continue;let d=i[n];d&&(t[n]=u[d.fieldName||n])}return t},convertWhereClause(u,s,f){return s.filter(t=>u.every(i=>{let{field:n,value:d,operator:l}=i,o=c(f,n);if(l==="in"){if(!Array.isArray(d))throw new Error("Value must be an array");return d.includes(t[o])}else return l==="contains"?t[o].includes(d):l==="starts_with"?t[o].startsWith(d):l==="ends_with"?t[o].endsWith(d):t[o]===d}))},getField:c}},V=e=>a=>{let{transformInput:c,transformOutput:u,convertWhereClause:s,getField:f}=P(a);return{id:"memory",create:async({model:t,data:i})=>{let n=c(i,t,"create");return e[t].push(n),u(n,t)},findOne:async({model:t,where:i,select:n})=>{let d=e[t],o=s(i,d,t)[0]||null;return u(o,t,n)},findMany:async({model:t,where:i,sortBy:n,limit:d,offset:l})=>{let o=e[t];return i&&(o=s(i,o,t)),n&&(o=o.sort((m,v)=>{let A=f(t,n.field);return n.direction==="asc"?m[A]>v[A]?1:-1:m[A]<v[A]?1:-1})),l!==void 0&&(o=o.slice(l)),d!==void 0&&(o=o.slice(0,d)),o.map(m=>u(m,t))},update:async({model:t,where:i,update:n})=>{let d=e[t],l=s(i,d,t);return l.forEach(o=>{Object.assign(o,c(n,t,"update"))}),u(l[0],t)},delete:async({model:t,where:i})=>{let n=e[t],d=s(i,n,t);e[t]=n.filter(l=>!d.includes(l))},deleteMany:async({model:t,where:i})=>{let n=e[t],d=s(i,n,t),l=0;return e[t]=n.filter(o=>d.includes(o)?(l++,!1):!d.includes(o)),l},updateMany(t){let{model:i,where:n,update:d}=t,l=e[i],o=s(n,l,i);return o.forEach(m=>{Object.assign(m,d)}),o[0]||null}}};export{V as memoryAdapter};
@@ -1 +1 @@
1
- "use strict";var T=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var M=(e,a)=>{for(var n in a)T(e,n,{get:a[n],enumerable:!0})},V=(e,a,n,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of L(a))!E.call(e,r)&&r!==n&&T(e,r,{get:()=>a[r],enumerable:!(c=B(a,r))||c.enumerable});return e};var P=e=>V(T({},"__esModule",{value:!0}),e);var ue={};M(ue,{mongodbAdapter:()=>de});module.exports=P(ue);var h=require("mongodb");var o=require("zod"),_=require("better-call"),fe=o.z.object({id:o.z.string(),providerId:o.z.string(),accountId:o.z.string(),userId:o.z.string(),accessToken:o.z.string().nullish(),refreshToken:o.z.string().nullish(),idToken:o.z.string().nullish(),accessTokenExpiresAt:o.z.date().nullish(),refreshTokenExpiresAt:o.z.date().nullish(),scope:o.z.string().nullish(),password:o.z.string().nullish(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date)}),pe=o.z.object({id:o.z.string(),email:o.z.string().transform(e=>e.toLowerCase()),emailVerified:o.z.boolean().default(!1),name:o.z.string(),image:o.z.string().nullish(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date)}),me=o.z.object({id:o.z.string(),userId:o.z.string(),expiresAt:o.z.date(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date),token:o.z.string(),ipAddress:o.z.string().nullish(),userAgent:o.z.string().nullish()}),ye=o.z.object({id:o.z.string(),value:o.z.string(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date),expiresAt:o.z.date(),identifier:o.z.string()});var b=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?b:globalThis),F=new Proxy(b,{get(e,a){return w()[a]??b[a]},has(e,a){let n=w();return a in n||a in b},set(e,a,n){let c=w(!0);return c[a]=n,!0},deleteProperty(e,a){if(!a)return!1;let n=w(!0);return delete n[a],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function C(e){return e?e!=="false":!1}var $=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var j=$==="test"||C(F.TEST);var K=require("@better-auth/utils/random");var Y=require("zod"),ee=require("better-call");var Z=require("@better-auth/utils/hash"),Q=require("@noble/ciphers/chacha"),k=require("@noble/ciphers/utils"),X=require("@noble/ciphers/webcrypto");var H=require("@noble/hashes/scrypt"),J=require("uncrypto"),z=require("@better-auth/utils/hex");var I=require("@better-auth/utils/random"),G=(0,I.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function te(e,a){return O.indexOf(a)<=O.indexOf(e)}var g={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},re={info:g.fg.blue,success:g.fg.green,warn:g.fg.yellow,error:g.fg.red,debug:g.fg.magenta},ne=(e,a)=>{let n=new Date().toISOString();return`${g.dim}${n}${g.reset} ${re[e]}${e.toUpperCase()}${g.reset} ${g.bright}Better Auth${g.reset} ${a}`},N=e=>{let a=e?.disabled!==!0,n=e?.level??"error",c=(r,s,t=[])=>{if(!a||!te(n,r))return;let i=ne(r,s);if(!e||typeof e.log!="function"){r==="error"?console.error(i,...t):r==="warn"?console.warn(i,...t):console.log(i,...t);return}e.log(r==="success"?"info":r,i,...t)};return Object.fromEntries(O.map(r=>[r,(...[s,...t])=>c(r,s,t)]))},se=N();var x=e=>{let a=e.plugins?.reduce((d,l)=>{let u=l.schema;if(!u)return d;for(let[f,A]of Object.entries(u))d[f]={fields:{...d[f]?.fields,...A.fields},modelName:A.modelName||f};return d},{}),n=e.rateLimit?.storage==="database",c={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:r,session:s,account:t,...i}=a||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...r?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...s?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...i,...n?c:{}}};var ie=require("zod");var S=require("kysely"),D=require("kysely");function v(e,a,n){return n==="update"?e:e==null&&a.defaultValue?typeof a.defaultValue=="function"?a.defaultValue():a.defaultValue:e}var oe=e=>{let a=x(e);function n(s,t,i){if(s==="id"||s==="_id"||a[i].fields[s].references?.field==="id"){if(typeof t!="string"){if(t instanceof h.ObjectId)return t;if(Array.isArray(t))return t.map(d=>{if(typeof d=="string")try{return new h.ObjectId(d)}catch{return d}if(d instanceof h.ObjectId)return d;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new h.ObjectId(t)}catch{return t}}return t}function c(s,t,i){return s==="id"||a[i].fields[s].references?.field==="id"?t instanceof h.ObjectId?t.toHexString():Array.isArray(t)?t.map(d=>d instanceof h.ObjectId?d.toHexString():d):t:t}function r(s,t){return s==="id"?"_id":a[t].fields[s].fieldName||s}return{transformInput(s,t,i){let d=i==="update"?{}:{_id:new h.ObjectId},l=a[t].fields;for(let u in l){let f=s[u];f===void 0&&(!l[u].defaultValue||i==="update")||(d[l[u].fieldName||u]=v(n(u,f,t),l[u],i))}return d},transformOutput(s,t,i=[]){let d=s.id||s._id?i.length===0||i.includes("id")?{id:s.id?s.id.toString():s._id.toString()}:{}:{},l=a[t].fields;for(let u in l){if(i.length&&!i.includes(u))continue;let f=l[u];f&&(d[u]=c(u,s[f.fieldName||u],t))}return d},convertWhereClause(s,t){if(!s.length)return{};let i=s.map(f=>{let{field:A,value:p,operator:R="eq",connector:q="AND"}=f,m,y=r(A,t);switch(R.toLowerCase()){case"eq":m={[y]:n(A,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?n(A,p,t):[n(A,p,t)]}};break;case"gt":m={[y]:{$gt:p}};break;case"gte":m={[y]:{$gte:p}};break;case"lt":m={[y]:{$lt:p}};break;case"lte":m={[y]:{$lte:p}};break;case"ne":m={[y]:{$ne:p}};break;case"contains":m={[y]:{$regex:`.*${p}.*`}};break;case"starts_with":m={[y]:{$regex:`${p}.*`}};break;case"ends_with":m={[y]:{$regex:`.*${p}`}};break;default:throw new Error(`Unsupported operator: ${R}`)}return{condition:m,connector:q}});if(i.length===1)return i[0].condition;let d=i.filter(f=>f.connector==="AND").map(f=>f.condition),l=i.filter(f=>f.connector==="OR").map(f=>f.condition),u={};return d.length&&(u={...u,$and:d}),l.length&&(u={...u,$or:l}),u},getModelName:s=>a[s].modelName,getField:r}},de=e=>a=>{let n=oe(a);return{id:"mongodb-adapter",async create(c){let{model:r,data:s,select:t}=c,i=n.transformInput(s,r,"create");i.id&&delete i.id;let l=(await e.collection(n.getModelName(r)).insertOne(i)).insertedId,u={...i,id:l.toString()};return n.transformOutput(u,r,t)},async findOne(c){let{model:r,where:s,select:t}=c,i=n.convertWhereClause(s,r),d=await e.collection(n.getModelName(r)).findOne(i);return d?n.transformOutput(d,r,t):null},async findMany(c){let{model:r,where:s,limit:t,offset:i,sortBy:d}=c,l=s?n.convertWhereClause(s,r):{},u=e.collection(n.getModelName(r)).find(l);return t&&u.limit(t),i&&u.skip(i),d&&u.sort(n.getField(d.field,r),d.direction==="desc"?-1:1),(await u.toArray()).map(A=>n.transformOutput(A,r))},async update(c){let{model:r,where:s,update:t}=c,i=n.convertWhereClause(s,r),d=n.transformInput(t,r,"update"),l=await e.collection(n.getModelName(r)).findOneAndUpdate(i,{$set:d},{returnDocument:"after"});return l?n.transformOutput(l,r):null},async updateMany(c){let{model:r,where:s,update:t}=c,i=n.convertWhereClause(s,r),d=n.transformInput(t,r,"update");return(await e.collection(n.getModelName(r)).updateMany(i,{$set:d})).modifiedCount},async delete(c){let{model:r,where:s}=c,t=n.convertWhereClause(s,r),i=await e.collection(n.getModelName(r)).findOneAndDelete(t);return i?n.transformOutput(i,r):null},async deleteMany(c){let{model:r,where:s}=c,t=n.convertWhereClause(s,r);return(await e.collection(n.getModelName(r)).deleteMany(t)).deletedCount}}};0&&(module.exports={mongodbAdapter});
1
+ "use strict";var T=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var M=(e,a)=>{for(var n in a)T(e,n,{get:a[n],enumerable:!0})},V=(e,a,n,c)=>{if(a&&typeof a=="object"||typeof a=="function")for(let r of L(a))!E.call(e,r)&&r!==n&&T(e,r,{get:()=>a[r],enumerable:!(c=B(a,r))||c.enumerable});return e};var P=e=>V(T({},"__esModule",{value:!0}),e);var ue={};M(ue,{mongodbAdapter:()=>de});module.exports=P(ue);var h=require("mongodb");var o=require("zod"),_=require("better-call"),fe=o.z.object({id:o.z.string(),providerId:o.z.string(),accountId:o.z.string(),userId:o.z.string(),accessToken:o.z.string().nullish(),refreshToken:o.z.string().nullish(),idToken:o.z.string().nullish(),accessTokenExpiresAt:o.z.date().nullish(),refreshTokenExpiresAt:o.z.date().nullish(),scope:o.z.string().nullish(),password:o.z.string().nullish(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date)}),pe=o.z.object({id:o.z.string(),email:o.z.string().transform(e=>e.toLowerCase()),emailVerified:o.z.boolean().default(!1),name:o.z.string(),image:o.z.string().nullish(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date)}),me=o.z.object({id:o.z.string(),userId:o.z.string(),expiresAt:o.z.date(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date),token:o.z.string(),ipAddress:o.z.string().nullish(),userAgent:o.z.string().nullish()}),ye=o.z.object({id:o.z.string(),value:o.z.string(),createdAt:o.z.date().default(()=>new Date),updatedAt:o.z.date().default(()=>new Date),expiresAt:o.z.date(),identifier:o.z.string()});var b=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?b:globalThis),I=new Proxy(b,{get(e,a){return w()[a]??b[a]},has(e,a){let n=w();return a in n||a in b},set(e,a,n){let c=w(!0);return c[a]=n,!0},deleteProperty(e,a){if(!a)return!1;let n=w(!0);return delete n[a],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function C(e){return e?e!=="false":!1}var $=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var j=$==="test"||C(I.TEST);var K=require("@better-auth/utils/random");var Y=require("zod"),ee=require("better-call");var Z=require("@better-auth/utils/hash"),Q=require("@noble/ciphers/chacha"),k=require("@noble/ciphers/utils"),X=require("@noble/ciphers/webcrypto");var H=require("@noble/hashes/scrypt"),z=require("uncrypto"),J=require("@better-auth/utils/hex");var F=require("@better-auth/utils/random"),G=(0,F.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function te(e,a){return O.indexOf(a)<=O.indexOf(e)}var g={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},re={info:g.fg.blue,success:g.fg.green,warn:g.fg.yellow,error:g.fg.red,debug:g.fg.magenta},ne=(e,a)=>{let n=new Date().toISOString();return`${g.dim}${n}${g.reset} ${re[e]}${e.toUpperCase()}${g.reset} ${g.bright}Better Auth${g.reset} ${a}`},N=e=>{let a=e?.disabled!==!0,n=e?.level??"error",c=(r,i,t=[])=>{if(!a||!te(n,r))return;let s=ne(r,i);if(!e||typeof e.log!="function"){r==="error"?console.error(s,...t):r==="warn"?console.warn(s,...t):console.log(s,...t);return}e.log(r==="success"?"info":r,s,...t)};return Object.fromEntries(O.map(r=>[r,(...[i,...t])=>c(r,i,t)]))},ie=N();var x=e=>{let a=e.plugins?.reduce((d,l)=>{let u=l.schema;if(!u)return d;for(let[f,A]of Object.entries(u))d[f]={fields:{...d[f]?.fields,...A.fields},modelName:A.modelName||f};return d},{}),n=e.rateLimit?.storage==="database",c={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:r,session:i,account:t,...s}=a||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...r?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...i?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...s,...n?c:{}}};var se=require("zod");var S=require("kysely"),D=require("kysely");function v(e,a,n){return n==="update"?e:e==null&&a.defaultValue?typeof a.defaultValue=="function"?a.defaultValue():a.defaultValue:e}var oe=e=>{let a=x(e);function n(i,t,s){if(i==="id"||i==="_id"||a[s].fields[i].references?.field==="id"){if(typeof t!="string"){if(t instanceof h.ObjectId)return t;if(Array.isArray(t))return t.map(d=>{if(typeof d=="string")try{return new h.ObjectId(d)}catch{return d}if(d instanceof h.ObjectId)return d;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new h.ObjectId(t)}catch{return t}}return t}function c(i,t,s){return i==="id"||a[s].fields[i].references?.field==="id"?t instanceof h.ObjectId?t.toHexString():Array.isArray(t)?t.map(d=>d instanceof h.ObjectId?d.toHexString():d):t:t}function r(i,t){return i==="id"?"_id":a[t].fields[i].fieldName||i}return{transformInput(i,t,s){let d=s==="update"?{}:{_id:new h.ObjectId},l=a[t].fields;for(let u in l){let f=i[u];f===void 0&&(!l[u].defaultValue||s==="update")||(d[l[u].fieldName||u]=v(n(u,f,t),l[u],s))}return d},transformOutput(i,t,s=[]){let d=i.id||i._id?s.length===0||s.includes("id")?{id:i.id?i.id.toString():i._id.toString()}:{}:{},l=a[t].fields;for(let u in l){if(s.length&&!s.includes(u))continue;let f=l[u];f&&(d[u]=c(u,i[f.fieldName||u],t))}return d},convertWhereClause(i,t){if(!i.length)return{};let s=i.map(f=>{let{field:A,value:p,operator:R="eq",connector:q="AND"}=f,m,y=r(A,t);switch(R.toLowerCase()){case"eq":m={[y]:n(A,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?n(A,p,t):[n(A,p,t)]}};break;case"gt":m={[y]:{$gt:p}};break;case"gte":m={[y]:{$gte:p}};break;case"lt":m={[y]:{$lt:p}};break;case"lte":m={[y]:{$lte:p}};break;case"ne":m={[y]:{$ne:p}};break;case"contains":m={[y]:{$regex:`.*${p}.*`}};break;case"starts_with":m={[y]:{$regex:`${p}.*`}};break;case"ends_with":m={[y]:{$regex:`.*${p}`}};break;default:throw new Error(`Unsupported operator: ${R}`)}return{condition:m,connector:q}});if(s.length===1)return s[0].condition;let d=s.filter(f=>f.connector==="AND").map(f=>f.condition),l=s.filter(f=>f.connector==="OR").map(f=>f.condition),u={};return d.length&&(u={...u,$and:d}),l.length&&(u={...u,$or:l}),u},getModelName:i=>a[i].modelName,getField:r}},de=e=>a=>{let n=oe(a);return{id:"mongodb-adapter",async create(c){let{model:r,data:i,select:t}=c,s=n.transformInput(i,r,"create");s.id&&delete s.id;let l=(await e.collection(n.getModelName(r)).insertOne(s)).insertedId,u={...s,id:l.toString()};return n.transformOutput(u,r,t)},async findOne(c){let{model:r,where:i,select:t}=c,s=n.convertWhereClause(i,r),d=await e.collection(n.getModelName(r)).findOne(s);return d?n.transformOutput(d,r,t):null},async findMany(c){let{model:r,where:i,limit:t,offset:s,sortBy:d}=c,l=i?n.convertWhereClause(i,r):{},u=e.collection(n.getModelName(r)).find(l);return t&&u.limit(t),s&&u.skip(s),d&&u.sort(n.getField(d.field,r),d.direction==="desc"?-1:1),(await u.toArray()).map(A=>n.transformOutput(A,r))},async update(c){let{model:r,where:i,update:t}=c,s=n.convertWhereClause(i,r),d=n.transformInput(t,r,"update"),l=await e.collection(n.getModelName(r)).findOneAndUpdate(s,{$set:d},{returnDocument:"after"});return l?n.transformOutput(l,r):null},async updateMany(c){let{model:r,where:i,update:t}=c,s=n.convertWhereClause(i,r),d=n.transformInput(t,r,"update");return(await e.collection(n.getModelName(r)).updateMany(s,{$set:d})).modifiedCount},async delete(c){let{model:r,where:i}=c,t=n.convertWhereClause(i,r),s=await e.collection(n.getModelName(r)).findOneAndDelete(t);return s?n.transformOutput(s,r):null},async deleteMany(c){let{model:r,where:i}=c,t=n.convertWhereClause(i,r);return(await e.collection(n.getModelName(r)).deleteMany(t)).deletedCount}}};0&&(module.exports={mongodbAdapter});
@@ -1 +1 @@
1
- import{ObjectId as h}from"mongodb";import{z as a}from"zod";import{APIError as K}from"better-call";var W=a.object({id:a.string(),providerId:a.string(),accountId:a.string(),userId:a.string(),accessToken:a.string().nullish(),refreshToken:a.string().nullish(),idToken:a.string().nullish(),accessTokenExpiresAt:a.date().nullish(),refreshTokenExpiresAt:a.date().nullish(),scope:a.string().nullish(),password:a.string().nullish(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date)}),H=a.object({id:a.string(),email:a.string().transform(e=>e.toLowerCase()),emailVerified:a.boolean().default(!1),name:a.string(),image:a.string().nullish(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date)}),J=a.object({id:a.string(),userId:a.string(),expiresAt:a.date(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date),token:a.string(),ipAddress:a.string().nullish(),userAgent:a.string().nullish()}),z=a.object({id:a.string(),value:a.string(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date),expiresAt:a.date(),identifier:a.string()});var b=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?b:globalThis),O=new Proxy(b,{get(e,d){return w()[d]??b[d]},has(e,d){let i=w();return d in i||d in b},set(e,d,i){let l=w(!0);return l[d]=i,!0},deleteProperty(e,d){if(!d)return!1;let i=w(!0);return delete i[d],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function I(e){return e?e!=="false":!1}var N=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var U=N==="test"||I(O.TEST);import{createRandomStringGenerator as ae}from"@better-auth/utils/random";import{z as Ce}from"zod";import{APIError as je}from"better-call";import{createHash as Oe}from"@better-auth/utils/hash";import{xchacha20poly1305 as Re}from"@noble/ciphers/chacha";import{bytesToHex as Ie,hexToBytes as Ne,utf8ToBytes as Ue}from"@noble/ciphers/utils";import{managedNonce as qe}from"@noble/ciphers/webcrypto";import{scryptAsync as ge}from"@noble/hashes/scrypt";import{getRandomValues as he}from"uncrypto";import{hex as we}from"@better-auth/utils/hex";import{createRandomStringGenerator as q}from"@better-auth/utils/random";var B=q("a-z","0-9","A-Z","-_");var T=["info","success","warn","error","debug"];function L(e,d){return T.indexOf(d)<=T.indexOf(e)}var g={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},E={info:g.fg.blue,success:g.fg.green,warn:g.fg.yellow,error:g.fg.red,debug:g.fg.magenta},M=(e,d)=>{let i=new Date().toISOString();return`${g.dim}${i}${g.reset} ${E[e]}${e.toUpperCase()}${g.reset} ${g.bright}Better Auth${g.reset} ${d}`},D=e=>{let d=e?.disabled!==!0,i=e?.level??"error",l=(n,r,t=[])=>{if(!d||!L(i,n))return;let s=M(n,r);if(!e||typeof e.log!="function"){n==="error"?console.error(s,...t):n==="warn"?console.warn(s,...t):console.log(s,...t);return}e.log(n==="success"?"info":n,s,...t)};return Object.fromEntries(T.map(n=>[n,(...[r,...t])=>l(n,r,t)]))},V=D();var x=e=>{let d=e.plugins?.reduce((o,c)=>{let u=c.schema;if(!u)return o;for(let[f,A]of Object.entries(u))o[f]={fields:{...o[f]?.fields,...A.fields},modelName:A.modelName||f};return o},{}),i=e.rateLimit?.storage==="database",l={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:n,session:r,account:t,...s}=d||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...n?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...r?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...s,...i?l:{}}};import{z as ht}from"zod";import{Kysely as bt,MssqlDialect as vt}from"kysely";import{MysqlDialect as kt,PostgresDialect as Ot,SqliteDialect as Dt}from"kysely";function v(e,d,i){return i==="update"?e:e==null&&d.defaultValue?typeof d.defaultValue=="function"?d.defaultValue():d.defaultValue:e}var _=e=>{let d=x(e);function i(r,t,s){if(r==="id"||r==="_id"||d[s].fields[r].references?.field==="id"){if(typeof t!="string"){if(t instanceof h)return t;if(Array.isArray(t))return t.map(o=>{if(typeof o=="string")try{return new h(o)}catch{return o}if(o instanceof h)return o;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new h(t)}catch{return t}}return t}function l(r,t,s){return r==="id"||d[s].fields[r].references?.field==="id"?t instanceof h?t.toHexString():Array.isArray(t)?t.map(o=>o instanceof h?o.toHexString():o):t:t}function n(r,t){return r==="id"?"_id":d[t].fields[r].fieldName||r}return{transformInput(r,t,s){let o=s==="update"?{}:{_id:new h},c=d[t].fields;for(let u in c){let f=r[u];f===void 0&&(!c[u].defaultValue||s==="update")||(o[c[u].fieldName||u]=v(i(u,f,t),c[u],s))}return o},transformOutput(r,t,s=[]){let o=r.id||r._id?s.length===0||s.includes("id")?{id:r.id?r.id.toString():r._id.toString()}:{}:{},c=d[t].fields;for(let u in c){if(s.length&&!s.includes(u))continue;let f=c[u];f&&(o[u]=l(u,r[f.fieldName||u],t))}return o},convertWhereClause(r,t){if(!r.length)return{};let s=r.map(f=>{let{field:A,value:p,operator:k="eq",connector:F="AND"}=f,m,y=n(A,t);switch(k.toLowerCase()){case"eq":m={[y]:i(A,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?i(A,p,t):[i(A,p,t)]}};break;case"gt":m={[y]:{$gt:p}};break;case"gte":m={[y]:{$gte:p}};break;case"lt":m={[y]:{$lt:p}};break;case"lte":m={[y]:{$lte:p}};break;case"ne":m={[y]:{$ne:p}};break;case"contains":m={[y]:{$regex:`.*${p}.*`}};break;case"starts_with":m={[y]:{$regex:`${p}.*`}};break;case"ends_with":m={[y]:{$regex:`.*${p}`}};break;default:throw new Error(`Unsupported operator: ${k}`)}return{condition:m,connector:F}});if(s.length===1)return s[0].condition;let o=s.filter(f=>f.connector==="AND").map(f=>f.condition),c=s.filter(f=>f.connector==="OR").map(f=>f.condition),u={};return o.length&&(u={...u,$and:o}),c.length&&(u={...u,$or:c}),u},getModelName:r=>d[r].modelName,getField:n}},Ar=e=>d=>{let i=_(d);return{id:"mongodb-adapter",async create(l){let{model:n,data:r,select:t}=l,s=i.transformInput(r,n,"create");s.id&&delete s.id;let c=(await e.collection(i.getModelName(n)).insertOne(s)).insertedId,u={...s,id:c.toString()};return i.transformOutput(u,n,t)},async findOne(l){let{model:n,where:r,select:t}=l,s=i.convertWhereClause(r,n),o=await e.collection(i.getModelName(n)).findOne(s);return o?i.transformOutput(o,n,t):null},async findMany(l){let{model:n,where:r,limit:t,offset:s,sortBy:o}=l,c=r?i.convertWhereClause(r,n):{},u=e.collection(i.getModelName(n)).find(c);return t&&u.limit(t),s&&u.skip(s),o&&u.sort(i.getField(o.field,n),o.direction==="desc"?-1:1),(await u.toArray()).map(A=>i.transformOutput(A,n))},async update(l){let{model:n,where:r,update:t}=l,s=i.convertWhereClause(r,n),o=i.transformInput(t,n,"update"),c=await e.collection(i.getModelName(n)).findOneAndUpdate(s,{$set:o},{returnDocument:"after"});return c?i.transformOutput(c,n):null},async updateMany(l){let{model:n,where:r,update:t}=l,s=i.convertWhereClause(r,n),o=i.transformInput(t,n,"update");return(await e.collection(i.getModelName(n)).updateMany(s,{$set:o})).modifiedCount},async delete(l){let{model:n,where:r}=l,t=i.convertWhereClause(r,n),s=await e.collection(i.getModelName(n)).findOneAndDelete(t);return s?i.transformOutput(s,n):null},async deleteMany(l){let{model:n,where:r}=l,t=i.convertWhereClause(r,n);return(await e.collection(i.getModelName(n)).deleteMany(t)).deletedCount}}};export{Ar as mongodbAdapter};
1
+ import{ObjectId as h}from"mongodb";import{z as a}from"zod";import{APIError as K}from"better-call";var W=a.object({id:a.string(),providerId:a.string(),accountId:a.string(),userId:a.string(),accessToken:a.string().nullish(),refreshToken:a.string().nullish(),idToken:a.string().nullish(),accessTokenExpiresAt:a.date().nullish(),refreshTokenExpiresAt:a.date().nullish(),scope:a.string().nullish(),password:a.string().nullish(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date)}),H=a.object({id:a.string(),email:a.string().transform(e=>e.toLowerCase()),emailVerified:a.boolean().default(!1),name:a.string(),image:a.string().nullish(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date)}),z=a.object({id:a.string(),userId:a.string(),expiresAt:a.date(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date),token:a.string(),ipAddress:a.string().nullish(),userAgent:a.string().nullish()}),J=a.object({id:a.string(),value:a.string(),createdAt:a.date().default(()=>new Date),updatedAt:a.date().default(()=>new Date),expiresAt:a.date(),identifier:a.string()});var b=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?b:globalThis),O=new Proxy(b,{get(e,d){return w()[d]??b[d]},has(e,d){let s=w();return d in s||d in b},set(e,d,s){let l=w(!0);return l[d]=s,!0},deleteProperty(e,d){if(!d)return!1;let s=w(!0);return delete s[d],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function F(e){return e?e!=="false":!1}var N=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var U=N==="test"||F(O.TEST);import{createRandomStringGenerator as ae}from"@better-auth/utils/random";import{z as Ce}from"zod";import{APIError as je}from"better-call";import{createHash as Oe}from"@better-auth/utils/hash";import{xchacha20poly1305 as Re}from"@noble/ciphers/chacha";import{bytesToHex as Fe,hexToBytes as Ne,utf8ToBytes as Ue}from"@noble/ciphers/utils";import{managedNonce as qe}from"@noble/ciphers/webcrypto";import{scryptAsync as ge}from"@noble/hashes/scrypt";import{getRandomValues as he}from"uncrypto";import{hex as we}from"@better-auth/utils/hex";import{createRandomStringGenerator as q}from"@better-auth/utils/random";var B=q("a-z","0-9","A-Z","-_");var T=["info","success","warn","error","debug"];function L(e,d){return T.indexOf(d)<=T.indexOf(e)}var g={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},E={info:g.fg.blue,success:g.fg.green,warn:g.fg.yellow,error:g.fg.red,debug:g.fg.magenta},M=(e,d)=>{let s=new Date().toISOString();return`${g.dim}${s}${g.reset} ${E[e]}${e.toUpperCase()}${g.reset} ${g.bright}Better Auth${g.reset} ${d}`},D=e=>{let d=e?.disabled!==!0,s=e?.level??"error",l=(n,r,t=[])=>{if(!d||!L(s,n))return;let i=M(n,r);if(!e||typeof e.log!="function"){n==="error"?console.error(i,...t):n==="warn"?console.warn(i,...t):console.log(i,...t);return}e.log(n==="success"?"info":n,i,...t)};return Object.fromEntries(T.map(n=>[n,(...[r,...t])=>l(n,r,t)]))},V=D();var x=e=>{let d=e.plugins?.reduce((o,c)=>{let u=c.schema;if(!u)return o;for(let[f,A]of Object.entries(u))o[f]={fields:{...o[f]?.fields,...A.fields},modelName:A.modelName||f};return o},{}),s=e.rateLimit?.storage==="database",l={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:n,session:r,account:t,...i}=d||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...n?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...r?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...t?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...i,...s?l:{}}};import{z as ht}from"zod";import{Kysely as bt,MssqlDialect as vt}from"kysely";import{MysqlDialect as kt,PostgresDialect as Ot,SqliteDialect as Dt}from"kysely";function v(e,d,s){return s==="update"?e:e==null&&d.defaultValue?typeof d.defaultValue=="function"?d.defaultValue():d.defaultValue:e}var _=e=>{let d=x(e);function s(r,t,i){if(r==="id"||r==="_id"||d[i].fields[r].references?.field==="id"){if(typeof t!="string"){if(t instanceof h)return t;if(Array.isArray(t))return t.map(o=>{if(typeof o=="string")try{return new h(o)}catch{return o}if(o instanceof h)return o;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new h(t)}catch{return t}}return t}function l(r,t,i){return r==="id"||d[i].fields[r].references?.field==="id"?t instanceof h?t.toHexString():Array.isArray(t)?t.map(o=>o instanceof h?o.toHexString():o):t:t}function n(r,t){return r==="id"?"_id":d[t].fields[r].fieldName||r}return{transformInput(r,t,i){let o=i==="update"?{}:{_id:new h},c=d[t].fields;for(let u in c){let f=r[u];f===void 0&&(!c[u].defaultValue||i==="update")||(o[c[u].fieldName||u]=v(s(u,f,t),c[u],i))}return o},transformOutput(r,t,i=[]){let o=r.id||r._id?i.length===0||i.includes("id")?{id:r.id?r.id.toString():r._id.toString()}:{}:{},c=d[t].fields;for(let u in c){if(i.length&&!i.includes(u))continue;let f=c[u];f&&(o[u]=l(u,r[f.fieldName||u],t))}return o},convertWhereClause(r,t){if(!r.length)return{};let i=r.map(f=>{let{field:A,value:p,operator:k="eq",connector:I="AND"}=f,m,y=n(A,t);switch(k.toLowerCase()){case"eq":m={[y]:s(A,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?s(A,p,t):[s(A,p,t)]}};break;case"gt":m={[y]:{$gt:p}};break;case"gte":m={[y]:{$gte:p}};break;case"lt":m={[y]:{$lt:p}};break;case"lte":m={[y]:{$lte:p}};break;case"ne":m={[y]:{$ne:p}};break;case"contains":m={[y]:{$regex:`.*${p}.*`}};break;case"starts_with":m={[y]:{$regex:`${p}.*`}};break;case"ends_with":m={[y]:{$regex:`.*${p}`}};break;default:throw new Error(`Unsupported operator: ${k}`)}return{condition:m,connector:I}});if(i.length===1)return i[0].condition;let o=i.filter(f=>f.connector==="AND").map(f=>f.condition),c=i.filter(f=>f.connector==="OR").map(f=>f.condition),u={};return o.length&&(u={...u,$and:o}),c.length&&(u={...u,$or:c}),u},getModelName:r=>d[r].modelName,getField:n}},Ar=e=>d=>{let s=_(d);return{id:"mongodb-adapter",async create(l){let{model:n,data:r,select:t}=l,i=s.transformInput(r,n,"create");i.id&&delete i.id;let c=(await e.collection(s.getModelName(n)).insertOne(i)).insertedId,u={...i,id:c.toString()};return s.transformOutput(u,n,t)},async findOne(l){let{model:n,where:r,select:t}=l,i=s.convertWhereClause(r,n),o=await e.collection(s.getModelName(n)).findOne(i);return o?s.transformOutput(o,n,t):null},async findMany(l){let{model:n,where:r,limit:t,offset:i,sortBy:o}=l,c=r?s.convertWhereClause(r,n):{},u=e.collection(s.getModelName(n)).find(c);return t&&u.limit(t),i&&u.skip(i),o&&u.sort(s.getField(o.field,n),o.direction==="desc"?-1:1),(await u.toArray()).map(A=>s.transformOutput(A,n))},async update(l){let{model:n,where:r,update:t}=l,i=s.convertWhereClause(r,n),o=s.transformInput(t,n,"update"),c=await e.collection(s.getModelName(n)).findOneAndUpdate(i,{$set:o},{returnDocument:"after"});return c?s.transformOutput(c,n):null},async updateMany(l){let{model:n,where:r,update:t}=l,i=s.convertWhereClause(r,n),o=s.transformInput(t,n,"update");return(await e.collection(s.getModelName(n)).updateMany(i,{$set:o})).modifiedCount},async delete(l){let{model:n,where:r}=l,t=s.convertWhereClause(r,n),i=await e.collection(s.getModelName(n)).findOneAndDelete(t);return i?s.transformOutput(i,n):null},async deleteMany(l){let{model:n,where:r}=l,t=s.convertWhereClause(r,n);return(await e.collection(s.getModelName(n)).deleteMany(t)).deletedCount}}};export{Ar as mongodbAdapter};
@@ -1 +1 @@
1
- "use strict";var R=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var M=(e,n)=>{for(var d in n)R(e,d,{get:n[d],enumerable:!0})},V=(e,n,d,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of P(n))!E.call(e,l)&&l!==d&&R(e,l,{get:()=>n[l],enumerable:!(u=L(n,l))||u.enumerable});return e};var C=e=>V(R({},"__esModule",{value:!0}),e);var de={};M(de,{prismaAdapter:()=>oe});module.exports=C(de);var s=require("zod"),_=require("better-call"),fe=s.z.object({id:s.z.string(),providerId:s.z.string(),accountId:s.z.string(),userId:s.z.string(),accessToken:s.z.string().nullish(),refreshToken:s.z.string().nullish(),idToken:s.z.string().nullish(),accessTokenExpiresAt:s.z.date().nullish(),refreshTokenExpiresAt:s.z.date().nullish(),scope:s.z.string().nullish(),password:s.z.string().nullish(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date)}),pe=s.z.object({id:s.z.string(),email:s.z.string().transform(e=>e.toLowerCase()),emailVerified:s.z.boolean().default(!1),name:s.z.string(),image:s.z.string().nullish(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date)}),me=s.z.object({id:s.z.string(),userId:s.z.string(),expiresAt:s.z.date(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date),token:s.z.string(),ipAddress:s.z.string().nullish(),userAgent:s.z.string().nullish()}),ye=s.z.object({id:s.z.string(),value:s.z.string(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date),expiresAt:s.z.date(),identifier:s.z.string()});var T=Object.create(null),b=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?T:globalThis),D=new Proxy(T,{get(e,n){return b()[n]??T[n]},has(e,n){let d=b();return n in d||n in T},set(e,n,d){let u=b(!0);return u[n]=d,!0},deleteProperty(e,n){if(!n)return!1;let d=b(!0);return delete d[n],!0},ownKeys(){let e=b(!0);return Object.keys(e)}});function $(e){return e?e!=="false":!1}var j=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var K=j==="test"||$(D.TEST);var N=require("@better-auth/utils/random"),v=e=>(0,N.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var X=require("zod"),Y=require("better-call");var A=class extends Error{constructor(n,d){super(n),this.name="BetterAuthError",this.message=n,this.cause=d,this.stack=""}};var z=require("@better-auth/utils/hash"),Z=require("@noble/ciphers/chacha"),O=require("@noble/ciphers/utils"),Q=require("@noble/ciphers/webcrypto");var H=require("@noble/hashes/scrypt"),W=require("uncrypto"),J=require("@better-auth/utils/hex");var U=require("@better-auth/utils/random"),G=(0,U.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var I=["info","success","warn","error","debug"];function ee(e,n){return I.indexOf(n)<=I.indexOf(e)}var h={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},te={info:h.fg.blue,success:h.fg.green,warn:h.fg.yellow,error:h.fg.red,debug:h.fg.magenta},re=(e,n)=>{let d=new Date().toISOString();return`${h.dim}${d}${h.reset} ${te[e]}${e.toUpperCase()}${h.reset} ${h.bright}Better Auth${h.reset} ${n}`},q=e=>{let n=e?.disabled!==!0,d=e?.level??"error",u=(l,y,f=[])=>{if(!n||!ee(d,l))return;let a=re(l,y);if(!e||typeof e.log!="function"){l==="error"?console.error(a,...f):l==="warn"?console.warn(a,...f):console.log(a,...f);return}e.log(l==="success"?"info":l,a,...f)};return Object.fromEntries(I.map(l=>[l,(...[y,...f])=>u(l,y,f)]))},ne=q();var w=e=>{let n=e.plugins?.reduce((i,p)=>{let c=p.schema;if(!c)return i;for(let[t,o]of Object.entries(c))i[t]={fields:{...i[t]?.fields,...o.fields},modelName:o.modelName||t};return i},{}),d=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:l,session:y,account:f,...a}=n||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...l?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...y?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...f?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...a,...d?u:{}}};var se=require("zod");var S=require("kysely"),F=require("kysely");function k(e,n,d){return d==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var ae=(e,n)=>{let d=w(n);function u(a,i){return i==="id"?i:d[a].fields[i].fieldName||i}function l(a){switch(a){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return a}}function y(a){return d[a].modelName}let f=n?.advanced?.generateId===!1;return{transformInput(a,i,p){let c=f||p==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:i}):a.id||v()},t=d[i].fields;for(let o in t){let r=a[o];r===void 0&&(!t[o].defaultValue||p==="update")||(c[t[o].fieldName||o]=k(r,t[o],p))}return c},transformOutput(a,i,p=[]){if(!a)return null;let c=a.id||a._id?p.length===0||p.includes("id")?{id:a.id}:{}:{},t=d[i].fields;for(let o in t){if(p.length&&!p.includes(o))continue;let r=t[o];r&&(c[o]=a[r.fieldName||o])}return c},convertWhereClause(a,i){if(!i)return{};if(i.length===1){let r=i[0];return r?{[u(a,r.field)]:r.operator==="eq"||!r.operator?r.value:{[l(r.operator)]:r.value}}:void 0}let p=i.filter(r=>r.connector==="AND"||!r.connector),c=i.filter(r=>r.connector==="OR"),t=p.map(r=>({[u(a,r.field)]:r.operator==="eq"||!r.operator?r.value:{[l(r.operator)]:r.value}})),o=c.map(r=>({[u(a,r.field)]:{[r.operator||"eq"]:r.value}}));return{...t.length?{AND:t}:{},...o.length?{OR:o}:{}}},convertSelect:(a,i)=>{if(!(!a||!i))return a.reduce((p,c)=>({...p,[u(i,c)]:!0}),{})},getModelName:y,getField:u}},oe=(e,n)=>d=>{let u=e,{transformInput:l,transformOutput:y,convertWhereClause:f,convertSelect:a,getModelName:i,getField:p}=ae(n,d);return{id:"prisma",async create(c){let{model:t,data:o,select:r}=c,m=l(o,t,"create");if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].create({data:m,select:a(r,t)});return y(g,t,r)},async findOne(c){let{model:t,where:o,select:r}=c,m=f(t,o);if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].findFirst({where:m,select:a(r,t)});return y(g,t,r)},async findMany(c){let{model:t,where:o,limit:r,offset:m,sortBy:g}=c,x=f(t,o);if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[i(t)].findMany({where:x,take:r||100,skip:m||0,...g?.field?{orderBy:{[p(t,g.field)]:g.direction==="desc"?"desc":"asc"}}:{}})).map(B=>y(B,t))},async update(c){let{model:t,where:o,update:r}=c;if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let m=f(t,o),g=l(r,t,"update"),x=await u[i(t)].update({where:m,data:g});return y(x,t)},async updateMany(c){let{model:t,where:o,update:r}=c,m=f(t,o),g=l(r,t,"update"),x=await u[i(t)].updateMany({where:m,data:g});return x?x.count:0},async delete(c){let{model:t,where:o}=c,r=f(t,o);try{await u[i(t)].delete({where:r})}catch{}},async deleteMany(c){let{model:t,where:o}=c,r=f(t,o),m=await u[i(t)].deleteMany({where:r});return m?m.count:0},options:n}};0&&(module.exports={prismaAdapter});
1
+ "use strict";var R=Object.defineProperty;var L=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var M=(e,n)=>{for(var d in n)R(e,d,{get:n[d],enumerable:!0})},V=(e,n,d,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of P(n))!E.call(e,l)&&l!==d&&R(e,l,{get:()=>n[l],enumerable:!(u=L(n,l))||u.enumerable});return e};var C=e=>V(R({},"__esModule",{value:!0}),e);var de={};M(de,{prismaAdapter:()=>oe});module.exports=C(de);var s=require("zod"),_=require("better-call"),fe=s.z.object({id:s.z.string(),providerId:s.z.string(),accountId:s.z.string(),userId:s.z.string(),accessToken:s.z.string().nullish(),refreshToken:s.z.string().nullish(),idToken:s.z.string().nullish(),accessTokenExpiresAt:s.z.date().nullish(),refreshTokenExpiresAt:s.z.date().nullish(),scope:s.z.string().nullish(),password:s.z.string().nullish(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date)}),pe=s.z.object({id:s.z.string(),email:s.z.string().transform(e=>e.toLowerCase()),emailVerified:s.z.boolean().default(!1),name:s.z.string(),image:s.z.string().nullish(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date)}),me=s.z.object({id:s.z.string(),userId:s.z.string(),expiresAt:s.z.date(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date),token:s.z.string(),ipAddress:s.z.string().nullish(),userAgent:s.z.string().nullish()}),ye=s.z.object({id:s.z.string(),value:s.z.string(),createdAt:s.z.date().default(()=>new Date),updatedAt:s.z.date().default(()=>new Date),expiresAt:s.z.date(),identifier:s.z.string()});var T=Object.create(null),b=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?T:globalThis),D=new Proxy(T,{get(e,n){return b()[n]??T[n]},has(e,n){let d=b();return n in d||n in T},set(e,n,d){let u=b(!0);return u[n]=d,!0},deleteProperty(e,n){if(!n)return!1;let d=b(!0);return delete d[n],!0},ownKeys(){let e=b(!0);return Object.keys(e)}});function $(e){return e?e!=="false":!1}var j=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var K=j==="test"||$(D.TEST);var N=require("@better-auth/utils/random"),v=e=>(0,N.createRandomStringGenerator)("a-z","A-Z","0-9")(e||32);var X=require("zod"),Y=require("better-call");var A=class extends Error{constructor(n,d){super(n),this.name="BetterAuthError",this.message=n,this.cause=d,this.stack=""}};var z=require("@better-auth/utils/hash"),Z=require("@noble/ciphers/chacha"),I=require("@noble/ciphers/utils"),Q=require("@noble/ciphers/webcrypto");var H=require("@noble/hashes/scrypt"),W=require("uncrypto"),J=require("@better-auth/utils/hex");var q=require("@better-auth/utils/random"),G=(0,q.createRandomStringGenerator)("a-z","0-9","A-Z","-_");var O=["info","success","warn","error","debug"];function ee(e,n){return O.indexOf(n)<=O.indexOf(e)}var h={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",underscore:"\x1B[4m",blink:"\x1B[5m",reverse:"\x1B[7m",hidden:"\x1B[8m",fg:{black:"\x1B[30m",red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m"},bg:{black:"\x1B[40m",red:"\x1B[41m",green:"\x1B[42m",yellow:"\x1B[43m",blue:"\x1B[44m",magenta:"\x1B[45m",cyan:"\x1B[46m",white:"\x1B[47m"}},te={info:h.fg.blue,success:h.fg.green,warn:h.fg.yellow,error:h.fg.red,debug:h.fg.magenta},re=(e,n)=>{let d=new Date().toISOString();return`${h.dim}${d}${h.reset} ${te[e]}${e.toUpperCase()}${h.reset} ${h.bright}Better Auth${h.reset} ${n}`},U=e=>{let n=e?.disabled!==!0,d=e?.level??"error",u=(l,y,f=[])=>{if(!n||!ee(d,l))return;let a=re(l,y);if(!e||typeof e.log!="function"){l==="error"?console.error(a,...f):l==="warn"?console.warn(a,...f):console.log(a,...f);return}e.log(l==="success"?"info":l,a,...f)};return Object.fromEntries(O.map(l=>[l,(...[y,...f])=>u(l,y,f)]))},ne=U();var w=e=>{let n=e.plugins?.reduce((i,p)=>{let c=p.schema;if(!c)return i;for(let[t,o]of Object.entries(c))i[t]={fields:{...i[t]?.fields,...o.fields},modelName:o.modelName||t};return i},{}),d=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:l,session:y,account:f,...a}=n||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...l?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...y?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...f?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...a,...d?u:{}}};var se=require("zod");var S=require("kysely"),F=require("kysely");function k(e,n,d){return d==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var ae=(e,n)=>{let d=w(n);function u(a,i){return i==="id"?i:d[a].fields[i].fieldName||i}function l(a){switch(a){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return a}}function y(a){return d[a].modelName}let f=n?.advanced?.generateId===!1;return{transformInput(a,i,p){let c=f||p==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:i}):a.id||v()},t=d[i].fields;for(let o in t){let r=a[o];r===void 0&&(!t[o].defaultValue||p==="update")||(c[t[o].fieldName||o]=k(r,t[o],p))}return c},transformOutput(a,i,p=[]){if(!a)return null;let c=a.id||a._id?p.length===0||p.includes("id")?{id:a.id}:{}:{},t=d[i].fields;for(let o in t){if(p.length&&!p.includes(o))continue;let r=t[o];r&&(c[o]=a[r.fieldName||o])}return c},convertWhereClause(a,i){if(!i)return{};if(i.length===1){let r=i[0];return r?{[u(a,r.field)]:r.operator==="eq"||!r.operator?r.value:{[l(r.operator)]:r.value}}:void 0}let p=i.filter(r=>r.connector==="AND"||!r.connector),c=i.filter(r=>r.connector==="OR"),t=p.map(r=>({[u(a,r.field)]:r.operator==="eq"||!r.operator?r.value:{[l(r.operator)]:r.value}})),o=c.map(r=>({[u(a,r.field)]:{[r.operator||"eq"]:r.value}}));return{...t.length?{AND:t}:{},...o.length?{OR:o}:{}}},convertSelect:(a,i)=>{if(!(!a||!i))return a.reduce((p,c)=>({...p,[u(i,c)]:!0}),{})},getModelName:y,getField:u}},oe=(e,n)=>d=>{let u=e,{transformInput:l,transformOutput:y,convertWhereClause:f,convertSelect:a,getModelName:i,getField:p}=ae(n,d);return{id:"prisma",async create(c){let{model:t,data:o,select:r}=c,m=l(o,t,"create");if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].create({data:m,select:a(r,t)});return y(g,t,r)},async findOne(c){let{model:t,where:o,select:r}=c,m=f(t,o);if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].findFirst({where:m,select:a(r,t)});return y(g,t,r)},async findMany(c){let{model:t,where:o,limit:r,offset:m,sortBy:g}=c,x=f(t,o);if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[i(t)].findMany({where:x,take:r||100,skip:m||0,...g?.field?{orderBy:{[p(t,g.field)]:g.direction==="desc"?"desc":"asc"}}:{}})).map(B=>y(B,t))},async update(c){let{model:t,where:o,update:r}=c;if(!u[i(t)])throw new A(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let m=f(t,o),g=l(r,t,"update"),x=await u[i(t)].update({where:m,data:g});return y(x,t)},async updateMany(c){let{model:t,where:o,update:r}=c,m=f(t,o),g=l(r,t,"update"),x=await u[i(t)].updateMany({where:m,data:g});return x?x.count:0},async delete(c){let{model:t,where:o}=c,r=f(t,o);try{await u[i(t)].delete({where:r})}catch{}},async deleteMany(c){let{model:t,where:o}=c,r=f(t,o),m=await u[i(t)].deleteMany({where:r});return m?m.count:0},options:n}};0&&(module.exports={prismaAdapter});