Better error return in subscriptions

This commit is contained in:
vjrj 2018-03-02 10:08:52 +01:00
parent 9062012d18
commit 8deaafb96b
2 changed files with 16 additions and 14 deletions

View file

@ -17,7 +17,6 @@ Meteor.methods({
distance: Number distance: Number
}); });
const type = 'web'; const type = 'web';
try {
const newDoc = { const newDoc = {
owner: this.userId, owner: this.userId,
type, type,
@ -27,11 +26,12 @@ Meteor.methods({
// console.log(newDoc); // console.log(newDoc);
const already = Subscriptions.findOne(newDoc); const already = Subscriptions.findOne(newDoc);
if (already) { if (already) {
throw new Meteor.Error('500', 'on-already-subscribed'); throw new Meteor.Error('on-already-subscribed', 'The user is already subscribed to this area');
} }
try {
return Subscriptions.insert(newDoc); return Subscriptions.insert(newDoc);
} catch (exception) { } catch (exception) {
console.error(exception); // console.error(exception);
throw new Meteor.Error('500', exception); throw new Meteor.Error('500', exception);
} }
}, },

View file

@ -40,8 +40,10 @@ class SubscriptionEditor extends React.Component {
Meteor.call(methodToCall, doc, (error, subscriptionId) => { Meteor.call(methodToCall, doc, (error, subscriptionId) => {
if (error) { if (error) {
self.setState({ disableFstBtn: false }); self.setState({ disableFstBtn: false });
if (error.reason && error.reason.reason) { if (error.error && error.error === 'on-already-subscribed') {
Bert.alert(t(error.reason.reason), 'danger'); Bert.alert(t(error.error), 'danger');
} else if (error.reason) {
Bert.alert(error.reason, 'danger');
} }
} else { } else {
self.setState({ disableFstBtn: false }); self.setState({ disableFstBtn: false });