avocadojs

Node wrapper for Avocado API

npm install avocadojs
var AvocadoJS = require( 'avocadojs' )
var config = {
  devId: "devId",
  devKey: "crazyLongDevKey",
  email: "me@domain.com",
  password: "avocadopwd"
};
 
var avo = new AvocadoJS( config );
 
avo.login(function(errcurrentUserModel) {
   // currentUser has Id and other Avocado metadata 
   
   // send a message to your boo 
   avo.sendMessage('#heyBoo', function(errmessageModel) {
      // messageObj has Id and other Avocado metadata 
 
      // send your boo a photo 
      avo.upload('usLastWeek.jpg', 'the caption', function(errmediaObj) {
         // mediaObj has Id and other Avocado metadata 
      });
   });
});
   avo.login( function (errcurrentUserModel) {} );
   
   avo.logout( function ( err ) {} );
   
   avo.getRecentActivities( {
    before: Date.now(), //  Unix timestamp in milliseconds OR 
    after: Date.now() //  Unix timestamp in milliseconds 
    
    // NOTE you CANNOT specify both before AND after as this will return an 
    // error. Choose only one for now. If neither be before or after is supplied 
    // the last 100 activites will be returned 
    
   }, function (erractivityList) {} );
   
   avo.deleteActivity( 'activityId', function (err) {} );
  avo.getCouple( function (errcurrentCoupleModel) {} );
  
  avo.getCurrentUsers( function (errcurrentUsersModel) {} );
  
  avo.getUser( 'userId', function (erruserModel) {} );
  avo.createList( 'listName', function (errnewListModel) { } );
  
  avo.getLists( function (errlistOfListModels) );
  
  avo.renameList( 'newName', 'listId', function (errlistModel) { });
  
  avo.deleteList ( 'listId', function (err) { });
  
  avo.createListItem( 'listId', 'item text', function (errnewListModel) {} );
  
  avo.editListItem( 'listItemId', {
    text: 'newItemText',
    complete: 0, // 0 for incomplete, 1 for complete 
    index: 0, // new index for list item 
  },
  function (errfullList) {} );
  
  avo.deleteListItem( 'listItemId', function (errlistModel) {} );
 
  avo.sendMessage( 'hey boo', function (errmessageActivity) {} );
  avo.upload( '/path/to/media.jpeg', function (errnewMediaModel) {} );
  
  avo.getRecentMedia( {
    before: Date.now(), //  Unix timestamp in milliseconds 
    after: Date.now() //  Unix timestamp in milliseconds 
  }, function (errmediaModelArray) {} );
  
  avo.deleteMedia( 'mediaId', function (err) {} );
 
  // kisses is an array so, you may send more than one 
  // call it makeout if you like 
  var kisses = [
    {
      x: 0.6,
      y: 0.2,
      rotation: 0.5
    }
  ];
 
  avo.kiss( {kisses: kisses}, function (errnewKissModel) {});
 
  // by default, kisses will appear on your partner's current avatar 
  // but you may specify a different photo via the media parameter 
  var media = '/path/to/photo.jpg';
  avo.kiss( {kisses: kisses, media: media}, function (errnewKissModel));

For a detailed look at the various Model referenced please see the Avocado API docs https://avocado.io/guacamole/avocado-api

{
  "valid": {
    "devId": "devId",
    "devKey": "crazyLongDevKey",
    "email": "me@domain.com",
    "password": "avocadopwd",
    "testMedia": "someTestPhoto.jpg"
  },
  "invalid": {
    "devId": "devKey",
    "devKey": "crazyLongDevKey",
    "email": "wrongEmail@fakedomain.com",
    "password": "wrongAvoPwd"
  }
}
$ npm install -g mocha
$ make

You can reach me at johnny@johnnyray.me Check out the official Avocado API docs at https://avocado.io/developers