diff --git a/controllers/publishController.js b/controllers/publishController.js index e376ed47..8733a147 100644 --- a/controllers/publishController.js +++ b/controllers/publishController.js @@ -3,6 +3,8 @@ const db = require('../models'); const lbryApi = require('../helpers/lbryApi.js'); const publishHelpers = require('../helpers/publishHelpers.js'); const { publish : { primaryClaimAddress, additionalClaimAddresses } } = require('../config/speechConfig.js'); +const Sequelize = require('sequelize'); +const Op = Sequelize.Op; module.exports = { publish (publishParams, fileName, fileType) { @@ -87,24 +89,22 @@ module.exports = { }); }, claimNameIsAvailable (name) { + const claimAddresses = additionalClaimAddresses || []; + claimAddresses.push(primaryClaimAddress); // find any records where the name is used return db.Claim .findAll({ attributes: ['address'], - where : { name }, + where : { + name, + address: { + [Op.or]: claimAddresses, + }, + }, }) .then(result => { if (result.length >= 1) { - const claimAddresses = additionalClaimAddresses || []; - claimAddresses.push(primaryClaimAddress); - // filter out any that were not published from this address - const filteredResult = result.filter(({ address }) => { - return (claimAddresses.includes(address)); - }); - if (filteredResult.length >= 1) { - throw new Error('That claim is already in use'); - }; - return name; + throw new Error('That claim is already in use'); }; return name; }) diff --git a/models/index.js b/models/index.js index 1e6b6352..370f43ee 100644 --- a/models/index.js +++ b/models/index.js @@ -1,7 +1,4 @@ -// const fs = require('fs'); -// const path = require('path'); const Sequelize = require('sequelize'); -// const basename = path.basename(module.filename); const logger = require('winston'); const config = require('../config/speechConfig.js'); const { database, username, password } = config.sql; diff --git a/react/containers/ChannelCreateForm/view.jsx b/react/containers/ChannelCreateForm/view.jsx index 4db37a24..44336daa 100644 --- a/react/containers/ChannelCreateForm/view.jsx +++ b/react/containers/ChannelCreateForm/view.jsx @@ -91,7 +91,11 @@ class ChannelCreateForm extends React.Component { this.props.onChannelLogin(result.channelName, result.shortChannelId, result.channelClaimId); }) .catch((error) => { - if (error.message) this.setState({'error': error.message, status: null}); + if (error.message) { + this.setState({'error': error.message, status: null}); + } else { + this.setState({'error': error, status: null}); + }; }); } render () {