// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema

generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "mysql"
  url      = env("DATABASE_URL")
}

model UserEntity {
  id       Int               @id @default(autoincrement())
  password String            @default("") @db.VarChar(64)
  email    String            @unique @default("") @db.VarChar(64)
  verified Boolean           @default(false)
  roles    UserRolesEntity[]

  @@map("users")
}

model RoleEntity {
  id    Int               @id @default(autoincrement())
  name  String            @unique @default("") @db.VarChar(64)
  users UserRolesEntity[]

  @@map("user_roles")
}

model UserRolesEntity {
  UserEntity   UserEntity @relation(fields: [userEntityId], references: [id])
  userEntityId Int
  RoleEntity   RoleEntity @relation(fields: [roleEntityId], references: [id])
  roleEntityId Int

  @@id([userEntityId, roleEntityId])
  @@map("roles")
}
