implemented restoring of wiki tags from tag and bookmark database
This commit is contained in:
@@ -23,6 +23,7 @@ import de.srsoftware.umbrella.core.model.UmbrellaUser;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import org.json.JSONArray;
|
||||
|
||||
@@ -85,6 +86,11 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, String> find(String key) {
|
||||
return db.findUrls(key);
|
||||
}
|
||||
|
||||
private boolean getUserBookmarks(UmbrellaUser user, HttpExchange ex) throws IOException {
|
||||
var param = queryParam(ex);
|
||||
long offset = switch (param.get(OFFSET)){
|
||||
@@ -128,7 +134,7 @@ public class BookmarkApi extends BaseHandler implements BookmarkService {
|
||||
if (!(json.has(KEY) && json.get(KEY) instanceof String key)) throw missingFieldException(KEY);
|
||||
var keys = Arrays.asList(key.split(" "));
|
||||
var fulltext = json.has(FULLTEXT) && json.get(FULLTEXT) instanceof Boolean val && val;
|
||||
var bookmarks = db.find(user.id(),keys);
|
||||
var bookmarks = db.findUrls(user.id(),keys);
|
||||
return sendContent(ex,mapValues(bookmarks));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,7 +7,9 @@ import java.util.Collection;
|
||||
import java.util.Map;
|
||||
|
||||
public interface BookmarkDb {
|
||||
Map<Long, Bookmark> find(long userId, Collection<String> key);
|
||||
Map<Long, Bookmark> findUrls(long userId, Collection<String> key);
|
||||
|
||||
Map<Long, String> findUrls(String key);
|
||||
|
||||
Map<Long, Bookmark> list(long userId, Long offset, Long limit);
|
||||
|
||||
|
||||
@@ -70,7 +70,20 @@ CREATE TABLE IF NOT EXISTS {0} (
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, Bookmark> find(long userId, Collection<String> keys) {
|
||||
public Map<Long, String> findUrls(String key) {
|
||||
try {
|
||||
var map = new HashMap<Long,String>();
|
||||
var rs = select(ALL).from(TABLE_URLS).where(URL, like(key)).exec(db);
|
||||
while (rs.next()) map.put(rs.getLong(ID),rs.getString(URL));
|
||||
rs.close();;
|
||||
return map;
|
||||
} catch (SQLException e) {
|
||||
throw new UmbrellaException("Failed to load bookmark list");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<Long, Bookmark> findUrls(long userId, Collection<String> keys) {
|
||||
try {
|
||||
var map = new HashMap<Long,Bookmark>();
|
||||
var query = select(ALL).from(TABLE_URL_COMMENTS).leftJoin(URL_ID,TABLE_URLS,ID)
|
||||
|
||||
Reference in New Issue
Block a user