1- const db = require ( '../db' ) ;
1+ const userRepository = require ( '../repository/user' )
22const jwt = require ( '../security/jwt' )
33const adminUser = 'admin' ;
44const adminPass = process . env . ADMIN_PW || 'admin' ;
@@ -10,15 +10,7 @@ function _computeHash(string, salt) {
1010}
1111
1212async function _goodLoginCredentials ( username , password ) {
13- const results = await new Promise ( ( resolve , reject ) => {
14- db . query ( 'SELECT count(*) as count FROM user WHERE username = ? and password = ?' , [ username , _computeHash ( password , username ) ] , ( error , results ) => {
15- if ( error ) {
16- console . error ( 'Error al consultar la bdd:' , error ) ;
17- reject ( 'Error al consultar la bdd' ) ;
18- }
19- resolve ( results ) ;
20- } ) ;
21- } ) ;
13+ const results = await userRepository . countUsernamesAndPassword ( username , _computeHash ( password , username ) ) ;
2214 return results [ 0 ] . count > 0 ;
2315}
2416
@@ -34,45 +26,19 @@ module.exports = {
3426 //Existeix usuari
3527 existeixUsuari : async function ( username ) {
3628 if ( username == adminUser ) return true ; //default admin user
37- const results = await new Promise ( ( resolve , reject ) => {
38- db . query ( 'SELECT count(*) as count FROM user WHERE username = ?' , [ username ] , ( error , results ) => {
39- if ( error ) {
40- console . error ( 'Error al consultar la bdd:' , error ) ;
41- reject ( 'Error al consultar la bdd' ) ;
42- }
43- resolve ( results ) ;
44- } ) ;
45- } ) ;
29+ const results = await userRepository . countUsernames ( username ) ;
4630 return results [ 0 ] . count > 0 ;
4731 } ,
4832
4933 //Registrar usuari
5034 registrarUsuari : async function ( username , password , email ) {
51- const results = await new Promise ( ( resolve , reject ) => {
52- db . query ( 'INSERT INTO user (username, email, password) VALUES (?, ?, ?);' , [ username , email , _computeHash ( password , username ) ] , ( error , results ) => {
53- if ( error ) {
54- cconsole . error ( "Error al signup: " , error ) ;
55- reject ( 'Error al signup' ) ;
56- }
57- resolve ( results ) ;
58- } ) ;
59- } ) ;
35+ const results = await userRepository . addUser ( username , email , _computeHash ( password , username ) ) ;
6036 return results . affectedRows == 1 ;
6137 } ,
6238
6339 //Obtenció llistat usuaris
6440 getUsers : async function ( ) {
65- const results = await new Promise ( ( resolve , reject ) => {
66- db . query ( `SELECT username, email, DATE_FORMAT(create_time, \'%d/%m/%Y %H:%i:%s\') create_time, role_id role
67- FROM user
68- ORDER BY create_time DESC;` , ( error , results ) => {
69- if ( error ) {
70- console . error ( "Error al consultar la db: " , error ) ;
71- reject ( 'Error al consultar' ) ;
72- }
73- resolve ( results ) ;
74- } ) ;
75- } ) ;
41+ const results = await userRepository . getAllUsers ( ) ;
7642
7743 const users = results . map ( result => ( {
7844 username : result . username ,
@@ -85,28 +51,12 @@ module.exports = {
8551
8652 //Update rol
8753 updateUserRole : async function ( username , roleid ) {
88- return await new Promise ( ( resolve , reject ) => {
89- db . query ( `UPDATE user SET role_id = ? WHERE username = ?;` , [ roleid , username ] , ( error , results ) => {
90- if ( error ) {
91- console . error ( "Error al actualitzar el rol: " , error ) ;
92- resolve ( false ) ;
93- }
94- resolve ( results . affectedRows > 0 ) ;
95- } ) ;
96- } ) ;
54+ return await userRepository . updateUserRole ( username , roleid ) ;
9755 } ,
9856
9957 //Obté el rol d'un usuari
10058 getUserRole : async function ( username ) {
10159 if ( username == 'admin' ) return null ;
102- return await new Promise ( ( resolve , reject ) => {
103- db . query ( 'SELECT role_id id FROM user WHERE username = ?' , [ username ] , ( error , results ) => {
104- if ( error ) {
105- console . error ( 'Error al consultar la bdd:' , error ) ;
106- reject ( 'Error al consultar la bdd' ) ;
107- }
108- resolve ( results [ 0 ] . id ) ;
109- } ) ;
110- } ) ;
60+ return await userRepository . getRoleFromUsername ( username ) ;
11161 } ,
11262}
0 commit comments