PhoenixKit.Modules.Publishing.PublishingPost
(PhoenixKitPublishing v0.1.7)
Copy Markdown
View Source
Schema for publishing posts within a group.
Posts are a minimal routing shell — they hold the URL identity (slug or
date/time) and point to the currently live version via active_version_uuid.
Each post belongs to a group and has versions with per-language content. Supports both slug-mode and timestamp-mode URL structures.
Publishing
A post is published when active_version_uuid is set (points to a published
version). It is unpublished when active_version_uuid is nil.
Soft Delete
Posts use trashed_at (timestamp) for soft delete instead of a status field.
trashed_at being nil means the post is active.
Summary
Functions
Changeset for creating or updating a publishing post.
Check if post is a draft (not published and not trashed).
Check if post is published (has an active version).
Check if post is trashed.
Types
@type t() :: %PhoenixKit.Modules.Publishing.PublishingPost{ __meta__: term(), active_version: term(), active_version_uuid: UUIDv7.t() | nil, created_by: term(), created_by_uuid: UUIDv7.t() | nil, group: term(), group_uuid: UUIDv7.t(), inserted_at: DateTime.t() | nil, mode: String.t(), post_date: Date.t() | nil, post_time: Time.t() | nil, slug: String.t(), trashed_at: DateTime.t() | nil, updated_at: DateTime.t() | nil, updated_by: term(), updated_by_uuid: UUIDv7.t() | nil, uuid: UUIDv7.t() | nil, versions: term() }