generator client {
  provider = "prisma-client-js"
  binaryTargets = ["native", "debian-openssl-1.1.x", "rhel-openssl-1.1.x"]
}

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

model site_contact {
  sc_id Int @id @default(autoincrement())
  sc_fname String @db.VarChar(255)
  sc_lname String @db.VarChar(255)
  sc_email String @db.VarChar(255)
  sc_mobile String @db.VarChar(255)
  sc_company String @db.VarChar(255)
  sc_message String @db.VarChar(255)
  sc_date Int? @default(0)

  replies site_contact_reply[]
}

model site_contact_reply {
  scr_id Int @id @default(autoincrement())
  scr_sc_id Int
  scr_subject String @db.VarChar(255)
  scr_message String @db.MediumText
  scr_date Int? @default(0)

  contact site_contact @relation(fields: [scr_sc_id], references: [sc_id])
}

model site_book_demo {
  sd_id Int @id @default(autoincrement())
  sd_fname String @db.VarChar(255)
  sd_lname String @db.VarChar(255)
  sd_email String @db.VarChar(255)
  sd_mobile String @db.VarChar(255)
  sd_company String @db.VarChar(255)
  sd_client_type String @db.VarChar(255)
  sd_subject String @db.VarChar(255)
  sd_message String @db.VarChar(255)
  sd_cloud Int? @default(0)
  sd_date Int? @default(0)

  replies site_book_demo_reply[]
}

model site_book_demo_reply {
  sdr_id Int @id @default(autoincrement())
  sdr_sd_id Int
  sdr_subject String @db.VarChar(255)
  sdr_message String @db.MediumText
  sdr_date Int? @default(0)

  bookdemo site_book_demo @relation(fields: [sdr_sd_id], references: [sd_id])
}


model site_career {
  sc_id Int @id @default(autoincrement())
  sc_fname String @db.VarChar(255)
  sc_lname String @db.VarChar(255)
  sc_email String @db.VarChar(255)
  sc_mobile String @db.VarChar(255)
  sc_qualification String @db.VarChar(255)
  sc_experience String @db.VarChar(255)
  sc_message String @db.VarChar(255)
  sc_date Int? @default(0)
}

model site_vacancy {
  sv_id      Int      @id @default(autoincrement())
  sv_svc_id  Int
  sv_svt_id  Int
  sv_sl_id   Int
  sv_name    String   @db.VarChar(255)
  sv_details String   @db.MediumText
  sv_status  Int      @default(0)
  sv_date    Int?     @default(0)

  category   site_vacancy_category @relation(fields: [sv_svc_id], references: [svc_id])
  jobtype    site_vacancy_type     @relation(fields: [sv_svt_id], references: [svt_id])
  location   site_location         @relation(fields: [sv_sl_id], references: [sl_id])
}

model site_vacancy_category {
  svc_id   Int    @id @default(autoincrement())
  svc_name String @unique @db.VarChar(255)

  vacancies site_vacancy[]
}

model site_vacancy_type {
  svt_id   Int    @id @default(autoincrement())
  svt_name String @unique @db.VarChar(255)

  vacancies site_vacancy[]
}

model site_location {
  sl_id      Int    @id @default(autoincrement())
  sl_name    String @db.VarChar(255)
  sl_address String @db.VarChar(255)
  sl_city    String @db.VarChar(255)

  vacancies site_vacancy[]
  @@unique([sl_city, sl_address])
}

model site_event {
  se_id      Int      @id @default(autoincrement())
  se_sec_id  Int
  se_name    String   @db.VarChar(255)
  se_details String   @db.MediumText
  se_status  Int      @default(0)
  se_date    Int?     @default(0)
  se_up_id   Int?     @default(0)

  category   site_event_category @relation(fields: [se_sec_id], references: [sec_id])
}

model site_event_category {
  sec_id   Int    @id @default(autoincrement())
  sec_name String @unique @db.VarChar(255)

  events site_event[]
}

model site_user {
  su_id Int @id @default(autoincrement())
  su_ut_id Int
  su_name String @db.VarChar(255)
  su_email String @unique @db.VarChar(255)
  su_mobile String @unique @db.VarChar(255)
  su_password String @db.VarChar(255)
  su_provider String @db.VarChar(255)
  su_status Int? @default(0)
  su_date Int? @default(0)
}

model site_user_log {
  sul_id Int @id @default(autoincrement())
  sul_su_id Int
  sul_date Int? @default(0)
}

model site_user_type {
  ut_id Int @id @default(autoincrement())
  ut_name String @unique @db.VarChar(255)
}

model site_otp {
  so_id Int @id @default(autoincrement())
  so_type Int? @default(0)
  so_entity String @db.VarChar(255)
  so_otp String @db.VarChar(6)
  so_date Int? @default(0)
}

model site_subscriber {
  ss_id Int @id @default(autoincrement())
  ss_name String @db.VarChar(255)
  ss_email String @unique @db.VarChar(255)
  ss_status Int? @default(0)
  ss_date Int? @default(0)
}

model subscriber_mail_queue {
  smq_id Int @id @default(autoincrement())
  smq_subject String @db.VarChar(255)
  smq_content String @db.MediumText
  smq_status Int @default(0) // pending, sending, completed, failed
  smq_date Int @default(0)
  smq_sent_date Int @default(0)

  recipients subscriber_mail_recipient[]
}

model subscriber_mail_recipient {
  smr_id Int @id @default(autoincrement())
  smr_smq_id Int
  smr_ss_id Int
  smr_email String
  smr_status Int @default(0) // pending, sent, failed
  smr_error String?
  smr_sent_date Int @default(0)

  mail_queue subscriber_mail_queue @relation(fields: [smr_smq_id], references: [smq_id])
}

model site_metadata {
  sm_id Int @id @default(autoincrement())
  sm_path String @unique @db.VarChar(255)
  sm_title String @db.VarChar(255)
  sm_description String @db.Text
  sm_schema String? @db.LongText
  sm_type String @db.VarChar(255)
  sm_date Int? @default(0)
}

model site_blog {
  sb_id Int @id @default(autoincrement())
  sb_sbt_id Int? @default(0)
  sb_title String @db.VarChar(255)
  sb_content String @db.MediumText
  sb_path String @unique @db.VarChar(255)
  sb_status Int? @default(0)
  sb_date Int? @default(0)
}

model site_blog_type {
  sbt_id Int @id @default(autoincrement())
  sbt_title String @db.VarChar(255)
}


model uploads {
  up_id Int @id @default(autoincrement())
  up_s_id Int?
  up_s_type String? @db.VarChar(255)
  up_fname String? @db.VarChar(255)
  up_oname String? @db.VarChar(255)
  up_ext String? @db.VarChar(255)
  up_file_type String @db.VarChar(255)  
  up_size BigInt @default(0)
  up_width  Int @default(0)
  up_height Int @default(0)
  up_date Int @default(0)
}
