Merge pull request #117 from Oloodi/116-backend-define-and-deploy-assignment-schema
new assigment entity
This commit is contained in:
51
dataconnect/connector/assignment/mutations.gql
Normal file
51
dataconnect/connector/assignment/mutations.gql
Normal 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)
|
||||
}
|
||||
56
dataconnect/connector/assignment/queries.gql
Normal file
56
dataconnect/connector/assignment/queries.gql
Normal 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
|
||||
}
|
||||
}
|
||||
23
dataconnect/schema/assignment.gql
Normal file
23
dataconnect/schema/assignment.gql
Normal 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")
|
||||
}
|
||||
Reference in New Issue
Block a user