shared/api/endpoints/resource/
report.rs

1//! routes for the resource curation by admin
2
3use crate::{
4    api::Method,
5    domain::{
6        resource::report::{
7            CreateResourceReport, CreateResourceReportPath, GetResourceReportPath, ReportId,
8            ResourceReport,
9        },
10        CreateResponse,
11    },
12    error::EmptyError,
13};
14
15use super::ApiEndpoint;
16
17/// Create a Resource Report
18///
19/// # Authorization
20///
21/// * No user scope required
22///
23/// # Errors
24///
25pub struct Create;
26impl ApiEndpoint for Create {
27    type Path = CreateResourceReportPath;
28    type Req = CreateResourceReport;
29    type Res = CreateResponse<ReportId>;
30    type Err = EmptyError;
31    const METHOD: Method = Method::Post;
32}
33
34/// Get a Resource report
35///
36/// # Authorization
37///
38/// * Admin
39///
40/// # Errors
41///
42pub struct Get;
43impl ApiEndpoint for Get {
44    type Path = GetResourceReportPath;
45    type Req = ();
46    type Res = ResourceReport;
47    type Err = EmptyError;
48    const METHOD: Method = Method::Get;
49}