feat: add ClaimMappingRule domain model and repository interface
- AssignmentOrigin enum (direct/managed) - ClaimMappingRule record with match type and action enums - ClaimMappingRepository interface for CRUD operations Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,5 @@
|
|||||||
|
package com.cameleer3.server.core.rbac;
|
||||||
|
|
||||||
|
public enum AssignmentOrigin {
|
||||||
|
direct, managed
|
||||||
|
}
|
||||||
@@ -0,0 +1,13 @@
|
|||||||
|
package com.cameleer3.server.core.rbac;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Optional;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public interface ClaimMappingRepository {
|
||||||
|
List<ClaimMappingRule> findAll();
|
||||||
|
Optional<ClaimMappingRule> findById(UUID id);
|
||||||
|
UUID create(String claim, String matchType, String matchValue, String action, String target, int priority);
|
||||||
|
void update(UUID id, String claim, String matchType, String matchValue, String action, String target, int priority);
|
||||||
|
void delete(UUID id);
|
||||||
|
}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
package com.cameleer3.server.core.rbac;
|
||||||
|
|
||||||
|
import java.time.Instant;
|
||||||
|
import java.util.UUID;
|
||||||
|
|
||||||
|
public record ClaimMappingRule(
|
||||||
|
UUID id,
|
||||||
|
String claim,
|
||||||
|
String matchType,
|
||||||
|
String matchValue,
|
||||||
|
String action,
|
||||||
|
String target,
|
||||||
|
int priority,
|
||||||
|
Instant createdAt
|
||||||
|
) {
|
||||||
|
public enum MatchType { equals, contains, regex }
|
||||||
|
public enum Action { assignRole, addToGroup }
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user