powerplatform_dataverse_service_client/
reference.rs1use std::fmt::Display;
2
3use serde::{Deserialize, Serialize};
4use uuid::Uuid;
5
6pub trait Reference {
10 fn get_reference(&self) -> ReferenceStruct;
12}
13
14#[derive(Copy, Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
18pub struct ReferenceStruct {
19 pub entity_name: &'static str,
20 pub entity_id: Uuid,
21}
22
23impl ReferenceStruct {
24 pub fn new(entity_name: &'static str, entity_id: Uuid) -> Self {
26 Self {
27 entity_name,
28 entity_id,
29 }
30 }
31}
32
33impl Display for ReferenceStruct {
34 fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
35 f.write_fmt(format_args!(
36 "{}:({})",
37 self.entity_name,
38 self.entity_id.as_simple()
39 ))
40 }
41}
42
43impl Reference for ReferenceStruct {
44 fn get_reference(&self) -> ReferenceStruct {
45 *self
46 }
47}