Add mapping between control and mitigation

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-03-31 22:01:09 +02:00
parent 38a0458d78
commit d0fc5cd439
20 changed files with 4775 additions and 156 deletions

View File

@@ -441,6 +441,15 @@ type Control implements Node {
referenceId: String!
name: String!
description: String!
mitigations(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: MitigationOrder
): MitigationConnection! @goField(forceResolver: true)
createdAt: Datetime!
updatedAt: Datetime!
}
@@ -461,6 +470,22 @@ type Mitigation implements Node {
orderBy: TaskOrder
): TaskConnection! @goField(forceResolver: true)
risks(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: RiskOrder
): RiskConnection! @goField(forceResolver: true)
controls(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: ControlOrder
): ControlConnection! @goField(forceResolver: true)
createdAt: Datetime!
updatedAt: Datetime!
}
@@ -517,6 +542,15 @@ type Risk implements Node {
description: String!
probability: Float!
impact: Float!
controls(
first: Int
after: CursorKey
last: Int
before: CursorKey
orderBy: ControlOrder
): ControlConnection! @goField(forceResolver: true)
createdAt: Datetime!
updatedAt: Datetime!
}
@@ -694,6 +728,14 @@ type Mutation {
updateMitigation(input: UpdateMitigationInput!): UpdateMitigationPayload!
importMitigation(input: ImportMitigationInput!): ImportMitigationPayload!
# Control mutations
createControlMapping(
input: CreateControlMappingInput!
): CreateControlMappingPayload!
deleteControlMapping(
input: DeleteControlMappingInput!
): DeleteControlMappingPayload!
# Task mutations
createTask(input: CreateTaskInput!): CreateTaskPayload!
updateTask(input: UpdateTaskInput!): UpdateTaskPayload!
@@ -853,6 +895,16 @@ input UnassignTaskInput {
taskId: ID!
}
input CreateControlMappingInput {
controlId: ID!
mitigationId: ID!
}
input DeleteControlMappingInput {
controlId: ID!
mitigationId: ID!
}
input CreateRiskInput {
organizationId: ID!
name: String!
@@ -1008,6 +1060,14 @@ type UnassignTaskPayload {
task: Task!
}
type CreateControlMappingPayload {
success: Boolean!
}
type DeleteControlMappingPayload {
success: Boolean!
}
type CreateRiskPayload {
riskEdge: RiskEdge!
}