new workforce entity

This commit is contained in:
José Salazar
2025-11-26 16:16:11 -05:00
parent 7bb4054d08
commit 469f39a0ca
3 changed files with 110 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
mutation CreateWorkforce(
$workforceNumber: String!,
$vendorId: UUID!,
$firstName: String!,
$lastName: String!,
$employmentType: WorkforceEmploymentType
) @auth(level: USER) {
workforce_insert(
data: {
workforceNumber: $workforceNumber
vendorId: $vendorId
firstName: $firstName
lastName: $lastName
employmentType: $employmentType
}
)
}
mutation UpdateWorkforce(
$id: UUID!,
$workforceNumber: String,
$vendorId: UUID,
$firstName: String,
$lastName: String,
$employmentType: WorkforceEmploymentType
) @auth(level: USER) {
workforce_update(
id: $id,
data: {
workforceNumber: $workforceNumber
vendorId: $vendorId
firstName: $firstName
lastName: $lastName
employmentType: $employmentType
}
)
}
mutation DeleteWorkforce(
$id: UUID!
) @auth(level: USER) {
workforce_delete(id: $id)
}

View File

@@ -0,0 +1,48 @@
query listWorkforce @auth(level: USER) {
workforces {
id
workforceNumber
vendorId
firstName
lastName
employmentType
}
}
query getWorkforceById(
$id: UUID!
) @auth(level: USER) {
workforce(id: $id) {
id
workforceNumber
vendorId
firstName
lastName
employmentType
}
}
query filterWorkforce(
$workforceNumber: String,
$vendorId: UUID,
$firstName: String,
$lastName: String,
$employmentType: WorkforceEmploymentType
) @auth(level: USER) {
workforces(
where: {
workforceNumber: { eq: $workforceNumber }
vendorId: { eq: $vendorId }
firstName: { eq: $firstName }
lastName: { eq: $lastName }
employmentType: { eq: $employmentType }
}
) {
id
workforceNumber
vendorId
firstName
lastName
employmentType
}
}

View File

@@ -0,0 +1,19 @@
# enums cant start by a number, reason of W1099
enum WorkforceEmploymentType {
W2
W1099
TEMPORARY
CONTRACT
}
type Workforce @table(name: "workforce") {
id: UUID! @default(expr: "uuidV4()")
workforceNumber: String!
vendorId: UUID! # vendor_id (FK lógica a Vendor.id)
firstName: String!
lastName: String!
employmentType: WorkforceEmploymentType # employment_type
createdDate: Timestamp @default(expr: "request.time")
updatedDate: Timestamp @default(expr: "request.time")
createdBy: String @default(expr: "auth.uid")
}