LinksRepository

@Service
@Repository
interface LinksRepository : LinksBaseRepository<T>

The LinksRepository interface is useful to manage the queries of the RefyLink

Author

N7ghtm4r3 - Tecknobit

See also

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
open fun deleteInBatch(entities: Iterable<T>)
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""DELETE FROM " + LINKS_KEY + " WHERE " + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY", nativeQuery = true)
abstract fun deleteLink(@Param(value = "link_id") linkId: String)
Method to execute the query to delete a link
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 l.* FROM " + LINKS_KEY + " AS l WHERE l." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND dtype='" + LINK_KEY + "'" + " UNION " + "SELECT l.* FROM " + LINKS_KEY + " AS l INNER JOIN " + COLLECTIONS_LINKS_TABLE + " ON " + COLLECTIONS_LINKS_TABLE + "." + LINK_IDENTIFIER_KEY + " = l." + LINK_IDENTIFIER_KEY + " INNER JOIN " + COLLECTIONS_TEAMS_TABLE + " ON " + COLLECTIONS_TEAMS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " = " + COLLECTIONS_LINKS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " INNER JOIN " + MEMBERS_KEY + " ON " + COLLECTIONS_TEAMS_TABLE + "." + TEAM_IDENTIFIER_KEY + " = " + MEMBERS_KEY + "." + TEAM_IDENTIFIER_KEY + " WHERE " + MEMBERS_KEY + "." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND dtype='" + LINK_KEY + "'", nativeQuery = true)
abstract fun getAllUserLinks(@Param(value = "user_id") userId: String): List<RefyLink>
Method to execute the query to get all the user's links, included the links shared in the teams and in the collections shared in the teams
Link copied to clipboard
abstract fun getById(id: ID): T
Link copied to clipboard
@Query(value = "SELECT l.* FROM " + LINKS_KEY + " AS l WHERE l." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND l." + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY + " UNION " + "SELECT l.* FROM " + LINKS_KEY + " AS l INNER JOIN " + COLLECTIONS_LINKS_TABLE + " ON " + COLLECTIONS_LINKS_TABLE + "." + LINK_IDENTIFIER_KEY + " = l." + LINK_IDENTIFIER_KEY + " INNER JOIN " + COLLECTIONS_TEAMS_TABLE + " ON " + COLLECTIONS_TEAMS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " = " + COLLECTIONS_LINKS_TABLE + "." + COLLECTION_IDENTIFIER_KEY + " INNER JOIN " + MEMBERS_KEY + " ON " + COLLECTIONS_TEAMS_TABLE + "." + TEAM_IDENTIFIER_KEY + " = " + MEMBERS_KEY + "." + TEAM_IDENTIFIER_KEY + " WHERE " + MEMBERS_KEY + "." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND l." + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY + " AND dtype='" + LINK_KEY + "'", nativeQuery = true)
abstract fun getLinkIfAllowed(@Param(value = "user_id") userId: String, @Param(value = "link_id") linkId: String): RefyLink
Method to execute the query to get a link if the owner 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 " + LINK_IDENTIFIER_KEY + " FROM " + LINKS_KEY + " WHERE " + OWNER_KEY + "=:" + OWNER_KEY", nativeQuery = true)
abstract fun getUserLinks(@Param(value = "owner") owner: String): HashSet<String>
Method to execute the query to get the user's owned links identifiers
Link copied to clipboard
@Query(value = "SELECT l.* FROM " + LINKS_KEY + " AS l WHERE l." + OWNER_KEY + "=:" + USER_IDENTIFIER_KEY + " AND dtype='" + LINK_KEY + "'", nativeQuery = true)
abstract fun getUserOwnedLinks(@Param(value = "user_id") userId: String): List<RefyLink>
Method to execute the query to get the user's owned links
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 " + LINKS_KEY + "(" + DISCRIMINATOR_VALUE_KEY + "," + LINK_IDENTIFIER_KEY + "," + TITLE_KEY + "," + DESCRIPTION_KEY + "," + REFERENCE_LINK_KEY + "," + OWNER_KEY + ") VALUES (" + ":" + DISCRIMINATOR_VALUE_KEY + "," + ":" + LINK_IDENTIFIER_KEY + "," + ":" + TITLE_KEY + "," + ":" + DESCRIPTION_KEY + "," + ":" + REFERENCE_LINK_KEY + "," + ":" + OWNER_KEY + ")", nativeQuery = true)
abstract fun saveLink(@Param(value = "dtype") discriminatorValue: String, @Param(value = "link_id") linkId: String, @Param(value = "title") title: String, @Param(value = "description") description: String, @Param(value = "reference_link") referenceLink: String, @Param(value = "owner") owner: String)
Method to execute the query to save a link
Link copied to clipboard
@Modifying(clearAutomatically = true)
@Query(value = ""UPDATE " + LINKS_KEY + " SET " + TITLE_KEY + "=:" + TITLE_KEY + "," + DESCRIPTION_KEY + "=:" + DESCRIPTION_KEY + "," + REFERENCE_LINK_KEY + "=:" + REFERENCE_LINK_KEY + " WHERE " + LINK_IDENTIFIER_KEY + "=:" + LINK_IDENTIFIER_KEY + " AND " + OWNER_KEY + "=:" + OWNER_KEY", nativeQuery = true)
abstract fun updateLink(@Param(value = "link_id") linkId: String, @Param(value = "title") title: String, @Param(value = "description") description: String, @Param(value = "reference_link") referenceLink: String, @Param(value = "owner") owner: String)
Method to execute the query to update a link