@@ -127,6 +127,30 @@ enum RiskTreatment
|
||||
)
|
||||
}
|
||||
|
||||
enum AuditState
|
||||
@goModel(model: "github.com/getprobo/probo/pkg/coredata.AuditState") {
|
||||
NOT_STARTED
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditStateNotStarted"
|
||||
)
|
||||
IN_PROGRESS
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditStateInProgress"
|
||||
)
|
||||
COMPLETED
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditStateCompleted"
|
||||
)
|
||||
REJECTED
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditStateRejected"
|
||||
)
|
||||
OUTDATED
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditStateOutdated"
|
||||
)
|
||||
}
|
||||
|
||||
# Order Field Enums
|
||||
enum UserOrderField
|
||||
@goModel(model: "github.com/getprobo/probo/pkg/coredata.UserOrderField") {
|
||||
@@ -521,6 +545,27 @@ enum ControlStatus
|
||||
value: "github.com/getprobo/probo/pkg/coredata.ControlStatusExcluded"
|
||||
)
|
||||
}
|
||||
|
||||
enum AuditOrderField
|
||||
@goModel(model: "github.com/getprobo/probo/pkg/coredata.AuditOrderField") {
|
||||
CREATED_AT
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditOrderFieldCreatedAt"
|
||||
)
|
||||
VALID_FROM
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditOrderFieldValidFrom"
|
||||
)
|
||||
VALID_UNTIL
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditOrderFieldValidUntil"
|
||||
)
|
||||
STATE
|
||||
@goEnum(
|
||||
value: "github.com/getprobo/probo/pkg/coredata.AuditOrderFieldState"
|
||||
)
|
||||
}
|
||||
|
||||
# Input Types
|
||||
input UserOrder
|
||||
@goModel(
|
||||
@@ -594,6 +639,14 @@ input RiskOrder
|
||||
field: RiskOrderField!
|
||||
}
|
||||
|
||||
input AuditOrder
|
||||
@goModel(
|
||||
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.AuditOrderBy"
|
||||
) {
|
||||
direction: OrderDirection!
|
||||
field: AuditOrderField!
|
||||
}
|
||||
|
||||
input EvidenceOrder
|
||||
@goModel(
|
||||
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.EvidenceOrderBy"
|
||||
@@ -755,6 +808,14 @@ type Organization implements Node {
|
||||
orderBy: DatumOrder
|
||||
): DatumConnection! @goField(forceResolver: true)
|
||||
|
||||
audits(
|
||||
first: Int
|
||||
after: CursorKey
|
||||
last: Int
|
||||
before: CursorKey
|
||||
orderBy: AuditOrder
|
||||
): AuditConnection! @goField(forceResolver: true)
|
||||
|
||||
createdAt: Datetime!
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
@@ -1064,6 +1125,30 @@ type Risk implements Node {
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
|
||||
type Audit implements Node {
|
||||
id: ID!
|
||||
organization: Organization! @goField(forceResolver: true)
|
||||
framework: Framework! @goField(forceResolver: true)
|
||||
validFrom: Datetime
|
||||
validUntil: Datetime
|
||||
report: Report @goField(forceResolver: true)
|
||||
reportUrl: String @goField(forceResolver: true)
|
||||
state: AuditState!
|
||||
createdAt: Datetime!
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
|
||||
type Report implements Node {
|
||||
id: ID!
|
||||
objectKey: String!
|
||||
mimeType: String!
|
||||
filename: String!
|
||||
size: Int!
|
||||
downloadUrl: String @goField(forceResolver: true)
|
||||
createdAt: Datetime!
|
||||
updatedAt: Datetime!
|
||||
}
|
||||
|
||||
type Session {
|
||||
id: ID!
|
||||
expiresAt: Datetime!
|
||||
@@ -1283,6 +1368,20 @@ type DatumEdge {
|
||||
node: Datum!
|
||||
}
|
||||
|
||||
type AuditConnection
|
||||
@goModel(
|
||||
model: "github.com/getprobo/probo/pkg/server/api/console/v1/types.AuditConnection"
|
||||
) {
|
||||
totalCount: Int! @goField(forceResolver: true)
|
||||
edges: [AuditEdge!]!
|
||||
pageInfo: PageInfo!
|
||||
}
|
||||
|
||||
type AuditEdge {
|
||||
cursor: CursorKey!
|
||||
node: Audit!
|
||||
}
|
||||
|
||||
# Root Types
|
||||
type Query {
|
||||
node(id: ID!): Node!
|
||||
@@ -1437,6 +1536,12 @@ type Mutation {
|
||||
createDatum(input: CreateDatumInput!): CreateDatumPayload!
|
||||
updateDatum(input: UpdateDatumInput!): UpdateDatumPayload!
|
||||
deleteDatum(input: DeleteDatumInput!): DeleteDatumPayload!
|
||||
|
||||
createAudit(input: CreateAuditInput!): CreateAuditPayload!
|
||||
updateAudit(input: UpdateAuditInput!): UpdateAuditPayload!
|
||||
deleteAudit(input: DeleteAuditInput!): DeleteAuditPayload!
|
||||
uploadAuditReport(input: UploadAuditReportInput!): UploadAuditReportPayload!
|
||||
deleteAuditReport(input: DeleteAuditReportInput!): DeleteAuditReportPayload!
|
||||
}
|
||||
|
||||
# Input Types
|
||||
@@ -1778,6 +1883,35 @@ input DeleteControlInput {
|
||||
controlId: ID!
|
||||
}
|
||||
|
||||
# Audit input types
|
||||
input CreateAuditInput {
|
||||
organizationId: ID!
|
||||
frameworkId: ID!
|
||||
validFrom: Datetime
|
||||
validUntil: Datetime
|
||||
state: AuditState
|
||||
}
|
||||
|
||||
input UpdateAuditInput {
|
||||
id: ID!
|
||||
validFrom: Datetime
|
||||
validUntil: Datetime
|
||||
state: AuditState
|
||||
}
|
||||
|
||||
input DeleteAuditInput {
|
||||
auditId: ID!
|
||||
}
|
||||
|
||||
input UploadAuditReportInput {
|
||||
auditId: ID!
|
||||
file: Upload!
|
||||
}
|
||||
|
||||
input DeleteAuditReportInput {
|
||||
auditId: ID!
|
||||
}
|
||||
|
||||
# Payload Types
|
||||
type CreateOrganizationPayload {
|
||||
organizationEdge: OrganizationEdge!
|
||||
@@ -2354,3 +2488,23 @@ type UpdateDatumPayload {
|
||||
type DeleteDatumPayload {
|
||||
deletedDatumId: ID!
|
||||
}
|
||||
|
||||
type CreateAuditPayload {
|
||||
auditEdge: AuditEdge!
|
||||
}
|
||||
|
||||
type UpdateAuditPayload {
|
||||
audit: Audit!
|
||||
}
|
||||
|
||||
type DeleteAuditPayload {
|
||||
deletedAuditId: ID!
|
||||
}
|
||||
|
||||
type UploadAuditReportPayload {
|
||||
audit: Audit!
|
||||
}
|
||||
|
||||
type DeleteAuditReportPayload {
|
||||
audit: Audit!
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user