refactor: migrate authentication from Supabase to Better Auth and update Prisma schema models

This commit is contained in:
Jose Selesan
2026-04-16 20:05:08 -03:00
parent bd30b32b49
commit f158845279
28 changed files with 1275 additions and 608 deletions

View File

@@ -8,6 +8,7 @@ model User {
updatedAt DateTime @updatedAt
sessions Session[]
accounts Account[]
complexes ComplexUser[]
@@unique([email])
@@map("users")

View File

@@ -1,17 +1,17 @@
model Complex {
id String @id @db.Uuid
complexName String @map("complex_name")
physicalAddress String? @map("physical_address") @db.VarChar(200)
city String? @map("city") @db.VarChar(100)
state String? @map("state") @db.VarChar(100)
country String? @map("country") @db.VarChar(100)
complexSlug String @unique @map("complex_slug")
adminEmail String @map("admin_email")
planCode String? @map("plan_code") @db.VarChar(10)
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
plan Plan? @relation(fields: [planCode], references: [code])
// users ComplexUser[]
id String @id @db.Uuid
complexName String @map("complex_name")
physicalAddress String? @map("physical_address") @db.VarChar(200)
city String? @map("city") @db.VarChar(100)
state String? @map("state") @db.VarChar(100)
country String? @map("country") @db.VarChar(100)
complexSlug String @unique @map("complex_slug")
adminEmail String @map("admin_email")
planCode String? @map("plan_code") @db.VarChar(10)
createdAt DateTime @default(now()) @map("created_at")
updatedAt DateTime @updatedAt @map("updated_at")
plan Plan? @relation(fields: [planCode], references: [code])
users ComplexUser[]
courts Court[]
@@index([planCode])
@@ -24,15 +24,15 @@ enum ComplexUserRole {
EMPLOYEE
}
// model ComplexUser {
// complexId String @map("complex_id") @db.Uuid
// userId String @map("user_id") @db.Uuid
// role ComplexUserRole @default(ADMIN)
// createdAt DateTime @default(now()) @map("created_at")
// complex Complex @relation(fields: [complexId], references: [id], onDelete: Cascade)
// user User @relation(fields: [userId], references: [id], onDelete: Cascade)
model ComplexUser {
complexId String @map("complex_id") @db.Uuid
userId String @map("user_id")
role ComplexUserRole @default(ADMIN)
createdAt DateTime @default(now()) @map("created_at")
complex Complex @relation(fields: [complexId], references: [id], onDelete: Cascade)
user User @relation(fields: [userId], references: [id], onDelete: Cascade)
// @@id([complexId, userId])
// @@index([userId])
// @@map("complex_users")
// }
@@id([complexId, userId])
@@index([userId])
@@map("complex_users")
}

View File

@@ -0,0 +1,18 @@
-- CreateTable
CREATE TABLE "complex_users" (
"complex_id" UUID NOT NULL,
"user_id" TEXT NOT NULL,
"role" "ComplexUserRole" NOT NULL DEFAULT 'ADMIN',
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "complex_users_pkey" PRIMARY KEY ("complex_id","user_id")
);
-- CreateIndex
CREATE INDEX "complex_users_user_id_idx" ON "complex_users"("user_id");
-- AddForeignKey
ALTER TABLE "complex_users" ADD CONSTRAINT "complex_users_complex_id_fkey" FOREIGN KEY ("complex_id") REFERENCES "complexes"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "complex_users" ADD CONSTRAINT "complex_users_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;