diff --git a/.env b/.env
deleted file mode 100644
index dcdbc79bbe9c762aded0995031f42ac2d7786922..0000000000000000000000000000000000000000
--- a/.env
+++ /dev/null
@@ -1,3 +0,0 @@
-MYSQL_USERNAME=root
-MYSQL_PASSWORD=mysql
-MYSQL_DB=repp_users
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 3c3629e647f5ddf82548912e337bea9826b434af..94e6eef0d245a53da7eb3cf6be13993454c6581e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,5 @@
 node_modules
+
+dist/
+
+.env
\ No newline at end of file
diff --git a/dist/Controllers/UserCotroller.js b/dist/Controllers/UserCotroller.js
index 6d3808b63b4a6107359b24f4b493c615a0e820e8..8a26143cf5ebd2707b1a4eb25fd056471b40543a 100644
--- a/dist/Controllers/UserCotroller.js
+++ b/dist/Controllers/UserCotroller.js
@@ -150,6 +150,16 @@ const active = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
         return res.status(400).json({ error: e.message });
     }
 });
+const login = (req, res) => __awaiter(void 0, void 0, void 0, function* () {
+    try {
+        const logged = yield UserService_1.default.login(req.body);
+        return res.status(200).send(logged);
+    }
+    catch (error) {
+        const e = error;
+        return res.status(400).json({ error: e.message });
+    }
+});
 router.route('/')
     .get(listAll)
     .post(create);
@@ -176,5 +186,7 @@ router.route('/:id/admin')
     .put(giveAdminPermission);
 router.route('/:id/client')
     .put(removeAdminPermission);
+router.route('/login')
+    .post(login);
 exports.default = router;
 //# sourceMappingURL=UserCotroller.js.map
