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