Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- var UsersController = function(app){
- let StoreRequest=require('../requests/StoreUsers');
- let UpdateRequest=require('../requests/UpdateUserRequest');
- let models = require('../models');
- let async = require('async');
- let bcrypt = require('bcryptjs');
- let salt = bcrypt.genSaltSync(10);
- let hash = bcrypt.hashSync("password", salt);
- const fs = require('fs');
- let get= function(req,res){
- models.User.findAll({attributes: {
- exclude: ['password']
- }}).then(function(data) {
- res.json({
- data_baru: data
- });
- });
- };
- let insert = function(req, res){
- req.checkBody(StoreRequest);
- let errors = req.validationErrors();
- if (errors){
- res.status(422).json({
- msg_errors: errors
- });
- }else{
- req.body.password=bcrypt.hashSync(req.body.password, salt);
- if (req.file) {
- req.body.avatar = req.file.filename;
- }else{
- req.body.avatar = "eror";
- }
- let arr = {
- fullname: req.body.fullname,
- email: req.body.email,
- password: req.body.password,
- avatar: req.body.avatar,
- phone: req.body.phone,
- address_id: req.body.address_id,
- is_buyer: req.body.is_buyer,
- is_seller: req.body.is_seller,
- is_affiliate: req.body.is_affiliate,
- is_active: req.body.is_active,
- last_login: req.body.last_login
- }
- models.User.find({
- where: {
- email: req.body.email
- }
- }).then(function(User){
- if (User){
- res.status(422).json({
- errors: [
- {
- param: "email",
- msg: "email already exist"
- }
- ]
- });
- }else{
- var pass=req.body.password;
- models.User.create(arr).then(function(data){
- res.status(201).json({
- message: "success",
- new_data: data
- });
- });
- }
- })
- }
- };
- // models.Topup.sum('nominal',{
- // where:{
- // user_id: req.params.user_id
- // }
- // }).then(function(sum) {
- // res.status(201).json({
- // nominal: sum
- // });
- // })
- let sortData = function(req, res){
- models.User.findAll({
- order: [
- ['id', 'ASC']
- ],
- }).then(function(data){
- res.status(201).json({
- data_user: data
- });
- });
- };
- let getId = function(req, res){
- models.User.findOne({
- where: {
- id: req.params.id,
- },
- }).then(function(data){
- if(data){
- res.status(201).json({
- data_user: data
- });
- }else{
- res.status(422).json({
- message: "error"
- });
- }
- });
- };
- let put = function(req, res){
- models.User.findOne({
- where: {
- id: req.params.id
- }
- }).then(function(User){
- if (User) {
- let data = {
- fullname: req.body.fullname,
- email: req.body.email,
- // password: req.body.password,
- phone: req.body.phone,
- // address_id: req.body.address_id,
- // is_buyer: req.body.is_buyer,
- // is_seller: req.body.is_seller,
- // is_affiliate: req.body.is_affiliate,
- // is_active: req.body.is_active
- };
- if (req.file) {
- data.avatar = req.file.filename;
- if (User.avatar != "") {
- let image = 'uploads/users/'+User.avatar;
- fs.stat(image, function(err,stat){
- if (err == null) {
- fs.unlink(image);
- }
- })
- }
- }
- User.update(data).then(function(){
- res.status(201).json({
- message: "success",
- data_baru: data
- })
- });
- }else{
- res.status(401).json({
- message:"errors"
- });
- }
- });
- };
- let remove = function(req, res){
- models.User.findOne({
- where:{
- id: req.params.id
- }
- }).then(function(kaude){
- if (kaude){
- kaude.destroy(req.body).then(function(){
- res.status(201).json({
- message: "Data kaude with id "+ req.params.id +" successfully removed",
- // data_remove: req.body
- })
- })
- let image = 'uploads/users/'+kaude.avatar;
- fs.stat(image, function(err,stat){
- if (err == null) {
- fs.unlink(image);
- }
- })
- }else{
- res.status(422).json({
- message: "errors"
- });
- }
- });
- }
- let updatePassword=function(req,res){
- req.checkBody(UpdateRequest);
- let errors=req.validationErrors();
- if(errors){
- res.status(422).json({
- errors:errors
- });
- }
- else{
- req.body.password=bcrypt.hashSync(req.body.password, salt);
- models.User.findOne({
- where:{
- id :req.body.id
- }}).then(function(User){
- if(User){
- if (req.body.password == User.password){
- if (req.body.new_password == req.body.confirm_password) {
- let data = {
- password: bcrypt.hashSync(req.body.confirm_password, salt)
- };
- User.update(data).then(function(User) {
- res.json({
- msg:"Password has been updated"
- });
- });
- }else{
- res.status(442).json({
- message: "your password is doesn't match"
- });
- }
- }else{
- res.status(402).json({
- msg_errors:"Wrong Password"
- });
- }
- }else{
- res.status(422).json({
- msg_errors:"Error"
- });
- }
- })
- }
- };
- let coba=function(req, res){
- res.send(bcrypt.hashSync(req.body.password, salt))
- // let passwordToSave = bcrypt.hashSync(req.body.password, salt)
- };
- return{
- add: insert,
- getAll: sortData,
- getById: getId,
- update: put,
- delete: remove,
- newPassword: updatePassword,
- coba: coba
- };
- }
- module.exports = UsersController;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement