new certification entity

This commit is contained in:
José Salazar
2025-11-25 17:23:57 -05:00
parent f0a4ad078a
commit a343ded522
3 changed files with 138 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
mutation CreateCertification(
$employeeName: String!,
$certificationName: String!,
$certificationType: CertificationType,
$status: CertificationStatus,
$expiryDate: String!,
$validationStatus: CertificationValidationStatus
) @auth(level: USER) {
certification_insert(
data: {
employeeName: $employeeName
certificationName: $certificationName
certificationType: $certificationType
status: $status
expiryDate: $expiryDate
validationStatus: $validationStatus
}
)
}
mutation UpdateCertification(
$id: UUID!,
$employeeName: String,
$certificationName: String,
$certificationType: CertificationType,
$status: CertificationStatus,
$expiryDate: String,
$validationStatus: CertificationValidationStatus
) @auth(level: USER) {
certification_update(
id: $id,
data: {
employeeName: $employeeName
certificationName: $certificationName
certificationType: $certificationType
status: $status
expiryDate: $expiryDate
validationStatus: $validationStatus
}
)
}
mutation DeleteCertification(
$id: UUID!
) @auth(level: USER) {
certification_delete(id: $id)
}

View File

@@ -0,0 +1,54 @@
query listCertification @auth(level: USER) {
certifications {
id
employeeName
certificationName
certificationType
status
expiryDate
validationStatus
}
}
query getCertificationById(
$id: UUID!
) @auth(level: USER) {
certification(id: $id) {
id
employeeName
certificationName
certificationType
status
expiryDate
validationStatus
createdDate
updatedDate
createdBy
}
}
query filterCertification(
$employeeName: String,
$certificationName: String,
$certificationType: CertificationType,
$status: CertificationStatus,
$validationStatus: CertificationValidationStatus
) @auth(level: USER) {
certifications(
where: {
employeeName: { eq: $employeeName }
certificationName: { eq: $certificationName }
certificationType: { eq: $certificationType }
status: { eq: $status }
validationStatus: { eq: $validationStatus }
}
) {
id
employeeName
certificationName
certificationType
status
expiryDate
validationStatus
}
}

View File

@@ -0,0 +1,37 @@
enum CertificationType {
LEGAL
OPERATIONAL
SAFETY
TRAINING
LICENSE
OTHER
}
enum CertificationStatus {
CURRENT
EXPIRING_SOON
EXPIRED
PENDING_VALIDATION
}
enum CertificationValidationStatus {
APPROVED
PENDING_EXPERT_REVIEW
REJECTED
AI_VERIFIED
AI_FLAGGED
MANUAL_REVIEW_NEEDED
}
type Certification @table(name: "certification") {
id: UUID! @default(expr: "uuidV4()")
employeeName: String!
certificationName: String!
certificationType: CertificationType
status: CertificationStatus
expiryDate: String!
validationStatus: CertificationValidationStatus
createdDate: Timestamp @default(expr: "request.time")
updatedDate: Timestamp @default(expr: "request.time")
createdBy: String @default(expr: "auth.uid")
}