new assigment entity

This commit is contained in:
José Salazar
2025-11-26 16:03:38 -05:00
parent 40a7beabb3
commit 9c7a4b8244
3 changed files with 130 additions and 0 deletions

View File

@@ -0,0 +1,51 @@
mutation CreateAssignment(
$assignmentNumber: String,
$orderId: UUID!,
$workforceId: UUID!,
$vendorId: UUID!,
$role: String!,
$assignmentStatus: AssignmentStatus!,
$scheduledStart: Timestamp!
) @auth(level: USER) {
assignment_insert(
data: {
assignmentNumber: $assignmentNumber
orderId: $orderId
workforceId: $workforceId
vendorId: $vendorId
role: $role
assignmentStatus: $assignmentStatus
scheduledStart: $scheduledStart
}
)
}
mutation UpdateAssignment(
$id: UUID!,
$assignmentNumber: String,
$orderId: UUID,
$workforceId: UUID,
$vendorId: UUID,
$role: String,
$assignmentStatus: AssignmentStatus,
$scheduledStart: Timestamp
) @auth(level: USER) {
assignment_update(
id: $id,
data: {
assignmentNumber: $assignmentNumber
orderId: $orderId
workforceId: $workforceId
vendorId: $vendorId
role: $role
assignmentStatus: $assignmentStatus
scheduledStart: $scheduledStart
}
)
}
mutation DeleteAssignment(
$id: UUID!
) @auth(level: USER) {
assignment_delete(id: $id)
}

View File

@@ -0,0 +1,56 @@
# dataconnect/connector/assignment/queries.gql
query listAssignment @auth(level: USER) {
assignments {
id
assignmentNumber
orderId
workforceId
vendorId
role
assignmentStatus
scheduledStart
}
}
query getAssignmentById(
$id: UUID!
) @auth(level: USER) {
assignment(id: $id) {
id
assignmentNumber
orderId
workforceId
vendorId
role
assignmentStatus
scheduledStart
}
}
query filterAssignment(
$assignmentNumber: String,
$orderId: UUID,
$workforceId: UUID,
$vendorId: UUID,
$assignmentStatus: AssignmentStatus
) @auth(level: USER) {
assignments(
where: {
assignmentNumber: { eq: $assignmentNumber }
orderId: { eq: $orderId }
workforceId: { eq: $workforceId }
vendorId: { eq: $vendorId }
assignmentStatus: { eq: $assignmentStatus }
}
) {
id
assignmentNumber
orderId
workforceId
vendorId
role
assignmentStatus
scheduledStart
}
}

View File

@@ -0,0 +1,23 @@
enum AssignmentStatus {
PENDING
CONFIRMED
CHECKED_IN
IN_PROGRESS
COMPLETED
CANCELLED
NO_SHOW
}
type Assignment @table(name: "assignments") {
id: UUID! @default(expr: "uuidV4()")
assignmentNumber: String
orderId: UUID! # order_id (FK lógica a Order.id)
workforceId: UUID! # workforce_id (FK lógica a Workforce.id)
vendorId: UUID! # vendor_id (FK lógica a Vendor.id)
role: String!
assignmentStatus: AssignmentStatus!
scheduledStart: Timestamp!
createdDate: Timestamp @default(expr: "request.time")
updatedDate: Timestamp @default(expr: "request.time")
createdBy: String @default(expr: "auth.uid")
}