fix: resolve JS-005, JS-006, SVC-006 architecture violations

- JS-005: Add initialization guards to email-templates.js (admin/vendor)
- JS-006: Add try/catch error handling to content-pages.js init
- SVC-006: Move db.commit() from services to endpoints for proper
  transaction control in email_template_service and vendor_team_service

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-01-03 20:00:10 +01:00
parent 87056ea65c
commit 6df7167f80
8 changed files with 75 additions and 15 deletions

View File

@@ -180,6 +180,7 @@ def update_template(
body_html=template_data.body_html,
body_text=template_data.body_text,
)
db.commit()
return {"message": "Template updated successfully"}

View File

@@ -126,7 +126,7 @@ def update_template_override(
vendor_id = current_user.token_vendor_id
service = EmailTemplateService(db)
return service.create_or_update_vendor_override(
result = service.create_or_update_vendor_override(
vendor_id=vendor_id,
code=code,
language=language,
@@ -135,6 +135,9 @@ def update_template_override(
body_text=template_data.body_text,
name=template_data.name,
)
db.commit()
return result
@router.delete("/{code}/{language}")
@@ -152,6 +155,7 @@ def delete_template_override(
vendor_id = current_user.token_vendor_id
service = EmailTemplateService(db)
service.delete_vendor_override(vendor_id, code, language)
db.commit()
return {
"message": "Template override deleted - reverted to platform default",

View File

@@ -385,6 +385,7 @@ def list_roles(
vendor = request.state.vendor
roles = vendor_team_service.get_vendor_roles(db=db, vendor_id=vendor.id)
db.commit() # Commit in case default roles were created
return RoleListResponse(roles=roles, total=len(roles))