Fix: Icon references not checked for attributes when removing dependency

This commit is contained in:
Gabriel Herbert
2025-12-03 23:02:06 +01:00
parent bc8c8706c2
commit e52aa248af

View File

@@ -539,25 +539,36 @@ func ValidateDependency_tx(ctx context.Context, tx pgx.Tx, moduleId uuid.UUID) e
SELECT icon_id SELECT icon_id
FROM app.search_bar FROM app.search_bar
WHERE module_id = $6 WHERE module_id = $6
UNION
-- attribute icons
SELECT icon_id
FROM app.attribute
WHERE relation_id IN (
SELECT id
FROM app.relation
WHERE module_id = $7
)
) )
-- dependency -- dependency
AND id NOT IN ( AND id NOT IN (
SELECT id SELECT id
FROM app.icon FROM app.icon
WHERE module_id = $7 WHERE module_id = $8
OR module_id IN ( OR module_id IN (
SELECT module_id_on SELECT module_id_on
FROM app.module_depends FROM app.module_depends
WHERE module_id = $8 WHERE module_id = $9
) )
) )
`, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId).Scan(&cnt); err != nil { `, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId, moduleId).Scan(&cnt); err != nil {
return err return err
} }
if cnt != 0 { if cnt != 0 {
return fmt.Errorf("dependency check failed, accessing %d icons(s) from independent module(s), check application, collection, search bar, menu & field icons", cnt) return fmt.Errorf("dependency check failed, accessing %d icons(s) from independent module(s), check application, attribute, collection, search bar, menu & field icons", cnt)
} }
// check PG function access to external pgFunctions/modules/relations/attributes // check PG function access to external pgFunctions/modules/relations/attributes