raisfast 0.2.23

The last backend you'll ever need. Rust-powered headless CMS with built-in blog, ecommerce, wallet, payment and 4 plugin engines.
//! Post-related commands

use crate::models::post::PostStatus;
use crate::types::snowflake_id::SnowflakeId;

/// Create a post
pub struct CreatePostCmd {
    pub title: String,
    pub slug: String,
    pub content: String,
    pub excerpt: Option<String>,
    pub cover_image: Option<String>,
    pub status: PostStatus,
    pub created_by: i64,
    pub updated_by: Option<i64>,
    pub category_id: Option<i64>,
    pub tag_ids: Option<Vec<i64>>,
}

/// Update a post
pub struct UpdatePostCmd {
    pub id: SnowflakeId,
    pub title: Option<String>,
    pub slug: Option<String>,
    pub content: Option<String>,
    pub excerpt: Option<String>,
    pub cover_image: Option<String>,
    pub status: Option<PostStatus>,
    pub category_id: Option<i64>,
    pub tag_ids: Option<Vec<i64>>,
    pub updated_by: Option<i64>,
}

/// Query published posts
pub struct FindPublishedQuery {
    pub page: i64,
    pub page_size: i64,
    pub category_id: Option<i64>,
    pub tag_id: Option<i64>,
    pub q: Option<String>,
}