// 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 = "mongodb"
url = env("DATABASE_URL")
}
// emuns
enum StreamType {
OwnStream
Restricted
M3u8
Web
}
enum VideoType {
None
Youtube
Sportmonk
}
enum ThumbnailType {
None
Url
Image
}
enum NotificationType {
OneSignal
FCM
}
model User {
id String @id @default(auto()) @map("_id") @db.ObjectId
name String?
email String @unique
password String
adminType String?
emailVerified DateTime?
image String?
salt String
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
}
model Match {
id String @id @default(auto()) @map("_id") @db.ObjectId
fixtureId String?
matchTime String
matchTitle String
teamOneName String
teamOneImage String
teamTwoName String
teamTwoImage String
matchStatus Boolean
streamingSources Stream[]
}
model Stream {
id String @id @default(auto()) @map("_id") @db.ObjectId
matchId String @db.ObjectId
streamTitle String
isPremium Boolean
resulation String
platform String
portraitWatermark String
landscapeWatermark String
streamType StreamType @default(OwnStream)
streamUrl String?
headers String?
streamKey String?
streamRestrictedData String?
match Match @relation(fields: [matchId], references: [id], onDelete: Cascade, onUpdate: Cascade)
}
model Highlight {
id String @id @default(auto()) @map("_id") @db.ObjectId
fixtureId String?
title String
shortDescription String?
status Boolean
youtubeUrl String?
youtubeThumbnail String?
videoType VideoType @default(None)
thumbnailType ThumbnailType @default(None)
imageUrl String?
imageFile String?
}
model AppSettings {
id String @id @default(auto()) @map("_id") @db.ObjectId
platform String @default("android")
notificationType NotificationType @default(OneSignal)
oneSignalAppID String?
oneSignalApiKey String?
firebaseServerKey String?
firebaseTopics String?
sportsApiBasedUrl String?
sportsApiKey String?
androidSettings AndroidSettings[]
iosSettings IosSettings[]
}
model AndroidSettings {
id String @id @default(auto()) @map("_id") @db.ObjectId
androidSettingsId String @db.ObjectId
privacyPolicy String?
termsAndCondition String?
appShareLink String?
appDefalutPage String?
appPublishingControl Boolean?
hideLiveByVersionCode Int?
adsType String?
clickControl Int?
googleAppId String?
googleAppOpenAddCode String?
googleBannerAdsCode String?
googleInterstitialAdsCode String?
googleNativeAdsCode String?
googleRewardedAdsCode String?
versionName String?
versionCode String?
forceUpdate Boolean?
appUrl String?
buttonText String?
description String?
appSettings AppSettings @relation(fields: [androidSettingsId], references: [id], onDelete: Cascade, onUpdate: Cascade)
}
model IosSettings {
id String @id @default(auto()) @map("_id") @db.ObjectId
iosSettingsId String @db.ObjectId
privacyPolicy String?
termsAndCondition String?
appShareLink String?
appRatingLink String?
appDefalutPage String?
appPublishingControl Boolean?
hideLiveByVersionCode Int?
adsType String?
clickControl Int?
googleAppId String?
googleAppOpenAddCode String?
googleBannerAdsCode String?
googleInterstitialAdsCode String?
googleNativeAdsCode String?
googleRewardedAdsCode String?
versionName String?
versionCode String?
forceUpdate Boolean?
appUrl String?
buttonText String?
description String?
appSettings AppSettings @relation(fields: [iosSettingsId], references: [id], onDelete: Cascade, onUpdate: Cascade)
}