Skip to main content

provenant/output_schema/
license_policy_entry.rs

1// SPDX-FileCopyrightText: Provenant contributors
2// SPDX-License-Identifier: Apache-2.0
3
4use serde::{Deserialize, Serialize};
5
6#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, Eq)]
7pub struct OutputLicensePolicyEntry {
8    pub license_key: String,
9    pub label: String,
10    pub color_code: String,
11    pub icon: String,
12}
13
14impl From<&crate::models::LicensePolicyEntry> for OutputLicensePolicyEntry {
15    fn from(value: &crate::models::LicensePolicyEntry) -> Self {
16        Self {
17            license_key: value.license_key.clone(),
18            label: value.label.clone(),
19            color_code: value.color_code.clone(),
20            icon: value.icon.clone(),
21        }
22    }
23}
24
25impl TryFrom<&OutputLicensePolicyEntry> for crate::models::LicensePolicyEntry {
26    type Error = String;
27    fn try_from(value: &OutputLicensePolicyEntry) -> Result<Self, Self::Error> {
28        Ok(Self {
29            license_key: value.license_key.clone(),
30            label: value.label.clone(),
31            color_code: value.color_code.clone(),
32            icon: value.icon.clone(),
33        })
34    }
35}