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

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


const Prisma = {}

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

/**
 * Prisma Client JS version: 5.22.0
 * Query Engine version: 605197351a3c8bdd595af2d2a9bc3025bca48ea2
 */
Prisma.prismaVersion = {
  client: "5.22.0",
  engine: "605197351a3c8bdd595af2d2a9bc3025bca48ea2"
}

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.NotFoundError = () => {
  const runtimeName = getRuntime().prettyName;
  throw new Error(`NotFoundError 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.UserScalarFieldEnum = {
  id: 'id',
  email: 'email',
  name: 'name',
  role: 'role',
  password_hash: 'password_hash',
  created_at: 'created_at'
};

exports.Prisma.BurrowScalarFieldEnum = {
  id: 'id',
  gps_lat: 'gps_lat',
  gps_lng: 'gps_lng',
  status: 'status',
  location_description: 'location_description',
  photos: 'photos',
  assigned_volunteer_id: 'assigned_volunteer_id',
  created_at: 'created_at'
};

exports.Prisma.DonationScalarFieldEnum = {
  id: 'id',
  donor_id: 'donor_id',
  amount: 'amount',
  campaign: 'campaign',
  stripe_payment_id: 'stripe_payment_id',
  created_at: 'created_at'
};

exports.Prisma.WildlifeSightingScalarFieldEnum = {
  id: 'id',
  reporter_id: 'reporter_id',
  species: 'species',
  gps_lat: 'gps_lat',
  gps_lng: 'gps_lng',
  photo_url: 'photo_url',
  description: 'description',
  verified: 'verified',
  created_at: 'created_at'
};

exports.Prisma.EventScalarFieldEnum = {
  id: 'id',
  title: 'title',
  description: 'description',
  date: 'date',
  location: 'location',
  max_attendees: 'max_attendees',
  type: 'type',
  created_at: 'created_at'
};

exports.Prisma.EventRSVPScalarFieldEnum = {
  event_id: 'event_id',
  user_id: 'user_id',
  created_at: 'created_at'
};

exports.Prisma.LivestreamSourceScalarFieldEnum = {
  id: 'id',
  name: 'name',
  stream_url: 'stream_url',
  camera_location: 'camera_location',
  status: 'status',
  thumbnail_url: 'thumbnail_url',
  created_at: 'created_at'
};

exports.Prisma.VolunteerHourScalarFieldEnum = {
  id: 'id',
  volunteer_id: 'volunteer_id',
  date: 'date',
  hours: 'hours',
  task_description: 'task_description',
  verified_by: 'verified_by',
  created_at: 'created_at'
};

exports.Prisma.EquipmentItemScalarFieldEnum = {
  id: 'id',
  name: 'name',
  description: 'description',
  status: 'status',
  checked_out_by: 'checked_out_by',
  checked_out_at: 'checked_out_at',
  created_at: 'created_at'
};

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

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

exports.Prisma.NullsOrder = {
  first: 'first',
  last: 'last'
};
exports.UserRole = exports.$Enums.UserRole = {
  admin: 'admin',
  volunteer: 'volunteer',
  donor: 'donor',
  public: 'public'
};

exports.BurrowStatus = exports.$Enums.BurrowStatus = {
  active: 'active',
  inactive: 'inactive',
  destroyed: 'destroyed'
};

exports.DonationCampaign = exports.$Enums.DonationCampaign = {
  land_preservation: 'land_preservation',
  volunteer_equipment: 'volunteer_equipment',
  general: 'general'
};

exports.EventType = exports.$Enums.EventType = {
  cleanup: 'cleanup',
  educational: 'educational',
  fundraiser: 'fundraiser'
};

exports.StreamStatus = exports.$Enums.StreamStatus = {
  live: 'live',
  offline: 'offline'
};

exports.EquipmentStatus = exports.$Enums.EquipmentStatus = {
  available: 'available',
  checked_out: 'checked_out'
};

exports.Prisma.ModelName = {
  User: 'User',
  Burrow: 'Burrow',
  Donation: 'Donation',
  WildlifeSighting: 'WildlifeSighting',
  Event: 'Event',
  EventRSVP: 'EventRSVP',
  LivestreamSource: 'LivestreamSource',
  VolunteerHour: 'VolunteerHour',
  EquipmentItem: 'EquipmentItem'
};

/**
 * 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)
