Skip to content

Commit e84b43c

Browse files
committed
Minor style changes
Signed-off-by: Kartik Sibal <kartiksibal@gmail.com>
1 parent d6f0b65 commit e84b43c

1 file changed

Lines changed: 29 additions & 12 deletions

File tree

app/vulncode_app/models.py

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,50 +27,67 @@
2727

2828
class Vulnerability(models.Model):
2929
"""
30-
Stores summary and cvss id of a vulnerability.
30+
A software vulnerability with minimal information.
31+
Identifiers are stored as VulnerabilityReference.
3132
"""
32-
summary = models.TextField(max_length=50, help_text="Summary of the vulnerability")
33-
cvss = models.FloatField(max_length=50, help_text="CVSS Score")
33+
summary = models.TextField(max_length=1024,
34+
help_text="Summary of the vulnerability")
35+
cvss = models.FloatField(help_text="CVSS Score")
3436

3537

3638
class VulnerabilityReference(models.Model):
3739
"""
38-
Stores reference data for a vulnerability.
40+
Stores one or more remote web site references about a software
41+
vulnerability data on such as a CVE ID and its web page
42+
at the NVD, a bug id and similar references.
3943
"""
4044
vulnerability = models.ForeignKey('Vulnerability')
41-
source = models.CharField(max_length=50, help_text="Source's name eg:NVD")
42-
reference_id = models.CharField(max_length=50, help_text="Reference ID, eg:CVE-ID")
43-
url = models.URLField(max_length=1024, help_text="URL of Vulnerability data")
45+
source = models.CharField(max_length=50,
46+
help_text="Source's name eg:NVD")
47+
reference_id = models.CharField(max_length=50,
48+
help_text="Reference ID, eg:CVE-ID")
49+
url = models.URLField(max_length=1024,
50+
help_text="URL of Vulnerability data")
51+
52+
class Meta:
53+
unique_together = ('vulnerability', 'source', 'reference_id')
4454

4555

4656
class ImpactedPackage(models.Model):
4757
"""
48-
Links vulnerability to the package(s) impacted.
58+
Relates a vulnerability to package(s) impacted by it.
4959
"""
5060
vulnerability = models.ForeignKey('Vulnerability')
5161
package = models.ForeignKey('Package')
5262

5363

5464
class ResolvedPackage(models.Model):
5565
"""
56-
Links vulnerability to resolved package(s).
66+
Relates a vulnerability to package(s) that contain
67+
a fix or resolution of this vulnerability.
5768
"""
5869
vulnerability = models.ForeignKey('Vulnerability')
5970
package = models.ForeignKey('Package')
6071

6172

6273
class Package(models.Model):
6374
"""
64-
Stores data about a package.
75+
A software package with minimal identifying information.
76+
Other identifiers are stored as PackageReference.
6577
"""
66-
platform = models.CharField(max_length=50, help_text="Package platform eg:maven")
78+
platform = models.CharField(max_length=50,
79+
help_text="Package platform eg:maven")
6780
name = models.CharField(max_length=50, help_text="Package name")
6881
version = models.CharField(max_length=50, help_text="Pacakge version")
6982

83+
class Meta:
84+
unique_together = ('platform', 'name', 'version')
85+
7086

7187
class PackageReference(models.Model):
7288
"""
73-
Stores package reference data.
89+
One or more identifiers and references for a software package
90+
in a package repository, such as a Debian, Maven or NPM repository.
7491
"""
7592
package = models.ForeignKey('Package')
7693
repository = models.CharField(max_length=1024,

0 commit comments

Comments
 (0)