@paperbits/common
Version:
Paperbits common components.
54 lines (46 loc) • 1.58 kB
text/typescript
import { Contract } from "..";
import { BlogPostContract } from "../blogs/blogPostContract";
/**
* Service for managing blog posts.
*/
export interface IBlogService {
search(pattern: string, locale?: string): Promise<BlogPostContract[]>;
/**
* Returns blog post by specified key.
* @param key
*/
getBlogPostByKey(key: string, locale?: string): Promise<BlogPostContract>;
/**
* Returns blog post by specfied key.
* @param permalink
*/
getBlogPostByPermalink(permalink: string, locale?: string): Promise<BlogPostContract>;
/**
* Deletes specified blog post.
* @param blogPostRef
*/
deleteBlogPost(blogPostRef: BlogPostContract): Promise<void>;
/**
* Creates a new blog post in storage and returns its contract.
* @param title
* @param description
* @param keywords
*/
createBlogPost(url: string, title: string, description: string, keywords: string, locale?: string): Promise<BlogPostContract>;
/**
* Updates a blog post.
* @param blogPostRef
*/
updateBlogPost(blogPostRef: BlogPostContract, locale?: string): Promise<void>;
/**
* Returns blog post content by specified key.
* @param postKey
*/
getBlogPostContent(postKey: string, locale?: string): Promise<Contract>;
/**
* Updates blog post content.
* @param postKey
* @param document
*/
updateBlogPostContent(postKey: string, document: Contract, locale?: string): Promise<void>;
}