Chapter Add|Delete|Edit|Get -> ChapterController
This commit is contained in:
parent
5f02e31507
commit
9807d94971
6 changed files with 62 additions and 138 deletions
Binary file not shown.
|
@ -1,36 +0,0 @@
|
||||||
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);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -0,0 +1,62 @@
|
||||||
|
package dev.peerat.backend.routes.admins.chapter;
|
||||||
|
|
||||||
|
import static dev.peerat.framework.RequestType.DELETE;
|
||||||
|
import static dev.peerat.framework.RequestType.POST;
|
||||||
|
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.Route;
|
||||||
|
import dev.peerat.framework.utils.json.JsonMap;
|
||||||
|
|
||||||
|
public class ChapterController{
|
||||||
|
|
||||||
|
private DatabaseRepository repo;
|
||||||
|
|
||||||
|
public ChapterController(DatabaseRepository repo){
|
||||||
|
this.repo = repo;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Route(path = "^/admin/chapter/(\\d+)$", needLogin = true)
|
||||||
|
public void get(Matcher matcher, Context context, HttpWriter writer) throws Exception{
|
||||||
|
Chapter chapter = this.repo.getAdminChapter(Integer.parseInt(matcher.group(1)));
|
||||||
|
JsonMap json = new JsonMap();
|
||||||
|
json.set("name", chapter.getName());
|
||||||
|
json.set("start", chapter.getStartDate());
|
||||||
|
json.set("end", chapter.getEndDate());
|
||||||
|
|
||||||
|
context.response(200);
|
||||||
|
writer.write(json.toString()+"\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Route(path = "^/admin/chapter/$", type = POST, needLogin = true)
|
||||||
|
public void add(Context context, HttpReader reader) 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")));
|
||||||
|
performAction(context, repo.adminAddChapter(chapter));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Route(path = "^/admin/chapter/(\\d+)$", type = PUT, needLogin = true)
|
||||||
|
public void edit(Matcher matcher, Context context, HttpReader reader) 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")));
|
||||||
|
performAction(context, repo.adminUpdateChapter(Integer.parseInt(matcher.group(1)), chapter));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Route(path = "^/admin/chapter/(\\d+)$", type = DELETE, needLogin = true)
|
||||||
|
public void delete(Matcher matcher, Context context) throws Exception{
|
||||||
|
performAction(context, this.repo.adminDeleteChapter(Integer.parseInt(matcher.group(1))));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void performAction(Context context, boolean result) throws Exception{
|
||||||
|
context.response(result ? 200 : 501);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -1,31 +0,0 @@
|
||||||
package dev.peerat.backend.routes.admins.chapter;
|
|
||||||
|
|
||||||
import static dev.peerat.framework.RequestType.DELETE;
|
|
||||||
|
|
||||||
import java.util.regex.Matcher;
|
|
||||||
|
|
||||||
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;
|
|
||||||
|
|
||||||
public class DeleteChapter implements Response{
|
|
||||||
|
|
||||||
private DatabaseRepository repo;
|
|
||||||
|
|
||||||
public DeleteChapter(DatabaseRepository repo){
|
|
||||||
this.repo = repo;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Route(path = "^/admin/chapter/(\\d+)$", type = DELETE, needLogin = true)
|
|
||||||
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{
|
|
||||||
if(this.repo.adminDeleteChapter(Integer.parseInt(matcher.group(1)))){
|
|
||||||
context.response(200);
|
|
||||||
}else{
|
|
||||||
context.response(501);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,37 +0,0 @@
|
||||||
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.<String>get("start")), Timestamp.valueOf(json.<String>get("end")));
|
|
||||||
if(repo.adminUpdateChapter(Integer.parseInt(matcher.group(1)), chapter)){
|
|
||||||
context.response(200);
|
|
||||||
}else{
|
|
||||||
context.response(501);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,34 +0,0 @@
|
||||||
package dev.peerat.backend.routes.admins.chapter;
|
|
||||||
|
|
||||||
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 GetChapter implements Response{
|
|
||||||
|
|
||||||
private DatabaseRepository repo;
|
|
||||||
|
|
||||||
public GetChapter(DatabaseRepository repo){
|
|
||||||
this.repo = repo;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Route(path = "^/admin/chapter/(\\d+)$", needLogin = true)
|
|
||||||
public void exec(Matcher matcher, Context context, HttpReader reader, HttpWriter writer) throws Exception{
|
|
||||||
Chapter chapter = this.repo.getAdminChapter(Integer.parseInt(matcher.group(1)));
|
|
||||||
JsonMap json = new JsonMap();
|
|
||||||
json.set("name", chapter.getName());
|
|
||||||
json.set("start", chapter.getStartDate());
|
|
||||||
json.set("end", chapter.getEndDate());
|
|
||||||
|
|
||||||
context.response(200);
|
|
||||||
writer.write(json.toString()+"\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
Loading…
Add table
Reference in a new issue