\ No newline at end of file
diff --git a/dist/Controllers/UserCotroller.js.map b/dist/Controllers/UserCotroller.js.map
index 74fc9cdb8b4141253e4551e6d6c1e10b0ae2558c..0ff3f55a89116bf8cb3f89c26b3f92a1b5ecd296 100644
--- a/dist/Controllers/UserCotroller.js.map
+++ b/dist/Controllers/UserCotroller.js.map
@@ -1 +1 @@
-{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"UserCotroller.js","sourceRoot":"","sources":["../../src/Controllers/UserCotroller.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/Controllers/index.js b/dist/Controllers/index.js
deleted file mode 100644
index 01717ee8e4f1ab088d2c74215f69a211904dddf5..0000000000000000000000000000000000000000
--- a/dist/Controllers/index.js
+++ /dev/null
@@ -1,9 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.UserController = void 0;
-const UserCotroller_1 = __importDefault(require("./UserCotroller"));
-exports.UserController = UserCotroller_1.default;
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/dist/Controllers/index.js.map b/dist/Controllers/index.js.map
deleted file mode 100644
index 541534dc73c3801bca937652bbd127725cc5da6d..0000000000000000000000000000000000000000
--- a/dist/Controllers/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/Controllers/index.ts"],"names":[],"mappings":";;;;;;AAAA,oEAA6C;AAG3C,yBAHK,uBAAc,CAGL"}
\ No newline at end of file
diff --git a/dist/DTOs/UserDTO.js b/dist/DTOs/UserDTO.js
deleted file mode 100644
index 099e40206295b8931c6e4d0dc1aa8e1bb056b0d1..0000000000000000000000000000000000000000
--- a/dist/DTOs/UserDTO.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=UserDTO.js.map
\ No newline at end of file
diff --git a/dist/DTOs/UserDTO.js.map b/dist/DTOs/UserDTO.js.map
deleted file mode 100644
index 8b5b4345c38cf9d8e16952bdd0b7fb7ff3f99898..0000000000000000000000000000000000000000
--- a/dist/DTOs/UserDTO.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"UserDTO.js","sourceRoot":"","sources":["../../src/DTOs/UserDTO.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/dist/Services/UserService.js b/dist/Services/UserService.js
index 7f24131b69f5353ea5e98ee7a51ee86a615a660c..d15478e2271f501c1401202155bd06e421556ec4 100644
--- a/dist/Services/UserService.js
+++ b/dist/Services/UserService.js
@@ -394,6 +394,34 @@ const active = (userId) => __awaiter(void 0, void 0, void 0, function* () {
         throw new Error('find user error');
     });
 });
+const login = (userDTO) => __awaiter(void 0, void 0, void 0, function* () {
+    return users_model_1.User.findOne({
+        attributes: [
+            'id', 'name', 'email', 'organization', 'password',
+            'type', 'status', 'active', 'createdAt',
+        ],
+        where: {
+            email: userDTO.email,
+            status: index_enum_1.status.approved,
+            active: true,
+        },
+    }).then((user) => {
+        if (!user) {
+            throw new Error('user not found');
+        }
+        else if (user && bcrypt_1.default.compareSync(userDTO.password, String(user.get('password')))) {
+            return user;
+        }
+        else {
+            console.log('auth failed, credentials:', userDTO);
+            throw new Error('auth failed');
+        }
+    }).catch((error) => {
+        console.log(error);
+        console.log('credentials:', userDTO);
+        throw new Error('find user error');
+    });
+});
 exports.default = {
     listAll,
     listPending,
@@ -408,5 +436,6 @@ exports.default = {
     active,
     giveAdminPermission,
     removeAdminPermission,
+    login,
 };
 //# sourceMappingURL=UserService.js.map
\ No newline at end of file
diff --git a/dist/Services/UserService.js.map b/dist/Services/UserService.js.map
index fdc1ccdceef6b6d204df50c49515e354ebadaaea..0c7508e7d33cc46825689cb593ced2db73cffa12 100644
--- a/dist/Services/UserService.js.map
+++ b/dist/Services/UserService.js.map
@@ -1 +1 @@
-{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/Services/UserService.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"UserService.js","sourceRoot":"","sources":["../../src/Services/UserService.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/config/config.js b/dist/config/config.js
deleted file mode 100644
index 30a156ca8e7fda3f897f06d1fa8dd9ba4fefbe9f..0000000000000000000000000000000000000000
--- a/dist/config/config.js
+++ /dev/null
@@ -1,13 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.development = void 0;
-require('dotenv').config();
-exports.development = {
-    username: process.env.MYSQL_USERNAME,
-    password: process.env.MYSQL_PASSWORD,
-    database: process.env.MYSQL_DB,
-    host: 'localhost',
-    dialect: 'mysql',
-    logging: false,
-};
-//# sourceMappingURL=config.js.map
\ No newline at end of file
diff --git a/dist/config/config.js.map b/dist/config/config.js.map
deleted file mode 100644
index 0b0ba5b771f7a0645f5698cd9e5a5f0efd6a35e6..0000000000000000000000000000000000000000
--- a/dist/config/config.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config/config.ts"],"names":[],"mappings":";;;AAAA,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;AAEd,QAAA,WAAW,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IACpC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;IAC9B,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,OAAO;IAChB,OAAO,EAAE,KAAK;CACf,CAAC"}
\ No newline at end of file
diff --git a/dist/enums/index.enum.js b/dist/enums/index.enum.js
deleted file mode 100644
index 239ba2c30ab4f684091f5fec72d13fd36cd424e2..0000000000000000000000000000000000000000
--- a/dist/enums/index.enum.js
+++ /dev/null
@@ -1,16 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.profiles = exports.status = void 0;
-var status;
-(function (status) {
-    status[status["pending"] = 0] = "pending";
-    status[status["approved"] = 1] = "approved";
-    status[status["rejected"] = 2] = "rejected";
-})(status = exports.status || (exports.status = {}));
-var profiles;
-(function (profiles) {
-    profiles[profiles["unassigned"] = 0] = "unassigned";
-    profiles[profiles["administrator"] = 1] = "administrator";
-    profiles[profiles["client"] = 2] = "client";
-})(profiles = exports.profiles || (exports.profiles = {}));
-//# sourceMappingURL=index.enum.js.map
\ No newline at end of file
diff --git a/dist/enums/index.enum.js.map b/dist/enums/index.enum.js.map
deleted file mode 100644
index 51129caae48ee68ef10ab21c5784808274f8f8a7..0000000000000000000000000000000000000000
--- a/dist/enums/index.enum.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.enum.js","sourceRoot":"","sources":["../../src/enums/index.enum.ts"],"names":[],"mappings":";;;AAAA,IAAY,MAIX;AAJD,WAAY,MAAM;IAChB,yCAAO,CAAA;IACP,2CAAQ,CAAA;IACR,2CAAQ,CAAA;AACV,CAAC,EAJW,MAAM,GAAN,cAAM,KAAN,cAAM,QAIjB;AAED,IAAY,QAIX;AAJD,WAAY,QAAQ;IAClB,mDAAc,CAAA;IACd,yDAAiB,CAAA;IACjB,2CAAU,CAAA;AACZ,CAAC,EAJW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAInB"}
\ No newline at end of file
diff --git a/dist/index.js b/dist/index.js
deleted file mode 100644
index 72c1ecf7ca6f2786c4d262731ac9205fd6524cdf..0000000000000000000000000000000000000000
--- a/dist/index.js
+++ /dev/null
@@ -1,48 +0,0 @@
-"use strict";
-var __importDefault = (this && this.__importDefault) || function (mod) {
-    return (mod && mod.__esModule) ? mod : { "default": mod };
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-/* eslint-disable no-console */
-const express_1 = __importDefault(require("express"));
-require("dotenv/config");
-const cors_1 = __importDefault(require("cors"));
-const swagger_jsdoc_1 = __importDefault(require("swagger-jsdoc"));
-const swagger_ui_express_1 = __importDefault(require("swagger-ui-express"));
-const routes_1 = __importDefault(require("./routes"));
-const app = (0, express_1.default)();
-const PORT = process.env.PORT || 3000;
-// swagger init
-const swaggerOptions = {
-    swaggerDefinition: {
-        openapi: '3.0.0',
-        info: {
-            title: 'REPP Rest API',
-            version: '1.0.0',
-            description: '',
-            servers: ['http://localhost:3000'],
-        },
-    },
-    apis: ['src/routes.ts'],
-};
-const swaggerDocs = (0, swagger_jsdoc_1.default)(swaggerOptions);
-// middlewares
-app.use('/api-docs', swagger_ui_express_1.default.serve, swagger_ui_express_1.default.setup(swaggerDocs));
-app.use(express_1.default.json({
-    limit: '50mb',
-}));
-app.use(express_1.default.urlencoded({ extended: false }));
-app.use((0, cors_1.default)({
-    origin: '*',
-    methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
-    preflightContinue: false,
-    optionsSuccessStatus: 204,
-}));
-app.use(express_1.default.raw({
-    limit: '50mb',
-}));
-app.use(routes_1.default);
-app.listen(PORT, () => {
-    console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
-});
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/dist/index.js.map b/dist/index.js.map
deleted file mode 100644
index 312ee3244f99af5e0351c6bbaa59142f95e35031..0000000000000000000000000000000000000000
--- a/dist/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,+BAA+B;AAC/B,sDAA+C;AAC/C,yBAAuB;AACvB,gDAAwB;AACxB,kEAAsD;AACtD,4EAA2C;AAC3C,sDAA8B;AAE9B,MAAM,GAAG,GAAgB,IAAA,iBAAO,GAAE,CAAC;AACnC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;AAEtC,eAAe;AACf,MAAM,cAAc,GAAY;IAC9B,iBAAiB,EAAE;QACjB,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE;YACJ,KAAK,EAAE,eAAe;YACtB,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,EAAE;YACf,OAAO,EAAE,CAAC,uBAAuB,CAAC;SACnC;KACF;IACD,IAAI,EAAE,CAAC,eAAe,CAAC;CACxB,CAAC;AACF,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,cAAc,CAAC,CAAC;AAEjD,cAAc;AACd,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,4BAAS,CAAC,KAAK,EAAE,4BAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;AAEpE,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC,CAAC;AACJ,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,UAAU,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AACjD,GAAG,CAAC,GAAG,CAAC,IAAA,cAAI,EAAC;IACX,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,gCAAgC;IACzC,iBAAiB,EAAE,KAAK;IACxB,oBAAoB,EAAE,GAAG;CAC1B,CAAC,CAAC,CAAC;AAEJ,GAAG,CAAC,GAAG,CAAC,iBAAO,CAAC,GAAG,CAAC;IAClB,KAAK,EAAE,MAAM;CACd,CAAC,CAAC,CAAC;AAEJ,GAAG,CAAC,GAAG,CAAC,gBAAM,CAAC,CAAC;AAEhB,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,GAAS,EAAE;IAC1B,OAAO,CAAC,GAAG,CAAC,kDAAkD,IAAI,EAAE,CAAC,CAAC;AACxE,CAAC,CAAC,CAAC"}
\ No newline at end of file
diff --git a/dist/interfaces/paginator.interface.js b/dist/interfaces/paginator.interface.js
deleted file mode 100644
index 6dfb4f6a70415b4d24e7dd51690e2fd7f46bb965..0000000000000000000000000000000000000000
--- a/dist/interfaces/paginator.interface.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=paginator.interface.js.map
\ No newline at end of file
diff --git a/dist/interfaces/paginator.interface.js.map b/dist/interfaces/paginator.interface.js.map
deleted file mode 100644
index afc4eef44a0f02ffdab5f1e281a080b737ebf81d..0000000000000000000000000000000000000000
--- a/dist/interfaces/paginator.interface.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"paginator.interface.js","sourceRoot":"","sources":["../../src/interfaces/paginator.interface.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/dist/interfaces/user.interface.js b/dist/interfaces/user.interface.js
deleted file mode 100644
index 583c676ab28076a57a6551045792e2b92c18d71c..0000000000000000000000000000000000000000
--- a/dist/interfaces/user.interface.js
+++ /dev/null
@@ -1,3 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-//# sourceMappingURL=user.interface.js.map
\ No newline at end of file
diff --git a/dist/interfaces/user.interface.js.map b/dist/interfaces/user.interface.js.map
deleted file mode 100644
index 24166bf8ef56f31bd5dd11b504353e2ffc9fd1b3..0000000000000000000000000000000000000000
--- a/dist/interfaces/user.interface.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"user.interface.js","sourceRoot":"","sources":["../../src/interfaces/user.interface.ts"],"names":[],"mappings":""}
\ No newline at end of file
diff --git a/dist/migrations/20200817181233-create-users.migration.js b/dist/migrations/20200817181233-create-users.migration.js
deleted file mode 100644
index d7768e4e42f3f8fb7fbe8e72a089c4850b463d3d..0000000000000000000000000000000000000000
--- a/dist/migrations/20200817181233-create-users.migration.js
+++ /dev/null
@@ -1,81 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.down = exports.up = void 0;
-const up = (queryInterface, Sequelize) => queryInterface.createTable('Users', {
-    id: {
-        type: Sequelize.INTEGER,
-        allowNull: false,
-        autoIncrement: true,
-        primaryKey: true,
-    },
-    name: {
-        type: Sequelize.STRING,
-        allowNull: true,
-        validate: {
-            notEmpty: true,
-            len: [3, 40],
-        },
-    },
-    email: {
-        type: Sequelize.STRING,
-        allowNull: false,
-        unique: true,
-        validate: {
-            isEmail: true,
-            max: 60,
-        },
-    },
-    organization: {
-        type: Sequelize.STRING,
-        allowNull: false,
-        validate: {
-            notEmpty: true,
-            max: 50,
-        },
-    },
-    password: {
-        type: Sequelize.STRING,
-        allowNull: false,
-    },
-    type: {
-        type: Sequelize.INTEGER,
-        allowNull: false,
-    },
-    token: {
-        type: Sequelize.STRING,
-        allowNull: true,
-    },
-    status: {
-        type: Sequelize.INTEGER,
-        allowNull: false,
-    },
-    active: {
-        type: Sequelize.BOOLEAN,
-        allowNull: false,
-        defaultValue: true,
-    },
-    createdAt: {
-        type: Sequelize.DATE,
-        allowNull: false,
-    },
-    updatedAt: {
-        type: Sequelize.DATE,
-        allowNull: true,
-    },
-    createdBy: {
-        type: Sequelize.INTEGER,
-        allowNull: false,
-    },
-    updatedBy: {
-        type: Sequelize.INTEGER,
-        allowNull: true,
-    },
-    deletedAt: {
-        type: Sequelize.DATE,
-        allowNull: true,
-    },
-});
-exports.up = up;
-const down = (queryInterface, Sequelize) => queryInterface.dropTable('Users');
-exports.down = down;
-//# sourceMappingURL=20200817181233-create-users.migration.js.map
\ No newline at end of file
diff --git a/dist/migrations/20200817181233-create-users.migration.js.map b/dist/migrations/20200817181233-create-users.migration.js.map
deleted file mode 100644
index fcd33fa6f4abb69c37c065f6677f81c483e06ff3..0000000000000000000000000000000000000000
--- a/dist/migrations/20200817181233-create-users.migration.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"20200817181233-create-users.migration.js","sourceRoot":"","sources":["../../src/migrations/20200817181233-create-users.migration.ts"],"names":[],"mappings":";;;AAAO,MAAM,EAAE,GAAG,CAAC,cAAmB,EAAE,SAAc,EAAE,EAAE,CAAC,cAAc,CAAC,WAAW,CAAC,OAAO,EAAE;IAC7F,EAAE,EAAE;QACF,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;QACf,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;SACb;KACF;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE;YACR,OAAO,EAAE,IAAI;YACb,GAAG,EAAE,EAAE;SACR;KACF;IACD,YAAY,EAAE;QACZ,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;QAChB,QAAQ,EAAE;YACR,QAAQ,EAAE,IAAI;YACd,GAAG,EAAE,EAAE;SACR;KACF;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE,KAAK;KACjB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;KACjB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS,CAAC,MAAM;QACtB,SAAS,EAAE,IAAI;KAChB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;KACjB;IACD,MAAM,EAAE;QACN,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;QAChB,YAAY,EAAE,IAAI;KACnB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,IAAI;KAChB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,KAAK;KACjB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI;KAChB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,SAAS,EAAE,IAAI;KAChB;CACF,CAAC,CAAC;AAzEU,QAAA,EAAE,MAyEZ;AAEI,MAAM,IAAI,GAAG,CAAC,cAAmB,EAAE,SAAc,EAAE,EAAE,CAAC,cAAc,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;AAAlF,QAAA,IAAI,QAA8E"}
\ No newline at end of file
diff --git a/dist/models/index.model.js b/dist/models/index.model.js
deleted file mode 100644
index 48b4a3d0d469833ab55aae1651d96ed3b0b6121f..0000000000000000000000000000000000000000
--- a/dist/models/index.model.js
+++ /dev/null
@@ -1,6 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.User = void 0;
-const users_model_1 = require("./users.model");
-Object.defineProperty(exports, "User", { enumerable: true, get: function () { return users_model_1.User; } });
-//# sourceMappingURL=index.model.js.map
\ No newline at end of file
diff --git a/dist/models/index.model.js.map b/dist/models/index.model.js.map
deleted file mode 100644
index 3fc03c562d0da63f2ac5599dfc6d80e6baea7186..0000000000000000000000000000000000000000
--- a/dist/models/index.model.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.model.js","sourceRoot":"","sources":["../../src/models/index.model.ts"],"names":[],"mappings":";;;AAAA,+CAAqC;AAGnC,qFAHO,kBAAI,OAGP"}
\ No newline at end of file
diff --git a/dist/models/users.model.js b/dist/models/users.model.js
deleted file mode 100644
index 8c034f171baf357b43cce85ff3d9a0362fbb4f2b..0000000000000000000000000000000000000000
--- a/dist/models/users.model.js
+++ /dev/null
@@ -1,128 +0,0 @@
-"use strict";
-var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
-}) : (function(o, m, k, k2) {
-    if (k2 === undefined) k2 = k;
-    o[k2] = m[k];
-}));
-var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
-    Object.defineProperty(o, "default", { enumerable: true, value: v });
-}) : function(o, v) {
-    o["default"] = v;
-});
-var __importStar = (this && this.__importStar) || function (mod) {
-    if (mod && mod.__esModule) return mod;
-    var result = {};
-    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
-    __setModuleDefault(result, mod);
-    return result;
-};
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.User = void 0;
-const sequelize_1 = require("sequelize");
-const index_enum_1 = require("../enums/index.enum");
-const environments = __importStar(require("../config/config"));
-const current = process.env.NODE_ENV || 'development';
-const config = environments[current];
-const sequelize = new sequelize_1.Sequelize(config.database, config.username, config.password, config);
-class User extends sequelize_1.Model {
-    toJSON() {
-        const values = Object.assign({}, this.get());
-        delete values.password;
-        delete values.updatedAt;
-        delete values.createdBy;
-        delete values.updatedBy;
-        delete values.deletedAt;
-        return values;
-    }
-}
-exports.User = User;
-User.init({
-    id: {
-        type: sequelize_1.DataTypes.INTEGER,
-        allowNull: false,
-        primaryKey: true,
-        autoIncrement: true,
-    },
-    name: {
-        type: sequelize_1.DataTypes.STRING(255),
-        allowNull: true,
-        validate: {
-            notEmpty: true,
-            len: [3, 40],
-        },
-    },
-    email: {
-        type: sequelize_1.DataTypes.STRING(255),
-        allowNull: false,
-        unique: true,
-        validate: {
-            isEmail: true,
-            max: 60,
-        },
-    },
-    organization: {
-        type: sequelize_1.DataTypes.STRING(255),
-        allowNull: false,
-        validate: {
-            notEmpty: true,
-            max: 50,
-        },
-    },
-    password: {
-        type: sequelize_1.DataTypes.STRING(255),
-        allowNull: false,
-    },
-    type: {
-        type: sequelize_1.DataTypes.INTEGER,
-        allowNull: false,
-    },
-    token: {
-        type: sequelize_1.DataTypes.STRING(255),
-        allowNull: true,
-    },
-    status: {
-        type: sequelize_1.DataTypes.INTEGER,
-        allowNull: false,
-        validate: {
-            isIn: {
-                args: [[
-                        String(index_enum_1.status.pending),
-                        String(index_enum_1.status.approved),
-                        String(index_enum_1.status.rejected),
-                    ]],
-                msg: 'invalid status',
-            },
-        },
-    },
-    active: {
-        type: sequelize_1.DataTypes.BOOLEAN,
-        allowNull: false,
-        defaultValue: true,
-    },
-    createdAt: {
-        type: sequelize_1.DataTypes.DATE,
-        allowNull: false,
-    },
-    updatedAt: {
-        type: sequelize_1.DataTypes.DATE,
-        allowNull: true,
-    },
-    createdBy: {
-        type: sequelize_1.DataTypes.INTEGER,
-        allowNull: false,
-    },
-    updatedBy: {
-        type: sequelize_1.DataTypes.INTEGER,
-        allowNull: true,
-    },
-    deletedAt: {
-        type: sequelize_1.DataTypes.DATE,
-        allowNull: true,
-    },
-}, {
-    sequelize,
-    modelName: 'User',
-});
-//# sourceMappingURL=users.model.js.map
\ No newline at end of file
diff --git a/dist/models/users.model.js.map b/dist/models/users.model.js.map
deleted file mode 100644
index d194d15fb72f32b6c065eb45f46437796ebb107d..0000000000000000000000000000000000000000
--- a/dist/models/users.model.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"users.model.js","sourceRoot":"","sources":["../../src/models/users.model.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/dist/routes.js b/dist/routes.js
deleted file mode 100644
index 0ba287a218c3292e39de00ebe4f701419fdb2699..0000000000000000000000000000000000000000
--- a/dist/routes.js
+++ /dev/null
@@ -1,11 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-const express_1 = require("express");
-const Controllers_1 = require("./Controllers");
-const router = (0, express_1.Router)();
-router.get('/', (req, res) => {
-    res.send('Hey! This is REPP API, you can go to /api-docs to learn more!');
-});
-router.use('/users', Controllers_1.UserController);
-exports.default = router;
-//# sourceMappingURL=routes.js.map
\ No newline at end of file
diff --git a/dist/routes.js.map b/dist/routes.js.map
deleted file mode 100644
index a0471d184657ed8f7c3e4b0a3ad33c58f71d2499..0000000000000000000000000000000000000000
--- a/dist/routes.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"routes.js","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":";;AAAA,qCAAoD;AACpD,+CAA+C;AAE/C,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AAExB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACpD,GAAG,CAAC,IAAI,CAAC,+DAA+D,CAAC,CAAC;AAC5E,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,4BAAc,CAAC,CAAC;AAErC,kBAAe,MAAM,CAAC"}
\ No newline at end of file
diff --git a/src/Controllers/UserCotroller.ts b/src/Controllers/UserCotroller.ts
index 0432dd63ec183ed571fed934b4b365633dd988f7..09ce8e7d09bc7f67a242b5fd75da9de78d9d96b0 100644
--- a/src/Controllers/UserCotroller.ts
+++ b/src/Controllers/UserCotroller.ts
@@ -140,6 +140,16 @@ const active = async (req: Request, res: Response): Promise<Response> => {
   }
 };
 
