OauthAuthorizationConsentRepository.kt
package io.github.lishangbu.avalon.auth.repository
import io.github.lishangbu.avalon.auth.entity.OauthAuthorizationConsent
import io.github.lishangbu.avalon.auth.entity.OauthAuthorizationConsentId
import org.babyfish.jimmer.spring.repository.KRepository
/**
* OAuth 授权同意仓储接口
*
* 定义OAuth 授权同意数据的查询与持久化操作
*
* @author lishangbu
* @since 2025/9/14
*/
interface OauthAuthorizationConsentRepository : KRepository<OauthAuthorizationConsent, OauthAuthorizationConsentId> {
/** 按注册客户端 ID 和主体名称查询 OAuth 授权同意 */
fun findByRegisteredClientIdAndPrincipalName(
registeredClientId: String,
principalName: String,
): OauthAuthorizationConsent? =
findNullable(
OauthAuthorizationConsentId {
this.registeredClientId = registeredClientId
this.principalName = principalName
},
)
/** 按注册客户端 ID 和主体名称删除 OAuth 授权同意 */
fun deleteByRegisteredClientIdAndPrincipalName(
registeredClientId: String,
principalName: String,
) {
deleteById(
OauthAuthorizationConsentId {
this.registeredClientId = registeredClientId
this.principalName = principalName
},
)
}
}