Package de.svws_nrw.davapi.data
Schnittstelle IDavRepository
- Alle bekannten Implementierungsklassen:
DavRepository
public interface IDavRepository
Dieses Interface ebschreibt Methoden, welche von einem Dav Repository, bspw.
für die Datenbank bereitgestellt werden sollen.
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungboolean
deleteRessourceCollectionACL
(long collectionId, long benutzerId) Löscht einen ACL-Eintrag auf Basis der Nutzer-ID und der ID der Ressourcensammlungboolean
deleteRessourceCollectionIfUpToDate
(long id, long syncToken) Löscht eine Ressourcensammlung sofern das gegebene Synctoken dem Synctoken in der Datenbank entspricht.boolean
deleteRessourceIfUpToDate
(long ressourceCollectionId, String ressourceUID, Long ifMatchToken) Löscht eine DavRessource anhand der RessourcenUID und der Ressourcensammlung, sofern das gespeicherte Synctoken mit dem gegebenen übereinstimmt, der Aufrufer also über die aktuelle Version der Ressource verfügtGibt die Ressourcensammlungen anhand der angegebenen Typen zurück, auf die der Nutzer Leserecht hat.getDavRessourceCollections
(Collection<Long> ressourceCollectionIds) gibt die Ressourcensammlungen anhand der gegebenen IDs zurück, auf die der Nutzer Leserecht hat.getDavRessources
(Collection<Long> ressourceCollectionIds, CollectionRessourceQueryParameters parameters) Gibt die Ressourcen der gesuchten Ressourcensammlungen zurück.getDeletedResourceUIDsSince
(Long collectionId, Long syncTokenMillis) Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.void
Erstellt eine neue Ressourcensammlung mit dem angemeldeten Nutzer als Besitzer, sofern eine Ressourcensammlung vom gegebenen Typ noch nicht existiert.upsertDavRessource
(DavRessource davRessource) Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern Lese- und Schreibrecht auf der Ressourcensammlung vorhanden ist.upsertDavRessourceCollection
(DavRessourceCollection davRessourceCollection) Fügt eine neue Ressourcensammlung hinzu oder updated eine vorhandene, sofern die ID und Lese- und Schreibrecht gegeben ist.upsertDavRessourceCollectionACLPermissions
(DavRessourceCollectionACLPermissions davRessourceCollectionACLPermissions) Fügt einen neuen ACL-Eintrag für eine Ressourcensammlung und einen Nutzer hinzu oder aktualisiert einen vorhandenen, sofern der Nutzer Besitzer der Ressource oder Admin ist.
-
Methodendetails
-
getDavRessourceCollections
Gibt die Ressourcensammlungen anhand der angegebenen Typen zurück, auf die der Nutzer Leserecht hat.- Parameter:
typen
- dieDavRessourceCollectionTyp
die aus der Datenbank gesucht werden.- Gibt zurück:
- die gesuchten Ressourcensammlungen
-
getDavRessourceCollections
Collection<DavRessourceCollection> getDavRessourceCollections(Collection<Long> ressourceCollectionIds) gibt die Ressourcensammlungen anhand der gegebenen IDs zurück, auf die der Nutzer Leserecht hat.- Parameter:
ressourceCollectionIds
- die IDs der gesuchten Ressourcensammlungen- Gibt zurück:
- die gesuchten Ressourcensammlungen
-
getDavRessources
Collection<DavRessource> getDavRessources(Collection<Long> ressourceCollectionIds, CollectionRessourceQueryParameters parameters) Gibt die Ressourcen der gesuchten Ressourcensammlungen zurück. Anhand derCollectionRessourceQueryParameters
wird entschieden, ob ggf. nur die ID und UID des Objekts oder auch der Inhalt zurückgegeben werden. Hat der Nutzer nicht das nötige Leserecht auf eine gegebene Ressourcensammlung, werden keine Ressourcen für diese Sammlung zurückgegeben.- Parameter:
ressourceCollectionIds
- die IDs der Ressourcensammlungen, für die die Ressourcen gesucht werden sollenparameters
- Filterkriterium, um beispielsweise auf Payload zu verzichten.- Gibt zurück:
- die gesuchten Ressourcen
-
upsertDavRessourceCollection
Optional<DavRessourceCollection> upsertDavRessourceCollection(DavRessourceCollection davRessourceCollection) throws DavException Fügt eine neue Ressourcensammlung hinzu oder updated eine vorhandene, sofern die ID und Lese- und Schreibrecht gegeben ist.- Parameter:
davRessourceCollection
- die Ressourcensammlung, welche hinzugefügt oder aktualisiert werden soll.- Gibt zurück:
- die Ressourcensammlung, sofern die Aktualisierung erfolgreich war.
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
upsertDavRessource
Fügt eine neue Ressource hinzu oder aktualisiert eine vorhandene auf Basis der UID, sofern Lese- und Schreibrecht auf der Ressourcensammlung vorhanden ist.- Parameter:
davRessource
- die Davressource die hinzugefügt oder aktualisiert werden soll.- Gibt zurück:
- die aktualisierte DavRessource mit gesetzer ID bei Erfolg
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
upsertDavRessourceCollectionACLPermissions
Optional<DavRessourceCollectionACLPermissions> upsertDavRessourceCollectionACLPermissions(DavRessourceCollectionACLPermissions davRessourceCollectionACLPermissions) throws DavException Fügt einen neuen ACL-Eintrag für eine Ressourcensammlung und einen Nutzer hinzu oder aktualisiert einen vorhandenen, sofern der Nutzer Besitzer der Ressource oder Admin ist.- Parameter:
davRessourceCollectionACLPermissions
- der zuzufügende oder zu aktualisierende ACL-Eintrag- Gibt zurück:
- der aktualisierte ACL-Eintrag
- Löst aus:
DavException
- bei fehlenden Rechten oder Fehlern beim Schreiben in der Datenbank
-
deleteRessourceCollectionIfUpToDate
Löscht eine Ressourcensammlung sofern das gegebene Synctoken dem Synctoken in der Datenbank entspricht.- Parameter:
id
- die ID der RessourcensammlungsyncToken
- das Synctoken, auf das verglichen werden soll.- Gibt zurück:
- ob das Löschen erfolgreich war
- Löst aus:
DavException
- Ausnahme bei fehlenden Rechten, nicht-vorhandensein der Ressourcensammlung oder nicht-aktuellem Synctoken
-
deleteRessourceIfUpToDate
boolean deleteRessourceIfUpToDate(long ressourceCollectionId, String ressourceUID, Long ifMatchToken) throws DavException Löscht eine DavRessource anhand der RessourcenUID und der Ressourcensammlung, sofern das gespeicherte Synctoken mit dem gegebenen übereinstimmt, der Aufrufer also über die aktuelle Version der Ressource verfügt- Parameter:
ressourceCollectionId
- die ID der RessourcensammlungressourceUID
- die UID der RessourceifMatchToken
- das SyncToken, welches dem Aufrufer zuletzt bekannt war- Gibt zurück:
- ob das Löschen erfolgreich war
- Löst aus:
DavException
- bei fehlenden Rechten auf der Ressourcensammlung, nicht-vorhandensein der Ressource, nichtaktuellem Synctoken oder Fehlern beim Schreiben in die Datenbank
-
deleteRessourceCollectionACL
Löscht einen ACL-Eintrag auf Basis der Nutzer-ID und der ID der Ressourcensammlung- Parameter:
collectionId
- die ID der RessourcensammlungbenutzerId
- die ID des Benutzers- Gibt zurück:
- ob der Löschvorgang erfolgreich war
- Löst aus:
DavException
- bei fehlenden Rechten, nicht-vorhandensein der Ressource oder des Nutzers oder Fehlern beim Schreiben in der Datenbank
-
tryCreateOwnedCollectionIfNotExists
Erstellt eine neue Ressourcensammlung mit dem angemeldeten Nutzer als Besitzer, sofern eine Ressourcensammlung vom gegebenen Typ noch nicht existiert. Nutzbar um einen eigenen Kalender oder ein eigenes Adressbuch anzulegen.- Parameter:
typ
- der Typ der Ressourcensammlung
-
getDeletedResourceUIDsSince
Gibt eine Liste aller Ressourcen-UIDs einer Sammlung zurück, welche seit dem gegebenen Synctoken gelöscht wurden.- Parameter:
collectionId
- die Sammlung auf der nach gelöschten Ressourcen gesucht werden soll.syncTokenMillis
- das Synctoken, seit dem nach Löschvorgängen gesucht werden soll- Gibt zurück:
- eine Liste aller UIDs, welche gelöscht wurden.
-