better-auth 1.0.19 → 1.0.21

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.
Files changed (51) hide show
  1. package/dist/adapters/drizzle.cjs +1 -1
  2. package/dist/adapters/drizzle.js +1 -1
  3. package/dist/adapters/prisma.cjs +1 -1
  4. package/dist/adapters/prisma.js +1 -1
  5. package/dist/api.cjs +4 -4
  6. package/dist/api.js +4 -4
  7. package/dist/client/plugins.cjs +1 -1
  8. package/dist/client/plugins.d.cts +4 -1
  9. package/dist/client/plugins.d.ts +4 -1
  10. package/dist/client/plugins.js +1 -1
  11. package/dist/db.cjs +1 -1
  12. package/dist/db.js +1 -1
  13. package/dist/index.cjs +4 -4
  14. package/dist/index.js +4 -4
  15. package/dist/plugin/custom-session.cjs +4 -4
  16. package/dist/plugin/custom-session.js +4 -4
  17. package/dist/plugins/admin.cjs +4 -4
  18. package/dist/plugins/admin.d.cts +16 -0
  19. package/dist/plugins/admin.d.ts +16 -0
  20. package/dist/plugins/admin.js +4 -4
  21. package/dist/plugins/anonymous.cjs +4 -4
  22. package/dist/plugins/anonymous.js +4 -4
  23. package/dist/plugins/bearer.cjs +4 -4
  24. package/dist/plugins/bearer.js +4 -4
  25. package/dist/plugins/email-otp.cjs +4 -4
  26. package/dist/plugins/email-otp.js +4 -4
  27. package/dist/plugins/generic-oauth.cjs +4 -4
  28. package/dist/plugins/generic-oauth.js +4 -4
  29. package/dist/plugins/jwt.cjs +4 -4
  30. package/dist/plugins/jwt.js +4 -4
  31. package/dist/plugins/multi-session.cjs +4 -4
  32. package/dist/plugins/multi-session.js +4 -4
  33. package/dist/plugins/one-tap.cjs +4 -4
  34. package/dist/plugins/one-tap.js +4 -4
  35. package/dist/plugins/open-api.cjs +5 -5
  36. package/dist/plugins/open-api.js +5 -5
  37. package/dist/plugins/organization.cjs +3 -3
  38. package/dist/plugins/organization.js +3 -3
  39. package/dist/plugins/passkey.cjs +4 -4
  40. package/dist/plugins/passkey.js +4 -4
  41. package/dist/plugins/phone-number.cjs +4 -4
  42. package/dist/plugins/phone-number.js +4 -4
  43. package/dist/plugins/two-factor.cjs +4 -4
  44. package/dist/plugins/two-factor.js +4 -4
  45. package/dist/plugins/username.cjs +4 -4
  46. package/dist/plugins/username.d.cts +17 -1
  47. package/dist/plugins/username.d.ts +17 -1
  48. package/dist/plugins/username.js +4 -4
  49. package/dist/plugins.cjs +5 -5
  50. package/dist/plugins.js +5 -5
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- "use strict";var F=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var C=(e,n)=>{for(var u in n)F(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&&F(e,l,{get:()=>n[l],enumerable:!(p=P(n,l))||p.enumerable});return e};var $=e=>j(F({},"__esModule",{value:!0}),e);var se={};C(se,{drizzleAdapter:()=>ne});module.exports=$(se);var m=require("drizzle-orm");var i=require("zod"),K=require("better-call"),de=i.z.object({id:i.z.string(),providerId:i.z.string(),accountId:i.z.string(),userId:i.z.string(),accessToken:i.z.string().nullish(),refreshToken:i.z.string().nullish(),idToken:i.z.string().nullish(),accessTokenExpiresAt:i.z.date().nullish(),refreshTokenExpiresAt:i.z.date().nullish(),scope:i.z.string().nullish(),password:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),ue=i.z.object({id:i.z.string(),email:i.z.string().transform(e=>e.toLowerCase()),emailVerified:i.z.boolean().default(!1),name:i.z.string(),image:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),le=i.z.object({id:i.z.string(),userId:i.z.string(),expiresAt:i.z.date(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),token:i.z.string(),ipAddress:i.z.string().nullish(),userAgent:i.z.string().nullish()}),ce=i.z.object({id:i.z.string(),value:i.z.string(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),expiresAt:i.z.date(),identifier:i.z.string()});var R=Object.create(null),T=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?R:globalThis),S=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 z(e){return e?e!=="false":!1}var W=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var H=W==="test"||z(S.TEST);var q=require("nanoid"),k=e=>(0,q.nanoid)(e);var U=require("oslo/oauth2"),J=require("zod"),G=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 B=require("consola"),O=["info","success","warn","error","debug"];function Q(e,n){return O.indexOf(n)<=O.indexOf(e)}var Z=(0,B.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||!Q(u,l))){if(!e||typeof e.log!="function"){Z[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)]))},X=L();var v=e=>{let n=e.plugins?.reduce((a,c)=>{let s=c.schema;if(!s)return a;for(let[t,d]of Object.entries(s))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 Y=require("zod");var M=require("kysely"),I=require("kysely");function D(e,n,u){return u==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var te=(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 s=y(a),t=c[s];if(!t)throw new w(`[# Drizzle Adapter]: The model "${s}" was not found in the schema object. Please pass the schema directly to the adapter options.`);return t}let 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,s){let t=x||s==="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]=D(f,d[o],s))}return t},transformOutput(a,c,s=[]){if(!a)return null;let t=a.id||a._id?s.length===0||s.includes("id")?{id:a.id}:{}:{},d=p[c].fields;for(let o in d){if(s.length&&!s.includes(o))continue;let f=d[o];f&&(t[o]=a[f.fieldName||o])}return t},convertWhereClause(a,c){let s=g(c);if(!a)return[];if(a.length===1){let r=a[0];if(!r)return[];let h=l(c,r.field);if(!s[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)(s[h],r.value)]}return r.operator==="contains"?[(0,m.like)(s[h],`%${r.value}%`)]:r.operator==="starts_with"?[(0,m.like)(s[h],`${r.value}%`)]:r.operator==="ends_with"?[(0,m.like)(s[h],`%${r.value}`)]:[(0,m.eq)(s[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)(s[h],r.value)}return(0,m.eq)(s[h],r.value)})),f=(0,m.or)(...d.map(r=>{let h=l(c,r.field);return(0,m.eq)(s[h],r.value)})),A=[];return t.length&&A.push(o),d.length&&A.push(f),A},withReturning:async(a,c,s)=>{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,s.id)))[0]},getField:l,getModelName:y}};function re(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 ne=(e,n)=>u=>{let{transformInput:p,transformOutput:l,convertWhereClause:g,getSchema:y,withReturning:x,getField:a,getModelName:c}=te(e,n,u);return{id:"drizzle",async create(s){let{model:t,data:d}=s,o=p(d,t,"create"),f=y(t);re(f,c(t),o);let A=e.insert(f).values(o),r=await x(t,A,o);return l(r,t)},async findOne(s){let{model:t,where:d,select:o}=s,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(s){let{model:t,where:d,sortBy:o,limit:f,offset:A}=s,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(s){let{model:t,where:d,update:o}=s,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(s){let{model:t,where:d,update:o}=s,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(s){let{model:t,where:d}=s,o=y(t),f=g(d,t);await e.delete(o).where(...f)},async deleteMany(s){let{model:t,where:d}=s,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});
1
+ "use strict";var F=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var E=Object.getOwnPropertyNames;var _=Object.prototype.hasOwnProperty;var C=(e,n)=>{for(var u in n)F(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&&F(e,l,{get:()=>n[l],enumerable:!(p=P(n,l))||p.enumerable});return e};var $=e=>j(F({},"__esModule",{value:!0}),e);var ie={};C(ie,{drizzleAdapter:()=>ne});module.exports=$(ie);var m=require("drizzle-orm");var s=require("zod"),K=require("better-call"),de=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)}),ue=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)}),le=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()}),ce=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),S=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 z(e){return e?e!=="false":!1}var W=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var H=W==="test"||z(S.TEST);var q=require("nanoid"),k=e=>(0,q.nanoid)(e);var U=require("oslo/oauth2"),J=require("zod"),G=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 B=require("consola"),O=["info","success","warn","error","debug"];function Q(e,n){return O.indexOf(n)<=O.indexOf(e)}var Z=(0,B.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||!Q(u,l))){if(!e||typeof e.log!="function"){Z[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)]))},X=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 Y=require("zod");var M=require("kysely"),I=require("kysely");function D(e,n,u){return u==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var te=(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]=D(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 re(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 ne=(e,n)=>u=>{let{transformInput:p,transformOutput:l,convertWhereClause:g,getSchema:y,withReturning:x,getField:a,getModelName:c}=te(e,n,u);return{id:"drizzle",async create(i){let{model:t,data:d}=i,o=p(d,t,"create"),f=y(t);re(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});
@@ -1 +1 @@
1
- import{and as $,asc as K,desc as z,eq as D,inArray as q,like as O,or as W}from"drizzle-orm";import{z as s}from"zod";import{APIError as Y}from"better-call";var ee=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)}),te=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)}),re=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()}),ne=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),N=new Proxy(k,{get(e,i){return v()[i]??k[i]},has(e,i){let l=v();return i in l||i in k},set(e,i,l){let p=v(!0);return p[i]=l,!0},deleteProperty(e,i){if(!i)return!1;let l=v(!0);return delete l[i],!0},ownKeys(){let e=v(!0);return Object.keys(e)}});function B(e){return e?e!=="false":!1}var L=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var M=L==="test"||B(N.TEST);import{nanoid as V}from"nanoid";var T=e=>V(e);import{generateCodeVerifier as xe,generateState as be}from"oslo/oauth2";import{z as Te}from"zod";import{APIError as Re}from"better-call";var A=class extends Error{constructor(i,l){super(i),this.name="BetterAuthError",this.message=i,this.cause=l,this.stack=""}};import{createConsola as P}from"consola";var F=["info","success","warn","error","debug"];function E(e,i){return F.indexOf(i)<=F.indexOf(e)}var _=P({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),S=e=>{let i=e?.disabled!==!0,l=e?.level??"error",p=(f,y,m=[])=>{if(!(!i||!E(l,f))){if(!e||typeof e.log!="function"){_[f]("",y,...m);return}e.log(f==="success"?"info":f,y,m)}};return Object.fromEntries(F.map(f=>[f,(...[y,...m])=>p(f,y,m)]))},C=S();var b=e=>{let i=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}=i||{};return{user:{modelName:e.user?.modelName||"user",fields:{name:{type:"string",required:!0,fieldName:e.user?.fields?.name||"name"},email:{type:"string",unique:!0,required:!0,fieldName:e.user?.fields?.email||"email"},emailVerified:{type:"boolean",defaultValue:()=>!1,required:!0,fieldName:e.user?.fields?.emailVerified||"emailVerified"},image:{type:"string",required:!1,fieldName:e.user?.fields?.image||"image"},createdAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",defaultValue:()=>new Date,required:!0,fieldName:e.user?.fields?.updatedAt||"updatedAt"},...f?.fields,...e.user?.additionalFields},order:1},session:{modelName:e.session?.modelName||"session",fields:{expiresAt:{type:"date",required:!0,fieldName:e.session?.fields?.expiresAt||"expiresAt"},token:{type:"string",required:!0,fieldName:e.session?.fields?.token||"token",unique:!0},createdAt:{type:"date",required:!0,fieldName:e.session?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.session?.fields?.updatedAt||"updatedAt"},ipAddress:{type:"string",required:!1,fieldName:e.session?.fields?.ipAddress||"ipAddress"},userAgent:{type:"string",required:!1,fieldName:e.session?.fields?.userAgent||"userAgent"},userId:{type:"string",fieldName:e.session?.fields?.userId||"userId",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0},...y?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...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 Ye}from"zod";import{Kysely as rt,MssqlDialect as nt}from"kysely";import{MysqlDialect as it,PostgresDialect as at,SqliteDialect as ot}from"kysely";function R(e,i,l){return l==="update"?e:e==null&&i.defaultValue?typeof i.defaultValue=="function"?i.defaultValue():i.defaultValue:e}var H=(e,i,l)=>{let p=b(l);function f(a,u){return u==="id"?u:p[a].fields[u].fieldName||u}function y(a){let u=i.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:i.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[q(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}`)]:[D(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 q(n[g],r.value)}return D(n[g],r.value)})),c=W(...d.map(r=>{let g=f(u,r.field);return D(n[g],r.value)})),h=[];return t.length&&h.push(o),d.length&&h.push(c),h},withReturning:async(a,u,n)=>{if(i.provider!=="mysql")return(await u.returning())[0];await u;let t=y(m(a));return(await e.select().from(t).where(D(t.id,n.id)))[0]},getField:f,getModelName:m}};function J(e,i,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 "${i}" schema. Please update your drizzle schema or re-generate using "npx @better-auth/cli generate".`)}var tr=(e,i)=>l=>{let{transformInput:p,transformOutput:f,convertWhereClause:y,getSchema:m,withReturning:w,getField:a,getModelName:u}=H(e,i,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(U=>f(U,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:i}};export{tr as drizzleAdapter};
1
+ import{and as $,asc as K,desc as z,eq as D,inArray as q,like as O,or as W}from"drizzle-orm";import{z as i}from"zod";import{APIError as Y}from"better-call";var ee=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)}),te=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)}),re=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()}),ne=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 B(e){return e?e!=="false":!1}var L=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var M=L==="test"||B(N.TEST);import{nanoid as V}from"nanoid";var T=e=>V(e);import{generateCodeVerifier as xe,generateState as be}from"oslo/oauth2";import{z as Te}from"zod";import{APIError as Re}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 F=["info","success","warn","error","debug"];function E(e,s){return F.indexOf(s)<=F.indexOf(e)}var _=P({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),S=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(F.map(f=>[f,(...[y,...m])=>p(f,y,m)]))},C=S();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 Ye}from"zod";import{Kysely as rt,MssqlDialect as nt}from"kysely";import{MysqlDialect as st,PostgresDialect as at,SqliteDialect as ot}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[q(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}`)]:[D(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 q(n[g],r.value)}return D(n[g],r.value)})),c=W(...d.map(r=>{let g=f(u,r.field);return D(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(D(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 tr=(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(U=>f(U,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{tr as drizzleAdapter};
@@ -1 +1 @@
1
- "use strict";var k=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var M=(e,n)=>{for(var d in n)k(e,d,{get:n[d],enumerable:!0})},V=(e,n,d,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of L(n))!P.call(e,c)&&c!==d&&k(e,c,{get:()=>n[c],enumerable:!(u=B(n,c))||u.enumerable});return e};var E=e=>V(k({},"__esModule",{value:!0}),e);var Y={};M(Y,{prismaAdapter:()=>X});module.exports=E(Y);var s=require("zod"),C=require("better-call"),ne=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)}),se=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)}),ie=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()}),ae=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 v=Object.create(null),x=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?v:globalThis),I=new Proxy(v,{get(e,n){return x()[n]??v[n]},has(e,n){let d=x();return n in d||n in v},set(e,n,d){let u=x(!0);return u[n]=d,!0},deleteProperty(e,n){if(!n)return!1;let d=x(!0);return delete d[n],!0},ownKeys(){let e=x(!0);return Object.keys(e)}});function _(e){return e?e!=="false":!1}var j=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var K=j==="test"||_(I.TEST);var O=require("nanoid"),b=e=>(0,O.nanoid)(e);var D=require("oslo/oauth2"),W=require("zod"),$=require("better-call");var h=class extends Error{constructor(n,d){super(n),this.name="BetterAuthError",this.message=n,this.cause=d,this.stack=""}};var N=require("consola"),F=["info","success","warn","error","debug"];function H(e,n){return F.indexOf(n)<=F.indexOf(e)}var J=(0,N.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),q=e=>{let n=e?.disabled!==!0,d=e?.level??"error",u=(c,m,p=[])=>{if(!(!n||!H(d,c))){if(!e||typeof e.log!="function"){J[c]("",m,...p);return}e.log(c==="success"?"info":c,m,p)}};return Object.fromEntries(F.map(c=>[c,(...[m,...p])=>u(c,m,p)]))},z=q();var w=e=>{let n=e.plugins?.reduce((i,f)=>{let l=f.schema;if(!l)return i;for(let[t,a]of Object.entries(l))i[t]={fields:{...i[t]?.fields,...a.fields},modelName:a.modelName||t};return i},{}),d=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:c,session:m,account:p,...o}=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"},...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},...m?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...o,...d?u:{}}};var G=require("zod");var S=require("kysely"),R=require("kysely");function T(e,n,d){return d==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var Z=(e,n)=>{let d=w(n);function u(o,i){return i==="id"?i:d[o].fields[i].fieldName||i}function c(o){switch(o){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return o}}function m(o){return d[o].modelName}let p=n?.advanced?.generateId===!1;return{transformInput(o,i,f){let l=p||f==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:i}):o.id||b()},t=d[i].fields;for(let a in t){let r=o[a];l[t[a].fieldName||a]=T(r,t[a],f)}return l},transformOutput(o,i,f=[]){if(!o)return null;let l=o.id||o._id?f.length===0||f.includes("id")?{id:o.id}:{}:{},t=d[i].fields;for(let a in t){if(f.length&&!f.includes(a))continue;let r=t[a];r&&(l[a]=o[r.fieldName||a])}return l},convertWhereClause(o,i){if(!i)return{};if(i.length===1){let r=i[0];return r?{[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}}:void 0}let f=i.filter(r=>r.connector==="AND"||!r.connector),l=i.filter(r=>r.connector==="OR"),t=f.map(r=>({[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}})),a=l.map(r=>({[u(o,r.field)]:{[r.operator||"eq"]:r.value}}));return{AND:t.length?t:void 0,OR:a.length?a:void 0}},convertSelect:(o,i)=>{if(!(!o||!i))return o.reduce((f,l)=>({...f,[u(i,l)]:!0}),{})},getModelName:m,getField:u}},X=(e,n)=>d=>{let u=e,{transformInput:c,transformOutput:m,convertWhereClause:p,convertSelect:o,getModelName:i,getField:f}=Z(n,d);return{id:"prisma",async create(l){let{model:t,data:a,select:r}=l,y=c(a,t,"create");if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].create({data:y,select:o(r,t)});return m(g,t,r)},async findOne(l){let{model:t,where:a,select:r}=l,y=p(t,a);if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].findFirst({where:y,select:o(r,t)});return m(g,t,r)},async findMany(l){let{model:t,where:a,limit:r,offset:y,sortBy:g}=l,A=p(t,a);if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[i(t)].findMany({where:A,take:r||100,skip:y||0,orderBy:g?.field?{[f(t,g.field)]:g.direction==="desc"?"desc":"asc"}:void 0})).map(U=>m(U,t))},async update(l){let{model:t,where:a,update:r}=l;if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let y=p(t,a),g=c(r,t,"update"),A=await u[i(t)].update({where:y,data:g});return m(A,t)},async updateMany(l){let{model:t,where:a,update:r}=l,y=p(t,a),g=c(r,t,"update"),A=await u[i(t)].updateMany({where:y,data:g});return A?A.count:0},async delete(l){let{model:t,where:a}=l,r=p(t,a);try{await u[i(t)].delete({where:r})}catch{}},async deleteMany(l){let{model:t,where:a}=l,r=p(t,a),y=await u[i(t)].deleteMany({where:r});return y?y.count:0},options:n}};0&&(module.exports={prismaAdapter});
1
+ "use strict";var k=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var L=Object.getOwnPropertyNames;var P=Object.prototype.hasOwnProperty;var M=(e,n)=>{for(var d in n)k(e,d,{get:n[d],enumerable:!0})},V=(e,n,d,u)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of L(n))!P.call(e,c)&&c!==d&&k(e,c,{get:()=>n[c],enumerable:!(u=B(n,c))||u.enumerable});return e};var E=e=>V(k({},"__esModule",{value:!0}),e);var Y={};M(Y,{prismaAdapter:()=>X});module.exports=E(Y);var i=require("zod"),C=require("better-call"),ne=i.z.object({id:i.z.string(),providerId:i.z.string(),accountId:i.z.string(),userId:i.z.string(),accessToken:i.z.string().nullish(),refreshToken:i.z.string().nullish(),idToken:i.z.string().nullish(),accessTokenExpiresAt:i.z.date().nullish(),refreshTokenExpiresAt:i.z.date().nullish(),scope:i.z.string().nullish(),password:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),ie=i.z.object({id:i.z.string(),email:i.z.string().transform(e=>e.toLowerCase()),emailVerified:i.z.boolean().default(!1),name:i.z.string(),image:i.z.string().nullish(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date)}),se=i.z.object({id:i.z.string(),userId:i.z.string(),expiresAt:i.z.date(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),token:i.z.string(),ipAddress:i.z.string().nullish(),userAgent:i.z.string().nullish()}),ae=i.z.object({id:i.z.string(),value:i.z.string(),createdAt:i.z.date().default(()=>new Date),updatedAt:i.z.date().default(()=>new Date),expiresAt:i.z.date(),identifier:i.z.string()});var v=Object.create(null),x=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?v:globalThis),I=new Proxy(v,{get(e,n){return x()[n]??v[n]},has(e,n){let d=x();return n in d||n in v},set(e,n,d){let u=x(!0);return u[n]=d,!0},deleteProperty(e,n){if(!n)return!1;let d=x(!0);return delete d[n],!0},ownKeys(){let e=x(!0);return Object.keys(e)}});function _(e){return e?e!=="false":!1}var j=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var K=j==="test"||_(I.TEST);var O=require("nanoid"),b=e=>(0,O.nanoid)(e);var D=require("oslo/oauth2"),W=require("zod"),$=require("better-call");var h=class extends Error{constructor(n,d){super(n),this.name="BetterAuthError",this.message=n,this.cause=d,this.stack=""}};var N=require("consola"),F=["info","success","warn","error","debug"];function H(e,n){return F.indexOf(n)<=F.indexOf(e)}var J=(0,N.createConsola)({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),q=e=>{let n=e?.disabled!==!0,d=e?.level??"error",u=(c,m,p=[])=>{if(!(!n||!H(d,c))){if(!e||typeof e.log!="function"){J[c]("",m,...p);return}e.log(c==="success"?"info":c,m,p)}};return Object.fromEntries(F.map(c=>[c,(...[m,...p])=>u(c,m,p)]))},z=q();var w=e=>{let n=e.plugins?.reduce((s,f)=>{let l=f.schema;if(!l)return s;for(let[t,a]of Object.entries(l))s[t]={fields:{...s[t]?.fields,...a.fields},modelName:a.modelName||t};return s},{}),d=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:c,session:m,account:p,...o}=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"},...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},...m?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...o,...d?u:{}}};var G=require("zod");var S=require("kysely"),R=require("kysely");function T(e,n,d){return d==="update"?e:e==null&&n.defaultValue?typeof n.defaultValue=="function"?n.defaultValue():n.defaultValue:e}var Z=(e,n)=>{let d=w(n);function u(o,s){return s==="id"?s:d[o].fields[s].fieldName||s}function c(o){switch(o){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return o}}function m(o){return d[o].modelName}let p=n?.advanced?.generateId===!1;return{transformInput(o,s,f){let l=p||f==="update"?{}:{id:n.advanced?.generateId?n.advanced.generateId({model:s}):o.id||b()},t=d[s].fields;for(let a in t){let r=o[a];r===void 0&&(!t[a].defaultValue||f==="update")||(l[t[a].fieldName||a]=T(r,t[a],f))}return l},transformOutput(o,s,f=[]){if(!o)return null;let l=o.id||o._id?f.length===0||f.includes("id")?{id:o.id}:{}:{},t=d[s].fields;for(let a in t){if(f.length&&!f.includes(a))continue;let r=t[a];r&&(l[a]=o[r.fieldName||a])}return l},convertWhereClause(o,s){if(!s)return{};if(s.length===1){let r=s[0];return r?{[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}}:void 0}let f=s.filter(r=>r.connector==="AND"||!r.connector),l=s.filter(r=>r.connector==="OR"),t=f.map(r=>({[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}})),a=l.map(r=>({[u(o,r.field)]:{[r.operator||"eq"]:r.value}}));return{...t.length?{AND:t}:{},...a.length?{OR:a}:{}}},convertSelect:(o,s)=>{if(!(!o||!s))return o.reduce((f,l)=>({...f,[u(s,l)]:!0}),{})},getModelName:m,getField:u}},X=(e,n)=>d=>{let u=e,{transformInput:c,transformOutput:m,convertWhereClause:p,convertSelect:o,getModelName:s,getField:f}=Z(n,d);return{id:"prisma",async create(l){let{model:t,data:a,select:r}=l,y=c(a,t,"create");if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[s(t)].create({data:y,select:o(r,t)});return m(g,t,r)},async findOne(l){let{model:t,where:a,select:r}=l,y=p(t,a);if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[s(t)].findFirst({where:y,select:o(r,t)});return m(g,t,r)},async findMany(l){let{model:t,where:a,limit:r,offset:y,sortBy:g}=l,A=p(t,a);if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[s(t)].findMany({where:A,take:r||100,skip:y||0,...g?.field?{orderBy:{[f(t,g.field)]:g.direction==="desc"?"desc":"asc"}}:{}})).map(U=>m(U,t))},async update(l){let{model:t,where:a,update:r}=l;if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let y=p(t,a),g=c(r,t,"update"),A=await u[s(t)].update({where:y,data:g});return m(A,t)},async updateMany(l){let{model:t,where:a,update:r}=l,y=p(t,a),g=c(r,t,"update"),A=await u[s(t)].updateMany({where:y,data:g});return A?A.count:0},async delete(l){let{model:t,where:a}=l,r=p(t,a);try{await u[s(t)].delete({where:r})}catch{}},async deleteMany(l){let{model:t,where:a}=l,r=p(t,a),y=await u[s(t)].deleteMany({where:r});return y?y.count:0},options:n}};0&&(module.exports={prismaAdapter});
@@ -1 +1 @@
1
- import{z as n}from"zod";import{APIError as j}from"better-call";var K=n.object({id:n.string(),providerId:n.string(),accountId:n.string(),userId:n.string(),accessToken:n.string().nullish(),refreshToken:n.string().nullish(),idToken:n.string().nullish(),accessTokenExpiresAt:n.date().nullish(),refreshTokenExpiresAt:n.date().nullish(),scope:n.string().nullish(),password:n.string().nullish(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date)}),W=n.object({id:n.string(),email:n.string().transform(e=>e.toLowerCase()),emailVerified:n.boolean().default(!1),name:n.string(),image:n.string().nullish(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date)}),$=n.object({id:n.string(),userId:n.string(),expiresAt:n.date(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date),token:n.string(),ipAddress:n.string().nullish(),userAgent:n.string().nullish()}),H=n.object({id:n.string(),value:n.string(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date),expiresAt:n.date(),identifier:n.string()});var v=Object.create(null),x=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?v:globalThis),F=new Proxy(v,{get(e,i){return x()[i]??v[i]},has(e,i){let l=x();return i in l||i in v},set(e,i,l){let u=x(!0);return u[i]=l,!0},deleteProperty(e,i){if(!i)return!1;let l=x(!0);return delete l[i],!0},ownKeys(){let e=x(!0);return Object.keys(e)}});function O(e){return e?e!=="false":!1}var D=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var N=D==="test"||O(F.TEST);import{nanoid as q}from"nanoid";var b=e=>q(e);import{generateCodeVerifier as ue,generateState as le}from"oslo/oauth2";import{z as fe}from"zod";import{APIError as me}from"better-call";var h=class extends Error{constructor(i,l){super(i),this.name="BetterAuthError",this.message=i,this.cause=l,this.stack=""}};import{createConsola as S}from"consola";var k=["info","success","warn","error","debug"];function U(e,i){return k.indexOf(i)<=k.indexOf(e)}var B=S({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),R=e=>{let i=e?.disabled!==!0,l=e?.level??"error",u=(c,m,p=[])=>{if(!(!i||!U(l,c))){if(!e||typeof e.log!="function"){B[c]("",m,...p);return}e.log(c==="success"?"info":c,m,p)}};return Object.fromEntries(k.map(c=>[c,(...[m,...p])=>u(c,m,p)]))},L=R();var w=e=>{let i=e.plugins?.reduce((s,f)=>{let d=f.schema;if(!d)return s;for(let[t,a]of Object.entries(d))s[t]={fields:{...s[t]?.fields,...a.fields},modelName:a.modelName||t};return s},{}),l=e.rateLimit?.storage==="database",u={rateLimit:{modelName:e.rateLimit?.modelName||"rateLimit",fields:{key:{type:"string",fieldName:e.rateLimit?.fields?.key||"key"},count:{type:"number",fieldName:e.rateLimit?.fields?.count||"count"},lastRequest:{type:"number",fieldName:e.rateLimit?.fields?.lastRequest||"lastRequest"}}}},{user:c,session:m,account:p,...o}=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"},...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},...m?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...o,...l?u:{}}};import{z as je}from"zod";import{Kysely as $e,MssqlDialect as He}from"kysely";import{MysqlDialect as ze,PostgresDialect as Ge,SqliteDialect as Qe}from"kysely";function T(e,i,l){return l==="update"?e:e==null&&i.defaultValue?typeof i.defaultValue=="function"?i.defaultValue():i.defaultValue:e}var M=(e,i)=>{let l=w(i);function u(o,s){return s==="id"?s:l[o].fields[s].fieldName||s}function c(o){switch(o){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return o}}function m(o){return l[o].modelName}let p=i?.advanced?.generateId===!1;return{transformInput(o,s,f){let d=p||f==="update"?{}:{id:i.advanced?.generateId?i.advanced.generateId({model:s}):o.id||b()},t=l[s].fields;for(let a in t){let r=o[a];d[t[a].fieldName||a]=T(r,t[a],f)}return d},transformOutput(o,s,f=[]){if(!o)return null;let d=o.id||o._id?f.length===0||f.includes("id")?{id:o.id}:{}:{},t=l[s].fields;for(let a in t){if(f.length&&!f.includes(a))continue;let r=t[a];r&&(d[a]=o[r.fieldName||a])}return d},convertWhereClause(o,s){if(!s)return{};if(s.length===1){let r=s[0];return r?{[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}}:void 0}let f=s.filter(r=>r.connector==="AND"||!r.connector),d=s.filter(r=>r.connector==="OR"),t=f.map(r=>({[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[c(r.operator)]:r.value}})),a=d.map(r=>({[u(o,r.field)]:{[r.operator||"eq"]:r.value}}));return{AND:t.length?t:void 0,OR:a.length?a:void 0}},convertSelect:(o,s)=>{if(!(!o||!s))return o.reduce((f,d)=>({...f,[u(s,d)]:!0}),{})},getModelName:m,getField:u}},jt=(e,i)=>l=>{let u=e,{transformInput:c,transformOutput:m,convertWhereClause:p,convertSelect:o,getModelName:s,getField:f}=M(i,l);return{id:"prisma",async create(d){let{model:t,data:a,select:r}=d,y=c(a,t,"create");if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[s(t)].create({data:y,select:o(r,t)});return m(g,t,r)},async findOne(d){let{model:t,where:a,select:r}=d,y=p(t,a);if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[s(t)].findFirst({where:y,select:o(r,t)});return m(g,t,r)},async findMany(d){let{model:t,where:a,limit:r,offset:y,sortBy:g}=d,A=p(t,a);if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[s(t)].findMany({where:A,take:r||100,skip:y||0,orderBy:g?.field?{[f(t,g.field)]:g.direction==="desc"?"desc":"asc"}:void 0})).map(I=>m(I,t))},async update(d){let{model:t,where:a,update:r}=d;if(!u[s(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let y=p(t,a),g=c(r,t,"update"),A=await u[s(t)].update({where:y,data:g});return m(A,t)},async updateMany(d){let{model:t,where:a,update:r}=d,y=p(t,a),g=c(r,t,"update"),A=await u[s(t)].updateMany({where:y,data:g});return A?A.count:0},async delete(d){let{model:t,where:a}=d,r=p(t,a);try{await u[s(t)].delete({where:r})}catch{}},async deleteMany(d){let{model:t,where:a}=d,r=p(t,a),y=await u[s(t)].deleteMany({where:r});return y?y.count:0},options:i}};export{jt as prismaAdapter};
1
+ import{z as n}from"zod";import{APIError as j}from"better-call";var K=n.object({id:n.string(),providerId:n.string(),accountId:n.string(),userId:n.string(),accessToken:n.string().nullish(),refreshToken:n.string().nullish(),idToken:n.string().nullish(),accessTokenExpiresAt:n.date().nullish(),refreshTokenExpiresAt:n.date().nullish(),scope:n.string().nullish(),password:n.string().nullish(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date)}),W=n.object({id:n.string(),email:n.string().transform(e=>e.toLowerCase()),emailVerified:n.boolean().default(!1),name:n.string(),image:n.string().nullish(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date)}),$=n.object({id:n.string(),userId:n.string(),expiresAt:n.date(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date),token:n.string(),ipAddress:n.string().nullish(),userAgent:n.string().nullish()}),H=n.object({id:n.string(),value:n.string(),createdAt:n.date().default(()=>new Date),updatedAt:n.date().default(()=>new Date),expiresAt:n.date(),identifier:n.string()});var v=Object.create(null),x=e=>globalThis.process?.env||globalThis.Deno?.env.toObject()||globalThis.__env__||(e?v:globalThis),F=new Proxy(v,{get(e,s){return x()[s]??v[s]},has(e,s){let l=x();return s in l||s in v},set(e,s,l){let u=x(!0);return u[s]=l,!0},deleteProperty(e,s){if(!s)return!1;let l=x(!0);return delete l[s],!0},ownKeys(){let e=x(!0);return Object.keys(e)}});function O(e){return e?e!=="false":!1}var D=typeof process<"u"&&process.env&&process.env.NODE_ENV||"";var N=D==="test"||O(F.TEST);import{nanoid as q}from"nanoid";var b=e=>q(e);import{generateCodeVerifier as ue,generateState as le}from"oslo/oauth2";import{z as fe}from"zod";import{APIError as me}from"better-call";var h=class extends Error{constructor(s,l){super(s),this.name="BetterAuthError",this.message=s,this.cause=l,this.stack=""}};import{createConsola as S}from"consola";var k=["info","success","warn","error","debug"];function U(e,s){return k.indexOf(s)<=k.indexOf(e)}var B=S({formatOptions:{date:!1,colors:!0,compact:!0},defaults:{tag:"Better Auth"}}),R=e=>{let s=e?.disabled!==!0,l=e?.level??"error",u=(f,m,p=[])=>{if(!(!s||!U(l,f))){if(!e||typeof e.log!="function"){B[f]("",m,...p);return}e.log(f==="success"?"info":f,m,p)}};return Object.fromEntries(k.map(f=>[f,(...[m,...p])=>u(f,m,p)]))},L=R();var w=e=>{let s=e.plugins?.reduce((i,c)=>{let d=c.schema;if(!d)return i;for(let[t,a]of Object.entries(d))i[t]={fields:{...i[t]?.fields,...a.fields},modelName:a.modelName||t};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:f,session:m,account:p,...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"},...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},...m?.fields,...e.session?.additionalFields},order:2},account:{modelName:e.account?.modelName||"account",fields:{accountId:{type:"string",required:!0,fieldName:e.account?.fields?.accountId||"accountId"},providerId:{type:"string",required:!0,fieldName:e.account?.fields?.providerId||"providerId"},userId:{type:"string",references:{model:e.user?.modelName||"user",field:"id",onDelete:"cascade"},required:!0,fieldName:e.account?.fields?.userId||"userId"},accessToken:{type:"string",required:!1,fieldName:e.account?.fields?.accessToken||"accessToken"},refreshToken:{type:"string",required:!1,fieldName:e.account?.fields?.refreshToken||"refreshToken"},idToken:{type:"string",required:!1,fieldName:e.account?.fields?.idToken||"idToken"},accessTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"accessTokenExpiresAt"},refreshTokenExpiresAt:{type:"date",required:!1,fieldName:e.account?.fields?.accessTokenExpiresAt||"refreshTokenExpiresAt"},scope:{type:"string",required:!1,fieldName:e.account?.fields?.scope||"scope"},password:{type:"string",required:!1,fieldName:e.account?.fields?.password||"password"},createdAt:{type:"date",required:!0,fieldName:e.account?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!0,fieldName:e.account?.fields?.updatedAt||"updatedAt"},...p?.fields},order:3},verification:{modelName:e.verification?.modelName||"verification",fields:{identifier:{type:"string",required:!0,fieldName:e.verification?.fields?.identifier||"identifier"},value:{type:"string",required:!0,fieldName:e.verification?.fields?.value||"value"},expiresAt:{type:"date",required:!0,fieldName:e.verification?.fields?.expiresAt||"expiresAt"},createdAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.createdAt||"createdAt"},updatedAt:{type:"date",required:!1,defaultValue:()=>new Date,fieldName:e.verification?.fields?.updatedAt||"updatedAt"}},order:4},...o,...l?u:{}}};import{z as je}from"zod";import{Kysely as $e,MssqlDialect as He}from"kysely";import{MysqlDialect as ze,PostgresDialect as Ge,SqliteDialect as Qe}from"kysely";function T(e,s,l){return l==="update"?e:e==null&&s.defaultValue?typeof s.defaultValue=="function"?s.defaultValue():s.defaultValue:e}var M=(e,s)=>{let l=w(s);function u(o,i){return i==="id"?i:l[o].fields[i].fieldName||i}function f(o){switch(o){case"starts_with":return"startsWith";case"ends_with":return"endsWith";default:return o}}function m(o){return l[o].modelName}let p=s?.advanced?.generateId===!1;return{transformInput(o,i,c){let d=p||c==="update"?{}:{id:s.advanced?.generateId?s.advanced.generateId({model:i}):o.id||b()},t=l[i].fields;for(let a in t){let r=o[a];r===void 0&&(!t[a].defaultValue||c==="update")||(d[t[a].fieldName||a]=T(r,t[a],c))}return d},transformOutput(o,i,c=[]){if(!o)return null;let d=o.id||o._id?c.length===0||c.includes("id")?{id:o.id}:{}:{},t=l[i].fields;for(let a in t){if(c.length&&!c.includes(a))continue;let r=t[a];r&&(d[a]=o[r.fieldName||a])}return d},convertWhereClause(o,i){if(!i)return{};if(i.length===1){let r=i[0];return r?{[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[f(r.operator)]:r.value}}:void 0}let c=i.filter(r=>r.connector==="AND"||!r.connector),d=i.filter(r=>r.connector==="OR"),t=c.map(r=>({[u(o,r.field)]:r.operator==="eq"||!r.operator?r.value:{[f(r.operator)]:r.value}})),a=d.map(r=>({[u(o,r.field)]:{[r.operator||"eq"]:r.value}}));return{...t.length?{AND:t}:{},...a.length?{OR:a}:{}}},convertSelect:(o,i)=>{if(!(!o||!i))return o.reduce((c,d)=>({...c,[u(i,d)]:!0}),{})},getModelName:m,getField:u}},jt=(e,s)=>l=>{let u=e,{transformInput:f,transformOutput:m,convertWhereClause:p,convertSelect:o,getModelName:i,getField:c}=M(s,l);return{id:"prisma",async create(d){let{model:t,data:a,select:r}=d,y=f(a,t,"create");if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].create({data:y,select:o(r,t)});return m(g,t,r)},async findOne(d){let{model:t,where:a,select:r}=d,y=p(t,a);if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let g=await u[i(t)].findFirst({where:y,select:o(r,t)});return m(g,t,r)},async findMany(d){let{model:t,where:a,limit:r,offset:y,sortBy:g}=d,A=p(t,a);if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);return(await u[i(t)].findMany({where:A,take:r||100,skip:y||0,...g?.field?{orderBy:{[c(t,g.field)]:g.direction==="desc"?"desc":"asc"}}:{}})).map(I=>m(I,t))},async update(d){let{model:t,where:a,update:r}=d;if(!u[i(t)])throw new h(`Model ${t} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);let y=p(t,a),g=f(r,t,"update"),A=await u[i(t)].update({where:y,data:g});return m(A,t)},async updateMany(d){let{model:t,where:a,update:r}=d,y=p(t,a),g=f(r,t,"update"),A=await u[i(t)].updateMany({where:y,data:g});return A?A.count:0},async delete(d){let{model:t,where:a}=d,r=p(t,a);try{await u[i(t)].delete({where:r})}catch{}},async deleteMany(d){let{model:t,where:a}=d,r=p(t,a),y=await u[i(t)].deleteMany({where:r});return y?y.count:0},options:s}};export{jt as prismaAdapter};