const teacherModel = require('../model/teacher'); const userModel = require('../model/user'); const Response = require('../util/response'); const getTokenUser = require('../util/tokenProcessor'); class AdminController { static async getApplications(ctx){ let theUser = await getTokenUser(ctx); if(theUser.role !== "ADMIN"){ ctx.status = 401; }else{ let result = await teacherModel.getApplications(); if(result){ ctx.body = Response.success(result); }else{ ctx.body = Response.failed("获取失败"); } } } static async getUsers(ctx){ let theUser = await getTokenUser(ctx); if(theUser.role !== "ADMIN"){ ctx.status = 401; }else{ let result = await userModel.getUsers(); if(result){ ctx.body = Response.success(result); }else{ ctx.body = Response.failed("获取失败"); } } } static async updateUser(ctx){ let theUser = await getTokenUser(ctx); if(theUser.role !== "ADMIN"){ ctx.status = 401; }else{ let result = await userModel.updateIsValid(ctx.request.body.id, ctx.request.body.isValid); if(result){ ctx.body = Response.success(result); }else{ ctx.body = Response.failed("获取失败"); } } } static async passApplication(ctx){ let theUser = await getTokenUser(ctx); if(theUser.role !== "ADMIN"){ ctx.status = 401; }else{ let result = await teacherModel.updateState(ctx.request.body.id, 'identified'); result = result && await userModel.identifyTeacher(ctx.request.body.uid); if(result){ ctx.body = Response.success(result); }else{ ctx.body = Response.failed("否决失败,请重试"); } } } static async rejectApplication(ctx){ let theUser = await getTokenUser(ctx); if(theUser.role !== "ADMIN"){ ctx.status = 401; }else{ let result = await teacherModel.updateState(ctx.request.body.id, 'rejected'); if(result){ ctx.body = Response.success(result); }else{ ctx.body = Response.failed("通过失败,请重试"); } } } } module.exports = AdminController;