de.svws_nrw.davapi.data.IKalenderRepository Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of svws-module-dav-api Show documentation
Show all versions of svws-module-dav-api Show documentation
Diese Bibliothek enthält die Java-Server-Definition der CalDAV und CardDAV-Schnittstelle für die Schulverwaltungssoftware in NRW
package de.svws_nrw.davapi.data;
import java.sql.Timestamp;
import java.util.List;
import java.util.Optional;
import de.svws_nrw.core.data.kalender.Kalender;
import jakarta.validation.constraints.NotNull;
/**
* Schnittstelle für Adressbuch Repositories. Diese Repositories kapseln den
* Zugriff auf Adressbuchdaten.
*
*/
public interface IKalenderRepository {
/**
* Ermittelt ein Kalender über eine Kalender-Id.
*
* @param kalenderId Id des Kalenders
* @param params QueryParameter zum Filtern des Inhalts des Kalenders
* @return Optional eines Kalenders oder Optional.empty(), falls kein Kalender
* mit der angegebenen Id gefunden werden konnte.
*/
Optional getKalenderById(String kalenderId, CollectionRessourceQueryParameters params);
/**
* Ermittelt eine Liste aller für den angemeldeten Benutzer verfügbaren
* Adressbücher.
*
* @param params QueryParameter zum Filtern des Inhalts der Adressbuecher
* @return Liste verfügbarer Adressbücher.
*/
@NotNull
List getAvailableKalender(CollectionRessourceQueryParameters params);
/**
* Sucht die gelöschten Ressourcen-UIDs einer Ressourcensammlung seit einem
* bestimmten Zeitpunkt
*
* @param id die ID der Ressourcensammlung
* @param syncTokenMillis der Zeitpunkt als Millisekunden seit 1970,
* {@link Timestamp#getTime()}
* @return eine Liste der Ressourcen-UIDs, welche seit dem gesuchten Zeitpunkt
* als gelöscht markiert wurden
*/
List getDeletedResourceUIDsSince(String id, Long syncTokenMillis);
}