1
0
mirror of https://gitlab.com/comunic/comunicapiv3 synced 2025-07-20 06:05:23 +00:00

Complete information

This commit is contained in:
2020-07-02 19:05:05 +02:00
parent 4ab5b9d3e3
commit 2dde756d5d
3 changed files with 89 additions and 4 deletions
src

@@ -4,18 +4,31 @@
use serde::Serialize;
use crate::data::post::Post;
use crate::data::user::UserID;
#[derive(Serialize)]
#[allow(non_snake_case)]
pub struct PostAPI {
ID: u64,
userID: u64,
user_page_id: u64,
group_id: u64,
post_time: u64,
content: Option<String>,
visibility_level: String,
}
impl PostAPI {
/// Turn a `Post` entry into an API entry
pub fn new(p: &Post) -> PostAPI {
PostAPI {
ID: p.id
ID: p.id,
userID: p.user_id.id(),
user_page_id: p.user_page_id().unwrap_or(&UserID::invalid()).id(),
group_id: p.group_id().map(|f| f.id()).unwrap_or(0),
post_time: p.time_create,
content: p.content.clone(),
visibility_level: p.visibility.to_api(),
}
}