@frontender-magazine/fm-article

SDK for article service api


Keywords
FM Micro Service, Frontender Magazine, API
License
CC-BY-4.0
Install
npm install @frontender-magazine/fm-article@1.6.1

Documentation

Documentation

Table of Contents

ArticleService

Article Service API

Parameters

  • url string service url
  • token (string | null) user access tocken if available (optional, default null)

messages

Object with class service messages

Type: Object

get

Get Articles list

Parameters

  • null-null SearchParams Object with search params

Examples

Read articles list

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const list = await Article.get();
})();

Returns ArticleList array of posts

getByReponame

Get Article connected to this repository name

Parameters

  • null-null SearchParams Object with search params

Examples

Read articles list

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const list = await Article.getByReponame('the-art-of-html-semantics-pt1');
})();

Returns ArticleList array of posts

getById

Get Article connected to this repository name

Parameters

  • null-null SearchParams Object with search params

Examples

Read articles list

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const list = await Article.getById('5a04f3ee3d3c231d5d8e009d');
})();

Returns ArticleList array of posts

post

Create article

Parameters

Examples

Create article

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const details = await Article.post({
   "url":"http://hansmuller-webkit.blogspot.ru/2013/02/padding-rounded-rectangle.html",
   "domain":"blogspot.ru",
   "title":"Padding the Rounded Rectangle",
   "published": new Date("2013-02-28"),
   "lang":"eng"
  });
})();

Returns Article created user

put

Replace article

Parameters

  • null-null Article updated article object with _id included

Examples

Replace article

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const details = await Article.put({
   "url":"http://hansmuller-webkit.blogspot.ru/2013/02/padding-rounded-rectangle.html",
   "domain":"blogspot.ru",
   "title":"Padding the Rounded Rectangle",
   "published": new Date("2013-02-28"),
   "lang":"eng",
   "_id": "59e11e3bbce79c073e548a9a"
  });
})();

Returns Article created article

patch

Update article

Parameters

  • null-null Article updated article object with _id included

Examples

Patch article

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const details = await Article.patch({
   "_id": "59e11e3bbce79c073e548a9a",
   "title": "New article title"
  });
})();

Returns Article updated article

details

Read specific users details

Parameters

Examples

Get article

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  const details = await Article.details('59e11e3bbce79c073e548a9a');
})();

Returns Article article details

delete

Delete article by id

Parameters

Examples

Delete article by id

(async () => {
  const Article = new ArticleService('https://article.frontender.info/');
  await Article.delete('59e11e3bbce79c073e548a9a');
})();

null-null

Search params

Type: SearchParams

Properties

  • page number page number
  • perPage number articles per page
  • s string keyword to search in domain and title

Array

Article list object

Type: ArticleList

Properties

Article

Article object

Type: Article

Properties

  • url string article url
  • domain string article domain
  • title string article title
  • lang string 3 character lang code
  • published Date publication timestamp
  • characters number characters count
  • author Array<string> article with user id's
  • contributors Array<Contributor> array of contributors
  • tags Array<string> array of article tags
  • team boolean is user part of the team
  • core boolean is user part of the core team
  • translator boolean is user translator
  • editor boolean is user editor
  • developer boolean is user developer
  • author boolean is user author
  • salary number salary, if user part of the core team
  • reponame string name of repository with translation, if applyable
  • translations Article<Article> array of translations of this articles

Contributor

Contributor object

Type: Contributor

Properties

  • name string contributor name or login if no name available
  • url string url to contributor resource