085d099040
Edited code to be ES6, added eslint and some basic linting configuration,(also includes husky for auto eslint before push)
58 lines
1.9 KiB
JavaScript
58 lines
1.9 KiB
JavaScript
const fs = require('fs')
|
|
const lbryApi = require('../helpers/libraries/lbryApi.js')
|
|
const config = require('config')
|
|
const errorHandlers = require('../helpers/libraries/errorHandlers.js')
|
|
|
|
const walledAddress = config.get('WalletConfig.lbryAddress')
|
|
|
|
function createPublishParams (claim, filePath, license, nsfw) {
|
|
console.log('nsfw:', nsfw, typeof nsfw)
|
|
const publishParams = {
|
|
name : claim,
|
|
file_path: filePath,
|
|
bid : 0.01,
|
|
metadata : {
|
|
description: `${claim} published via spee.ch`,
|
|
title : claim,
|
|
author : 'spee.ch',
|
|
language : 'en',
|
|
license,
|
|
nsfw : nsfw.toLowerCase() === 'on',
|
|
},
|
|
claim_address : walledAddress,
|
|
change_address: walledAddress,
|
|
}
|
|
return publishParams
|
|
}
|
|
|
|
function deleteTemporaryFile (filePath) {
|
|
fs.unlink(filePath, err => {
|
|
if (err) throw err
|
|
console.log(`successfully deleted ${filePath}`)
|
|
})
|
|
}
|
|
|
|
module.exports = {
|
|
publish (claim, fileName, filePath, fileType, license, nsfw, socket, visitor) {
|
|
// update the client
|
|
socket.emit('publish-status', 'Your image is being published (this might take a second)...')
|
|
// send to analytics
|
|
visitor.event('Publish Route', 'Publish Request', filePath).send()
|
|
// create the publish object
|
|
const publishParams = createPublishParams(claim, filePath, license, nsfw)
|
|
// get a promise to publish
|
|
lbryApi
|
|
.publishClaim(publishParams, fileName, fileType)
|
|
.then(result => {
|
|
visitor.event('Publish Route', 'Publish Success', filePath).send()
|
|
console.log('publish promise success. Tx info:', result)
|
|
socket.emit('publish-complete', { name: claim, result })
|
|
})
|
|
.catch(error => {
|
|
visitor.event('Publish Route', 'Publish Failure', filePath).send()
|
|
console.log('error:', error)
|
|
socket.emit('publish-failure', errorHandlers.handlePublishError(error))
|
|
deleteTemporaryFile(filePath)
|
|
})
|
|
},
|
|
}
|