Skip to content

Commit e2c3dc2

Browse files
committed
fix signup api
1 parent 554c3ec commit e2c3dc2

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

src/database/repository/UserRepo.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ export default class UserRepository {
5252
const now = new Date();
5353

5454
const role = await Role.findOne({ code: roleCode }).select('+email +password').lean<IRole>().exec();
55-
if (!role) throw new InternalError();
55+
if (!role) throw new InternalError('Role must be defined');
5656

5757
user.roles = [role._id];
5858
user.createdAt = user.updatedAt = now;

src/routes/v1/access/signup.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@ import schema from './schema';
1111
import asyncHandler from '../../../helpers/asyncHandler';
1212
import bcrypt from 'bcrypt';
1313
import _ from 'lodash';
14+
import { RoleCode } from '../../../database/model/Role';
1415

1516
const router = express.Router();
1617

1718
router.post('/basic', validator(schema.signup),
1819
asyncHandler(async (req: RoleRequest, res, next) => {
1920
const user = await UserRepo.findByEmail(req.body.email);
20-
if (!user) throw new BadRequestError('User already registered');
21+
if (user) throw new BadRequestError('User already registered');
2122

2223
const accessTokenKey = crypto.randomBytes(64).toString('hex');
2324
const refreshTokenKey = crypto.randomBytes(64).toString('hex');
@@ -26,14 +27,15 @@ router.post('/basic', validator(schema.signup),
2627
const { user: createdUser, keystore } = await UserRepo.create(<IUser>{
2728
name: req.body.name,
2829
email: req.body.email,
30+
profilePicUrl: req.body.profilePicUrl,
2931
password: passwordHash,
30-
}, accessTokenKey, refreshTokenKey, req.currentRoleCode);
32+
}, accessTokenKey, refreshTokenKey, RoleCode.LEARNER);
3133

3234
const tokens = await createTokens(createdUser, keystore.primaryKey, keystore.secondaryKey);
3335
new SuccessResponse('Signup Successful', {
34-
user: _.pick(user, ['name', 'email', 'roles']),
36+
user: _.pick(createdUser, ['name', 'email', 'roles', 'profilePicUrl']),
3537
tokens: tokens,
36-
});
38+
}).send(res);
3739
}));
3840

3941
module.exports = router;

0 commit comments

Comments
 (0)