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.
- package/dist/adapters/drizzle.cjs +1 -1
- package/dist/adapters/drizzle.js +1 -1
- package/dist/adapters/prisma.cjs +1 -1
- package/dist/adapters/prisma.js +1 -1
- package/dist/api.cjs +4 -4
- package/dist/api.js +4 -4
- package/dist/client/plugins.cjs +1 -1
- package/dist/client/plugins.d.cts +4 -1
- package/dist/client/plugins.d.ts +4 -1
- package/dist/client/plugins.js +1 -1
- package/dist/db.cjs +1 -1
- package/dist/db.js +1 -1
- package/dist/index.cjs +4 -4
- package/dist/index.js +4 -4
- package/dist/plugin/custom-session.cjs +4 -4
- package/dist/plugin/custom-session.js +4 -4
- package/dist/plugins/admin.cjs +4 -4
- package/dist/plugins/admin.d.cts +16 -0
- package/dist/plugins/admin.d.ts +16 -0
- package/dist/plugins/admin.js +4 -4
- package/dist/plugins/anonymous.cjs +4 -4
- package/dist/plugins/anonymous.js +4 -4
- package/dist/plugins/bearer.cjs +4 -4
- package/dist/plugins/bearer.js +4 -4
- package/dist/plugins/email-otp.cjs +4 -4
- package/dist/plugins/email-otp.js +4 -4
- package/dist/plugins/generic-oauth.cjs +4 -4
- package/dist/plugins/generic-oauth.js +4 -4
- package/dist/plugins/jwt.cjs +4 -4
- package/dist/plugins/jwt.js +4 -4
- package/dist/plugins/multi-session.cjs +4 -4
- package/dist/plugins/multi-session.js +4 -4
- package/dist/plugins/one-tap.cjs +4 -4
- package/dist/plugins/one-tap.js +4 -4
- package/dist/plugins/open-api.cjs +5 -5
- package/dist/plugins/open-api.js +5 -5
- package/dist/plugins/organization.cjs +3 -3
- package/dist/plugins/organization.js +3 -3
- package/dist/plugins/passkey.cjs +4 -4
- package/dist/plugins/passkey.js +4 -4
- package/dist/plugins/phone-number.cjs +4 -4
- package/dist/plugins/phone-number.js +4 -4
- package/dist/plugins/two-factor.cjs +4 -4
- package/dist/plugins/two-factor.js +4 -4
- package/dist/plugins/username.cjs +4 -4
- package/dist/plugins/username.d.cts +17 -1
- package/dist/plugins/username.d.ts +17 -1
- package/dist/plugins/username.js +4 -4
- package/dist/plugins.cjs +5 -5
- package/dist/plugins.js +5 -5
- 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});
|
package/dist/adapters/drizzle.js
CHANGED
|
@@ -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};
|
package/dist/adapters/prisma.cjs
CHANGED
|
@@ -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});
|
package/dist/adapters/prisma.js
CHANGED
|
@@ -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,
|
|
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};
|