if (util.isNullOrEmpty(status)) {
throw new IllegalArgumentException("Missing required param: status");
}
VideoSubmission submission = submissionDao.getSubmissionById(id);
if (submission == null) {
throw new IllegalArgumentException("The input video id cannot be located.");
}
ModerationStatus newStatus = ModerationStatus.valueOf(status.toUpperCase());
ModerationStatus currentStatus = submission.getStatus();
if (newStatus == currentStatus) {
return json;
} else {
// Set the YouTubeApiHelper with the admin auth token
String token = adminConfigDao.getAdminConfig().getYouTubeAuthSubToken();
if (util.isNullOrEmpty(token)) {
throw new IllegalStateException("No AuthSub token found in admin config.");
} else {
adminYouTubeApi.setAuthSubToken(token);
}
boolean success = false;
switch (newStatus) {
case APPROVED:
submission.setStatus(ModerationStatus.APPROVED);
success = onApproved(submission);
break;
case REJECTED:
submission.setStatus(ModerationStatus.REJECTED);
success = onRejected(submission);
break;
case SPAM:
submission.setStatus(ModerationStatus.SPAM);
success = onRejected(submission);
break;
case UNREVIEWED:
submission.setStatus(ModerationStatus.UNREVIEWED);
success = onRejected(submission);
break;
}
submission.setUpdated(new Date());
submissionDao.save(submission);
json.put("success", success);
}