imgur-node
Advanced tools
Comparing version 0.1.2 to 0.2.0
@@ -12,7 +12,47 @@ const album = require('../endpoints/album'); | ||
create(options, callback) { | ||
album.create(this.client.append(options), callback); | ||
} | ||
update(options, callback) { | ||
album.update(this.client.append(options), callback); | ||
} | ||
delete(albumID, callback) { | ||
album.delete(this.client.append({ albumID: albumID }), callback); | ||
} | ||
favorite(albumID, callback) { | ||
album.favorite(this.client.append({ albumID: albumID }), callback); | ||
} | ||
getImages(albumID, callback) { | ||
album.getImages(this.client.clientID, albumID, callback); | ||
} | ||
setImages(albumID, imageIDs, callback) { | ||
let options = { | ||
albumID: albumID, | ||
ids: imageIDS | ||
}; | ||
album.setImages(this.client.append(options), callback); | ||
} | ||
addImages(albumID, imageIDs, callback) { | ||
let options = { | ||
albumID: albumID, | ||
ids: imageIDS | ||
}; | ||
album.addImages(this.client.append(options), callback); | ||
} | ||
removeImages(albumID, imageIDs, callback) { | ||
let options = { | ||
albumID: albumID, | ||
ids: imageIDS | ||
}; | ||
album.removeImages(this.client.append(options), callback); | ||
} | ||
} | ||
module.exports = Album; |
@@ -19,4 +19,12 @@ const endpoints = require('../endpoints'); | ||
} | ||
// @summary | ||
// Appends clientID and accessToken to the given object. | ||
append(obj) { | ||
obj.clientID = this.clientID; | ||
obj.accessToken = this.accessToken; | ||
return obj; | ||
} | ||
} | ||
module.exports = Client; |
@@ -11,4 +11,84 @@ const request = require('../request'); | ||
request(args, callback); | ||
} | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.ids | ||
// options.title | ||
// options.description | ||
// options.privacy | ||
// options.layout | ||
// options.cover | ||
create: function(options, callback) { | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
method: 'POST', | ||
path: '/album', | ||
data: { | ||
ids: options.ids, | ||
title: options.title, | ||
description: options.description, | ||
privacy: options.privacy, | ||
layout: options.layout | ||
} | ||
}; | ||
if (options.cover) args.data.cover = options.cover; | ||
request(args, callback); | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.albumID || options.id | ||
// options.ids | ||
// options.title | ||
// options.description | ||
// options.privacy | ||
// options.layout | ||
// options.cover | ||
update: function(options, callback) { | ||
let albumID = options.albumID || options.id; | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
method: 'PUT', | ||
path: `/album/${albumID}`, | ||
data: { | ||
ids: options.ids, | ||
title: options.title, | ||
description: options.description, | ||
privacy: options.privacy, | ||
layout: options.layout | ||
} | ||
}; | ||
if (options.cover) args.data.cover = options.cover; | ||
request(args, callback); | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.albumID || options.id | ||
delete: function(options, callback) { | ||
let albumID = options.albumID || options.id; | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
method: 'DELETE', | ||
path: `/album/${albumID}` | ||
}; | ||
request(args, callback); | ||
}, | ||
favorite: function(accessToken, albumID, callback) { | ||
let args = { | ||
accessToken: accessToken, | ||
method: 'POST', | ||
path: `/album/${albumID}/favorite` | ||
}; | ||
request(args, callback); | ||
}, | ||
getImages: function(clientID, albumID, callback) { | ||
@@ -21,3 +101,60 @@ let args = { | ||
request(args, callback); | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.albumID || options.id | ||
// options.ids | ||
setImages: function(options, callback) { | ||
let albumID = options.albumID || options.id; | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
data: { | ||
ids: options.ids | ||
}, | ||
method: 'POST', | ||
path: `/album/${albumID}` | ||
}; | ||
request(args, callback); | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.albumID || options.id | ||
// options.ids | ||
addImages: function(options, callback) { | ||
let albumID = options.albumID || options.id; | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
data: { | ||
ids: options.ids | ||
}, | ||
method: 'PUT', | ||
path: `/album/${albumID}/add` | ||
}; | ||
request(args, callback); | ||
}, | ||
// options (Object) | ||
// options.clientID | ||
// options.accessToken | ||
// options.albumID || options.id | ||
// options.ids | ||
removeImages: function(options, callback) { | ||
let albumID = options.albumID || options.id; | ||
let args = { | ||
clientID: options.clientID, | ||
accessToken: options.accessToken, | ||
data: { | ||
ids: options.ids | ||
}, | ||
method: 'DELETE', | ||
path: `/album/${albumID}/remove_images` | ||
}; | ||
request(args, callback); | ||
} | ||
}; |
@@ -43,2 +43,8 @@ const https = require('https'); | ||
if (options.data) { | ||
options.data = querystring.stringify(options.data); | ||
args.headers['Content-Type'] = 'application/x-www-form-urlencoded'; | ||
args.headers['Content-Length'] = options.data.length; | ||
} | ||
let req = https.request(args, (res) => { | ||
@@ -53,2 +59,3 @@ let data = ''; | ||
}); | ||
if (options.data) req.write(options.data); | ||
req.end(); | ||
@@ -55,0 +62,0 @@ req.on('error', (err) => { |
{ | ||
"name": "imgur-node", | ||
"version": "0.1.2", | ||
"version": "0.2.0", | ||
"description": "An easy-to-use wrapper for version 3 of the imgur API.", | ||
@@ -5,0 +5,0 @@ "author": "Daniel Stevenson <daniel.w.a.stevenson@gmail.com>", |
47100
322