use forklaunch_core::persistence::compliance::{
ComplianceEntity, ComplianceField, ComplianceLevel, ComplianceMetadata,
};
pub struct OrderCompliance;
impl ComplianceMetadata for OrderCompliance {
const ENTITY: &'static str = "Order";
const FIELDS: &'static [ComplianceField] = &[
ComplianceField {
rust_name: "id",
storage_name: "id",
level: ComplianceLevel::None,
nullable: false,
},
ComplianceField {
rust_name: "customer_id",
storage_name: "customerId",
level: ComplianceLevel::None,
nullable: true,
},
ComplianceField {
rust_name: "shipping_address",
storage_name: "shippingAddress",
level: ComplianceLevel::Pii,
nullable: false,
},
ComplianceField {
rust_name: "created_at",
storage_name: "createdAt",
level: ComplianceLevel::None,
nullable: false,
},
ComplianceField {
rust_name: "updated_at",
storage_name: "updatedAt",
level: ComplianceLevel::None,
nullable: false,
},
ComplianceField {
rust_name: "retention_anonymized_at",
storage_name: "retentionAnonymizedAt",
level: ComplianceLevel::None,
nullable: true,
},
];
}
#[must_use]
pub fn declarations() -> Vec<ComplianceEntity> {
vec![ComplianceEntity::of::<OrderCompliance>(
"fl_ecommerce.records.data[kind=order]",
"json-record-members",
)]
}