106 lines
2.7 KiB
GraphQL
106 lines
2.7 KiB
GraphQL
mutation CreateCertificate(
|
|
$name: String!
|
|
$description: String
|
|
$expiry: Timestamp
|
|
$status: CertificateStatus!
|
|
$fileUrl: String
|
|
$icon: String
|
|
$certificationType: ComplianceType!
|
|
$issuer: String
|
|
$staffId: UUID!
|
|
$validationStatus: ValidationStatus
|
|
$certificateNumber: String
|
|
) @auth(level: USER) {
|
|
certificate_insert(
|
|
data: {
|
|
name: $name
|
|
description: $description
|
|
expiry: $expiry
|
|
status: $status
|
|
fileUrl: $fileUrl
|
|
icon: $icon
|
|
staffId: $staffId
|
|
certificationType: $certificationType
|
|
issuer: $issuer
|
|
validationStatus: $validationStatus
|
|
certificateNumber: $certificateNumber
|
|
}
|
|
)
|
|
}
|
|
|
|
mutation UpdateCertificate(
|
|
$staffId: UUID!
|
|
$certificationType: ComplianceType!
|
|
$name: String
|
|
$description: String
|
|
$expiry: Timestamp
|
|
$status: CertificateStatus
|
|
$fileUrl: String
|
|
$icon: String
|
|
$issuer: String
|
|
$validationStatus: ValidationStatus
|
|
$certificateNumber: String
|
|
) @auth(level: USER) {
|
|
certificate_update(
|
|
key: { staffId: $staffId, certificationType: $certificationType }
|
|
data: {
|
|
name: $name
|
|
description: $description
|
|
expiry: $expiry
|
|
status: $status
|
|
fileUrl: $fileUrl
|
|
icon: $icon
|
|
issuer: $issuer
|
|
validationStatus: $validationStatus
|
|
certificateNumber: $certificateNumber
|
|
}
|
|
)
|
|
}
|
|
|
|
mutation DeleteCertificate($staffId: UUID!, $certificationType: ComplianceType!)
|
|
@auth(level: USER) {
|
|
certificate_delete(
|
|
key: { staffId: $staffId, certificationType: $certificationType }
|
|
)
|
|
}
|
|
|
|
# UPSERT STAFF CERTIFICATE
|
|
# Creates the certificate record if it does not exist, or updates
|
|
# it if it already exists (matched by staffId + certificationType key).
|
|
# Use this when uploading a certificate for the first time or
|
|
# updating an existing one.
|
|
#
|
|
# To update multiple certificates in a single network call, use
|
|
# aliased mutations in one GraphQL request from the client:
|
|
#
|
|
# mutation {
|
|
# cert1: upsertStaffCertificate(staffId: $id, certificationType: BACKGROUND_CHECK, ...)
|
|
# cert2: upsertStaffCertificate(staffId: $id, certificationType: FOOD_HANDLER, ...)
|
|
# }
|
|
# ------------------------------------------------------------
|
|
mutation upsertStaffCertificate(
|
|
$staffId: UUID!
|
|
$certificationType: ComplianceType!
|
|
$name: String!
|
|
$status: CertificateStatus!
|
|
$fileUrl: String
|
|
$expiry: Timestamp
|
|
$issuer: String
|
|
$certificateNumber: String
|
|
$validationStatus: ValidationStatus
|
|
) @auth(level: USER) {
|
|
certificate_upsert(
|
|
data: {
|
|
staffId: $staffId
|
|
certificationType: $certificationType
|
|
name: $name
|
|
status: $status
|
|
fileUrl: $fileUrl
|
|
expiry: $expiry
|
|
issuer: $issuer
|
|
certificateNumber: $certificateNumber
|
|
validationStatus: $validationStatus
|
|
}
|
|
)
|
|
}
|