app.apps.blog.services

Blog app service layer - business logic for blog operations.

Functions

allow_public_read(client, project_name[, cache])

Check if public read is allowed for a project's blog.

build_default_settings(project_name[, ...])

Build default blog settings dict.

ensure_blog_project(project_name)

Ensure the blog project and its settings exist.

generate_slug(title)

Generate a URL-safe slug from a title.

get_cached_settings(project_name)

Get cached settings if still valid.

get_or_create_space_hierarchy(client, ...)

Navigate or create the space hierarchy under a project.

get_post_item_kind(client, project_name[, cache])

Get the configured item kind for blog posts from settings.

load_blog_settings(client, project_name[, cache])

Load blog settings for a project.

resolve_project_name(space_path, project_filter)

Extract project name from space path or project filter.

set_cached_settings(project_name, settings)

Update the settings cache.

app.apps.blog.services.load_blog_settings(client, project_name, cache=None)[source]

Load blog settings for a project.

Return type:

Dict[str, object]

Parameters:
  • client (Any)

  • project_name (str)

  • cache (Dict[str, Dict[str, object]] | None)

app.apps.blog.services.get_post_item_kind(client, project_name, cache=None)[source]

Get the configured item kind for blog posts from settings.

Return type:

str

Parameters:
  • client (Any)

  • project_name (str)

  • cache (Dict[str, Dict[str, object]] | None)

app.apps.blog.services.allow_public_read(client, project_name, cache=None)[source]

Check if public read is allowed for a project’s blog.

Return type:

bool

Parameters:
  • client (Any)

  • project_name (str)

  • cache (Dict[str, Dict[str, object]] | None)

app.apps.blog.services.resolve_project_name(space_path, project_filter)[source]

Extract project name from space path or project filter.

Return type:

Optional[str]

Parameters:
  • space_path (str | None)

  • project_filter (str | None)

app.apps.blog.services.get_or_create_space_hierarchy(client, project, space_names)[source]

Navigate or create the space hierarchy under a project. Returns the leaf Space object.

Return type:

Space

Parameters:
  • client (Any)

  • project (Project)

  • space_names (List[str])

app.apps.blog.services.get_cached_settings(project_name)[source]

Get cached settings if still valid.

Return type:

Optional[Dict[str, object]]

Parameters:

project_name (str)

app.apps.blog.services.set_cached_settings(project_name, settings)[source]

Update the settings cache.

Return type:

None

Parameters:
  • project_name (str)

  • settings (Dict[str, object])

app.apps.blog.services.generate_slug(title)[source]

Generate a URL-safe slug from a title.

Return type:

str

Parameters:

title (str)

app.apps.blog.services.build_default_settings(project_name, allow_public=False)[source]

Build default blog settings dict.

Return type:

Dict[str, object]

Parameters:
  • project_name (str)

  • allow_public (bool)

app.apps.blog.services.ensure_blog_project(project_name)[source]

Ensure the blog project and its settings exist. Creates them if they don’t exist.

Return type:

Project

Parameters:

project_name (str)