2017-06-17 22:51:30 +02:00
|
|
|
const axios = require('axios')
|
|
|
|
const db = require('../../models')
|
2017-05-24 20:07:43 +02:00
|
|
|
|
|
|
|
module.exports = {
|
2017-06-17 22:51:30 +02:00
|
|
|
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
|
|
|
|
},
|
2017-05-24 20:07:43 +02:00
|
|
|
}
|