Skip to content

Commit 29554d5

Browse files
committed
refactor validation
1 parent b4e60b7 commit 29554d5

1 file changed

Lines changed: 7 additions & 10 deletions

File tree

packages/models/src/user/index.js

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,14 @@ const validateField = function validateField (field, expr, msg) {
1414
try {
1515
invariant(expr, msg);
1616
} catch (error) {
17-
const err = new Error();
17+
const err = new Error(msg);
1818
err.name = 'ValidationError';
19-
err.errors = [];
20-
err.errors[field] = { message: msg };
19+
err.errors = {
20+
[field]: { message: msg }
21+
};
2122
throw err;
2223
}
23-
}
24+
};
2425

2526
const findUserByNameOrEmail = async function findUserByNameOrEmail (
2627
emailOrName
@@ -51,12 +52,8 @@ const findUserByEmailAndRole = async function findUserByEmailAndRole ({
5152

5253
const createUser = async function createUser (name, email, password, language) {
5354

54-
try {
55-
validateField('name', name.length > 0, 'Name is required');
56-
validateField('password', validatePassword(password), 'Password must be at least 8 characters');
57-
} catch (error) {
58-
throw error;
59-
}
55+
validateField('name', name.length > 0, 'Name is required');
56+
validateField('password', validatePassword(password), 'Password must be at least 8 characters');
6057

6158
try {
6259
// TODO: Wrap this in a transaction

0 commit comments

Comments
 (0)