🐛 fix: change create user repository flow

Include preference creation when creating new user accounts
This commit is contained in:
Rafi Arrafif
2026-01-09 14:56:39 +07:00
parent 5bcdeae663
commit ade9008752
3 changed files with 12 additions and 7 deletions

View File

@ -176,7 +176,6 @@ Table users {
providerToken String providerToken String
providerPayload Json providerPayload Json
preference user_preferences preference user_preferences
preferenceId String [unique]
verifiedAt DateTime verifiedAt DateTime
disabledAt DateTime disabledAt DateTime
deletedAt DateTime deletedAt DateTime
@ -213,7 +212,8 @@ Table users {
Table user_preferences { Table user_preferences {
id String [pk] id String [pk]
userId users user users [not null]
userId String [unique, not null]
lang languages lang languages
langPreference String langPreference String
adultFiltering AdultFiltering [not null, default: 'hide'] adultFiltering AdultFiltering [not null, default: 'hide']
@ -655,7 +655,7 @@ Ref: videos.uploadedBy > users.id
Ref: video_services.createdBy > users.id Ref: video_services.createdBy > users.id
Ref: users.preferenceId - user_preferences.id Ref: user_preferences.userId - users.id
Ref: user_preferences.langPreference > languages.code Ref: user_preferences.langPreference > languages.code

View File

@ -211,8 +211,7 @@ model User {
providerId String? @unique @db.VarChar(255) providerId String? @unique @db.VarChar(255)
providerToken String? @db.Text providerToken String? @db.Text
providerPayload Json? @db.Json providerPayload Json? @db.Json
preference UserPreference? @relation(fields: [preferenceId], references: [id]) preference UserPreference?
preferenceId String? @unique
verifiedAt DateTime? verifiedAt DateTime?
disabledAt DateTime? disabledAt DateTime?
deletedAt DateTime? deletedAt DateTime?
@ -251,7 +250,8 @@ model User {
model UserPreference { model UserPreference {
id String @id @default(uuid()) id String @id @default(uuid())
userId User? @relation() user User @relation(fields: [userId], references: [id])
userId String @unique
lang Language? @relation("UserPreferenceLang", fields: [langPreference], references: [code]) lang Language? @relation("UserPreferenceLang", fields: [langPreference], references: [code])
langPreference String? langPreference String?
adultFiltering AdultFiltering @default(hide) adultFiltering AdultFiltering @default(hide)

View File

@ -7,7 +7,12 @@ export const createUserViaRegisterRepository = async (
) => { ) => {
try { try {
return await userModel.create({ return await userModel.create({
data: payload, data: {
...payload,
preference: {
create: {},
},
},
}); });
} catch (error) { } catch (error) {
ErrorForwarder(error); ErrorForwarder(error);