peer-at-code-backend/src/dev/peerat/backend/routes/admins/chapter/AddChapter.java

36 lines
1.1 KiB
Java

package dev.peerat.backend.routes.admins.chapter;
import static dev.peerat.framework.RequestType.POST;
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 AddChapter implements Response{
private DatabaseRepository repo;
public AddChapter(DatabaseRepository repo){
this.repo = repo;
}
@Route(path = "^/admin/chapter/$", type = POST, 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.<String>get("start")), Timestamp.valueOf(json.<String>get("end")));
if(repo.adminAddChapter(chapter)){
context.response(200);
}else{
context.response(501);
}
}
}