67 lines
1.4 KiB
GraphQL
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")
|
|
}
|