Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

Frost Client

CircleCI 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 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 git@github.com: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 to access the Po.et API, which you can obtain from explorer.poetnetwork.net.

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

const config = {
  host: 'https://explorer.poetnetwork.net', // required
  timeout: 10 // default 10 seconds
}

const token = YOUR_POET_API_TOKEN

const frost = new Frost(config)

Methods

Create Work

Returns a promise with the API'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 the API'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 the API's response. Throws in case of errors.

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

getAllWorks()

Post Archive

Upload a file to Frost.

Example using NodeJS:

const readStream = createReadStream('path/to/file.ext')
const [{ archiveUrl }] = await frostClient.postArchive(apiKey, readStream)

Or, if in a browser:

const file = document.querySelector('input[type=file]').files[0]
const [{ archiveUrl }] = await frostClient.postArchive(apiKey, file)

You can then use this archiveUrl as part of the claim that will be submitted to Frost with createWork:

const work = {
  name: 'My first work in Frost',
  datePublished: '2017-11-24T00:38:41.595Z', 
  dateCreated: '2017-11-24T00:38:41.595Z', 
  author: 'Me',
  tags: 'Frost,the best', 
  archiveUrl, // omit the content field
}

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

Contributing

Security

About

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

Topics

Resources

License

Packages

No packages published