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(), },