
/* !!! This is code generated by Prisma. Do not edit directly. !!!
/* eslint-disable */
// biome-ignore-all lint: generated file

Object.defineProperty(exports, "__esModule", { value: true });

const {
  Decimal,
  objectEnumValues,
  makeStrictEnum,
  Public,
  getRuntime,
  skip
} = require('./runtime/index-browser.js')


const Prisma = {}

exports.Prisma = Prisma
exports.$Enums = {}

/**
 * Prisma Client JS version: 6.19.3
 * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7
 */
Prisma.prismaVersion = {
  client: "6.19.3",
  engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7"
}

Prisma.PrismaClientKnownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)};
Prisma.PrismaClientUnknownRequestError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientRustPanicError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientInitializationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.PrismaClientValidationError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.Decimal = Decimal

/**
 * Re-export of sql-template-tag
 */
Prisma.sql = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.empty = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.join = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.raw = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.validator = Public.validator

/**
* Extensions
*/
Prisma.getExtensionContext = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}
Prisma.defineExtension = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}).
In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`,
)}

/**
 * Shorthand utilities for JSON filtering
 */
Prisma.DbNull = objectEnumValues.instances.DbNull
Prisma.JsonNull = objectEnumValues.instances.JsonNull
Prisma.AnyNull = objectEnumValues.instances.AnyNull

Prisma.NullTypes = {
  DbNull: objectEnumValues.classes.DbNull,
  JsonNull: objectEnumValues.classes.JsonNull,
  AnyNull: objectEnumValues.classes.AnyNull
}



/**
 * Enums
 */

exports.Prisma.TransactionIsolationLevel = makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
});

exports.Prisma.CountryScalarFieldEnum = {
  id: 'id',
  name: 'name',
  code: 'code',
  flagUrl: 'flagUrl',
  flagImage: 'flagImage',
  confederation: 'confederation',
  qualificationMethod: 'qualificationMethod',
  qualificationDate: 'qualificationDate',
  participationHistory: 'participationHistory',
  bestResult: 'bestResult',
  description: 'description',
  defaultFormation: 'defaultFormation',
  defaultLineupPlayerIds: 'defaultLineupPlayerIds',
  defaultCaptainId: 'defaultCaptainId',
  groupId: 'groupId',
  isEliminated: 'isEliminated'
};

exports.Prisma.GroupScalarFieldEnum = {
  id: 'id',
  name: 'name'
};

exports.Prisma.PlayerScalarFieldEnum = {
  id: 'id',
  name: 'name',
  image: 'image',
  position: 'position',
  countryId: 'countryId',
  price: 'price',
  totalPoints: 'totalPoints',
  isActive: 'isActive',
  isGoldenCardEligible: 'isGoldenCardEligible',
  cardTier: 'cardTier',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.MatchScalarFieldEnum = {
  id: 'id',
  homeTeamId: 'homeTeamId',
  awayTeamId: 'awayTeamId',
  homeScore: 'homeScore',
  awayScore: 'awayScore',
  stage: 'stage',
  status: 'status',
  matchDate: 'matchDate',
  matchDatePersian: 'matchDatePersian',
  stadium: 'stadium',
  city: 'city',
  referee: 'referee',
  assistant1: 'assistant1',
  assistant2: 'assistant2',
  fourthOfficial: 'fourthOfficial',
  attendance: 'attendance',
  weather: 'weather',
  description: 'description',
  roundId: 'roundId',
  createdAt: 'createdAt'
};

exports.Prisma.RoundScalarFieldEnum = {
  id: 'id',
  number: 'number',
  name: 'name',
  isActive: 'isActive',
  deadline: 'deadline',
  createdAt: 'createdAt'
};

exports.Prisma.GameweekScalarFieldEnum = {
  id: 'id',
  number: 'number',
  name: 'name',
  isActive: 'isActive',
  deadline: 'deadline',
  createdAt: 'createdAt'
};

exports.Prisma.MatchEventScalarFieldEnum = {
  id: 'id',
  matchId: 'matchId',
  playerId: 'playerId',
  type: 'type',
  minute: 'minute',
  extraInfo: 'extraInfo',
  createdAt: 'createdAt'
};

exports.Prisma.MatchLineupScalarFieldEnum = {
  id: 'id',
  matchId: 'matchId',
  countryId: 'countryId',
  formation: 'formation',
  playerIds: 'playerIds'
};

exports.Prisma.PlayerMatchStatScalarFieldEnum = {
  id: 'id',
  playerId: 'playerId',
  matchId: 'matchId',
  goals: 'goals',
  assists: 'assists',
  yellowCards: 'yellowCards',
  redCards: 'redCards',
  minutesPlayed: 'minutesPlayed',
  cleanSheet: 'cleanSheet',
  penaltySaved: 'penaltySaved',
  penaltyMissed: 'penaltyMissed',
  ownGoals: 'ownGoals',
  isMotm: 'isMotm',
  extraTimeBonus: 'extraTimeBonus',
  points: 'points'
};

exports.Prisma.ScoringRuleScalarFieldEnum = {
  id: 'id',
  position: 'position',
  eventType: 'eventType',
  points: 'points',
  updatedAt: 'updatedAt',
  updatedBy: 'updatedBy'
};

exports.Prisma.UserScalarFieldEnum = {
  id: 'id',
  name: 'name',
  email: 'email',
  phone: 'phone',
  password: 'password',
  role: 'role',
  createdAt: 'createdAt'
};

exports.Prisma.LoginOtpScalarFieldEnum = {
  id: 'id',
  phone: 'phone',
  codeHash: 'codeHash',
  attempts: 'attempts',
  expiresAt: 'expiresAt',
  consumedAt: 'consumedAt',
  createdAt: 'createdAt'
};

exports.Prisma.FantasyNewsScalarFieldEnum = {
  id: 'id',
  icon: 'icon',
  title: 'title',
  description: 'description',
  newsTime: 'newsTime',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.DailyQuizScalarFieldEnum = {
  id: 'id',
  date: 'date',
  windowStart: 'windowStart',
  windowEnd: 'windowEnd',
  goldWinnersCount: 'goldWinnersCount',
  silverWinnersCount: 'silverWinnersCount',
  bronzeWinnersCount: 'bronzeWinnersCount',
  goldMinCorrect: 'goldMinCorrect',
  silverMinCorrect: 'silverMinCorrect',
  bronzeMinCorrect: 'bronzeMinCorrect',
  isProcessed: 'isProcessed',
  createdAt: 'createdAt'
};

exports.Prisma.QuizQuestionScalarFieldEnum = {
  id: 'id',
  quizId: 'quizId',
  questionText: 'questionText',
  options: 'options',
  correctAnswer: 'correctAnswer',
  order: 'order'
};

exports.Prisma.QuizSubmissionScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  quizId: 'quizId',
  answers: 'answers',
  correctAnswers: 'correctAnswers',
  score: 'score',
  submittedAt: 'submittedAt'
};

exports.Prisma.GoldenCardScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  quizId: 'quizId',
  playerId: 'playerId',
  cardTier: 'cardTier',
  status: 'status',
  state: 'state',
  acquiredDate: 'acquiredDate',
  openedAt: 'openedAt'
};

exports.Prisma.SessionScalarFieldEnum = {
  id: 'id',
  sessionToken: 'sessionToken',
  userId: 'userId',
  expires: 'expires'
};

exports.Prisma.RefreshTokenScalarFieldEnum = {
  id: 'id',
  tokenHash: 'tokenHash',
  userId: 'userId',
  familyId: 'familyId',
  expiresAt: 'expiresAt',
  revokedAt: 'revokedAt',
  replacedByTokenId: 'replacedByTokenId',
  createdAt: 'createdAt'
};

exports.Prisma.TeamScalarFieldEnum = {
  id: 'id',
  name: 'name',
  userId: 'userId',
  budget: 'budget',
  totalPoints: 'totalPoints',
  formation: 'formation',
  status: 'status',
  createdAt: 'createdAt'
};

exports.Prisma.TeamPlayerScalarFieldEnum = {
  teamId: 'teamId',
  playerId: 'playerId',
  goldenCardId: 'goldenCardId',
  isCaptain: 'isCaptain',
  isViceCaptain: 'isViceCaptain',
  isBench: 'isBench',
  positionIndex: 'positionIndex'
};

exports.Prisma.PackageScalarFieldEnum = {
  id: 'id',
  name: 'name',
  budgetBonus: 'budgetBonus',
  price: 'price',
  description: 'description',
  isActive: 'isActive'
};

exports.Prisma.PaymentScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  packageId: 'packageId',
  amount: 'amount',
  authority: 'authority',
  refId: 'refId',
  status: 'status',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
};

exports.Prisma.SortOrder = {
  asc: 'asc',
  desc: 'desc'
};

exports.Prisma.QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
};

exports.Prisma.NullsOrder = {
  first: 'first',
  last: 'last'
};
exports.Position = exports.$Enums.Position = {
  GK: 'GK',
  DEF: 'DEF',
  MID: 'MID',
  FWD: 'FWD'
};

exports.CardTier = exports.$Enums.CardTier = {
  BRONZE: 'BRONZE',
  SILVER: 'SILVER',
  GOLD: 'GOLD'
};

exports.MatchStage = exports.$Enums.MatchStage = {
  GROUP: 'GROUP',
  ROUND_OF_16: 'ROUND_OF_16',
  QUARTER_FINAL: 'QUARTER_FINAL',
  SEMI_FINAL: 'SEMI_FINAL',
  THIRD_PLACE: 'THIRD_PLACE',
  FINAL: 'FINAL'
};

exports.MatchStatus = exports.$Enums.MatchStatus = {
  SCHEDULED: 'SCHEDULED',
  LIVE: 'LIVE',
  FINISHED: 'FINISHED'
};

exports.EventType = exports.$Enums.EventType = {
  GOAL: 'GOAL',
  ASSIST: 'ASSIST',
  YELLOW_CARD: 'YELLOW_CARD',
  RED_CARD: 'RED_CARD',
  SECOND_YELLOW: 'SECOND_YELLOW',
  SUBSTITUTION_IN: 'SUBSTITUTION_IN',
  SUBSTITUTION_OUT: 'SUBSTITUTION_OUT',
  INJURY_NO_SUB: 'INJURY_NO_SUB',
  CLEAN_SHEET: 'CLEAN_SHEET',
  PENALTY_SAVED: 'PENALTY_SAVED',
  PENALTY_MISSED: 'PENALTY_MISSED',
  OWN_GOAL: 'OWN_GOAL',
  EXTRA_TIME_BONUS: 'EXTRA_TIME_BONUS',
  MOTM: 'MOTM'
};

exports.Role = exports.$Enums.Role = {
  USER: 'USER',
  ADMIN: 'ADMIN'
};

exports.GoldenCardStatus = exports.$Enums.GoldenCardStatus = {
  SEALED: 'SEALED',
  OPENED: 'OPENED'
};

exports.SpecialCardState = exports.$Enums.SpecialCardState = {
  IN_INVENTORY: 'IN_INVENTORY',
  IN_TEAM: 'IN_TEAM',
  SOLD: 'SOLD'
};

exports.TeamStatus = exports.$Enums.TeamStatus = {
  PENDING: 'PENDING',
  APPROVED: 'APPROVED',
  REJECTED: 'REJECTED',
  ACTIVE: 'ACTIVE',
  INACTIVE: 'INACTIVE'
};

exports.PaymentStatus = exports.$Enums.PaymentStatus = {
  PENDING: 'PENDING',
  SUCCESS: 'SUCCESS',
  FAILED: 'FAILED'
};

exports.Prisma.ModelName = {
  Country: 'Country',
  Group: 'Group',
  Player: 'Player',
  Match: 'Match',
  Round: 'Round',
  Gameweek: 'Gameweek',
  MatchEvent: 'MatchEvent',
  MatchLineup: 'MatchLineup',
  PlayerMatchStat: 'PlayerMatchStat',
  ScoringRule: 'ScoringRule',
  User: 'User',
  LoginOtp: 'LoginOtp',
  FantasyNews: 'FantasyNews',
  DailyQuiz: 'DailyQuiz',
  QuizQuestion: 'QuizQuestion',
  QuizSubmission: 'QuizSubmission',
  GoldenCard: 'GoldenCard',
  Session: 'Session',
  RefreshToken: 'RefreshToken',
  Team: 'Team',
  TeamPlayer: 'TeamPlayer',
  Package: 'Package',
  Payment: 'Payment'
};

/**
 * This is a stub Prisma Client that will error at runtime if called.
 */
class PrismaClient {
  constructor() {
    return new Proxy(this, {
      get(target, prop) {
        let message
        const runtime = getRuntime()
        if (runtime.isEdge) {
          message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either:
- Use Prisma Accelerate: https://pris.ly/d/accelerate
- Use Driver Adapters: https://pris.ly/d/driver-adapters
`;
        } else {
          message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).'
        }

        message += `
If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report`

        throw new Error(message)
      }
    })
  }
}

exports.PrismaClient = PrismaClient

Object.assign(exports, Prisma)