+const login = async (req: Request, res: Response): Promise<Response> => {
+  try {
+    const logged: User = await UserService.login(req.body);
+    return res.status(200).send(logged);
+  } catch (error) {
+    const e = error as Error;
+    return res.status(400).json({ error: e.message });
+  }
+};
+
 router.route('/')
   .get(listAll)
   .post(create);
@@ -178,4 +188,7 @@ router.route('/:id/admin')
 router.route('/:id/client')
   .put(removeAdminPermission);
 
+router.route('/login')
+  .post(login);
+
 export default router;
diff --git a/src/Services/UserService.ts b/src/Services/UserService.ts
index 15149c6722228f5ccef439b8c52a9e61ef7032a6..6663071eb0cc987f38c49bdd05c6645e12372a1b 100644
--- a/src/Services/UserService.ts
+++ b/src/Services/UserService.ts
@@ -4,7 +4,7 @@ import { profiles, status } from '../enums/index.enum';
 import Paginator from '../interfaces/paginator.interface';
 import { User } from '../models/users.model';
 
-import { UserCreateDTO, UserDTO } from '../DTOs/UserDTO';
+import { UserCreateDTO, UserLoginDTO } from '../DTOs/UserDTO';
 
 const listPending = async (limit: number, offset: number,
   search: string): Promise<Paginator<User>> => {
@@ -393,6 +393,31 @@ const active = async (userId: number): Promise<User> => User.findOne({
   throw new Error('find user error');
 });
 
+const login = async (userDTO: UserLoginDTO): Promise<User> => User.findOne({
+  attributes: [
+    'id', 'name', 'email', 'organization', 'password',
+    'type', 'status', 'active', 'createdAt',
+  ],
+  where: {
+    email: userDTO.email,
+    status: status.approved,
+    active: true,
+  },
+}).then((user: User) => {
+  if (!user) {
+    throw new Error('user not found');
+  } else if (user && bcrypt.compareSync(userDTO.password, String(user.get('password')))) {
+    return user;
+  } else {
+    console.log('auth failed, credentials:', userDTO);
+    throw new Error('auth failed');
+  }
+}).catch((error: Error) => {
+  console.log(error);
+  console.log('credentials:', userDTO);
+  throw new Error('find user error');
+});
+
 export default {
   listAll,
   listPending,
@@ -407,4 +432,5 @@ export default {
   active,
   giveAdminPermission,
   removeAdminPermission,
+  login,
 };