mirror of
https://github.com/iflytek/skillhub.git
synced 2026-10-08 03:07:51 +00:00
refactor(security): use explicit SCANNING check in processScanResult
Gemini review feedback: the previous != PUBLISHED condition was too broad and could inadvertently overwrite terminal states like REJECTED or YANKED. Now explicitly check == SCANNING before transitioning status.
This commit is contained in:
parent
ec4598efec
commit
cebad0bbd7
2 changed files with 3 additions and 3 deletions
|
|
@ -109,9 +109,8 @@ public class SecurityScanService {
|
|||
audit.setScannedAt(Instant.now(Clock.systemUTC()));
|
||||
auditRepository.save(audit);
|
||||
|
||||
// Only transition status if the version is not already published (auto-publish flow)
|
||||
if (version.getStatus() != SkillVersionStatus.PUBLISHED) {
|
||||
// Set status based on requestedVisibility
|
||||
// Only transition from SCANNING — leave PUBLISHED/REJECTED/YANKED untouched
|
||||
if (version.getStatus() == SkillVersionStatus.SCANNING) {
|
||||
if (version.getRequestedVisibility() == SkillVisibility.PRIVATE) {
|
||||
version.setStatus(SkillVersionStatus.UPLOADED);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ class SecurityScanServiceTest {
|
|||
void processScanResult_updatesAuditAndMovesVersionToPendingReview() {
|
||||
SecurityAudit audit = new SecurityAudit(42L, ScannerType.SKILL_SCANNER);
|
||||
SkillVersion version = new SkillVersion(8L, "1.0.0", "publisher-1");
|
||||
version.setStatus(SkillVersionStatus.SCANNING);
|
||||
|
||||
given(auditRepository.findLatestActiveByVersionIdAndScannerType(42L, ScannerType.SKILL_SCANNER))
|
||||
.willReturn(Optional.of(audit));
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue