@spacepumpkin/modified-nyaapi
Version:
Non-official api for getting torrent links from Nyaa.si and Nyaa.pantsu.cat
57 lines (49 loc) • 1.41 kB
JavaScript
const request = require('request-promise')
const { createReadStream } = require('fs')
const URI = require('./url.json').url
/**
* Allows to upload file or magnet to nyaa.si
*
* @param {object} opts Object description all the information to upload
*
* @returns {promise}
*/
const upload = (opts) => {
return new Promise((resolve, reject) => {
if (!opts.credentials) {
reject(new Error('[Nyaapi]: No credentials given on upload demand.'))
return
}
if (!opts.torrent) {
reject(new Error('[Nyaapi]: No torrent file given on upload demand.'))
return
}
if (!opts.category) {
reject(new Error('[Nyaapi]: No category given on upload demand.'))
return
}
request.post({
url: URI + 'api/upload',
auth: opts.credentials,
formData: {
torrent: createReadStream(opts.torrent),
torrent_data: JSON.stringify({
name: opts.name,
category: opts.category,
information: opts.information,
description: opts.description,
anonymous: opts.anonymous,
hidden: opts.hidden,
complete: opts.complete,
remake: opts.remake,
trusted: opts.trusted
})
}
})
.then((data) => resolve(data))
.catch((err) => reject(err))
})
}
module.exports = {
upload
}