Update risk matrix

Signed-off-by: gearnode <bryan@frimin.fr>
This commit is contained in:
gearnode
2025-04-15 11:16:24 -07:00
parent 7ff083e339
commit a90de1fdde
12 changed files with 771 additions and 585 deletions

View File

@@ -0,0 +1,44 @@
ALTER TABLE risks ADD COLUMN inherent_likelihood_int INTEGER;
ALTER TABLE risks ADD COLUMN inherent_impact_int INTEGER;
ALTER TABLE risks ADD COLUMN residual_likelihood_int INTEGER;
ALTER TABLE risks ADD COLUMN residual_impact_int INTEGER;
UPDATE risks SET
inherent_likelihood_int = CASE
WHEN inherent_likelihood <= 0.20 THEN 1
WHEN inherent_likelihood <= 0.40 THEN 2
WHEN inherent_likelihood <= 0.60 THEN 3
WHEN inherent_likelihood <= 0.80 THEN 4
ELSE 5
END,
inherent_impact_int = CASE
WHEN inherent_impact <= 0.20 THEN 1
WHEN inherent_impact <= 0.40 THEN 2
WHEN inherent_impact <= 0.60 THEN 3
WHEN inherent_impact <= 0.80 THEN 4
ELSE 5
END,
residual_likelihood_int = CASE
WHEN residual_likelihood <= 0.20 THEN 1
WHEN residual_likelihood <= 0.40 THEN 2
WHEN residual_likelihood <= 0.60 THEN 3
WHEN residual_likelihood <= 0.80 THEN 4
ELSE 5
END,
residual_impact_int = CASE
WHEN residual_impact <= 0.20 THEN 1
WHEN residual_impact <= 0.40 THEN 2
WHEN residual_impact <= 0.60 THEN 3
WHEN residual_impact <= 0.80 THEN 4
ELSE 5
END;
ALTER TABLE risks DROP COLUMN inherent_likelihood;
ALTER TABLE risks DROP COLUMN inherent_impact;
ALTER TABLE risks DROP COLUMN residual_likelihood;
ALTER TABLE risks DROP COLUMN residual_impact;
ALTER TABLE risks RENAME COLUMN inherent_likelihood_int TO inherent_likelihood;
ALTER TABLE risks RENAME COLUMN inherent_impact_int TO inherent_impact;
ALTER TABLE risks RENAME COLUMN residual_likelihood_int TO residual_likelihood;
ALTER TABLE risks RENAME COLUMN residual_impact_int TO residual_impact;

View File

@@ -34,10 +34,10 @@ type (
Description string `db:"description"`
Treatment RiskTreatment `db:"treatment"`
OwnerID *gid.GID `db:"owner_id"`
InherentLikelihood float64 `db:"inherent_likelihood"`
InherentImpact float64 `db:"inherent_impact"`
ResidualLikelihood float64 `db:"residual_likelihood"`
ResidualImpact float64 `db:"residual_impact"`
InherentLikelihood int `db:"inherent_likelihood"`
InherentImpact int `db:"inherent_impact"`
ResidualLikelihood int `db:"residual_likelihood"`
ResidualImpact int `db:"residual_impact"`
CreatedAt time.Time `db:"created_at"`
UpdatedAt time.Time `db:"updated_at"`
}
@@ -54,11 +54,11 @@ func (r *Risk) CursorKey(orderBy RiskOrderField) page.CursorKey {
panic(fmt.Sprintf("unsupported order by: %s", orderBy))
}
func (r *Risk) InherentSeverity() float64 {
func (r *Risk) InherentSeverity() int {
return r.InherentLikelihood * r.InherentImpact
}
func (r *Risk) ResidualSeverity() float64 {
func (r *Risk) ResidualSeverity() int {
return r.ResidualLikelihood * r.ResidualImpact
}