admin.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  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. const res = ctx.request.body.map(async item => {
  38. return await getSkillPromise(item)
  39. })
  40. let result = await userModel.updateIsValid(ctx.request.body.id, ctx.request.body.isValid);
  41. if(result){
  42. ctx.body = Response.success(result);
  43. }else{
  44. ctx.body = Response.failed("获取失败");
  45. }
  46. }
  47. }
  48. static async passApplication(ctx){
  49. let theUser = await getTokenUser(ctx);
  50. if(theUser.role !== "ADMIN"){
  51. ctx.status = 401;
  52. }else{
  53. let result = await teacherModel.updateState(ctx.request.body.id, 'identified');
  54. result = result && await userModel.identifyTeacher(ctx.request.body.uid);
  55. if(result){
  56. ctx.body = Response.success(result);
  57. }else{
  58. ctx.body = Response.failed("否决失败,请重试");
  59. }
  60. }
  61. }
  62. static async rejectApplication(ctx){
  63. let theUser = await getTokenUser(ctx);
  64. if(theUser.role !== "ADMIN"){
  65. ctx.status = 401;
  66. }else{
  67. let result = await teacherModel.updateState(ctx.request.body.id, 'rejected');
  68. if(result){
  69. ctx.body = Response.success(result);
  70. }else{
  71. ctx.body = Response.failed("通过失败,请重试");
  72. }
  73. }
  74. }
  75. }
  76. module.exports = AdminController;