canic_core/workflow/directory/
mod.rs1pub mod builders;
2
3pub use builders::*;
4
5use crate::{
6 dto::directory::{AppDirectoryView, SubnetDirectoryView},
7 ops::{
8 adapter::directory::{app_directory_to_view, subnet_directory_to_view},
9 runtime::env::EnvOps,
10 storage::directory::{AppDirectoryOps, SubnetDirectoryOps},
11 },
12};
13
14pub struct AppDirectoryResolver;
22
23impl AppDirectoryResolver {
24 #[must_use]
25 pub fn resolve_view() -> AppDirectoryView {
26 let data = if EnvOps::is_root() {
27 RootAppDirectoryBuilder::build_from_registry()
28 } else {
29 AppDirectoryOps::export()
30 };
31
32 app_directory_to_view(data)
33 }
34}
35
36pub struct SubnetDirectoryResolver;
44
45impl SubnetDirectoryResolver {
46 #[must_use]
47 pub fn resolve_view() -> SubnetDirectoryView {
48 let data = if EnvOps::is_root() {
49 RootSubnetDirectoryBuilder::build_from_registry()
50 } else {
51 SubnetDirectoryOps::export()
52 };
53
54 subnet_directory_to_view(data)
55 }
56}