50 lines
1.8 KiB
Java
50 lines
1.8 KiB
Java
package ru.copperside.service;
|
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.stereotype.Service;
|
|
import ru.copperside.model.authinfo.SecretData;
|
|
import ru.copperside.model.dto.RolePermissionDto;
|
|
import ru.copperside.model.enums.AuthenticationType;
|
|
import ru.copperside.model.permission.Permission;
|
|
import ru.copperside.model.session.SessionSettings;
|
|
import ru.copperside.repository.PermissionsRepository;
|
|
import ru.copperside.repository.SecretRepository;
|
|
import ru.copperside.repository.SettingsRepository;
|
|
|
|
import java.util.List;
|
|
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class DebugAuthService {
|
|
|
|
private final SecretRepository secretRepository;
|
|
private final PermissionsRepository permissionsRepository;
|
|
private final SettingsRepository settingsRepository;
|
|
|
|
public SecretData getSecretData(String dataId, String type) {
|
|
// если не указали type — считаем Secret
|
|
String resolvedType = (type == null || type.isBlank())
|
|
? AuthenticationType.Secret.name()
|
|
: type;
|
|
|
|
return secretRepository.findByDataIdAndType(dataId, resolvedType)
|
|
.orElseThrow(() ->
|
|
new IllegalArgumentException("Secret not found: dataId=" + dataId + ", type=" + resolvedType));
|
|
}
|
|
|
|
public List<RolePermissionDto> byHierarchy(Long hierarchyId) {
|
|
return permissionsRepository.findRoleByHierarchyId(hierarchyId);
|
|
}
|
|
|
|
public List<RolePermissionDto> PersonalbyHierarchy(Long hierarchyId) {
|
|
return permissionsRepository.findPersonalByHierarchyId(hierarchyId);
|
|
}
|
|
|
|
public List<Permission> getPermissions(Long hierarchyId) {
|
|
return permissionsRepository.findCompiledByHierarchyId(hierarchyId);
|
|
}
|
|
public SessionSettings getMerged(Long authId) {
|
|
return settingsRepository.loadMerged(authId);
|
|
}
|
|
|
|
} |