/* © SRSoftware 2025 */
package de.srsoftware.umbrella.notes;

import de.srsoftware.umbrella.core.model.Note;
import java.util.List;
import java.util.Map;

public interface NotesDb {
	long delete(long noteId);

	void deleteEntity(String module, String entityId);

	Map<Long, Note> find(long userId, List<String> keys, boolean fulltext);

	/**
	 * get all lists of a person
	 * @return
	 */
	Map<Long, Note> list(long authorId, long offset, long limit);

	/**
	 * get the notes related to a specific entity
	 * @param module
	 * @param entityId
	 * @return
	 */
	Map<Long, Note> list(String module, String entityId);

	Note load(long noteId);

	Note save(Note note);

	void updateId(String module, Object oldId, Object newId);
}
