36 lines
1.1 KiB
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);
|
|
}
|
|
}
|
|
|
|
}
|