From 146e0164e70575a01dfcbd1b3f46050ba3d3c5d4 Mon Sep 17 00:00:00 2001 From: Anders Olsson Date: Thu, 4 Jun 2026 22:05:06 +0200 Subject: [PATCH] refactor(db): name audit entity_type constants for vocab/term/authority (#21) Co-Authored-By: Claude Sonnet 4.6 --- crates/db/src/authority.rs | 4 +++- crates/db/src/vocab.rs | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/crates/db/src/authority.rs b/crates/db/src/authority.rs index 2ee78d5..dc2468f 100644 --- a/crates/db/src/authority.rs +++ b/crates/db/src/authority.rs @@ -8,6 +8,8 @@ use sqlx::Row; use crate::audit; +const AUTHORITY_ENTITY_TYPE: &str = "authority"; + /// Labels aggregated per row as JSON, to read an authority and its labels in one query. const LABELS_JSON: &str = "COALESCE(json_agg(json_build_object('lang', al.lang, 'label', al.label) \ ORDER BY al.lang) FILTER (WHERE al.authority_id IS NOT NULL), '[]'::json)"; @@ -43,7 +45,7 @@ pub async fn create_authority( &NewAuditEvent { actor, action: AuditAction::Created, - entity_type: "authority".to_owned(), + entity_type: AUTHORITY_ENTITY_TYPE.to_owned(), entity_id: id.to_uuid(), changes: Vec::new(), }, diff --git a/crates/db/src/vocab.rs b/crates/db/src/vocab.rs index 660b8bb..9bc558a 100644 --- a/crates/db/src/vocab.rs +++ b/crates/db/src/vocab.rs @@ -8,6 +8,9 @@ use sqlx::Row; use crate::audit; +const VOCABULARY_ENTITY_TYPE: &str = "vocabulary"; +const TERM_ENTITY_TYPE: &str = "term"; + /// Labels aggregated per row as JSON, to read a term and its labels in one query. const LABELS_JSON: &str = "COALESCE(json_agg(json_build_object('lang', tl.lang, 'label', tl.label) \ ORDER BY tl.lang) FILTER (WHERE tl.term_id IS NOT NULL), '[]'::json)"; @@ -32,7 +35,7 @@ pub async fn create_vocabulary( &NewAuditEvent { actor, action: AuditAction::Created, - entity_type: "vocabulary".to_owned(), + entity_type: VOCABULARY_ENTITY_TYPE.to_owned(), entity_id: id.to_uuid(), changes: Vec::new(), }, @@ -104,7 +107,7 @@ pub async fn add_term( &NewAuditEvent { actor, action: AuditAction::Created, - entity_type: "term".to_owned(), + entity_type: TERM_ENTITY_TYPE.to_owned(), entity_id: id.to_uuid(), changes: Vec::new(), },