1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! GTS identifiers owned by the graph-storage gear.
//!
//! The base ontology (three abstract bases, six family types) is registered
//! by the gear at boot from the schemas in its `schemas/` directory; these constants
//! name them and the resource types authorization decisions use.
use gts_id;
// --- ontology bases (abstract; uninstantiable) ------------------------------
/// Node base: every registrable node type derives from this.
pub const NODE_BASE_TYPE: &str = gts_id!;
/// Edge base.
pub const EDGE_BASE_TYPE: &str = gts_id!;
/// Attribute base.
pub const ATTRIBUTE_BASE_TYPE: &str = gts_id!;
// --- family types (abstract; producers derive from these) -------------------
pub const OWNED_NODE_TYPE: &str = gts_id!;
pub const REFERENCE_NODE_TYPE: &str =
gts_id!;
pub const PHANTOM_NODE_TYPE: &str = gts_id!;
pub const STATIC_EDGE_TYPE: &str = gts_id!;
pub const ANALYSIS_EDGE_TYPE: &str =
gts_id!;
pub const PROVENANCE_ATTRIBUTE_TYPE: &str =
gts_id!;
// --- authorization resource types --------------------------------------------
/// Resource type of a graph node, used for authorization decisions.
pub const NODE_RESOURCE: &str = gts_id!;
/// Resource type of a graph edge.
pub const EDGE_RESOURCE: &str = gts_id!;
/// Resource type of a registered ontology type.
pub const TYPE_RESOURCE: &str = gts_id!;