[MAJOR][FIRSTCOMMIT] Added basic routes, controllers, repos to kanban service (no postgres yet)
This commit is contained in:
45
lib/services/AuthService.js
Normal file
45
lib/services/AuthService.js
Normal file
@@ -0,0 +1,45 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Errors = void 0;
|
||||
const user_repo_1 = __importDefault(require("@src/repos/user.repo"));
|
||||
const PwdUtil_1 = __importDefault(require("@src/util/PwdUtil"));
|
||||
const misc_1 = require("@src/util/misc");
|
||||
const HttpStatusCodes_1 = __importDefault(require("@src/constants/HttpStatusCodes"));
|
||||
const classes_1 = require("@src/other/classes");
|
||||
// **** Variables **** //
|
||||
// Errors
|
||||
exports.Errors = {
|
||||
Unauth: 'Unauthorized',
|
||||
EmailNotFound(email) {
|
||||
return `User with email "${email}" not found`;
|
||||
},
|
||||
};
|
||||
// **** Functions **** //
|
||||
/**
|
||||
* Login a user.
|
||||
*/
|
||||
async function login(email, password) {
|
||||
var _a;
|
||||
// Fetch user
|
||||
const user = await user_repo_1.default.getOne(email);
|
||||
if (!user) {
|
||||
throw new classes_1.RouteError(HttpStatusCodes_1.default.UNAUTHORIZED, exports.Errors.EmailNotFound(email));
|
||||
}
|
||||
// Check password
|
||||
const hash = ((_a = user.pwdHash) !== null && _a !== void 0 ? _a : ''), pwdPassed = await PwdUtil_1.default.compare(password, hash);
|
||||
if (!pwdPassed) {
|
||||
// If password failed, wait 500ms this will increase security
|
||||
await (0, misc_1.tick)(500);
|
||||
throw new classes_1.RouteError(HttpStatusCodes_1.default.UNAUTHORIZED, exports.Errors.Unauth);
|
||||
}
|
||||
// Return
|
||||
return user;
|
||||
}
|
||||
// **** Export default **** //
|
||||
exports.default = {
|
||||
login,
|
||||
};
|
||||
//# sourceMappingURL=AuthService.js.map
|
||||
1
lib/services/AuthService.js.map
Normal file
1
lib/services/AuthService.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"AuthService.js","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAE5C,gEAAwC;AACxC,yCAAsC;AAEtC,qFAA6D;AAC7D,gDAAgD;AAIhD,yBAAyB;AAEzB,SAAS;AACI,QAAA,MAAM,GAAG;IACpB,MAAM,EAAE,cAAc;IACtB,aAAa,CAAC,KAAa;QACzB,OAAO,oBAAoB,KAAK,aAAa,CAAC;IAChD,CAAC;CACO,CAAC;AAGX,yBAAyB;AAEzB;;GAEG;AACH,KAAK,UAAU,KAAK,CAAC,KAAa,EAAE,QAAgB;;IAClD,aAAa;IACb,MAAM,IAAI,GAAG,MAAM,mBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,oBAAU,CAClB,yBAAe,CAAC,YAAY,EAC5B,cAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAC5B,CAAC;IACJ,CAAC;IACD,iBAAiB;IACjB,MAAM,IAAI,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC,EAC/B,SAAS,GAAG,MAAM,iBAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,6DAA6D;QAC7D,MAAM,IAAA,WAAI,EAAC,GAAG,CAAC,CAAC;QAChB,MAAM,IAAI,oBAAU,CAClB,yBAAe,CAAC,YAAY,EAC5B,cAAM,CAAC,MAAM,CACd,CAAC;IACJ,CAAC;IACD,SAAS;IACT,OAAO,IAAI,CAAC;AACd,CAAC;AAGD,8BAA8B;AAE9B,kBAAe;IACb,KAAK;CACG,CAAC"}
|
||||
54
lib/services/UserService.js
Normal file
54
lib/services/UserService.js
Normal file
@@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.USER_NOT_FOUND_ERR = void 0;
|
||||
const user_repo_1 = __importDefault(require("@src/repos/user.repo"));
|
||||
const classes_1 = require("@src/other/classes");
|
||||
const HttpStatusCodes_1 = __importDefault(require("@src/constants/HttpStatusCodes"));
|
||||
// **** Variables **** //
|
||||
exports.USER_NOT_FOUND_ERR = 'User not found';
|
||||
// **** Functions **** //
|
||||
/**
|
||||
* Get all users.
|
||||
*/
|
||||
function getAll() {
|
||||
return user_repo_1.default.getAll();
|
||||
}
|
||||
/**
|
||||
* Add one user.
|
||||
*/
|
||||
function addOne(user) {
|
||||
return user_repo_1.default.add(user);
|
||||
}
|
||||
/**
|
||||
* Update one user.
|
||||
*/
|
||||
async function updateOne(user) {
|
||||
const persists = await user_repo_1.default.persists(user.id);
|
||||
if (!persists) {
|
||||
throw new classes_1.RouteError(HttpStatusCodes_1.default.NOT_FOUND, exports.USER_NOT_FOUND_ERR);
|
||||
}
|
||||
// Return user
|
||||
return user_repo_1.default.update(user);
|
||||
}
|
||||
/**
|
||||
* Delete a user by their id.
|
||||
*/
|
||||
async function _delete(id) {
|
||||
const persists = await user_repo_1.default.persists(id);
|
||||
if (!persists) {
|
||||
throw new classes_1.RouteError(HttpStatusCodes_1.default.NOT_FOUND, exports.USER_NOT_FOUND_ERR);
|
||||
}
|
||||
// Delete user
|
||||
return user_repo_1.default.delete(id);
|
||||
}
|
||||
// **** Export default **** //
|
||||
exports.default = {
|
||||
getAll,
|
||||
addOne,
|
||||
updateOne,
|
||||
delete: _delete,
|
||||
};
|
||||
//# sourceMappingURL=UserService.js.map
|
||||
1
lib/services/UserService.js.map
Normal file
1
lib/services/UserService.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":";;;;;;AAAA,qEAA4C;AAE5C,gDAAgD;AAChD,qFAA6D;AAG7D,yBAAyB;AAEZ,QAAA,kBAAkB,GAAG,gBAAgB,CAAC;AAGnD,yBAAyB;AAEzB;;GAEG;AACH,SAAS,MAAM;IACb,OAAO,mBAAQ,CAAC,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,IAAW;IACzB,OAAO,mBAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,SAAS,CAAC,IAAW;IAClC,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,oBAAU,CAClB,yBAAe,CAAC,SAAS,EACzB,0BAAkB,CACnB,CAAC;IACJ,CAAC;IACD,cAAc;IACd,OAAO,mBAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,OAAO,CAAC,EAAU;IAC/B,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,oBAAU,CAClB,yBAAe,CAAC,SAAS,EACzB,0BAAkB,CACnB,CAAC;IACJ,CAAC;IACD,cAAc;IACd,OAAO,mBAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7B,CAAC;AAGD,8BAA8B;AAE9B,kBAAe;IACb,MAAM;IACN,MAAM;IACN,SAAS;IACT,MAAM,EAAE,OAAO;CACP,CAAC"}
|
||||
Reference in New Issue
Block a user