spee.ch/helpers/libraries/lbryApi.js
Fillerino 085d099040 Edited code to be ES6, added eslint and some basic linting configuration
Edited code to be ES6, added eslint and some basic linting configuration,(also includes husky for auto eslint before push)
2017-06-17 22:51:30 +02:00

118 lines
3.6 KiB
JavaScript

const axios = require('axios')
const db = require('../../models')
module.exports = {
publishClaim (publishParams, fileName, fileType) {
const deferred = new Promise((resolve, reject) => {
console.log('>> lbryApi >> publishClaim:', publishParams)
axios
.post('http://localhost:5279/lbryapi', {
method: 'publish',
params: publishParams,
})
.then(response => {
console.log(">> 'publish' success", response)
const result = response.data.result
db.File
.create({
name : publishParams.name,
claim_id : result.claim_id,
outpoint : `${result.txid}:${result.nout}`,
file_name: fileName,
file_path: publishParams.file_path,
file_type: fileType,
nsfw : publishParams.metadata.nsfw,
})
.catch(error => {
console.log('An error occurred when writing to the MySQL database:', error)
})
resolve(result)
})
.catch(error => {
console.log(">> 'publish' error")
reject(error)
})
})
return deferred
},
getClaim (uri) {
const deferred = new Promise((resolve, reject) => {
console.log('>> lbryApi >> getClaim:', uri)
axios
.post('http://localhost:5279/lbryapi', {
method: 'get',
params: { uri, timeout: 20 },
})
.then(({ data }) => {
console.log(">> 'get' success")
// check to make sure the daemon didn't just time out
if (data.result.error) {
reject(data.result.error)
}
/*
note: put in a check to make sure we do not resolve until the download is actually complete (response.data.completed === true)
*/
// save a record of the file to the Files table
const result = data.result
db.File
.create({
name : result.name,
claim_id : result.claim_id,
outpoint : result.outpoint,
file_name: result.file_name,
file_path: result.download_path,
file_type: result.mime_type,
nsfw : result.metadata.stream.metadata.nsfw,
})
.catch(error => {
console.log('An error occurred when writing to the MySQL database:', error)
})
resolve(result)
})
.catch(error => {
console.log(">> 'get' error")
reject(error)
})
})
return deferred
},
getClaimsList (claimName) {
const deferred = new Promise((resolve, reject) => {
console.log('>> lbryApi >> getClaimList:', claimName)
axios
.post('http://localhost:5279/lbryapi', {
method: 'claim_list',
params: { name: claimName },
})
.then(({ data }) => {
console.log(">> 'claim_list' success")
resolve(data.result)
})
.catch(error => {
console.log(">> 'claim_list' error")
reject(error)
})
})
return deferred
},
resolveUri (uri) {
const deferred = new Promise((resolve, reject) => {
console.log('>> lbryApi >> resolveUri:', uri)
axios
.post('http://localhost:5279/lbryapi', {
method: 'resolve',
params: { uri },
})
.then(({ data }) => {
console.log(">> 'resolve' success")
resolve(data.result)
})
.catch(error => {
console.log(">> 'resolve' error")
reject(error)
})
})
return deferred
},
}