aarondb/gleamcms/db/post

Types

Post

opaque
pub opaque type Post
pub type PostStatus {
  Draft
  Published
  Archived
}

Constructors

  • Draft
  • Published
  • Archived

Values

pub fn get_all_published(
  db: process.Subject(transactor.Message),
) -> List(Post)

Fetch all published posts in a single query pass (no N+1).

pub fn get_content(post: Post) -> String
pub fn get_featured_image(post: Post) -> option.Option(String)
pub fn get_id(post: Post) -> String
pub fn get_post_by_slug(
  db: process.Subject(transactor.Message),
  slug: String,
) -> Result(Post, Nil)
pub fn get_published_at(post: Post) -> option.Option(Int)
pub fn get_section_type(post: Post) -> String
pub fn get_slug(post: Post) -> String
pub fn get_status(post: Post) -> PostStatus
pub fn get_title(post: Post) -> String
pub fn is_valid_slug(slug: String) -> Bool
pub fn new_post(
  id: String,
  title: String,
  slug: String,
  content: String,
) -> Post
pub fn sanitize_html(input: String) -> String
pub fn save_post(
  db: process.Subject(transactor.Message),
  post: Post,
) -> Result(Nil, List(String))
pub fn status_to_string(status: PostStatus) -> String
pub fn string_to_status(status: String) -> PostStatus
pub fn validate_post(post: Post) -> Result(Post, List(String))
pub fn with_featured_image(
  post: Post,
  image: option.Option(String),
) -> Post
pub fn with_section_type(
  post: Post,
  section_type: String,
) -> Post
pub fn with_status(post: Post, status: PostStatus) -> Post
Search Document