Split each API's monolithic schema.graphql into per-coredata-model
files under graphql/ subdirectories. gqlgen's follow-schema layout
with {name}.resolvers.go template generates one resolver file per
schema file. Relay uses schema + schemaExtensions to load the split
files.
Connect API: 8 files (base, session, organization, profile,
personal_api_key, saml, scim, audit_log)
Trust API: 5 files (base, trust_center, auth, nda, mailing_list)
Console API: 25 files covering all domain entities
Types extended across files (Organization, Mutation, Viewer,
TrustCenter, Identity) are defined in base.graphql as required by
Relay's schemaExtensions.
Signed-off-by: Émile Ré <emile@getprobo.com>
144 lines
4.3 KiB
GraphQL
144 lines
4.3 KiB
GraphQL
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"
|
|
)
|
|
}
|
|
|
|
enum ElectronicSignatureEventSource
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventSource"
|
|
) {
|
|
CLIENT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventSourceClient"
|
|
)
|
|
SERVER
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.ElectronicSignatureEventSourceServer"
|
|
)
|
|
}
|
|
|
|
type ElectronicSignature implements Node {
|
|
id: ID!
|
|
status: ElectronicSignatureStatus!
|
|
documentType: ElectronicSignatureDocumentType!
|
|
consentText: String!
|
|
lastError: String
|
|
signedAt: Datetime
|
|
certificateFileUrl: String @goField(forceResolver: true)
|
|
events: [ElectronicSignatureEvent!]! @goField(forceResolver: true)
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
}
|
|
|
|
type ElectronicSignatureEvent {
|
|
id: ID!
|
|
eventType: ElectronicSignatureEventType!
|
|
eventSource: ElectronicSignatureEventSource!
|
|
actorEmail: String!
|
|
actorIpAddress: String!
|
|
actorUserAgent: String!
|
|
occurredAt: Datetime!
|
|
createdAt: Datetime!
|
|
}
|