better-auth 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/drizzle.cjs +1 -1
- package/dist/adapters/drizzle.d.cts +1 -1
- package/dist/adapters/drizzle.d.ts +1 -1
- package/dist/adapters/drizzle.js +1 -1
- package/dist/adapters/kysely.cjs +1 -1
- package/dist/adapters/kysely.d.cts +1 -1
- package/dist/adapters/kysely.d.ts +1 -1
- package/dist/adapters/kysely.js +1 -1
- package/dist/adapters/memory.cjs +1 -1
- package/dist/adapters/memory.d.cts +1 -1
- package/dist/adapters/memory.d.ts +1 -1
- package/dist/adapters/memory.js +1 -1
- package/dist/adapters/mongodb.cjs +1 -1
- package/dist/adapters/mongodb.d.cts +1 -1
- package/dist/adapters/mongodb.d.ts +1 -1
- package/dist/adapters/mongodb.js +1 -1
- package/dist/adapters/prisma.cjs +1 -1
- package/dist/adapters/prisma.d.cts +1 -1
- package/dist/adapters/prisma.d.ts +1 -1
- package/dist/adapters/prisma.js +1 -1
- package/dist/api.cjs +4 -4
- package/dist/api.d.cts +1 -1
- package/dist/api.d.ts +1 -1
- package/dist/api.js +4 -4
- package/dist/{auth-DF-f5DGM.d.ts → auth-D0j--lk2.d.ts} +18 -6
- package/dist/{auth-BubrmklB.d.cts → auth-e68nibnq.d.cts} +18 -6
- package/dist/client/plugins.d.cts +3 -3
- package/dist/client/plugins.d.ts +3 -3
- package/dist/client.d.cts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/cookies.cjs +83 -1
- package/dist/cookies.d.cts +1 -1
- package/dist/cookies.d.ts +1 -1
- package/dist/cookies.js +83 -1
- package/dist/db.cjs +2 -2
- package/dist/db.d.cts +2 -2
- package/dist/db.d.ts +2 -2
- package/dist/db.js +2 -2
- package/dist/{index-aMRluDla.d.ts → index-Bv_swbzb.d.ts} +2 -2
- package/dist/{index-CwnHFdnT.d.cts → index-UbLWDRRz.d.cts} +2 -2
- package/dist/index.cjs +4 -4
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +4 -4
- package/dist/next-js.cjs +83 -1
- package/dist/next-js.d.cts +1 -1
- package/dist/next-js.d.ts +1 -1
- package/dist/next-js.js +83 -1
- package/dist/node.d.cts +1 -1
- package/dist/node.d.ts +1 -1
- package/dist/oauth2.d.cts +2 -2
- package/dist/oauth2.d.ts +2 -2
- package/dist/plugins.cjs +6 -6
- package/dist/plugins.d.cts +3 -3
- package/dist/plugins.d.ts +3 -3
- package/dist/plugins.js +6 -6
- package/dist/react.d.cts +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/solid-start.d.cts +1 -1
- package/dist/solid-start.d.ts +1 -1
- package/dist/solid.d.cts +1 -1
- package/dist/solid.d.ts +1 -1
- package/dist/{state-C_runTlH.d.ts → state-BXKFz5nm.d.ts} +1 -1
- package/dist/{state-CQJXHclh.d.cts → state-Cf62joN3.d.cts} +1 -1
- package/dist/svelte-kit.d.cts +1 -1
- package/dist/svelte-kit.d.ts +1 -1
- package/dist/svelte.d.cts +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/types.d.cts +6 -3
- package/dist/types.d.ts +6 -3
- package/dist/vue.d.cts +1 -1
- package/dist/vue.d.ts +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var F=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var V=Object.getOwnPropertyNames;var E=Object.prototype.hasOwnProperty;var P=(e,i)=>{for(var u in i)F(e,u,{get:i[u],enumerable:!0})},_=(e,i,u,f)=>{if(i&&typeof i=="object"||typeof i=="function")for(let l of V(i))!E.call(e,l)&&l!==u&&F(e,l,{get:()=>i[l],enumerable:!(f=M(i,l))||f.enumerable});return e};var C=e=>_(F({},"__esModule",{value:!0}),e);var te={};P(te,{drizzleAdapter:()=>ee});module.exports=C(te);var p=require("drizzle-orm");var s=require("zod"),ae=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)}),oe=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)}),de=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()}),ue=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 R=Object.create(null),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?R:globalThis),D=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 f=T(!0);return f[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 j(e){return e?e!=="false":!1}var $=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var K=$==="test"||j(D.TEST);var N=require("nanoid"),k=e=>(0,N.nanoid)(e);var q=require("oslo/oauth2"),z=require("zod"),W=require("better-call");var w=class extends Error{constructor(i,u){super(i),this.name="BetterAuthError",this.message=i,this.cause=u,this.stack=""}};var S=require("consola"),O=["info","success","warn","error","debug"];function H(e,i){return O.indexOf(i)<=O.indexOf(e)}var J=(0,S.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),B=e=>{let i=e?.disabled!==!0,u=e?.level??"error",f=(l,g,y=[])=>{if(!(!i||!H(u,l))){if(!e||typeof e.log!="function"){J[l]("",g,...y);return}e.log(l==="success"?"info":l,g,y)}};return Object.fromEntries(O.map(l=>[l,(...[g,...y])=>f(l,g,y)]))},G=B();var v=e=>{let i=e.plugins?.reduce((a,c)=>{let n=c.schema;if(!n)return a;for(let[t,o]of Object.entries(n))a[t]={fields:{...a[t]?.fields,...o.fields},modelName:o.modelName||t};return a},{}),u=e.rateLimit?.storage==="database",f={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:g,account:y,...x}=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"},...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},...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"},...y?.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,...u?f:{}}};var Q=require("zod");var U=require("kysely"),I=require("kysely");var X=(e,i,u)=>{let f=v(u);function l(a,c){return c==="id"?c:f[a].fields[c].fieldName||c}function g(a){let c=i.schema||e._.fullSchema;if(!c)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let n=y(a),t=c[n];if(!t)throw new w(`[# Drizzle Adapter]: The model "${n}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let y=a=>f[a].modelName!==a?f[a].modelName:i.usePlural?`${a}s`:a,x=u?.advanced?.generateId===!1;return{getSchema:g,transformInput(a,c,n){let t=x||n==="update"?{}:{id:a.id||(u.advanced?.generateId?u.advanced.generateId({model:c}):k())};for(let o in a){let d=f[c].fields[o];d&&(t[d.fieldName||o]=a[o])}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}:{}:{},o=f[c].fields;for(let d in o){if(n.length&&!n.includes(d))continue;let m=o[d];m&&(t[d]=a[m.fieldName||d])}return t},convertWhereClause(a,c){let n=g(c);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let h=l(c,r.field);if(!n[h])throw new w(`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 w(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return[(0,p.inArray)(n[h],r.value)]}return r.operator==="contains"?[(0,p.like)(n[h],`%${r.value}%`)]:r.operator==="starts_with"?[(0,p.like)(n[h],`${r.value}%`)]:r.operator==="ends_with"?[(0,p.like)(n[h],`%${r.value}`)]:[(0,p.eq)(n[h],r.value)]}let t=a.filter(r=>r.connector==="AND"||!r.connector),o=a.filter(r=>r.connector==="OR"),d=(0,p.and)(...t.map(r=>{let h=l(c,r.field);if(r.operator==="in"){if(!Array.isArray(r.value))throw new w(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return(0,p.inArray)(n[h],r.value)}return(0,p.eq)(n[h],r.value)})),m=(0,p.or)(...o.map(r=>{let h=l(c,r.field);return(0,p.eq)(n[h],r.value)})),A=[];return t.length&&A.push(d),o.length&&A.push(m),A},withReturning:async(a,c,n)=>{if(i.provider!=="mysql")return(await c.returning())[0];await c;let t=g(y(a));return(await e.select().from(t).where((0,p.eq)(t.id,n.id)))[0]},getField:l,getModelName:y}};function Y(e,i,u){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 f in u)if(!e[f])throw new w(`The field "${f}" does not exist in the "${i}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var ee=(e,i)=>u=>{let{transformInput:f,transformOutput:l,convertWhereClause:g,getSchema:y,withReturning:x,getField:a,getModelName:c}=X(e,i,u);return{id:"drizzle",async create(n){let{model:t,data:o}=n,d=f(o,t,"create"),m=y(t);Y(m,c(t),d);let A=e.insert(m).values(d),r=await x(t,A,d);return l(r,t)},async findOne(n){let{model:t,where:o,select:d}=n,m=y(t),A=g(o,t),r=await e.select().from(m).where(...A);return r.length?l(r[0],t,d):null},async findMany(n){let{model:t,where:o,sortBy:d,limit:m,offset:A}=n,r=y(t),h=o?g(o,t):[],b=d?.direction==="desc"?p.desc:p.asc;return(await e.select().from(r).limit(m||100).offset(A||0).orderBy(b(r[d?.field?a(t,d?.field):"id"])).where(...h)).map(L=>l(L,t))},async update(n){let{model:t,where:o,update:d}=n,m=y(t),A=g(o,t),r=f(d,t,"update"),h=e.update(m).set(r).where(...A),b=await x(t,h,r);return l(b,t)},async updateMany(n){let{model:t,where:o,update:d}=n,m=y(t),A=g(o,t),r=f(d,t,"update"),b=await e.update(m).set(r).where(...A);return b?b.changes:0},async delete(n){let{model:t,where:o}=n,d=y(t),m=g(o,t);await e.delete(d).where(...m)},async deleteMany(n){let{model:t,where:o}=n,d=y(t),m=g(o,t),r=await e.delete(d).where(...m);return r?r.length:0},options:i}};0&&(module.exports={drizzleAdapter});
|
|
1
|
+
"use strict";var D=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var C=(e,n)=>{for(var u in n)D(e,u,{get:n[u],enumerable:!0})},j=(e,n,u,p)=>{if(n&&typeof n=="object"||typeof n=="function")for(let l of E(n))!_.call(e,l)&&l!==u&&D(e,l,{get:()=>n[l],enumerable:!(p=P(n,l))||p.enumerable});return e};var $=e=>j(D({},"__esModule",{value:!0}),e);var ne={};C(ne,{drizzleAdapter:()=>re});module.exports=$(ne);var m=require("drizzle-orm");var s=require("zod"),oe=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)}),de=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)}),ue=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()}),le=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 R=Object.create(null),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?R:globalThis),q=new Proxy(R,{get(e,n){return T()[n]??R[n]},has(e,n){let u=T();return n in u||n in R},set(e,n,u){let p=T(!0);return p[n]=u,!0},deleteProperty(e,n){if(!n)return!1;let u=T(!0);return delete u[n],!0},ownKeys(){let e=T(!0);return Object.keys(e)}});function K(e){return e?e!=="false":!1}var z=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var W=z==="test"||K(q.TEST);var S=require("nanoid"),k=e=>(0,S.nanoid)(e);var B=require("oslo/oauth2"),H=require("zod"),J=require("better-call");var w=class extends Error{constructor(n,u){super(n),this.name="BetterAuthError",this.message=n,this.cause=u,this.stack=""}};var U=require("consola"),O=["info","success","warn","error","debug"];function G(e,n){return O.indexOf(n)<=O.indexOf(e)}var Q=(0,U.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),L=e=>{let n=e?.disabled!==!0,u=e?.level??"error",p=(l,g,y=[])=>{if(!(!n||!G(u,l))){if(!e||typeof e.log!="function"){Q[l]("",g,...y);return}e.log(l==="success"?"info":l,g,y)}};return Object.fromEntries(O.map(l=>[l,(...[g,...y])=>p(l,g,y)]))},Z=L();var v=e=>{let n=e.plugins?.reduce((a,c)=>{let i=c.schema;if(!i)return a;for(let[t,d]of Object.entries(i))a[t]={fields:{...a[t]?.fields,...d.fields},modelName:d.modelName||t};return a},{}),u=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:l,session:g,account:y,...x}=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},...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"},...y?.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,...u?p:{}}};var X=require("zod");var M=require("kysely"),I=require("kysely");function F(e,n,u){return u==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var ee=(e,n,u)=>{let p=v(u);function l(a,c){return c==="id"?c:p[a].fields[c].fieldName||c}function g(a){let c=n.schema||e._.fullSchema;if(!c)throw new w("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let i=y(a),t=c[i];if(!t)throw new w(`[# Drizzle Adapter]: The model "${i}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let y=a=>p[a].modelName!==a?p[a].modelName:n.usePlural?`${a}s`:a,x=u?.advanced?.generateId===!1;return{getSchema:g,transformInput(a,c,i){let t=x||i==="update"?{}:{id:u.advanced?.generateId?u.advanced.generateId({model:c}):a.id||k()},d=p[c].fields;for(let o in d){let f=a[o];f===void 0&&!d[o].defaultValue||(t[d[o].fieldName||o]=F(f,d[o],i))}return t},transformOutput(a,c,i=[]){if(!a)return null;let t=a.id||a._id?i.length===0||i.includes("id")?{id:a.id}:{}:{},d=p[c].fields;for(let o in d){if(i.length&&!i.includes(o))continue;let f=d[o];f&&(t[o]=a[f.fieldName||o])}return t},convertWhereClause(a,c){let i=g(c);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let h=l(c,r.field);if(!i[h])throw new w(`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 w(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return[(0,m.inArray)(i[h],r.value)]}return r.operator==="contains"?[(0,m.like)(i[h],`%${r.value}%`)]:r.operator==="starts_with"?[(0,m.like)(i[h],`${r.value}%`)]:r.operator==="ends_with"?[(0,m.like)(i[h],`%${r.value}`)]:[(0,m.eq)(i[h],r.value)]}let t=a.filter(r=>r.connector==="AND"||!r.connector),d=a.filter(r=>r.connector==="OR"),o=(0,m.and)(...t.map(r=>{let h=l(c,r.field);if(r.operator==="in"){if(!Array.isArray(r.value))throw new w(`The value for the field "${r.field}" must be an array when using the "in" operator.`);return(0,m.inArray)(i[h],r.value)}return(0,m.eq)(i[h],r.value)})),f=(0,m.or)(...d.map(r=>{let h=l(c,r.field);return(0,m.eq)(i[h],r.value)})),A=[];return t.length&&A.push(o),d.length&&A.push(f),A},withReturning:async(a,c,i)=>{if(n.provider!=="mysql")return(await c.returning())[0];await c;let t=g(y(a));return(await e.select().from(t).where((0,m.eq)(t.id,i.id)))[0]},getField:l,getModelName:y}};function te(e,n,u){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 u)if(!e[p])throw new w(`The field "${p}" does not exist in the "${n}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var re=(e,n)=>u=>{let{transformInput:p,transformOutput:l,convertWhereClause:g,getSchema:y,withReturning:x,getField:a,getModelName:c}=ee(e,n,u);return{id:"drizzle",async create(i){let{model:t,data:d}=i,o=p(d,t,"create"),f=y(t);te(f,c(t),o);let A=e.insert(f).values(o),r=await x(t,A,o);return l(r,t)},async findOne(i){let{model:t,where:d,select:o}=i,f=y(t),A=g(d,t),r=await e.select().from(f).where(...A);return r.length?l(r[0],t,o):null},async findMany(i){let{model:t,where:d,sortBy:o,limit:f,offset:A}=i,r=y(t),h=d?g(d,t):[],b=o?.direction==="desc"?m.desc:m.asc,N=e.select().from(r).limit(f||100).offset(A||0);return o?.field&&N.orderBy(b(r[a(t,o?.field)])),(await N.where(...h)).map(V=>l(V,t))},async update(i){let{model:t,where:d,update:o}=i,f=y(t),A=g(d,t),r=p(o,t,"update"),h=e.update(f).set(r).where(...A),b=await x(t,h,r);return l(b,t)},async updateMany(i){let{model:t,where:d,update:o}=i,f=y(t),A=g(d,t),r=p(o,t,"update"),b=await e.update(f).set(r).where(...A);return b?b.changes:0},async delete(i){let{model:t,where:d}=i,o=y(t),f=g(d,t);await e.delete(o).where(...f)},async deleteMany(i){let{model:t,where:d}=i,o=y(t),f=g(d,t),r=await e.delete(o).where(...f);return r?r.length:0},options:n}};0&&(module.exports={drizzleAdapter});
|
package/dist/adapters/drizzle.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{and as C,asc as j,desc as $,eq as R,inArray as N,like as O,or as K}from"drizzle-orm";import{z as s}from"zod";var Z=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)}),X=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)}),Y=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()}),ee=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 k=Object.create(null),v=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?k:globalThis),I=new Proxy(k,{get(e,a){return v()[a]??k[a]},has(e,a){let l=v();return a in l||a in k},set(e,a,l){let p=v(!0);return p[a]=l,!0},deleteProperty(e,a){if(!a)return!1;let l=v(!0);return delete l[a],!0},ownKeys(){let e=v(!0);return Object.keys(e)}});function S(e){return e?e!=="false":!1}var B=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var U=B==="test"||S(I.TEST);import{nanoid as L}from"nanoid";var T=e=>L(e);import{generateCodeVerifier as he,generateState as Ae}from"oslo/oauth2";import{z as xe}from"zod";import{APIError as ve}from"better-call";var A=class extends Error{constructor(a,l){super(a),this.name="BetterAuthError",this.message=a,this.cause=l,this.stack=""}};import{createConsola as M}from"consola";var F=["info","success","warn","error","debug"];function V(e,a){return F.indexOf(a)<=F.indexOf(e)}var E=M({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),D=e=>{let a=e?.disabled!==!0,l=e?.level??"error",p=(c,y,m=[])=>{if(!(!a||!V(l,c))){if(!e||typeof e.log!="function"){E[c]("",y,...m);return}e.log(c==="success"?"info":c,y,m)}};return Object.fromEntries(F.map(c=>[c,(...[y,...m])=>p(c,y,m)]))},P=D();var b=e=>{let a=e.plugins?.reduce((i,u)=>{let n=u.schema;if(!n)return i;for(let[t,o]of Object.entries(n))i[t]={fields:{...i[t]?.fields,...o.fields},modelName:o.modelName||t};return i},{}),l=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:y,account:m,...w}=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"},...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},...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"},...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},...w,...l?p:{}}};import{z as Qe}from"zod";import{Kysely as Ye,MssqlDialect as et}from"kysely";import{MysqlDialect as rt,PostgresDialect as nt,SqliteDialect as st}from"kysely";var z=(e,a,l)=>{let p=b(l);function c(i,u){return u==="id"?u:p[i].fields[u].fieldName||u}function y(i){let u=a.schema||e._.fullSchema;if(!u)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let n=m(i),t=u[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 m=i=>p[i].modelName!==i?p[i].modelName:a.usePlural?`${i}s`:i,w=l?.advanced?.generateId===!1;return{getSchema:y,transformInput(i,u,n){let t=w||n==="update"?{}:{id:i.id||(l.advanced?.generateId?l.advanced.generateId({model:u}):T())};for(let o in i){let d=p[u].fields[o];d&&(t[d.fieldName||o]=i[o])}return t},transformOutput(i,u,n=[]){if(!i)return null;let t=i.id||i._id?n.length===0||n.includes("id")?{id:i.id}:{}:{},o=p[u].fields;for(let d in o){if(n.length&&!n.includes(d))continue;let f=o[d];f&&(t[d]=i[f.fieldName||d])}return t},convertWhereClause(i,u){let n=y(u);if(!i)return[];if(i.length===1){let r=i[0];if(!r)return[];let g=c(u,r.field);if(!n[g])throw new A(`The field "${r.field}" does not exist in the schema for the model "${u}". 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[N(n[g],r.value)]}return r.operator==="contains"?[O(n[g],`%${r.value}%`)]:r.operator==="starts_with"?[O(n[g],`${r.value}%`)]:r.operator==="ends_with"?[O(n[g],`%${r.value}`)]:[R(n[g],r.value)]}let t=i.filter(r=>r.connector==="AND"||!r.connector),o=i.filter(r=>r.connector==="OR"),d=C(...t.map(r=>{let g=c(u,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 N(n[g],r.value)}return R(n[g],r.value)})),f=K(...o.map(r=>{let g=c(u,r.field);return R(n[g],r.value)})),h=[];return t.length&&h.push(d),o.length&&h.push(f),h},withReturning:async(i,u,n)=>{if(a.provider!=="mysql")return(await u.returning())[0];await u;let t=y(m(i));return(await e.select().from(t).where(R(t.id,n.id)))[0]},getField:c,getModelName:m}};function W(e,a,l){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 p in l)if(!e[p])throw new A(`The field "${p}" does not exist in the "${a}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var Jt=(e,a)=>l=>{let{transformInput:p,transformOutput:c,convertWhereClause:y,getSchema:m,withReturning:w,getField:i,getModelName:u}=z(e,a,l);return{id:"drizzle",async create(n){let{model:t,data:o}=n,d=p(o,t,"create"),f=m(t);W(f,u(t),d);let h=e.insert(f).values(d),r=await w(t,h,d);return c(r,t)},async findOne(n){let{model:t,where:o,select:d}=n,f=m(t),h=y(o,t),r=await e.select().from(f).where(...h);return r.length?c(r[0],t,d):null},async findMany(n){let{model:t,where:o,sortBy:d,limit:f,offset:h}=n,r=m(t),g=o?y(o,t):[],x=d?.direction==="desc"?$:j;return(await e.select().from(r).limit(f||100).offset(h||0).orderBy(x(r[d?.field?i(t,d?.field):"id"])).where(...g)).map(q=>c(q,t))},async update(n){let{model:t,where:o,update:d}=n,f=m(t),h=y(o,t),r=p(d,t,"update"),g=e.update(f).set(r).where(...h),x=await w(t,g,r);return c(x,t)},async updateMany(n){let{model:t,where:o,update:d}=n,f=m(t),h=y(o,t),r=p(d,t,"update"),x=await e.update(f).set(r).where(...h);return x?x.changes:0},async delete(n){let{model:t,where:o}=n,d=m(t),f=y(o,t);await e.delete(d).where(...f)},async deleteMany(n){let{model:t,where:o}=n,d=m(t),f=y(o,t),r=await e.delete(d).where(...f);return r?r.length:0},options:a}};export{Jt as drizzleAdapter};
|
|
1
|
+
import{and as $,asc as K,desc as z,eq as F,inArray as S,like as O,or as W}from"drizzle-orm";import{z as i}from"zod";var X=i.object({id:i.string(),providerId:i.string(),accountId:i.string(),userId:i.string(),accessToken:i.string().nullish(),refreshToken:i.string().nullish(),idToken:i.string().nullish(),accessTokenExpiresAt:i.date().nullish(),refreshTokenExpiresAt:i.date().nullish(),scope:i.string().nullish(),password:i.string().nullish(),createdAt:i.date().default(()=>new Date),updatedAt:i.date().default(()=>new Date)}),Y=i.object({id:i.string(),email:i.string().transform(e=>e.toLowerCase()),emailVerified:i.boolean().default(!1),name:i.string(),image:i.string().nullish(),createdAt:i.date().default(()=>new Date),updatedAt:i.date().default(()=>new Date)}),ee=i.object({id:i.string(),userId:i.string(),expiresAt:i.date(),createdAt:i.date().default(()=>new Date),updatedAt:i.date().default(()=>new Date),token:i.string(),ipAddress:i.string().nullish(),userAgent:i.string().nullish()}),te=i.object({id:i.string(),value:i.string(),createdAt:i.date().default(()=>new Date),updatedAt:i.date().default(()=>new Date),expiresAt:i.date(),identifier:i.string()});var k=Object.create(null),v=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?k:globalThis),N=new Proxy(k,{get(e,s){return v()[s]??k[s]},has(e,s){let l=v();return s in l||s in k},set(e,s,l){let p=v(!0);return p[s]=l,!0},deleteProperty(e,s){if(!s)return!1;let l=v(!0);return delete l[s],!0},ownKeys(){let e=v(!0);return Object.keys(e)}});function U(e){return e?e!=="false":!1}var L=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var M=L==="test"||U(N.TEST);import{nanoid as V}from"nanoid";var T=e=>V(e);import{generateCodeVerifier as Ae,generateState as we}from"oslo/oauth2";import{z as be}from"zod";import{APIError as Te}from"better-call";var A=class extends Error{constructor(s,l){super(s),this.name="BetterAuthError",this.message=s,this.cause=l,this.stack=""}};import{createConsola as P}from"consola";var D=["info","success","warn","error","debug"];function E(e,s){return D.indexOf(s)<=D.indexOf(e)}var _=P({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),q=e=>{let s=e?.disabled!==!0,l=e?.level??"error",p=(f,y,m=[])=>{if(!(!s||!E(l,f))){if(!e||typeof e.log!="function"){_[f]("",y,...m);return}e.log(f==="success"?"info":f,y,m)}};return Object.fromEntries(D.map(f=>[f,(...[y,...m])=>p(f,y,m)]))},C=q();var b=e=>{let s=e.plugins?.reduce((a,u)=>{let n=u.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},{}),l=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:f,session:y,account:m,...w}=s||{};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"},...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},...w,...l?p:{}}};import{z as Ze}from"zod";import{Kysely as et,MssqlDialect as tt}from"kysely";import{MysqlDialect as nt,PostgresDialect as it,SqliteDialect as st}from"kysely";function R(e,s,l){return l==="update"?e:e==null&&s.defaultValue?typeof s.defaultValue=="function"?s.defaultValue():s.defaultValue:e}var H=(e,s,l)=>{let p=b(l);function f(a,u){return u==="id"?u:p[a].fields[u].fieldName||u}function y(a){let u=s.schema||e._.fullSchema;if(!u)throw new A("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");let n=m(a),t=u[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 m=a=>p[a].modelName!==a?p[a].modelName:s.usePlural?`${a}s`:a,w=l?.advanced?.generateId===!1;return{getSchema:y,transformInput(a,u,n){let t=w||n==="update"?{}:{id:l.advanced?.generateId?l.advanced.generateId({model:u}):a.id||T()},d=p[u].fields;for(let o in d){let c=a[o];c===void 0&&!d[o].defaultValue||(t[d[o].fieldName||o]=R(c,d[o],n))}return t},transformOutput(a,u,n=[]){if(!a)return null;let t=a.id||a._id?n.length===0||n.includes("id")?{id:a.id}:{}:{},d=p[u].fields;for(let o in d){if(n.length&&!n.includes(o))continue;let c=d[o];c&&(t[o]=a[c.fieldName||o])}return t},convertWhereClause(a,u){let n=y(u);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let g=f(u,r.field);if(!n[g])throw new A(`The field "${r.field}" does not exist in the schema for the model "${u}". 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[S(n[g],r.value)]}return r.operator==="contains"?[O(n[g],`%${r.value}%`)]:r.operator==="starts_with"?[O(n[g],`${r.value}%`)]:r.operator==="ends_with"?[O(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=$(...t.map(r=>{let g=f(u,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 S(n[g],r.value)}return F(n[g],r.value)})),c=W(...d.map(r=>{let g=f(u,r.field);return F(n[g],r.value)})),h=[];return t.length&&h.push(o),d.length&&h.push(c),h},withReturning:async(a,u,n)=>{if(s.provider!=="mysql")return(await u.returning())[0];await u;let t=y(m(a));return(await e.select().from(t).where(F(t.id,n.id)))[0]},getField:f,getModelName:m}};function J(e,s,l){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 p in l)if(!e[p])throw new A(`The field "${p}" does not exist in the "${s}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var Yt=(e,s)=>l=>{let{transformInput:p,transformOutput:f,convertWhereClause:y,getSchema:m,withReturning:w,getField:a,getModelName:u}=H(e,s,l);return{id:"drizzle",async create(n){let{model:t,data:d}=n,o=p(d,t,"create"),c=m(t);J(c,u(t),o);let h=e.insert(c).values(o),r=await w(t,h,o);return f(r,t)},async findOne(n){let{model:t,where:d,select:o}=n,c=m(t),h=y(d,t),r=await e.select().from(c).where(...h);return r.length?f(r[0],t,o):null},async findMany(n){let{model:t,where:d,sortBy:o,limit:c,offset:h}=n,r=m(t),g=d?y(d,t):[],x=o?.direction==="desc"?z:K,I=e.select().from(r).limit(c||100).offset(h||0);return o?.field&&I.orderBy(x(r[a(t,o?.field)])),(await I.where(...g)).map(B=>f(B,t))},async update(n){let{model:t,where:d,update:o}=n,c=m(t),h=y(d,t),r=p(o,t,"update"),g=e.update(c).set(r).where(...h),x=await w(t,g,r);return f(x,t)},async updateMany(n){let{model:t,where:d,update:o}=n,c=m(t),h=y(d,t),r=p(o,t,"update"),x=await e.update(c).set(r).where(...h);return x?x.changes:0},async delete(n){let{model:t,where:d}=n,o=m(t),c=y(d,t);await e.delete(o).where(...c)},async deleteMany(n){let{model:t,where:d}=n,o=m(t),c=y(d,t),r=await e.delete(o).where(...c);return r?r.length:0},options:s}};export{Yt as drizzleAdapter};
|
package/dist/adapters/kysely.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var I=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var C=(e,n)=>{for(var c in n)I(e,c,{get:n[c],enumerable:!0})},j=(e,n,c,m)=>{if(n&&typeof n=="object"||typeof n=="function")for(let y of M(n))!_.call(e,y)&&y!==c&&I(e,y,{get:()=>n[y],enumerable:!(m=P(n,y))||m.enumerable});return e};var K=e=>j(I({},"__esModule",{value:!0}),e);var te={};C(te,{createKyselyAdapter:()=>D,kyselyAdapter:()=>E});module.exports=K(te);var v=require("kysely"),b=require("kysely");function q(e){if(!e)return null;if("dialect"in e)return q(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 v.MssqlDialect)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var D=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 v.Kysely({dialect:n.dialect}),databaseType:n.type};let c,m=q(n);return"createDriver"in n&&(c=n),"aggregate"in n&&(c=new b.SqliteDialect({database:n})),"getConnection"in n&&(c=new b.MysqlDialect(n)),"connect"in n&&(c=new b.PostgresDialect({pool:n})),{kysely:c?new v.Kysely({dialect:c}):null,databaseType:m}};var d=require("zod"),se=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)}),oe=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()}),de=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),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?F:globalThis),S=new Proxy(F,{get(e,n){return T()[n]??F[n]},has(e,n){let c=T();return n in c||n in F},set(e,n,c){let m=T(!0);return m[n]=c,!0},deleteProperty(e,n){if(!n)return!1;let c=T(!0);return delete c[n],!0},ownKeys(){let e=T(!0);return Object.keys(e)}});function H(e){return e?e!=="false":!1}var W=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var $=W==="test"||H(S.TEST);var U=require("nanoid"),R=e=>(0,U.nanoid)(e);var B=require("oslo/oauth2"),z=require("zod"),G=require("better-call");var L=require("consola"),N=["info","success","warn","error","debug"];function Z(e,n){return N.indexOf(n)<=N.indexOf(e)}var Q=(0,L.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),V=e=>{let n=e?.disabled!==!0,c=e?.level??"error",m=(y,h,A=[])=>{if(!(!n||!Z(c,y))){if(!e||typeof e.log!="function"){Q[y]("",h,...A);return}e.log(y==="success"?"info":y,h,A)}};return Object.fromEntries(N.map(y=>[y,(...[h,...A])=>m(y,h,A)]))},X=V();var k=e=>{let n=e.plugins?.reduce((w,i)=>{let t=i.schema;if(!t)return w;for(let[s,u]of Object.entries(t))w[s]={fields:{...w[s]?.fields,...u.fields},modelName:u.modelName||s};return w},{}),c=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:y,session:h,account:A,...x}=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"},...y?.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},...h?.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},...x,...c?m:{}}};var Y=require("zod");var ee=(e,n,c)=>{let m=k(n);function y(i,t){if(t==="id")return t;let s=m[i].fields[t];return s||console.log("Field not found",i,t),s.fieldName||t}function h(i,t,s){let{type:u="sqlite"}=c||{},o=m[t].fields[s];return o.type==="boolean"&&u==="sqlite"?i?1:0:o.type==="date"&&i&&i instanceof Date&&u==="sqlite"?i.toISOString():i}function A(i,t,s){let{type:u="sqlite"}=c||{},o=m[t].fields[s];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function x(i){return m[i].modelName}let w=n?.advanced?.generateId===!1;return{transformInput(i,t,s){let u=w||s==="update"?{}:{id:i.id||(n.advanced?.generateId?n.advanced.generateId({model:t}):R())};for(let o in i){let r=m[t].fields[o];r&&(u[r.fieldName||o]=h(i[o],t,o))}return u},transformOutput(i,t,s=[]){if(!i)return null;let u=i.id?s.length===0||s.includes("id")?{id:i.id}:{}:{},o=m[t].fields;for(let r in o){if(s.length&&!s.includes(r))continue;let a=o[r];a&&(u[r]=A(i[a.fieldName||r],t,r))}return u},convertWhereClause(i,t){if(!t)return{and:null,or:null};let s={and:[],or:[]};return t.forEach(u=>{let{field:o,value:r,operator:a="=",connector:f="AND"}=u,l=y(i,o),g=p=>a.toLowerCase()==="in"?p(l,"in",Array.isArray(r)?r:[r]):a==="contains"?p(l,"like",`%${r}%`):a==="starts_with"?p(l,"like",`${r}%`):a==="ends_with"?p(l,"like",`%${r}`):a==="eq"?p(l,"=",r):a==="ne"?p(l,"<>",r):a==="gt"?p(l,">",r):a==="gte"?p(l,">=",r):a==="lt"?p(l,"<",r):a==="lte"?p(l,"<=",r):p(l,a,r);f==="OR"?s.or.push(g):s.and.push(g)}),{and:s.and.length?s.and:null,or:s.or.length?s.or:null}},async withReturning(i,t,s,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",a=i[r]||u[0].value;o=await e.selectFrom(x(s)).selectAll().where(y(s,r),"=",a).executeTakeFirst()}return o},getModelName:x,getField:y}},E=(e,n)=>c=>{let{transformInput:m,withReturning:y,transformOutput:h,convertWhereClause:A,getModelName:x,getField:w}=ee(e,c,n);return{id:"kysely",async create(i){let{model:t,data:s,select:u}=i,o=m(s,t,"create"),r=e.insertInto(x(t)).values(o);return h(await y(o,r,t,[]),t,u)},async findOne(i){let{model:t,where:s,select:u}=i,{and:o,or:r}=A(t,s),a=e.selectFrom(x(t)).selectAll();o&&(a=a.where(l=>l.and(o.map(g=>g(l))))),r&&(a=a.where(l=>l.or(r.map(g=>g(l)))));let f=await a.executeTakeFirst();return f?h(f,t,u):null},async findMany(i){let{model:t,where:s,limit:u,offset:o,sortBy:r}=i,{and:a,or:f}=A(t,s),l=e.selectFrom(x(t));a&&(l=l.where(p=>p.and(a.map(O=>O(p))))),f&&(l=l.where(p=>p.or(f.map(O=>O(p))))),l=l.limit(u||100),o&&(l=l.offset(o)),r&&(l=l.orderBy(w(t,r.field),r.direction));let g=await l.selectAll().execute();return g?g.map(p=>h(p,t)):[]},async update(i){let{model:t,where:s,update:u}=i,{and:o,or:r}=A(t,s),a=m(u,t,"update"),f=e.updateTable(x(t)).set(a);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),r&&(f=f.where(g=>g.or(r.map(p=>p(g))))),await h(await y(a,f,t,s),t)},async updateMany(i){let{model:t,where:s,update:u}=i,{and:o,or:r}=A(t,s),a=m(u,t,"update"),f=e.updateTable(x(t)).set(a);return o&&(f=f.where(g=>g.and(o.map(p=>p(g))))),r&&(f=f.where(g=>g.or(r.map(p=>p(g))))),(await f.execute()).length},async delete(i){let{model:t,where:s}=i,{and:u,or:o}=A(t,s),r=e.deleteFrom(x(t));u&&(r=r.where(a=>a.and(u.map(f=>f(a))))),o&&(r=r.where(a=>a.or(o.map(f=>f(a))))),await r.execute()},async deleteMany(i){let{model:t,where:s}=i,{and:u,or:o}=A(t,s),r=e.deleteFrom(x(t));return u&&(r=r.where(a=>a.and(u.map(f=>f(a))))),o&&(r=r.where(a=>a.or(o.map(f=>f(a))))),(await r.execute()).length},options:n}};0&&(module.exports={createKyselyAdapter,kyselyAdapter});
|
|
1
|
+
"use strict";var I=Object.defineProperty;var M=Object.getOwnPropertyDescriptor;var _=Object.getOwnPropertyNames;var C=Object.prototype.hasOwnProperty;var j=(e,t)=>{for(var c in t)I(e,c,{get:t[c],enumerable:!0})},K=(e,t,c,m)=>{if(t&&typeof t=="object"||typeof t=="function")for(let y of _(t))!C.call(e,y)&&y!==c&&I(e,y,{get:()=>t[y],enumerable:!(m=M(t,y))||m.enumerable});return e};var H=e=>K(I({},"__esModule",{value:!0}),e);var re={};j(re,{createKyselyAdapter:()=>D,kyselyAdapter:()=>P});module.exports=H(re);var v=require("kysely"),b=require("kysely");function S(e){if(!e)return null;if("dialect"in e)return S(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 v.MssqlDialect)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var D=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 v.Kysely({dialect:t.dialect}),databaseType:t.type};let c,m=S(t);return"createDriver"in t&&(c=t),"aggregate"in t&&(c=new b.SqliteDialect({database:t})),"getConnection"in t&&(c=new b.MysqlDialect(t)),"connect"in t&&(c=new b.PostgresDialect({pool:t})),{kysely:c?new v.Kysely({dialect:c}):null,databaseType:m}};var d=require("zod"),ae=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)}),oe=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)}),de=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()}),ue=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),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?F:globalThis),U=new Proxy(F,{get(e,t){return T()[t]??F[t]},has(e,t){let c=T();return t in c||t in F},set(e,t,c){let m=T(!0);return m[t]=c,!0},deleteProperty(e,t){if(!t)return!1;let c=T(!0);return delete c[t],!0},ownKeys(){let e=T(!0);return Object.keys(e)}});function W(e){return e?e!=="false":!1}var $=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var J=$==="test"||W(U.TEST);var B=require("nanoid"),R=e=>(0,B.nanoid)(e);var L=require("oslo/oauth2"),G=require("zod"),Z=require("better-call");var V=require("consola"),N=["info","success","warn","error","debug"];function Q(e,t){return N.indexOf(t)<=N.indexOf(e)}var X=(0,V.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),E=e=>{let t=e?.disabled!==!0,c=e?.level??"error",m=(y,h,A=[])=>{if(!(!t||!Q(c,y))){if(!e||typeof e.log!="function"){X[y]("",h,...A);return}e.log(y==="success"?"info":y,h,A)}};return Object.fromEntries(N.map(y=>[y,(...[h,...A])=>m(y,h,A)]))},Y=E();var k=e=>{let t=e.plugins?.reduce((w,i)=>{let r=i.schema;if(!r)return w;for(let[a,u]of Object.entries(r))w[a]={fields:{...w[a]?.fields,...u.fields},modelName:u.modelName||a};return w},{}),c=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:y,session:h,account:A,...x}=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"},...y?.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},...h?.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},...x,...c?m:{}}};var ee=require("zod");function q(e,t,c){return c==="update"?e:e==null&&t.defaultValue?typeof t.defaultValue=="function"?t.defaultValue():t.defaultValue:e}var te=(e,t,c)=>{let m=k(t);function y(i,r){if(r==="id")return r;let a=m[i].fields[r];return a||console.log("Field not found",i,r),a.fieldName||r}function h(i,r,a){let{type:u="sqlite"}=c||{},o=m[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"}=c||{},o=m[r].fields[a];return o.type==="boolean"&&u==="sqlite"&&i!==null?i===1:o.type==="date"&&i?new Date(i):i}function x(i){return m[i].modelName}let w=t?.advanced?.generateId===!1;return{transformInput(i,r,a){let u=w||a==="update"?{}:{id:t.advanced?.generateId?t.advanced.generateId({model:r}):i.id||R()},o=m[r].fields;for(let n in o){let s=i[n];u[o[n].fieldName||n]=q(h(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=m[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,l=y(i,o),g=p=>s.toLowerCase()==="in"?p(l,"in",Array.isArray(n)?n:[n]):s==="contains"?p(l,"like",`%${n}%`):s==="starts_with"?p(l,"like",`${n}%`):s==="ends_with"?p(l,"like",`%${n}`):s==="eq"?p(l,"=",n):s==="ne"?p(l,"<>",n):s==="gt"?p(l,">",n):s==="gte"?p(l,">=",n):s==="lt"?p(l,"<",n):s==="lte"?p(l,"<=",n):p(l,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(c?.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(x(a)).selectAll().where(y(a,n),"=",s).executeTakeFirst()}return o},getModelName:x,getField:y}},P=(e,t)=>c=>{let{transformInput:m,withReturning:y,transformOutput:h,convertWhereClause:A,getModelName:x,getField:w}=te(e,c,t);return{id:"kysely",async create(i){let{model:r,data:a,select:u}=i,o=m(a,r,"create"),n=e.insertInto(x(r)).values(o);return h(await y(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(x(r)).selectAll();o&&(s=s.where(l=>l.and(o.map(g=>g(l))))),n&&(s=s.where(l=>l.or(n.map(g=>g(l)))));let f=await s.executeTakeFirst();return f?h(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),l=e.selectFrom(x(r));s&&(l=l.where(p=>p.and(s.map(O=>O(p))))),f&&(l=l.where(p=>p.or(f.map(O=>O(p))))),l=l.limit(u||100),o&&(l=l.offset(o)),n&&(l=l.orderBy(w(r,n.field),n.direction));let g=await l.selectAll().execute();return g?g.map(p=>h(p,r)):[]},async update(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=m(u,r,"update"),f=e.updateTable(x(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 h(await y(s,f,r,a),r)},async updateMany(i){let{model:r,where:a,update:u}=i,{and:o,or:n}=A(r,a),s=m(u,r,"update"),f=e.updateTable(x(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(x(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(x(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,5 +1,5 @@
|
|
|
1
1
|
import { Kysely } from 'kysely';
|
|
2
|
-
import { B as BetterAuthOptions, K as KyselyDatabaseType, W as Where } from '../auth-
|
|
2
|
+
import { B as BetterAuthOptions, K as KyselyDatabaseType, W as Where } from '../auth-e68nibnq.cjs';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import 'better-call';
|
|
5
5
|
import '../helper-DxMBi7M2.cjs';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Kysely } from 'kysely';
|
|
2
|
-
import { B as BetterAuthOptions, K as KyselyDatabaseType, W as Where } from '../auth-
|
|
2
|
+
import { B as BetterAuthOptions, K as KyselyDatabaseType, W as Where } from '../auth-D0j--lk2.js';
|
|
3
3
|
import 'zod';
|
|
4
4
|
import 'better-call';
|
|
5
5
|
import '../helper-DxMBi7M2.js';
|
package/dist/adapters/kysely.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Kysely as O,MssqlDialect as L}from"kysely";import{MysqlDialect as I,PostgresDialect as D,SqliteDialect as N}from"kysely";function q(e){if(!e)return null;if("dialect"in e)return q(e.dialect);if("createDriver"in e){if(e instanceof N)return"sqlite";if(e instanceof I)return"mysql";if(e instanceof D)return"postgres";if(e instanceof L)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var S=async e=>{let a=e.database;if(!a)return{kysely:null,databaseType:null};if("db"in a)return{kysely:a.db,databaseType:a.type};if("dialect"in a)return{kysely:new O({dialect:a.dialect}),databaseType:a.type};let p,m=q(a);return"createDriver"in a&&(p=a),"aggregate"in a&&(p=new N({database:a})),"getConnection"in a&&(p=new I(a)),"connect"in a&&(p=new D({pool:a})),{kysely:p?new O({dialect:p}):null,databaseType:m}};import{z as d}from"zod";var X=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)}),Y=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)}),ee=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()}),te=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 T=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?T:globalThis),U=new Proxy(T,{get(e,a){return w()[a]??T[a]},has(e,a){let p=w();return a in p||a in T},set(e,a,p){let m=w(!0);return m[a]=p,!0},deleteProperty(e,a){if(!a)return!1;let p=w(!0);return delete p[a],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function V(e){return e?e!=="false":!1}var E=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var P=E==="test"||V(U.TEST);import{nanoid as M}from"nanoid";var k=e=>M(e);import{generateCodeVerifier as he,generateState as xe}from"oslo/oauth2";import{z as we}from"zod";import{APIError as Te}from"better-call";import{createConsola as C}from"consola";var R=["info","success","warn","error","debug"];function j(e,a){return R.indexOf(a)<=R.indexOf(e)}var K=C({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),B=e=>{let a=e?.disabled!==!0,p=e?.level??"error",m=(g,h,A=[])=>{if(!(!a||!j(p,g))){if(!e||typeof e.log!="function"){K[g]("",h,...A);return}e.log(g==="success"?"info":g,h,A)}};return Object.fromEntries(R.map(g=>[g,(...[h,...A])=>m(g,h,A)]))},H=B();var v=e=>{let a=e.plugins?.reduce((b,n)=>{let t=n.schema;if(!t)return b;for(let[i,u]of Object.entries(t))b[i]={fields:{...b[i]?.fields,...u.fields},modelName:u.modelName||i};return b},{}),p=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:g,session:h,account:A,...x}=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"},...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},...h?.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},...x,...p?m:{}}};import{z as Qe}from"zod";var $=(e,a,p)=>{let m=v(a);function g(n,t){if(t==="id")return t;let i=m[n].fields[t];return i||console.log("Field not found",n,t),i.fieldName||t}function h(n,t,i){let{type:u="sqlite"}=p||{},o=m[t].fields[i];return o.type==="boolean"&&u==="sqlite"?n?1:0:o.type==="date"&&n&&n instanceof Date&&u==="sqlite"?n.toISOString():n}function A(n,t,i){let{type:u="sqlite"}=p||{},o=m[t].fields[i];return o.type==="boolean"&&u==="sqlite"&&n!==null?n===1:o.type==="date"&&n?new Date(n):n}function x(n){return m[n].modelName}let b=a?.advanced?.generateId===!1;return{transformInput(n,t,i){let u=b||i==="update"?{}:{id:n.id||(a.advanced?.generateId?a.advanced.generateId({model:t}):k())};for(let o in n){let r=m[t].fields[o];r&&(u[r.fieldName||o]=h(n[o],t,o))}return u},transformOutput(n,t,i=[]){if(!n)return null;let u=n.id?i.length===0||i.includes("id")?{id:n.id}:{}:{},o=m[t].fields;for(let r in o){if(i.length&&!i.includes(r))continue;let s=o[r];s&&(u[r]=A(n[s.fieldName||r],t,r))}return u},convertWhereClause(n,t){if(!t)return{and:null,or:null};let i={and:[],or:[]};return t.forEach(u=>{let{field:o,value:r,operator:s="=",connector:c="AND"}=u,l=g(n,o),y=f=>s.toLowerCase()==="in"?f(l,"in",Array.isArray(r)?r:[r]):s==="contains"?f(l,"like",`%${r}%`):s==="starts_with"?f(l,"like",`${r}%`):s==="ends_with"?f(l,"like",`%${r}`):s==="eq"?f(l,"=",r):s==="ne"?f(l,"<>",r):s==="gt"?f(l,">",r):s==="gte"?f(l,">=",r):s==="lt"?f(l,"<",r):s==="lte"?f(l,"<=",r):f(l,s,r);c==="OR"?i.or.push(y):i.and.push(y)}),{and:i.and.length?i.and:null,or:i.or.length?i.or:null}},async withReturning(n,t,i,u){let o;if(p?.type!=="mysql")o=await t.returningAll().executeTakeFirst();else{await t.execute();let r=n.id?"id":u[0].field?u[0].field:"id",s=n[r]||u[0].value;o=await e.selectFrom(x(i)).selectAll().where(g(i,r),"=",s).executeTakeFirst()}return o},getModelName:x,getField:g}},W=(e,a)=>p=>{let{transformInput:m,withReturning:g,transformOutput:h,convertWhereClause:A,getModelName:x,getField:b}=$(e,p,a);return{id:"kysely",async create(n){let{model:t,data:i,select:u}=n,o=m(i,t,"create"),r=e.insertInto(x(t)).values(o);return h(await g(o,r,t,[]),t,u)},async findOne(n){let{model:t,where:i,select:u}=n,{and:o,or:r}=A(t,i),s=e.selectFrom(x(t)).selectAll();o&&(s=s.where(l=>l.and(o.map(y=>y(l))))),r&&(s=s.where(l=>l.or(r.map(y=>y(l)))));let c=await s.executeTakeFirst();return c?h(c,t,u):null},async findMany(n){let{model:t,where:i,limit:u,offset:o,sortBy:r}=n,{and:s,or:c}=A(t,i),l=e.selectFrom(x(t));s&&(l=l.where(f=>f.and(s.map(F=>F(f))))),c&&(l=l.where(f=>f.or(c.map(F=>F(f))))),l=l.limit(u||100),o&&(l=l.offset(o)),r&&(l=l.orderBy(b(t,r.field),r.direction));let y=await l.selectAll().execute();return y?y.map(f=>h(f,t)):[]},async update(n){let{model:t,where:i,update:u}=n,{and:o,or:r}=A(t,i),s=m(u,t,"update"),c=e.updateTable(x(t)).set(s);return o&&(c=c.where(y=>y.and(o.map(f=>f(y))))),r&&(c=c.where(y=>y.or(r.map(f=>f(y))))),await h(await g(s,c,t,i),t)},async updateMany(n){let{model:t,where:i,update:u}=n,{and:o,or:r}=A(t,i),s=m(u,t,"update"),c=e.updateTable(x(t)).set(s);return o&&(c=c.where(y=>y.and(o.map(f=>f(y))))),r&&(c=c.where(y=>y.or(r.map(f=>f(y))))),(await c.execute()).length},async delete(n){let{model:t,where:i}=n,{and:u,or:o}=A(t,i),r=e.deleteFrom(x(t));u&&(r=r.where(s=>s.and(u.map(c=>c(s))))),o&&(r=r.where(s=>s.or(o.map(c=>c(s))))),await r.execute()},async deleteMany(n){let{model:t,where:i}=n,{and:u,or:o}=A(t,i),r=e.deleteFrom(x(t));return u&&(r=r.where(s=>s.and(u.map(c=>c(s))))),o&&(r=r.where(s=>s.or(o.map(c=>c(s))))),(await r.execute()).length},options:a}};export{S as createKyselyAdapter,W as kyselyAdapter};
|
|
1
|
+
import{Kysely as I,MssqlDialect as V}from"kysely";import{MysqlDialect as D,PostgresDialect as N,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 D)return"mysql";if(e instanceof N)return"postgres";if(e instanceof V)return"mssql"}return"aggregate"in e?"sqlite":"getConnection"in e?"mysql":"connect"in e?"postgres":null}var U=async e=>{let i=e.database;if(!i)return{kysely:null,databaseType:null};if("db"in i)return{kysely:i.db,databaseType:i.type};if("dialect"in i)return{kysely:new I({dialect:i.dialect}),databaseType:i.type};let p,m=S(i);return"createDriver"in i&&(p=i),"aggregate"in i&&(p=new q({database:i})),"getConnection"in i&&(p=new D(i)),"connect"in i&&(p=new N({pool:i})),{kysely:p?new I({dialect:p}):null,databaseType:m}};import{z as d}from"zod";var Y=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)}),ee=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)}),te=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()}),re=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 T=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?T:globalThis),B=new Proxy(T,{get(e,i){return w()[i]??T[i]},has(e,i){let p=w();return i in p||i in T},set(e,i,p){let m=w(!0);return m[i]=p,!0},deleteProperty(e,i){if(!i)return!1;let p=w(!0);return delete p[i],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function E(e){return e?e!=="false":!1}var P=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var M=P==="test"||E(B.TEST);import{nanoid as _}from"nanoid";var k=e=>_(e);import{generateCodeVerifier as xe,generateState as be}from"oslo/oauth2";import{z as ve}from"zod";import{APIError as ke}from"better-call";import{createConsola as j}from"consola";var R=["info","success","warn","error","debug"];function K(e,i){return R.indexOf(i)<=R.indexOf(e)}var H=j({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),L=e=>{let i=e?.disabled!==!0,p=e?.level??"error",m=(g,h,A=[])=>{if(!(!i||!K(p,g))){if(!e||typeof e.log!="function"){H[g]("",h,...A);return}e.log(g==="success"?"info":g,h,A)}};return Object.fromEntries(R.map(g=>[g,(...[h,...A])=>m(g,h,A)]))},W=L();var v=e=>{let i=e.plugins?.reduce((b,n)=>{let t=n.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},{}),p=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:g,session:h,account:A,...x}=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"},...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},...h?.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},...x,...p?m:{}}};import{z as Xe}from"zod";function O(e,i,p){return p==="update"?e:e==null&&i.defaultValue?typeof i.defaultValue=="function"?i.defaultValue():i.defaultValue:e}var J=(e,i,p)=>{let m=v(i);function g(n,t){if(t==="id")return t;let a=m[n].fields[t];return a||console.log("Field not found",n,t),a.fieldName||t}function h(n,t,a){let{type:u="sqlite"}=p||{},o=m[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&n!==null&&n!==void 0?n?1:0:o.type==="date"&&n&&n instanceof Date&&u==="sqlite"?n.toISOString():n}function A(n,t,a){let{type:u="sqlite"}=p||{},o=m[t].fields[a];return o.type==="boolean"&&u==="sqlite"&&n!==null?n===1:o.type==="date"&&n?new Date(n):n}function x(n){return m[n].modelName}let b=i?.advanced?.generateId===!1;return{transformInput(n,t,a){let u=b||a==="update"?{}:{id:i.advanced?.generateId?i.advanced.generateId({model:t}):n.id||k()},o=m[t].fields;for(let r in o){let s=n[r];u[o[r].fieldName||r]=O(h(s,t,r),o[r],a)}return u},transformOutput(n,t,a=[]){if(!n)return null;let u=n.id?a.length===0||a.includes("id")?{id:n.id}:{}:{},o=m[t].fields;for(let r in o){if(a.length&&!a.includes(r))continue;let s=o[r];s&&(u[r]=A(n[s.fieldName||r],t,r))}return u},convertWhereClause(n,t){if(!t)return{and:null,or:null};let a={and:[],or:[]};return t.forEach(u=>{let{field:o,value:r,operator:s="=",connector:c="AND"}=u,l=g(n,o),y=f=>s.toLowerCase()==="in"?f(l,"in",Array.isArray(r)?r:[r]):s==="contains"?f(l,"like",`%${r}%`):s==="starts_with"?f(l,"like",`${r}%`):s==="ends_with"?f(l,"like",`%${r}`):s==="eq"?f(l,"=",r):s==="ne"?f(l,"<>",r):s==="gt"?f(l,">",r):s==="gte"?f(l,">=",r):s==="lt"?f(l,"<",r):s==="lte"?f(l,"<=",r):f(l,s,r);c==="OR"?a.or.push(y):a.and.push(y)}),{and:a.and.length?a.and:null,or:a.or.length?a.or:null}},async withReturning(n,t,a,u){let o;if(p?.type!=="mysql")o=await t.returningAll().executeTakeFirst();else{await t.execute();let r=n.id?"id":u[0].field?u[0].field:"id",s=n[r]||u[0].value;o=await e.selectFrom(x(a)).selectAll().where(g(a,r),"=",s).executeTakeFirst()}return o},getModelName:x,getField:g}},$=(e,i)=>p=>{let{transformInput:m,withReturning:g,transformOutput:h,convertWhereClause:A,getModelName:x,getField:b}=J(e,p,i);return{id:"kysely",async create(n){let{model:t,data:a,select:u}=n,o=m(a,t,"create"),r=e.insertInto(x(t)).values(o);return h(await g(o,r,t,[]),t,u)},async findOne(n){let{model:t,where:a,select:u}=n,{and:o,or:r}=A(t,a),s=e.selectFrom(x(t)).selectAll();o&&(s=s.where(l=>l.and(o.map(y=>y(l))))),r&&(s=s.where(l=>l.or(r.map(y=>y(l)))));let c=await s.executeTakeFirst();return c?h(c,t,u):null},async findMany(n){let{model:t,where:a,limit:u,offset:o,sortBy:r}=n,{and:s,or:c}=A(t,a),l=e.selectFrom(x(t));s&&(l=l.where(f=>f.and(s.map(F=>F(f))))),c&&(l=l.where(f=>f.or(c.map(F=>F(f))))),l=l.limit(u||100),o&&(l=l.offset(o)),r&&(l=l.orderBy(b(t,r.field),r.direction));let y=await l.selectAll().execute();return y?y.map(f=>h(f,t)):[]},async update(n){let{model:t,where:a,update:u}=n,{and:o,or:r}=A(t,a),s=m(u,t,"update"),c=e.updateTable(x(t)).set(s);return o&&(c=c.where(y=>y.and(o.map(f=>f(y))))),r&&(c=c.where(y=>y.or(r.map(f=>f(y))))),await h(await g(s,c,t,a),t)},async updateMany(n){let{model:t,where:a,update:u}=n,{and:o,or:r}=A(t,a),s=m(u,t,"update"),c=e.updateTable(x(t)).set(s);return o&&(c=c.where(y=>y.and(o.map(f=>f(y))))),r&&(c=c.where(y=>y.or(r.map(f=>f(y))))),(await c.execute()).length},async delete(n){let{model:t,where:a}=n,{and:u,or:o}=A(t,a),r=e.deleteFrom(x(t));u&&(r=r.where(s=>s.and(u.map(c=>c(s))))),o&&(r=r.where(s=>s.or(o.map(c=>c(s))))),await r.execute()},async deleteMany(n){let{model:t,where:a}=n,{and:u,or:o}=A(t,a),r=e.deleteFrom(x(t));return u&&(r=r.where(s=>s.and(u.map(c=>c(s))))),o&&(r=r.where(s=>s.or(o.map(c=>c(s))))),(await r.execute()).length},options:i}};export{U as createKyselyAdapter,$ as kyselyAdapter};
|
package/dist/adapters/memory.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var x=Object.defineProperty;var
|
|
1
|
+
"use strict";var x=Object.defineProperty;var q=Object.getOwnPropertyDescriptor;var S=Object.getOwnPropertyNames;var U=Object.prototype.hasOwnProperty;var B=(e,n)=>{for(var l in n)x(e,l,{get:n[l],enumerable:!0})},L=(e,n,l,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of S(n))!U.call(e,s)&&s!==l&&x(e,s,{get:()=>n[s],enumerable:!(u=q(n,s))||u.enumerable});return e};var V=e=>L(x({},"__esModule",{value:!0}),e);var G={};B(G,{memoryAdapter:()=>N});module.exports=V(G);var r=require("zod"),X=r.z.object({id:r.z.string(),providerId:r.z.string(),accountId:r.z.string(),userId:r.z.string(),accessToken:r.z.string().nullish(),refreshToken:r.z.string().nullish(),idToken:r.z.string().nullish(),accessTokenExpiresAt:r.z.date().nullish(),refreshTokenExpiresAt:r.z.date().nullish(),scope:r.z.string().nullish(),password:r.z.string().nullish(),createdAt:r.z.date().default(()=>new Date),updatedAt:r.z.date().default(()=>new Date)}),Y=r.z.object({id:r.z.string(),email:r.z.string().transform(e=>e.toLowerCase()),emailVerified:r.z.boolean().default(!1),name:r.z.string(),image:r.z.string().nullish(),createdAt:r.z.date().default(()=>new Date),updatedAt:r.z.date().default(()=>new Date)}),ee=r.z.object({id:r.z.string(),userId:r.z.string(),expiresAt:r.z.date(),createdAt:r.z.date().default(()=>new Date),updatedAt:r.z.date().default(()=>new Date),token:r.z.string(),ipAddress:r.z.string().nullish(),userAgent:r.z.string().nullish()}),te=r.z.object({id:r.z.string(),value:r.z.string(),createdAt:r.z.date().default(()=>new Date),updatedAt:r.z.date().default(()=>new Date),expiresAt:r.z.date(),identifier:r.z.string()});var A=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?A:globalThis),k=new Proxy(A,{get(e,n){return y()[n]??A[n]},has(e,n){let l=y();return n in l||n in A},set(e,n,l){let u=y(!0);return u[n]=l,!0},deleteProperty(e,n){if(!n)return!1;let l=y(!0);return delete l[n],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function E(e){return e?e!=="false":!1}var P=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var M=P==="test"||E(k.TEST);var F=require("nanoid"),h=e=>(0,F.nanoid)(e);var R=require("oslo/oauth2"),C=require("zod"),j=require("better-call");var O=require("consola"),b=["info","success","warn","error","debug"];function K(e,n){return b.indexOf(n)<=b.indexOf(e)}var H=(0,O.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),I=e=>{let n=e?.disabled!==!0,l=e?.level??"error",u=(s,f,t=[])=>{if(!(!n||!K(l,s))){if(!e||typeof e.log!="function"){H[s]("",f,...t);return}e.log(s==="success"?"info":s,f,t)}};return Object.fromEntries(b.map(s=>[s,(...[f,...t])=>u(s,f,t)]))},W=I();var m=e=>{let n=e.plugins?.reduce((i,o)=>{let c=o.schema;if(!c)return i;for(let[a,p]of Object.entries(c))i[a]={fields:{...i[a]?.fields,...p.fields},modelName:p.modelName||a};return i},{}),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:s,session:f,account:t,...d}=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"},...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},...d,...l?u:{}}};var $=require("zod");var D=require("kysely"),w=require("kysely");function v(e,n,l){return l==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var z=e=>{let n=m(e);function l(u,s){return s==="id"?s:n[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||h()},d=n[s].fields;for(let i in d){let o=u[i];o===void 0&&!d[i].defaultValue||(t[d[i].fieldName||i]=v(o,d[i],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}:{}:{},d=n[s].fields;for(let i in d){if(f.length&&!f.includes(i))continue;let o=d[i];o&&(t[i]=u[o.fieldName||i])}return t},convertWhereClause(u,s,f){return s.filter(t=>u.every(d=>{let{field:i,value:o,operator:c}=d,a=l(f,i);if(c==="in"){if(!Array.isArray(o))throw new Error("Value must be an array");return o.includes(t[a])}else return c==="contains"?t[a].includes(o):c==="starts_with"?t[a].startsWith(o):c==="ends_with"?t[a].endsWith(o):t[a]===o}))},getField:l}},N=e=>n=>{let{transformInput:l,transformOutput:u,convertWhereClause:s,getField:f}=z(n);return{id:"memory",create:async({model:t,data:d})=>{let i=l(d,t,"create");return e[t].push(i),u(i,t)},findOne:async({model:t,where:d,select:i})=>{let o=e[t],a=s(d,o,t)[0]||null;return u(a,t,i)},findMany:async({model:t,where:d,sortBy:i,limit:o,offset:c})=>{let a=e[t];return d&&(a=s(d,a,t)),i&&(a=a.sort((p,T)=>{let g=f(t,i.field);return i.direction==="asc"?p[g]>T[g]?1:-1:p[g]<T[g]?1:-1})),c!==void 0&&(a=a.slice(c)),o!==void 0&&(a=a.slice(0,o)),a.map(p=>u(p,t))},update:async({model:t,where:d,update:i})=>{let o=e[t],c=s(d,o,t);return c.forEach(a=>{Object.assign(a,l(i,t,"update"))}),u(c[0],t)},delete:async({model:t,where:d})=>{let i=e[t],o=s(d,i,t);e[t]=i.filter(c=>!o.includes(c))},deleteMany:async({model:t,where:d})=>{let i=e[t],o=s(d,i,t),c=0;return e[t]=i.filter(a=>o.includes(a)?(c++,!1):!o.includes(a)),c},updateMany(t){let{model:d,where:i,update:o}=t,c=e[d],a=s(i,c,d);return a.forEach(p=>{Object.assign(p,o)}),a[0]||null}}};0&&(module.exports={memoryAdapter});
|
package/dist/adapters/memory.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z as r}from"zod";var
|
|
1
|
+
import{z as r}from"zod";var P=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)}),M=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)}),_=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()}),C=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 A=Object.create(null),y=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?A:globalThis),v=new Proxy(A,{get(e,o){return y()[o]??A[o]},has(e,o){let f=y();return o in f||o in A},set(e,o,f){let u=y(!0);return u[o]=f,!0},deleteProperty(e,o){if(!o)return!1;let f=y(!0);return delete f[o],!0},ownKeys(){let e=y(!0);return Object.keys(e)}});function k(e){return e?e!=="false":!1}var F=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var R=F==="test"||k(v.TEST);import{nanoid as O}from"nanoid";var h=e=>O(e);import{generateCodeVerifier as ie,generateState as se}from"oslo/oauth2";import{z as oe}from"zod";import{APIError as ue}from"better-call";import{createConsola as D}from"consola";var x=["info","success","warn","error","debug"];function N(e,o){return x.indexOf(o)<=x.indexOf(e)}var q=D({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),T=e=>{let o=e?.disabled!==!0,f=e?.level??"error",u=(s,c,t=[])=>{if(!(!o||!N(f,s))){if(!e||typeof e.log!="function"){q[s]("",c,...t);return}e.log(s==="success"?"info":s,c,t)}};return Object.fromEntries(x.map(s=>[s,(...[c,...t])=>u(s,c,t)]))},S=T();var m=e=>{let o=e.plugins?.reduce((n,a)=>{let l=a.schema;if(!l)return n;for(let[i,p]of Object.entries(l))n[i]={fields:{...n[i]?.fields,...p.fields},modelName:p.modelName||i};return n},{}),f=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:c,account:t,...d}=o||{};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},...c?.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},...d,...f?u:{}}};import{z as Ee}from"zod";import{Kysely as _e,MssqlDialect as Ce}from"kysely";import{MysqlDialect as Ke,PostgresDialect as He,SqliteDialect as We}from"kysely";function b(e,o,f){return f==="update"?e:e==null&&o.defaultValue?typeof o.defaultValue=="function"?o.defaultValue():o.defaultValue:e}var L=e=>{let o=m(e);function f(u,s){return s==="id"?s:o[u].fields[s].fieldName||s}return{transformInput(u,s,c){let t=c==="update"?{}:{id:e.advanced?.generateId?e.advanced.generateId({model:s}):u.id||h()},d=o[s].fields;for(let n in d){let a=u[n];a===void 0&&!d[n].defaultValue||(t[d[n].fieldName||n]=b(a,d[n],c))}return t},transformOutput(u,s,c=[]){if(!u)return null;let t=u.id||u._id?c.length===0||c.includes("id")?{id:u.id}:{}:{},d=o[s].fields;for(let n in d){if(c.length&&!c.includes(n))continue;let a=d[n];a&&(t[n]=u[a.fieldName||n])}return t},convertWhereClause(u,s,c){return s.filter(t=>u.every(d=>{let{field:n,value:a,operator:l}=d,i=f(c,n);if(l==="in"){if(!Array.isArray(a))throw new Error("Value must be an array");return a.includes(t[i])}else return l==="contains"?t[i].includes(a):l==="starts_with"?t[i].startsWith(a):l==="ends_with"?t[i].endsWith(a):t[i]===a}))},getField:f}},B=e=>o=>{let{transformInput:f,transformOutput:u,convertWhereClause:s,getField:c}=L(o);return{id:"memory",create:async({model:t,data:d})=>{let n=f(d,t,"create");return e[t].push(n),u(n,t)},findOne:async({model:t,where:d,select:n})=>{let a=e[t],i=s(d,a,t)[0]||null;return u(i,t,n)},findMany:async({model:t,where:d,sortBy:n,limit:a,offset:l})=>{let i=e[t];return d&&(i=s(d,i,t)),n&&(i=i.sort((p,w)=>{let g=c(t,n.field);return n.direction==="asc"?p[g]>w[g]?1:-1:p[g]<w[g]?1:-1})),l!==void 0&&(i=i.slice(l)),a!==void 0&&(i=i.slice(0,a)),i.map(p=>u(p,t))},update:async({model:t,where:d,update:n})=>{let a=e[t],l=s(d,a,t);return l.forEach(i=>{Object.assign(i,f(n,t,"update"))}),u(l[0],t)},delete:async({model:t,where:d})=>{let n=e[t],a=s(d,n,t);e[t]=n.filter(l=>!a.includes(l))},deleteMany:async({model:t,where:d})=>{let n=e[t],a=s(d,n,t),l=0;return e[t]=n.filter(i=>a.includes(i)?(l++,!1):!a.includes(i)),l},updateMany(t){let{model:d,where:n,update:a}=t,l=e[d],i=s(n,l,d);return i.forEach(p=>{Object.assign(p,a)}),i[0]||null}}};export{B as memoryAdapter};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var b=Object.defineProperty;var S=Object.getOwnPropertyDescriptor;var U=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var L=(e,d)=>{for(var i in d)b(e,i,{get:d[i],enumerable:!0})},M=(e,d,i,u)=>{if(d&&typeof d=="object"||typeof d=="function")for(let r of U(d))!B.call(e,r)&&r!==i&&b(e,r,{get:()=>d[r],enumerable:!(u=S(d,r))||u.enumerable});return e};var V=e=>M(b({},"__esModule",{value:!0}),e);var X={};L(X,{mongodbAdapter:()=>Q});module.exports=V(X);var A=require("mongodb");var s=require("zod"),te=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)}),re=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)}),ne=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()}),ie=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 x=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?x:globalThis),O=new Proxy(x,{get(e,d){return w()[d]??x[d]},has(e,d){let i=w();return d in i||d in x},set(e,d,i){let u=w(!0);return u[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 E(e){return e?e!=="false":!1}var P=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var _=P==="test"||E(O.TEST);var C=require("nanoid");var I=require("oslo/oauth2"),j=require("zod"),W=require("better-call");var R=require("consola"),T=["info","success","warn","error","debug"];function K(e,d){return T.indexOf(d)<=T.indexOf(e)}var H=(0,R.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),D=e=>{let d=e?.disabled!==!0,i=e?.level??"error",u=(r,n,t=[])=>{if(!(!d||!K(i,r))){if(!e||typeof e.log!="function"){H[r]("",n,...t);return}e.log(r==="success"?"info":r,n,t)}};return Object.fromEntries(T.map(r=>[r,(...[n,...t])=>u(r,n,t)]))},z=D();var h=e=>{let d=e.plugins?.reduce((a,l)=>{let c=l.schema;if(!c)return a;for(let[f,g]of Object.entries(c))a[f]={fields:{...a[f]?.fields,...g.fields},modelName:g.modelName||f};return a},{}),i=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:r,session:n,account:t,...o}=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"},...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},...n?.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},...o,...i?u:{}}};var J=require("zod");var N=require("kysely"),v=require("kysely");var Z=e=>{let d=h(e);function i(n,t,o){if(n==="id"||n==="_id"||d[o].fields[n].references?.field==="id"){if(typeof t!="string"){if(t instanceof A.ObjectId)return t;if(Array.isArray(t))return t.map(a=>{if(typeof a=="string")try{return new A.ObjectId(a)}catch{return a}if(a instanceof A.ObjectId)return a;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new A.ObjectId(t)}catch{return t}}return t}function u(n,t,o){return n==="id"||d[o].fields[n].references?.field==="id"?t instanceof A.ObjectId?t.toHexString():Array.isArray(t)?t.map(a=>a instanceof A.ObjectId?a.toHexString():a):t:t}function r(n,t){return n==="id"?"_id":d[t].fields[n].fieldName||n}return{transformInput(n,t){let o={};for(let a in n){let l=d[t].fields[a];l&&(o[l.fieldName||a]=i(a,n[a],t))}return o},transformOutput(n,t,o=[]){let a=n.id||n._id?o.length===0||o.includes("id")?{id:n.id?n.id.toString():n._id.toString()}:{}:{},l=d[t].fields;for(let c in l){if(o.length&&!o.includes(c))continue;let f=l[c];f&&(a[c]=u(c,n[f.fieldName||c],t))}return a},convertWhereClause(n,t){if(!n.length)return{};let o=n.map(f=>{let{field:g,value:p,operator:k="eq",connector:q="AND"}=f,m,y=r(g,t);switch(k.toLowerCase()){case"eq":m={[y]:i(g,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?i(g,p,t):[i(g,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:q}});if(o.length===1)return o[0].condition;let a=o.filter(f=>f.connector==="AND").map(f=>f.condition),l=o.filter(f=>f.connector==="OR").map(f=>f.condition),c={};return a.length&&(c={...c,$and:a}),l.length&&(c={...c,$or:l}),c},getModelName:n=>d[n].modelName,getField:r}},Q=e=>d=>{let i=Z(d);return{id:"mongodb-adapter",async create(u){let{model:r,data:n,select:t}=u,o=i.transformInput(n,r);o.id&&delete o.id;let l=(await e.collection(i.getModelName(r)).insertOne(o)).insertedId,c={...o,id:l.toString()};return i.transformOutput(c,r,t)},async findOne(u){let{model:r,where:n,select:t}=u,o=i.convertWhereClause(n,r),a=await e.collection(i.getModelName(r)).findOne(o);return a?i.transformOutput(a,r,t):null},async findMany(u){let{model:r,where:n,limit:t,offset:o,sortBy:a}=u,l=n?i.convertWhereClause(n,r):{},c=e.collection(i.getModelName(r)).find(l);return t&&c.limit(t),o&&c.skip(o),a&&c.sort(i.getField(a.field,r),a.direction==="desc"?-1:1),(await c.toArray()).map(g=>i.transformOutput(g,r))},async update(u){let{model:r,where:n,update:t}=u,o=i.convertWhereClause(n,r),a=i.transformInput(t,r),l=await e.collection(i.getModelName(r)).findOneAndUpdate(o,{$set:a},{returnDocument:"after"});return l?i.transformOutput(l,r):null},async updateMany(u){let{model:r,where:n,update:t}=u,o=i.convertWhereClause(n,r),a=i.transformInput(t,r);return(await e.collection(i.getModelName(r)).updateMany(o,{$set:a})).modifiedCount},async delete(u){let{model:r,where:n}=u,t=i.convertWhereClause(n,r),o=await e.collection(i.getModelName(r)).findOneAndDelete(t);return o?i.transformOutput(o,r):null},async deleteMany(u){let{model:r,where:n}=u,t=i.convertWhereClause(n,r);return(await e.collection(i.getModelName(r)).deleteMany(t)).deletedCount}}};0&&(module.exports={mongodbAdapter});
|
|
1
|
+
"use strict";var v=Object.defineProperty;var U=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var L=Object.prototype.hasOwnProperty;var V=(e,s)=>{for(var i in s)v(e,i,{get:s[i],enumerable:!0})},M=(e,s,i,c)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of B(s))!L.call(e,r)&&r!==i&&v(e,r,{get:()=>s[r],enumerable:!(c=U(s,r))||c.enumerable});return e};var E=e=>M(v({},"__esModule",{value:!0}),e);var Y={};V(Y,{mongodbAdapter:()=>X});module.exports=E(Y);var A=require("mongodb");var a=require("zod"),re=a.z.object({id:a.z.string(),providerId:a.z.string(),accountId:a.z.string(),userId:a.z.string(),accessToken:a.z.string().nullish(),refreshToken:a.z.string().nullish(),idToken:a.z.string().nullish(),accessTokenExpiresAt:a.z.date().nullish(),refreshTokenExpiresAt:a.z.date().nullish(),scope:a.z.string().nullish(),password:a.z.string().nullish(),createdAt:a.z.date().default(()=>new Date),updatedAt:a.z.date().default(()=>new Date)}),ne=a.z.object({id:a.z.string(),email:a.z.string().transform(e=>e.toLowerCase()),emailVerified:a.z.boolean().default(!1),name:a.z.string(),image:a.z.string().nullish(),createdAt:a.z.date().default(()=>new Date),updatedAt:a.z.date().default(()=>new Date)}),ie=a.z.object({id:a.z.string(),userId:a.z.string(),expiresAt:a.z.date(),createdAt:a.z.date().default(()=>new Date),updatedAt:a.z.date().default(()=>new Date),token:a.z.string(),ipAddress:a.z.string().nullish(),userAgent:a.z.string().nullish()}),se=a.z.object({id:a.z.string(),value:a.z.string(),createdAt:a.z.date().default(()=>new Date),updatedAt:a.z.date().default(()=>new Date),expiresAt:a.z.date(),identifier:a.z.string()});var x=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?x:globalThis),D=new Proxy(x,{get(e,s){return w()[s]??x[s]},has(e,s){let i=w();return s in i||s in x},set(e,s,i){let c=w(!0);return c[s]=i,!0},deleteProperty(e,s){if(!s)return!1;let i=w(!0);return delete i[s],!0},ownKeys(){let e=w(!0);return Object.keys(e)}});function P(e){return e?e!=="false":!1}var _=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var C=_==="test"||P(D.TEST);var $=require("nanoid");var R=require("oslo/oauth2"),W=require("zod"),K=require("better-call");var F=require("consola"),T=["info","success","warn","error","debug"];function H(e,s){return T.indexOf(s)<=T.indexOf(e)}var z=(0,F.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),I=e=>{let s=e?.disabled!==!0,i=e?.level??"error",c=(r,n,t=[])=>{if(!(!s||!H(i,r))){if(!e||typeof e.log!="function"){z[r]("",n,...t);return}e.log(r==="success"?"info":r,n,t)}};return Object.fromEntries(T.map(r=>[r,(...[n,...t])=>c(r,n,t)]))},J=I();var h=e=>{let s=e.plugins?.reduce((d,l)=>{let u=l.schema;if(!u)return d;for(let[f,g]of Object.entries(u))d[f]={fields:{...d[f]?.fields,...g.fields},modelName:g.modelName||f};return d},{}),i=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:n,account:t,...o}=s||{};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},...n?.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},...o,...i?c:{}}};var G=require("zod");var q=require("kysely"),k=require("kysely");function b(e,s,i){return i==="update"?e:e==null&&s.defaultValue?typeof s.defaultValue=="function"?s.defaultValue():s.defaultValue:e}var Q=e=>{let s=h(e);function i(n,t,o){if(n==="id"||n==="_id"||s[o].fields[n].references?.field==="id"){if(typeof t!="string"){if(t instanceof A.ObjectId)return t;if(Array.isArray(t))return t.map(d=>{if(typeof d=="string")try{return new A.ObjectId(d)}catch{return d}if(d instanceof A.ObjectId)return d;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new A.ObjectId(t)}catch{return t}}return t}function c(n,t,o){return n==="id"||s[o].fields[n].references?.field==="id"?t instanceof A.ObjectId?t.toHexString():Array.isArray(t)?t.map(d=>d instanceof A.ObjectId?d.toHexString():d):t:t}function r(n,t){return n==="id"?"_id":s[t].fields[n].fieldName||n}return{transformInput(n,t,o){let d=o==="update"?{}:{_id:new A.ObjectId},l=s[t].fields;for(let u in l){let f=n[u];f===void 0&&!l[u].defaultValue||(d[l[u].fieldName||u]=b(i(u,f,t),l[u],o))}return d},transformOutput(n,t,o=[]){let d=n.id||n._id?o.length===0||o.includes("id")?{id:n.id?n.id.toString():n._id.toString()}:{}:{},l=s[t].fields;for(let u in l){if(o.length&&!o.includes(u))continue;let f=l[u];f&&(d[u]=c(u,n[f.fieldName||u],t))}return d},convertWhereClause(n,t){if(!n.length)return{};let o=n.map(f=>{let{field:g,value:p,operator:O="eq",connector:S="AND"}=f,m,y=r(g,t);switch(O.toLowerCase()){case"eq":m={[y]:i(g,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?i(g,p,t):[i(g,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: ${O}`)}return{condition:m,connector:S}});if(o.length===1)return o[0].condition;let d=o.filter(f=>f.connector==="AND").map(f=>f.condition),l=o.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:n=>s[n].modelName,getField:r}},X=e=>s=>{let i=Q(s);return{id:"mongodb-adapter",async create(c){let{model:r,data:n,select:t}=c,o=i.transformInput(n,r,"create");o.id&&delete o.id;let l=(await e.collection(i.getModelName(r)).insertOne(o)).insertedId,u={...o,id:l.toString()};return i.transformOutput(u,r,t)},async findOne(c){let{model:r,where:n,select:t}=c,o=i.convertWhereClause(n,r),d=await e.collection(i.getModelName(r)).findOne(o);return d?i.transformOutput(d,r,t):null},async findMany(c){let{model:r,where:n,limit:t,offset:o,sortBy:d}=c,l=n?i.convertWhereClause(n,r):{},u=e.collection(i.getModelName(r)).find(l);return t&&u.limit(t),o&&u.skip(o),d&&u.sort(i.getField(d.field,r),d.direction==="desc"?-1:1),(await u.toArray()).map(g=>i.transformOutput(g,r))},async update(c){let{model:r,where:n,update:t}=c,o=i.convertWhereClause(n,r),d=i.transformInput(t,r,"update"),l=await e.collection(i.getModelName(r)).findOneAndUpdate(o,{$set:d},{returnDocument:"after"});return l?i.transformOutput(l,r):null},async updateMany(c){let{model:r,where:n,update:t}=c,o=i.convertWhereClause(n,r),d=i.transformInput(t,r,"update");return(await e.collection(i.getModelName(r)).updateMany(o,{$set:d})).modifiedCount},async delete(c){let{model:r,where:n}=c,t=i.convertWhereClause(n,r),o=await e.collection(i.getModelName(r)).findOneAndDelete(t);return o?i.transformOutput(o,r):null},async deleteMany(c){let{model:r,where:n}=c,t=i.convertWhereClause(n,r);return(await e.collection(i.getModelName(r)).deleteMany(t)).deletedCount}}};0&&(module.exports={mongodbAdapter});
|
package/dist/adapters/mongodb.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ObjectId as
|
|
1
|
+
import{ObjectId as A}from"mongodb";import{z as s}from"zod";var _=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)}),C=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)}),$=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()}),j=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 x=Object.create(null),w=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?x:globalThis),k=new Proxy(x,{get(e,d){return w()[d]??x[d]},has(e,d){let i=w();return d in i||d in x},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 F(e){return e?e!=="false":!1}var I=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var N=I==="test"||F(k.TEST);import{nanoid as Y}from"nanoid";import{generateCodeVerifier as oe,generateState as de}from"oslo/oauth2";import{z as ce}from"zod";import{APIError as fe}from"better-call";import{createConsola as S}from"consola";var v=["info","success","warn","error","debug"];function U(e,d){return v.indexOf(d)<=v.indexOf(e)}var B=S({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),O=e=>{let d=e?.disabled!==!0,i=e?.level??"error",l=(n,r,t=[])=>{if(!(!d||!U(i,n))){if(!e||typeof e.log!="function"){B[n]("",r,...t);return}e.log(n==="success"?"info":n,r,t)}};return Object.fromEntries(v.map(n=>[n,(...[r,...t])=>l(n,r,t)]))},L=O();var h=e=>{let d=e.plugins?.reduce((o,c)=>{let u=c.schema;if(!u)return o;for(let[f,g]of Object.entries(u))o[f]={fields:{...o[f]?.fields,...g.fields},modelName:g.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,...a}=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},...a,...i?l:{}}};import{z as _e}from"zod";import{Kysely as je,MssqlDialect as We}from"kysely";import{MysqlDialect as He,PostgresDialect as ze,SqliteDialect as Je}from"kysely";function b(e,d,i){return i==="update"?e:e==null&&d.defaultValue?typeof d.defaultValue=="function"?d.defaultValue():d.defaultValue:e}var M=e=>{let d=h(e);function i(r,t,a){if(r==="id"||r==="_id"||d[a].fields[r].references?.field==="id"){if(typeof t!="string"){if(t instanceof A)return t;if(Array.isArray(t))return t.map(o=>{if(typeof o=="string")try{return new A(o)}catch{return o}if(o instanceof A)return o;throw new Error("Invalid id value")});throw new Error("Invalid id value")}try{return new A(t)}catch{return t}}return t}function l(r,t,a){return r==="id"||d[a].fields[r].references?.field==="id"?t instanceof A?t.toHexString():Array.isArray(t)?t.map(o=>o instanceof A?o.toHexString():o):t:t}function n(r,t){return r==="id"?"_id":d[t].fields[r].fieldName||r}return{transformInput(r,t,a){let o=a==="update"?{}:{_id:new A},c=d[t].fields;for(let u in c){let f=r[u];f===void 0&&!c[u].defaultValue||(o[c[u].fieldName||u]=b(i(u,f,t),c[u],a))}return o},transformOutput(r,t,a=[]){let o=r.id||r._id?a.length===0||a.includes("id")?{id:r.id?r.id.toString():r._id.toString()}:{}:{},c=d[t].fields;for(let u in c){if(a.length&&!a.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 a=r.map(f=>{let{field:g,value:p,operator:T="eq",connector:R="AND"}=f,m,y=n(g,t);switch(T.toLowerCase()){case"eq":m={[y]:i(g,p,t)};break;case"in":m={[y]:{$in:Array.isArray(p)?i(g,p,t):[i(g,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: ${T}`)}return{condition:m,connector:R}});if(a.length===1)return a[0].condition;let o=a.filter(f=>f.connector==="AND").map(f=>f.condition),c=a.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}},Pt=e=>d=>{let i=M(d);return{id:"mongodb-adapter",async create(l){let{model:n,data:r,select:t}=l,a=i.transformInput(r,n,"create");a.id&&delete a.id;let c=(await e.collection(i.getModelName(n)).insertOne(a)).insertedId,u={...a,id:c.toString()};return i.transformOutput(u,n,t)},async findOne(l){let{model:n,where:r,select:t}=l,a=i.convertWhereClause(r,n),o=await e.collection(i.getModelName(n)).findOne(a);return o?i.transformOutput(o,n,t):null},async findMany(l){let{model:n,where:r,limit:t,offset:a,sortBy:o}=l,c=r?i.convertWhereClause(r,n):{},u=e.collection(i.getModelName(n)).find(c);return t&&u.limit(t),a&&u.skip(a),o&&u.sort(i.getField(o.field,n),o.direction==="desc"?-1:1),(await u.toArray()).map(g=>i.transformOutput(g,n))},async update(l){let{model:n,where:r,update:t}=l,a=i.convertWhereClause(r,n),o=i.transformInput(t,n,"update"),c=await e.collection(i.getModelName(n)).findOneAndUpdate(a,{$set:o},{returnDocument:"after"});return c?i.transformOutput(c,n):null},async updateMany(l){let{model:n,where:r,update:t}=l,a=i.convertWhereClause(r,n),o=i.transformInput(t,n,"update");return(await e.collection(i.getModelName(n)).updateMany(a,{$set:o})).modifiedCount},async delete(l){let{model:n,where:r}=l,t=i.convertWhereClause(r,n),a=await e.collection(i.getModelName(n)).findOneAndDelete(t);return a?i.transformOutput(a,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{Pt as mongodbAdapter};
|