diff --git a/prisma/schema.prisma b/prisma/schema.prisma index d08dd95..c31d4df 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -306,7 +306,7 @@ model Cities { id Int @id @default(autoincrement()) stateXid Int @map("state_xid") states States @relation(fields: [stateXid], references: [id], onDelete: Cascade) - cityName String @map("city_name") @db.VarChar(50) + cityName String @unique @map("city_name") @db.VarChar(50) isActive Boolean @default(true) @map("is_active") createdAt DateTime @default(now()) @map("created_at") updatedAt DateTime @updatedAt @map("updated_at") diff --git a/src/modules/user/services/user.service.ts b/src/modules/user/services/user.service.ts index 71ab06c..6baeed4 100644 --- a/src/modules/user/services/user.service.ts +++ b/src/modules/user/services/user.service.ts @@ -346,8 +346,8 @@ export class UserService { } // 2️⃣ State: find or create (GLOBAL UNIQUE) - let state = await tx.states.findUnique({ - where: { stateName }, + let state = await tx.states.findFirst({ + where: { stateName, countryXid: country.id }, select: { id: true }, }); @@ -362,8 +362,8 @@ export class UserService { } // 3️⃣ City: find or create (GLOBAL UNIQUE) - let city = await tx.cities.findUnique({ - where: { cityName }, + let city = await tx.cities.findFirst({ + where: { cityName, stateXid: state.id }, select: { id: true }, });