1use serde::{Deserialize, Serialize};
2
3#[derive(Serialize, Deserialize)]
4pub struct JwtToken {
5 pub token: String,
6}
7
8#[derive(Debug, Clone)]
9pub enum RequestType {
10 Get,
11 Post,
12 Put,
13 Delete,
14}
15
16#[derive(Debug, Clone)]
17pub enum Routes {
18 AuthLogin,
19 AuthRefresh,
20 Drift,
21 SpcDrift,
22 PsiDrift,
23 CustomDrift,
24 GenAITaskDrift,
25 GenAIWorkflowDrift,
26 Profile,
27 ProfileStatus,
28 Alerts,
29 DownloadProfile,
30 Healthcheck,
31 Message,
32 PaginatedTraces,
33 TraceBaggage,
34 TraceSpans,
35 RefreshTraceSummary,
36 TraceMetrics,
37 Tags,
38}
39
40impl Routes {
41 pub fn as_str(&self) -> &str {
42 match self {
43 Routes::AuthLogin => "auth/login",
44 Routes::AuthRefresh => "auth/refresh",
45 Routes::Profile => "profile",
46 Routes::Drift => "drift",
47 Routes::SpcDrift => "drift/spc",
48 Routes::PsiDrift => "drift/psi",
49 Routes::CustomDrift => "drift/custom",
50 Routes::GenAITaskDrift => "drift/genai/task",
51 Routes::GenAIWorkflowDrift => "drift/genai/workflow",
52 Routes::ProfileStatus => "profile/status",
53 Routes::DownloadProfile => "profile/download",
54 Routes::Alerts => "alerts",
55 Routes::Healthcheck => "healthcheck",
56 Routes::Message => "message",
57 Routes::PaginatedTraces => "trace/paginated",
58 Routes::TraceBaggage => "trace/baggage",
59 Routes::TraceSpans => "trace/spans",
60 Routes::RefreshTraceSummary => "trace/refresh-summary",
61 Routes::TraceMetrics => "trace/metrics",
62 Routes::Tags => "tags",
63 }
64 }
65}