enum OpenGraphType {
  image
  audio
  video
  article
  book
  profile
  website
}

enum LC {
  uk_UA
  ru_UA
}

// https://site-ok.com/blog/%D0%BA%D0%B0%D0%BA-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE-%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-%D0%BC%D0%B5%D1%82%D0%B0-%D1%82%D0%B5%D0%B3%D0%B8-title-%D0%B8-description
model Meta {
  id            Int             @id @default(autoincrement())
  title         String?         @db.VarChar(255)
  description   String?         @db.Text
  keywords      String?         @db.VarChar(255)
  author        String?         @db.VarChar(255)
  openGraph     OpenGraph?
  storeLocale   StoreLocale[]
  productLocale ProductLocale[]
  //vendorLocale  VendorLocale[]

  @@map("meta")
}

// https://ogp.me/#types
// https://seosetups.com/blog/open-graph/
// https://www.conductor.com/academy/open-graph/
// https://developer.x.com/en/docs/x-for-websites/cards/overview/markup
model OpenGraph {
  id          Int            @id @default(autoincrement())
  url         String?        @db.VarChar(1024)
  title       String?        @db.VarChar(384)
  description String?        @db.Text //
  image       String?        @db.VarChar(1024)
  type        OpenGraphType?
  locale      LC?
  siteName    String?        @map("site_name")
  video       String?        @db.VarChar(1024)
  meta        Meta           @relation(fields: [metaId], references: [id], onDelete: Cascade)
  metaId      Int            @unique @map("meta_id")

  @@map("open_graph")
}
