Edit: /tmp/tsx-0/17887-5a22136d123812d9a5451910526b9930df6e2367 (34292B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/dist/db/internal-adapter.mjs\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var internal_adapter_exports={};__export(internal_adapter_exports,{createInternalAdapter:()=>createInternalAdapter});module.exports=__toCommonJS(internal_adapter_exports);var import_get_request_ip=require(\"../utils/get-request-ip.mjs\");var import_date=require(\"../utils/date.mjs\");var import_schema=require(\"./schema.mjs\");var import_verification_token_storage=require(\"./verification-token-storage.mjs\");var import_with_hooks=require(\"./with-hooks.mjs\");var import_context=require(\"@better-auth/core/context\");var import_id=require(\"@better-auth/core/utils/id\");var import_json=require(\"@better-auth/core/utils/json\");function getTTLSeconds(expiresAt,now=Date.now()){const expiresMs=typeof expiresAt===\"number\"?expiresAt:expiresAt.getTime();return Math.max(Math.floor((expiresMs-now)/1e3),0)}__name(getTTLSeconds,\"getTTLSeconds\");const createInternalAdapter=__name((adapter,ctx)=>{const logger=ctx.logger;const options=ctx.options;const secondaryStorage=options.secondaryStorage;const sessionExpiration=options.session?.expiresIn||3600*24*7;const{createWithHooks,updateWithHooks,updateManyWithHooks,deleteWithHooks,deleteManyWithHooks}=(0,import_with_hooks.getWithHooks)(adapter,ctx);async function refreshUserSessions(user){if(!secondaryStorage)return;const listRaw=await secondaryStorage.get(`active-sessions-${user.id}`);if(!listRaw)return;const now=Date.now();const validSessions=((0,import_json.safeJSONParse)(listRaw)||[]).filter(s=>s.expiresAt>now);await Promise.all(validSessions.map(async({token})=>{const cached=await secondaryStorage.get(token);if(!cached)return;const parsed=(0,import_json.safeJSONParse)(cached);if(!parsed)return;const sessionTTL=getTTLSeconds(parsed.session.expiresAt,now);await secondaryStorage.set(token,JSON.stringify({session:parsed.session,user}),Math.floor(sessionTTL))}))}__name(refreshUserSessions,\"refreshUserSessions\");return{createOAuthUser:__name(async(user,account)=>{return(0,import_context.runWithTransaction)(adapter,async()=>{const createdUser=await createWithHooks({createdAt:new Date,updatedAt:new Date,...user},\"user\",void 0);return{user:createdUser,account:await createWithHooks({...account,userId:createdUser.id,createdAt:new Date,updatedAt:new Date},\"account\",void 0)}})},\"createOAuthUser\"),createUser:__name(async user=>{return await createWithHooks({createdAt:new Date,updatedAt:new Date,...user,email:user.email?.toLowerCase()},\"user\",void 0)},\"createUser\"),createAccount:__name(async account=>{return await createWithHooks({createdAt:new Date,updatedAt:new Date,...account},\"account\",void 0)},\"createAccount\"),listSessions:__name(async(userId,options2)=>{if(secondaryStorage){const currentList=await secondaryStorage.get(`active-sessions-${userId}`);if(!currentList)return[];const list=(0,import_json.safeJSONParse)(currentList)||[];const now=Date.now();const seenTokens=new Set;const sessions=[];for(const{token,expiresAt}of list){if(expiresAt<=now||seenTokens.has(token))continue;seenTokens.add(token);const data=await secondaryStorage.get(token);if(!data)continue;try{const parsed=typeof data===\"string\"?JSON.parse(data):data;if(!parsed?.session)continue;sessions.push((0,import_schema.parseSessionOutput)(ctx.options,{...parsed.session,expiresAt:new Date(parsed.session.expiresAt)}))}catch{continue}}return sessions}return await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"session\",where:[{field:\"userId\",value:userId},...options2?.onlyActiveSessions?[{field:\"expiresAt\",value:new Date,operator:\"gt\"}]:[]]})},\"listSessions\"),listUsers:__name(async(limit,offset,sortBy,where)=>{return await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"user\",limit,offset,sortBy,where})},\"listUsers\"),countTotalUsers:__name(async where=>{const total=await(await(0,import_context.getCurrentAdapter)(adapter)).count({model:\"user\",where});if(typeof total===\"string\")return parseInt(total);return total},\"countTotalUsers\"),deleteUser:__name(async userId=>{if(!secondaryStorage||options.session?.storeSessionInDatabase)await deleteManyWithHooks([{field:\"userId\",value:userId}],\"session\",void 0);await deleteManyWithHooks([{field:\"userId\",value:userId}],\"account\",void 0);await deleteWithHooks([{field:\"id\",value:userId}],\"user\",void 0)},\"deleteUser\"),createSession:__name(async(userId,dontRememberMe,override,overrideAll)=>{const headers=await(async()=>{const ctx2=await(0,import_context.getCurrentAuthContext)().catch(()=>null);return ctx2?.headers||ctx2?.request?.headers})();const storeInDb=options.session?.storeSessionInDatabase;const{id:_,...rest}=override||{};const defaultAdditionalFields=(0,import_schema.getSessionDefaultFields)(options);const data={ipAddress:headers?(0,import_get_request_ip.getIp)(headers,options)||\"\":\"\",userAgent:headers?.get(\"user-agent\")||\"\",...rest,expiresAt:dontRememberMe?(0,import_date.getDate)(3600*24,\"sec\"):(0,import_date.getDate)(sessionExpiration,\"sec\"),userId,token:(0,import_id.generateId)(32),createdAt:new Date,updatedAt:new Date,...defaultAdditionalFields,...overrideAll?rest:{}};return await createWithHooks(data,\"session\",secondaryStorage?{fn:__name(async sessionData=>{const currentList=await secondaryStorage.get(`active-sessions-${userId}`);let list=[];const now=Date.now();if(currentList){list=(0,import_json.safeJSONParse)(currentList)||[];list=list.filter(session=>session.expiresAt>now&&session.token!==data.token)}const sorted=[...list,{token:data.token,expiresAt:data.expiresAt.getTime()}].sort((a,b)=>a.expiresAt-b.expiresAt);const furthestSessionTTL=getTTLSeconds(sorted.at(-1)?.expiresAt??data.expiresAt.getTime(),now);if(furthestSessionTTL>0)await secondaryStorage.set(`active-sessions-${userId}`,JSON.stringify(sorted),furthestSessionTTL);const user=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"user\",where:[{field:\"id\",value:userId}]});const sessionTTL=getTTLSeconds(data.expiresAt,now);if(sessionTTL>0)await secondaryStorage.set(data.token,JSON.stringify({session:sessionData,user}),sessionTTL);return sessionData},\"fn\"),executeMainFn:storeInDb}:void 0)},\"createSession\"),findSession:__name(async token=>{if(secondaryStorage){const sessionStringified=await secondaryStorage.get(token);if(!sessionStringified&&(!options.session?.storeSessionInDatabase||ctx.options.session?.preserveSessionInDatabase))return null;if(sessionStringified){const s=(0,import_json.safeJSONParse)(sessionStringified);if(!s)return null;return{session:(0,import_schema.parseSessionOutput)(ctx.options,{...s.session,expiresAt:new Date(s.session.expiresAt),createdAt:new Date(s.session.createdAt),updatedAt:new Date(s.session.updatedAt)}),user:(0,import_schema.parseUserOutput)(ctx.options,{...s.user,createdAt:new Date(s.user.createdAt),updatedAt:new Date(s.user.updatedAt)})}}}const result=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"session\",where:[{value:token,field:\"token\"}],join:{user:true}});if(!result)return null;const{user,...session}=result;if(!user)return null;return{session:(0,import_schema.parseSessionOutput)(ctx.options,session),user:(0,import_schema.parseUserOutput)(ctx.options,user)}},\"findSession\"),findSessions:__name(async(sessionTokens,options2)=>{if(secondaryStorage){const sessions2=[];for(const sessionToken of sessionTokens){const sessionStringified=await secondaryStorage.get(sessionToken);if(sessionStringified)try{const s=typeof sessionStringified===\"string\"?JSON.parse(sessionStringified):sessionStringified;if(!s)return[];const expiresAt=new Date(s.session.expiresAt);if(options2?.onlyActiveSessions&&expiresAt<=new Date)continue;const session={session:{...s.session,expiresAt:new Date(s.session.expiresAt)},user:{...s.user,createdAt:new Date(s.user.createdAt),updatedAt:new Date(s.user.updatedAt)}};sessions2.push(session)}catch{continue}}return sessions2}const sessions=await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"session\",where:[{field:\"token\",value:sessionTokens,operator:\"in\"},...options2?.onlyActiveSessions?[{field:\"expiresAt\",value:new Date,operator:\"gt\"}]:[]],join:{user:true}});if(!sessions.length)return[];if(sessions.some(session=>!session.user))return[];return sessions.map(_session=>{const{user,...session}=_session;return{session,user}})},\"findSessions\"),updateSession:__name(async(sessionToken,session)=>{return await updateWithHooks(session,[{field:\"token\",value:sessionToken}],\"session\",secondaryStorage?{async fn(data){const currentSession=await secondaryStorage.get(sessionToken);if(!currentSession)return null;const parsedSession=(0,import_json.safeJSONParse)(currentSession);if(!parsedSession)return null;const mergedSession={...parsedSession.session,...data,expiresAt:new Date(data.expiresAt??parsedSession.session.expiresAt),createdAt:new Date(parsedSession.session.createdAt),updatedAt:new Date(data.updatedAt??parsedSession.session.updatedAt)};const updatedSession=(0,import_schema.parseSessionOutput)(ctx.options,mergedSession);const now=Date.now();const expiresMs=new Date(updatedSession.expiresAt).getTime();const sessionTTL=getTTLSeconds(expiresMs,now);if(sessionTTL>0){await secondaryStorage.set(sessionToken,JSON.stringify({session:updatedSession,user:parsedSession.user}),sessionTTL);const listKey=`active-sessions-${updatedSession.userId}`;const listRaw=await secondaryStorage.get(listKey);const sorted=(listRaw?(0,import_json.safeJSONParse)(listRaw)||[]:[]).filter(s=>s.token!==sessionToken&&s.expiresAt>now).concat([{token:sessionToken,expiresAt:expiresMs}]).sort((a,b)=>a.expiresAt-b.expiresAt);const furthestSessionExp=sorted.at(-1)?.expiresAt;if(furthestSessionExp&&furthestSessionExp>now)await secondaryStorage.set(listKey,JSON.stringify(sorted),getTTLSeconds(furthestSessionExp,now));else await secondaryStorage.delete(listKey)}return updatedSession},executeMainFn:options.session?.storeSessionInDatabase}:void 0)},\"updateSession\"),deleteSession:__name(async token=>{if(secondaryStorage){const data=await secondaryStorage.get(token);if(data){const{session}=(0,import_json.safeJSONParse)(data)??{};if(!session){logger.error(\"Session not found in secondary storage\");return}const userId=session.userId;const currentList=await secondaryStorage.get(`active-sessions-${userId}`);if(currentList){const list=(0,import_json.safeJSONParse)(currentList)||[];const now=Date.now();const filtered=list.filter(session2=>session2.expiresAt>now&&session2.token!==token);const furthestSessionExp=filtered.sort((a,b)=>a.expiresAt-b.expiresAt).at(-1)?.expiresAt;if(filtered.length>0&&furthestSessionExp&&furthestSessionExp>Date.now())await secondaryStorage.set(`active-sessions-${userId}`,JSON.stringify(filtered),getTTLSeconds(furthestSessionExp,now));else await secondaryStorage.delete(`active-sessions-${userId}`)}else logger.error(\"Active sessions list not found in secondary storage\")}await secondaryStorage.delete(token);if(!options.session?.storeSessionInDatabase||ctx.options.session?.preserveSessionInDatabase)return}await deleteWithHooks([{field:\"token\",value:token}],\"session\",void 0)},\"deleteSession\"),deleteAccounts:__name(async userId=>{await deleteManyWithHooks([{field:\"userId\",value:userId}],\"account\",void 0)},\"deleteAccounts\"),deleteAccount:__name(async accountId=>{await deleteWithHooks([{field:\"id\",value:accountId}],\"account\",void 0)},\"deleteAccount\"),deleteSessions:__name(async userIdOrSessionTokens=>{if(secondaryStorage){if(typeof userIdOrSessionTokens===\"string\"){const activeSession=await secondaryStorage.get(`active-sessions-${userIdOrSessionTokens}`);const sessions=activeSession?(0,import_json.safeJSONParse)(activeSession):[];if(!sessions)return;for(const session of sessions)await secondaryStorage.delete(session.token);await secondaryStorage.delete(`active-sessions-${userIdOrSessionTokens}`)}else for(const sessionToken of userIdOrSessionTokens)if(await secondaryStorage.get(sessionToken))await secondaryStorage.delete(sessionToken);if(!options.session?.storeSessionInDatabase||ctx.options.session?.preserveSessionInDatabase)return}await deleteManyWithHooks([{field:Array.isArray(userIdOrSessionTokens)?\"token\":\"userId\",value:userIdOrSessionTokens,operator:Array.isArray(userIdOrSessionTokens)?\"in\":void 0}],\"session\",void 0)},\"deleteSessions\"),findOAuthUser:__name(async(email,accountId,providerId)=>{const account=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"account\",where:[{value:accountId,field:\"accountId\"},{value:providerId,field:\"providerId\"}],join:{user:true}});if(account)if(account.user)return{user:account.user,linkedAccount:account,accounts:[account]};else{const user=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"user\",where:[{value:email.toLowerCase(),field:\"email\"}]});if(user)return{user,linkedAccount:account,accounts:[account]};return null}else{const user=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"user\",where:[{value:email.toLowerCase(),field:\"email\"}]});if(user)return{user,linkedAccount:null,accounts:await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"account\",where:[{value:user.id,field:\"userId\"}]})||[]};else return null}},\"findOAuthUser\"),findUserByEmail:__name(async(email,options2)=>{const result=await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"user\",where:[{value:email.toLowerCase(),field:\"email\"}],join:{...options2?.includeAccounts?{account:true}:{}}});if(!result)return null;const{account:accounts,...user}=result;return{user,accounts:accounts??[]}},\"findUserByEmail\"),findUserById:__name(async userId=>{if(!userId)return null;return await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"user\",where:[{field:\"id\",value:userId}]})},\"findUserById\"),linkAccount:__name(async account=>{return await createWithHooks({createdAt:new Date,updatedAt:new Date,...account},\"account\",void 0)},\"linkAccount\"),updateUser:__name(async(userId,data)=>{const user=await updateWithHooks(data,[{field:\"id\",value:userId}],\"user\",void 0);await refreshUserSessions(user);return user},\"updateUser\"),updateUserByEmail:__name(async(email,data)=>{const user=await updateWithHooks(data,[{field:\"email\",value:email.toLowerCase()}],\"user\",void 0);await refreshUserSessions(user);return user},\"updateUserByEmail\"),updatePassword:__name(async(userId,password)=>{await updateManyWithHooks({password},[{field:\"userId\",value:userId},{field:\"providerId\",value:\"credential\"}],\"account\",void 0)},\"updatePassword\"),findAccounts:__name(async userId=>{return await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"account\",where:[{field:\"userId\",value:userId}]})},\"findAccounts\"),findAccount:__name(async accountId=>{return await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"account\",where:[{field:\"accountId\",value:accountId}]})},\"findAccount\"),findAccountByProviderId:__name(async(accountId,providerId)=>{return await(await(0,import_context.getCurrentAdapter)(adapter)).findOne({model:\"account\",where:[{field:\"accountId\",value:accountId},{field:\"providerId\",value:providerId}]})},\"findAccountByProviderId\"),findAccountByUserId:__name(async userId=>{return await(await(0,import_context.getCurrentAdapter)(adapter)).findMany({model:\"account\",where:[{field:\"userId\",value:userId}]})},\"findAccountByUserId\"),updateAccount:__name(async(id,data)=>{return await updateWithHooks(data,[{field:\"id\",value:id}],\"account\",void 0)},\"updateAccount\"),createVerificationValue:__name(async data=>{const storageOption=(0,import_verification_token_storage.getStorageOption)(data.identifier,options.verification?.storeIdentifier);const storedIdentifier=await(0,import_verification_token_storage.processIdentifier)(data.identifier,storageOption);return await createWithHooks({createdAt:new Date,updatedAt:new Date,...data,identifier:storedIdentifier},\"verification\",secondaryStorage?{async fn(verificationData){const ttl=getTTLSeconds(verificationData.expiresAt);if(ttl>0)await secondaryStorage.set(`verification:${storedIdentifier}`,JSON.stringify(verificationData),ttl);return verificationData},executeMainFn:options.verification?.storeInDatabase}:void 0)},\"createVerificationValue\"),findVerificationValue:__name(async identifier=>{const storageOption=(0,import_verification_token_storage.getStorageOption)(identifier,options.verification?.storeIdentifier);const storedIdentifier=await(0,import_verification_token_storage.processIdentifier)(identifier,storageOption);if(secondaryStorage){const cached=await secondaryStorage.get(`verification:${storedIdentifier}`);if(cached){const parsed=(0,import_json.safeJSONParse)(cached);if(parsed)return parsed}if(storageOption&&storageOption!==\"plain\"){const plainCached=await secondaryStorage.get(`verification:${identifier}`);if(plainCached){const parsed=(0,import_json.safeJSONParse)(plainCached);if(parsed)return parsed}}if(!options.verification?.storeInDatabase)return null}const currentAdapter=await(0,import_context.getCurrentAdapter)(adapter);async function findByIdentifier(id){return currentAdapter.findMany({model:\"verification\",where:[{field:\"identifier\",value:id}],sortBy:{field:\"createdAt\",direction:\"desc\"},limit:1})}__name(findByIdentifier,\"findByIdentifier\");let verification=await findByIdentifier(storedIdentifier);if(!verification.length&&storageOption&&storageOption!==\"plain\")verification=await findByIdentifier(identifier);if(!options.verification?.disableCleanup)await deleteManyWithHooks([{field:\"expiresAt\",value:new Date,operator:\"lt\"}],\"verification\",void 0);return verification[0]||null},\"findVerificationValue\"),deleteVerificationByIdentifier:__name(async identifier=>{const storedIdentifier=await(0,import_verification_token_storage.processIdentifier)(identifier,(0,import_verification_token_storage.getStorageOption)(identifier,options.verification?.storeIdentifier));if(secondaryStorage)await secondaryStorage.delete(`verification:${storedIdentifier}`);if(!secondaryStorage||options.verification?.storeInDatabase)await deleteWithHooks([{field:\"identifier\",value:storedIdentifier}],\"verification\",void 0)},\"deleteVerificationByIdentifier\"),updateVerificationByIdentifier:__name(async(identifier,data)=>{const storedIdentifier=await(0,import_verification_token_storage.processIdentifier)(identifier,(0,import_verification_token_storage.getStorageOption)(identifier,options.verification?.storeIdentifier));if(secondaryStorage){const cached=await secondaryStorage.get(`verification:${storedIdentifier}`);if(cached){const parsed=(0,import_json.safeJSONParse)(cached);if(parsed){const updated={...parsed,...data};const expiresAt=updated.expiresAt??parsed.expiresAt;const ttl=getTTLSeconds(expiresAt instanceof Date?expiresAt:new Date(expiresAt));if(ttl>0)await secondaryStorage.set(`verification:${storedIdentifier}`,JSON.stringify(updated),ttl);if(!options.verification?.storeInDatabase)return updated}}}if(!secondaryStorage||options.verification?.storeInDatabase)return await updateWithHooks(data,[{field:\"identifier\",value:storedIdentifier}],\"verification\",void 0);return data},\"updateVerificationByIdentifier\")}},\"createInternalAdapter\");0&&(module.exports={createInternalAdapter});\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":["options","ctx","sessions","session"],"ignoreList":[],"sources":["/opt/canhelp/node_modules/better-auth/dist/db/internal-adapter.mjs"],"sourcesContent":[null]}}