CollectionsRepository

@Service
@Repository
interface CollectionsRepository : RefyItemsRepository<T>

The CollectionsRepository interface is useful to manage the queries of the LinksCollection

Author

N7ghtm4r3 - Tecknobit

See also

JpaRepository

Functions

Link copied to clipboard
abstract fun <S : T?> count(example: Example<S>): Long
Link copied to clipboard
abstract fun delete(entity: T)
Link copied to clipboard
abstract fun deleteAll(entities: Iterable<out T>)
Link copied to clipboard
abstract fun deleteAllById(ids: Iterable<out ID>)
Link copied to clipboard
abstract fun deleteAllByIdInBatch(ids: Iterable<ID>)
Link copied to clipboard
abstract fun deleteAllInBatch(entities: Iterable<T>)
Link copied to clipboard
abstract fun deleteById(id: ID)
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + COLLECTIONS_KEY + " WHERE " + IDENTIFIER_KEY + "=:" + IDENTIFIER_KEY", nativeQuery = true)
abstract fun deleteCollection(@Param(value = "id") collectionId: String)
Method to execute the query to delete a collection
Link copied to clipboard
open fun deleteInBatch(entities: Iterable<T>)
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + COLLECTIONS_LINKS_TABLE + " WHERE " + COLLECTION_IDENTIFIER_KEY + "=:" + COLLECTION_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachCollectionFromLinks(@Param(value = "collection_id") collectionId: String)
Method to execute the query to detach a collection from links
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + COLLECTIONS_TEAMS_TABLE + " WHERE " + COLLECTION_IDENTIFIER_KEY + "=:" + COLLECTION_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachCollectionFromTeams(@Param(value = "collection_id") collectionId: String)
Method to execute the query to detach a collection from teams
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + COLLECTIONS_LINKS_TABLE + " WHERE " + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachLinkFromCollections(@Param(value = "link_id") linkId: String)
Method to execute the query to detach a link from collections
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + TEAMS_LINKS_TABLE + " WHERE " + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachLinkFromTeams(@Param(value = "link_id") linkId: String)
Method to execute the query to detach a link from teams
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + COLLECTIONS_TEAMS_TABLE + " WHERE " + TEAM_IDENTIFIER_KEY + "=:" + TEAM_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachTeamFromCollections(@Param(value = "team_id") teamId: String)
Method to execute the query to detach a team from collections
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + TEAMS_LINKS_TABLE + " WHERE " + TEAM_IDENTIFIER_KEY + "=:" + TEAM_IDENTIFIER_KEY", nativeQuery = true)
abstract fun detachTeamFromLinks(@Param(value = "team_id") teamId: String)
Method to execute the query to detach a team from links
Link copied to clipboard
abstract fun <S : T?> exists(example: Example<S>): Boolean
Link copied to clipboard
abstract fun existsById(id: ID): Boolean
Link copied to clipboard
abstract fun <S : T?> findAll(example: Example<S>): List<S>
abstract fun findAll(): Iterable<T>
abstract fun findAll(): List<T>
abstract fun findAll(pageable: Pageable): Page<T>
abstract fun <S : T?> findAll(example: Example<S>): Iterable<S>
abstract fun <S : T?> findAll(example: Example<S>, pageable: Pageable): Page<S>
Link copied to clipboard
abstract fun findAllById(ids: Iterable<ID>): Iterable<T>
abstract fun findAllById(ids: Iterable<ID>): List<T>
Link copied to clipboard
abstract fun <S : T?, R> findBy(example: Example<S>, queryFunction: (FluentQuery.FetchableFluentQuery<S>) -> R): R
Link copied to clipboard
abstract fun findById(id: ID): Optional<T>
Link copied to clipboard
abstract fun <S : T?> findOne(example: Example<S>): Optional<S>
Link copied to clipboard
abstract fun flush()
Link copied to clipboard
@Query(value = ""SELECT c.* FROM " + COLLECTIONS_KEY + " as c WHERE c." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " UNION " + "SELECT c.* FROM " + COLLECTIONS_KEY + " as c INNER JOIN " + COLLECTIONS_TEAMS_TABLE + " ON c." + IDENTIFIER_KEY + " = " + COLLECTIONS_TEAMS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " INNER JOIN " + MEMBERS_KEY + " ON " + MEMBERS_KEY + "." + TEAM_IDENTIFIER_KEY + " WHERE " + MEMBERS_KEY + "." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY", nativeQuery = true)
abstract fun getAllUserCollections(@Param(value = "user_id") userId: String): List<LinksCollection>
Method to execute the query to get all the user's collections, included the collections shared in the teams
Link copied to clipboard
abstract fun getById(id: ID): T
Link copied to clipboard
@Query(value = ""SELECT c.* FROM " + COLLECTIONS_KEY + " as c WHERE c." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND c." + IDENTIFIER_KEY + "=:" + IDENTIFIER_KEY + " UNION " + "SELECT c.* FROM " + COLLECTIONS_KEY + " as c INNER JOIN " + COLLECTIONS_TEAMS_TABLE + " ON c." + IDENTIFIER_KEY + " = " + COLLECTIONS_TEAMS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " INNER JOIN " + MEMBERS_KEY + " ON " + MEMBERS_KEY + "." + TEAM_IDENTIFIER_KEY + " WHERE " + MEMBERS_KEY + "." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND c." + IDENTIFIER_KEY + "=:" + IDENTIFIER_KEY", nativeQuery = true)
abstract fun getCollectionIfAllowed(@Param(value = "user_id") userId: String, @Param(value = "id") collectionId: String): LinksCollection
Method to execute the query to get a collection if the user is authorized
Link copied to clipboard
abstract fun getOne(id: ID): T
Link copied to clipboard
abstract fun getReferenceById(id: ID): T
Link copied to clipboard
@Query(value = ""SELECT " + IDENTIFIER_KEY + " FROM " + COLLECTIONS_KEY + " WHERE " + OWNER_KEY + "=:" + OWNER_KEY", nativeQuery = true)
abstract fun getUserCollections(@Param(value = "owner") owner: String): HashSet<String>
Method to execute the query to get the user's owned collections identifiers
Link copied to clipboard
@Query(value = ""SELECT c.* FROM " + COLLECTIONS_KEY + " as c WHERE c." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY", nativeQuery = true)
abstract fun getUserOwnedCollections(@Param(value = "user_id") userId: String): List<LinksCollection>
Method to execute the query to get the user's owned collections
Link copied to clipboard
abstract fun <S : T?> save(entity: S): S
Link copied to clipboard
abstract fun <S : T?> saveAll(entities: Iterable<S>): Iterable<S>
abstract fun <S : T?> saveAll(entities: Iterable<S>): List<S>
Link copied to clipboard
abstract fun <S : T?> saveAllAndFlush(entities: Iterable<S>): List<S>
Link copied to clipboard
abstract fun <S : T?> saveAndFlush(entity: S): S
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = "INSERT INTO " + COLLECTIONS_KEY + "(" + IDENTIFIER_KEY + "," + COLLECTION_COLOR_KEY + "," + TITLE_KEY + "," + DESCRIPTION_KEY + "," + OWNER_KEY + ") VALUES (" + ":" + IDENTIFIER_KEY + "," + ":" + COLLECTION_COLOR_KEY + "," + ":" + TITLE_KEY + "," + ":" + DESCRIPTION_KEY + "," + ":" + OWNER_KEY + ")", nativeQuery = true)
abstract fun saveCollection(@Param(value = "id") collectionId: String, @Param(value = "collection_color") color: String, @Param(value = "title") title: String, @Param(value = "description") description: String, @Param(value = "owner") owner: String)
Method to execute the query to save a collection
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""UPDATE " + COLLECTIONS_KEY + " SET " + COLLECTION_COLOR_KEY + "=:" + COLLECTION_COLOR_KEY + "," + TITLE_KEY + "=:" + TITLE_KEY + "," + DESCRIPTION_KEY + "=:" + DESCRIPTION_KEY + " WHERE " + IDENTIFIER_KEY + "=:" + IDENTIFIER_KEY + " AND " + OWNER_KEY + "=:" + OWNER_KEY", nativeQuery = true)
abstract fun updateCollection(@Param(value = "id") collectionId: String, @Param(value = "collection_color") color: String, @Param(value = "title") title: String, @Param(value = "description") description: String, @Param(value = "owner") owner: String)
Method to execute the query to edit a collection