package dev.peerat.backend.routes.admins.chapter; import static dev.peerat.framework.RequestType.PUT; import java.sql.Timestamp; import java.util.regex.Matcher; import dev.peerat.backend.model.Chapter; import dev.peerat.backend.repository.DatabaseRepository; import dev.peerat.framework.Context; import dev.peerat.framework.HttpReader; import dev.peerat.framework.HttpWriter; import dev.peerat.framework.Response; import dev.peerat.framework.Route; import dev.peerat.framework.utils.json.JsonMap; public class EditChapter implements Response{ private DatabaseRepository repo; public EditChapter(DatabaseRepository repo){ this.repo = repo; } @Route(path = "^/admin/chapter/(\\d+)$", type = PUT, needLogin = true) public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{ JsonMap json = reader.readJson(); Chapter chapter = new Chapter(-1, json.get("name"), Timestamp.valueOf(json.get("start")), Timestamp.valueOf(json.get("end"))); if(repo.adminUpdateChapter(Integer.parseInt(matcher.group(1)), chapter)){ context.response(200); }else{ context.response(501); } } }