statehub_api/v0/
error.rs
1#![allow(clippy::use_self)]
7
8use thiserror::Error;
9
10use super::*;
11
12mod impls;
13
14pub const UNAUTHENTICATED: &str = "UnauthenticatedError";
15pub const VOLUME_NOT_FOUND: &str = "VolumeNotFoundError";
16pub const CLUSTER_IS_STATE_OWNER: &str = "ClusterIsStateOwnerError";
17pub const NOT_AUTHORIZED: &str = "NotAuthorizedError";
18pub const CLUSTER_NOT_FOUND: &str = "ClusterNotFoundError";
19pub const STATE_ALREADY_EXISTS: &str = "StateAlreadyExistsError";
20
21#[derive(Debug, Error, Serialize, Deserialize)]
22#[serde(rename_all = "camelCase")]
23pub struct Error {
25 pub http_code: u16,
26 pub http_status: String,
27 pub error_code: String,
28 pub msg: Option<String>,
29 pub request_id: Option<String>,
30}
31
32#[derive(Clone, Copy, Debug, PartialEq, Hash, SerializeDisplay, DeserializeFromStr)]
33pub enum Permission {
34 ReadClusters,
35 CreateClusters,
36 DeleteClusters,
37 CreateClusterToken,
38 ReadClusterToken,
39 DeleteClusterToken,
40 ReadClusterLocations,
41 UpdateClusterLocations,
42 ReadStates,
43 CreateStates,
44 DeleteStates,
45 CreateStateOwner,
46 DeleteStateOwner,
47 CreateStateLocations,
48 ReadStateLocations,
49 DeleteStateLocations,
50 ReadStateLocationPrincipals,
51 CreateStateLocationPrincipals,
52 UpdateStateLocationPle,
53 ReadVolumes,
54 CreateVolumes,
55 DeleteVolumes,
56 UpdateVolumeActiveLocation,
57 DeleteVolumeActiveLocation,
58 ReadOrganization,
59 UpdateOrganization,
60 ReadOrganizationRole,
61 ReadPersonalTokens,
62 CreatePersonalTokens,
63 UpdatePersonalTokens,
64 DeletePersonalTokens,
65 ReadInvitations,
66 CreateInvitations,
67 UpdateInvitations,
68 DeleteInvitations,
69 ReadMembers,
70 CreateMembers,
71 UpdateMembers,
72 DeleteMembers,
73 ReadProfile,
74 UpdateProfile,
75}