coil_core/manifest/
admin.rs1use super::*;
2
3#[derive(Debug, Clone, Copy, PartialEq, Eq)]
4pub enum AdminNavigationSection {
5 Overview,
6 Content,
7 Commerce,
8 Memberships,
9 Events,
10 Media,
11 System,
12}
13
14#[derive(Debug, Clone, Copy, PartialEq, Eq)]
15pub enum AdminContributionKind {
16 Dashboard,
17 ResourceIndex,
18 DetailView,
19 Workflow,
20 Audit,
21 Settings,
22}
23
24#[derive(Debug, Clone, PartialEq, Eq)]
25pub struct AdminResourceContribution {
26 pub id: String,
27 pub route: String,
28 pub title: String,
29 pub nav_label: String,
30 pub section: AdminNavigationSection,
31 pub kind: AdminContributionKind,
32 pub required_capability: Capability,
33}
34
35impl AdminResourceContribution {
36 pub fn new(
37 id: impl Into<String>,
38 route: impl Into<String>,
39 title: impl Into<String>,
40 nav_label: impl Into<String>,
41 section: AdminNavigationSection,
42 kind: AdminContributionKind,
43 required_capability: Capability,
44 ) -> Self {
45 Self {
46 id: id.into(),
47 route: route.into(),
48 title: title.into(),
49 nav_label: nav_label.into(),
50 section,
51 kind,
52 required_capability,
53 }
54 }
55}