lago_types/requests/
activity_log.rs1use crate::models::PaginationParams;
2
3use crate::filters::{activity_log::ActivityLogFilters, common::ListFilters};
4
5#[derive(Debug, Clone)]
7pub struct ListActivityLogsRequest {
8 pub pagination: PaginationParams,
9 pub filters: ActivityLogFilters,
10}
11
12impl ListActivityLogsRequest {
13 pub fn new() -> Self {
15 Self {
16 pagination: PaginationParams::default(),
17 filters: ActivityLogFilters::default(),
18 }
19 }
20
21 pub fn with_pagination(mut self, pagination: PaginationParams) -> Self {
23 self.pagination = pagination;
24 self
25 }
26
27 pub fn with_filters(mut self, filters: ActivityLogFilters) -> Self {
29 self.filters = filters;
30 self
31 }
32
33 pub fn to_query_params(&self) -> Vec<(&str, String)> {
35 let mut params = self.pagination.to_query_params();
36 params.extend(self.filters.to_query_params());
37 params
38 }
39}
40
41impl Default for ListActivityLogsRequest {
42 fn default() -> Self {
43 Self::new()
44 }
45}
46
47#[derive(Debug, Clone)]
49pub struct GetActivityLogRequest {
50 pub activity_id: String,
51}
52
53impl GetActivityLogRequest {
54 pub fn new(activity_id: String) -> Self {
56 Self { activity_id }
57 }
58}