205 lines
2.4 KiB
Plaintext
205 lines
2.4 KiB
Plaintext
// This is the base Prisma schema file
|
|
// Contains generator, datasource, and shared enums
|
|
|
|
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "postgresql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
// Shared Enums - Used across multiple domains
|
|
|
|
// Core User Management Enums
|
|
enum UserRole {
|
|
FARMER
|
|
BUYER
|
|
ADMINISTRATOR
|
|
}
|
|
|
|
enum Gender {
|
|
MALE
|
|
FEMALE
|
|
OTHER
|
|
}
|
|
|
|
enum MaritalStatus {
|
|
SINGLE
|
|
MARRIED
|
|
DIVORCED
|
|
WIDOWED
|
|
SEPARATED
|
|
}
|
|
|
|
enum IdentityType {
|
|
KTP // Indonesian ID Card
|
|
PASSPORT
|
|
DRIVING_LICENSE
|
|
OTHER
|
|
}
|
|
|
|
// Quality and Status Enums
|
|
enum QualityGrade {
|
|
A
|
|
B
|
|
C
|
|
}
|
|
|
|
enum PaymentMethod {
|
|
CASH
|
|
BANK_TRANSFER
|
|
MOBILE_MONEY
|
|
CHECK
|
|
DIGITAL_WALLET
|
|
CREDIT
|
|
BARTER
|
|
INSTALLMENT
|
|
}
|
|
|
|
enum PaymentStatus {
|
|
PENDING
|
|
APPROVED
|
|
PAID
|
|
OVERDUE
|
|
CANCELLED
|
|
}
|
|
|
|
enum ScheduleStatus {
|
|
PENDING
|
|
SCHEDULED
|
|
IN_PROGRESS
|
|
COMPLETED
|
|
CANCELLED
|
|
OVERDUE
|
|
}
|
|
|
|
// Geographic and Environmental Enums
|
|
enum WaterSource {
|
|
RAIN_FED
|
|
IRRIGATION_CANAL
|
|
WELL
|
|
RIVER
|
|
POND
|
|
GROUNDWATER
|
|
SPRING
|
|
MIXED
|
|
}
|
|
|
|
enum IrrigationType {
|
|
FLOOD
|
|
SPRINKLER
|
|
DRIP
|
|
FURROW
|
|
MANUAL
|
|
NONE
|
|
}
|
|
|
|
enum SlopeType {
|
|
FLAT
|
|
GENTLE
|
|
MODERATE
|
|
STEEP
|
|
VERY_STEEP
|
|
}
|
|
|
|
enum ClimateType {
|
|
TROPICAL_WET
|
|
TROPICAL_DRY
|
|
SUBTROPICAL
|
|
TEMPERATE
|
|
HIGHLAND
|
|
}
|
|
|
|
enum RoadType {
|
|
PAVED
|
|
GRAVEL
|
|
DIRT
|
|
FOOTPATH
|
|
NO_ACCESS
|
|
}
|
|
|
|
// Agricultural Enums
|
|
enum WorkType {
|
|
PLANTING
|
|
WEEDING
|
|
FERTILIZING
|
|
HARVESTING
|
|
IRRIGATION
|
|
PEST_CONTROL
|
|
SOIL_PREPARATION
|
|
PRUNING
|
|
GENERAL_MAINTENANCE
|
|
EQUIPMENT_OPERATION
|
|
PROCESSING
|
|
PACKAGING
|
|
TRANSPORT
|
|
}
|
|
|
|
enum InputType {
|
|
SEED
|
|
FERTILIZER
|
|
PESTICIDE
|
|
HERBICIDE
|
|
FUNGICIDE
|
|
INSECTICIDE
|
|
EQUIPMENT_RENTAL
|
|
FUEL
|
|
IRRIGATION_WATER
|
|
MULCH
|
|
COMPOST
|
|
LIME
|
|
OTHER
|
|
}
|
|
|
|
enum SeverityLevel {
|
|
LOW
|
|
MEDIUM
|
|
HIGH
|
|
CRITICAL
|
|
CATASTROPHIC
|
|
}
|
|
|
|
// Communication and Priority Enums
|
|
enum Priority {
|
|
LOW
|
|
NORMAL
|
|
HIGH
|
|
URGENT
|
|
CRITICAL
|
|
}
|
|
|
|
enum MessageType {
|
|
PERSONAL
|
|
BROADCAST
|
|
NOTIFICATION
|
|
ALERT
|
|
SYSTEM
|
|
ANNOUNCEMENT
|
|
}
|
|
|
|
enum MessageStatus {
|
|
SENT
|
|
DELIVERED
|
|
READ
|
|
FAILED
|
|
PENDING
|
|
}
|
|
|
|
// Market Intelligence Enums
|
|
enum PriceTrend {
|
|
RISING
|
|
FALLING
|
|
STABLE
|
|
VOLATILE
|
|
}
|
|
|
|
enum DemandLevel {
|
|
VERY_LOW
|
|
LOW
|
|
MODERATE
|
|
HIGH
|
|
VERY_HIGH
|
|
EXCESSIVE
|
|
} |