// 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 }