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 TraceSpanTags,
36 RefreshTraceSummary,
37 TraceMetrics,
38 Tags,
39}
40
41impl Routes {
42 pub fn as_str(&self) -> &str {
43 match self {
44 Routes::AuthLogin => "auth/login",
45 Routes::AuthRefresh => "auth/refresh",
46 Routes::Profile => "profile",
47 Routes::Drift => "drift",
48 Routes::SpcDrift => "drift/spc",
49 Routes::PsiDrift => "drift/psi",
50 Routes::CustomDrift => "drift/custom",
51 Routes::GenAITaskDrift => "drift/genai/task",
52 Routes::GenAIWorkflowDrift => "drift/genai/workflow",
53 Routes::ProfileStatus => "profile/status",
54 Routes::DownloadProfile => "profile/download",
55 Routes::Alerts => "alerts",
56 Routes::Healthcheck => "healthcheck",
57 Routes::Message => "message",
58 Routes::PaginatedTraces => "trace/paginated",
59 Routes::TraceBaggage => "trace/baggage",
60 Routes::TraceSpans => "trace/spans",
61 Routes::TraceSpanTags => "trace/spans/tags",
62 Routes::RefreshTraceSummary => "trace/refresh-summary",
63 Routes::TraceMetrics => "trace/metrics",
64 Routes::Tags => "tags",
65 }
66 }
67}