chris/types/
ids.rs

1use serde::{Deserialize, Serialize};
2use shrinkwraprs::Shrinkwrap;
3
4/// CUBE User ID
5#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
6pub struct UserId(pub u32);
7
8/// Pipeline ID
9#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
10pub struct PipelineId(pub u32);
11
12/// Plugin ID
13#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
14pub struct PluginId(pub u32);
15
16/// Feed ID
17#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
18pub struct FeedId(pub u32);
19
20/// Feed note ID
21#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
22pub struct NoteId(pub u32);
23
24/// Plugin instance ID
25#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
26pub struct PluginInstanceId(pub u32);
27
28/// Plugin instance parameter ID
29#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
30pub struct PluginInstanceParameterId(pub u32);
31
32/// Plugin parameter ID
33#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
34pub struct PluginParameterId(pub u32);
35
36/// Workflow ID
37#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
38pub struct WorkflowId(pub u32);
39
40/// Compute resource ID
41#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
42pub struct ComputeResourceId(pub u32);
43
44/// Feed file ID
45#[derive(Copy, Clone, Shrinkwrap, Serialize, Deserialize, Debug, Hash, Eq, PartialEq)]
46pub struct FeedFileId(pub u32);