Move Organization, Identity, TrustCenter, and Viewer definitions to include all their connection fields directly, removing all extend type blocks for these hub types from entity files. This eliminates the Relay schemaExtensions constraint where extend type could only target types defined in the main schema file. Entity files now only define their own standalone types and extend type Mutation. Signed-off-by: Émile Ré <emile@getprobo.com>
694 lines
19 KiB
GraphQL
694 lines
19 KiB
GraphQL
enum VendorCategory
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.VendorCategory") {
|
|
ANALYTICS
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryAnalytics"
|
|
)
|
|
CLOUD_MONITORING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryCloudMonitoring"
|
|
)
|
|
CLOUD_PROVIDER
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryCloudProvider"
|
|
)
|
|
COLLABORATION
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryCollaboration"
|
|
)
|
|
CUSTOMER_SUPPORT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryCustomerSupport"
|
|
)
|
|
DATA_STORAGE_AND_PROCESSING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryDataStorageAndProcessing"
|
|
)
|
|
DOCUMENT_MANAGEMENT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryDocumentManagement"
|
|
)
|
|
EMPLOYEE_MANAGEMENT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryEmployeeManagement"
|
|
)
|
|
ENGINEERING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryEngineering"
|
|
)
|
|
FINANCE
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorCategoryFinance")
|
|
IDENTITY_PROVIDER
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryIdentityProvider"
|
|
)
|
|
IT @goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorCategoryIT")
|
|
MARKETING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryMarketing"
|
|
)
|
|
OFFICE_OPERATIONS
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryOfficeOperations"
|
|
)
|
|
OTHER @goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorCategoryOther")
|
|
PASSWORD_MANAGEMENT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryPasswordManagement"
|
|
)
|
|
PRODUCT_AND_DESIGN
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryProductAndDesign"
|
|
)
|
|
PROFESSIONAL_SERVICES
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryProfessionalServices"
|
|
)
|
|
RECRUITING
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryRecruiting"
|
|
)
|
|
SALES @goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorCategorySales")
|
|
SECURITY
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorCategorySecurity")
|
|
VERSION_CONTROL
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorCategoryVersionControl"
|
|
)
|
|
}
|
|
|
|
enum DataSensitivity
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.DataSensitivity") {
|
|
NONE @goEnum(value: "go.probo.inc/probo/pkg/coredata.DataSensitivityNone")
|
|
LOW @goEnum(value: "go.probo.inc/probo/pkg/coredata.DataSensitivityLow")
|
|
MEDIUM
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.DataSensitivityMedium")
|
|
HIGH @goEnum(value: "go.probo.inc/probo/pkg/coredata.DataSensitivityHigh")
|
|
CRITICAL
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.DataSensitivityCritical"
|
|
)
|
|
}
|
|
|
|
enum BusinessImpact
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.BusinessImpact") {
|
|
LOW @goEnum(value: "go.probo.inc/probo/pkg/coredata.BusinessImpactLow")
|
|
MEDIUM
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.BusinessImpactMedium")
|
|
HIGH @goEnum(value: "go.probo.inc/probo/pkg/coredata.BusinessImpactHigh")
|
|
CRITICAL
|
|
@goEnum(value: "go.probo.inc/probo/pkg/coredata.BusinessImpactCritical")
|
|
}
|
|
|
|
enum VendorOrderField
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.VendorOrderField") {
|
|
NAME @goEnum(value: "go.probo.inc/probo/pkg/coredata.VendorOrderFieldName")
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorOrderFieldCreatedAt"
|
|
)
|
|
UPDATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorOrderFieldUpdatedAt"
|
|
)
|
|
}
|
|
|
|
enum VendorComplianceReportOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.VendorComplianceReportOrderField"
|
|
) {
|
|
REPORT_DATE
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorComplianceReportOrderFieldReportDate"
|
|
)
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorComplianceReportOrderFieldCreatedAt"
|
|
)
|
|
}
|
|
|
|
enum VendorContactOrderField
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.VendorContactOrderField") {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorContactOrderFieldCreatedAt"
|
|
)
|
|
FULL_NAME
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorContactOrderFieldFullName"
|
|
)
|
|
EMAIL
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorContactOrderFieldEmail"
|
|
)
|
|
}
|
|
|
|
enum VendorServiceOrderField
|
|
@goModel(model: "go.probo.inc/probo/pkg/coredata.VendorServiceOrderField") {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorServiceOrderFieldCreatedAt"
|
|
)
|
|
NAME
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorServiceOrderFieldName"
|
|
)
|
|
}
|
|
|
|
enum VendorRiskAssessmentOrderField
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/coredata.VendorRiskAssessmentOrderField"
|
|
) {
|
|
CREATED_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorRiskAssessmentOrderFieldCreatedAt"
|
|
)
|
|
EXPIRES_AT
|
|
@goEnum(
|
|
value: "go.probo.inc/probo/pkg/coredata.VendorRiskAssessmentOrderFieldExpiresAt"
|
|
)
|
|
}
|
|
|
|
input VendorOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.VendorOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: VendorOrderField!
|
|
}
|
|
|
|
input VendorComplianceReportOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.VendorComplianceReportOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: VendorComplianceReportOrderField!
|
|
}
|
|
|
|
input VendorContactOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.VendorContactOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: VendorContactOrderField!
|
|
}
|
|
|
|
input VendorServiceOrder
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.VendorServiceOrderBy"
|
|
) {
|
|
direction: OrderDirection!
|
|
field: VendorServiceOrderField!
|
|
}
|
|
|
|
input VendorRiskAssessmentOrder {
|
|
field: VendorRiskAssessmentOrderField!
|
|
direction: OrderDirection!
|
|
}
|
|
|
|
input VendorFilter {
|
|
snapshotId: ID
|
|
}
|
|
|
|
type Vendor implements Node {
|
|
id: ID!
|
|
snapshotId: ID
|
|
name: String!
|
|
category: VendorCategory!
|
|
description: String
|
|
|
|
organization: Organization! @goField(forceResolver: true)
|
|
|
|
complianceReports(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: VendorComplianceReportOrder
|
|
): VendorComplianceReportConnection! @goField(forceResolver: true)
|
|
|
|
businessAssociateAgreement: VendorBusinessAssociateAgreement
|
|
@goField(forceResolver: true)
|
|
dataPrivacyAgreement: VendorDataPrivacyAgreement
|
|
@goField(forceResolver: true)
|
|
|
|
contacts(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: VendorContactOrder
|
|
): VendorContactConnection! @goField(forceResolver: true)
|
|
|
|
services(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: VendorServiceOrder
|
|
): VendorServiceConnection! @goField(forceResolver: true)
|
|
|
|
riskAssessments(
|
|
first: Int
|
|
after: CursorKey
|
|
last: Int
|
|
before: CursorKey
|
|
orderBy: VendorRiskAssessmentOrder
|
|
): VendorRiskAssessmentConnection! @goField(forceResolver: true)
|
|
|
|
businessOwner: Profile @goField(forceResolver: true)
|
|
securityOwner: Profile @goField(forceResolver: true)
|
|
|
|
statusPageUrl: String
|
|
termsOfServiceUrl: String
|
|
privacyPolicyUrl: String
|
|
serviceLevelAgreementUrl: String
|
|
dataProcessingAgreementUrl: String
|
|
businessAssociateAgreementUrl: String
|
|
subprocessorsListUrl: String
|
|
certifications: [String!]!
|
|
countries: [CountryCode!]!
|
|
securityPageUrl: String
|
|
trustPageUrl: String
|
|
headquarterAddress: String
|
|
legalName: String
|
|
websiteUrl: String
|
|
showOnTrustCenter: Boolean!
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorComplianceReport implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
reportDate: Datetime!
|
|
validUntil: Datetime
|
|
reportName: String!
|
|
file: File @goField(forceResolver: true)
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorBusinessAssociateAgreement implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
validFrom: Datetime
|
|
validUntil: Datetime
|
|
fileName: String!
|
|
fileUrl: String! @goField(forceResolver: true)
|
|
fileSize: BigInt!
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorContact implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
fullName: String
|
|
email: EmailAddr
|
|
phone: String
|
|
role: String
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorService implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
name: String!
|
|
description: String
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorDataPrivacyAgreement implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
validFrom: Datetime
|
|
validUntil: Datetime
|
|
fileName: String!
|
|
fileUrl: String! @goField(forceResolver: true)
|
|
fileSize: BigInt!
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorRiskAssessment implements Node {
|
|
id: ID!
|
|
vendor: Vendor! @goField(forceResolver: true)
|
|
expiresAt: Datetime!
|
|
dataSensitivity: DataSensitivity!
|
|
businessImpact: BusinessImpact!
|
|
notes: String
|
|
createdAt: Datetime!
|
|
updatedAt: Datetime!
|
|
|
|
permission(action: String!): Boolean! @goField(forceResolver: true)
|
|
}
|
|
|
|
type VendorConnection
|
|
@goModel(
|
|
model: "go.probo.inc/probo/pkg/server/api/console/v1/types.VendorConnection"
|
|
) {
|
|
totalCount: Int! @goField(forceResolver: true)
|
|
edges: [VendorEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type VendorEdge {
|
|
cursor: CursorKey!
|
|
node: Vendor!
|
|
}
|
|
|
|
type VendorComplianceReportConnection {
|
|
edges: [VendorComplianceReportEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type VendorComplianceReportEdge {
|
|
cursor: CursorKey!
|
|
node: VendorComplianceReport!
|
|
}
|
|
|
|
type VendorContactConnection {
|
|
edges: [VendorContactEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type VendorContactEdge {
|
|
cursor: CursorKey!
|
|
node: VendorContact!
|
|
}
|
|
|
|
type VendorServiceConnection {
|
|
edges: [VendorServiceEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type VendorServiceEdge {
|
|
cursor: CursorKey!
|
|
node: VendorService!
|
|
}
|
|
|
|
type VendorRiskAssessmentConnection {
|
|
edges: [VendorRiskAssessmentEdge!]!
|
|
pageInfo: PageInfo!
|
|
}
|
|
|
|
type VendorRiskAssessmentEdge {
|
|
cursor: CursorKey!
|
|
node: VendorRiskAssessment!
|
|
}
|
|
|
|
extend type Mutation {
|
|
createVendor(input: CreateVendorInput!): CreateVendorPayload!
|
|
updateVendor(input: UpdateVendorInput!): UpdateVendorPayload!
|
|
deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
|
|
createVendorContact(
|
|
input: CreateVendorContactInput!
|
|
): CreateVendorContactPayload!
|
|
updateVendorContact(
|
|
input: UpdateVendorContactInput!
|
|
): UpdateVendorContactPayload!
|
|
deleteVendorContact(
|
|
input: DeleteVendorContactInput!
|
|
): DeleteVendorContactPayload!
|
|
createVendorService(
|
|
input: CreateVendorServiceInput!
|
|
): CreateVendorServicePayload!
|
|
updateVendorService(
|
|
input: UpdateVendorServiceInput!
|
|
): UpdateVendorServicePayload!
|
|
deleteVendorService(
|
|
input: DeleteVendorServiceInput!
|
|
): DeleteVendorServicePayload!
|
|
uploadVendorComplianceReport(
|
|
input: UploadVendorComplianceReportInput!
|
|
): UploadVendorComplianceReportPayload!
|
|
deleteVendorComplianceReport(
|
|
input: DeleteVendorComplianceReportInput!
|
|
): DeleteVendorComplianceReportPayload!
|
|
uploadVendorBusinessAssociateAgreement(
|
|
input: UploadVendorBusinessAssociateAgreementInput!
|
|
): UploadVendorBusinessAssociateAgreementPayload!
|
|
updateVendorBusinessAssociateAgreement(
|
|
input: UpdateVendorBusinessAssociateAgreementInput!
|
|
): UpdateVendorBusinessAssociateAgreementPayload!
|
|
deleteVendorBusinessAssociateAgreement(
|
|
input: DeleteVendorBusinessAssociateAgreementInput!
|
|
): DeleteVendorBusinessAssociateAgreementPayload!
|
|
uploadVendorDataPrivacyAgreement(
|
|
input: UploadVendorDataPrivacyAgreementInput!
|
|
): UploadVendorDataPrivacyAgreementPayload!
|
|
updateVendorDataPrivacyAgreement(
|
|
input: UpdateVendorDataPrivacyAgreementInput!
|
|
): UpdateVendorDataPrivacyAgreementPayload!
|
|
deleteVendorDataPrivacyAgreement(
|
|
input: DeleteVendorDataPrivacyAgreementInput!
|
|
): DeleteVendorDataPrivacyAgreementPayload!
|
|
createVendorRiskAssessment(
|
|
input: CreateVendorRiskAssessmentInput!
|
|
): CreateVendorRiskAssessmentPayload!
|
|
assessVendor(input: AssessVendorInput!): AssessVendorPayload!
|
|
}
|
|
|
|
input CreateVendorInput {
|
|
organizationId: ID!
|
|
name: String!
|
|
description: String
|
|
headquarterAddress: String
|
|
legalName: String
|
|
websiteUrl: String
|
|
privacyPolicyUrl: String
|
|
category: VendorCategory
|
|
serviceLevelAgreementUrl: String
|
|
dataProcessingAgreementUrl: String
|
|
businessAssociateAgreementUrl: String
|
|
subprocessorsListUrl: String
|
|
certifications: [String!]
|
|
countries: [CountryCode!]
|
|
securityPageUrl: String
|
|
trustPageUrl: String
|
|
statusPageUrl: String
|
|
termsOfServiceUrl: String
|
|
businessOwnerId: ID
|
|
securityOwnerId: ID
|
|
}
|
|
|
|
input UpdateVendorInput {
|
|
id: ID!
|
|
name: String
|
|
description: String @goField(omittable: true)
|
|
statusPageUrl: String @goField(omittable: true)
|
|
termsOfServiceUrl: String @goField(omittable: true)
|
|
privacyPolicyUrl: String @goField(omittable: true)
|
|
serviceLevelAgreementUrl: String @goField(omittable: true)
|
|
dataProcessingAgreementUrl: String @goField(omittable: true)
|
|
businessAssociateAgreementUrl: String @goField(omittable: true)
|
|
subprocessorsListUrl: String @goField(omittable: true)
|
|
websiteUrl: String @goField(omittable: true)
|
|
legalName: String @goField(omittable: true)
|
|
headquarterAddress: String @goField(omittable: true)
|
|
category: VendorCategory
|
|
certifications: [String!]
|
|
countries: [CountryCode!]
|
|
securityPageUrl: String @goField(omittable: true)
|
|
trustPageUrl: String @goField(omittable: true)
|
|
businessOwnerId: ID @goField(omittable: true)
|
|
securityOwnerId: ID @goField(omittable: true)
|
|
showOnTrustCenter: Boolean
|
|
}
|
|
|
|
input DeleteVendorInput {
|
|
vendorId: ID!
|
|
}
|
|
|
|
input CreateVendorContactInput {
|
|
vendorId: ID!
|
|
fullName: String
|
|
email: EmailAddr
|
|
phone: String
|
|
role: String
|
|
}
|
|
|
|
input UpdateVendorContactInput {
|
|
id: ID!
|
|
fullName: String @goField(omittable: true)
|
|
email: EmailAddr @goField(omittable: true)
|
|
phone: String @goField(omittable: true)
|
|
role: String @goField(omittable: true)
|
|
}
|
|
|
|
input DeleteVendorContactInput {
|
|
vendorContactId: ID!
|
|
}
|
|
|
|
input CreateVendorServiceInput {
|
|
vendorId: ID!
|
|
name: String!
|
|
description: String
|
|
url: String
|
|
type: String
|
|
}
|
|
|
|
input UpdateVendorServiceInput {
|
|
id: ID!
|
|
name: String
|
|
description: String @goField(omittable: true)
|
|
url: String
|
|
type: String
|
|
}
|
|
|
|
input DeleteVendorServiceInput {
|
|
vendorServiceId: ID!
|
|
}
|
|
|
|
input UploadVendorComplianceReportInput {
|
|
vendorId: ID!
|
|
reportDate: Datetime!
|
|
validUntil: Datetime
|
|
reportName: String!
|
|
file: Upload!
|
|
}
|
|
|
|
input DeleteVendorComplianceReportInput {
|
|
reportId: ID!
|
|
}
|
|
|
|
input UploadVendorBusinessAssociateAgreementInput {
|
|
vendorId: ID!
|
|
validFrom: Datetime
|
|
validUntil: Datetime
|
|
fileName: String!
|
|
file: Upload!
|
|
}
|
|
|
|
input UpdateVendorBusinessAssociateAgreementInput {
|
|
vendorId: ID!
|
|
validFrom: Datetime @goField(omittable: true)
|
|
validUntil: Datetime @goField(omittable: true)
|
|
}
|
|
|
|
input DeleteVendorBusinessAssociateAgreementInput {
|
|
vendorId: ID!
|
|
}
|
|
|
|
input UploadVendorDataPrivacyAgreementInput {
|
|
vendorId: ID!
|
|
validFrom: Datetime
|
|
validUntil: Datetime
|
|
fileName: String!
|
|
file: Upload!
|
|
}
|
|
|
|
input UpdateVendorDataPrivacyAgreementInput {
|
|
vendorId: ID!
|
|
validFrom: Datetime @goField(omittable: true)
|
|
validUntil: Datetime @goField(omittable: true)
|
|
}
|
|
|
|
input DeleteVendorDataPrivacyAgreementInput {
|
|
vendorId: ID!
|
|
}
|
|
|
|
input CreateVendorRiskAssessmentInput {
|
|
vendorId: ID!
|
|
expiresAt: Datetime!
|
|
dataSensitivity: DataSensitivity!
|
|
businessImpact: BusinessImpact!
|
|
notes: String
|
|
}
|
|
|
|
input AssessVendorInput {
|
|
id: ID!
|
|
websiteUrl: String!
|
|
}
|
|
|
|
type CreateVendorPayload {
|
|
vendorEdge: VendorEdge!
|
|
}
|
|
|
|
type UpdateVendorPayload {
|
|
vendor: Vendor!
|
|
}
|
|
|
|
type DeleteVendorPayload {
|
|
deletedVendorId: ID!
|
|
}
|
|
|
|
type CreateVendorContactPayload {
|
|
vendorContactEdge: VendorContactEdge!
|
|
}
|
|
|
|
type UpdateVendorContactPayload {
|
|
vendorContact: VendorContact!
|
|
}
|
|
|
|
type DeleteVendorContactPayload {
|
|
deletedVendorContactId: ID!
|
|
}
|
|
|
|
type CreateVendorServicePayload {
|
|
vendorServiceEdge: VendorServiceEdge!
|
|
}
|
|
|
|
type UpdateVendorServicePayload {
|
|
vendorService: VendorService!
|
|
}
|
|
|
|
type DeleteVendorServicePayload {
|
|
deletedVendorServiceId: ID!
|
|
}
|
|
|
|
type UploadVendorComplianceReportPayload {
|
|
vendorComplianceReportEdge: VendorComplianceReportEdge!
|
|
}
|
|
|
|
type DeleteVendorComplianceReportPayload {
|
|
deletedVendorComplianceReportId: ID!
|
|
}
|
|
|
|
type UploadVendorBusinessAssociateAgreementPayload {
|
|
vendorBusinessAssociateAgreement: VendorBusinessAssociateAgreement!
|
|
}
|
|
|
|
type UpdateVendorBusinessAssociateAgreementPayload {
|
|
vendorBusinessAssociateAgreement: VendorBusinessAssociateAgreement!
|
|
}
|
|
|
|
type DeleteVendorBusinessAssociateAgreementPayload {
|
|
deletedVendorId: ID!
|
|
}
|
|
|
|
type UploadVendorDataPrivacyAgreementPayload {
|
|
vendorDataPrivacyAgreement: VendorDataPrivacyAgreement!
|
|
}
|
|
|
|
type UpdateVendorDataPrivacyAgreementPayload {
|
|
vendorDataPrivacyAgreement: VendorDataPrivacyAgreement!
|
|
}
|
|
|
|
type DeleteVendorDataPrivacyAgreementPayload {
|
|
deletedVendorId: ID!
|
|
}
|
|
|
|
type CreateVendorRiskAssessmentPayload {
|
|
vendorRiskAssessmentEdge: VendorRiskAssessmentEdge!
|
|
}
|
|
|
|
type AssessVendorPayload {
|
|
vendor: Vendor!
|
|
}
|