27 lines
1.5 KiB
Bash
27 lines
1.5 KiB
Bash
|
|
#!/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"
|