From 6050c8dac50ad892d8ed8e00cd0c930c42dff039 Mon Sep 17 00:00:00 2001 From: Folke Ashberg Date: Wed, 28 Jun 2023 20:37:13 +0200 Subject: Added-External_id for Collections --- src/db/models/collection.rs | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'src/db/models') diff --git a/src/db/models/collection.rs b/src/db/models/collection.rs index 6a9acab8..c534fa4f 100644 --- a/src/db/models/collection.rs +++ b/src/db/models/collection.rs @@ -10,6 +10,7 @@ db_object! { pub uuid: String, pub org_uuid: String, pub name: String, + pub external_id: Option, } #[derive(Identifiable, Queryable, Insertable)] @@ -33,18 +34,21 @@ db_object! { /// Local methods impl Collection { - pub fn new(org_uuid: String, name: String) -> Self { - Self { + pub fn new(org_uuid: String, name: String, external_id: Option) -> Self { + let mut new_model = Self { uuid: crate::util::get_uuid(), - org_uuid, name, - } + external_id: None, + }; + + new_model.set_external_id(external_id); + new_model } pub fn to_json(&self) -> Value { json!({ - "ExternalId": null, // Not support by us + "ExternalId": self.external_id, "Id": self.uuid, "OrganizationId": self.org_uuid, "Name": self.name, @@ -52,6 +56,21 @@ impl Collection { }) } + pub fn set_external_id(&mut self, external_id: Option) { + //Check if external id is empty. We don't want to have + //empty strings in the database + match external_id { + Some(external_id) => { + if external_id.is_empty() { + self.external_id = None; + } else { + self.external_id = Some(external_id) + } + } + None => self.external_id = None, + } + } + pub async fn to_json_details( &self, user_uuid: &str, -- cgit v1.2.3