canic_core/api/
metadata.rs1use crate::dto::metadata::CanicMetadataResponse;
2
3const CANISTER_NAME: &str = env!("CARGO_PKG_NAME");
4const CANISTER_VERSION: &str = env!("CARGO_PKG_VERSION");
5const CANISTER_DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION");
6
7pub struct CanicMetadataApi;
12
13impl CanicMetadataApi {
14 #[must_use]
16 pub fn metadata(canister_version: u64) -> CanicMetadataResponse {
17 Self::metadata_for(
18 CANISTER_NAME,
19 CANISTER_VERSION,
20 CANISTER_DESCRIPTION,
21 CANISTER_VERSION,
22 canister_version,
23 )
24 }
25
26 #[must_use]
28 pub fn metadata_for(
29 package_name: &str,
30 package_version: &str,
31 package_description: &str,
32 canic_version: &str,
33 canister_version: u64,
34 ) -> CanicMetadataResponse {
35 CanicMetadataResponse {
36 package_name: package_name.to_string(),
37 package_version: package_version.to_string(),
38 package_description: package_description.to_string(),
39 canic_version: canic_version.to_string(),
40 canister_version,
41 }
42 }
43}