@@ -193,7 +193,7 @@ export const confirmUserEmail = async (
193193 SELECT * FROM {${ passwordResetTokensTable } }
194194 WHERE email = ${ email }
195195 ORDER BY created_at DESC
196- ` as { rows : { id : number , email : string , token : string , created_at : string } [ ] }
196+ ` as { rows : { id : number , email : string , token : string , created_at : Date | string } [ ] }
197197
198198 if ( tokenRecords . rows . length === 0 ) {
199199 console . log ( `[Nuxt Users] No confirmation tokens found for email: ${ email } ` )
@@ -220,7 +220,12 @@ export const confirmUserEmail = async (
220220 const currentTimeString = now . toISOString ( ) . slice ( 0 , 19 ) . replace ( 'T' , ' ' )
221221
222222 // Parse the original timestamp and add expiration hours
223- const [ datePart , timePart ] = validTokenRecord . created_at . split ( / [ T ] / )
223+ // Handle both Date objects and string timestamps from different databases
224+ const createdAtString = validTokenRecord . created_at instanceof Date
225+ ? validTokenRecord . created_at . toISOString ( ) . slice ( 0 , 19 ) . replace ( 'T' , ' ' )
226+ : String ( validTokenRecord . created_at )
227+
228+ const [ datePart , timePart ] = createdAtString . split ( / [ T ] / )
224229 const [ year , month , day ] = datePart . split ( '-' ) . map ( Number )
225230 const [ hour , minute , second ] = timePart . split ( ':' ) . map ( Number )
226231
0 commit comments