classDiagram
REPO_META "1" --> "*" SCAN_RUN : runs
SCAN_RUN "1" --> "*" FINDING : findings
FINDING "1" --> "0..1" FINDING_STATE : state
SCAN_RUN "1" --> "*" ARTIFACT : artifacts
class REPO_META {
string pk
string sk
string entityType
string repoKey
string organization
string repoName
string repoUrl
string providerType
string providerHost
string adminEmail
string enabled
string updatedAtIso
int latestCountsTotal
string latestCountsByLabel
string gsi1pk
string gsi1sk
}
class SCAN_RUN {
string pk
string sk
string entityType
string repoKey
string scanRunId
string scanAtIso
string branch
string category
int countsTotal
string countsByLabel
string artifactUri
string gsi1pk
string gsi1sk
}
class FINDING {
string pk
string sk
string entityType
string scanRunId
string repoKey
string findingId
string ruleId
string fingerprint
string redactedFinding
string gsi1pk
string gsi1sk
string gsi2pk
string gsi2sk
}
class FINDING_STATE {
string pk
string sk
string entityType
string findingId
string status
string triageVerdict
string fingerprint
string updatedAtIso
}
class ARTIFACT {
string artifactUri
string scanRunId
string artifactType
string localPath
string sha256
}
reference: https://github.com/source-security-dev/security-scanner/blob/main/docs/workbench/dynamodb-schema-review-complete.md
신규:
classDiagram REPO_META "1" --> "*" SCAN_RUN : runs SCAN_RUN "1" --> "*" FINDING : findings FINDING "1" --> "0..1" FINDING_STATE : state SCAN_RUN "1" --> "*" ARTIFACT : artifacts class REPO_META { string pk string sk string entityType string repoKey string organization string repoName string repoUrl string providerType string providerHost string adminEmail string enabled string updatedAtIso int latestCountsTotal string latestCountsByLabel string gsi1pk string gsi1sk } class SCAN_RUN { string pk string sk string entityType string repoKey string scanRunId string scanAtIso string branch string category int countsTotal string countsByLabel string artifactUri string gsi1pk string gsi1sk } class FINDING { string pk string sk string entityType string scanRunId string repoKey string findingId string ruleId string fingerprint string redactedFinding string gsi1pk string gsi1sk string gsi2pk string gsi2sk } class FINDING_STATE { string pk string sk string entityType string findingId string status string triageVerdict string fingerprint string updatedAtIso } class ARTIFACT { string artifactUri string scanRunId string artifactType string localPath string sha256 }기존:
erDiagram LEGACY_REPO_META ||--o{ LEGACY_SCAN_HISTORY : has_history LEGACY_REPO_META { string repoId PK string allPk int updateTime string organization string repoName string repoUrl string providerType string adminEmail boolean state int lastScanTime int lastCountsTotal string lastCounts } LEGACY_SCAN_HISTORY { string repoId PK int scanAt PK string scanDate string allPk string organization string repoName string providerType string branch string category int countsTotal string countsByLabel string findings }