admin.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. const theUser = await getTokenUser(ctx)
  8. if (theUser.role !== 'ADMIN') {
  9. ctx.status = 401
  10. } else {
  11. const 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. const theUser = await getTokenUser(ctx)
  21. if (theUser.role !== 'ADMIN') {
  22. ctx.status = 401
  23. } else {
  24. const 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. const theUser = await getTokenUser(ctx)
  34. if (theUser.role !== 'ADMIN') {
  35. ctx.status = 401
  36. } else {
  37. const 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. const 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. const theUser = await getTokenUser(ctx)
  61. if (theUser.role !== 'ADMIN') {
  62. ctx.status = 401
  63. } else {
  64. const 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