v7.0.0 release
This commit is contained in:
1 parent
0e7fa04b03
commit
c4ea9a6cd1
3582 files changed
+626189
-160151
No files matched your search
@@ -3,6 +3,7 @@
|
||||
namespace App\Contracts\Repositories;
|
||||
|
||||
use App\Models\IdentityPolicy;
|
||||
use Illuminate\Contracts\Pagination\LengthAwarePaginator;
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
/**
|
||||
@@ -19,15 +20,23 @@ interface IdentityPolicyRepositoryInterface
|
||||
* key 로 조회합니다.
|
||||
*
|
||||
* @param string $key 정책 키 (예: core.auth.signup_before_submit)
|
||||
* @return IdentityPolicy|null
|
||||
*/
|
||||
public function findByKey(string $key): ?IdentityPolicy;
|
||||
|
||||
/**
|
||||
* key + source_type 조합으로 정책 존재 여부를 확인합니다.
|
||||
*
|
||||
* 운영자 UI 의 scope_value 매핑 검증 등 "특정 출처 정책" 만 허용하는 검증 경로에서 사용.
|
||||
*
|
||||
* @param string $key 정책 키
|
||||
* @param string $sourceType 'core' | 'module' | 'plugin' | 'admin'
|
||||
*/
|
||||
public function existsByKeyAndSourceType(string $key, string $sourceType): bool;
|
||||
|
||||
/**
|
||||
* id 로 조회합니다.
|
||||
*
|
||||
* @param int $id 정책 PK
|
||||
* @return IdentityPolicy|null
|
||||
*/
|
||||
public function findById(int $id): ?IdentityPolicy;
|
||||
|
||||
@@ -87,6 +96,19 @@ interface IdentityPolicyRepositoryInterface
|
||||
*/
|
||||
public function cleanupStale(string $sourceType, string $sourceIdentifier, array $currentKeys): int;
|
||||
|
||||
/**
|
||||
* source_type+source_identifier 에 속하면서 currentKeys 에 없는 stale 정책을 조회합니다.
|
||||
*
|
||||
* bulk delete(cleanupStale) 와 달리 모델 인스턴스를 반환하므로, 호출 측이 per-model
|
||||
* delete()(deleted 이벤트 발화 — 라우트 스코프 캐시 flush)와 로깅을 수행할 수 있다.
|
||||
*
|
||||
* @param string $sourceType 'core' | 'module' | 'plugin' | 'admin'
|
||||
* @param string $sourceIdentifier vendor 식별자
|
||||
* @param array<int, string> $currentKeys 현재 선언된 key 목록
|
||||
* @return Collection<int, IdentityPolicy> stale 정책 목록
|
||||
*/
|
||||
public function findStale(string $sourceType, string $sourceIdentifier, array $currentKeys): Collection;
|
||||
|
||||
/**
|
||||
* 특정 source(확장) 가 등록한 정책 개수를 반환합니다.
|
||||
*
|
||||
@@ -94,7 +116,6 @@ interface IdentityPolicyRepositoryInterface
|
||||
*
|
||||
* @param string $sourceType 'core' | 'module' | 'plugin' | 'admin'
|
||||
* @param string $sourceIdentifier 확장 식별자
|
||||
* @return int
|
||||
*/
|
||||
public function countBySource(string $sourceType, string $sourceIdentifier): int;
|
||||
|
||||
@@ -103,7 +124,7 @@ interface IdentityPolicyRepositoryInterface
|
||||
*
|
||||
* @param array<string, mixed> $filters 필터 조건
|
||||
* @param int $perPage 페이지 크기
|
||||
* @return \Illuminate\Contracts\Pagination\LengthAwarePaginator
|
||||
* @return LengthAwarePaginator
|
||||
*/
|
||||
public function search(array $filters, int $perPage = 20);
|
||||
|
||||
|
||||
Reference in new issue
Block a user