Add vendor contacts

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-08-13 19:41:21 +02:00
parent 3839d2000d
commit 52f24a503d
26 changed files with 4917 additions and 41 deletions

View File

@@ -292,6 +292,24 @@ enum VendorComplianceReportOrderField
)
}
enum VendorContactOrderField
@goModel(
model: "github.com/getprobo/probo/pkg/coredata.VendorContactOrderField"
) {
CREATED_AT
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.VendorContactOrderFieldCreatedAt"
)
FULL_NAME
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.VendorContactOrderFieldFullName"
)
EMAIL
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.VendorContactOrderFieldEmail"
)
}
enum OrganizationOrderField
@goModel(
model: "github.com/getprobo/probo/pkg/coredata.OrganizationOrderField"
@@ -679,6 +697,14 @@ input VendorComplianceReportOrder
field: VendorComplianceReportOrderField!
}
input VendorContactOrder
@goModel(
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.VendorContactOrderBy"
) {
direction: OrderDirection!
field: VendorContactOrderField!
}
input OrganizationOrder {
direction: OrderDirection!
field: OrganizationOrderField!
@@ -917,6 +943,14 @@ type Vendor implements Node {
businessAssociateAgreement: VendorBusinessAssociateAgreement @goField(forceResolver: true)
contacts(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: VendorContactOrder
): VendorContactConnection! @goField(forceResolver: true)
riskAssessments(
first: Int
after: CursorKey
@@ -970,6 +1004,17 @@ type VendorBusinessAssociateAgreement implements Node {
updatedAt: Datetime!
}
type VendorContact implements Node {
id: ID!
vendor: Vendor! @goField(forceResolver: true)
fullName: String
email: String
phone: String
role: String
createdAt: Datetime!
updatedAt: Datetime!
}
type Framework implements Node {
id: ID!
name: String!
@@ -1418,6 +1463,16 @@ type VendorComplianceReportEdge {
node: VendorComplianceReport!
}
type VendorContactConnection {
edges: [VendorContactEdge!]!
pageInfo: PageInfo!
}
type VendorContactEdge {
cursor: CursorKey!
node: VendorContact!
}
type ConnectorConnection {
edges: [ConnectorEdge!]!
pageInfo: PageInfo!
@@ -1529,6 +1584,11 @@ type Mutation {
updateVendor(input: UpdateVendorInput!): UpdateVendorPayload!
deleteVendor(input: DeleteVendorInput!): DeleteVendorPayload!
# Vendor Contact mutations
createVendorContact(input: CreateVendorContactInput!): CreateVendorContactPayload!
updateVendorContact(input: UpdateVendorContactInput!): UpdateVendorContactPayload!
deleteVendorContact(input: DeleteVendorContactInput!): DeleteVendorContactPayload!
# Framework mutations
createFramework(input: CreateFrameworkInput!): CreateFrameworkPayload!
updateFramework(input: UpdateFrameworkInput!): UpdateFrameworkPayload!
@@ -1763,6 +1823,26 @@ input DeleteVendorInput {
vendorId: ID!
}
input CreateVendorContactInput {
vendorId: ID!
fullName: String
email: String
phone: String
role: String
}
input UpdateVendorContactInput {
id: ID!
fullName: String
email: String
phone: String
role: String
}
input DeleteVendorContactInput {
vendorContactId: ID!
}
input CreatePeopleInput {
organizationId: ID!
fullName: String!
@@ -2135,6 +2215,18 @@ type DeleteVendorPayload {
deletedVendorId: ID!
}
type CreateVendorContactPayload {
vendorContactEdge: VendorContactEdge!
}
type UpdateVendorContactPayload {
vendorContact: VendorContact!
}
type DeleteVendorContactPayload {
deletedVendorContactId: ID!
}
type CreatePeoplePayload {
peopleEdge: PeopleEdge!
}