Files
Krow-workspace/dataconnect/schema/staff.gql
2025-12-15 14:32:54 -05:00

67 lines
1.4 KiB
GraphQL

enum EmploymentType {
FULL_TIME
PART_TIME
ON_CALL
WEEKENDS
SPECIFIC_DAYS
SEASONAL
MEDICAL_LEAVE
}
enum StaffDepartment {
OPERATIONS
SALES
HR
FINANCE
IT
MARKETING
CUSTOMER_SERVICE
LOGISTICS
}
enum ProfileType {
SKILLED
BEGINNER
CROSS_TRAINED
}
enum EnglishLevel {
FLUENT
INTERMEDIATE
BASIC
NONE
}
enum BackgroundCheckStatus {
PENDING
CLEARED
FAILED
EXPIRED
NOT_REQUIRED
}
type Staff @table(name: "staffs") {
id: UUID! @default(expr: "uuidV4()")
employeeName: String! @col(name: "employee_name")
vendorId: UUID @col(name: "vendor_id") # vendor_id (FK lógica a Vendor.id)
vendorName: String @col(name: "vendor_name")
manager: String
contactNumber: String @col(name: "contact_number")
email: String
department: StaffDepartment
hubLocation: String @col(name: "hub_location")
track: String
position: String
profileType: ProfileType @col(name: "profile_type")
employmentType: EmploymentType @col(name: "employment_type")
english: EnglishLevel
rate: Float
rating: Float
reliabilityScore: Int @col(name: "reliability_score")
backgroundCheckStatus: BackgroundCheckStatus @col(name: "background_check_status")
notes: String
createdDate: Timestamp @default(expr: "request.time")
updatedDate: Timestamp @default(expr: "request.time")
createdBy: String @default(expr: "auth.uid")
}