Added user sign up and login.

This commit is contained in:
DebaucheryLibrarian
2021-03-13 04:26:24 +01:00
parent 99cfd3dc3f
commit 816529b0ca
42 changed files with 741 additions and 8 deletions

40
src/users.js Normal file
View File

@@ -0,0 +1,40 @@
'use strict';
const knex = require('./knex');
function curateUser(user) {
if (!user) {
return null;
}
const ability = [...(user.role_abilities || []), ...(user.abilities || [])];
const curatedUser = {
id: user.id,
username: user.username,
email: user.email,
emailVerified: user.email_verified,
identityVerified: user.identity_verified,
ability,
createdAt: user.created_at,
};
return curatedUser;
}
async function fetchUser(userId) {
const user = await knex('users')
.select('users.*', 'users_roles.abilities as role_abilities')
.where('id', userId)
.orWhere('username', userId)
.orWhere('email', userId)
.leftJoin('users_roles', 'users_roles.role', 'users.role')
.first();
return curateUser(user);
}
module.exports = {
curateUser,
fetchUser,
};