tabs
This commit is contained in:
parent
843ae33a3f
commit
513826750b
11 changed files with 239 additions and 34 deletions
|
|
@ -48,7 +48,10 @@ status_code::direct!(reqs::search::Ok => OK);
|
|||
status_code::map!(reqs::search::Err => [NoSuchAuthor]);
|
||||
|
||||
#[data]
|
||||
pub struct Get {}
|
||||
pub struct Get {
|
||||
#[serde(default)]
|
||||
pub resolve_marks: bool,
|
||||
}
|
||||
|
||||
impl_req!(Get => [reqs::get::Ok; reqs::get::Err]);
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ macro_rules! impl_req {
|
|||
}
|
||||
|
||||
pub mod marks;
|
||||
pub mod tabs;
|
||||
pub mod users;
|
||||
|
||||
pub mod authors;
|
||||
|
|
|
|||
53
http/src/requests/tabs.rs
Normal file
53
http/src/requests/tabs.rs
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
use eva::data;
|
||||
|
||||
use viendesu_core::{errors, requests::tabs as reqs, types::entity};
|
||||
|
||||
use crate::requests::status_code;
|
||||
|
||||
#[data]
|
||||
pub struct Delete {}
|
||||
|
||||
impl_req!(Delete => [reqs::delete::Ok; reqs::delete::Err]);
|
||||
status_code::direct!(reqs::delete::Ok => OK);
|
||||
status_code::map!(reqs::delete::Err => [InvalidItemId, NoSuchItem, NoSuchTab]);
|
||||
|
||||
#[data]
|
||||
pub struct Insert {
|
||||
pub item: entity::Id,
|
||||
}
|
||||
|
||||
impl_req!(Insert => [reqs::insert::Ok; reqs::insert::Err]);
|
||||
status_code::direct!(reqs::insert::Ok => CREATED);
|
||||
status_code::map!(reqs::insert::Err => [Duplicate, InvalidKind, NoSuchTab, InvalidItemId]);
|
||||
|
||||
#[data]
|
||||
pub struct ListItems {
|
||||
#[serde(default)]
|
||||
pub resolve_marks: bool,
|
||||
#[serde(default)]
|
||||
pub start_from: Option<entity::Id>,
|
||||
#[serde(default)]
|
||||
pub limit: reqs::list_items::Limit,
|
||||
}
|
||||
|
||||
impl_req!(ListItems => [reqs::list_items::Ok; reqs::list_items::Err]);
|
||||
status_code::direct!(reqs::list_items::Ok => OK);
|
||||
status_code::map!(reqs::list_items::Err => [InvalidItemId, NoSuchTab]);
|
||||
|
||||
#[data]
|
||||
pub struct List {}
|
||||
|
||||
impl_req!(List => [reqs::list::Ok; reqs::list::Err]);
|
||||
status_code::direct!(reqs::list::Ok => OK);
|
||||
status_code::map!(reqs::list::Err => [NotFound]);
|
||||
|
||||
const _: () = {
|
||||
use errors::tabs::*;
|
||||
use status_code::direct;
|
||||
|
||||
direct!(InvalidKind => BAD_REQUEST);
|
||||
direct!(Duplicate => BAD_REQUEST);
|
||||
direct!(InvalidItemId => BAD_REQUEST);
|
||||
direct!(NoSuchTab => NOT_FOUND);
|
||||
direct!(NoSuchItem => NOT_FOUND);
|
||||
};
|
||||
Loading…
Add table
Add a link
Reference in a new issue