edc_web_components/models/
contract_agreement_item.rs1use edc_connector_client::types::contract_agreement::ContractAgreement;
2
3#[derive(Clone, Debug, PartialEq)]
4pub struct ContractAgreementItem {
5 pub id: String,
6 pub signing_date: String,
7 pub consumer_id: String,
8 pub provider_id: String,
9 pub asset_id: String,
10 pub policy_id: String,
11}
12
13impl From<ContractAgreement> for ContractAgreementItem {
14 fn from(contract_agreement: ContractAgreement) -> Self {
15 let id = contract_agreement.id().to_string();
16 let signing_date =
17 chrono::DateTime::from_timestamp(contract_agreement.contract_signing_date(), 0)
18 .unwrap_or_default()
19 .to_string();
20
21 let consumer_id = contract_agreement.consumer_id().to_string();
22 let provider_id = contract_agreement.provider_id().to_string();
23 let asset_id = contract_agreement.asset_id().to_string();
24 let policy_id = contract_agreement
25 .policy()
26 .id()
27 .map(|id| id.to_string())
28 .unwrap_or_default();
29
30 Self {
31 id,
32 signing_date,
33 consumer_id,
34 provider_id,
35 asset_id,
36 policy_id,
37 }
38 }
39}