Skip to content

matter-in-motion/mm-post

Repository files navigation

Matter In Motion. Post resource extension

NPM Version NPM Downloads

This extension adds a post resource. It also requires mm-node and mm-user extensions

Usage

Extensions installation instructions

Dependencies

Settings

There is no settings for this extension.

Post

The post is the ordered collection of nodes.

  • id — uuid, the id of the post.
  • slug — string, 60 chars max, a user- and SEO-friendly short unique text used in a URL to identify and describe the post.
  • title — string, 140 chars max.
  • status — string, draft, ready, published. Default draft.
  • created — integer. A timestamp when the post is created.
  • published — integer. A timestamp when the post is published.
  • author — uuid or user data of the post's author.
  • tags — the array of tag's slugs.
  • nodes — object with all nodes.
  • content — the array of nodes ids.

API

get

Returns a post or posts collection.

Request

To all requests, you can add the include parameter that adds related data to the posts.

  • id — post's id

or

  • slug — post's slug

or

  • status — filter by post's status. Use * or leave it undefined to return posts with any status.
  • created — integer or array, timestamp, to filter the posts by created date. When two timestamps in the array provided, returns only posts between this timestamps.
  • published — integer or array, timestamp, to filter posts by published date. When two timestamps in the array provided, returns only posts between this timestamps.
  • author — uuid, to filter posts by its author.
  • tags — an array of tag's slugs to filter by. You can use -tag to filter out posts that have this tag.
  • order — string, the field name to order the posts by. Possible values published, -published, created, -created.
  • limit — number, limit the number of returned posts.
  • quantity — boolean, returns a number of posts instead of posts itself.

Response

A single post or array of matched posts.

create

Request

Creates a new post.

  • slug — post's slug
  • title — string, 140 chars max.
  • status — string, draft, ready, published. Default draft.
  • tags — an array of tag's slugs
  • content — object with all nodes

Response

Full-formed post object.

update

updates the post content

Request

  • to
    • slug — string, post's slug.
    • title — string, 140 chars max.
    • status — string, draft, ready, published. Default draft.
    • published — integer. A timestamp when the post is published.
    • tags — an array of tag's slugs.
    • content — an array of nodes ids, to change the order of nodes.

Response

  • changed post id

delete

Deletes post

Request

  • id — uuid, id of the post

Response

  • deleted post id

createNode

Request

Creates a new node in the post.

  • id — uuid, post's id
  • node for more info check the node documentation
    • type
    • content

Response

new node's id

deleteNode

Request

Deletes a node from the post.

  • id — uuid, post's id
  • nid — uuid, node's id
  • index — integer, position index of the node

Response

  • id — uuid, deleted node id

Controller Methods

TBD

License: MIT.