conveniance modification: added registry and getters for modules to BaseHandler

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-08-17 23:31:06 +02:00
parent ecb1ddac0f
commit a50a451b95
21 changed files with 260 additions and 198 deletions

View File

@@ -26,12 +26,11 @@ import org.json.JSONArray;
public class BookmarkApi extends BaseHandler implements BookmarkService {
private final BookmarkDb db;
private final ModuleRegistry registry;
public BookmarkApi(ModuleRegistry registry, Configuration config) {
super(registry);
var dbFile = config.get(CONFIG_DATABASE).orElseThrow(() -> missingFieldException(CONFIG_DATABASE));
db = new SqliteDb(connect(dbFile));
this.registry = registry.add(this);
}
@Override
@@ -39,7 +38,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
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();
return switch (head) {
@@ -59,7 +58,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
private boolean getBookmark(UmbrellaUser user, long id, HttpExchange ex) throws IOException {
var bookmark = db.load(id,user.id());
registry.tagService().getTags(BOOKMARK, id, user).forEach(bookmark.tags()::add);
tagService().getTags(BOOKMARK, id, user).forEach(bookmark.tags()::add);
return sendContent(ex,bookmark);
}
@@ -68,7 +67,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
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();
return switch (head) {
@@ -115,7 +114,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
if (json.has(TAGS) && json.get(TAGS) instanceof JSONArray tagList){
var list = tagList.toList().stream().map(Object::toString).toList();
registry.tagService().save(BOOKMARK,bookmark.urlId(), userList, list);
tagService().save(BOOKMARK,bookmark.urlId(), userList, list);
}
return sendContent(ex,bookmark);
}