paradigm-core
Version:
Paradigm Core Modules
112 lines (69 loc) • 1.63 kB
JavaScript
const AppleNews = require('apple-news')
module.exports = class AppleNewsAPI {
constructor(opts) {
this.channelId = opts.channelId
this.apiId = opts.apiId
this.apiSecret = opts.apiSecret
this.client = AppleNews({
apiId: this.apiId,
apiSecret: this.apiSecret
})
}
async createArticle(article, bundleFiles) {
return new Promise((resolve, reject) => {
const opts = {
channelId: this.channelId,
article,
bundleFiles
}
this.client.createArticle(opts, function(err, res) {
if (err) {
return reject(err)
}
resolve(res)
})
})
}
async readArticle(articleId) {
return new Promise((resolve, reject) => {
const opts = {
articleId,
}
this.client.readArticle(opts, function(err, res) {
if (err) {
return reject(err)
}
resolve(res)
})
})
}
async updateArticle(articleId, revision, article, bundleFiles) {
return new Promise((resolve, reject) => {
const opts = {
articleId,
revision,
article,
bundleFiles
}
this.client.updateArticle(opts, function(err, res) {
if (err) {
return reject(err)
}
resolve(res)
})
})
}
async deleteArticle(articleId) {
return new Promise((resolve, reject) => {
const opts = {
articleId,
}
this.client.deleteArticle(opts, function(err) {
if (err) {
return reject(err)
}
resolve()
})
})
}
}