diff --git a/client/src/api/cards.js b/client/src/api/cards.js index 1c9fdb12..41e57ac0 100755 --- a/client/src/api/cards.js +++ b/client/src/api/cards.js @@ -4,11 +4,17 @@ import socket from './socket'; export const transformCard = (card) => ({ ...card, - dueDate: card.dueDate && new Date(card.dueDate), - timer: card.timer && { - ...card.timer, - startedAt: card.timer.startedAt && new Date(card.timer.startedAt), - }, + ...(card.dueDate && { + dueDate: new Date(card.dueDate), + }), + ...(card.timer && { + timer: { + ...card.timer, + ...(card.timer.startedAt && { + startedAt: new Date(card.timer.startedAt), + }), + }, + }), }); export const transformCardData = (data) => ({ @@ -17,10 +23,12 @@ export const transformCardData = (data) => ({ dueDate: data.dueDate.toISOString(), }), ...(data.timer && { - ...data.timer, - ...(data.timer.startedAt && { - startedAt: data.timer.startedAt.toISOString(), - }), + timer: { + ...data.timer, + ...(data.timer.startedAt && { + startedAt: data.timer.startedAt.toISOString(), + }), + }, }), }); diff --git a/server/api/helpers/create-user.js b/server/api/helpers/create-user.js index 6155efb1..4d70ac44 100644 --- a/server/api/helpers/create-user.js +++ b/server/api/helpers/create-user.js @@ -25,7 +25,9 @@ module.exports = { email: inputs.values.email.toLowerCase(), password: bcrypt.hashSync(inputs.values.password, 10) }) - .intercept(undefined, 'conflict') + .intercept({ + message: 'Unexpected error from database adapter: conflicting key value violates exclusion constraint "user_email_unique"' + }, 'conflict') .fetch(); const userIds = await sails.helpers.getAdminUserIds(); diff --git a/server/api/helpers/update-user.js b/server/api/helpers/update-user.js index 27e379af..ef0114d4 100644 --- a/server/api/helpers/update-user.js +++ b/server/api/helpers/update-user.js @@ -45,7 +45,9 @@ module.exports = { deletedAt: null }) .set(inputs.values) - .intercept(undefined, 'conflict'); + .intercept({ + message: 'Unexpected error from database adapter: conflicting key value violates exclusion constraint "user_email_unique"' + }, 'conflict'); if (user) { if (inputs.record.avatar && user.avatar !== inputs.record.avatar) {