[MAJOR][FIRSTCOMMIT] Added basic routes, controllers, repos to kanban service (no postgres yet)
This commit is contained in:
48
lib/models/board.model.js
Normal file
48
lib/models/board.model.js
Normal file
@@ -0,0 +1,48 @@
|
||||
"use strict";
|
||||
// **** Variables **** //
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const INVALID_CONSTRUCTOR_PARAM = 'nameOrObj arg must be a string or an object with the appropriate board keys.';
|
||||
// **** Functions **** //
|
||||
/**
|
||||
* Create new Board.
|
||||
*/
|
||||
function new_(userId, name, description, createdAt, updatedAt, id) {
|
||||
const now = new Date().toISOString();
|
||||
return {
|
||||
id: (id !== null && id !== void 0 ? id : -1),
|
||||
userId: (userId !== null && userId !== void 0 ? userId : -1),
|
||||
name: (name !== null && name !== void 0 ? name : ''),
|
||||
description,
|
||||
createdAt: (createdAt !== null && createdAt !== void 0 ? createdAt : now),
|
||||
updatedAt: (updatedAt !== null && updatedAt !== void 0 ? updatedAt : now),
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Get board instance from object.
|
||||
*/
|
||||
function from(param) {
|
||||
if (!isBoard(param)) {
|
||||
throw new Error(INVALID_CONSTRUCTOR_PARAM);
|
||||
}
|
||||
const p = param;
|
||||
return new_(p.userId, p.name, p.description, p.createdAt, p.updatedAt, p.id);
|
||||
}
|
||||
/**
|
||||
* See if the param meets criteria to be a board.
|
||||
*/
|
||||
function isBoard(arg) {
|
||||
return (!!arg &&
|
||||
typeof arg === 'object' &&
|
||||
'id' in arg &&
|
||||
'userId' in arg &&
|
||||
'name' in arg &&
|
||||
'createdAt' in arg &&
|
||||
'updatedAt' in arg);
|
||||
}
|
||||
// **** Export default **** //
|
||||
exports.default = {
|
||||
new: new_,
|
||||
from,
|
||||
isBoard,
|
||||
};
|
||||
//# sourceMappingURL=board.model.js.map
|
||||
1
lib/models/board.model.js.map
Normal file
1
lib/models/board.model.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"board.model.js","sourceRoot":"","sources":["../../src/models/board.model.ts"],"names":[],"mappings":";AAAA,yBAAyB;;AAEzB,MAAM,yBAAyB,GAAG,8EAA8E,CAAC;AAajH,yBAAyB;AAEzB;;GAEG;AACH,SAAS,IAAI,CACZ,MAAe,EACf,IAAa,EACb,WAAoB,EACpB,SAAkB,EAClB,SAAkB,EAClB,EAAW;IAEX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACN,EAAE,EAAE,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,CAAC,CAAC;QACtB,IAAI,EAAE,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QAClB,WAAW;QACX,SAAS,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,CAAC;QAC7B,SAAS,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,CAAC;KAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,KAAa;IAC1B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,GAAG,KAAe,CAAC;IAC1B,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,SAAS,OAAO,CAAC,GAAY;IAC5B,OAAO,CACN,CAAC,CAAC,GAAG;QACL,OAAO,GAAG,KAAK,QAAQ;QACvB,IAAI,IAAI,GAAG;QACX,QAAQ,IAAI,GAAG;QACf,MAAM,IAAI,GAAG;QACb,WAAW,IAAI,GAAG;QAClB,WAAW,IAAI,GAAG,CAClB,CAAC;AACH,CAAC;AAED,8BAA8B;AAE9B,kBAAe;IACd,GAAG,EAAE,IAAI;IACT,IAAI;IACJ,OAAO;CACE,CAAC"}
|
||||
50
lib/models/task.model.js
Normal file
50
lib/models/task.model.js
Normal file
@@ -0,0 +1,50 @@
|
||||
"use strict";
|
||||
// **** Variables **** //
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
const INVALID_CONSTRUCTOR_PARAM = 'titleOrObj arg must be a string or an object with the appropriate task keys.';
|
||||
// **** Functions **** //
|
||||
/**
|
||||
* Create new Task.
|
||||
*/
|
||||
function new_(boardId, title, status, description, createdAt, updatedAt, id) {
|
||||
const now = new Date().toISOString();
|
||||
return {
|
||||
id: (id !== null && id !== void 0 ? id : -1),
|
||||
boardId: (boardId !== null && boardId !== void 0 ? boardId : -1),
|
||||
title: (title !== null && title !== void 0 ? title : ''),
|
||||
status: (status !== null && status !== void 0 ? status : 'todo'),
|
||||
description,
|
||||
createdAt: (createdAt !== null && createdAt !== void 0 ? createdAt : now),
|
||||
updatedAt: (updatedAt !== null && updatedAt !== void 0 ? updatedAt : now),
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Get task instance from object.
|
||||
*/
|
||||
function from(param) {
|
||||
if (!isTask(param)) {
|
||||
throw new Error(INVALID_CONSTRUCTOR_PARAM);
|
||||
}
|
||||
const p = param;
|
||||
return new_(p.boardId, p.title, p.status, p.description, p.createdAt, p.updatedAt, p.id);
|
||||
}
|
||||
/**
|
||||
* See if the param meets criteria to be a task.
|
||||
*/
|
||||
function isTask(arg) {
|
||||
return (!!arg &&
|
||||
typeof arg === 'object' &&
|
||||
'id' in arg &&
|
||||
'boardId' in arg &&
|
||||
'title' in arg &&
|
||||
'status' in arg &&
|
||||
'createdAt' in arg &&
|
||||
'updatedAt' in arg);
|
||||
}
|
||||
// **** Export default **** //
|
||||
exports.default = {
|
||||
new: new_,
|
||||
from,
|
||||
isTask,
|
||||
};
|
||||
//# sourceMappingURL=task.model.js.map
|
||||
1
lib/models/task.model.js.map
Normal file
1
lib/models/task.model.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"task.model.js","sourceRoot":"","sources":["../../src/models/task.model.ts"],"names":[],"mappings":";AAAA,yBAAyB;;AAEzB,MAAM,yBAAyB,GAAG,8EAA8E,CAAC;AAcjH,yBAAyB;AAEzB;;GAEG;AACH,SAAS,IAAI,CACZ,OAAgB,EAChB,KAAc,EACd,MAAwC,EACxC,WAAoB,EACpB,SAAkB,EAClB,SAAkB,EAClB,EAAW;IAEX,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,OAAO;QACN,EAAE,EAAE,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,CAAC,CAAC,CAAC;QACd,OAAO,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,CAAC,CAAC,CAAC;QACxB,KAAK,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;QACpB,MAAM,EAAE,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,MAAM,CAAC;QAC1B,WAAW;QACX,SAAS,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,CAAC;QAC7B,SAAS,EAAE,CAAC,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,GAAG,CAAC;KAC7B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,KAAa;IAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC5C,CAAC;IACD,MAAM,CAAC,GAAG,KAAc,CAAC;IACzB,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1F,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,GAAY;IAC3B,OAAO,CACN,CAAC,CAAC,GAAG;QACL,OAAO,GAAG,KAAK,QAAQ;QACvB,IAAI,IAAI,GAAG;QACX,SAAS,IAAI,GAAG;QAChB,OAAO,IAAI,GAAG;QACd,QAAQ,IAAI,GAAG;QACf,WAAW,IAAI,GAAG;QAClB,WAAW,IAAI,GAAG,CAClB,CAAC;AACH,CAAC;AAED,8BAA8B;AAE9B,kBAAe;IACd,GAAG,EAAE,IAAI;IACT,IAAI;IACJ,MAAM;CACG,CAAC"}
|
||||
54
lib/models/user.model.js
Normal file
54
lib/models/user.model.js
Normal file
@@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
// **** Variables **** //
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.UserRoles = void 0;
|
||||
const INVALID_CONSTRUCTOR_PARAM = 'nameOrObj arg must a string or an ' +
|
||||
'object with the appropriate user keys.';
|
||||
var UserRoles;
|
||||
(function (UserRoles) {
|
||||
UserRoles[UserRoles["Standard"] = 0] = "Standard";
|
||||
UserRoles[UserRoles["Admin"] = 1] = "Admin";
|
||||
})(UserRoles || (exports.UserRoles = UserRoles = {}));
|
||||
// **** Functions **** //
|
||||
/**
|
||||
* Create new User.
|
||||
*/
|
||||
function new_(name, email, role, pwdHash, id) {
|
||||
return {
|
||||
id: (id !== null && id !== void 0 ? id : -1),
|
||||
name: (name !== null && name !== void 0 ? name : ''),
|
||||
email: (email !== null && email !== void 0 ? email : ''),
|
||||
role: (role !== null && role !== void 0 ? role : UserRoles.Standard),
|
||||
pwdHash: (pwdHash !== null && pwdHash !== void 0 ? pwdHash : ''),
|
||||
};
|
||||
}
|
||||
/**
|
||||
* Get user instance from object.
|
||||
*/
|
||||
function from(param) {
|
||||
// Check is user
|
||||
if (!isUser(param)) {
|
||||
throw new Error(INVALID_CONSTRUCTOR_PARAM);
|
||||
}
|
||||
// Get user instance
|
||||
const p = param;
|
||||
return new_(p.name, p.email, p.role, p.pwdHash, p.id);
|
||||
}
|
||||
/**
|
||||
* See if the param meets criteria to be a user.
|
||||
*/
|
||||
function isUser(arg) {
|
||||
return (!!arg &&
|
||||
typeof arg === 'object' &&
|
||||
'id' in arg &&
|
||||
'email' in arg &&
|
||||
'name' in arg &&
|
||||
'role' in arg);
|
||||
}
|
||||
// **** Export default **** //
|
||||
exports.default = {
|
||||
new: new_,
|
||||
from,
|
||||
isUser,
|
||||
};
|
||||
//# sourceMappingURL=user.model.js.map
|
||||
1
lib/models/user.model.js.map
Normal file
1
lib/models/user.model.js.map
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../src/models/user.model.ts"],"names":[],"mappings":";AAAA,yBAAyB;;;AAEzB,MAAM,yBAAyB,GAAG,oCAAoC;IACpE,wCAAwC,CAAC;AAE3C,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,iDAAQ,CAAA;IACR,2CAAK,CAAA;AACP,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB;AAqBD,yBAAyB;AAEzB;;GAEG;AACH,SAAS,IAAI,CACX,IAAa,EACb,KAAc,EACd,IAAgB,EAChB,OAAgB,EAChB,EAAW;IAEX,OAAO;QACL,EAAE,EAAE,CAAC,EAAE,aAAF,EAAE,cAAF,EAAE,GAAI,CAAC,CAAC,CAAC;QACd,IAAI,EAAE,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;QAClB,KAAK,EAAE,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,CAAC;QACpB,IAAI,EAAE,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,SAAS,CAAC,QAAQ,CAAC;QAClC,OAAO,EAAE,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC;KACzB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,IAAI,CAAC,KAAa;IACzB,gBAAgB;IAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,oBAAoB;IACpB,MAAM,CAAC,GAAG,KAAc,CAAC;IACzB,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,GAAY;IAC1B,OAAO,CACL,CAAC,CAAC,GAAG;QACL,OAAO,GAAG,KAAK,QAAQ;QACvB,IAAI,IAAI,GAAG;QACX,OAAO,IAAI,GAAG;QACd,MAAM,IAAI,GAAG;QACb,MAAM,IAAI,GAAG,CACd,CAAC;AACJ,CAAC;AAGD,8BAA8B;AAE9B,kBAAe;IACb,GAAG,EAAE,IAAI;IACT,IAAI;IACJ,MAAM;CACE,CAAC"}
|
||||
Reference in New Issue
Block a user