diff --git a/UI/assets/.DS_Store b/UI/assets/.DS_Store new file mode 100644 index 0000000..abc97e1 Binary files /dev/null and b/UI/assets/.DS_Store differ diff --git a/UI/assets/js/.DS_Store b/UI/assets/js/.DS_Store new file mode 100644 index 0000000..36f4dd2 Binary files /dev/null and b/UI/assets/js/.DS_Store differ diff --git a/UI/assets/js/cookies_lib/api.mjs b/UI/assets/js/cookies_lib/api.mjs new file mode 100644 index 0000000..c0a4ed2 --- /dev/null +++ b/UI/assets/js/cookies_lib/api.mjs @@ -0,0 +1,91 @@ +import assign from './assign.mjs' +import defaultConverter from './converter.mjs' + +function init (converter, defaultAttributes) { + function set (key, value, attributes) { + if (typeof document === 'undefined') { + return + } + + attributes = assign({}, defaultAttributes, attributes) + + if (typeof attributes.expires === 'number') { + attributes.expires = new Date(Date.now() + attributes.expires * 864e5) + } + if (attributes.expires) { + attributes.expires = attributes.expires.toUTCString() + } + + key = defaultConverter.write(key).replace(/=/g, '%3D') + + value = converter.write(String(value), key) + + var stringifiedAttributes = '' + for (var attributeName in attributes) { + if (!attributes[attributeName]) { + continue + } + + stringifiedAttributes += '; ' + attributeName + + if (attributes[attributeName] === true) { + continue + } + + stringifiedAttributes += '=' + attributes[attributeName].split(';')[0] + } + + return (document.cookie = key + '=' + value + stringifiedAttributes) + } + + function get (key) { + if (typeof document === 'undefined' || (arguments.length && !key)) { + return + } + + // To prevent the for loop in the first place assign an empty array + // in case there are no cookies at all. + var cookies = document.cookie ? document.cookie.split('; ') : [] + var jar = {} + for (var i = 0; i < cookies.length; i++) { + var parts = cookies[i].split('=') + var value = parts.slice(1).join('=') + var foundKey = defaultConverter.read(parts[0]).replace(/%3D/g, '=') + jar[foundKey] = converter.read(value, foundKey) + + if (key === foundKey) { + break + } + } + + return key ? jar[key] : jar + } + + return Object.create( + { + set: set, + get: get, + remove: function (key, attributes) { + set( + key, + '', + assign({}, attributes, { + expires: -1 + }) + ) + }, + withAttributes: function (attributes) { + return init(this.converter, assign({}, this.attributes, attributes)) + }, + withConverter: function (converter) { + return init(assign({}, this.converter, converter), this.attributes) + } + }, + { + attributes: { value: Object.freeze(defaultAttributes) }, + converter: { value: Object.freeze(converter) } + } + ) +} + +export default init(defaultConverter, { path: '/' }) diff --git a/UI/assets/js/cookies_lib/assign.mjs b/UI/assets/js/cookies_lib/assign.mjs new file mode 100644 index 0000000..fed18c1 --- /dev/null +++ b/UI/assets/js/cookies_lib/assign.mjs @@ -0,0 +1,9 @@ +export default function (target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] + for (var key in source) { + target[key] = source[key] + } + } + return target +} diff --git a/UI/assets/js/cookies_lib/converter.mjs b/UI/assets/js/cookies_lib/converter.mjs new file mode 100644 index 0000000..823b735 --- /dev/null +++ b/UI/assets/js/cookies_lib/converter.mjs @@ -0,0 +1,8 @@ +export default { + read: function (value) { + return value.replace(/%3B/g, ';') + }, + write: function (value) { + return value.replace(/;/g, '%3B') + } +} diff --git a/UI/assets/js/webcomponents/webcomponents.js b/UI/assets/js/webcomponents/webcomponents.js index 8c5a11e..49d925d 100755 --- a/UI/assets/js/webcomponents/webcomponents.js +++ b/UI/assets/js/webcomponents/webcomponents.js @@ -1,159 +1,168 @@ +/* eslint-disable no-undef */ +const ApiUrl = 'http://localhost:7000/api/v1/'; +// const Cookie = require('../cookies_lib/api.mjs'); + /** - * @name courses-mini + * @name courses-mini * @description creates a card setup layout for listed courses with minimal information * @slot { name = 'one' } contains the courses' name */ -fetch("assets/templates/courses-mini.html") - .then(response => response.text()) - .then(data => - customElements.define("courses-mini", class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }); - const template = document.createElement('template'); - template.innerHTML = data; - this.shadowRoot.appendChild(template.content.cloneNode(true)) - } - }) - ) +fetch('assets/templates/courses-mini.html') + .then(response => response.text()) + .then(data => customElements.define('courses-mini', class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + const template = document.createElement('template'); + template.innerHTML = data; + this.shadowRoot.appendChild(template.content.cloneNode(true)); + } + })); /** * @name join-us * @description a parallax mini section with a button to sign up */ -fetch("assets/templates/join-us.html") - .then(response => response.text()) - .then(data => - customElements.define("join-us", class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }); - const template = document.createElement('template'); - template.innerHTML = data; - this.shadowRoot.appendChild(template.content.cloneNode(true)) - } - }) - ) +fetch('assets/templates/join-us.html') + .then(response => response.text()) + .then(data => customElements.define('join-us', class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + const template = document.createElement('template'); + template.innerHTML = data; + this.shadowRoot.appendChild(template.content.cloneNode(true)); + } + })); /** * @name my-header * @description a parallax mini section with a button to sign up */ -fetch("assets/templates/my-header.html") - .then(response => response.text()) - .then(data => - customElements.define("my-header", class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }); - const template = document.createElement('template'); - template.innerHTML = data; - this.shadowRoot.appendChild(template.content.cloneNode(true)); - - this.navControl = this.shadowRoot.querySelector('.nav-control > div'); - this.logInBtn = this.shadowRoot.querySelector('.signin'); - this.signUpBtn = this.shadowRoot.querySelector('.signup'); - - } - - connectedCallback() { - const body = document.body; - const signModal = document.querySelector('sign-modal'); - - this.navControl.addEventListener('click', () => { - this.classList.toggle('show-nav'); - }); - - this.logInBtn.addEventListener('click', (e) => { - e.preventDefault(); - body.setAttribute('class', 'show-modal'); - signModal.setAttribute('class', 'show-login'); - }); - - this.signUpBtn.addEventListener('click', (e) => { - e.preventDefault(); - // window.location.href = './registeration.html' - body.setAttribute('class', 'show-modal'); - signModal.setAttribute('class', 'show-signup'); - }); - } - }) - ) +fetch('assets/templates/my-header.html') + .then(response => response.text()) + .then(data => customElements.define('my-header', class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + const template = document.createElement('template'); + template.innerHTML = data; + this.shadowRoot.appendChild(template.content.cloneNode(true)); + + this.navControl = this.shadowRoot.querySelector('.nav-control > div'); + this.logInBtn = this.shadowRoot.querySelector('.signin'); + this.signUpBtn = this.shadowRoot.querySelector('.signup'); + } + + connectedCallback() { + const { body } = document; + const signModal = document.querySelector('sign-modal'); + + this.navControl.addEventListener('click', () => { + this.classList.toggle('show-nav'); + }); + + this.logInBtn.addEventListener('click', (e) => { + e.preventDefault(); + body.setAttribute('class', 'show-modal'); + signModal.setAttribute('class', 'show-login'); + }); + + this.signUpBtn.addEventListener('click', (e) => { + e.preventDefault(); + // window.location.href = './registeration.html' + body.setAttribute('class', 'show-modal'); + signModal.setAttribute('class', 'show-signup'); + }); + } + })); /** * @name my-footer * @description a parallax mini section with a button to sign up */ -fetch("assets/templates/my-footer.html") - .then(response => response.text()) - .then(data => - customElements.define("my-footer", class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }); - const template = document.createElement('template'); - template.innerHTML = data; - this.shadowRoot.appendChild(template.content.cloneNode(true)) - } - }) - ) +fetch('assets/templates/my-footer.html') + .then(response => response.text()) + .then(data => customElements.define('my-footer', class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + const template = document.createElement('template'); + template.innerHTML = data; + this.shadowRoot.appendChild(template.content.cloneNode(true)); + } + })); /** * @name sign-modal * @description a parallax mini section with a button to sign up */ -fetch("assets/templates/sign-modal.html") - .then(response => response.text()) - .then(data => - customElements.define("sign-modal", class extends HTMLElement { - constructor() { - super() - this.attachShadow({ mode: 'open' }); - const template = document.createElement('template'); - template.innerHTML = data; - this.shadowRoot.appendChild(template.content.cloneNode(true)); - - this.closeBtn = this.shadowRoot.querySelector('.close-btn'); - this.logInBtn = this.shadowRoot.querySelector('.show-login'); - this.signUpBtn = this.shadowRoot.querySelector('.show-signin'); - - // form submission buttons - this.signUpFormBtn = this.shadowRoot.querySelector('#signup-button'); - this.logInFormBtn = this.shadowRoot.querySelector('#login-button'); - - } - - connectedCallback() { - const body = document.body; - const signModal = document.querySelector('sign-modal'); - - this.closeBtn.addEventListener('click', (e) => { - e.preventDefault(); - body.setAttribute('class', ''); - }); - - this.logInBtn.addEventListener('click', (e) => { - e.preventDefault(); - signModal.setAttribute('class', 'show-login'); - }); - - this.signUpBtn.addEventListener('click', (e) => { - e.preventDefault(); - // window.location.href = './registeration.html' - signModal.setAttribute('class', 'show-signup'); - }); - - // controls what happens when the submit button on the sign up form is clicked - this.signUpFormBtn.addEventListener('click', (e) => { - e.preventDefault(); - window.location.href = 'profile.html'; - }); - // controls what happens when the submit button on the sign in form is clicked - this.logInFormBtn.addEventListener('click', (e) => { - e.preventDefault(); - console.log('a') - window.location.href = 'profile.html'; - }); - } +fetch('assets/templates/sign-modal.html') + .then(response => response.text()) + .then(data => customElements.define('sign-modal', class extends HTMLElement { + constructor() { + super(); + this.attachShadow({ mode: 'open' }); + const template = document.createElement('template'); + template.innerHTML = data; + this.shadowRoot.appendChild(template.content.cloneNode(true)); + + this.closeBtn = this.shadowRoot.querySelector('.close-btn'); + this.logInBtn = this.shadowRoot.querySelector('.show-login'); + this.signUpBtn = this.shadowRoot.querySelector('.show-signin'); + + // form submission buttons + this.signUpFormBtn = this.shadowRoot.querySelector('#signup-button'); + this.logInFormBtn = this.shadowRoot.querySelector('#login-button'); + } + + connectedCallback() { + const { body } = document; + const signModal = document.querySelector('sign-modal'); + + this.closeBtn.addEventListener('click', (e) => { + e.preventDefault(); + body.setAttribute('class', ''); + }); + + this.logInBtn.addEventListener('click', (e) => { + e.preventDefault(); + signModal.setAttribute('class', 'show-login'); + }); + + this.signUpBtn.addEventListener('click', (e) => { + e.preventDefault(); + // window.location.href = './registeration.html' + signModal.setAttribute('class', 'show-signup'); + }); + + // controls what happens when the submit button on the sign up form is clicked + this.signUpFormBtn.addEventListener('click', (e) => { + e.preventDefault(); + // const email = this.shadowRoot.querySelector('#email-signup').value; + // const password = this.shadowRoot.querySelector('#password-signup').value; + + // window.location.href = 'profile.html'; + }); + // controls what happens when the submit button on the sign in form is clicked + this.logInFormBtn.addEventListener('click', (e) => { + e.preventDefault(); + const email = this.shadowRoot.querySelector('#email-login').value; + const password = this.shadowRoot.querySelector('#password-login').value; + + $.post(`${ApiUrl}auth/signin`, { + email, + password, }) - ) + .done((response) => { + localStorage.setItem('user', JSON.stringify(response.data.user)); + localStorage.setItem('tokens', JSON.stringify(response.data.tokens)); + window.location.href = 'profile.html'; + }) + .fail((error) => { + this.shadowRoot.querySelector('#authErrorMSg').innerHTML = error.responseJSON.error; + this.shadowRoot.querySelector('#authErrorMSg').style = 'background: red; padding: 8px;'; + }); + }); + } + })); diff --git a/UI/assets/templates/sign-modal.html b/UI/assets/templates/sign-modal.html index 951f1ec..e97c37c 100755 --- a/UI/assets/templates/sign-modal.html +++ b/UI/assets/templates/sign-modal.html @@ -421,17 +421,17 @@

SIGN UP

- +
- +
- +
@@ -446,12 +446,12 @@

SIGN UP

LOG IN

-

log in to gain access

+

log in to gain access

- +
@@ -495,4 +495,12 @@

already have an account?

-
\ No newline at end of file +
+ + diff --git a/UI/index.html b/UI/index.html index 64b1d21..16cadee 100755 --- a/UI/index.html +++ b/UI/index.html @@ -12,6 +12,7 @@ + @@ -563,4 +564,4 @@

Reawakening Facility Management Of Buildings, Infrastructure In Nigeria

- \ No newline at end of file + diff --git a/UI/profile.html b/UI/profile.html index 6646164..a501eca 100644 --- a/UI/profile.html +++ b/UI/profile.html @@ -17,7 +17,7 @@ - +
@@ -89,13 +89,13 @@

PROFILE DETAILS

FIRST NAME :

-

MYEMAKA

+

MYEMAKA

LAST NAME :

-

MESUT

+

MESUT

EMAIL:

-

viheanacho@gmail.com

+

viheanacho@gmail.com

ACCOUNT-TYPE:

-

non-member

+

non-member

ADDRESS :

12 OLE STREET, BROADWAY EMIRATES

@@ -113,6 +113,17 @@

PROFILE DETAILS

+ - \ No newline at end of file + diff --git a/dist/app.js b/dist/app.js deleted file mode 100644 index 3c81dd2..0000000 --- a/dist/app.js +++ /dev/null @@ -1,46 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _express = _interopRequireDefault(require("express")); - -var _cors = _interopRequireDefault(require("cors")); - -var _morgan = _interopRequireDefault(require("morgan")); - -var _errorhandler = _interopRequireDefault(require("errorhandler")); - -var _routes = _interopRequireDefault(require("./routes")); - -var isProduction = process.env.NODE_ENV === 'production'; // Create global app object - -var app = (0, _express["default"])(); -app.use((0, _cors["default"])()); - -if (!isProduction) { - app.use((0, _errorhandler["default"])()); -} - -app.use(_express["default"].json()); -app.use(_express["default"].urlencoded({ - extended: false -})); -app.use((0, _morgan["default"])('dev')); -app.get('/', function (req, res) { - return res.status(301).redirect('/api'); -}); -app.use('/api', _routes["default"]); -app.use('*', function (req, res) { - return res.status(404).json({ - status: res.statusCode, - error: 'Sorry!!, the page you are looking for cannot be found' - }); -}); -var _default = app; -exports["default"] = _default; -//# sourceMappingURL=app.js.map \ No newline at end of file diff --git a/dist/app.js.map b/dist/app.js.map deleted file mode 100644 index 2c14749..0000000 --- a/dist/app.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../src/app.js"],"names":["isProduction","process","env","NODE_ENV","app","use","express","json","urlencoded","extended","get","req","res","status","redirect","router","statusCode","error"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,YAAY,GAAGC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YAA9C,C,CAEA;;AACA,IAAMC,GAAG,GAAG,0BAAZ;AACAA,GAAG,CAACC,GAAJ,CAAQ,uBAAR;;AAEA,IAAI,CAACL,YAAL,EAAmB;AACjBI,EAAAA,GAAG,CAACC,GAAJ,CAAQ,+BAAR;AACD;;AAEDD,GAAG,CAACC,GAAJ,CAAQC,oBAAQC,IAAR,EAAR;AACAH,GAAG,CAACC,GAAJ,CAAQC,oBAAQE,UAAR,CAAmB;AAAEC,EAAAA,QAAQ,EAAE;AAAZ,CAAnB,CAAR;AACAL,GAAG,CAACC,GAAJ,CAAQ,wBAAO,KAAP,CAAR;AAEAD,GAAG,CAACM,GAAJ,CAAQ,GAAR,EAAa,UAACC,GAAD,EAAMC,GAAN;AAAA,SAAcA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBC,QAAhB,CAAyB,MAAzB,CAAd;AAAA,CAAb;AACAV,GAAG,CAACC,GAAJ,CAAQ,MAAR,EAAgBU,kBAAhB;AAEAX,GAAG,CAACC,GAAJ,CAAQ,GAAR,EAAa,UAACM,GAAD,EAAMC,GAAN;AAAA,SAAcA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBN,IAAhB,CAAqB;AAC9CM,IAAAA,MAAM,EAAED,GAAG,CAACI,UADkC;AAE9CC,IAAAA,KAAK,EAAE;AAFuC,GAArB,CAAd;AAAA,CAAb;eAKeb,G","sourcesContent":["import express from 'express';\nimport cors from 'cors';\nimport morgan from 'morgan';\nimport errorhandler from 'errorhandler';\nimport router from './routes';\n\nconst isProduction = process.env.NODE_ENV === 'production';\n\n// Create global app object\nconst app = express();\napp.use(cors());\n\nif (!isProduction) {\n app.use(errorhandler());\n}\n\napp.use(express.json());\napp.use(express.urlencoded({ extended: false }));\napp.use(morgan('dev'));\n\napp.get('/', (req, res) => res.status(301).redirect('/api'));\napp.use('/api', router);\n\napp.use('*', (req, res) => res.status(404).json({\n status: res.statusCode,\n error: 'Sorry!!, the page you are looking for cannot be found',\n}));\n\nexport default app;\n"],"file":"app.js"} \ No newline at end of file diff --git a/dist/controllers/coursesControllers.js b/dist/controllers/coursesControllers.js deleted file mode 100644 index eefb940..0000000 --- a/dist/controllers/coursesControllers.js +++ /dev/null @@ -1,210 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _courseServices = _interopRequireDefault(require("../services/courseServices")); - -var _response = _interopRequireDefault(require("../utils/response")); - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -var resLong = _response["default"].resLong, - resErr = _response["default"].resErr; -/** - * @class CourseController - * @description Contains methods for each user related endpoint - * @exports CourseController - */ - -var CourseController = -/*#__PURE__*/ -function () { - function CourseController() { - (0, _classCallCheck2["default"])(this, CourseController); - } - - (0, _createClass2["default"])(CourseController, null, [{ - key: "CreateCourse", - - /** - * @method CreateCourse - * @description Adds a course to the database - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @returns {object} JSON API Response - */ - value: function () { - var _CreateCourse = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(req, res) { - var newCourse; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - _context.next = 3; - return _courseServices["default"].createCourse(req.body); - - case 3: - newCourse = _context.sent; - return _context.abrupt("return", resLong(res, 201, newCourse)); - - case 7: - _context.prev = 7; - _context.t0 = _context["catch"](0); - return _context.abrupt("return", resErr(res, 500, _context.t0.message)); - - case 10: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 7]]); - })); - - function CreateCourse(_x, _x2) { - return _CreateCourse.apply(this, arguments); - } - - return CreateCourse; - }() - /** - * @method GetCourses - * @description Fetches all courses from the database - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @returns {object} JSON API Response - */ - - }, { - key: "GetCourses", - value: function () { - var _GetCourses = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee2(req, res) { - var result; - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.prev = 0; - _context2.next = 3; - return _courseServices["default"].getAllCourse(); - - case 3: - result = _context2.sent; - return _context2.abrupt("return", resLong(res, 200, result)); - - case 7: - _context2.prev = 7; - _context2.t0 = _context2["catch"](0); - return _context2.abrupt("return", resErr(res, 400, _context2.t0.message)); - - case 10: - case "end": - return _context2.stop(); - } - } - }, _callee2, null, [[0, 7]]); - })); - - function GetCourses(_x3, _x4) { - return _GetCourses.apply(this, arguments); - } - - return GetCourses; - }() - /** - * @method takeCourse - * @description Adds a users course details to the database - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @returns {object} JSON API Response - */ - - }, { - key: "takeCourse", - value: function () { - var _takeCourse = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee3(req, res) { - var body, id, userCourse, newCourse, course; - return _regenerator["default"].wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - body = req.body, id = req.params.id; - _context3.prev = 1; - _context3.next = 4; - return _courseServices["default"].getCourseById(id); - - case 4: - userCourse = _context3.sent; - - if (!userCourse) { - _context3.next = 7; - break; - } - - return _context3.abrupt("return", resErr(res, 400, 'You can\'t register for the same course twice')); - - case 7: - _context3.next = 9; - return _courseServices["default"].updateUserById({ - id: id, - user: body.id - }); - - case 9: - newCourse = _context3.sent; - _context3.next = 12; - return _courseServices["default"].getCourse(newCourse.userid, newCourse.courseid); - - case 12: - course = _context3.sent; - return _context3.abrupt("return", resLong(res, 201, _objectSpread({}, course))); - - case 16: - _context3.prev = 16; - _context3.t0 = _context3["catch"](1); - return _context3.abrupt("return", resErr(res, 400, _context3.t0.message)); - - case 19: - case "end": - return _context3.stop(); - } - } - }, _callee3, null, [[1, 16]]); - })); - - function takeCourse(_x5, _x6) { - return _takeCourse.apply(this, arguments); - } - - return takeCourse; - }() - }]); - return CourseController; -}(); - -var _default = CourseController; -exports["default"] = _default; -//# sourceMappingURL=coursesControllers.js.map \ No newline at end of file diff --git a/dist/controllers/coursesControllers.js.map b/dist/controllers/coursesControllers.js.map deleted file mode 100644 index 932edf3..0000000 --- a/dist/controllers/coursesControllers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/controllers/coursesControllers.js"],"names":["resLong","ResponseMsg","resErr","CourseController","req","res","CourseServices","createCourse","body","newCourse","message","getAllCourse","result","id","params","getCourseById","userCourse","updateUserById","user","getCourse","userid","courseid","course"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;;;;;IAEQA,O,GAAoBC,oB,CAApBD,O;IAASE,M,GAAWD,oB,CAAXC,M;AAEjB;;;;;;IAKMC,gB;;;;;;;;;;AACJ;;;;;;;;;;oDAO0BC,G,EAAKC,G;;;;;;;;uBAEHC,2BAAeC,YAAf,CAA4BH,GAAG,CAACI,IAAhC,C;;;AAAlBC,gBAAAA,S;iDACCT,OAAO,CAACK,GAAD,EAAM,GAAN,EAAWI,SAAX,C;;;;;iDAEPP,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,YAAMK,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;qDAOwBN,G,EAAKC,G;;;;;;;;uBAEJC,2BAAeK,YAAf,E;;;AAAfC,gBAAAA,M;kDACCZ,OAAO,CAACK,GAAD,EAAM,GAAN,EAAWO,MAAX,C;;;;;kDAEPV,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,aAAMK,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;qDAOwBN,G,EAAKC,G;;;;;;AACnBG,gBAAAA,I,GAAyBJ,G,CAAzBI,I,EAAgBK,E,GAAST,G,CAAnBU,M,CAAUD,E;;;uBAEGP,2BAAeS,aAAf,CAA6BF,EAA7B,C;;;AAAnBG,gBAAAA,U;;qBAEFA,U;;;;;kDACKd,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,+CAAX,C;;;;uBAESC,2BAAeW,cAAf,CAA8B;AAAEJ,kBAAAA,EAAE,EAAFA,EAAF;AAAMK,kBAAAA,IAAI,EAAEV,IAAI,CAACK;AAAjB,iBAA9B,C;;;AAAlBJ,gBAAAA,S;;uBACeH,2BAAea,SAAf,CAAyBV,SAAS,CAACW,MAAnC,EAA2CX,SAAS,CAACY,QAArD,C;;;AAAfC,gBAAAA,M;kDACCtB,OAAO,CAACK,GAAD,EAAM,GAAN,oBAAgBiB,MAAhB,E;;;;;kDAEPpB,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,aAAMK,OAAjB,C;;;;;;;;;;;;;;;;;;;;eAIJP,gB","sourcesContent":["import CourseServices from '../services/courseServices';\nimport ResponseMsg from '../utils/response';\n\nconst { resLong, resErr } = ResponseMsg;\n\n/**\n * @class CourseController\n * @description Contains methods for each user related endpoint\n * @exports CourseController\n */\nclass CourseController {\n /**\n * @method CreateCourse\n * @description Adds a course to the database\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @returns {object} JSON API Response\n */\n static async CreateCourse(req, res) {\n try {\n const newCourse = await CourseServices.createCourse(req.body);\n return resLong(res, 201, newCourse);\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @method GetCourses\n * @description Fetches all courses from the database\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @returns {object} JSON API Response\n */\n static async GetCourses(req, res) {\n try {\n const result = await CourseServices.getAllCourse();\n return resLong(res, 200, result);\n } catch (error) {\n return resErr(res, 400, error.message);\n }\n }\n\n /**\n * @method takeCourse\n * @description Adds a users course details to the database\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @returns {object} JSON API Response\n */\n static async takeCourse(req, res) {\n const { body, params: { id } } = req;\n try {\n const userCourse = await CourseServices.getCourseById(id);\n\n if (userCourse) {\n return resErr(res, 400, 'You can\\'t register for the same course twice');\n }\n const newCourse = await CourseServices.updateUserById({ id, user: body.id });\n const course = await CourseServices.getCourse(newCourse.userid, newCourse.courseid);\n return resLong(res, 201, { ...course });\n } catch (error) {\n return resErr(res, 400, error.message);\n }\n }\n}\nexport default CourseController;\n"],"file":"coursesControllers.js"} \ No newline at end of file diff --git a/dist/controllers/duesController.js b/dist/controllers/duesController.js deleted file mode 100644 index 103c94b..0000000 --- a/dist/controllers/duesController.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=duesController.js.map \ No newline at end of file diff --git a/dist/controllers/duesController.js.map b/dist/controllers/duesController.js.map deleted file mode 100644 index 7e71931..0000000 --- a/dist/controllers/duesController.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"duesController.js"} \ No newline at end of file diff --git a/dist/controllers/userControllers.js b/dist/controllers/userControllers.js deleted file mode 100644 index 98d8e35..0000000 --- a/dist/controllers/userControllers.js +++ /dev/null @@ -1,232 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _utils = _interopRequireDefault(require("../utils")); - -var _userServices = _interopRequireDefault(require("../services/userServices")); - -var _response = _interopRequireDefault(require("../utils/response")); - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -var resLong = _response["default"].resLong, - resErr = _response["default"].resErr; -/** - * @class UserController - * @description Contains methods for each user related endpoint - * @exports UserController - */ - -var UserController = -/*#__PURE__*/ -function () { - function UserController() { - (0, _classCallCheck2["default"])(this, UserController); - } - - (0, _createClass2["default"])(UserController, null, [{ - key: "signUp", - - /** - * @method signUp - * @description Adds a user to the database - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @returns {object} JSON API Response - */ - value: function () { - var _signUp = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(req, res) { - var email, password, hashedPassword, user, token; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - email = req.body.email; - password = req.body.password; - hashedPassword = _utils["default"].hashPassword(password); - password = hashedPassword; - _context.next = 7; - return _userServices["default"].createUser({ - email: email, - password: password - }); - - case 7: - user = _context.sent; - token = _utils["default"].generateToken({ - email: email - }); - res.set('Authorization', "Bearer ".concat(token)); - return _context.abrupt("return", resLong(res, 201, _objectSpread({}, user, { - token: token - }))); - - case 13: - _context.prev = 13; - _context.t0 = _context["catch"](0); - return _context.abrupt("return", resErr(res, 500, _context.t0.message)); - - case 16: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 13]]); - })); - - function signUp(_x, _x2) { - return _signUp.apply(this, arguments); - } - - return signUp; - }() - /** - * @method signIn - * @description Logs in a user - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @returns {object} JSON API Response - */ - - }, { - key: "signIn", - value: function () { - var _signIn = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee2(req, res) { - var _req$body, email, password, user, token; - - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.prev = 0; - _req$body = req.body, email = _req$body.email, password = _req$body.password; - _context2.next = 4; - return _userServices["default"].getUserByEmail(email); - - case 4: - user = _context2.sent; - - if (!_utils["default"].comparePassword(password, user.password)) { - _context2.next = 9; - break; - } - - delete user.password; - token = _utils["default"].generateToken({ - email: email - }); - return _context2.abrupt("return", resLong(res, 200, { - user: user, - token: token - })); - - case 9: - return _context2.abrupt("return", resErr(res, 401, 'The email and password you entered does not exist! Please check and try again.')); - - case 12: - _context2.prev = 12; - _context2.t0 = _context2["catch"](0); - - if (!(_context2.t0.name === 'emailNull')) { - _context2.next = 16; - break; - } - - return _context2.abrupt("return", resErr(res, 404, 'No user found for the provided email')); - - case 16: - return _context2.abrupt("return", resErr(res, 500, _context2.t0.message)); - - case 17: - case "end": - return _context2.stop(); - } - } - }, _callee2, null, [[0, 12]]); - })); - - function signIn(_x3, _x4) { - return _signIn.apply(this, arguments); - } - - return signIn; - }() - /** - * @name updateUserInfo - * @description Updates user profile to complete registration - * @param {object} req The request object - * @param {object} res The response object - * @returns {object} The API response - */ - - }, { - key: "updateUserInfo", - value: function () { - var _updateUserInfo = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee3(req, res) { - var userData, user, data; - return _regenerator["default"].wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.prev = 0; - userData = _objectSpread({}, req.body); - user = req.user; - userData.password = _utils["default"].hashPassword(userData.password); - _context3.next = 6; - return _userServices["default"].updateUserInfoById(_objectSpread({}, userData), user.email); - - case 6: - data = _context3.sent; - return _context3.abrupt("return", resLong(res, 201, data)); - - case 10: - _context3.prev = 10; - _context3.t0 = _context3["catch"](0); - return _context3.abrupt("return", resErr(res, 500, _context3.t0.message)); - - case 13: - case "end": - return _context3.stop(); - } - } - }, _callee3, null, [[0, 10]]); - })); - - function updateUserInfo(_x5, _x6) { - return _updateUserInfo.apply(this, arguments); - } - - return updateUserInfo; - }() - }]); - return UserController; -}(); - -var _default = UserController; -exports["default"] = _default; -//# sourceMappingURL=userControllers.js.map \ No newline at end of file diff --git a/dist/controllers/userControllers.js.map b/dist/controllers/userControllers.js.map deleted file mode 100644 index 8e05d13..0000000 --- a/dist/controllers/userControllers.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/controllers/userControllers.js"],"names":["resLong","ResponseMsg","resErr","UserController","req","res","email","body","password","hashedPassword","Utils","hashPassword","UserServices","createUser","user","token","generateToken","set","message","getUserByEmail","comparePassword","name","userData","updateUserInfoById","data"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEQA,O,GAAoBC,oB,CAApBD,O;IAASE,M,GAAWD,oB,CAAXC,M;AAEjB;;;;;;IAKMC,c;;;;;;;;;;AACJ;;;;;;;;;;oDAOoBC,G,EAAKC,G;;;;;;;AAEbC,gBAAAA,K,GAAUF,GAAG,CAACG,I,CAAdD,K;AACFE,gBAAAA,Q,GAAaJ,GAAG,CAACG,I,CAAjBC,Q;AACAC,gBAAAA,c,GAAiBC,kBAAMC,YAAN,CAAmBH,QAAnB,C;AACvBA,gBAAAA,QAAQ,GAAGC,cAAX;;uBACmBG,yBAAaC,UAAb,CAAwB;AAAEP,kBAAAA,KAAK,EAALA,KAAF;AAASE,kBAAAA,QAAQ,EAARA;AAAT,iBAAxB,C;;;AAAbM,gBAAAA,I;AACAC,gBAAAA,K,GAAQL,kBAAMM,aAAN,CAAoB;AAAEV,kBAAAA,KAAK,EAALA;AAAF,iBAApB,C;AACdD,gBAAAA,GAAG,CAACY,GAAJ,CAAQ,eAAR,mBAAmCF,KAAnC;iDACOf,OAAO,CAACK,GAAD,EAAM,GAAN,oBAAgBS,IAAhB;AAAsBC,kBAAAA,KAAK,EAALA;AAAtB,mB;;;;;iDAEPb,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,YAAMa,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;qDAOoBd,G,EAAKC,G;;;;;;;;4BAEOD,GAAG,CAACG,I,EAAxBD,K,aAAAA,K,EAAOE,Q,aAAAA,Q;;uBACII,yBAAaO,cAAb,CAA4Bb,KAA5B,C;;;AAAbQ,gBAAAA,I;;qBACFJ,kBAAMU,eAAN,CAAsBZ,QAAtB,EAAgCM,IAAI,CAACN,QAArC,C;;;;;AACF,uBAAOM,IAAI,CAACN,QAAZ;AACMO,gBAAAA,K,GAAQL,kBAAMM,aAAN,CAAoB;AAAEV,kBAAAA,KAAK,EAALA;AAAF,iBAApB,C;kDACPN,OAAO,CAACK,GAAD,EAAM,GAAN,EAAW;AAAES,kBAAAA,IAAI,EAAJA,IAAF;AAAQC,kBAAAA,KAAK,EAALA;AAAR,iBAAX,C;;;kDAETb,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,gFAAX,C;;;;;;sBAET,aAAMgB,IAAN,KAAe,W;;;;;kDACVnB,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,sCAAX,C;;;kDAERH,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,aAAMa,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;qDAO4Bd,G,EAAKC,G;;;;;;;AAEvBiB,gBAAAA,Q,qBAAgBlB,GAAG,CAACG,I;AAClBO,gBAAAA,I,GAASV,G,CAATU,I;AACRQ,gBAAAA,QAAQ,CAACd,QAAT,GAAoBE,kBAAMC,YAAN,CAAmBW,QAAQ,CAACd,QAA5B,CAApB;;uBACmBI,yBAAaW,kBAAb,mBAAqCD,QAArC,GAAiDR,IAAI,CAACR,KAAtD,C;;;AAAbkB,gBAAAA,I;kDACCxB,OAAO,CAACK,GAAD,EAAM,GAAN,EAAWmB,IAAX,C;;;;;kDAEPtB,MAAM,CAACG,GAAD,EAAM,GAAN,EAAW,aAAMa,OAAjB,C;;;;;;;;;;;;;;;;;;;;eAIJf,c","sourcesContent":["import Utils from '../utils';\nimport UserServices from '../services/userServices';\nimport ResponseMsg from '../utils/response';\n\nconst { resLong, resErr } = ResponseMsg;\n\n/**\n * @class UserController\n * @description Contains methods for each user related endpoint\n * @exports UserController\n */\nclass UserController {\n /**\n * @method signUp\n * @description Adds a user to the database\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @returns {object} JSON API Response\n */\n static async signUp(req, res) {\n try {\n const { email } = req.body;\n let { password } = req.body;\n const hashedPassword = Utils.hashPassword(password);\n password = hashedPassword;\n const user = await UserServices.createUser({ email, password });\n const token = Utils.generateToken({ email });\n res.set('Authorization', `Bearer ${token}`);\n return resLong(res, 201, { ...user, token });\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @method signIn\n * @description Logs in a user\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @returns {object} JSON API Response\n */\n static async signIn(req, res) {\n try {\n const { email, password } = req.body;\n const user = await UserServices.getUserByEmail(email);\n if (Utils.comparePassword(password, user.password)) {\n delete user.password;\n const token = Utils.generateToken({ email });\n return resLong(res, 200, { user, token });\n }\n return resErr(res, 401, 'The email and password you entered does not exist! Please check and try again.');\n } catch (error) {\n if (error.name === 'emailNull') {\n return resErr(res, 404, 'No user found for the provided email');\n }\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @name updateUserInfo\n * @description Updates user profile to complete registration\n * @param {object} req The request object\n * @param {object} res The response object\n * @returns {object} The API response\n */\n static async updateUserInfo(req, res) {\n try {\n const userData = { ...req.body };\n const { user } = req;\n userData.password = Utils.hashPassword(userData.password);\n const data = await UserServices.updateUserInfoById({ ...userData }, user.email);\n return resLong(res, 201, data);\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n}\nexport default UserController;\n"],"file":"userControllers.js"} \ No newline at end of file diff --git a/dist/database/config.js b/dist/database/config.js deleted file mode 100644 index 6b57b29..0000000 --- a/dist/database/config.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -var _dotenv = _interopRequireDefault(require("dotenv")); - -_dotenv["default"].config(); - -module.exports = { - development: { - username: process.env.DB_USER, - password: process.env.DB_PASSWORD, - database: process.env.DB_NAME, - host: process.env.DB_HOST, - dialect: 'postgres', - logging: false - }, - test: { - username: process.env.TEST_DB_USER, - password: process.env.TEST_DB_PASSWORD, - database: process.env.TEST_DB_NAME, - host: process.env.TEST_DB_HOST, - dialect: 'postgres', - logging: false - }, - production: { - use_env_variable: 'DATABASE_URL', - dialect: 'postgres', - logging: false, - pool: { - max: 5, - min: 0, - acquire: 30000, - idle: 10000 - } - } -}; -//# sourceMappingURL=config.js.map \ No newline at end of file diff --git a/dist/database/config.js.map b/dist/database/config.js.map deleted file mode 100644 index 2c1cd76..0000000 --- a/dist/database/config.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/database/config.js"],"names":["dotenv","config","module","exports","development","username","process","env","DB_USER","password","DB_PASSWORD","database","DB_NAME","host","DB_HOST","dialect","logging","test","TEST_DB_USER","TEST_DB_PASSWORD","TEST_DB_NAME","TEST_DB_HOST","production","use_env_variable","pool","max","min","acquire","idle"],"mappings":";;;;AAAA;;AAEAA,mBAAOC,MAAP;;AAEAC,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,WAAW,EAAE;AACXC,IAAAA,QAAQ,EAAEC,OAAO,CAACC,GAAR,CAAYC,OADX;AAEXC,IAAAA,QAAQ,EAAEH,OAAO,CAACC,GAAR,CAAYG,WAFX;AAGXC,IAAAA,QAAQ,EAAEL,OAAO,CAACC,GAAR,CAAYK,OAHX;AAIXC,IAAAA,IAAI,EAAEP,OAAO,CAACC,GAAR,CAAYO,OAJP;AAKXC,IAAAA,OAAO,EAAE,UALE;AAMXC,IAAAA,OAAO,EAAE;AANE,GADE;AASfC,EAAAA,IAAI,EAAE;AACJZ,IAAAA,QAAQ,EAAEC,OAAO,CAACC,GAAR,CAAYW,YADlB;AAEJT,IAAAA,QAAQ,EAAEH,OAAO,CAACC,GAAR,CAAYY,gBAFlB;AAGJR,IAAAA,QAAQ,EAAEL,OAAO,CAACC,GAAR,CAAYa,YAHlB;AAIJP,IAAAA,IAAI,EAAEP,OAAO,CAACC,GAAR,CAAYc,YAJd;AAKJN,IAAAA,OAAO,EAAE,UALL;AAMJC,IAAAA,OAAO,EAAE;AANL,GATS;AAiBfM,EAAAA,UAAU,EAAE;AACVC,IAAAA,gBAAgB,EAAE,cADR;AAEVR,IAAAA,OAAO,EAAE,UAFC;AAGVC,IAAAA,OAAO,EAAE,KAHC;AAIVQ,IAAAA,IAAI,EAAE;AACJC,MAAAA,GAAG,EAAE,CADD;AAEJC,MAAAA,GAAG,EAAE,CAFD;AAGJC,MAAAA,OAAO,EAAE,KAHL;AAIJC,MAAAA,IAAI,EAAE;AAJF;AAJI;AAjBG,CAAjB","sourcesContent":["import dotenv from 'dotenv';\n\ndotenv.config();\n\nmodule.exports = {\n development: {\n username: process.env.DB_USER,\n password: process.env.DB_PASSWORD,\n database: process.env.DB_NAME,\n host: process.env.DB_HOST,\n dialect: 'postgres',\n logging: false,\n },\n test: {\n username: process.env.TEST_DB_USER,\n password: process.env.TEST_DB_PASSWORD,\n database: process.env.TEST_DB_NAME,\n host: process.env.TEST_DB_HOST,\n dialect: 'postgres',\n logging: false,\n },\n production: {\n use_env_variable: 'DATABASE_URL',\n dialect: 'postgres',\n logging: false,\n pool: {\n max: 5,\n min: 0,\n acquire: 30000,\n idle: 10000,\n },\n },\n};\n"],"file":"config.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923110048-create-user.js b/dist/database/migrations/20190923110048-create-user.js deleted file mode 100644 index 95cbd26..0000000 --- a/dist/database/migrations/20190923110048-create-user.js +++ /dev/null @@ -1,61 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('Users', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - middleName: { - type: Sequelize.STRING, - allowNull: true - }, - firstName: { - type: Sequelize.STRING, - allowNull: true - }, - lastName: { - type: Sequelize.STRING, - allowNull: true - }, - password: { - type: Sequelize.STRING, - allowNull: true - }, - email: { - allowNull: false, - type: Sequelize.STRING, - unique: true, - validate: { - isEmail: true - } - }, - phoneNumber: { - allowNull: true, - type: Sequelize.STRING - }, - isAdmin: { - allowNull: true, - type: Sequelize.BOOLEAN, - defaultValue: false - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('Users'); - } -}; -//# sourceMappingURL=20190923110048-create-user.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923110048-create-user.js.map b/dist/database/migrations/20190923110048-create-user.js.map deleted file mode 100644 index 47ea496..0000000 --- a/dist/database/migrations/20190923110048-create-user.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923110048-create-user.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","middleName","STRING","firstName","lastName","password","email","unique","validate","isEmail","phoneNumber","isAdmin","BOOLEAN","defaultValue","createdAt","DATE","NOW","updatedAt","down","dropTable"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,OAA3B,EAAoC;AACrEC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADiE;AAOrEC,MAAAA,UAAU,EAAE;AACVF,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADN;AAEVN,QAAAA,SAAS,EAAE;AAFD,OAPyD;AAWrEO,MAAAA,SAAS,EAAE;AACTJ,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADP;AAETN,QAAAA,SAAS,EAAE;AAFF,OAX0D;AAerEQ,MAAAA,QAAQ,EAAE;AACRL,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADR;AAERN,QAAAA,SAAS,EAAE;AAFH,OAf2D;AAmBrES,MAAAA,QAAQ,EAAE;AACRN,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADR;AAERN,QAAAA,SAAS,EAAE;AAFH,OAnB2D;AAuBrEU,MAAAA,KAAK,EAAE;AACLV,QAAAA,SAAS,EAAE,KADN;AAELG,QAAAA,IAAI,EAAEN,SAAS,CAACS,MAFX;AAGLK,QAAAA,MAAM,EAAE,IAHH;AAILC,QAAAA,QAAQ,EAAE;AACRC,UAAAA,OAAO,EAAE;AADD;AAJL,OAvB8D;AA+BrEC,MAAAA,WAAW,EAAE;AACXd,QAAAA,SAAS,EAAE,IADA;AAEXG,QAAAA,IAAI,EAAEN,SAAS,CAACS;AAFL,OA/BwD;AAmCrES,MAAAA,OAAO,EAAE;AACPf,QAAAA,SAAS,EAAE,IADJ;AAEPG,QAAAA,IAAI,EAAEN,SAAS,CAACmB,OAFT;AAGPC,QAAAA,YAAY,EAAE;AAHP,OAnC4D;AAwCrEC,MAAAA,SAAS,EAAE;AACTlB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACsB,IAFP;AAGTF,QAAAA,YAAY,EAAEpB,SAAS,CAACuB;AAHf,OAxC0D;AA6CrEC,MAAAA,SAAS,EAAE;AACTrB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACsB,IAFP;AAGTF,QAAAA,YAAY,EAAEpB,SAAS,CAACuB;AAHf;AA7C0D,KAApC,CAA/B;AAAA,GADW;AAoDfE,EAAAA,IAAI,EAAE,cAAA1B,cAAc;AAAA,WAAIA,cAAc,CAAC2B,SAAf,CAAyB,OAAzB,CAAJ;AAAA;AApDL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('Users', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n middleName: {\n type: Sequelize.STRING,\n allowNull: true,\n },\n firstName: {\n type: Sequelize.STRING,\n allowNull: true,\n },\n lastName: {\n type: Sequelize.STRING,\n allowNull: true,\n },\n password: {\n type: Sequelize.STRING,\n allowNull: true,\n },\n email: {\n allowNull: false,\n type: Sequelize.STRING,\n unique: true,\n validate: {\n isEmail: true,\n },\n },\n phoneNumber: {\n allowNull: true,\n type: Sequelize.STRING,\n },\n isAdmin: {\n allowNull: true,\n type: Sequelize.BOOLEAN,\n defaultValue: false,\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('Users'),\n};\n"],"file":"20190923110048-create-user.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923115128-create-course.js b/dist/database/migrations/20190923115128-create-course.js deleted file mode 100644 index 2ac08a8..0000000 --- a/dist/database/migrations/20190923115128-create-course.js +++ /dev/null @@ -1,49 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('courses', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - courseTitle: { - type: Sequelize.STRING, - allowNull: false, - unique: true - }, - memberFees: { - type: Sequelize.FLOAT, - allowNull: false - }, - nonMemberFees: { - type: Sequelize.FLOAT, - allowNull: false - }, - startDate: { - type: Sequelize.DATE, - allowNull: false - }, - endDate: { - type: Sequelize.DATE, - allowNull: false - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('courses'); - } -}; -//# sourceMappingURL=20190923115128-create-course.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923115128-create-course.js.map b/dist/database/migrations/20190923115128-create-course.js.map deleted file mode 100644 index 00facd0..0000000 --- a/dist/database/migrations/20190923115128-create-course.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923115128-create-course.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","courseTitle","STRING","unique","memberFees","FLOAT","nonMemberFees","startDate","DATE","endDate","createdAt","defaultValue","NOW","updatedAt","down","dropTable"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,SAA3B,EAAsC;AACvEC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADmE;AAOvEC,MAAAA,WAAW,EAAE;AACXF,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADL;AAEXN,QAAAA,SAAS,EAAE,KAFA;AAGXO,QAAAA,MAAM,EAAE;AAHG,OAP0D;AAYvEC,MAAAA,UAAU,EAAE;AACVL,QAAAA,IAAI,EAAEN,SAAS,CAACY,KADN;AAEVT,QAAAA,SAAS,EAAE;AAFD,OAZ2D;AAgBvEU,MAAAA,aAAa,EAAE;AACbP,QAAAA,IAAI,EAAEN,SAAS,CAACY,KADH;AAEbT,QAAAA,SAAS,EAAE;AAFE,OAhBwD;AAoBvEW,MAAAA,SAAS,EAAE;AACTR,QAAAA,IAAI,EAAEN,SAAS,CAACe,IADP;AAETZ,QAAAA,SAAS,EAAE;AAFF,OApB4D;AAwBvEa,MAAAA,OAAO,EAAE;AACPV,QAAAA,IAAI,EAAEN,SAAS,CAACe,IADT;AAEPZ,QAAAA,SAAS,EAAE;AAFJ,OAxB8D;AA4BvEc,MAAAA,SAAS,EAAE;AACTd,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACe,IAFP;AAGTG,QAAAA,YAAY,EAAElB,SAAS,CAACmB;AAHf,OA5B4D;AAiCvEC,MAAAA,SAAS,EAAE;AACTjB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACe,IAFP;AAGTG,QAAAA,YAAY,EAAElB,SAAS,CAACmB;AAHf;AAjC4D,KAAtC,CAA/B;AAAA,GADW;AAwCfE,EAAAA,IAAI,EAAE,cAAAtB,cAAc;AAAA,WAAIA,cAAc,CAACuB,SAAf,CAAyB,SAAzB,CAAJ;AAAA;AAxCL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('courses', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n courseTitle: {\n type: Sequelize.STRING,\n allowNull: false,\n unique: true,\n },\n memberFees: {\n type: Sequelize.FLOAT,\n allowNull: false,\n },\n nonMemberFees: {\n type: Sequelize.FLOAT,\n allowNull: false,\n },\n startDate: {\n type: Sequelize.DATE,\n allowNull: false,\n },\n endDate: {\n type: Sequelize.DATE,\n allowNull: false,\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('courses'),\n};\n"],"file":"20190923115128-create-course.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923120955-create-user-courses.js b/dist/database/migrations/20190923120955-create-user-courses.js deleted file mode 100644 index 9eaf7e2..0000000 --- a/dist/database/migrations/20190923120955-create-user-courses.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('userCourses', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - registeredOn: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - userId: { - type: Sequelize.INTEGER, - allowNull: false, - references: { - model: 'Users', - key: 'id' - }, - onUpdate: 'CASCADE', - onDelete: 'CASCADE' - }, - courseId: { - type: Sequelize.INTEGER, - allowNull: false, - references: { - model: 'courses', - key: 'id' - }, - onUpdate: 'CASCADE', - onDelete: 'CASCADE' - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('userCourses'); - } -}; -//# sourceMappingURL=20190923120955-create-user-courses.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923120955-create-user-courses.js.map b/dist/database/migrations/20190923120955-create-user-courses.js.map deleted file mode 100644 index 61047e8..0000000 --- a/dist/database/migrations/20190923120955-create-user-courses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923120955-create-user-courses.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","registeredOn","DATE","defaultValue","NOW","userId","references","model","key","onUpdate","onDelete","courseId","createdAt","updatedAt","down","dropTable"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,aAA3B,EAA0C;AAC3EC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADuE;AAO3EC,MAAAA,YAAY,EAAE;AACZL,QAAAA,SAAS,EAAE,KADC;AAEZG,QAAAA,IAAI,EAAEN,SAAS,CAACS,IAFJ;AAGZC,QAAAA,YAAY,EAAEV,SAAS,CAACW;AAHZ,OAP6D;AAY3EC,MAAAA,MAAM,EAAE;AACNN,QAAAA,IAAI,EAAEN,SAAS,CAACO,OADV;AAENJ,QAAAA,SAAS,EAAE,KAFL;AAGNU,QAAAA,UAAU,EAAE;AACVC,UAAAA,KAAK,EAAE,OADG;AAEVC,UAAAA,GAAG,EAAE;AAFK,SAHN;AAONC,QAAAA,QAAQ,EAAE,SAPJ;AAQNC,QAAAA,QAAQ,EAAE;AARJ,OAZmE;AAsB3EC,MAAAA,QAAQ,EAAE;AACRZ,QAAAA,IAAI,EAAEN,SAAS,CAACO,OADR;AAERJ,QAAAA,SAAS,EAAE,KAFH;AAGRU,QAAAA,UAAU,EAAE;AACVC,UAAAA,KAAK,EAAE,SADG;AAEVC,UAAAA,GAAG,EAAE;AAFK,SAHJ;AAORC,QAAAA,QAAQ,EAAE,SAPF;AAQRC,QAAAA,QAAQ,EAAE;AARF,OAtBiE;AAgC3EE,MAAAA,SAAS,EAAE;AACThB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACS,IAFP;AAGTC,QAAAA,YAAY,EAAEV,SAAS,CAACW;AAHf,OAhCgE;AAqC3ES,MAAAA,SAAS,EAAE;AACTjB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACS,IAFP;AAGTC,QAAAA,YAAY,EAAEV,SAAS,CAACW;AAHf;AArCgE,KAA1C,CAA/B;AAAA,GADW;AA4CfU,EAAAA,IAAI,EAAE,cAAAtB,cAAc;AAAA,WAAIA,cAAc,CAACuB,SAAf,CAAyB,aAAzB,CAAJ;AAAA;AA5CL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('userCourses', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n registeredOn: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n userId: {\n type: Sequelize.INTEGER,\n allowNull: false,\n references: {\n model: 'Users',\n key: 'id',\n },\n onUpdate: 'CASCADE',\n onDelete: 'CASCADE',\n },\n courseId: {\n type: Sequelize.INTEGER,\n allowNull: false,\n references: {\n model: 'courses',\n key: 'id',\n },\n onUpdate: 'CASCADE',\n onDelete: 'CASCADE',\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('userCourses'),\n};\n"],"file":"20190923120955-create-user-courses.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923130124-create-dues.js b/dist/database/migrations/20190923130124-create-dues.js deleted file mode 100644 index 7973639..0000000 --- a/dist/database/migrations/20190923130124-create-dues.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('dues', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - type: { - type: Sequelize.STRING, - defaultValue: 'annual' - }, - amount: { - type: Sequelize.FLOAT, - allowNull: false - }, - "for": { - type: Sequelize.STRING, - allowNull: false, - unique: true - }, - dueDate: { - type: Sequelize.DATE, - allowNull: false - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('dues'); - } -}; -//# sourceMappingURL=20190923130124-create-dues.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923130124-create-dues.js.map b/dist/database/migrations/20190923130124-create-dues.js.map deleted file mode 100644 index 5ce35ea..0000000 --- a/dist/database/migrations/20190923130124-create-dues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923130124-create-dues.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","STRING","defaultValue","amount","FLOAT","unique","dueDate","DATE","createdAt","NOW","updatedAt","down","dropTable"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,MAA3B,EAAmC;AACpEC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADgE;AAOpED,MAAAA,IAAI,EAAE;AACJA,QAAAA,IAAI,EAAEN,SAAS,CAACQ,MADZ;AAEJC,QAAAA,YAAY,EAAE;AAFV,OAP8D;AAWpEC,MAAAA,MAAM,EAAE;AACNJ,QAAAA,IAAI,EAAEN,SAAS,CAACW,KADV;AAENR,QAAAA,SAAS,EAAE;AAFL,OAX4D;AAepE,aAAK;AACHG,QAAAA,IAAI,EAAEN,SAAS,CAACQ,MADb;AAEHL,QAAAA,SAAS,EAAE,KAFR;AAGHS,QAAAA,MAAM,EAAE;AAHL,OAf+D;AAoBpEC,MAAAA,OAAO,EAAE;AACPP,QAAAA,IAAI,EAAEN,SAAS,CAACc,IADT;AAEPX,QAAAA,SAAS,EAAE;AAFJ,OApB2D;AAwBpEY,MAAAA,SAAS,EAAE;AACTZ,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACc,IAFP;AAGTL,QAAAA,YAAY,EAAET,SAAS,CAACgB;AAHf,OAxByD;AA6BpEC,MAAAA,SAAS,EAAE;AACTd,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACc,IAFP;AAGTL,QAAAA,YAAY,EAAET,SAAS,CAACgB;AAHf;AA7ByD,KAAnC,CAA/B;AAAA,GADW;AAoCfE,EAAAA,IAAI,EAAE,cAAAnB,cAAc;AAAA,WAAIA,cAAc,CAACoB,SAAf,CAAyB,MAAzB,CAAJ;AAAA;AApCL,CAAjB","sourcesContent":["module.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('dues', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n type: {\n type: Sequelize.STRING,\n defaultValue: 'annual',\n },\n amount: {\n type: Sequelize.FLOAT,\n allowNull: false,\n },\n for: {\n type: Sequelize.STRING,\n allowNull: false,\n unique: true,\n },\n dueDate: {\n type: Sequelize.DATE,\n allowNull: false,\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('dues'),\n};\n"],"file":"20190923130124-create-dues.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923131310-create-user-dues.js b/dist/database/migrations/20190923131310-create-user-dues.js deleted file mode 100644 index afd727e..0000000 --- a/dist/database/migrations/20190923131310-create-user-dues.js +++ /dev/null @@ -1,54 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('userDues', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - paidOn: { - type: Sequelize.DATE, - allowNull: false - }, - type: { - type: Sequelize.STRING, - defaultValue: 'annual', - allowNull: false - }, - amount: { - type: Sequelize.FLOAT, - allowNull: false - }, - "for": { - type: Sequelize.STRING, - allowNull: false - }, - userId: { - type: Sequelize.INTEGER, - references: { - model: 'Users', - key: 'id' - }, - onUpdate: 'CASCADE', - onDelete: 'CASCADE' - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('userDues'); - } -}; -//# sourceMappingURL=20190923131310-create-user-dues.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923131310-create-user-dues.js.map b/dist/database/migrations/20190923131310-create-user-dues.js.map deleted file mode 100644 index 9c2a038..0000000 --- a/dist/database/migrations/20190923131310-create-user-dues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923131310-create-user-dues.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","paidOn","DATE","STRING","defaultValue","amount","FLOAT","userId","references","model","key","onUpdate","onDelete","createdAt","NOW","updatedAt","down","dropTable"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,UAA3B,EAAuC;AACxEC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADoE;AAOxEC,MAAAA,MAAM,EAAE;AACNF,QAAAA,IAAI,EAAEN,SAAS,CAACS,IADV;AAENN,QAAAA,SAAS,EAAE;AAFL,OAPgE;AAWxEG,MAAAA,IAAI,EAAE;AACJA,QAAAA,IAAI,EAAEN,SAAS,CAACU,MADZ;AAEJC,QAAAA,YAAY,EAAE,QAFV;AAGJR,QAAAA,SAAS,EAAE;AAHP,OAXkE;AAgBxES,MAAAA,MAAM,EAAE;AACNN,QAAAA,IAAI,EAAEN,SAAS,CAACa,KADV;AAENV,QAAAA,SAAS,EAAE;AAFL,OAhBgE;AAoBxE,aAAK;AACHG,QAAAA,IAAI,EAAEN,SAAS,CAACU,MADb;AAEHP,QAAAA,SAAS,EAAE;AAFR,OApBmE;AAwBxEW,MAAAA,MAAM,EAAE;AACNR,QAAAA,IAAI,EAAEN,SAAS,CAACO,OADV;AAENQ,QAAAA,UAAU,EAAE;AACVC,UAAAA,KAAK,EAAE,OADG;AAEVC,UAAAA,GAAG,EAAE;AAFK,SAFN;AAMNC,QAAAA,QAAQ,EAAE,SANJ;AAONC,QAAAA,QAAQ,EAAE;AAPJ,OAxBgE;AAiCxEC,MAAAA,SAAS,EAAE;AACTjB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACS,IAFP;AAGTE,QAAAA,YAAY,EAAEX,SAAS,CAACqB;AAHf,OAjC6D;AAsCxEC,MAAAA,SAAS,EAAE;AACTnB,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACS,IAFP;AAGTE,QAAAA,YAAY,EAAEX,SAAS,CAACqB;AAHf;AAtC6D,KAAvC,CAA/B;AAAA,GADW;AA6CfE,EAAAA,IAAI,EAAE,cAAAxB,cAAc;AAAA,WAAIA,cAAc,CAACyB,SAAf,CAAyB,UAAzB,CAAJ;AAAA;AA7CL,CAAjB","sourcesContent":["module.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('userDues', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n paidOn: {\n type: Sequelize.DATE,\n allowNull: false,\n },\n type: {\n type: Sequelize.STRING,\n defaultValue: 'annual',\n allowNull: false,\n },\n amount: {\n type: Sequelize.FLOAT,\n allowNull: false,\n },\n for: {\n type: Sequelize.STRING,\n allowNull: false,\n },\n userId: {\n type: Sequelize.INTEGER,\n references: {\n model: 'Users',\n key: 'id',\n },\n onUpdate: 'CASCADE',\n onDelete: 'CASCADE',\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('userDues'),\n};\n"],"file":"20190923131310-create-user-dues.js"} \ No newline at end of file diff --git a/dist/database/migrations/20190923131930-create-events.js b/dist/database/migrations/20190923131930-create-events.js deleted file mode 100644 index 1643531..0000000 --- a/dist/database/migrations/20190923131930-create-events.js +++ /dev/null @@ -1,45 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface, Sequelize) { - return queryInterface.createTable('events', { - id: { - allowNull: false, - autoIncrement: true, - primaryKey: true, - type: Sequelize.INTEGER - }, - title: { - type: Sequelize.STRING, - allowNull: false, - unique: true - }, - imageUrl: { - type: Sequelize.STRING, - allowNull: false - }, - time: { - type: Sequelize.STRING, - allowNull: false - }, - date: { - type: Sequelize.DATE, - allowNull: false - }, - createdAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - }, - updatedAt: { - allowNull: false, - type: Sequelize.DATE, - defaultValue: Sequelize.NOW - } - }); - }, - down: function down(queryInterface) { - return queryInterface.dropTable('events'); - } -}; -//# sourceMappingURL=20190923131930-create-events.js.map \ No newline at end of file diff --git a/dist/database/migrations/20190923131930-create-events.js.map b/dist/database/migrations/20190923131930-create-events.js.map deleted file mode 100644 index 02fc494..0000000 --- a/dist/database/migrations/20190923131930-create-events.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/migrations/20190923131930-create-events.js"],"names":["module","exports","up","queryInterface","Sequelize","createTable","id","allowNull","autoIncrement","primaryKey","type","INTEGER","title","STRING","unique","imageUrl","time","date","DATE","createdAt","defaultValue","NOW","updatedAt","down","dropTable"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAACC,cAAD,EAAiBC,SAAjB;AAAA,WAA+BD,cAAc,CAACE,WAAf,CAA2B,QAA3B,EAAqC;AACtEC,MAAAA,EAAE,EAAE;AACFC,QAAAA,SAAS,EAAE,KADT;AAEFC,QAAAA,aAAa,EAAE,IAFb;AAGFC,QAAAA,UAAU,EAAE,IAHV;AAIFC,QAAAA,IAAI,EAAEN,SAAS,CAACO;AAJd,OADkE;AAOtEC,MAAAA,KAAK,EAAE;AACLF,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADX;AAELN,QAAAA,SAAS,EAAE,KAFN;AAGLO,QAAAA,MAAM,EAAE;AAHH,OAP+D;AAYtEC,MAAAA,QAAQ,EAAE;AACRL,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADR;AAERN,QAAAA,SAAS,EAAE;AAFH,OAZ4D;AAgBtES,MAAAA,IAAI,EAAE;AACJN,QAAAA,IAAI,EAAEN,SAAS,CAACS,MADZ;AAEJN,QAAAA,SAAS,EAAE;AAFP,OAhBgE;AAoBtEU,MAAAA,IAAI,EAAE;AACJP,QAAAA,IAAI,EAAEN,SAAS,CAACc,IADZ;AAEJX,QAAAA,SAAS,EAAE;AAFP,OApBgE;AAwBtEY,MAAAA,SAAS,EAAE;AACTZ,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACc,IAFP;AAGTE,QAAAA,YAAY,EAAEhB,SAAS,CAACiB;AAHf,OAxB2D;AA6BtEC,MAAAA,SAAS,EAAE;AACTf,QAAAA,SAAS,EAAE,KADF;AAETG,QAAAA,IAAI,EAAEN,SAAS,CAACc,IAFP;AAGTE,QAAAA,YAAY,EAAEhB,SAAS,CAACiB;AAHf;AA7B2D,KAArC,CAA/B;AAAA,GADW;AAoCfE,EAAAA,IAAI,EAAE,cAAApB,cAAc;AAAA,WAAIA,cAAc,CAACqB,SAAf,CAAyB,QAAzB,CAAJ;AAAA;AApCL,CAAjB","sourcesContent":["module.exports = {\n up: (queryInterface, Sequelize) => queryInterface.createTable('events', {\n id: {\n allowNull: false,\n autoIncrement: true,\n primaryKey: true,\n type: Sequelize.INTEGER,\n },\n title: {\n type: Sequelize.STRING,\n allowNull: false,\n unique: true,\n },\n imageUrl: {\n type: Sequelize.STRING,\n allowNull: false,\n },\n time: {\n type: Sequelize.STRING,\n allowNull: false,\n },\n date: {\n type: Sequelize.DATE,\n allowNull: false,\n },\n createdAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n updatedAt: {\n allowNull: false,\n type: Sequelize.DATE,\n defaultValue: Sequelize.NOW,\n },\n }),\n down: queryInterface => queryInterface.dropTable('events'),\n};\n"],"file":"20190923131930-create-events.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925105015-admin-user.js b/dist/database/seeders/20190925105015-admin-user.js deleted file mode 100644 index cb860a6..0000000 --- a/dist/database/seeders/20190925105015-admin-user.js +++ /dev/null @@ -1,24 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -var _utils = _interopRequireDefault(require("../../utils")); - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('Users', [{ - firstName: 'super', - lastName: 'admin', - email: 'victorawotidebe@gmail.com', - password: _utils["default"].hashPassword('Malepass'), - phoneNumber: '586-852-6862', - isAdmin: true, - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('Users', null, {}); - } -}; -//# sourceMappingURL=20190925105015-admin-user.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925105015-admin-user.js.map b/dist/database/seeders/20190925105015-admin-user.js.map deleted file mode 100644 index 53e96a9..0000000 --- a/dist/database/seeders/20190925105015-admin-user.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925105015-admin-user.js"],"names":["module","exports","up","queryInterface","bulkInsert","firstName","lastName","email","password","Utils","hashPassword","phoneNumber","isAdmin","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;;;AAAA;;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,OAA1B,EAAmC,CACvD;AACEC,MAAAA,SAAS,EAAE,OADb;AAEEC,MAAAA,QAAQ,EAAE,OAFZ;AAGEC,MAAAA,KAAK,EAAE,2BAHT;AAIEC,MAAAA,QAAQ,EAAEC,kBAAMC,YAAN,CAAmB,UAAnB,CAJZ;AAKEC,MAAAA,WAAW,EAAE,cALf;AAMEC,MAAAA,OAAO,EAAE,IANX;AAOEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAPb;AAQEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AARb,KADuD,CAAnC,EAWnB,EAXmB,CAAJ;AAAA,GADH;AAcfE,EAAAA,IAAI,EAAE,cAAAb,cAAc;AAAA,WAAIA,cAAc,CAACc,UAAf,CAA0B,OAA1B,EAAmC,IAAnC,EAAyC,EAAzC,CAAJ;AAAA;AAdL,CAAjB","sourcesContent":["import Utils from '../../utils';\n\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('Users', [\n {\n firstName: 'super',\n lastName: 'admin',\n email: 'victorawotidebe@gmail.com',\n password: Utils.hashPassword('Malepass'),\n phoneNumber: '586-852-6862',\n isAdmin: true,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('Users', null, {}),\n};\n"],"file":"20190925105015-admin-user.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925105331-users.js b/dist/database/seeders/20190925105331-users.js deleted file mode 100644 index 952ffea..0000000 --- a/dist/database/seeders/20190925105331-users.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('Users', [{ - firstName: 'Romeo', - middleName: 'doe', - lastName: 'Missen', - email: 'rmissen0@adobe.com', - password: 'Malepass', - phoneNumber: '586-852-6862', - isAdmin: null, - createdAt: new Date(), - updatedAt: new Date() - }, { - firstName: 'Roberta', - middleName: 'doe', - lastName: 'Corten', - email: 'rcorten1@odnoklassniki.ru', - password: 'Femalepass', - phoneNumber: '629-490-1902', - isAdmin: null, - createdAt: new Date(), - updatedAt: new Date() - }, { - firstName: 'Johannah', - middleName: 'doe', - lastName: 'Cockman', - email: 'jcockman2@parallels.com', - password: 'Femalepass', - phoneNumber: '434-538-2990', - isAdmin: null, - createdAt: new Date(), - updatedAt: new Date() - }, { - firstName: 'Munmro', - middleName: 'doe', - lastName: 'Banbury', - email: 'mbanbury3@noaa.gov', - password: 'Malepass', - phoneNumber: '224-803-6000', - isAdmin: null, - createdAt: new Date(), - updatedAt: new Date() - }, { - firstName: 'Timofei', - middleName: 'doe', - lastName: 'Farrell', - email: 'tfarrell4@pbs.org', - password: 'Malepass', - phoneNumber: '638-685-1138', - isAdmin: false, - createdAt: new Date(), - updatedAt: new Date() - }, { - firstName: 'Celene', - middleName: 'doe', - lastName: 'Lankester', - email: 'clankester5@abc.net.au', - password: 'Femalepass', - phoneNumber: '348-524-6322', - isAdmin: null, - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('Users', null, {}); - } -}; -//# sourceMappingURL=20190925105331-users.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925105331-users.js.map b/dist/database/seeders/20190925105331-users.js.map deleted file mode 100644 index b03018f..0000000 --- a/dist/database/seeders/20190925105331-users.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925105331-users.js"],"names":["module","exports","up","queryInterface","bulkInsert","firstName","middleName","lastName","email","password","phoneNumber","isAdmin","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,OAA1B,EAAmC,CACvD;AACEC,MAAAA,SAAS,EAAE,OADb;AAEEC,MAAAA,UAAU,EAAE,KAFd;AAGEC,MAAAA,QAAQ,EAAE,QAHZ;AAIEC,MAAAA,KAAK,EAAE,oBAJT;AAKEC,MAAAA,QAAQ,EAAE,UALZ;AAMEC,MAAAA,WAAW,EAAE,cANf;AAOEC,MAAAA,OAAO,EAAE,IAPX;AAQEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARb;AASEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATb,KADuD,EAWpD;AACDR,MAAAA,SAAS,EAAE,SADV;AAEDC,MAAAA,UAAU,EAAE,KAFX;AAGDC,MAAAA,QAAQ,EAAE,QAHT;AAIDC,MAAAA,KAAK,EAAE,2BAJN;AAKDC,MAAAA,QAAQ,EAAE,YALT;AAMDC,MAAAA,WAAW,EAAE,cANZ;AAODC,MAAAA,OAAO,EAAE,IAPR;AAQDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARV;AASDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATV,KAXoD,EAqBpD;AACDR,MAAAA,SAAS,EAAE,UADV;AAEDC,MAAAA,UAAU,EAAE,KAFX;AAGDC,MAAAA,QAAQ,EAAE,SAHT;AAIDC,MAAAA,KAAK,EAAE,yBAJN;AAKDC,MAAAA,QAAQ,EAAE,YALT;AAMDC,MAAAA,WAAW,EAAE,cANZ;AAODC,MAAAA,OAAO,EAAE,IAPR;AAQDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARV;AASDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATV,KArBoD,EA+BpD;AACDR,MAAAA,SAAS,EAAE,QADV;AAEDC,MAAAA,UAAU,EAAE,KAFX;AAGDC,MAAAA,QAAQ,EAAE,SAHT;AAIDC,MAAAA,KAAK,EAAE,oBAJN;AAKDC,MAAAA,QAAQ,EAAE,UALT;AAMDC,MAAAA,WAAW,EAAE,cANZ;AAODC,MAAAA,OAAO,EAAE,IAPR;AAQDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARV;AASDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATV,KA/BoD,EAyCpD;AACDR,MAAAA,SAAS,EAAE,SADV;AAEDC,MAAAA,UAAU,EAAE,KAFX;AAGDC,MAAAA,QAAQ,EAAE,SAHT;AAIDC,MAAAA,KAAK,EAAE,mBAJN;AAKDC,MAAAA,QAAQ,EAAE,UALT;AAMDC,MAAAA,WAAW,EAAE,cANZ;AAODC,MAAAA,OAAO,EAAE,KAPR;AAQDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARV;AASDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATV,KAzCoD,EAmDpD;AACDR,MAAAA,SAAS,EAAE,QADV;AAEDC,MAAAA,UAAU,EAAE,KAFX;AAGDC,MAAAA,QAAQ,EAAE,WAHT;AAIDC,MAAAA,KAAK,EAAE,wBAJN;AAKDC,MAAAA,QAAQ,EAAE,YALT;AAMDC,MAAAA,WAAW,EAAE,cANZ;AAODC,MAAAA,OAAO,EAAE,IAPR;AAQDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EARV;AASDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AATV,KAnDoD,CAAnC,EA8DnB,EA9DmB,CAAJ;AAAA,GADH;AAiEfE,EAAAA,IAAI,EAAE,cAAAZ,cAAc;AAAA,WAAIA,cAAc,CAACa,UAAf,CAA0B,OAA1B,EAAmC,IAAnC,EAAyC,EAAzC,CAAJ;AAAA;AAjEL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('Users', [\n {\n firstName: 'Romeo',\n middleName: 'doe',\n lastName: 'Missen',\n email: 'rmissen0@adobe.com',\n password: 'Malepass',\n phoneNumber: '586-852-6862',\n isAdmin: null,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n firstName: 'Roberta',\n middleName: 'doe',\n lastName: 'Corten',\n email: 'rcorten1@odnoklassniki.ru',\n password: 'Femalepass',\n phoneNumber: '629-490-1902',\n isAdmin: null,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n firstName: 'Johannah',\n middleName: 'doe',\n lastName: 'Cockman',\n email: 'jcockman2@parallels.com',\n password: 'Femalepass',\n phoneNumber: '434-538-2990',\n isAdmin: null,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n firstName: 'Munmro',\n middleName: 'doe',\n lastName: 'Banbury',\n email: 'mbanbury3@noaa.gov',\n password: 'Malepass',\n phoneNumber: '224-803-6000',\n isAdmin: null,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n firstName: 'Timofei',\n middleName: 'doe',\n lastName: 'Farrell',\n email: 'tfarrell4@pbs.org',\n password: 'Malepass',\n phoneNumber: '638-685-1138',\n isAdmin: false,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n firstName: 'Celene',\n middleName: 'doe',\n lastName: 'Lankester',\n email: 'clankester5@abc.net.au',\n password: 'Femalepass',\n phoneNumber: '348-524-6322',\n isAdmin: null,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('Users', null, {}),\n};\n"],"file":"20190925105331-users.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925105527-dues.js b/dist/database/seeders/20190925105527-dues.js deleted file mode 100644 index bd3f27c..0000000 --- a/dist/database/seeders/20190925105527-dues.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('dues', [{ - dueDate: '5/25/2019', - amount: 322119.01, - "for": 2012, - createdAt: new Date(), - updatedAt: new Date() - }, { - dueDate: '1/15/2019', - amount: 40320.91, - "for": 2006, - createdAt: new Date(), - updatedAt: new Date() - }, { - dueDate: '2/5/2019', - amount: 179086.82, - "for": 1998, - createdAt: new Date(), - updatedAt: new Date() - }, { - dueDate: '11/13/2018', - amount: '170615.98', - "for": 2009, - createdAt: new Date(), - updatedAt: new Date() - }, { - dueDate: '2/5/2019', - amount: 420058.87, - "for": 2001, - createdAt: new Date(), - updatedAt: new Date() - }, { - dueDate: '2/19/2019', - amount: 76169.32, - "for": 2003, - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('dues', null, {}); - } -}; -//# sourceMappingURL=20190925105527-dues.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925105527-dues.js.map b/dist/database/seeders/20190925105527-dues.js.map deleted file mode 100644 index b82c529..0000000 --- a/dist/database/seeders/20190925105527-dues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925105527-dues.js"],"names":["module","exports","up","queryInterface","bulkInsert","dueDate","amount","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;AACAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,MAA1B,EAAkC,CACtD;AACEC,MAAAA,OAAO,EAAE,WADX;AAEEC,MAAAA,MAAM,EAAE,SAFV;AAGE,aAAK,IAHP;AAIEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJb;AAKEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALb,KADsD,EAOnD;AACDH,MAAAA,OAAO,EAAE,WADR;AAEDC,MAAAA,MAAM,EAAE,QAFP;AAGD,aAAK,IAHJ;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAPmD,EAanD;AACDH,MAAAA,OAAO,EAAE,UADR;AAEDC,MAAAA,MAAM,EAAE,SAFP;AAGD,aAAK,IAHJ;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAbmD,EAmBnD;AACDH,MAAAA,OAAO,EAAE,YADR;AAEDC,MAAAA,MAAM,EAAE,WAFP;AAGD,aAAK,IAHJ;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAnBmD,EAyBnD;AACDH,MAAAA,OAAO,EAAE,UADR;AAEDC,MAAAA,MAAM,EAAE,SAFP;AAGD,aAAK,IAHJ;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAzBmD,EA+BnD;AACDH,MAAAA,OAAO,EAAE,WADR;AAEDC,MAAAA,MAAM,EAAE,QAFP;AAGD,aAAK,IAHJ;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KA/BmD,CAAlC,EAsCnB,EAtCmB,CAAJ;AAAA,GADH;AAyCfE,EAAAA,IAAI,EAAE,cAAAP,cAAc;AAAA,WAAIA,cAAc,CAACQ,UAAf,CAA0B,MAA1B,EAAkC,IAAlC,EAAwC,EAAxC,CAAJ;AAAA;AAzCL,CAAjB","sourcesContent":["\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('dues', [\n {\n dueDate: '5/25/2019',\n amount: 322119.01,\n for: 2012,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n dueDate: '1/15/2019',\n amount: 40320.91,\n for: 2006,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n dueDate: '2/5/2019',\n amount: 179086.82,\n for: 1998,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n dueDate: '11/13/2018',\n amount: '170615.98',\n for: 2009,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n dueDate: '2/5/2019',\n amount: 420058.87,\n for: 2001,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n dueDate: '2/19/2019',\n amount: 76169.32,\n for: 2003,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('dues', null, {}),\n};\n"],"file":"20190925105527-dues.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925105818-events.js b/dist/database/seeders/20190925105818-events.js deleted file mode 100644 index 2aa787e..0000000 --- a/dist/database/seeders/20190925105818-events.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('events', [{ - title: 'Administrative Assistant IV', - imageUrl: 'http://dummyimage.com/233x194.png/dddddd/000000', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }, { - title: 'Analyst Programmer', - imageUrl: 'http://dummyimage.com/138x175.jpg/dddddd/000000', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }, { - title: 'Developer II', - imageUrl: 'http://dummyimage.com/115x140.png/cc0000/ffffff', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }, { - title: 'Associate Professor', - imageUrl: 'http://dummyimage.com/119x177.png/cc0000/ffffff', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }, { - title: 'Occupational Therapist', - imageUrl: 'http://dummyimage.com/248x215.jpg/cc0000/ffffff', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }, { - title: 'Social Worker', - imageUrl: 'http://dummyimage.com/234x157.jpg/ff4444/ffffff', - time: '02:00', - date: new Date(), - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('People', null, {}); - } -}; -//# sourceMappingURL=20190925105818-events.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925105818-events.js.map b/dist/database/seeders/20190925105818-events.js.map deleted file mode 100644 index 1e515b6..0000000 --- a/dist/database/seeders/20190925105818-events.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925105818-events.js"],"names":["module","exports","up","queryInterface","bulkInsert","title","imageUrl","time","date","Date","createdAt","updatedAt","down","bulkDelete"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,QAA1B,EAAoC,CACxD;AACEC,MAAAA,KAAK,EAAE,6BADT;AAEEC,MAAAA,QAAQ,EAAE,iDAFZ;AAGEC,MAAAA,IAAI,EAAE,OAHR;AAIEC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJR;AAKEC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALb;AAMEE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANb,KADwD,EAQrD;AACDJ,MAAAA,KAAK,EAAE,oBADN;AAEDC,MAAAA,QAAQ,EAAE,iDAFT;AAGDC,MAAAA,IAAI,EAAE,OAHL;AAIDC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJL;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALV;AAMDE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANV,KARqD,EAerD;AACDJ,MAAAA,KAAK,EAAE,cADN;AAEDC,MAAAA,QAAQ,EAAE,iDAFT;AAGDC,MAAAA,IAAI,EAAE,OAHL;AAIDC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJL;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALV;AAMDE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANV,KAfqD,EAsBrD;AACDJ,MAAAA,KAAK,EAAE,qBADN;AAEDC,MAAAA,QAAQ,EAAE,iDAFT;AAGDC,MAAAA,IAAI,EAAE,OAHL;AAIDC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJL;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALV;AAMDE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANV,KAtBqD,EA6BrD;AACDJ,MAAAA,KAAK,EAAE,wBADN;AAEDC,MAAAA,QAAQ,EAAE,iDAFT;AAGDC,MAAAA,IAAI,EAAE,OAHL;AAIDC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJL;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALV;AAMDE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANV,KA7BqD,EAoCrD;AACDJ,MAAAA,KAAK,EAAE,eADN;AAEDC,MAAAA,QAAQ,EAAE,iDAFT;AAGDC,MAAAA,IAAI,EAAE,OAHL;AAIDC,MAAAA,IAAI,EAAE,IAAIC,IAAJ,EAJL;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ,EALV;AAMDE,MAAAA,SAAS,EAAE,IAAIF,IAAJ;AANV,KApCqD,CAApC,EA4CnB,EA5CmB,CAAJ;AAAA,GADH;AA+CfG,EAAAA,IAAI,EAAE,cAAAT,cAAc;AAAA,WAAIA,cAAc,CAACU,UAAf,CAA0B,QAA1B,EAAoC,IAApC,EAA0C,EAA1C,CAAJ;AAAA;AA/CL,CAAjB","sourcesContent":["module.exports = {\n up: queryInterface => queryInterface.bulkInsert('events', [\n {\n title: 'Administrative Assistant IV',\n imageUrl: 'http://dummyimage.com/233x194.png/dddddd/000000',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n title: 'Analyst Programmer',\n imageUrl: 'http://dummyimage.com/138x175.jpg/dddddd/000000',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n title: 'Developer II',\n imageUrl: 'http://dummyimage.com/115x140.png/cc0000/ffffff',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n title: 'Associate Professor',\n imageUrl: 'http://dummyimage.com/119x177.png/cc0000/ffffff',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n title: 'Occupational Therapist',\n imageUrl: 'http://dummyimage.com/248x215.jpg/cc0000/ffffff',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n title: 'Social Worker',\n imageUrl: 'http://dummyimage.com/234x157.jpg/ff4444/ffffff',\n time: '02:00',\n date: new Date(),\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('People', null, {}),\n};\n"],"file":"20190925105818-events.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925110036-userDues.js b/dist/database/seeders/20190925110036-userDues.js deleted file mode 100644 index ed0548d..0000000 --- a/dist/database/seeders/20190925110036-userDues.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('userDues', [{ - paidOn: '5/25/2019', - amount: 322119.01, - userId: 1, - "for": 2012, - createdAt: new Date(), - updatedAt: new Date() - }, { - paidOn: '1/15/2019', - amount: 40320.91, - userId: 2, - "for": 2006, - createdAt: new Date(), - updatedAt: new Date() - }, { - paidOn: '2/5/2019', - amount: 179086.82, - userId: 3, - "for": 1998, - createdAt: new Date(), - updatedAt: new Date() - }, { - paidOn: '11/13/2018', - amount: 170615.98, - userId: 4, - "for": 2006, - createdAt: new Date(), - updatedAt: new Date() - }, { - paidOn: '2/5/2019', - amount: 420058.87, - userId: 5, - "for": 2000, - createdAt: new Date(), - updatedAt: new Date() - }, { - paidOn: '2/19/2019', - amount: 76169.32, - userId: 6, - "for": 2006, - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('userDues', null, {}); - } -}; -//# sourceMappingURL=20190925110036-userDues.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925110036-userDues.js.map b/dist/database/seeders/20190925110036-userDues.js.map deleted file mode 100644 index 622f7c9..0000000 --- a/dist/database/seeders/20190925110036-userDues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925110036-userDues.js"],"names":["module","exports","up","queryInterface","bulkInsert","paidOn","amount","userId","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,UAA1B,EAAsC,CAC1D;AACEC,MAAAA,MAAM,EAAE,WADV;AAEEC,MAAAA,MAAM,EAAE,SAFV;AAGEC,MAAAA,MAAM,EAAE,CAHV;AAIE,aAAK,IAJP;AAKEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALb;AAMEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANb,KAD0D,EAQvD;AACDJ,MAAAA,MAAM,EAAE,WADP;AAEDC,MAAAA,MAAM,EAAE,QAFP;AAGDC,MAAAA,MAAM,EAAE,CAHP;AAID,aAAK,IAJJ;AAKDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALV;AAMDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANV,KARuD,EAevD;AACDJ,MAAAA,MAAM,EAAE,UADP;AAEDC,MAAAA,MAAM,EAAE,SAFP;AAGDC,MAAAA,MAAM,EAAE,CAHP;AAID,aAAK,IAJJ;AAKDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALV;AAMDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANV,KAfuD,EAsBvD;AACDJ,MAAAA,MAAM,EAAE,YADP;AAEDC,MAAAA,MAAM,EAAE,SAFP;AAGDC,MAAAA,MAAM,EAAE,CAHP;AAID,aAAK,IAJJ;AAKDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALV;AAMDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANV,KAtBuD,EA6BvD;AACDJ,MAAAA,MAAM,EAAE,UADP;AAEDC,MAAAA,MAAM,EAAE,SAFP;AAGDC,MAAAA,MAAM,EAAE,CAHP;AAID,aAAK,IAJJ;AAKDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALV;AAMDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANV,KA7BuD,EAoCvD;AACDJ,MAAAA,MAAM,EAAE,WADP;AAEDC,MAAAA,MAAM,EAAE,QAFP;AAGDC,MAAAA,MAAM,EAAE,CAHP;AAID,aAAK,IAJJ;AAKDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EALV;AAMDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AANV,KApCuD,CAAtC,EA4CnB,EA5CmB,CAAJ;AAAA,GADH;AA+CfE,EAAAA,IAAI,EAAE,cAAAR,cAAc;AAAA,WAAIA,cAAc,CAACS,UAAf,CAA0B,UAA1B,EAAsC,IAAtC,EAA4C,EAA5C,CAAJ;AAAA;AA/CL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('userDues', [\n {\n paidOn: '5/25/2019',\n amount: 322119.01,\n userId: 1,\n for: 2012,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n paidOn: '1/15/2019',\n amount: 40320.91,\n userId: 2,\n for: 2006,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n paidOn: '2/5/2019',\n amount: 179086.82,\n userId: 3,\n for: 1998,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n paidOn: '11/13/2018',\n amount: 170615.98,\n userId: 4,\n for: 2006,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n paidOn: '2/5/2019',\n amount: 420058.87,\n userId: 5,\n for: 2000,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n paidOn: '2/19/2019',\n amount: 76169.32,\n userId: 6,\n for: 2006,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('userDues', null, {}),\n};\n"],"file":"20190925110036-userDues.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925110541-courses.js b/dist/database/seeders/20190925110541-courses.js deleted file mode 100644 index 83ff8f0..0000000 --- a/dist/database/seeders/20190925110541-courses.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('courses', [{ - courseTitle: 'Cost Accountant', - memberFees: 388781.43, - nonMemberFees: 388781.43, - startDate: '7/15/2019', - endDate: '11/4/2018', - createdAt: new Date(), - updatedAt: new Date() - }, { - courseTitle: 'Junior Executive', - memberFees: 69183.95, - nonMemberFees: 388781.43, - startDate: '9/19/2019', - endDate: '1/28/2019', - createdAt: new Date(), - updatedAt: new Date() - }, { - courseTitle: 'Administrative Assistant IV', - memberFees: 370019.64, - nonMemberFees: 388781.43, - startDate: '2/25/2019', - endDate: '3/17/2019', - createdAt: new Date(), - updatedAt: new Date() - }, { - courseTitle: 'Recruiter', - memberFees: 206668.74, - nonMemberFees: 388781.43, - startDate: '11/10/2018', - endDate: '3/22/2019', - createdAt: new Date(), - updatedAt: new Date() - }, { - courseTitle: 'Programmer Analyst I', - memberFees: 76561.08, - nonMemberFees: 388781.43, - startDate: '5/11/2019', - endDate: '1/5/2019', - createdAt: new Date(), - updatedAt: new Date() - }, { - courseTitle: 'Environmental Tech', - memberFees: 147746.39, - nonMemberFees: 388781.43, - startDate: '9/20/2019', - endDate: '8/29/2019', - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('courses', null, {}); - } -}; -//# sourceMappingURL=20190925110541-courses.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925110541-courses.js.map b/dist/database/seeders/20190925110541-courses.js.map deleted file mode 100644 index 24e5f96..0000000 --- a/dist/database/seeders/20190925110541-courses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925110541-courses.js"],"names":["module","exports","up","queryInterface","bulkInsert","courseTitle","memberFees","nonMemberFees","startDate","endDate","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,SAA1B,EAAqC,CACzD;AACEC,MAAAA,WAAW,EAAE,iBADf;AAEEC,MAAAA,UAAU,EAAE,SAFd;AAGEC,MAAAA,aAAa,EAAE,SAHjB;AAIEC,MAAAA,SAAS,EAAE,WAJb;AAKEC,MAAAA,OAAO,EAAE,WALX;AAMEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANb;AAOEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPb,KADyD,EAStD;AACDN,MAAAA,WAAW,EAAE,kBADZ;AAEDC,MAAAA,UAAU,EAAE,QAFX;AAGDC,MAAAA,aAAa,EAAE,SAHd;AAIDC,MAAAA,SAAS,EAAE,WAJV;AAKDC,MAAAA,OAAO,EAAE,WALR;AAMDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANV;AAODC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPV,KATsD,EAiBtD;AACDN,MAAAA,WAAW,EAAE,6BADZ;AAEDC,MAAAA,UAAU,EAAE,SAFX;AAGDC,MAAAA,aAAa,EAAE,SAHd;AAIDC,MAAAA,SAAS,EAAE,WAJV;AAKDC,MAAAA,OAAO,EAAE,WALR;AAMDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANV;AAODC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPV,KAjBsD,EAyBtD;AACDN,MAAAA,WAAW,EAAE,WADZ;AAEDC,MAAAA,UAAU,EAAE,SAFX;AAGDC,MAAAA,aAAa,EAAE,SAHd;AAIDC,MAAAA,SAAS,EAAE,YAJV;AAKDC,MAAAA,OAAO,EAAE,WALR;AAMDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANV;AAODC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPV,KAzBsD,EAiCtD;AACDN,MAAAA,WAAW,EAAE,sBADZ;AAEDC,MAAAA,UAAU,EAAE,QAFX;AAGDC,MAAAA,aAAa,EAAE,SAHd;AAIDC,MAAAA,SAAS,EAAE,WAJV;AAKDC,MAAAA,OAAO,EAAE,UALR;AAMDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANV;AAODC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPV,KAjCsD,EAyCtD;AACDN,MAAAA,WAAW,EAAE,oBADZ;AAEDC,MAAAA,UAAU,EAAE,SAFX;AAGDC,MAAAA,aAAa,EAAE,SAHd;AAIDC,MAAAA,SAAS,EAAE,WAJV;AAKDC,MAAAA,OAAO,EAAE,WALR;AAMDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EANV;AAODC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AAPV,KAzCsD,CAArC,EAkDnB,EAlDmB,CAAJ;AAAA,GADH;AAqDfE,EAAAA,IAAI,EAAE,cAAAV,cAAc;AAAA,WAAIA,cAAc,CAACW,UAAf,CAA0B,SAA1B,EAAqC,IAArC,EAA2C,EAA3C,CAAJ;AAAA;AArDL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('courses', [\n {\n courseTitle: 'Cost Accountant',\n memberFees: 388781.43,\n nonMemberFees: 388781.43,\n startDate: '7/15/2019',\n endDate: '11/4/2018',\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n courseTitle: 'Junior Executive',\n memberFees: 69183.95,\n nonMemberFees: 388781.43,\n startDate: '9/19/2019',\n endDate: '1/28/2019',\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n courseTitle: 'Administrative Assistant IV',\n memberFees: 370019.64,\n nonMemberFees: 388781.43,\n startDate: '2/25/2019',\n endDate: '3/17/2019',\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n courseTitle: 'Recruiter',\n memberFees: 206668.74,\n nonMemberFees: 388781.43,\n startDate: '11/10/2018',\n endDate: '3/22/2019',\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n courseTitle: 'Programmer Analyst I',\n memberFees: 76561.08,\n nonMemberFees: 388781.43,\n startDate: '5/11/2019',\n endDate: '1/5/2019',\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n courseTitle: 'Environmental Tech',\n memberFees: 147746.39,\n nonMemberFees: 388781.43,\n startDate: '9/20/2019',\n endDate: '8/29/2019',\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('courses', null, {}),\n};\n"],"file":"20190925110541-courses.js"} \ No newline at end of file diff --git a/dist/database/seeders/20190925110552-userCourses.js b/dist/database/seeders/20190925110552-userCourses.js deleted file mode 100644 index f52b4e7..0000000 --- a/dist/database/seeders/20190925110552-userCourses.js +++ /dev/null @@ -1,47 +0,0 @@ -"use strict"; - -module.exports = { - up: function up(queryInterface) { - return queryInterface.bulkInsert('userCourses', [{ - registeredOn: '5/19/2019', - userId: 1, - courseId: 1, - createdAt: new Date(), - updatedAt: new Date() - }, { - registeredOn: '9/24/2019', - userId: 2, - courseId: 2, - createdAt: new Date(), - updatedAt: new Date() - }, { - registeredOn: '2/25/2019', - userId: 3, - courseId: 3, - createdAt: new Date(), - updatedAt: new Date() - }, { - registeredOn: '3/1/2019', - userId: 4, - courseId: 4, - createdAt: new Date(), - updatedAt: new Date() - }, { - registeredOn: '4/22/2019', - userId: 5, - courseId: 5, - createdAt: new Date(), - updatedAt: new Date() - }, { - registeredOn: '12/1/2018', - userId: 6, - courseId: 6, - createdAt: new Date(), - updatedAt: new Date() - }], {}); - }, - down: function down(queryInterface) { - return queryInterface.bulkDelete('userCourses', null, {}); - } -}; -//# sourceMappingURL=20190925110552-userCourses.js.map \ No newline at end of file diff --git a/dist/database/seeders/20190925110552-userCourses.js.map b/dist/database/seeders/20190925110552-userCourses.js.map deleted file mode 100644 index 97b5ffb..0000000 --- a/dist/database/seeders/20190925110552-userCourses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../src/database/seeders/20190925110552-userCourses.js"],"names":["module","exports","up","queryInterface","bulkInsert","registeredOn","userId","courseId","createdAt","Date","updatedAt","down","bulkDelete"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB;AACfC,EAAAA,EAAE,EAAE,YAAAC,cAAc;AAAA,WAAIA,cAAc,CAACC,UAAf,CAA0B,aAA1B,EAAyC,CAC7D;AACEC,MAAAA,YAAY,EAAE,WADhB;AAEEC,MAAAA,MAAM,EAAE,CAFV;AAGEC,MAAAA,QAAQ,EAAE,CAHZ;AAIEC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJb;AAKEC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALb,KAD6D,EAO1D;AACDJ,MAAAA,YAAY,EAAE,WADb;AAEDC,MAAAA,MAAM,EAAE,CAFP;AAGDC,MAAAA,QAAQ,EAAE,CAHT;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAP0D,EAa1D;AACDJ,MAAAA,YAAY,EAAE,WADb;AAEDC,MAAAA,MAAM,EAAE,CAFP;AAGDC,MAAAA,QAAQ,EAAE,CAHT;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAb0D,EAmB1D;AACDJ,MAAAA,YAAY,EAAE,UADb;AAEDC,MAAAA,MAAM,EAAE,CAFP;AAGDC,MAAAA,QAAQ,EAAE,CAHT;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAnB0D,EAyB1D;AACDJ,MAAAA,YAAY,EAAE,WADb;AAEDC,MAAAA,MAAM,EAAE,CAFP;AAGDC,MAAAA,QAAQ,EAAE,CAHT;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KAzB0D,EA+B1D;AACDJ,MAAAA,YAAY,EAAE,WADb;AAEDC,MAAAA,MAAM,EAAE,CAFP;AAGDC,MAAAA,QAAQ,EAAE,CAHT;AAIDC,MAAAA,SAAS,EAAE,IAAIC,IAAJ,EAJV;AAKDC,MAAAA,SAAS,EAAE,IAAID,IAAJ;AALV,KA/B0D,CAAzC,EAsCnB,EAtCmB,CAAJ;AAAA,GADH;AAyCfE,EAAAA,IAAI,EAAE,cAAAR,cAAc;AAAA,WAAIA,cAAc,CAACS,UAAf,CAA0B,aAA1B,EAAyC,IAAzC,EAA+C,EAA/C,CAAJ;AAAA;AAzCL,CAAjB","sourcesContent":["\n\nmodule.exports = {\n up: queryInterface => queryInterface.bulkInsert('userCourses', [\n {\n registeredOn: '5/19/2019',\n userId: 1,\n courseId: 1,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n registeredOn: '9/24/2019',\n userId: 2,\n courseId: 2,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n registeredOn: '2/25/2019',\n userId: 3,\n courseId: 3,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n registeredOn: '3/1/2019',\n userId: 4,\n courseId: 4,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n registeredOn: '4/22/2019',\n userId: 5,\n courseId: 5,\n createdAt: new Date(),\n updatedAt: new Date(),\n }, {\n registeredOn: '12/1/2018',\n userId: 6,\n courseId: 6,\n createdAt: new Date(),\n updatedAt: new Date(),\n },\n ], {}),\n\n down: queryInterface => queryInterface.bulkDelete('userCourses', null, {}),\n};\n"],"file":"20190925110552-userCourses.js"} \ No newline at end of file diff --git a/dist/middlewares/authenticate.js b/dist/middlewares/authenticate.js deleted file mode 100644 index 4c8fe53..0000000 --- a/dist/middlewares/authenticate.js +++ /dev/null @@ -1,132 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _utils = _interopRequireDefault(require("../utils")); - -var _response = _interopRequireDefault(require("../utils/response")); - -var _userServices = _interopRequireDefault(require("../services/userServices")); - -/* eslint-disable prefer-destructuring */ -var resErr = _response["default"].resErr; -/** - * @class AuthenticateUser - * @description Contains methods for user authentication - * @exports AuthenticateUser - */ - -var AuthenticateUser = -/*#__PURE__*/ -function () { - function AuthenticateUser() { - (0, _classCallCheck2["default"])(this, AuthenticateUser); - } - - (0, _createClass2["default"])(AuthenticateUser, null, [{ - key: "verifyToken", - - /** - * @method verifyToken - * @description Verifies if token is valid - * @param {object} req - The user request object - * @param {object} res - The user res response object - * @param {function} next - The next() Function - * @returns {object} req.user - The payload object - */ - value: function () { - var _verifyToken = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(req, res, next) { - var token, decoded, user; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - token = req.headers.authorization; - - if (token) { - _context.next = 3; - break; - } - - return _context.abrupt("return", resErr(res, 400, 'No token Provided')); - - case 3: - token = token.split(' ')[1]; - _context.prev = 4; - decoded = _utils["default"].decodeToken(token); - _context.next = 8; - return _userServices["default"].getUserByEmail(decoded.email); - - case 8: - user = _context.sent; - - if (user) { - _context.next = 11; - break; - } - - return _context.abrupt("return", resErr(res, 400, 'Invalid Token')); - - case 11: - req.user = user; - return _context.abrupt("return", next()); - - case 15: - _context.prev = 15; - _context.t0 = _context["catch"](4); - return _context.abrupt("return", resErr(res, 500, _context.t0.message)); - - case 18: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[4, 15]]); - })); - - function verifyToken(_x, _x2, _x3) { - return _verifyToken.apply(this, arguments); - } - - return verifyToken; - }() - /** - * @method verifyAdmin - * @description verifies the user token to determine if the user is admin or not - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @param {object} next - The next Object - * @returns {object} JSON API Response - */ - - }, { - key: "verifyAdmin", - value: function verifyAdmin(req, res, next) { - if (!req.user.isAdmin) { - return resErr(res, 403, 'Unauthorized Access'); - } - - return next(); - } - }]); - return AuthenticateUser; -}(); - -var _default = AuthenticateUser; -exports["default"] = _default; -//# sourceMappingURL=authenticate.js.map \ No newline at end of file diff --git a/dist/middlewares/authenticate.js.map b/dist/middlewares/authenticate.js.map deleted file mode 100644 index a2f3d96..0000000 --- a/dist/middlewares/authenticate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/middlewares/authenticate.js"],"names":["resErr","ResponseMsg","AuthenticateUser","req","res","next","token","headers","authorization","split","decoded","Utils","decodeToken","UserServices","getUserByEmail","email","user","message","isAdmin"],"mappings":";;;;;;;;;;;;;;;;;AACA;;AACA;;AACA;;AAHA;IAKQA,M,GAAWC,oB,CAAXD,M;AAER;;;;;;IAKME,gB;;;;;;;;;;AACJ;;;;;;;;;;;oDAQyBC,G,EAAKC,G,EAAKC,I;;;;;;AAC7BC,gBAAAA,K,GAAQH,GAAG,CAACI,OAAJ,CAAYC,a;;oBACnBF,K;;;;;iDACIN,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,mBAAX,C;;;AAEfE,gBAAAA,KAAK,GAAGA,KAAK,CAACG,KAAN,CAAY,GAAZ,EAAiB,CAAjB,CAAR;;AAGQC,gBAAAA,O,GAAUC,kBAAMC,WAAN,CAAkBN,KAAlB,C;;uBACGO,yBAAaC,cAAb,CAA4BJ,OAAO,CAACK,KAApC,C;;;AAAbC,gBAAAA,I;;oBACDA,I;;;;;iDACIhB,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,eAAX,C;;;AAEfD,gBAAAA,GAAG,CAACa,IAAJ,GAAWA,IAAX;iDACOX,IAAI,E;;;;;iDAEJL,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,YAAMa,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;gCAQmBd,G,EAAKC,G,EAAKC,I,EAAM;AACjC,UAAI,CAACF,GAAG,CAACa,IAAJ,CAASE,OAAd,EAAuB;AACrB,eAAOlB,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,qBAAX,CAAb;AACD;;AACD,aAAOC,IAAI,EAAX;AACD;;;;;eAGYH,gB","sourcesContent":["/* eslint-disable prefer-destructuring */\nimport Utils from '../utils';\nimport ResponseMsg from '../utils/response';\nimport UserServices from '../services/userServices';\n\nconst { resErr } = ResponseMsg;\n\n/**\n * @class AuthenticateUser\n * @description Contains methods for user authentication\n * @exports AuthenticateUser\n */\nclass AuthenticateUser {\n /**\n * @method verifyToken\n * @description Verifies if token is valid\n * @param {object} req - The user request object\n * @param {object} res - The user res response object\n * @param {function} next - The next() Function\n * @returns {object} req.user - The payload object\n */\n static async verifyToken(req, res, next) {\n let token = req.headers.authorization;\n if (!token) {\n return resErr(res, 400, 'No token Provided');\n }\n token = token.split(' ')[1];\n\n try {\n const decoded = Utils.decodeToken(token);\n const user = await UserServices.getUserByEmail(decoded.email);\n if (!user) {\n return resErr(res, 400, 'Invalid Token');\n }\n req.user = user;\n return next();\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @method verifyAdmin\n * @description verifies the user token to determine if the user is admin or not\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @param {object} next - The next Object\n * @returns {object} JSON API Response\n */\n static verifyAdmin(req, res, next) {\n if (!req.user.isAdmin) {\n return resErr(res, 403, 'Unauthorized Access');\n }\n return next();\n }\n}\n\nexport default AuthenticateUser;\n"],"file":"authenticate.js"} \ No newline at end of file diff --git a/dist/middlewares/errorHandler.js b/dist/middlewares/errorHandler.js deleted file mode 100644 index 9d50fd2..0000000 --- a/dist/middlewares/errorHandler.js +++ /dev/null @@ -1,53 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -/** - * @exports ErrorHandler - * @class ErrorHandler - */ -var ErrorHandler = -/*#__PURE__*/ -function () { - function ErrorHandler() { - (0, _classCallCheck2["default"])(this, ErrorHandler); - } - - (0, _createClass2["default"])(ErrorHandler, null, [{ - key: "sendError", - - /** - * @description Handles uncaught erros in the app - * @method sendError - * @param {object} err - * @param {object} req - * @param {object} res - * @param {function} next - * @returns {(function|object)} Function next() or JSON API response - */ - value: function sendError(err, req, res, next) { - if (res.headersSent) { - return next(err); - } - - return res.status(err.status || 500).json({ - status: res.statusCode, - error: err.message - }); - } - }]); - return ErrorHandler; -}(); - -var _default = ErrorHandler; -exports["default"] = _default; -//# sourceMappingURL=errorHandler.js.map \ No newline at end of file diff --git a/dist/middlewares/errorHandler.js.map b/dist/middlewares/errorHandler.js.map deleted file mode 100644 index fa582ac..0000000 --- a/dist/middlewares/errorHandler.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/middlewares/errorHandler.js"],"names":["ErrorHandler","err","req","res","next","headersSent","status","json","statusCode","error","message"],"mappings":";;;;;;;;;;;;;AAAA;;;;IAIMA,Y;;;;;;;;;;AACN;;;;;;;;;8BASmBC,G,EAAKC,G,EAAKC,G,EAAKC,I,EAAM;AACpC,UAAID,GAAG,CAACE,WAAR,EAAqB;AACnB,eAAOD,IAAI,CAACH,GAAD,CAAX;AACD;;AAED,aAAOE,GAAG,CAACG,MAAJ,CAAWL,GAAG,CAACK,MAAJ,IAAc,GAAzB,EAA8BC,IAA9B,CAAmC;AACxCD,QAAAA,MAAM,EAAEH,GAAG,CAACK,UAD4B;AAExCC,QAAAA,KAAK,EAAER,GAAG,CAACS;AAF6B,OAAnC,CAAP;AAID;;;;;eAGYV,Y","sourcesContent":["/**\n * @exports ErrorHandler\n * @class ErrorHandler\n */\nclass ErrorHandler {\n/**\n * @description Handles uncaught erros in the app\n * @method sendError\n * @param {object} err\n * @param {object} req\n * @param {object} res\n * @param {function} next\n * @returns {(function|object)} Function next() or JSON API response\n */\n static sendError(err, req, res, next) {\n if (res.headersSent) {\n return next(err);\n }\n\n return res.status(err.status || 500).json({\n status: res.statusCode,\n error: err.message,\n });\n }\n}\n\nexport default ErrorHandler;\n"],"file":"errorHandler.js"} \ No newline at end of file diff --git a/dist/middlewares/userMiddleware.js b/dist/middlewares/userMiddleware.js deleted file mode 100644 index 36423f7..0000000 --- a/dist/middlewares/userMiddleware.js +++ /dev/null @@ -1,270 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _utils = _interopRequireDefault(require("../utils")); - -var _userServices = _interopRequireDefault(require("../services/userServices")); - -var _response = _interopRequireDefault(require("../utils/response")); - -var resErr = _response["default"].resErr; -/** - * User Middlewares Class - */ - -var UserMiddlewares = -/*#__PURE__*/ -function () { - function UserMiddlewares() { - (0, _classCallCheck2["default"])(this, UserMiddlewares); - } - - (0, _createClass2["default"])(UserMiddlewares, null, [{ - key: "checkUserExists", - - /** - * @name checkUserExists - * @description Checks if a user exists in the database - * @param {object} req The request object - * @param {object} res The response object - * @param {object} next The response object - * @returns {object} The API response or next() - */ - value: function () { - var _checkUserExists = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(req, res, next) { - var email, data; - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.prev = 0; - email = req.body.email; - _context.next = 4; - return _userServices["default"].getUserByEmail(email); - - case 4: - data = _context.sent; - - if (data) { - _context.next = 7; - break; - } - - return _context.abrupt("return", next()); - - case 7: - return _context.abrupt("return", resErr(res, 409, 'Unsuccesful, user already exists, kindly use a different email.')); - - case 10: - _context.prev = 10; - _context.t0 = _context["catch"](0); - return _context.abrupt("return", resErr(res, 500, _context.t0.message)); - - case 13: - case "end": - return _context.stop(); - } - } - }, _callee, null, [[0, 10]]); - })); - - function checkUserExists(_x, _x2, _x3) { - return _checkUserExists.apply(this, arguments); - } - - return checkUserExists; - }() - /** - * @name doesUserExist - * @description Checks if a user exists in the database - * @param {object} req The request object - * @param {object} res The response object - * @param {object} next The response object - * @returns {object} The API response or next() - */ - - }, { - key: "doesUserExist", - value: function () { - var _doesUserExist = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee2(req, res, next) { - var email, data; - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.prev = 0; - email = req.body.email; - _context2.next = 4; - return _userServices["default"].getUserByEmail(email); - - case 4: - data = _context2.sent; - - if (!data) { - _context2.next = 8; - break; - } - - req.user = data.dataValues; - return _context2.abrupt("return", next()); - - case 8: - return _context2.abrupt("return", resErr(res, 404, 'Unsuccesful, User does not exist.')); - - case 11: - _context2.prev = 11; - _context2.t0 = _context2["catch"](0); - return _context2.abrupt("return", resErr(res, 500, _context2.t0.message)); - - case 14: - case "end": - return _context2.stop(); - } - } - }, _callee2, null, [[0, 11]]); - })); - - function doesUserExist(_x4, _x5, _x6) { - return _doesUserExist.apply(this, arguments); - } - - return doesUserExist; - }() - /** - * @name confirmUserExists - * @description Checks if a user exists in the database - * @param {object} req The request object - * @param {object} res The response object - * @param {object} next The response object - * @returns {object} The API response or next() - */ - - }, { - key: "confirmUserExists", - value: function () { - var _confirmUserExists = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee3(req, res, next) { - var user, data; - return _regenerator["default"].wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.prev = 0; - user = req.user; - _context3.next = 4; - return _userServices["default"].getUserByEmail(user.email); - - case 4: - data = _context3.sent; - - if (!data) { - _context3.next = 7; - break; - } - - return _context3.abrupt("return", next()); - - case 7: - return _context3.abrupt("return", resErr(res, 409, 'Unsuccesful, User does not exist. Please contact Admin')); - - case 10: - _context3.prev = 10; - _context3.t0 = _context3["catch"](0); - return _context3.abrupt("return", resErr(res, 500, _context3.t0.message)); - - case 13: - case "end": - return _context3.stop(); - } - } - }, _callee3, null, [[0, 10]]); - })); - - function confirmUserExists(_x7, _x8, _x9) { - return _confirmUserExists.apply(this, arguments); - } - - return confirmUserExists; - }() - /** - * @name userVerified - * @description Checks if a user is verified in the database - * @param {object} req The request object - * @param {object} res The response object - * @param {object} next The response object - * @returns {object} The API response or next() - */ - - }, { - key: "isUserVerified", - value: function () { - var _isUserVerified = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee4(req, res, next) { - var decoded, user; - return _regenerator["default"].wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - _context4.prev = 0; - decoded = _utils["default"].decodeToken(req.query.token); - _context4.next = 4; - return _userServices["default"].getUserByEmail(decoded.email); - - case 4: - user = _context4.sent; - - if (user.isVerified) { - _context4.next = 7; - break; - } - - return _context4.abrupt("return", next()); - - case 7: - return _context4.abrupt("return", resErr(res, 400, 'Unsuccesful, Your account has already been Verified.')); - - case 10: - _context4.prev = 10; - _context4.t0 = _context4["catch"](0); - return _context4.abrupt("return", resErr(res, 500, 'Link is Invalid or expired.')); - - case 13: - case "end": - return _context4.stop(); - } - } - }, _callee4, null, [[0, 10]]); - })); - - function isUserVerified(_x10, _x11, _x12) { - return _isUserVerified.apply(this, arguments); - } - - return isUserVerified; - }() - }]); - return UserMiddlewares; -}(); - -exports["default"] = UserMiddlewares; -//# sourceMappingURL=userMiddleware.js.map \ No newline at end of file diff --git a/dist/middlewares/userMiddleware.js.map b/dist/middlewares/userMiddleware.js.map deleted file mode 100644 index c8ee94e..0000000 --- a/dist/middlewares/userMiddleware.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/middlewares/userMiddleware.js"],"names":["resErr","ResponseMsg","UserMiddlewares","req","res","next","email","body","UserServices","getUserByEmail","data","message","user","dataValues","decoded","Utils","decodeToken","query","token","isVerified"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;IAEQA,M,GAAWC,oB,CAAXD,M;AAER;;;;IAGqBE,e;;;;;;;;;;AACrB;;;;;;;;;;;oDAQ+BC,G,EAAKC,G,EAAKC,I;;;;;;;AAE3BC,gBAAAA,K,GAAUH,GAAG,CAACI,I,CAAdD,K;;uBACWE,yBAAaC,cAAb,CAA4BH,KAA5B,C;;;AAAbI,gBAAAA,I;;oBACDA,I;;;;;iDAAaL,IAAI,E;;;iDACfL,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,iEAAX,C;;;;;iDAENJ,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,YAAMO,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;;qDAQ2BR,G,EAAKC,G,EAAKC,I;;;;;;;AAEzBC,gBAAAA,K,GAAUH,GAAG,CAACI,I,CAAdD,K;;uBACWE,yBAAaC,cAAb,CAA4BH,KAA5B,C;;;AAAbI,gBAAAA,I;;qBACFA,I;;;;;AACFP,gBAAAA,GAAG,CAACS,IAAJ,GAAWF,IAAI,CAACG,UAAhB;kDACOR,IAAI,E;;;kDAENL,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,mCAAX,C;;;;;kDAENJ,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,aAAMO,OAAjB,C;;;;;;;;;;;;;;;;AAIjB;;;;;;;;;;;;;;qDAQ+BR,G,EAAKC,G,EAAKC,I;;;;;;;AAE7BO,gBAAAA,I,GAAST,G,CAATS,I;;uBACWJ,yBAAaC,cAAb,CAA4BG,IAAI,CAACN,KAAjC,C;;;AAAbI,gBAAAA,I;;qBACFA,I;;;;;kDAAaL,IAAI,E;;;kDACdL,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,wDAAX,C;;;;;kDAENJ,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,aAAMO,OAAjB,C;;;;;;;;;;;;;;;;AAKjB;;;;;;;;;;;;;;qDAQ4BR,G,EAAKC,G,EAAKC,I;;;;;;;AAE5BS,gBAAAA,O,GAAUC,kBAAMC,WAAN,CAAkBb,GAAG,CAACc,KAAJ,CAAUC,KAA5B,C;;uBACGV,yBAAaC,cAAb,CAA4BK,OAAO,CAACR,KAApC,C;;;AAAbM,gBAAAA,I;;oBACDA,IAAI,CAACO,U;;;;;kDAAmBd,IAAI,E;;;kDAC1BL,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,sDAAX,C;;;;;kDAENJ,MAAM,CAACI,GAAD,EAAM,GAAN,EAAW,6BAAX,C","sourcesContent":["import Utils from '../utils';\nimport UserServices from '../services/userServices';\nimport ResponseMsg from '../utils/response';\n\nconst { resErr } = ResponseMsg;\n\n/**\n * User Middlewares Class\n */\nexport default class UserMiddlewares {\n/**\n * @name checkUserExists\n * @description Checks if a user exists in the database\n * @param {object} req The request object\n * @param {object} res The response object\n * @param {object} next The response object\n * @returns {object} The API response or next()\n */\n static async checkUserExists(req, res, next) {\n try {\n const { email } = req.body;\n const data = await UserServices.getUserByEmail(email);\n if (!data) return next();\n return resErr(res, 409, 'Unsuccesful, user already exists, kindly use a different email.');\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @name doesUserExist\n * @description Checks if a user exists in the database\n * @param {object} req The request object\n * @param {object} res The response object\n * @param {object} next The response object\n * @returns {object} The API response or next()\n */\n static async doesUserExist(req, res, next) {\n try {\n const { email } = req.body;\n const data = await UserServices.getUserByEmail(email);\n if (data) {\n req.user = data.dataValues;\n return next();\n }\n return resErr(res, 404, 'Unsuccesful, User does not exist.');\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n /**\n * @name confirmUserExists\n * @description Checks if a user exists in the database\n * @param {object} req The request object\n * @param {object} res The response object\n * @param {object} next The response object\n * @returns {object} The API response or next()\n */\n static async confirmUserExists(req, res, next) {\n try {\n const { user } = req;\n const data = await UserServices.getUserByEmail(user.email);\n if (data) return next();\n return resErr(res, 409, 'Unsuccesful, User does not exist. Please contact Admin');\n } catch (error) {\n return resErr(res, 500, error.message);\n }\n }\n\n\n /**\n * @name userVerified\n * @description Checks if a user is verified in the database\n * @param {object} req The request object\n * @param {object} res The response object\n * @param {object} next The response object\n * @returns {object} The API response or next()\n */\n static async isUserVerified(req, res, next) {\n try {\n const decoded = Utils.decodeToken(req.query.token);\n const user = await UserServices.getUserByEmail(decoded.email);\n if (!user.isVerified) return next();\n return resErr(res, 400, 'Unsuccesful, Your account has already been Verified.');\n } catch (error) {\n return resErr(res, 500, 'Link is Invalid or expired.');\n }\n }\n}\n"],"file":"userMiddleware.js"} \ No newline at end of file diff --git a/dist/models/course.js b/dist/models/course.js deleted file mode 100644 index 5515c5a..0000000 --- a/dist/models/course.js +++ /dev/null @@ -1,39 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _default = function _default(sequelize, DataTypes) { - var course = sequelize.define('course', { - courseTitle: { - allowNull: false, - type: DataTypes.STRING, - unique: true - }, - memberFees: { - allowNull: false, - type: DataTypes.FLOAT - }, - nonMemberFees: { - allowNull: false, - type: DataTypes.FLOAT - }, - startDate: { - allowNull: false, - type: DataTypes.DATE - }, - endDate: { - allowNull: false, - type: DataTypes.DATE - } - }, {}); // course.associate = (models) => { - // // associations can be defined here - // }; - - return course; -}; - -exports["default"] = _default; -//# sourceMappingURL=course.js.map \ No newline at end of file diff --git a/dist/models/course.js.map b/dist/models/course.js.map deleted file mode 100644 index c04ba82..0000000 --- a/dist/models/course.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/course.js"],"names":["sequelize","DataTypes","course","define","courseTitle","allowNull","type","STRING","unique","memberFees","FLOAT","nonMemberFees","startDate","DATE","endDate"],"mappings":";;;;;;;eAAe,kBAACA,SAAD,EAAYC,SAAZ,EAA0B;AACvC,MAAMC,MAAM,GAAGF,SAAS,CAACG,MAAV,CAAiB,QAAjB,EAA2B;AACxCC,IAAAA,WAAW,EAAE;AACXC,MAAAA,SAAS,EAAE,KADA;AAEXC,MAAAA,IAAI,EAAEL,SAAS,CAACM,MAFL;AAGXC,MAAAA,MAAM,EAAE;AAHG,KAD2B;AAMxCC,IAAAA,UAAU,EAAE;AACVJ,MAAAA,SAAS,EAAE,KADD;AAEVC,MAAAA,IAAI,EAAEL,SAAS,CAACS;AAFN,KAN4B;AAUxCC,IAAAA,aAAa,EAAE;AACbN,MAAAA,SAAS,EAAE,KADE;AAEbC,MAAAA,IAAI,EAAEL,SAAS,CAACS;AAFH,KAVyB;AAcxCE,IAAAA,SAAS,EAAE;AACTP,MAAAA,SAAS,EAAE,KADF;AAETC,MAAAA,IAAI,EAAEL,SAAS,CAACY;AAFP,KAd6B;AAkBxCC,IAAAA,OAAO,EAAE;AACPT,MAAAA,SAAS,EAAE,KADJ;AAEPC,MAAAA,IAAI,EAAEL,SAAS,CAACY;AAFT;AAlB+B,GAA3B,EAsBZ,EAtBY,CAAf,CADuC,CAwBvC;AACA;AACA;;AACA,SAAOX,MAAP;AACD,C","sourcesContent":["export default (sequelize, DataTypes) => {\n const course = sequelize.define('course', {\n courseTitle: {\n allowNull: false,\n type: DataTypes.STRING,\n unique: true,\n },\n memberFees: {\n allowNull: false,\n type: DataTypes.FLOAT,\n },\n nonMemberFees: {\n allowNull: false,\n type: DataTypes.FLOAT,\n },\n startDate: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n endDate: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n }, {});\n // course.associate = (models) => {\n // // associations can be defined here\n // };\n return course;\n};\n"],"file":"course.js"} \ No newline at end of file diff --git a/dist/models/dues.js b/dist/models/dues.js deleted file mode 100644 index 4af483b..0000000 --- a/dist/models/dues.js +++ /dev/null @@ -1,35 +0,0 @@ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _default = function _default(sequelize, DataTypes) { - var dues = sequelize.define('dues', { - type: { - allowNull: false, - type: DataTypes.STRING - }, - amount: { - allowNull: false, - type: DataTypes.FLOAT - }, - "for": { - allowNull: false, - type: DataTypes.STRING - }, - dueDate: { - allowNull: false, - type: DataTypes.DATE - } - }, {}); - - dues.associate = function () {// associations can be defined here - }; - - return dues; -}; - -exports["default"] = _default; -//# sourceMappingURL=dues.js.map \ No newline at end of file diff --git a/dist/models/dues.js.map b/dist/models/dues.js.map deleted file mode 100644 index d0d9e57..0000000 --- a/dist/models/dues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/dues.js"],"names":["sequelize","DataTypes","dues","define","type","allowNull","STRING","amount","FLOAT","dueDate","DATE","associate"],"mappings":";;;;;;;eAAe,kBAACA,SAAD,EAAYC,SAAZ,EAA0B;AACvC,MAAMC,IAAI,GAAGF,SAAS,CAACG,MAAV,CAAiB,MAAjB,EAAyB;AACpCC,IAAAA,IAAI,EAAE;AACJC,MAAAA,SAAS,EAAE,KADP;AAEJD,MAAAA,IAAI,EAAEH,SAAS,CAACK;AAFZ,KAD8B;AAKpCC,IAAAA,MAAM,EAAE;AACNF,MAAAA,SAAS,EAAE,KADL;AAEND,MAAAA,IAAI,EAAEH,SAAS,CAACO;AAFV,KAL4B;AASpC,WAAK;AACHH,MAAAA,SAAS,EAAE,KADR;AAEHD,MAAAA,IAAI,EAAEH,SAAS,CAACK;AAFb,KAT+B;AAapCG,IAAAA,OAAO,EAAE;AACPJ,MAAAA,SAAS,EAAE,KADJ;AAEPD,MAAAA,IAAI,EAAEH,SAAS,CAACS;AAFT;AAb2B,GAAzB,EAiBV,EAjBU,CAAb;;AAkBAR,EAAAA,IAAI,CAACS,SAAL,GAAiB,YAAM,CACrB;AACD,GAFD;;AAGA,SAAOT,IAAP;AACD,C","sourcesContent":["export default (sequelize, DataTypes) => {\n const dues = sequelize.define('dues', {\n type: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n amount: {\n allowNull: false,\n type: DataTypes.FLOAT,\n },\n for: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n dueDate: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n }, {});\n dues.associate = () => {\n // associations can be defined here\n };\n return dues;\n};\n"],"file":"dues.js"} \ No newline at end of file diff --git a/dist/models/events.js b/dist/models/events.js deleted file mode 100644 index 62873a1..0000000 --- a/dist/models/events.js +++ /dev/null @@ -1,28 +0,0 @@ -"use strict"; - -module.exports = function (sequelize, DataTypes) { - var events = sequelize.define('events', { - title: { - allowNull: false, - type: DataTypes.STRING - }, - imageUrl: { - allowNull: false, - type: DataTypes.STRING - }, - time: { - allowNull: false, - type: DataTypes.STRING - }, - date: { - allowNull: false, - type: DataTypes.DATE - } - }, {}); - - events.associate = function () {// associations can be defined here - }; - - return events; -}; -//# sourceMappingURL=events.js.map \ No newline at end of file diff --git a/dist/models/events.js.map b/dist/models/events.js.map deleted file mode 100644 index 44b96c0..0000000 --- a/dist/models/events.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/events.js"],"names":["module","exports","sequelize","DataTypes","events","define","title","allowNull","type","STRING","imageUrl","time","date","DATE","associate"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB,UAACC,SAAD,EAAYC,SAAZ,EAA0B;AACzC,MAAMC,MAAM,GAAGF,SAAS,CAACG,MAAV,CAAiB,QAAjB,EAA2B;AACxCC,IAAAA,KAAK,EAAE;AACLC,MAAAA,SAAS,EAAE,KADN;AAELC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFX,KADiC;AAKxCC,IAAAA,QAAQ,EAAE;AACRH,MAAAA,SAAS,EAAE,KADH;AAERC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFR,KAL8B;AASxCE,IAAAA,IAAI,EAAE;AACJJ,MAAAA,SAAS,EAAE,KADP;AAEJC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFZ,KATkC;AAaxCG,IAAAA,IAAI,EAAE;AACJL,MAAAA,SAAS,EAAE,KADP;AAEJC,MAAAA,IAAI,EAAEL,SAAS,CAACU;AAFZ;AAbkC,GAA3B,EAiBZ,EAjBY,CAAf;;AAkBAT,EAAAA,MAAM,CAACU,SAAP,GAAmB,YAAM,CACvB;AACD,GAFD;;AAGA,SAAOV,MAAP;AACD,CAvBD","sourcesContent":["\n\nmodule.exports = (sequelize, DataTypes) => {\n const events = sequelize.define('events', {\n title: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n imageUrl: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n time: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n date: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n }, {});\n events.associate = () => {\n // associations can be defined here\n };\n return events;\n};\n"],"file":"events.js"} \ No newline at end of file diff --git a/dist/models/index.js b/dist/models/index.js deleted file mode 100644 index 56ce793..0000000 --- a/dist/models/index.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -var fs = require('fs'); - -var path = require('path'); - -var Sequelize = require('sequelize'); - -var env = process.env.NODE_ENV || 'development'; -var basename = path.basename(__filename); - -var config = require('../database/config')[env]; - -var db = {}; -var sequelize; - -if (config.use_env_variable) { - sequelize = new Sequelize(process.env[config.use_env_variable], config); -} else { - sequelize = new Sequelize(config.database, config.username, config.password, config); -} - -fs.readdirSync(__dirname).filter(function (file) { - return file.indexOf('.') !== 0 && file !== basename && file.slice(-3) === '.js'; -}).forEach(function (file) { - var model = sequelize["import"](path.join(__dirname, file)); - db[model.name] = model; -}); -Object.keys(db).forEach(function (modelName) { - if (db[modelName].associate) { - db[modelName].associate(db); - } -}); -db.sequelize = sequelize; -db.Sequelize = Sequelize; -module.exports = db; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/models/index.js.map b/dist/models/index.js.map deleted file mode 100644 index f5ce630..0000000 --- a/dist/models/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/index.js"],"names":["fs","require","path","Sequelize","env","process","NODE_ENV","basename","__filename","config","db","sequelize","use_env_variable","database","username","password","readdirSync","__dirname","filter","file","indexOf","slice","forEach","model","join","name","Object","keys","modelName","associate","module","exports"],"mappings":";;AAAA,IAAMA,EAAE,GAAGC,OAAO,CAAC,IAAD,CAAlB;;AACA,IAAMC,IAAI,GAAGD,OAAO,CAAC,MAAD,CAApB;;AAEA,IAAME,SAAS,GAAGF,OAAO,CAAC,WAAD,CAAzB;;AAEA,IAAMG,GAAG,GAAGC,OAAO,CAACD,GAAR,CAAYE,QAAZ,IAAwB,aAApC;AACA,IAAMC,QAAQ,GAAGL,IAAI,CAACK,QAAL,CAAcC,UAAd,CAAjB;;AACA,IAAMC,MAAM,GAAGR,OAAO,CAAC,oBAAD,CAAP,CAA8BG,GAA9B,CAAf;;AAEA,IAAMM,EAAE,GAAG,EAAX;AAEA,IAAIC,SAAJ;;AACA,IAAIF,MAAM,CAACG,gBAAX,EAA6B;AAC3BD,EAAAA,SAAS,GAAG,IAAIR,SAAJ,CAAcE,OAAO,CAACD,GAAR,CAAYK,MAAM,CAACG,gBAAnB,CAAd,EAAoDH,MAApD,CAAZ;AACD,CAFD,MAEO;AACLE,EAAAA,SAAS,GAAG,IAAIR,SAAJ,CAAcM,MAAM,CAACI,QAArB,EAA+BJ,MAAM,CAACK,QAAtC,EAAgDL,MAAM,CAACM,QAAvD,EAAiEN,MAAjE,CAAZ;AACD;;AAEDT,EAAE,CACCgB,WADH,CACeC,SADf,EAEGC,MAFH,CAEU,UAAAC,IAAI;AAAA,SAAKA,IAAI,CAACC,OAAL,CAAa,GAAb,MAAsB,CAAvB,IAA8BD,IAAI,KAAKZ,QAAvC,IAAqDY,IAAI,CAACE,KAAL,CAAW,CAAC,CAAZ,MAAmB,KAA5E;AAAA,CAFd,EAGGC,OAHH,CAGW,UAACH,IAAD,EAAU;AACjB,MAAMI,KAAK,GAAGZ,SAAS,UAAT,CAAiBT,IAAI,CAACsB,IAAL,CAAUP,SAAV,EAAqBE,IAArB,CAAjB,CAAd;AACAT,EAAAA,EAAE,CAACa,KAAK,CAACE,IAAP,CAAF,GAAiBF,KAAjB;AACD,CANH;AAQAG,MAAM,CAACC,IAAP,CAAYjB,EAAZ,EAAgBY,OAAhB,CAAwB,UAACM,SAAD,EAAe;AACrC,MAAIlB,EAAE,CAACkB,SAAD,CAAF,CAAcC,SAAlB,EAA6B;AAC3BnB,IAAAA,EAAE,CAACkB,SAAD,CAAF,CAAcC,SAAd,CAAwBnB,EAAxB;AACD;AACF,CAJD;AAMAA,EAAE,CAACC,SAAH,GAAeA,SAAf;AACAD,EAAE,CAACP,SAAH,GAAeA,SAAf;AAEA2B,MAAM,CAACC,OAAP,GAAiBrB,EAAjB","sourcesContent":["const fs = require('fs');\nconst path = require('path');\n\nconst Sequelize = require('sequelize');\n\nconst env = process.env.NODE_ENV || 'development';\nconst basename = path.basename(__filename);\nconst config = require('../database/config')[env];\n\nconst db = {};\n\nlet sequelize;\nif (config.use_env_variable) {\n sequelize = new Sequelize(process.env[config.use_env_variable], config);\n} else {\n sequelize = new Sequelize(config.database, config.username, config.password, config);\n}\n\nfs\n .readdirSync(__dirname)\n .filter(file => (file.indexOf('.') !== 0) && (file !== basename) && (file.slice(-3) === '.js'))\n .forEach((file) => {\n const model = sequelize.import(path.join(__dirname, file));\n db[model.name] = model;\n });\n\nObject.keys(db).forEach((modelName) => {\n if (db[modelName].associate) {\n db[modelName].associate(db);\n }\n});\n\ndb.sequelize = sequelize;\ndb.Sequelize = Sequelize;\n\nmodule.exports = db;\n"],"file":"index.js"} \ No newline at end of file diff --git a/dist/models/user.js b/dist/models/user.js deleted file mode 100644 index 82eb754..0000000 --- a/dist/models/user.js +++ /dev/null @@ -1,42 +0,0 @@ -"use strict"; - -module.exports = function (sequelize, DataTypes) { - var User = sequelize.define('User', { - firstName: { - allowNull: true, - type: DataTypes.STRING - }, - email: { - allowNull: false, - type: DataTypes.STRING - }, - middleName: { - type: DataTypes.STRING, - allowNull: true - }, - lastName: { - allowNull: true, - type: DataTypes.STRING - }, - password: { - allowNull: true, - type: DataTypes.STRING - }, - phoneNumber: { - allowNull: true, - type: DataTypes.STRING - }, - isAdmin: { - allowNull: true, - type: DataTypes.STRING - } - }, {}); - - User.associate = function (models) { - User.hasMany(models.userCourses); - User.hasMany(models.userDues); - }; - - return User; -}; -//# sourceMappingURL=user.js.map \ No newline at end of file diff --git a/dist/models/user.js.map b/dist/models/user.js.map deleted file mode 100644 index 61b0d3f..0000000 --- a/dist/models/user.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/user.js"],"names":["module","exports","sequelize","DataTypes","User","define","firstName","allowNull","type","STRING","email","middleName","lastName","password","phoneNumber","isAdmin","associate","models","hasMany","userCourses","userDues"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB,UAACC,SAAD,EAAYC,SAAZ,EAA0B;AACzC,MAAMC,IAAI,GAAGF,SAAS,CAACG,MAAV,CAAiB,MAAjB,EAAyB;AACpCC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAE,IADF;AAETC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFP,KADyB;AAKpCC,IAAAA,KAAK,EAAE;AACLH,MAAAA,SAAS,EAAE,KADN;AAELC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFX,KAL6B;AASpCE,IAAAA,UAAU,EAAE;AACVH,MAAAA,IAAI,EAAEL,SAAS,CAACM,MADN;AAEVF,MAAAA,SAAS,EAAE;AAFD,KATwB;AAapCK,IAAAA,QAAQ,EAAE;AACRL,MAAAA,SAAS,EAAE,IADH;AAERC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFR,KAb0B;AAiBpCI,IAAAA,QAAQ,EAAE;AACRN,MAAAA,SAAS,EAAE,IADH;AAERC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFR,KAjB0B;AAqBpCK,IAAAA,WAAW,EAAE;AACXP,MAAAA,SAAS,EAAE,IADA;AAEXC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFL,KArBuB;AAyBpCM,IAAAA,OAAO,EAAE;AACPR,MAAAA,SAAS,EAAE,IADJ;AAEPC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFT;AAzB2B,GAAzB,EA6BV,EA7BU,CAAb;;AA8BAL,EAAAA,IAAI,CAACY,SAAL,GAAiB,UAACC,MAAD,EAAY;AAC3Bb,IAAAA,IAAI,CAACc,OAAL,CAAaD,MAAM,CAACE,WAApB;AACAf,IAAAA,IAAI,CAACc,OAAL,CAAaD,MAAM,CAACG,QAApB;AACD,GAHD;;AAIA,SAAOhB,IAAP;AACD,CApCD","sourcesContent":["\n\nmodule.exports = (sequelize, DataTypes) => {\n const User = sequelize.define('User', {\n firstName: {\n allowNull: true,\n type: DataTypes.STRING,\n },\n email: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n middleName: {\n type: DataTypes.STRING,\n allowNull: true,\n },\n lastName: {\n allowNull: true,\n type: DataTypes.STRING,\n },\n password: {\n allowNull: true,\n type: DataTypes.STRING,\n },\n phoneNumber: {\n allowNull: true,\n type: DataTypes.STRING,\n },\n isAdmin: {\n allowNull: true,\n type: DataTypes.STRING,\n },\n }, {});\n User.associate = (models) => {\n User.hasMany(models.userCourses);\n User.hasMany(models.userDues);\n };\n return User;\n};\n"],"file":"user.js"} \ No newline at end of file diff --git a/dist/models/usercourses.js b/dist/models/usercourses.js deleted file mode 100644 index c2cd83b..0000000 --- a/dist/models/usercourses.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -module.exports = function (sequelize, DataTypes) { - var userCourses = sequelize.define('userCourses', { - registeredOn: { - allowNull: false, - type: DataTypes.DATE - }, - userId: { - allowNull: false, - type: DataTypes.INTEGER - }, - courseId: { - allowNull: false, - type: DataTypes.INTEGER - } - }, {}); - - userCourses.associate = function (models) { - userCourses.belongsTo(models.User, { - foreignKey: 'userId', - as: 'user' - }); - userCourses.belongsTo(models.course, { - foreignKey: 'courseId', - as: 'course' - }); - }; - - return userCourses; -}; -//# sourceMappingURL=usercourses.js.map \ No newline at end of file diff --git a/dist/models/usercourses.js.map b/dist/models/usercourses.js.map deleted file mode 100644 index 8d15bc9..0000000 --- a/dist/models/usercourses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/usercourses.js"],"names":["module","exports","sequelize","DataTypes","userCourses","define","registeredOn","allowNull","type","DATE","userId","INTEGER","courseId","associate","models","belongsTo","User","foreignKey","as","course"],"mappings":";;AAEAA,MAAM,CAACC,OAAP,GAAiB,UAACC,SAAD,EAAYC,SAAZ,EAA0B;AACzC,MAAMC,WAAW,GAAGF,SAAS,CAACG,MAAV,CAAiB,aAAjB,EAAgC;AAClDC,IAAAA,YAAY,EAAE;AACZC,MAAAA,SAAS,EAAE,KADC;AAEZC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFJ,KADoC;AAKlDC,IAAAA,MAAM,EAAE;AACNH,MAAAA,SAAS,EAAE,KADL;AAENC,MAAAA,IAAI,EAAEL,SAAS,CAACQ;AAFV,KAL0C;AASlDC,IAAAA,QAAQ,EAAE;AACRL,MAAAA,SAAS,EAAE,KADH;AAERC,MAAAA,IAAI,EAAEL,SAAS,CAACQ;AAFR;AATwC,GAAhC,EAajB,EAbiB,CAApB;;AAcAP,EAAAA,WAAW,CAACS,SAAZ,GAAwB,UAACC,MAAD,EAAY;AAClCV,IAAAA,WAAW,CAACW,SAAZ,CAAsBD,MAAM,CAACE,IAA7B,EAAmC;AAAEC,MAAAA,UAAU,EAAE,QAAd;AAAwBC,MAAAA,EAAE,EAAE;AAA5B,KAAnC;AACAd,IAAAA,WAAW,CAACW,SAAZ,CAAsBD,MAAM,CAACK,MAA7B,EAAqC;AAAEF,MAAAA,UAAU,EAAE,UAAd;AAA0BC,MAAAA,EAAE,EAAE;AAA9B,KAArC;AACD,GAHD;;AAIA,SAAOd,WAAP;AACD,CApBD","sourcesContent":["\n\nmodule.exports = (sequelize, DataTypes) => {\n const userCourses = sequelize.define('userCourses', {\n registeredOn: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n userId: {\n allowNull: false,\n type: DataTypes.INTEGER,\n },\n courseId: {\n allowNull: false,\n type: DataTypes.INTEGER,\n },\n }, {});\n userCourses.associate = (models) => {\n userCourses.belongsTo(models.User, { foreignKey: 'userId', as: 'user' });\n userCourses.belongsTo(models.course, { foreignKey: 'courseId', as: 'course' });\n };\n return userCourses;\n};\n"],"file":"usercourses.js"} \ No newline at end of file diff --git a/dist/models/userdues.js b/dist/models/userdues.js deleted file mode 100644 index fc0c338..0000000 --- a/dist/models/userdues.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -module.exports = function (sequelize, DataTypes) { - var userDues = sequelize.define('userDues', { - paidOn: { - allowNull: false, - type: DataTypes.DATE - }, - userId: { - allowNull: false, - type: DataTypes.INTEGER - }, - type: { - allowNull: false, - type: DataTypes.STRING, - defaultValue: 'annual' - }, - amount: { - allowNull: false, - type: DataTypes.FLOAT - }, - "for": { - allowNull: false, - type: DataTypes.STRING - } - }, {}); - - userDues.associate = function (models) { - userDues.belongsTo(models.User, { - foreignKey: 'userId', - as: 'user' - }); - }; - - return userDues; -}; -//# sourceMappingURL=userdues.js.map \ No newline at end of file diff --git a/dist/models/userdues.js.map b/dist/models/userdues.js.map deleted file mode 100644 index c26c9da..0000000 --- a/dist/models/userdues.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/models/userdues.js"],"names":["module","exports","sequelize","DataTypes","userDues","define","paidOn","allowNull","type","DATE","userId","INTEGER","STRING","defaultValue","amount","FLOAT","associate","models","belongsTo","User","foreignKey","as"],"mappings":";;AAAAA,MAAM,CAACC,OAAP,GAAiB,UAACC,SAAD,EAAYC,SAAZ,EAA0B;AACzC,MAAMC,QAAQ,GAAGF,SAAS,CAACG,MAAV,CAAiB,UAAjB,EAA6B;AAC5CC,IAAAA,MAAM,EAAE;AACNC,MAAAA,SAAS,EAAE,KADL;AAENC,MAAAA,IAAI,EAAEL,SAAS,CAACM;AAFV,KADoC;AAK5CC,IAAAA,MAAM,EAAE;AACNH,MAAAA,SAAS,EAAE,KADL;AAENC,MAAAA,IAAI,EAAEL,SAAS,CAACQ;AAFV,KALoC;AAS5CH,IAAAA,IAAI,EAAE;AACJD,MAAAA,SAAS,EAAE,KADP;AAEJC,MAAAA,IAAI,EAAEL,SAAS,CAACS,MAFZ;AAGJC,MAAAA,YAAY,EAAE;AAHV,KATsC;AAc5CC,IAAAA,MAAM,EAAE;AACNP,MAAAA,SAAS,EAAE,KADL;AAENC,MAAAA,IAAI,EAAEL,SAAS,CAACY;AAFV,KAdoC;AAkB5C,WAAK;AACHR,MAAAA,SAAS,EAAE,KADR;AAEHC,MAAAA,IAAI,EAAEL,SAAS,CAACS;AAFb;AAlBuC,GAA7B,EAsBd,EAtBc,CAAjB;;AAuBAR,EAAAA,QAAQ,CAACY,SAAT,GAAqB,UAACC,MAAD,EAAY;AAC/Bb,IAAAA,QAAQ,CAACc,SAAT,CAAmBD,MAAM,CAACE,IAA1B,EAAgC;AAAEC,MAAAA,UAAU,EAAE,QAAd;AAAwBC,MAAAA,EAAE,EAAE;AAA5B,KAAhC;AACD,GAFD;;AAGA,SAAOjB,QAAP;AACD,CA5BD","sourcesContent":["module.exports = (sequelize, DataTypes) => {\n const userDues = sequelize.define('userDues', {\n paidOn: {\n allowNull: false,\n type: DataTypes.DATE,\n },\n userId: {\n allowNull: false,\n type: DataTypes.INTEGER,\n },\n type: {\n allowNull: false,\n type: DataTypes.STRING,\n defaultValue: 'annual',\n },\n amount: {\n allowNull: false,\n type: DataTypes.FLOAT,\n },\n for: {\n allowNull: false,\n type: DataTypes.STRING,\n },\n }, {});\n userDues.associate = (models) => {\n userDues.belongsTo(models.User, { foreignKey: 'userId', as: 'user' });\n };\n return userDues;\n};\n"],"file":"userdues.js"} \ No newline at end of file diff --git a/dist/routes/courses.js b/dist/routes/courses.js deleted file mode 100644 index f7c96f7..0000000 --- a/dist/routes/courses.js +++ /dev/null @@ -1,32 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _express = _interopRequireDefault(require("express")); - -var _inputValidator = _interopRequireDefault(require("../validatation/inputValidator")); - -var _coursesControllers = _interopRequireDefault(require("../controllers/coursesControllers")); - -var _authenticate = _interopRequireDefault(require("../middlewares/authenticate")); - -var verifyAdmin = _authenticate["default"].verifyAdmin, - verifyToken = _authenticate["default"].verifyToken; -var validateCourse = _inputValidator["default"].validateCourse; -var CreateCourse = _coursesControllers["default"].CreateCourse, - GetCourses = _coursesControllers["default"].GetCourses, - takeCourse = _coursesControllers["default"].takeCourse; - -var courseRoutes = _express["default"].Router(); - -courseRoutes.post('/courses', verifyToken, verifyAdmin, validateCourse, CreateCourse); -courseRoutes.get('/courses', GetCourses); -courseRoutes.post('/courses/:id/register', verifyToken, takeCourse); -var _default = courseRoutes; -exports["default"] = _default; -//# sourceMappingURL=courses.js.map \ No newline at end of file diff --git a/dist/routes/courses.js.map b/dist/routes/courses.js.map deleted file mode 100644 index f083c82..0000000 --- a/dist/routes/courses.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/routes/courses.js"],"names":["verifyAdmin","AuthenticateUser","verifyToken","validateCourse","InputValidator","CreateCourse","CourseController","GetCourses","takeCourse","courseRoutes","express","Router","post","get"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;IAEQA,W,GAA6BC,wB,CAA7BD,W;IAAaE,W,GAAgBD,wB,CAAhBC,W;IACbC,c,GAAmBC,0B,CAAnBD,c;IACAE,Y,GAAyCC,8B,CAAzCD,Y;IAAcE,U,GAA2BD,8B,CAA3BC,U;IAAYC,U,GAAeF,8B,CAAfE,U;;AAElC,IAAMC,YAAY,GAAGC,oBAAQC,MAAR,EAArB;;AAEAF,YAAY,CAACG,IAAb,CAAkB,UAAlB,EAA8BV,WAA9B,EAA2CF,WAA3C,EAAwDG,cAAxD,EAAwEE,YAAxE;AACAI,YAAY,CAACI,GAAb,CAAiB,UAAjB,EAA6BN,UAA7B;AACAE,YAAY,CAACG,IAAb,CAAkB,uBAAlB,EAA2CV,WAA3C,EAAwDM,UAAxD;eAEeC,Y","sourcesContent":["import express from 'express';\nimport InputValidator from '../validatation/inputValidator';\nimport CourseController from '../controllers/coursesControllers';\nimport AuthenticateUser from '../middlewares/authenticate';\n\nconst { verifyAdmin, verifyToken } = AuthenticateUser;\nconst { validateCourse } = InputValidator;\nconst { CreateCourse, GetCourses, takeCourse } = CourseController;\n\nconst courseRoutes = express.Router();\n\ncourseRoutes.post('/courses', verifyToken, verifyAdmin, validateCourse, CreateCourse);\ncourseRoutes.get('/courses', GetCourses);\ncourseRoutes.post('/courses/:id/register', verifyToken, takeCourse);\n\nexport default courseRoutes;\n"],"file":"courses.js"} \ No newline at end of file diff --git a/dist/routes/index.js b/dist/routes/index.js deleted file mode 100644 index 814f810..0000000 --- a/dist/routes/index.js +++ /dev/null @@ -1,38 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _express = _interopRequireDefault(require("express")); - -var _users = _interopRequireDefault(require("./users")); - -var _courses = _interopRequireDefault(require("./courses")); - -var router = _express["default"].Router(); // Home - - -router.get('/', function (req, res) { - return res.status(301).redirect('api/v1'); -}); -router.get('/v1', function (req, res) { - return res.status(200).json({ - status: res.statusCode, - message: 'Welcome to IFMAN API version 1' - }); -}); -router.get('/', function (req, res) { - res.status(200).json({ - message: 'welcome to version 1 of ifman API' - }); -}); // Routes - -router.use('/v1/auth', _users["default"]); -router.use('/v1', _courses["default"]); -var _default = router; -exports["default"] = _default; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/routes/index.js.map b/dist/routes/index.js.map deleted file mode 100644 index 9b8db8f..0000000 --- a/dist/routes/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/routes/index.js"],"names":["router","express","Router","get","req","res","status","redirect","json","statusCode","message","use","userRoutes","courseRoutes"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAGC,oBAAQC,MAAR,EAAf,C,CAEA;;;AACAF,MAAM,CAACG,GAAP,CAAW,GAAX,EAAgB,UAACC,GAAD,EAAMC,GAAN;AAAA,SAAcA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBC,QAAhB,CAAyB,QAAzB,CAAd;AAAA,CAAhB;AACAP,MAAM,CAACG,GAAP,CAAW,KAAX,EAAkB,UAACC,GAAD,EAAMC,GAAN;AAAA,SAAcA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqB;AACnDF,IAAAA,MAAM,EAAED,GAAG,CAACI,UADuC;AAEnDC,IAAAA,OAAO,EAAE;AAF0C,GAArB,CAAd;AAAA,CAAlB;AAKAV,MAAM,CAACG,GAAP,CAAW,GAAX,EAAgB,UAACC,GAAD,EAAMC,GAAN,EAAc;AAC5BA,EAAAA,GAAG,CAACC,MAAJ,CAAW,GAAX,EAAgBE,IAAhB,CAAqB;AAAEE,IAAAA,OAAO,EAAE;AAAX,GAArB;AACD,CAFD,E,CAIA;;AACAV,MAAM,CAACW,GAAP,CAAW,UAAX,EAAuBC,iBAAvB;AACAZ,MAAM,CAACW,GAAP,CAAW,KAAX,EAAkBE,mBAAlB;eAEeb,M","sourcesContent":["import express from 'express';\nimport userRoutes from './users';\nimport courseRoutes from './courses';\n\nconst router = express.Router();\n\n// Home\nrouter.get('/', (req, res) => res.status(301).redirect('api/v1'));\nrouter.get('/v1', (req, res) => res.status(200).json({\n status: res.statusCode,\n message: 'Welcome to IFMAN API version 1',\n}));\n\nrouter.get('/', (req, res) => {\n res.status(200).json({ message: 'welcome to version 1 of ifman API' });\n});\n\n// Routes\nrouter.use('/v1/auth', userRoutes);\nrouter.use('/v1', courseRoutes);\n\nexport default router;\n"],"file":"index.js"} \ No newline at end of file diff --git a/dist/routes/users.js b/dist/routes/users.js deleted file mode 100644 index e8b24d5..0000000 --- a/dist/routes/users.js +++ /dev/null @@ -1,37 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _express = _interopRequireDefault(require("express")); - -var _userControllers = _interopRequireDefault(require("../controllers/userControllers")); - -var _userMiddleware = _interopRequireDefault(require("../middlewares/userMiddleware")); - -var _inputValidator = _interopRequireDefault(require("../validatation/inputValidator")); - -var _authenticate = _interopRequireDefault(require("../middlewares/authenticate")); - -var signUp = _userControllers["default"].signUp, - signIn = _userControllers["default"].signIn, - updateUserInfo = _userControllers["default"].updateUserInfo; -var validateUser = _inputValidator["default"].validateUser, - validateLogin = _inputValidator["default"].validateLogin; -var checkUserExists = _userMiddleware["default"].checkUserExists, - doesUserExist = _userMiddleware["default"].doesUserExist, - confirmUserExists = _userMiddleware["default"].confirmUserExists; -var verifyToken = _authenticate["default"].verifyToken; - -var userRoutes = _express["default"].Router(); - -userRoutes.post('/signup', validateUser, checkUserExists, signUp); -userRoutes.post('/signin', validateLogin, doesUserExist, signIn); -userRoutes.patch('/user/update-profile', verifyToken, confirmUserExists, updateUserInfo); -var _default = userRoutes; -exports["default"] = _default; -//# sourceMappingURL=users.js.map \ No newline at end of file diff --git a/dist/routes/users.js.map b/dist/routes/users.js.map deleted file mode 100644 index 75312c2..0000000 --- a/dist/routes/users.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/routes/users.js"],"names":["signUp","UserController","signIn","updateUserInfo","validateUser","InputValidator","validateLogin","checkUserExists","UserMiddlewares","doesUserExist","confirmUserExists","verifyToken","AuthenticateUser","userRoutes","express","Router","post","patch"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;IAEQA,M,GAAmCC,2B,CAAnCD,M;IAAQE,M,GAA2BD,2B,CAA3BC,M;IAAQC,c,GAAmBF,2B,CAAnBE,c;IAChBC,Y,GAAgCC,0B,CAAhCD,Y;IAAcE,a,GAAkBD,0B,CAAlBC,a;IACdC,e,GAAsDC,0B,CAAtDD,e;IAAiBE,a,GAAqCD,0B,CAArCC,a;IAAeC,iB,GAAsBF,0B,CAAtBE,iB;IAChCC,W,GAAgBC,wB,CAAhBD,W;;AAER,IAAME,UAAU,GAAGC,oBAAQC,MAAR,EAAnB;;AAEAF,UAAU,CAACG,IAAX,CAAgB,SAAhB,EAA2BZ,YAA3B,EAAyCG,eAAzC,EAA0DP,MAA1D;AACAa,UAAU,CAACG,IAAX,CAAgB,SAAhB,EAA2BV,aAA3B,EAA0CG,aAA1C,EAAyDP,MAAzD;AACAW,UAAU,CAACI,KAAX,CAAiB,sBAAjB,EAAyCN,WAAzC,EAAsDD,iBAAtD,EAAyEP,cAAzE;eAEeU,U","sourcesContent":["import express from 'express';\nimport UserController from '../controllers/userControllers';\nimport UserMiddlewares from '../middlewares/userMiddleware';\nimport InputValidator from '../validatation/inputValidator';\nimport AuthenticateUser from '../middlewares/authenticate';\n\nconst { signUp, signIn, updateUserInfo } = UserController;\nconst { validateUser, validateLogin } = InputValidator;\nconst { checkUserExists, doesUserExist, confirmUserExists } = UserMiddlewares;\nconst { verifyToken } = AuthenticateUser;\n\nconst userRoutes = express.Router();\n\nuserRoutes.post('/signup', validateUser, checkUserExists, signUp);\nuserRoutes.post('/signin', validateLogin, doesUserExist, signIn);\nuserRoutes.patch('/user/update-profile', verifyToken, confirmUserExists, updateUserInfo);\n\nexport default userRoutes;\n"],"file":"users.js"} \ No newline at end of file diff --git a/dist/services/courseServices.js b/dist/services/courseServices.js deleted file mode 100644 index 6b03933..0000000 --- a/dist/services/courseServices.js +++ /dev/null @@ -1,209 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _models = require("../models"); - -var Course = _models.course; -/** - * Course service Class - */ - -var CourseServices = -/*#__PURE__*/ -function () { - function CourseServices() { - (0, _classCallCheck2["default"])(this, CourseServices); - } - - (0, _createClass2["default"])(CourseServices, null, [{ - key: "createCourse", - - /** - * @name CreateCourse - * @description Interacts with model to create a new Course - * @param { string } CourseData the Course's data - * @returns {object} return the updated field - */ - value: function () { - var _createCourse = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(CourseData) { - var _ref, dataValues; - - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return Course.create(CourseData); - - case 2: - _ref = _context.sent; - dataValues = _ref.dataValues; - return _context.abrupt("return", dataValues); - - case 5: - case "end": - return _context.stop(); - } - } - }, _callee); - })); - - function createCourse(_x) { - return _createCourse.apply(this, arguments); - } - - return createCourse; - }() - /** - * @name GetCourseById - * @description Interacts with model to find a single Course - * @param { string } id the Course's id - * @returns {object} return the Course's data - */ - - }, { - key: "getCourseById", - value: function () { - var _getCourseById = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee2(id) { - var CourseDetails; - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return Course.findOne({ - where: { - id: id - } - }); - - case 2: - CourseDetails = _context2.sent; - return _context2.abrupt("return", CourseDetails); - - case 4: - case "end": - return _context2.stop(); - } - } - }, _callee2); - })); - - function getCourseById(_x2) { - return _getCourseById.apply(this, arguments); - } - - return getCourseById; - }() - /** - * @name GetAllCourse - * @description Interacts with model to find a single Course - * @param { string } id the Course's id - * @returns {object} return the Course's data - */ - - }, { - key: "getAllCourse", - value: function () { - var _getAllCourse = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee3() { - var CourseDetails; - return _regenerator["default"].wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - _context3.next = 2; - return Course.findAll(); - - case 2: - CourseDetails = _context3.sent; - return _context3.abrupt("return", CourseDetails); - - case 4: - case "end": - return _context3.stop(); - } - } - }, _callee3); - })); - - function getAllCourse() { - return _getAllCourse.apply(this, arguments); - } - - return getAllCourse; - }() - /** - * @name updateCourseById - * @description Interacts with model to find a single Course - * @param { object } attribute the Course attribute to update - * @param { string } id the Course's id - * @returns {object} return the Course's data - */ - - }, { - key: "updateCourseById", - value: function () { - var _updateCourseById = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee4(attribute, id) { - var name, value, CourseDetails; - return _regenerator["default"].wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - name = attribute.name, value = attribute.value; - _context4.next = 3; - return Course.update((0, _defineProperty2["default"])({}, name, value), { - where: { - id: id - } - }, { - returning: true - }); - - case 3: - CourseDetails = _context4.sent; - return _context4.abrupt("return", CourseDetails); - - case 5: - case "end": - return _context4.stop(); - } - } - }, _callee4); - })); - - function updateCourseById(_x3, _x4) { - return _updateCourseById.apply(this, arguments); - } - - return updateCourseById; - }() - }]); - return CourseServices; -}(); - -exports["default"] = CourseServices; -//# sourceMappingURL=courseServices.js.map \ No newline at end of file diff --git a/dist/services/courseServices.js.map b/dist/services/courseServices.js.map deleted file mode 100644 index 07015c1..0000000 --- a/dist/services/courseServices.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/services/courseServices.js"],"names":["Course","course","CourseServices","CourseData","create","dataValues","id","findOne","where","CourseDetails","findAll","attribute","name","value","update","returning"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA,IAAMA,MAAM,GAAGC,cAAf;AAEA;;;;IAGqBC,c;;;;;;;;;;AACnB;;;;;;;;;oDAM0BC,U;;;;;;;;uBACKH,MAAM,CAACI,MAAP,CAAcD,UAAd,C;;;;AAArBE,gBAAAA,U,QAAAA,U;iDACDA,U;;;;;;;;;;;;;;;;AAIT;;;;;;;;;;;;qDAM2BC,E;;;;;;;uBACGN,MAAM,CAACO,OAAP,CAAe;AAAEC,kBAAAA,KAAK,EAAE;AAAEF,oBAAAA,EAAE,EAAFA;AAAF;AAAT,iBAAf,C;;;AAAtBG,gBAAAA,a;kDACCA,a;;;;;;;;;;;;;;;;AAGT;;;;;;;;;;;;;;;;;;;uBAO8BT,MAAM,CAACU,OAAP,E;;;AAAtBD,gBAAAA,a;kDACCA,a;;;;;;;;;;;;;;;;AAGT;;;;;;;;;;;;;qDAO8BE,S,EAAWL,E;;;;;;AAC/BM,gBAAAA,I,GAAgBD,S,CAAhBC,I,EAAMC,K,GAAUF,S,CAAVE,K;;uBACcb,MAAM,CAACc,MAAP,sCAAiBF,IAAjB,EAAwBC,KAAxB,GAC1B;AAAEL,kBAAAA,KAAK,EAAE;AAAEF,oBAAAA,EAAE,EAAFA;AAAF;AAAT,iBAD0B,EACP;AAAES,kBAAAA,SAAS,EAAE;AAAb,iBADO,C;;;AAAtBN,gBAAAA,a;kDAECA,a","sourcesContent":["import { course } from '../models';\n\nconst Course = course;\n\n/**\n * Course service Class\n */\nexport default class CourseServices {\n /**\n * @name CreateCourse\n * @description Interacts with model to create a new Course\n * @param { string } CourseData the Course's data\n * @returns {object} return the updated field\n */\n static async createCourse(CourseData) {\n const { dataValues } = await Course.create(CourseData);\n return dataValues;\n }\n\n\n /**\n * @name GetCourseById\n * @description Interacts with model to find a single Course\n * @param { string } id the Course's id\n * @returns {object} return the Course's data\n */\n static async getCourseById(id) {\n const CourseDetails = await Course.findOne({ where: { id } });\n return CourseDetails;\n }\n\n /**\n * @name GetAllCourse\n * @description Interacts with model to find a single Course\n * @param { string } id the Course's id\n * @returns {object} return the Course's data\n */\n static async getAllCourse() {\n const CourseDetails = await Course.findAll();\n return CourseDetails;\n }\n\n /**\n * @name updateCourseById\n * @description Interacts with model to find a single Course\n * @param { object } attribute the Course attribute to update\n * @param { string } id the Course's id\n * @returns {object} return the Course's data\n */\n static async updateCourseById(attribute, id) {\n const { name, value } = attribute;\n const CourseDetails = await Course.update({ [name]: value },\n { where: { id } }, { returning: true });\n return CourseDetails;\n }\n}\n"],"file":"courseServices.js"} \ No newline at end of file diff --git a/dist/services/userServices.js b/dist/services/userServices.js deleted file mode 100644 index 7a2b3b3..0000000 --- a/dist/services/userServices.js +++ /dev/null @@ -1,227 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); - -var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); - -var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _models = require("../models"); - -/** - * User service Class - */ -var UserServices = -/*#__PURE__*/ -function () { - function UserServices() { - (0, _classCallCheck2["default"])(this, UserServices); - } - - (0, _createClass2["default"])(UserServices, null, [{ - key: "createUser", - - /** - * @name CreateUser - * @description Interacts with model to create a new user - * @param { string } userData the user's data - * @returns {object} return the updated field - */ - value: function () { - var _createUser = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee(userData) { - var _ref, dataValues; - - return _regenerator["default"].wrap(function _callee$(_context) { - while (1) { - switch (_context.prev = _context.next) { - case 0: - _context.next = 2; - return _models.User.create(userData); - - case 2: - _ref = _context.sent; - dataValues = _ref.dataValues; - delete dataValues.password; // remove sensitive data from returned object - - return _context.abrupt("return", dataValues); - - case 6: - case "end": - return _context.stop(); - } - } - }, _callee); - })); - - function createUser(_x) { - return _createUser.apply(this, arguments); - } - - return createUser; - }() - /** - * @name GetUserByEmail - * @description Interacts with model to find a single user - * @param { string } email the user's email - * @returns {object} return the user's data - */ - - }, { - key: "getUserByEmail", - value: function () { - var _getUserByEmail = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee2(email) { - var data; - return _regenerator["default"].wrap(function _callee2$(_context2) { - while (1) { - switch (_context2.prev = _context2.next) { - case 0: - _context2.next = 2; - return _models.User.findOne({ - where: { - email: email - } - }); - - case 2: - data = _context2.sent; - return _context2.abrupt("return", data); - - case 4: - case "end": - return _context2.stop(); - } - } - }, _callee2); - })); - - function getUserByEmail(_x2) { - return _getUserByEmail.apply(this, arguments); - } - - return getUserByEmail; - }() - /** - * @name updateUserById - * @description Interacts with model to find a single user - * @param { object } attribute the user attribute to update - * @param { string } id the user's id - * @returns {object} return the user's data - */ - - }, { - key: "updateUserById", - value: function () { - var _updateUserById = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee3(attribute, id) { - var name, value, userDetails; - return _regenerator["default"].wrap(function _callee3$(_context3) { - while (1) { - switch (_context3.prev = _context3.next) { - case 0: - name = attribute.name, value = attribute.value; - _context3.next = 3; - return _models.User.update((0, _defineProperty2["default"])({}, name, value), { - where: { - id: id - } - }, { - returning: true - }); - - case 3: - userDetails = _context3.sent; - return _context3.abrupt("return", userDetails); - - case 5: - case "end": - return _context3.stop(); - } - } - }, _callee3); - })); - - function updateUserById(_x3, _x4) { - return _updateUserById.apply(this, arguments); - } - - return updateUserById; - }() - /** - * @name updateUserInfoById - * @description Interacts with model to find a single user - * @param { object } attribute the user attribute to update - * @param { string } email the user's email - * @returns {object} return the user's data - */ - - }, { - key: "updateUserInfoById", - value: function () { - var _updateUserInfoById = (0, _asyncToGenerator2["default"])( - /*#__PURE__*/ - _regenerator["default"].mark(function _callee4(attribute, email) { - var firstName, middleName, lastName, birthDate, Address, gender, phoneNumber, userDetails, result; - return _regenerator["default"].wrap(function _callee4$(_context4) { - while (1) { - switch (_context4.prev = _context4.next) { - case 0: - firstName = attribute.firstName, middleName = attribute.middleName, lastName = attribute.lastName, birthDate = attribute.birthDate, Address = attribute.Address, gender = attribute.gender, phoneNumber = attribute.phoneNumber; - _context4.next = 3; - return _models.User.update({ - firstName: firstName, - middleName: middleName, - lastName: lastName, - birthDate: birthDate, - gender: gender, - Address: Address, - phoneNumber: phoneNumber - }, { - where: { - email: email - }, - returning: true, - plain: true - }); - - case 3: - userDetails = _context4.sent; - result = userDetails[1].dataValues; - delete result.password; - return _context4.abrupt("return", result); - - case 7: - case "end": - return _context4.stop(); - } - } - }, _callee4); - })); - - function updateUserInfoById(_x5, _x6) { - return _updateUserInfoById.apply(this, arguments); - } - - return updateUserInfoById; - }() - }]); - return UserServices; -}(); - -exports["default"] = UserServices; -//# sourceMappingURL=userServices.js.map \ No newline at end of file diff --git a/dist/services/userServices.js.map b/dist/services/userServices.js.map deleted file mode 100644 index 020f004..0000000 --- a/dist/services/userServices.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/services/userServices.js"],"names":["UserServices","userData","User","create","dataValues","password","email","findOne","where","data","attribute","id","name","value","update","returning","userDetails","firstName","middleName","lastName","birthDate","Address","gender","phoneNumber","plain","result"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;;IAGqBA,Y;;;;;;;;;;AACnB;;;;;;;;;oDAMwBC,Q;;;;;;;;uBACOC,aAAKC,MAAL,CAAYF,QAAZ,C;;;;AAArBG,gBAAAA,U,QAAAA,U;AACR,uBAAOA,UAAU,CAACC,QAAlB,C,CAA4B;;iDACrBD,U;;;;;;;;;;;;;;;;AAGT;;;;;;;;;;;;qDAM4BE,K;;;;;;;uBACPJ,aAAKK,OAAL,CAAa;AAAEC,kBAAAA,KAAK,EAAE;AAAEF,oBAAAA,KAAK,EAALA;AAAF;AAAT,iBAAb,C;;;AAAbG,gBAAAA,I;kDACCA,I;;;;;;;;;;;;;;;;AAGT;;;;;;;;;;;;;qDAO4BC,S,EAAWC,E;;;;;;AAC7BC,gBAAAA,I,GAAgBF,S,CAAhBE,I,EAAMC,K,GAAUH,S,CAAVG,K;;uBACYX,aAAKY,MAAL,sCAAeF,IAAf,EAAsBC,KAAtB,GACxB;AAAEL,kBAAAA,KAAK,EAAE;AAAEG,oBAAAA,EAAE,EAAFA;AAAF;AAAT,iBADwB,EACL;AAAEI,kBAAAA,SAAS,EAAE;AAAb,iBADK,C;;;AAApBC,gBAAAA,W;kDAECA,W;;;;;;;;;;;;;;;;AAGT;;;;;;;;;;;;;qDAOgCN,S,EAAWJ,K;;;;;;AAEvCW,gBAAAA,S,GAEEP,S,CAFFO,S,EAAWC,U,GAETR,S,CAFSQ,U,EAAYC,Q,GAErBT,S,CAFqBS,Q,EAAUC,S,GAE/BV,S,CAF+BU,S,EAAWC,O,GAE1CX,S,CAF0CW,O,EAC5CC,M,GACEZ,S,CADFY,M,EAAQC,W,GACNb,S,CADMa,W;;uBAEgBrB,aAAKY,MAAL,CAAY;AACpCG,kBAAAA,SAAS,EAATA,SADoC;AAEpCC,kBAAAA,UAAU,EAAVA,UAFoC;AAGpCC,kBAAAA,QAAQ,EAARA,QAHoC;AAIpCC,kBAAAA,SAAS,EAATA,SAJoC;AAKpCE,kBAAAA,MAAM,EAANA,MALoC;AAMpCD,kBAAAA,OAAO,EAAPA,OANoC;AAOpCE,kBAAAA,WAAW,EAAXA;AAPoC,iBAAZ,EAS1B;AAAEf,kBAAAA,KAAK,EAAE;AAAEF,oBAAAA,KAAK,EAALA;AAAF,mBAAT;AAAoBS,kBAAAA,SAAS,EAAE,IAA/B;AAAqCS,kBAAAA,KAAK,EAAE;AAA5C,iBAT0B,C;;;AAApBR,gBAAAA,W;AAUAS,gBAAAA,M,GAAST,WAAW,CAAC,CAAD,CAAX,CAAeZ,U;AAC9B,uBAAOqB,MAAM,CAACpB,QAAd;kDACOoB,M","sourcesContent":["import { User } from '../models';\n\n/**\n * User service Class\n */\nexport default class UserServices {\n /**\n * @name CreateUser\n * @description Interacts with model to create a new user\n * @param { string } userData the user's data\n * @returns {object} return the updated field\n */\n static async createUser(userData) {\n const { dataValues } = await User.create(userData);\n delete dataValues.password; // remove sensitive data from returned object\n return dataValues;\n }\n\n /**\n * @name GetUserByEmail\n * @description Interacts with model to find a single user\n * @param { string } email the user's email\n * @returns {object} return the user's data\n */\n static async getUserByEmail(email) {\n const data = await User.findOne({ where: { email } });\n return data;\n }\n\n /**\n * @name updateUserById\n * @description Interacts with model to find a single user\n * @param { object } attribute the user attribute to update\n * @param { string } id the user's id\n * @returns {object} return the user's data\n */\n static async updateUserById(attribute, id) {\n const { name, value } = attribute;\n const userDetails = await User.update({ [name]: value },\n { where: { id } }, { returning: true });\n return userDetails;\n }\n\n /**\n * @name updateUserInfoById\n * @description Interacts with model to find a single user\n * @param { object } attribute the user attribute to update\n * @param { string } email the user's email\n * @returns {object} return the user's data\n */\n static async updateUserInfoById(attribute, email) {\n const {\n firstName, middleName, lastName, birthDate, Address,\n gender, phoneNumber,\n } = attribute;\n const userDetails = await User.update({\n firstName,\n middleName,\n lastName,\n birthDate,\n gender,\n Address,\n phoneNumber,\n },\n { where: { email }, returning: true, plain: true });\n const result = userDetails[1].dataValues;\n delete result.password;\n return result;\n }\n}\n"],"file":"userServices.js"} \ No newline at end of file diff --git a/dist/test/test.js b/dist/test/test.js deleted file mode 100644 index a4e7960..0000000 --- a/dist/test/test.js +++ /dev/null @@ -1,548 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -var _chai = _interopRequireDefault(require("chai")); - -var _chaiHttp = _interopRequireDefault(require("chai-http")); - -var _app = _interopRequireDefault(require("../../app")); - -_chai["default"].should(); - -_chai["default"].use(_chaiHttp["default"]); - -var apiEndPoint = '/api/v1/'; -var userEndPoint = "".concat(apiEndPoint, "auth/"); -describe('Authentication Tests', function () { - describe('User Sign Up Tests', function () { - describe("POST ".concat(userEndPoint, "signup"), function () { - it('Should create a new user', function (done) { - var user = { - firstName: 'temi', - lastName: 'otokurfor', - email: 'temi@testmail.com', - password: 'password', - phoneNumber: 123345622 - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(201); - res.body.should.be.a('object'); - res.body.should.have.property('data'); - res.body.data.should.be.a('object'); - res.body.data.should.have.property('token'); - res.body.data.should.have.property('id'); - res.body.data.should.have.property('firstname'); - res.body.data.should.have.property('lastname'); - res.body.data.should.have.property('email'); - res.body.data.should.have.property('phonenumber'); - res.body.data.should.have.property('isadmin'); - done(); - }); - }); - it('Should return 400 if firstname is ommited', function (done) { - var user = { - lastName: 'otokurfor', - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if lastname is ommited', function (done) { - var user = { - firstName: 'temi', - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if email is ommited', function (done) { - var user = { - firstname: 'temi', - lastName: 'otokurfor', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if email key is provided without value', function (done) { - var user = { - firstName: 'temi', - lastName: 'otokurfor', - email: ' ', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 409 if email already exists', function (done) { - var user = { - firstName: 'jasmin', - lastName: 'abdul', - email: 'jas.abdul@gmail.com', - password: 'password', - phoneNumber: 123456781 - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(409); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if password is ommited', function (done) { - var user = { - firstName: 'temi', - lastName: 'otokurfor', - email: 'temi@testmail.com' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signup")).send(user).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - }); - describe('User Login tests', function () { - describe("POST ".concat(userEndPoint, "signin"), function () { - it('Should login a user successfully', function (done) { - var login = { - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (err, res) { - res.should.have.status(200); - res.body.should.be.a('object'); - res.body.should.have.property('data'); - res.body.data.should.be.a('object'); - res.body.data.should.have.property('token'); - res.body.data.should.have.property('id'); - res.body.data.should.have.property('firstname'); - res.body.data.should.have.property('lastname'); - res.body.data.should.have.property('email'); - done(); - }); - }); - it('Should deny access if wrong email is provided', function (done) { - var login = { - email: 'kcmykirl@gmail.com', - password: 'pA55w0rd' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (err, res) { - res.should.have.status(404); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should deny access if wrong password is provided', function (done) { - var login = { - email: 'temi@testmail.com', - password: 'passweod' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (err, res) { - res.should.have.status(401); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if email is not provided', function (done) { - var login = { - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - it('Should return 400 if password is ommited', function (done) { - var login = { - email: 'temi@testmail.com' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - }); - describe('Create Courses Tests', function () { - describe('POST requests to admin protected routes', function () { - it('Should return 403 if token is for user', function (done) { - var login = { - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - nonmemberFee: 115000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(403); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should Successfully Create a Course', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - nonmemberFee: 115000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(201); - res.body.should.be.a('object'); - res.body.should.have.property('status'); - res.body.should.have.property('data'); - res.body.data.should.be.a('object'); - res.body.data.should.have.property('id'); - res.body.data.should.have.property('coursetitle'); - res.body.data.should.have.property('memberfees'); - res.body.data.should.have.property('nonmemberfee'); - res.body.data.should.have.property('startdate'); - res.body.data.should.have.property('enddate'); - done(); - }); - }); - }); - it('Should return 404 if isadmin token is empty', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - nonmemberFee: 115000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', '').send(course).end(function (err, res) { - res.should.have.status(404); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should return 400 if courseTitle isn\'t specified', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - memberFees: 105000, - nonmemberFee: 115000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should return 400 if memberFees isn\'t specified', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - nonmemberFee: 115000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should return 400 if nonmemberFee isn\'t specified', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - startDate: 10, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should return 400 if endDate isn\'t specified', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - nonmemberFee: 115000, - startDate: 10 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - it('Should return 400 if startDate isn\'t specified', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - var course = { - CourseTitle: 'Facility Management', - memberFees: 105000, - nonmemberFee: 115000, - endDate: 13 - }; - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses")).set('Authorization', token).send(course).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - }); - }); - describe('Get All Courses Test', function () { - describe('Get requests for both user and admin', function () { - it('should return 200 and get all trips', function (done) { - var login = { - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).get("".concat(apiEndPoint, "courses")).set('Authorization', token).send(token).end(function (err, res) { - res.should.have.status(200); - res.body.should.be.an('object'); - res.body.should.have.property('status'); - res.body.should.have.property('data'); - res.body.data.should.be.an('array'); - res.body.data[0].should.have.property('id'); - res.body.data[0].should.have.property('coursetitle'); - res.body.data[0].should.have.property('memberfees'); - res.body.data[0].should.have.property('nonmemberfee'); - res.body.data[0].should.have.property('startdate'); - res.body.data[0].should.have.property('enddate'); - done(); - }); - }); - }); - it('should return 200 and get all trips', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).get("".concat(apiEndPoint, "courses")).set('Authorization', token).send(token).end(function (err, res) { - res.should.have.status(200); - res.body.should.be.an('object'); - res.body.should.have.property('status'); - res.body.should.have.property('data'); - res.body.data.should.be.an('array'); - res.body.data[0].should.have.property('id'); - res.body.data[0].should.have.property('coursetitle'); - res.body.data[0].should.have.property('memberfees'); - res.body.data[0].should.have.property('nonmemberfee'); - res.body.data[0].should.have.property('startdate'); - res.body.data[0].should.have.property('enddate'); - done(); - }); - }); - }); - it('should return 400 if token is invalid', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).get("".concat(apiEndPoint, "courses")).set('Authorization', '').send(token).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - }); - }); - describe('Register for Courses Test', function () { - describe('Post requests for both users', function () { - it('should return 200 and register a course', function (done) { - var login = { - email: 'temi@testmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).post("".concat(apiEndPoint, "courses/:id/register")).set('Authorization', token).send(token).end(function (err, res) { - res.should.have.status(200); - res.body.should.be.an('object'); - res.body.should.have.property('status'); - res.body.should.have.property('data'); - res.body.data.should.be.an('array'); - res.body.data[0].should.have.property('id'); - res.body.data[0].should.have.property('coursetitle'); - res.body.data[0].should.have.property('memberfees'); - res.body.data[0].should.have.property('nonmemberfee'); - res.body.data[0].should.have.property('startdate'); - res.body.data[0].should.have.property('enddate'); - done(); - }); - }); - }); - it('should return 200 and get all trips', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).get("".concat(apiEndPoint, "courses")).set('Authorization', token).send(token).end(function (err, res) { - res.should.have.status(200); - res.body.should.be.an('object'); - res.body.should.have.property('status'); - res.body.should.have.property('data'); - res.body.data.should.be.an('array'); - res.body.data[0].should.have.property('id'); - res.body.data[0].should.have.property('coursetitle'); - res.body.data[0].should.have.property('memberfees'); - res.body.data[0].should.have.property('nonmemberfee'); - res.body.data[0].should.have.property('startdate'); - res.body.data[0].should.have.property('enddate'); - done(); - }); - }); - }); - it('should return 400 if token is invalid', function (done) { - var login = { - email: 'dassyakolo@gmail.com', - password: 'password' - }; - - _chai["default"].request(_app["default"]).post("".concat(userEndPoint, "signin")).send(login).end(function (loginErr, loginRes) { - var token = "Bearer ".concat(loginRes.body.data.token); - - _chai["default"].request(_app["default"]).get("".concat(apiEndPoint, "courses")).set('Authorization', '').send(token).end(function (err, res) { - res.should.have.status(400); - res.body.should.be.a('object'); - res.body.should.have.property('error'); - done(); - }); - }); - }); - }); - }); -}); -//# sourceMappingURL=test.js.map \ No newline at end of file diff --git a/dist/test/test.js.map b/dist/test/test.js.map deleted file mode 100644 index a457e1a..0000000 --- a/dist/test/test.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/test/test.js"],"names":["chai","should","use","chaiHttp","apiEndPoint","userEndPoint","describe","it","done","user","firstName","lastName","email","password","phoneNumber","request","app","post","send","end","err","res","have","status","body","be","a","property","data","firstname","login","loginErr","loginRes","token","course","CourseTitle","memberFees","nonmemberFee","startDate","endDate","set","get","an"],"mappings":"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","sourcesContent":["import chai from 'chai';\nimport chaiHttp from 'chai-http';\nimport app from '../../app';\n\nchai.should();\n\nchai.use(chaiHttp);\n\nconst apiEndPoint = '/api/v1/';\nconst userEndPoint = `${apiEndPoint}auth/`;\n\ndescribe('Authentication Tests', () => {\n describe('User Sign Up Tests', () => {\n describe(`POST ${userEndPoint}signup`, () => {\n it('Should create a new user', (done) => {\n const user = {\n firstName: 'temi',\n lastName: 'otokurfor',\n email: 'temi@testmail.com',\n password: 'password',\n phoneNumber: 123345622,\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(201);\n res.body.should.be.a('object');\n res.body.should.have.property('data');\n res.body.data.should.be.a('object');\n res.body.data.should.have.property('token');\n res.body.data.should.have.property('id');\n res.body.data.should.have.property('firstname');\n res.body.data.should.have.property('lastname');\n res.body.data.should.have.property('email');\n res.body.data.should.have.property('phonenumber');\n res.body.data.should.have.property('isadmin');\n done();\n });\n });\n\n it('Should return 400 if firstname is ommited', (done) => {\n const user = {\n lastName: 'otokurfor',\n email: 'temi@testmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 400 if lastname is ommited', (done) => {\n const user = {\n firstName: 'temi',\n email: 'temi@testmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 400 if email is ommited', (done) => {\n const user = {\n firstname: 'temi',\n lastName: 'otokurfor',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 400 if email key is provided without value', (done) => {\n const user = {\n firstName: 'temi',\n lastName: 'otokurfor',\n email: ' ',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 409 if email already exists', (done) => {\n const user = {\n firstName: 'jasmin',\n lastName: 'abdul',\n email: 'jas.abdul@gmail.com',\n password: 'password',\n phoneNumber: 123456781,\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(409);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n\n it('Should return 400 if password is ommited', (done) => {\n const user = {\n firstName: 'temi',\n lastName: 'otokurfor',\n email: 'temi@testmail.com',\n };\n chai.request(app)\n .post(`${userEndPoint}signup`)\n .send(user)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n });\n\n describe('User Login tests', () => {\n describe(`POST ${userEndPoint}signin`, () => {\n it('Should login a user successfully', (done) => {\n const login = {\n email: 'temi@testmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((err, res) => {\n res.should.have.status(200);\n res.body.should.be.a('object');\n res.body.should.have.property('data');\n res.body.data.should.be.a('object');\n res.body.data.should.have.property('token');\n res.body.data.should.have.property('id');\n res.body.data.should.have.property('firstname');\n res.body.data.should.have.property('lastname');\n res.body.data.should.have.property('email');\n done();\n });\n });\n\n it('Should deny access if wrong email is provided', (done) => {\n const login = {\n email: 'kcmykirl@gmail.com',\n password: 'pA55w0rd',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((err, res) => {\n res.should.have.status(404);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should deny access if wrong password is provided', (done) => {\n const login = {\n email: 'temi@testmail.com',\n password: 'passweod',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((err, res) => {\n res.should.have.status(401);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 400 if email is not provided', (done) => {\n const login = {\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n\n it('Should return 400 if password is ommited', (done) => {\n const login = {\n email: 'temi@testmail.com',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n });\n\n describe('Create Courses Tests', () => {\n describe('POST requests to admin protected routes', () => {\n it('Should return 403 if token is for user', (done) => {\n const login = {\n email: 'temi@testmail.com',\n password: 'password',\n };\n\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n nonmemberFee: 115000,\n startDate: 10,\n endDate: 13,\n };\n\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(403);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n it('Should Successfully Create a Course', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n nonmemberFee: 115000,\n startDate: 10,\n endDate: 13,\n };\n\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(201);\n res.body.should.be.a('object');\n res.body.should.have.property('status');\n res.body.should.have.property('data');\n res.body.data.should.be.a('object');\n res.body.data.should.have.property('id');\n res.body.data.should.have.property('coursetitle');\n res.body.data.should.have.property('memberfees');\n res.body.data.should.have.property('nonmemberfee');\n res.body.data.should.have.property('startdate');\n res.body.data.should.have.property('enddate');\n done();\n });\n });\n });\n it('Should return 404 if isadmin token is empty', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n nonmemberFee: 115000,\n startDate: 10,\n endDate: 13,\n };\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', '')\n .send(course)\n .end((err, res) => {\n res.should.have.status(404);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n it('Should return 400 if courseTitle isn\\'t specified', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n memberFees: 105000,\n nonmemberFee: 115000,\n startDate: 10,\n endDate: 13,\n };\n\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n\n it('Should return 400 if memberFees isn\\'t specified', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n nonmemberFee: 115000,\n startDate: 10,\n endDate: 13,\n };\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n\n it('Should return 400 if nonmemberFee isn\\'t specified', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n startDate: 10,\n endDate: 13,\n };\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n\n it('Should return 400 if endDate isn\\'t specified', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n nonmemberFee: 115000,\n startDate: 10,\n };\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n\n it('Should return 400 if startDate isn\\'t specified', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n const course = {\n CourseTitle: 'Facility Management',\n memberFees: 105000,\n nonmemberFee: 115000,\n endDate: 13,\n };\n chai.request(app)\n .post(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(course)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n });\n });\n describe('Get All Courses Test', () => {\n describe('Get requests for both user and admin', () => {\n it('should return 200 and get all trips', (done) => {\n const login = {\n email: 'temi@testmail.com',\n password: 'password',\n };\n\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .get(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(token)\n .end((err, res) => {\n res.should.have.status(200);\n res.body.should.be.an('object');\n res.body.should.have.property('status');\n res.body.should.have.property('data');\n res.body.data.should.be.an('array');\n res.body.data[0].should.have.property('id');\n res.body.data[0].should.have.property('coursetitle');\n res.body.data[0].should.have.property('memberfees');\n res.body.data[0].should.have.property('nonmemberfee');\n res.body.data[0].should.have.property('startdate');\n res.body.data[0].should.have.property('enddate');\n done();\n });\n });\n });\n\n it('should return 200 and get all trips', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .get(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(token)\n .end((err, res) => {\n res.should.have.status(200);\n res.body.should.be.an('object');\n res.body.should.have.property('status');\n res.body.should.have.property('data');\n res.body.data.should.be.an('array');\n res.body.data[0].should.have.property('id');\n res.body.data[0].should.have.property('coursetitle');\n res.body.data[0].should.have.property('memberfees');\n res.body.data[0].should.have.property('nonmemberfee');\n res.body.data[0].should.have.property('startdate');\n res.body.data[0].should.have.property('enddate');\n done();\n });\n });\n });\n it('should return 400 if token is invalid', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .get(`${apiEndPoint}courses`)\n .set('Authorization', '')\n .send(token)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n });\n });\n describe('Register for Courses Test', () => {\n describe('Post requests for both users', () => {\n it('should return 200 and register a course', (done) => {\n const login = {\n email: 'temi@testmail.com',\n password: 'password',\n };\n\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .post(`${apiEndPoint}courses/:id/register`)\n .set('Authorization', token)\n .send(token)\n .end((err, res) => {\n res.should.have.status(200);\n res.body.should.be.an('object');\n res.body.should.have.property('status');\n res.body.should.have.property('data');\n res.body.data.should.be.an('array');\n res.body.data[0].should.have.property('id');\n res.body.data[0].should.have.property('coursetitle');\n res.body.data[0].should.have.property('memberfees');\n res.body.data[0].should.have.property('nonmemberfee');\n res.body.data[0].should.have.property('startdate');\n res.body.data[0].should.have.property('enddate');\n done();\n });\n });\n });\n\n it('should return 200 and get all trips', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .get(`${apiEndPoint}courses`)\n .set('Authorization', token)\n .send(token)\n .end((err, res) => {\n res.should.have.status(200);\n res.body.should.be.an('object');\n res.body.should.have.property('status');\n res.body.should.have.property('data');\n res.body.data.should.be.an('array');\n res.body.data[0].should.have.property('id');\n res.body.data[0].should.have.property('coursetitle');\n res.body.data[0].should.have.property('memberfees');\n res.body.data[0].should.have.property('nonmemberfee');\n res.body.data[0].should.have.property('startdate');\n res.body.data[0].should.have.property('enddate');\n done();\n });\n });\n });\n it('should return 400 if token is invalid', (done) => {\n const login = {\n email: 'dassyakolo@gmail.com',\n password: 'password',\n };\n chai.request(app)\n .post(`${userEndPoint}signin`)\n .send(login)\n .end((loginErr, loginRes) => {\n const token = `Bearer ${loginRes.body.data.token}`;\n\n chai.request(app)\n .get(`${apiEndPoint}courses`)\n .set('Authorization', '')\n .send(token)\n .end((err, res) => {\n res.should.have.status(400);\n res.body.should.be.a('object');\n res.body.should.have.property('error');\n done();\n });\n });\n });\n });\n });\n});\n"],"file":"test.js"} \ No newline at end of file diff --git a/dist/utils/index.js b/dist/utils/index.js deleted file mode 100644 index 04491f0..0000000 --- a/dist/utils/index.js +++ /dev/null @@ -1,86 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _bcryptjs = _interopRequireDefault(require("bcryptjs")); - -var _jsonwebtoken = _interopRequireDefault(require("jsonwebtoken")); - -/** - * @description Utils controller Class - */ -var Utils = -/*#__PURE__*/ -function () { - function Utils() { - (0, _classCallCheck2["default"])(this, Utils); - } - - (0, _createClass2["default"])(Utils, null, [{ - key: "hashPassword", - - /** - * hashPassword - * @description hashes a password - * @param { string } password - * @returns { string } hashed password - */ - value: function hashPassword(password) { - return _bcryptjs["default"].hashSync(password, _bcryptjs["default"].genSaltSync(8)); - } - /** - * comparePassword - * @description compares two passwords - * @param { String } password - * @param { String } hashedPassword - * @returns { Boolean } True or false - */ - - }, { - key: "comparePassword", - value: function comparePassword(password, hashedPassword) { - return _bcryptjs["default"].compareSync(password, hashedPassword); - } - /** - * generateToken - * @description generates authentication token - * @param { Object } payload - { id, email } - * @returns { String } token - */ - - }, { - key: "generateToken", - value: function generateToken(payload) { - return _jsonwebtoken["default"].sign(payload, process.env.SECRET, { - expiresIn: '2h' - }); - } - /** - * decodeToken - * @description decodes the token and returns the corresponding payload - * @param { String } token - * @returns { Object } payload - { id, email, isAdmin } - * @memberof Utils - */ - - }, { - key: "decodeToken", - value: function decodeToken(token) { - return _jsonwebtoken["default"].verify(token, process.env.SECRET); - } - }]); - return Utils; -}(); - -var _default = Utils; -exports["default"] = _default; -//# sourceMappingURL=index.js.map \ No newline at end of file diff --git a/dist/utils/index.js.map b/dist/utils/index.js.map deleted file mode 100644 index afab2ec..0000000 --- a/dist/utils/index.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utils/index.js"],"names":["Utils","password","bcrypt","hashSync","genSaltSync","hashedPassword","compareSync","payload","jwt","sign","process","env","SECRET","expiresIn","token","verify"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AAEA;;;IAGMA,K;;;;;;;;;;AACJ;;;;;;iCAMoBC,Q,EAAU;AAC5B,aAAOC,qBAAOC,QAAP,CAAgBF,QAAhB,EAA0BC,qBAAOE,WAAP,CAAmB,CAAnB,CAA1B,CAAP;AACD;AAED;;;;;;;;;;oCAOuBH,Q,EAAUI,c,EAAgB;AAC/C,aAAOH,qBAAOI,WAAP,CAAmBL,QAAnB,EAA6BI,cAA7B,CAAP;AACD;AAED;;;;;;;;;kCAMqBE,O,EAAS;AAC5B,aAAOC,yBAAIC,IAAJ,CAASF,OAAT,EAAkBG,OAAO,CAACC,GAAR,CAAYC,MAA9B,EAAsC;AAAEC,QAAAA,SAAS,EAAE;AAAb,OAAtC,CAAP;AACD;AAED;;;;;;;;;;gCAOmBC,K,EAAO;AACxB,aAAON,yBAAIO,MAAJ,CAAWD,KAAX,EAAkBJ,OAAO,CAACC,GAAR,CAAYC,MAA9B,CAAP;AACD;;;;;eAEYZ,K","sourcesContent":["import bcrypt from 'bcryptjs';\nimport jwt from 'jsonwebtoken';\n\n/**\n * @description Utils controller Class\n */\nclass Utils {\n /**\n * hashPassword\n * @description hashes a password\n * @param { string } password\n * @returns { string } hashed password\n */\n static hashPassword(password) {\n return bcrypt.hashSync(password, bcrypt.genSaltSync(8));\n }\n\n /**\n * comparePassword\n * @description compares two passwords\n * @param { String } password\n * @param { String } hashedPassword\n * @returns { Boolean } True or false\n */\n static comparePassword(password, hashedPassword) {\n return bcrypt.compareSync(password, hashedPassword);\n }\n\n /**\n * generateToken\n * @description generates authentication token\n * @param { Object } payload - { id, email }\n * @returns { String } token\n */\n static generateToken(payload) {\n return jwt.sign(payload, process.env.SECRET, { expiresIn: '2h' });\n }\n\n /**\n * decodeToken\n * @description decodes the token and returns the corresponding payload\n * @param { String } token\n * @returns { Object } payload - { id, email, isAdmin }\n * @memberof Utils\n */\n static decodeToken(token) {\n return jwt.verify(token, process.env.SECRET);\n }\n}\nexport default Utils;\n"],"file":"index.js"} \ No newline at end of file diff --git a/dist/utils/response.js b/dist/utils/response.js deleted file mode 100644 index 8634926..0000000 --- a/dist/utils/response.js +++ /dev/null @@ -1,84 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var ResponseMsg = -/*#__PURE__*/ -function () { - function ResponseMsg() { - (0, _classCallCheck2["default"])(this, ResponseMsg); - } - - (0, _createClass2["default"])(ResponseMsg, null, [{ - key: "resErr", - - /** - * @static responseErr - * @param { Object } res - * @param { Number } status - * @param { Object } message - * @returns respsonse body - * @description ddefines the standard response format in the case of an error - * @memberof ResponseMsg - */ - value: function resErr(res, status, message) { - return res.status(status).json({ - status: 'error', - error: message - }); - } - /** - * @static response - * @param { Object } res - * @param { Number } status - * @param { Object } message - * @returns respsonse body - * @description ddefines the standard response format when a data object is to be returned - * @memberof ResponseMsg - */ - - }, { - key: "resLong", - value: function resLong(res, status, data) { - return res.status(status).json({ - status: 'success', - data: data - }); - } - /** - * - * - * @static - * @param {*} res - * @param {*} status - * @param {*} message - * @returns response body - * @memberof ResponseMsg - */ - - }, { - key: "resShort", - value: function resShort(res, status, message) { - return res.status(status).json({ - status: 'success', - data: { - message: message - } - }); - } - }]); - return ResponseMsg; -}(); - -var _default = ResponseMsg; -exports["default"] = _default; -//# sourceMappingURL=response.js.map \ No newline at end of file diff --git a/dist/utils/response.js.map b/dist/utils/response.js.map deleted file mode 100644 index ccfe4bb..0000000 --- a/dist/utils/response.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/utils/response.js"],"names":["ResponseMsg","res","status","message","json","error","data"],"mappings":";;;;;;;;;;;;;IAAMA,W;;;;;;;;;;AACJ;;;;;;;;;2BAScC,G,EAAKC,M,EAAQC,O,EAAS;AAClC,aAAOF,GAAG,CAACC,MAAJ,CAAWA,MAAX,EAAmBE,IAAnB,CAAwB;AAC7BF,QAAAA,MAAM,EAAE,OADqB;AAE7BG,QAAAA,KAAK,EAAEF;AAFsB,OAAxB,CAAP;AAID;AAED;;;;;;;;;;;;4BASeF,G,EAAKC,M,EAAQI,I,EAAM;AAChC,aAAOL,GAAG,CAACC,MAAJ,CAAWA,MAAX,EAAmBE,IAAnB,CAAwB;AAC7BF,QAAAA,MAAM,EAAE,SADqB;AAE7BI,QAAAA,IAAI,EAAJA;AAF6B,OAAxB,CAAP;AAID;AAED;;;;;;;;;;;;;6BAUgBL,G,EAAKC,M,EAAQC,O,EAAS;AACpC,aAAOF,GAAG,CAACC,MAAJ,CAAWA,MAAX,EAAmBE,IAAnB,CAAwB;AAC7BF,QAAAA,MAAM,EAAE,SADqB;AAE7BI,QAAAA,IAAI,EAAE;AACJH,UAAAA,OAAO,EAAPA;AADI;AAFuB,OAAxB,CAAP;AAMD;;;;;eAGYH,W","sourcesContent":["class ResponseMsg {\n /**\n * @static responseErr\n * @param { Object } res\n * @param { Number } status\n * @param { Object } message\n * @returns respsonse body\n * @description ddefines the standard response format in the case of an error\n * @memberof ResponseMsg\n */\n static resErr(res, status, message) {\n return res.status(status).json({\n status: 'error',\n error: message,\n });\n }\n\n /**\n * @static response\n * @param { Object } res\n * @param { Number } status\n * @param { Object } message\n * @returns respsonse body\n * @description ddefines the standard response format when a data object is to be returned\n * @memberof ResponseMsg\n */\n static resLong(res, status, data) {\n return res.status(status).json({\n status: 'success',\n data,\n });\n }\n\n /**\n *\n *\n * @static\n * @param {*} res\n * @param {*} status\n * @param {*} message\n * @returns response body\n * @memberof ResponseMsg\n */\n static resShort(res, status, message) {\n return res.status(status).json({\n status: 'success',\n data: {\n message,\n },\n });\n }\n}\n\nexport default ResponseMsg;\n"],"file":"response.js"} \ No newline at end of file diff --git a/dist/validatation/inputValidator.js b/dist/validatation/inputValidator.js deleted file mode 100644 index 9c2893f..0000000 --- a/dist/validatation/inputValidator.js +++ /dev/null @@ -1,106 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _schema = _interopRequireDefault(require("./schema")); - -var _validate = _interopRequireDefault(require("./validate")); - -function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; } - -function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; } - -/** - * @class InputValidator - * @description Validates all user inputs - * @exports InputValidator - */ -var InputValidator = -/*#__PURE__*/ -function () { - function InputValidator() { - (0, _classCallCheck2["default"])(this, InputValidator); - } - - (0, _createClass2["default"])(InputValidator, null, [{ - key: "validateUser", - - /** - * @method validateUser - * @description Validates the user object passed in from the request body - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @param {function} next - The next function to point to the next middleware - * @returns {function} next() - The next function - */ - value: function validateUser(req, res, next) { - var user = _objectSpread({}, req.body); - - return (0, _validate["default"])(user, _schema["default"].createUserSchema(), req, res, next); - } - /** - * @method validateLogin - * @description Validates the login details passed in from the request body - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @param {function} next - The next function to point to the next middleware - * @returns {function} next() - The next function - */ - - }, { - key: "validateLogin", - value: function validateLogin(req, res, next) { - var login = _objectSpread({}, req.body); - - return (0, _validate["default"])(login, _schema["default"].loginSchema(), req, res, next); - } - /** - * @method validateCourse - * @description Validates the course details passed in from the request body - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @param {function} next - The next function to point to the next middleware - * @returns {function} next() - The next function - */ - - }, { - key: "validateCourse", - value: function validateCourse(req, res, next) { - var type = _objectSpread({}, req.body); - - return (0, _validate["default"])(type, _schema["default"].createCourse(), req, res, next); - } - /** - * @method validateUserProfile - * @description Validates the user details passed in from the request body - * @param {object} req - The Request Object - * @param {object} res - The Response Object - * @param {function} next - The next function to point to the next middleware - * @returns {function} next() - The next function - */ - - }, { - key: "validateUserProfile", - value: function validateUserProfile(req, res, next) { - var type = _objectSpread({}, req.body); - - return this.validateUserProfile(type, _schema["default"].createCourse(), req, res, next); - } - }]); - return InputValidator; -}(); - -var _default = InputValidator; -exports["default"] = _default; -//# sourceMappingURL=inputValidator.js.map \ No newline at end of file diff --git a/dist/validatation/inputValidator.js.map b/dist/validatation/inputValidator.js.map deleted file mode 100644 index 3d2f5ff..0000000 --- a/dist/validatation/inputValidator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/validatation/inputValidator.js"],"names":["InputValidator","req","res","next","user","body","Schema","createUserSchema","login","loginSchema","type","createCourse","validateUserProfile"],"mappings":";;;;;;;;;;;;;;;AAAA;;AACA;;;;;;AAEA;;;;;IAKMA,c;;;;;;;;;;AACJ;;;;;;;;iCAQoBC,G,EAAKC,G,EAAKC,I,EAAM;AAClC,UAAMC,IAAI,qBAAQH,GAAG,CAACI,IAAZ,CAAV;;AACA,aAAO,0BAASD,IAAT,EAAeE,mBAAOC,gBAAP,EAAf,EAA0CN,GAA1C,EAA+CC,GAA/C,EAAoDC,IAApD,CAAP;AACD;AAED;;;;;;;;;;;kCAQqBF,G,EAAKC,G,EAAKC,I,EAAM;AACnC,UAAMK,KAAK,qBAAQP,GAAG,CAACI,IAAZ,CAAX;;AACA,aAAO,0BAASG,KAAT,EAAgBF,mBAAOG,WAAP,EAAhB,EAAsCR,GAAtC,EAA2CC,GAA3C,EAAgDC,IAAhD,CAAP;AACD;AAED;;;;;;;;;;;mCAQsBF,G,EAAKC,G,EAAKC,I,EAAM;AACpC,UAAMO,IAAI,qBAAQT,GAAG,CAACI,IAAZ,CAAV;;AACA,aAAO,0BAASK,IAAT,EAAeJ,mBAAOK,YAAP,EAAf,EAAsCV,GAAtC,EAA2CC,GAA3C,EAAgDC,IAAhD,CAAP;AACD;AAED;;;;;;;;;;;wCAQ2BF,G,EAAKC,G,EAAKC,I,EAAM;AACzC,UAAMO,IAAI,qBAAQT,GAAG,CAACI,IAAZ,CAAV;;AACA,aAAO,KAAKO,mBAAL,CAAyBF,IAAzB,EAA+BJ,mBAAOK,YAAP,EAA/B,EAAsDV,GAAtD,EAA2DC,GAA3D,EAAgEC,IAAhE,CAAP;AACD;;;;;eAGYH,c","sourcesContent":["import Schema from './schema';\nimport validate from './validate';\n\n/**\n * @class InputValidator\n * @description Validates all user inputs\n * @exports InputValidator\n */\nclass InputValidator {\n /**\n * @method validateUser\n * @description Validates the user object passed in from the request body\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @param {function} next - The next function to point to the next middleware\n * @returns {function} next() - The next function\n */\n static validateUser(req, res, next) {\n const user = { ...req.body };\n return validate(user, Schema.createUserSchema(), req, res, next);\n }\n\n /**\n * @method validateLogin\n * @description Validates the login details passed in from the request body\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @param {function} next - The next function to point to the next middleware\n * @returns {function} next() - The next function\n */\n static validateLogin(req, res, next) {\n const login = { ...req.body };\n return validate(login, Schema.loginSchema(), req, res, next);\n }\n\n /**\n * @method validateCourse\n * @description Validates the course details passed in from the request body\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @param {function} next - The next function to point to the next middleware\n * @returns {function} next() - The next function\n */\n static validateCourse(req, res, next) {\n const type = { ...req.body };\n return validate(type, Schema.createCourse(), req, res, next);\n }\n\n /**\n * @method validateUserProfile\n * @description Validates the user details passed in from the request body\n * @param {object} req - The Request Object\n * @param {object} res - The Response Object\n * @param {function} next - The next function to point to the next middleware\n * @returns {function} next() - The next function\n */\n static validateUserProfile(req, res, next) {\n const type = { ...req.body };\n return this.validateUserProfile(type, Schema.createCourse(), req, res, next);\n }\n}\n\nexport default InputValidator;\n"],"file":"inputValidator.js"} \ No newline at end of file diff --git a/dist/validatation/paramvalidator.js b/dist/validatation/paramvalidator.js deleted file mode 100644 index 5a7a4d9..0000000 --- a/dist/validatation/paramvalidator.js +++ /dev/null @@ -1,2 +0,0 @@ -"use strict"; -//# sourceMappingURL=paramvalidator.js.map \ No newline at end of file diff --git a/dist/validatation/paramvalidator.js.map b/dist/validatation/paramvalidator.js.map deleted file mode 100644 index 8509793..0000000 --- a/dist/validatation/paramvalidator.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"paramvalidator.js"} \ No newline at end of file diff --git a/dist/validatation/schema.js b/dist/validatation/schema.js deleted file mode 100644 index 6da7736..0000000 --- a/dist/validatation/schema.js +++ /dev/null @@ -1,150 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); - -var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); - -var _joi = _interopRequireDefault(require("@hapi/joi")); - -/* eslint-disable no-param-reassign */ - -/** - * @class Schema - * @description Validates user input. - * @exports Schema - */ -var Schema = -/*#__PURE__*/ -function () { - function Schema() { - (0, _classCallCheck2["default"])(this, Schema); - } - - (0, _createClass2["default"])(Schema, null, [{ - key: "createUserSchema", - - /** - * @method createUserSchema - * @description Validates the user object from a post request - * @param {object} user - The user object to be validated - * @returns {object} An object specifying weather the input was valid or not. - */ - value: function createUserSchema() { - var schema = { - email: _joi["default"].string().trim().lowercase().email({ - minDomainSegments: 2 - }).required(), - password: _joi["default"].string().min(8).required() - }; - return schema; - } - /** - * @method loginSchema - * @description Validates the login details from a post request - * @param {object} login - The login object to be validated - * @returns {object} An object specifying weather the input was valid or not. - */ - - }, { - key: "loginSchema", - value: function loginSchema() { - var schema = { - email: _joi["default"].string().trim().lowercase().email({ - minDomainSegments: 2 - }).required(), - password: _joi["default"].string().min(8).required() - }; - return schema; - } - /** - * @method createCourse - * @description Validates the course details from a post request - * @param {object} course - The account object to be validated - * @returns {object} An object specifying weather the input was valid or not. - */ - - }, { - key: "createCourse", - value: function createCourse() { - var schema = { - courseTitle: _joi["default"].string().trim().lowercase().required(), - memberFees: _joi["default"].number().min(2000).required(), - nonMemberFees: _joi["default"].number().min(2000).required(), - startDate: _joi["default"].date().format('YYYY-MM-DD').required(), - endDate: _joi["default"].date().format('YYYY-MM-DD').required() - }; - return schema; - } - /** - * @method userProfileSchema - * @description Validates the user object from a post request - * @param {object} user - The user object to be validated - * @returns {object} An object specifying weather the input was valid or not. - */ - - }, { - key: "userProfileSchema", - value: function userProfileSchema() { - var schema = { - firstName: _joi["default"].string().lowercase().trim().required().regex(/^[a-zA-Z]+$/).error(function (errors) { - errors.forEach(function (err) { - switch (err.type) { - case 'string.regex.base': - err.message = 'first_name can only contain letters'; - break; - - default: - break; - } - }); - return errors; - }), - middleName: _joi["default"].string().lowercase().trim().required().regex(/^[a-zA-Z]+$/).error(function (errors) { - errors.forEach(function (err) { - switch (err.type) { - case 'string.regex.base': - err.message = 'last_name can only contain letters'; - break; - - default: - break; - } - }); - return errors; - }), - lastName: _joi["default"].string().lowercase().trim().required().regex(/^[a-zA-Z]+$/).error(function (errors) { - errors.forEach(function (err) { - switch (err.type) { - case 'string.regex.base': - err.message = 'last_name can only contain letters'; - break; - - default: - break; - } - }); - return errors; - }), - birthDate: _joi["default"].date().format('YYYY-MM-DD').required(), - gender: _joi["default"].string().trim().lowercase().required(), - phoneNumber: _joi["default"].string().phoneNumber({ - defaultCountry: 'BE', - format: 'e164' - }).validate('494322456') - }; - return schema; - } - }]); - return Schema; -}(); - -var _default = Schema; -exports["default"] = _default; -//# sourceMappingURL=schema.js.map \ No newline at end of file diff --git a/dist/validatation/schema.js.map b/dist/validatation/schema.js.map deleted file mode 100644 index 5168dc7..0000000 --- a/dist/validatation/schema.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/validatation/schema.js"],"names":["Schema","schema","email","Joi","string","trim","lowercase","minDomainSegments","required","password","min","courseTitle","memberFees","number","nonMemberFees","startDate","date","format","endDate","firstName","regex","error","errors","forEach","err","type","message","middleName","lastName","birthDate","gender","phoneNumber","defaultCountry","validate"],"mappings":"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","sourcesContent":["/* eslint-disable no-param-reassign */\nimport Joi from '@hapi/joi';\n\n/**\n * @class Schema\n * @description Validates user input.\n * @exports Schema\n */\nclass Schema {\n /**\n * @method createUserSchema\n * @description Validates the user object from a post request\n * @param {object} user - The user object to be validated\n * @returns {object} An object specifying weather the input was valid or not.\n */\n static createUserSchema() {\n const schema = {\n email: Joi.string().trim().lowercase().email({ minDomainSegments: 2 })\n .required(),\n password: Joi.string().min(8).required(),\n };\n return schema;\n }\n\n /**\n * @method loginSchema\n * @description Validates the login details from a post request\n * @param {object} login - The login object to be validated\n * @returns {object} An object specifying weather the input was valid or not.\n */\n static loginSchema() {\n const schema = {\n email: Joi.string().trim().lowercase().email({ minDomainSegments: 2 })\n .required(),\n password: Joi.string().min(8).required(),\n };\n return schema;\n }\n\n /**\n * @method createCourse\n * @description Validates the course details from a post request\n * @param {object} course - The account object to be validated\n * @returns {object} An object specifying weather the input was valid or not.\n */\n static createCourse() {\n const schema = {\n courseTitle: Joi.string().trim().lowercase().required(),\n memberFees: Joi.number().min(2000).required(),\n nonMemberFees: Joi.number().min(2000).required(),\n startDate: Joi.date().format('YYYY-MM-DD').required(),\n endDate: Joi.date().format('YYYY-MM-DD').required(),\n };\n return schema;\n }\n\n /**\n * @method userProfileSchema\n * @description Validates the user object from a post request\n * @param {object} user - The user object to be validated\n * @returns {object} An object specifying weather the input was valid or not.\n */\n static userProfileSchema() {\n const schema = {\n firstName: Joi.string().lowercase().trim().required()\n .regex(/^[a-zA-Z]+$/)\n .error((errors) => {\n errors.forEach((err) => {\n switch (err.type) {\n case 'string.regex.base':\n err.message = 'first_name can only contain letters';\n break;\n default:\n break;\n }\n });\n return errors;\n }),\n middleName: Joi.string().lowercase().trim().required()\n .regex(/^[a-zA-Z]+$/)\n .error((errors) => {\n errors.forEach((err) => {\n switch (err.type) {\n case 'string.regex.base':\n err.message = 'last_name can only contain letters';\n break;\n default:\n break;\n }\n });\n return errors;\n }),\n lastName: Joi.string().lowercase().trim().required()\n .regex(/^[a-zA-Z]+$/)\n .error((errors) => {\n errors.forEach((err) => {\n switch (err.type) {\n case 'string.regex.base':\n err.message = 'last_name can only contain letters';\n break;\n default:\n break;\n }\n });\n return errors;\n }),\n birthDate: Joi.date().format('YYYY-MM-DD').required(),\n gender: Joi.string().trim().lowercase().required(),\n phoneNumber: Joi.string().phoneNumber({ defaultCountry: 'BE', format: 'e164' }).validate('494322456'),\n };\n return schema;\n }\n}\n\nexport default Schema;\n"],"file":"schema.js"} \ No newline at end of file diff --git a/dist/validatation/validate.js b/dist/validatation/validate.js deleted file mode 100644 index 1247da3..0000000 --- a/dist/validatation/validate.js +++ /dev/null @@ -1,34 +0,0 @@ -"use strict"; - -var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports["default"] = void 0; - -var _joi = _interopRequireDefault(require("@hapi/joi")); - -var validate = function validate(object, schema, req, res, next) { - var _Joi$validate = _joi["default"].validate(object, schema, { - abortEarly: false - }), - error = _Joi$validate.error, - value = _Joi$validate.value; - - if (error) { - return res.status(400).send({ - status: 'error', - error: error.details.map(function (detail) { - return detail.message; - }) - }); - } - - req.body = value; - return next(); -}; - -var _default = validate; -exports["default"] = _default; -//# sourceMappingURL=validate.js.map \ No newline at end of file diff --git a/dist/validatation/validate.js.map b/dist/validatation/validate.js.map deleted file mode 100644 index a915b09..0000000 --- a/dist/validatation/validate.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../src/validatation/validate.js"],"names":["validate","object","schema","req","res","next","Joi","abortEarly","error","value","status","send","details","map","detail","message","body"],"mappings":";;;;;;;;;AAAA;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,MAAD,EAASC,MAAT,EAAiBC,GAAjB,EAAsBC,GAAtB,EAA2BC,IAA3B,EAAoC;AAAA,sBAC1BC,gBAAIN,QAAJ,CAAaC,MAAb,EAAqBC,MAArB,EAA6B;AAAEK,IAAAA,UAAU,EAAE;AAAd,GAA7B,CAD0B;AAAA,MAC3CC,KAD2C,iBAC3CA,KAD2C;AAAA,MACpCC,KADoC,iBACpCA,KADoC;;AAGnD,MAAID,KAAJ,EAAW;AACT,WAAOJ,GAAG,CAACM,MAAJ,CAAW,GAAX,EAAgBC,IAAhB,CAAqB;AAC1BD,MAAAA,MAAM,EAAE,OADkB;AAE1BF,MAAAA,KAAK,EAAEA,KAAK,CAACI,OAAN,CAAcC,GAAd,CAAkB,UAAAC,MAAM;AAAA,eAAIA,MAAM,CAACC,OAAX;AAAA,OAAxB;AAFmB,KAArB,CAAP;AAID;;AAEDZ,EAAAA,GAAG,CAACa,IAAJ,GAAWP,KAAX;AACA,SAAOJ,IAAI,EAAX;AACD,CAZD;;eAceL,Q","sourcesContent":["import Joi from '@hapi/joi';\n\nconst validate = (object, schema, req, res, next) => {\n const { error, value } = Joi.validate(object, schema, { abortEarly: false });\n\n if (error) {\n return res.status(400).send({\n status: 'error',\n error: error.details.map(detail => detail.message),\n });\n }\n\n req.body = value;\n return next();\n};\n\nexport default validate;\n"],"file":"validate.js"} \ No newline at end of file diff --git a/src/validatation/schema.js b/src/validatation/schema.js index 1eebc7e..fdd8ba9 100644 --- a/src/validatation/schema.js +++ b/src/validatation/schema.js @@ -33,7 +33,7 @@ class Schema { const schema = { email: Joi.string().trim().lowercase().email({ minDomainSegments: 2 }) .required(), - password: Joi.string().min(8).required(), + password: Joi.string().required().empty(), }; return schema; }