conveniance modification: added registry and getters for modules to BaseHandler
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -28,12 +28,11 @@ import java.util.stream.Collectors;
|
||||
|
||||
public class NoteModule extends BaseHandler implements NoteService {
|
||||
private final NotesDb notesDb;
|
||||
private final ModuleRegistry registry;
|
||||
|
||||
public NoteModule(ModuleRegistry registry, Configuration config) {
|
||||
super(registry);
|
||||
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
|
||||
notesDb = new SqliteDb(connect(dbFile));
|
||||
this.registry = registry.add(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -46,7 +45,7 @@ public class NoteModule extends BaseHandler implements NoteService {
|
||||
addCors(ex);
|
||||
try {
|
||||
Optional<Token> token = SessionToken.from(ex).map(Token::of);
|
||||
var user = registry.userService().loadUser(token);
|
||||
var user = userService().loadUser(token);
|
||||
if (user.isEmpty()) return unauthorized(ex);
|
||||
var head = path.pop();
|
||||
if (head == null) throw unprocessable("Module missing in path.");
|
||||
@@ -73,7 +72,7 @@ public class NoteModule extends BaseHandler implements NoteService {
|
||||
public boolean doGet(Path path, HttpExchange ex) throws IOException {
|
||||
addCors(ex);
|
||||
try {
|
||||
var user = registry.userService().refreshSession(ex);
|
||||
var user = userService().refreshSession(ex);
|
||||
if (user.isEmpty()) return unauthorized(ex);
|
||||
var module = path.pop();
|
||||
return switch (module){
|
||||
@@ -105,7 +104,7 @@ public class NoteModule extends BaseHandler implements NoteService {
|
||||
}
|
||||
|
||||
private Map<String, Object> addUsers(Map<Long, Note> notes) {
|
||||
var authors = notes.values().stream().map(Note::authorId).distinct().map(registry.userService()::loadUser).collect(Collectors.toMap(UmbrellaUser::id,UmbrellaUser::toMap));
|
||||
var authors = notes.values().stream().map(Note::authorId).distinct().map(userService()::loadUser).collect(Collectors.toMap(UmbrellaUser::id,UmbrellaUser::toMap));
|
||||
return Map.of("notes",mapValues(notes),"authors",authors);
|
||||
}
|
||||
|
||||
@@ -114,7 +113,7 @@ public class NoteModule extends BaseHandler implements NoteService {
|
||||
addCors(ex);
|
||||
try {
|
||||
Optional<Token> token = SessionToken.from(ex).map(Token::of);
|
||||
var user = registry.userService().loadUser(token);
|
||||
var user = userService().loadUser(token);
|
||||
if (user.isEmpty()) return unauthorized(ex);
|
||||
var head = path.pop();
|
||||
long noteId = Long.parseLong(head);
|
||||
@@ -137,7 +136,7 @@ public class NoteModule extends BaseHandler implements NoteService {
|
||||
addCors(ex);
|
||||
try {
|
||||
Optional<Token> token = SessionToken.from(ex).map(Token::of);
|
||||
var user = registry.userService().loadUser(token);
|
||||
var user = userService().loadUser(token);
|
||||
if (user.isEmpty()) return unauthorized(ex);
|
||||
var module = path.pop();
|
||||
if (module == null) throw unprocessable("Module missing in path.");
|
||||
|
||||
Reference in New Issue
Block a user