admin.js 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. const teacherModel = require('../model/teacher');
  2. const userModel = require('../model/user');
  3. const Response = require('../util/response');
  4. const getTokenUser = require('../util/tokenProcessor');
  5. class AdminController {
  6. static async getApplications(ctx){
  7. let theUser = await getTokenUser(ctx);
  8. if(theUser.role !== "ADMIN"){
  9. ctx.status = 401;
  10. }else{
  11. let result = await teacherModel.getApplications();
  12. if(result){
  13. ctx.body = Response.success(result);
  14. }else{
  15. ctx.body = Response.failed("获取失败");
  16. }
  17. }
  18. }
  19. static async getUsers(ctx){
  20. let theUser = await getTokenUser(ctx);
  21. if(theUser.role !== "ADMIN"){
  22. ctx.status = 401;
  23. }else{
  24. let result = await userModel.getUsers();
  25. if(result){
  26. ctx.body = Response.success(result);
  27. }else{
  28. ctx.body = Response.failed("获取失败");
  29. }
  30. }
  31. }
  32. static async updateUser(ctx){
  33. let theUser = await getTokenUser(ctx);
  34. if(theUser.role !== "ADMIN"){
  35. ctx.status = 401;
  36. }else{
  37. let result = await userModel.updateIsValid(ctx.request.body.id, ctx.request.body.isValid);
  38. if(result){
  39. ctx.body = Response.success(result);
  40. }else{
  41. ctx.body = Response.failed("获取失败");
  42. }
  43. }
  44. }
  45. static async passApplication(ctx){
  46. let theUser = await getTokenUser(ctx);
  47. if(theUser.role !== "ADMIN"){
  48. ctx.status = 401;
  49. }else{
  50. let result = await teacherModel.updateState(ctx.request.body.id, 'identified');
  51. result = result && await userModel.identifyTeacher(ctx.request.body.uid);
  52. if(result){
  53. ctx.body = Response.success(result);
  54. }else{
  55. ctx.body = Response.failed("否决失败,请重试");
  56. }
  57. }
  58. }
  59. static async rejectApplication(ctx){
  60. let theUser = await getTokenUser(ctx);
  61. if(theUser.role !== "ADMIN"){
  62. ctx.status = 401;
  63. }else{
  64. let result = await teacherModel.updateState(ctx.request.body.id, 'rejected');
  65. if(result){
  66. ctx.body = Response.success(result);
  67. }else{
  68. ctx.body = Response.failed("通过失败,请重试");
  69. }
  70. }
  71. }
  72. }
  73. module.exports = AdminController;