shared/api/endpoints/resource/
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
47
48
49
//! routes for the resource curation by admin

use crate::{
    api::Method,
    domain::{
        resource::report::{
            CreateResourceReport, CreateResourceReportPath, GetResourceReportPath, ReportId,
            ResourceReport,
        },
        CreateResponse,
    },
    error::EmptyError,
};

use super::ApiEndpoint;

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

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