Skip to content

Latest commit

 

History

History
129 lines (92 loc) · 2.72 KB

README.md

File metadata and controls

129 lines (92 loc) · 2.72 KB

Frost Client

Build Status Renovate enabled semantic-release Join the chat at https://gitter.im/poetapp/Lobby

Frost Client helps you to easily integrate your applications with Po.et's Frost API.

Index

Getting Started

Install

Install Frost Client from the NPM repository or directly from this GitHub repository:

$ npm install @po.et/frost-client
$ yarn add @po.et/frost-client
$ git clone [email protected]:poetapp/frost-client.git
$ cd frost-client && npm link

Import

import { Frost } from '@po.et/frost-client'
const { Frost } = require('@po.et/frost-client')

Initialize

You will need a token for Frost API, which you can obtain from frost.po.et.

import { Frost } from '@po.et/frost-client'

const config = {
  host: 'https://api.frost.po.et', // required
  timeout: 10 // default 10 seconds
}

const token = YOUR_FROST_API_TOKEN

const frost = new Frost(config)

Methods

Create Work

Returns a promise with Frost's response. Throws in case of errors.

async function createWork() {
  try {
    const work = {
      name: 'My first work in Frost',
      datePublished: '2017-11-24T00:38:41.595Z', // ISO date
      dateCreated: '2017-11-24T00:38:41.595Z', // ISO date
      author: 'Me',
      tags: 'Frost,the best', // tags separation by commas
      content: 'The best content'
    }

    const { workId } = await frost.createWork(token, work)

  } catch(e) {
    console.log(e)
  }

}

createWork()

Get Work By ID

Returns a promise with Frost's response. Throws in case of errors.

async function getWork () {
  try {
    const workId = '123456'
    const work = await frost.getWork(token, workId)
  } catch(e) {
    console.log(e)
  }
}

getWork()

Get All Works

Returns a promise with Frost's response. Throws in case of errors.

const getAllWorks = async () => {
  try {
    const works = await frost.getWorks(token)
  } catch(e) {
    console.log(e)
  }
}

getAllWorks()