mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2025-07-20 06:05:23 +00:00
Complete information
This commit is contained in:
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(),
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user