Add trust center front

Signed-off-by: Sacha Al Himdani <sacha@getprobo.com>
This commit is contained in:
Sacha Al Himdani
2025-07-28 17:24:16 +02:00
parent 2ac8f31492
commit cb3d79502d
72 changed files with 18712 additions and 82 deletions

View File

@@ -566,6 +566,14 @@ enum AuditOrderField
)
}
enum TrustCenterAccessOrderField
@goModel(model: "github.com/getprobo/probo/pkg/coredata.TrustCenterAccessOrderField") {
CREATED_AT
@goEnum(
value: "github.com/getprobo/probo/pkg/coredata.TrustCenterAccessOrderFieldCreatedAt"
)
}
# Input Types
input UserOrder
@goModel(
@@ -647,6 +655,14 @@ input AuditOrder
field: AuditOrderField!
}
input TrustCenterAccessOrder
@goModel(
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.TrustCenterAccessOrderBy"
) {
direction: OrderDirection!
field: TrustCenterAccessOrderField!
}
input EvidenceOrder
@goModel(
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.EvidenceOrderBy"
@@ -702,6 +718,14 @@ input RiskFilter {
query: String
}
input OrganizationFilter {
trustCenterSlug: String
}
input TrustCenterFilter {
slug: String
}
# Core Types
type TrustCenter implements Node {
id: ID!
@@ -709,6 +733,15 @@ type TrustCenter implements Node {
slug: String!
createdAt: Datetime!
updatedAt: Datetime!
organization: Organization! @goField(forceResolver: true)
accesses(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: TrustCenterAccessOrder
): TrustCenterAccessConnection! @goField(forceResolver: true)
}
type Organization implements Node {
@@ -1177,6 +1210,7 @@ type Viewer {
last: Int
before: CursorKey
orderBy: OrganizationOrder
filter: OrganizationFilter
): OrganizationConnection! @goField(forceResolver: true)
}
@@ -1191,6 +1225,35 @@ type OrganizationEdge {
node: Organization!
}
type TrustCenterConnection {
edges: [TrustCenterEdge!]!
pageInfo: PageInfo!
}
type TrustCenterEdge {
cursor: CursorKey!
node: TrustCenter!
}
type TrustCenterAccess implements Node {
id: ID!
email: String!
name: String!
active: Boolean!
createdAt: Datetime!
updatedAt: Datetime!
}
type TrustCenterAccessConnection {
edges: [TrustCenterAccessEdge!]!
pageInfo: PageInfo!
}
type TrustCenterAccessEdge {
cursor: CursorKey!
node: TrustCenterAccess!
}
type UserConnection {
edges: [UserEdge!]!
pageInfo: PageInfo!
@@ -1399,6 +1462,13 @@ type AuditEdge {
type Query {
node(id: ID!): Node!
viewer: Viewer!
trustCenters(
first: Int
after: CursorKey
last: Int
before: CursorKey
filter: TrustCenterFilter
): TrustCenterConnection! @goField(forceResolver: true)
}
type Mutation {
@@ -1414,6 +1484,23 @@ type Mutation {
input: UpdateTrustCenterInput!
): UpdateTrustCenterPayload!
revokeTrustCenterAccess(
input: RevokeTrustCenterAccessInput!
): RevokeTrustCenterAccessPayload!
# Trust Center Access CRUD mutations
createTrustCenterAccess(
input: CreateTrustCenterAccessInput!
): CreateTrustCenterAccessPayload!
updateTrustCenterAccess(
input: UpdateTrustCenterAccessInput!
): UpdateTrustCenterAccessPayload!
deleteTrustCenterAccess(
input: DeleteTrustCenterAccessInput!
): DeleteTrustCenterAccessPayload!
# User mutations
confirmEmail(input: ConfirmEmailInput!): ConfirmEmailPayload!
inviteUser(input: InviteUserInput!): InviteUserPayload!
@@ -1586,6 +1673,29 @@ input UpdateTrustCenterInput {
slug: String
}
input RevokeTrustCenterAccessInput {
accessId: ID!
}
input CreateTrustCenterAccessInput {
trustCenterId: ID!
email: String!
name: String!
sendEmail: Boolean! = true
}
input UpdateTrustCenterAccessInput {
accessId: ID!
email: String
name: String
active: Boolean
sendEmail: Boolean! = false
}
input DeleteTrustCenterAccessInput {
accessId: ID!
}
input CreateVendorInput {
organizationId: ID!
name: String!
@@ -1951,6 +2061,24 @@ type UpdateTrustCenterPayload {
trustCenter: TrustCenter!
}
type RevokeTrustCenterAccessPayload {
trustCenterAccess: TrustCenterAccess!
}
type CreateTrustCenterAccessPayload {
trustCenterAccessEdge: TrustCenterAccessEdge!
}
type UpdateTrustCenterAccessPayload {
trustCenterAccess: TrustCenterAccess!
}
type DeleteTrustCenterAccessPayload {
deletedTrustCenterAccessId: ID!
}
type CreateControlPayload {
controlEdge: ControlEdge!
}