Skip to content

Latest commit

 

History

History
99 lines (78 loc) · 3.28 KB

README.md

File metadata and controls

99 lines (78 loc) · 3.28 KB

NodeJS Wrapper for Streak API

Circle CI npm version

NodeJS package that acts as a thin wrapper over the Streak API (https://www.streak.com/api).

To use the API, just do the standard

$ npm install --save streakapi

and then

var streakapi = require('streakapi');
var streak = new streakapi.Streak("api key here");
streak.Me.get().then(function(me) {
  console.log('email', me.email);
});

API

All methods return promises.

streak.Me.get();

//pipeline functions
streak.Pipelines.getAll();
streak.Pipelines.getOne(pipelineKey);
streak.Pipelines.getBoxes(pipelineKey);
streak.Pipelines.create(data);
streak.Pipelines.delete(pipelineKey);
streak.Pipelines.update(data); // data must have "key" property containing pipeline key
streak.Pipelines.getFeed(pipelineKey, detailLevel);

//pipeline stages
streak.Pipelines.Stages.getAll(pipelineKey);
streak.Pipelines.Stages.getOne(pipelineKey, key);
streak.Pipelines.Stages.create(pipelineKey, data);
streak.Pipelines.Stages.delete(pipelineKey, key);
streak.Pipelines.Stages.update(pipelineKey, data);

//pipeline fields
streak.Pipelines.Fields.getAll(pipelineKey);
streak.Pipelines.Fields.getOne(pipelineKey, key);
streak.Pipelines.Fields.create(pipelineKey, data);
streak.Pipelines.Fields.delete(pipelineKey, key);
streak.Pipelines.Fields.update(pipelineKey, data);

//boxes
streak.Boxes.getAll();
streak.Boxes.getForPipeline(pipelineKey);
streak.Boxes.getOne(boxKey);
streak.Boxes.create(pipelineKey, data);
streak.Boxes.delete(key);
streak.Boxes.update(data); // data must have "key" property containing box key
streak.Boxes.getFields(boxKey);
streak.Boxes.getReminders(boxKey);
streak.Boxes.getComments(boxKey);
streak.Boxes.postComment(boxKey, message);
streak.Boxes.getFiles(boxKey);
streak.Boxes.getThreads(boxKey);
streak.Boxes.getFeed(boxKey, detailLevel);

//box fields
streak.Boxes.Fields.getForBox(boxKey);
streak.Boxes.Fields.getOne(boxKey, key);
streak.Boxes.Fields.update(boxKey, data);  // data must have "key" property containing the field key and "value" to update to, i.e.: {"key":"1002", "value":"This is my new value for this field!"} 

//files
streak.Files.getForBox(boxKey);
streak.Files.getOne(fileKey);
streak.Files.getContents(fileKey);

//threads
streak.Threads.getForBox(boxKey);
streak.Threads.getOne(threadKey);

//tasks
streak.Tasks.getForBox(boxKey);
streak.Tasks.getOne(taskKey);
streak.Tasks.create(boxKey, data);
streak.Tasks.delete(taskKey);
streak.Tasks.update(taskKey, data);

//webhooks
streak.Webhooks.getForPipeline(pipelineKey);
streak.Webhooks.getOne(webhookKey);
streak.Webhooks.create(pipelineKey, data);
streak.Webhooks.update(webhookKey, data);
streak.Webhooks.delete(webhookKey);

//search
streak.search(query);

Types

Basic Flow Type declarations for this module are included! If you're using Flow, then no extra setup is necessary to take advantage of them.