Files
boc/fix-rbac-period-workflow.sh
T

27 lines
1.5 KiB
Bash
Raw Normal View History

#!/bin/bash
# Fix 3: Lägg till RBAC på period-workflow endpoints
FILE="/opt/amos/services/aamos-ledger/period-workflow.mjs"
BAK="${FILE}.bak-rbac-$(date +%s)"
# Skapa backup
cp "$FILE" "$BAK"
# OBS: Detta kräver att auth.mjs exporterar ROLES och requireRole
# och att de importeras i period-workflow.mjs
# Lägg till import överst i filen (efter de andra imports)
sed -i '1a\
import { requireRole, ROLES } from '\''./auth.mjs'\'';' "$FILE"
# Lägg till requireRole(ROLES.ADMIN) på alla period-endpoints
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/open'\''/app.post('\''\/api\/ledger\/periods\/:period\/open'\'', requireRole(ROLES.ADMIN)/" "$FILE"
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/submit-review'\''/app.post('\''\/api\/ledger\/periods\/:period\/submit-review'\'', requireRole(ROLES.ADMIN)/" "$FILE"
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/approve'\''/app.post('\''\/api\/ledger\/periods\/:period\/approve'\'', requireRole(ROLES.ADMIN)/" "$FILE"
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/reject'\''/app.post('\''\/api\/ledger\/periods\/:period\/reject'\'', requireRole(ROLES.ADMIN)/" "$FILE"
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/close'\''/app.post('\''\/api\/ledger\/periods\/:period\/close'\'', requireRole(ROLES.ADMIN)/" "$FILE"
sed -i "s/app.post('\''\/api\/ledger\/periods\/:period\/reopen'\''/app.post('\''\/api\/ledger\/periods\/:period\/reopen'\'', requireRole(ROLES.ADMIN)/" "$FILE"
echo "Backup: $BAK"
echo "RBAC fixar applicerade på period-workflow.mjs"