finished reset password & other changes

This commit is contained in:
2024-04-24 22:37:55 +03:00
parent b1ad7b5c3e
commit 53cadc289a
58 changed files with 1520 additions and 349 deletions

View File

@@ -1,14 +1,38 @@
import { v4 as uuid } from 'uuid'
import { v4 as uuidV4 } from 'uuid'
import {
VERIFICATION_TOKEN_EXPIRATION_DURATION,
} from '@/config/auth'
import db from '@/lib/db'
import { getVerificationTokenByEmail } from '@/data/verification-token'
import { getPasswordResetTokenByEmail } from '@/data/password-reset-token'
export const generatePasswordResetToken = async (email: string) => {
const token = uuidV4()
const expires = new Date(new Date().getTime() + VERIFICATION_TOKEN_EXPIRATION_DURATION)
const existingToken = await getPasswordResetTokenByEmail(email)
if (existingToken) {
await db.passwordResetToken.delete({
where: {
id: existingToken.id,
},
})
}
const passwordResetToken = await db.passwordResetToken.create({
data: {
email,
token,
expires,
},
})
return passwordResetToken
}
export const generateVerificationToken = async (email: string) => {
const token = uuid()
const expires = new Date(
new Date().getTime() + VERIFICATION_TOKEN_EXPIRATION_DURATION)
const token = uuidV4()
const expires = new Date(new Date().getTime() + VERIFICATION_TOKEN_EXPIRATION_DURATION)
const existingToken = await getVerificationTokenByEmail(email)