150 lines
3.9 KiB
GraphQL
150 lines
3.9 KiB
GraphQL
type NonDisclosureAgreement {
|
|
fileName: String!
|
|
fileUrl: String! @goField(forceResolver: true)
|
|
viewerSignature: ElectronicSignature @goField(forceResolver: true)
|
|
}
|
|
|
|
enum ElectronicSignatureStatus
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatus"
|
|
) {
|
|
PENDING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatusPending"
|
|
)
|
|
ACCEPTED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatusAccepted"
|
|
)
|
|
PROCESSING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatusProcessing"
|
|
)
|
|
COMPLETED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatusCompleted"
|
|
)
|
|
FAILED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureStatusFailed"
|
|
)
|
|
}
|
|
|
|
enum ElectronicSignatureDocumentType
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentType"
|
|
) {
|
|
NDA
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeNDA"
|
|
)
|
|
DPA
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeDPA"
|
|
)
|
|
MSA
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeMSA"
|
|
)
|
|
SOW
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeSOW"
|
|
)
|
|
SLA
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeSLA"
|
|
)
|
|
TOS
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeTOS"
|
|
)
|
|
PRIVACY_POLICY
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypePrivacyPolicy"
|
|
)
|
|
OTHER
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureDocumentTypeOther"
|
|
)
|
|
}
|
|
|
|
enum ElectronicSignatureEventType
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventType"
|
|
) {
|
|
DOCUMENT_VIEWED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeDocumentViewed"
|
|
)
|
|
CONSENT_GIVEN
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeConsentGiven"
|
|
)
|
|
FULL_NAME_TYPED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeFullNameTyped"
|
|
)
|
|
SIGNATURE_ACCEPTED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeSignatureAccepted"
|
|
)
|
|
SIGNATURE_COMPLETED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeSignatureCompleted"
|
|
)
|
|
SEAL_COMPUTED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeSealComputed"
|
|
)
|
|
TIMESTAMP_REQUESTED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeTimestampRequested"
|
|
)
|
|
CERTIFICATE_GENERATED
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeCertificateGenerated"
|
|
)
|
|
PROCESSING_ERROR
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventTypeProcessingError"
|
|
)
|
|
}
|
|
|
|
type ElectronicSignature implements Node {
|
|
id: ID!
|
|
status: ElectronicSignatureStatus!
|
|
documentType: ElectronicSignatureDocumentType!
|
|
consentText: String!
|
|
lastError: String
|
|
signedAt: Datetime
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
}
|
|
|
|
extend type Mutation {
|
|
acceptElectronicSignature(
|
|
input: AcceptElectronicSignatureInput!
|
|
): AcceptElectronicSignaturePayload @authentication(required: PRESENT) @sessionOnly
|
|
|
|
recordSigningEvent(
|
|
input: RecordSigningEventInput!
|
|
): RecordSigningEventPayload @authentication(required: PRESENT) @sessionOnly
|
|
}
|
|
|
|
input AcceptElectronicSignatureInput {
|
|
signatureId: ID!
|
|
}
|
|
|
|
type AcceptElectronicSignaturePayload {
|
|
signature: ElectronicSignature!
|
|
}
|
|
|
|
input RecordSigningEventInput {
|
|
signatureId: ID!
|
|
eventType: ElectronicSignatureEventType!
|
|
}
|
|
|
|
type RecordSigningEventPayload {
|
|
success: Boolean!
|
|
}
|