const router = require('koa-router')()
var userContoller = require('../controller/userController')
var status = require('../util/resTemplate') 

router.prefix('/users')

router.post('/addUser',async (ctx, next) => {
  try{
    var data = await userContoller.addUser(ctx, next);
    status.successTemp(ctx,200,data);
  }catch(e){
    status.catchError(400,e.message);    
  } 
})
router.post('/login',async(ctx, next)=>{
  try{
    var data = await userContoller.login(ctx, next);  
    status.successTemp(ctx,200,data);
  }catch(e){
    status.catchError(ctx,400,e.message);    
  } 
})

router.get('/getStu/:type',async(ctx, next)=>{
  try{
    var data = await userContoller.getStu(ctx, next);  
    status.successTemp(ctx,200,data);
  }catch(e){
    status.catchError(ctx,400,e.message);    
  } 
})

router.put('/updateUserByUserId/:userId',async(ctx, next)=>{
  try{
    let updateBackData = await userContoller.updateUserByUserId(ctx, next);  
    status.successTemp(ctx,200,updateBackData);
  }catch(e){
    console.log(e)
    status.catchError(ctx,400,e.message);    
  } 
})

router.put('/resetPasswordByUserId/:userId',async(ctx, next)=>{
  try{
    let updateBackData = await userContoller.resetPasswordByUserId(ctx, next);  
    status.successTemp(ctx,200,updateBackData);
  }catch(e){
    console.log(e)
    status.catchError(ctx,400,e.message);    
  } 
})

router.delete('/delUserByUserId/:userId',async(ctx, next)=>{
  try{
    let delData = await userContoller.delUserByUserId(ctx, next); 
    status.successTemp(ctx,200,delData);
  }catch(e){
    console.log(e)
    status.catchError(ctx,400,e.message);    
  } 
})




module.exports = router