shared/api/endpoints/jig/
report.rs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! routes for the jig curation by admin

use crate::{
    api::{ApiEndpoint, Method},
    domain::{
        jig::report::{
            CreateJigReport, CreateJigReportPath, GetJigReportPath, JigReport, ReportId,
        },
        CreateResponse,
    },
    error::EmptyError,
};

/// Create a Jig Report
///
/// # Authorization
///
/// * No user scope required
///
/// # Errors
///
pub struct Create;
impl ApiEndpoint for Create {
    type Path = CreateJigReportPath;
    type Req = CreateJigReport;
    type Res = CreateResponse<ReportId>;
    type Err = EmptyError;
    const METHOD: Method = Method::Post;
}

/// Get a Jig report
///
/// # Authorization
///
/// * Admin
///
/// # Errors
///
pub struct Get;
impl ApiEndpoint for Get {
    type Path = GetJigReportPath;
    type Req = ();
    type Res = JigReport;
    type Err = EmptyError;
    const METHOD: Method = Method::Get;
}