
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * WARNING: This is an internal file that is subject to change!
 *
 * 🛑 Under no circumstances should you import this file directly! 🛑
 *
 * All exports from this file are wrapped under a `Prisma` namespace object in the browser.ts file.
 * While this enables partial backward compatibility, it is not part of the stable public API.
 *
 * If you are looking for your Models, Enums, and Input Types, please import them from the respective
 * model files in the `model` directory!
 */

import * as runtime from "@prisma/client/runtime/index-browser"

export type * from '../models'
export type * from './prismaNamespace'

export const Decimal = runtime.Decimal


export const NullTypes = {
  DbNull: runtime.NullTypes.DbNull as (new (secret: never) => typeof runtime.DbNull),
  JsonNull: runtime.NullTypes.JsonNull as (new (secret: never) => typeof runtime.JsonNull),
  AnyNull: runtime.NullTypes.AnyNull as (new (secret: never) => typeof runtime.AnyNull),
}
/**
 * Helper for filtering JSON entries that have `null` on the database (empty on the db)
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const DbNull = runtime.DbNull

/**
 * Helper for filtering JSON entries that have JSON `null` values (not empty on the db)
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const JsonNull = runtime.JsonNull

/**
 * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull`
 *
 * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field
 */
export const AnyNull = runtime.AnyNull


export const ModelName = {
  User: 'User',
  GoogleAccount: 'GoogleAccount',
  RefreshSession: 'RefreshSession',
  Device: 'Device',
  BatteryAlert: 'BatteryAlert',
  Geofence: 'Geofence',
  LoginEvent: 'LoginEvent',
  AppSetting: 'AppSetting',
  LocationPoint: 'LocationPoint'
} as const

export type ModelName = (typeof ModelName)[keyof typeof ModelName]

/*
 * Enums
 */

export const TransactionIsolationLevel = runtime.makeStrictEnum({
  ReadUncommitted: 'ReadUncommitted',
  ReadCommitted: 'ReadCommitted',
  RepeatableRead: 'RepeatableRead',
  Serializable: 'Serializable'
} as const)

export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel]


export const UserScalarFieldEnum = {
  id: 'id',
  username: 'username',
  email: 'email',
  passwordHash: 'passwordHash',
  role: 'role',
  displayName: 'displayName',
  isActive: 'isActive',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum]


export const GoogleAccountScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  googleSub: 'googleSub',
  email: 'email',
  refreshTokenEnc: 'refreshTokenEnc',
  scopes: 'scopes',
  connectedAt: 'connectedAt',
  lastRefreshAt: 'lastRefreshAt'
} as const

export type GoogleAccountScalarFieldEnum = (typeof GoogleAccountScalarFieldEnum)[keyof typeof GoogleAccountScalarFieldEnum]


export const RefreshSessionScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  tokenHash: 'tokenHash',
  userAgent: 'userAgent',
  expiresAt: 'expiresAt',
  revokedAt: 'revokedAt',
  createdAt: 'createdAt'
} as const

export type RefreshSessionScalarFieldEnum = (typeof RefreshSessionScalarFieldEnum)[keyof typeof RefreshSessionScalarFieldEnum]


export const DeviceScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  name: 'name',
  pairingToken: 'pairingToken',
  lastSeenAt: 'lastSeenAt',
  createdAt: 'createdAt',
  cmdReportLocation: 'cmdReportLocation',
  cmdSyncWaypoints: 'cmdSyncWaypoints'
} as const

export type DeviceScalarFieldEnum = (typeof DeviceScalarFieldEnum)[keyof typeof DeviceScalarFieldEnum]


export const BatteryAlertScalarFieldEnum = {
  id: 'id',
  deviceId: 'deviceId',
  threshold: 'threshold',
  notifyNumber: 'notifyNumber',
  message: 'message',
  enabled: 'enabled',
  lastBelow: 'lastBelow',
  lastNotifiedAt: 'lastNotifiedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type BatteryAlertScalarFieldEnum = (typeof BatteryAlertScalarFieldEnum)[keyof typeof BatteryAlertScalarFieldEnum]


export const GeofenceScalarFieldEnum = {
  id: 'id',
  deviceId: 'deviceId',
  refLat: 'refLat',
  refLng: 'refLng',
  radiusM: 'radiusM',
  notifyNumber: 'notifyNumber',
  message: 'message',
  enabled: 'enabled',
  lastInside: 'lastInside',
  lastNotifiedAt: 'lastNotifiedAt',
  createdAt: 'createdAt',
  updatedAt: 'updatedAt'
} as const

export type GeofenceScalarFieldEnum = (typeof GeofenceScalarFieldEnum)[keyof typeof GeofenceScalarFieldEnum]


export const LoginEventScalarFieldEnum = {
  id: 'id',
  userId: 'userId',
  username: 'username',
  success: 'success',
  kind: 'kind',
  actor: 'actor',
  ip: 'ip',
  userAgent: 'userAgent',
  createdAt: 'createdAt'
} as const

export type LoginEventScalarFieldEnum = (typeof LoginEventScalarFieldEnum)[keyof typeof LoginEventScalarFieldEnum]


export const AppSettingScalarFieldEnum = {
  key: 'key',
  value: 'value',
  isSecret: 'isSecret',
  updatedAt: 'updatedAt'
} as const

export type AppSettingScalarFieldEnum = (typeof AppSettingScalarFieldEnum)[keyof typeof AppSettingScalarFieldEnum]


export const LocationPointScalarFieldEnum = {
  id: 'id',
  deviceId: 'deviceId',
  lat: 'lat',
  lng: 'lng',
  accuracy: 'accuracy',
  battery: 'battery',
  recordedAt: 'recordedAt',
  createdAt: 'createdAt'
} as const

export type LocationPointScalarFieldEnum = (typeof LocationPointScalarFieldEnum)[keyof typeof LocationPointScalarFieldEnum]


export const SortOrder = {
  asc: 'asc',
  desc: 'desc'
} as const

export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder]


export const QueryMode = {
  default: 'default',
  insensitive: 'insensitive'
} as const

export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode]


export const NullsOrder = {
  first: 'first',
  last: 'last'
} as const

export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder]

