extended admin tool for finished lessons
All checks were successful
Deploy to production / deploy (push) Successful in 2m54s
All checks were successful
Deploy to production / deploy (push) Successful in 2m54s
This commit is contained in:
@@ -34,6 +34,7 @@ class AdminController {
|
||||
this.getUsers = this.getUsers.bind(this);
|
||||
this.updateUser = this.updateUser.bind(this);
|
||||
this.resetUserVocabLessonProgress = this.resetUserVocabLessonProgress.bind(this);
|
||||
this.markUserVocabLessonsCompleteThrough = this.markUserVocabLessonsCompleteThrough.bind(this);
|
||||
this.getUserVocabCourses = this.getUserVocabCourses.bind(this);
|
||||
this.getVocabCourseForAdmin = this.getVocabCourseForAdmin.bind(this);
|
||||
this.getAdultVerificationRequests = this.getAdultVerificationRequests.bind(this);
|
||||
@@ -151,6 +152,34 @@ class AdminController {
|
||||
}
|
||||
}
|
||||
|
||||
async markUserVocabLessonsCompleteThrough(req, res) {
|
||||
const schema = Joi.object({
|
||||
courseId: Joi.number().integer().positive().required(),
|
||||
throughLessonNumber: Joi.number().integer().positive().required()
|
||||
});
|
||||
const { error, value } = schema.validate(req.body || {});
|
||||
if (error) {
|
||||
return res.status(400).json({ error: error.details[0].message });
|
||||
}
|
||||
try {
|
||||
const { userid: requester } = req.headers;
|
||||
const { id } = req.params;
|
||||
const result = await AdminService.adminMarkUserVocabLessonsCompleteThrough(
|
||||
requester,
|
||||
id,
|
||||
value.courseId,
|
||||
value.throughLessonNumber
|
||||
);
|
||||
res.status(200).json(result);
|
||||
} catch (err) {
|
||||
let status = 500;
|
||||
if (err.message === 'noaccess') status = 403;
|
||||
else if (err.message === 'notenrolled') status = 403;
|
||||
else if (err.message === 'badrequest') status = 400;
|
||||
res.status(status).json({ error: err.message });
|
||||
}
|
||||
}
|
||||
|
||||
async getUserVocabCourses(req, res) {
|
||||
try {
|
||||
const { userid: requester } = req.headers;
|
||||
|
||||
Reference in New Issue
Block a user