Skip to content

Commit

Permalink
Merge pull request #1245 from CVEProject/jd-1133
Browse files Browse the repository at this point in the history
Resolves #1133 updated post/put cna container docs
  • Loading branch information
david-rocca authored Jul 8, 2024
2 parents 067c940 + fb5622c commit 8cf195e
Show file tree
Hide file tree
Showing 8 changed files with 1,351 additions and 213 deletions.
1,229 changes: 1,229 additions & 0 deletions api-docs/openapi.json

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions schemas/cve/cna-minimum-request.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"cnaContainer": {
"descriptions": [
{
"lang": "string",
"value": "string"
}
],
"affected": [
{}
],
"references": [
{
"url": "string"
}
]
}
}
283 changes: 75 additions & 208 deletions schemas/cve/create-cve-record-cna-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -281,44 +281,6 @@
},
"additionalProperties": false
},
"cveMetadataRejected": {
"type": "object",
"required": [
"cveId",
"assignerOrgId",
"state"
],
"properties": {
"cveId": {
"$ref": "#/definitions/cveId"
},
"assignerOrgId": {
"$ref": "#/definitions/orgId"
},
"assignerShortName": {
"$ref": "#/definitions/shortName"
},
"serial": {
"type": "integer"
},
"dateUpdated": {
"$ref": "#/definitions/timestamp"
},
"datePublished": {
"$ref": "#/definitions/timestamp"
},
"dateRejected": {
"$ref": "#/definitions/timestamp"
},
"state": {
"type": "string"
},
"dateReserved": {
"$ref": "#/definitions/timestamp"
}
},
"additionalProperties": false
},
"providerMetadata": {
"type": "object",
"properties": {
Expand All @@ -336,172 +298,6 @@
"orgId"
]
},
"cnaPublishedContainer": {
"type": "object",
"properties": {
"providerMetadata": {
"$ref": "#/definitions/providerMetadata"
},
"dateAssigned": {
"$ref": "#/definitions/timestamp"
},
"datePublic": {
"$ref": "#/definitions/timestamp"
},
"title": {
"type": "string"
},
"descriptions": {
"$ref": "#/definitions/descriptions"
},
"affected": {
"$ref": "#/definitions/affected"
},
"problemTypes": {
"$ref": "#/definitions/problemTypes"
},
"references": {
"$ref": "#/definitions/references"
},
"impacts": {
"$ref": "#/definitions/impacts"
},
"metrics": {
"$ref": "#/definitions/metrics"
},
"configurations": {
"$ref": "#/definitions/configurations"
},
"workarounds": {
"$ref": "#/definitions/workarounds"
},
"solutions": {
"$ref": "#/definitions/solutions"
},
"exploits": {
"$ref": "#/definitions/exploits"
},
"timeline": {
"$ref": "#/definitions/timeline"
},
"credits": {
"$ref": "#/definitions/credits"
},
"source": {
"$ref": "#/definitions/source"
},
"tags": {
"$ref": "#/definitions/cnaTags"
},
"taxonomyMappings": {
"$ref": "#/definitions/taxonomyMappings"
}
},
"required": [
"providerMetadata",
"descriptions",
"affected",
"references"
],
"patternProperties": {
"^x_[^.]*$": {}
},
"additionalProperties": false
},
"cnaRejectedContainer": {
"type": "object",
"properties": {
"providerMetadata": {
"$ref": "#/definitions/providerMetadata"
},
"rejectedReasons": {
"$ref": "#/definitions/descriptions"
},
"replacedBy": {
"type": "array",
"minItems": 1,
"uniqueItems": true,
"items": {
"$ref": "#/definitions/cveId"
}
}
},
"required": [
"providerMetadata",
"rejectedReasons"
],
"patternProperties": {
"^x_[^.]*$": {}
},
"additionalProperties": false
},
"adpContainer": {
"type": "object",
"properties": {
"providerMetadata": {
"$ref": "#/definitions/providerMetadata"
},
"datePublic": {
"$ref": "#/definitions/timestamp"
},
"title": {
"type": "string"
},
"descriptions": {
"$ref": "#/definitions/descriptions"
},
"affected": {
"$ref": "#/definitions/affected"
},
"problemTypes": {
"$ref": "#/definitions/problemTypes"
},
"references": {
"$ref": "#/definitions/references"
},
"impacts": {
"$ref": "#/definitions/impacts"
},
"metrics": {
"$ref": "#/definitions/metrics"
},
"configurations": {
"$ref": "#/definitions/configurations"
},
"workarounds": {
"$ref": "#/definitions/workarounds"
},
"solutions": {
"$ref": "#/definitions/solutions"
},
"exploits": {
"$ref": "#/definitions/exploits"
},
"timeline": {
"$ref": "#/definitions/timeline"
},
"credits": {
"$ref": "#/definitions/credits"
},
"source": {
"$ref": "#/definitions/source"
},
"tags": {
"$ref": "#/definitions/adpTags"
},
"taxonomyMappings": {
"$ref": "#/definitions/taxonomyMappings"
}
},
"required": [
"providerMetadata"
],
"minProperties": 2,
"patternProperties": {
"^x_[^.]*$": {}
},
"additionalProperties": false
},
"affected": {
"type": "array",
"minItems": 1,
Expand Down Expand Up @@ -1176,7 +972,7 @@
],
"properties": {
"time": {
"$ref": "#/definitions/timestamp"
"$ref": "#/definitions/timestamp"
},
"lang": {
"$ref": "#/definitions/language"
Expand Down Expand Up @@ -1218,7 +1014,7 @@
"minProperties": 1
},
"language": {
"type": "string"
"type": "string"
},
"englishLanguage": {
"type": "string"
Expand Down Expand Up @@ -1315,10 +1111,81 @@
}
}
},
"required": ["cnaContainer"],
"required": [
"cnaContainer"
],
"properties": {
"cnaContainer": {
"$ref": "#/definitions/cnaPublishedContainer"
"type": "object",
"properties": {
"providerMetadata": {
"$ref": "#/definitions/providerMetadata"
},
"dateAssigned": {
"$ref": "#/definitions/timestamp"
},
"datePublic": {
"$ref": "#/definitions/timestamp"
},
"title": {
"type": "string"
},
"descriptions": {
"$ref": "#/definitions/descriptions"
},
"affected": {
"$ref": "#/definitions/affected"
},
"problemTypes": {
"$ref": "#/definitions/problemTypes"
},
"references": {
"$ref": "#/definitions/references"
},
"impacts": {
"$ref": "#/definitions/impacts"
},
"metrics": {
"$ref": "#/definitions/metrics"
},
"configurations": {
"$ref": "#/definitions/configurations"
},
"workarounds": {
"$ref": "#/definitions/workarounds"
},
"solutions": {
"$ref": "#/definitions/solutions"
},
"exploits": {
"$ref": "#/definitions/exploits"
},
"timeline": {
"$ref": "#/definitions/timeline"
},
"credits": {
"$ref": "#/definitions/credits"
},
"source": {
"$ref": "#/definitions/source"
},
"tags": {
"$ref": "#/definitions/cnaTags"
},
"taxonomyMappings": {
"$ref": "#/definitions/taxonomyMappings"
}
},
"required": [
"providerMetadata",
"descriptions",
"affected",
"references"
],
"patternProperties": {
"^x_[^.]*$": {}
},
"additionalProperties": false
}
}
}
4 changes: 3 additions & 1 deletion schemas/cve/cve-record-minimum-request.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
{
"$schema": "http://json-schema.org/draft-04/schema",
"type": "object",
"required":["cnaContainer"],
"required": [
"cnaContainer"
],
"properties": {
"cnaContainer": {
"type": "object",
Expand Down
12 changes: 10 additions & 2 deletions src/controller/cve.controller/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -560,7 +560,11 @@ router.post('/cve/:id/cna',
required: true,
content: {
"application/json": {
schema:{ $ref: '../schemas/cve/create-cve-record-cna-request.json' }
schema:{ $ref: '../schemas/cve/create-cve-record-cna-request.json' },
examples: {
'Required Fields Only Request': { $ref: '#/components/examples/minCnaContainer' },
'All Fields Request': { $ref: '../schemas/cve/create-cve-record-cna-request.json' }
}
}
}
}
Expand Down Expand Up @@ -653,7 +657,11 @@ router.put('/cve/:id/cna',
required: true,
content: {
"application/json": {
schema:{ $ref: '../schemas/cve/create-cve-record-cna-request.json' }
schema:{ $ref: '../schemas/cve/create-cve-record-cna-request.json' },
examples: {
'Required Fields Only Request': { $ref: '#/components/examples/minCnaContainer' },
'All Fields Request': { $ref: '../schemas/cve/create-cve-record-cna-request.json' }
}
}
}
}
Expand Down
1 change: 1 addition & 0 deletions src/controller/schemas.controller/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ router.get('/cve/adp-minimum-request.json', controller.getAdpMinimumSchema)
router.get('/cve/create-cve-record-cna-request.json', controller.getCnaFullSchema)
router.get('/cve/create-adp-record-adp-request.json', controller.getAdpFullSchema)
router.get('/cve/create-cve-record-secretariat-request.json', controller.getCnaSecretariatFullSchema)
router.get('/cve/cna-minimum-request.json', controller.getCnaMinSchema)

// Schemas relating to CVE IDs
router.get('/cve-id/create-cve-ids-response.json', controller.getCreateCveIdsResponseSchema)
Expand Down
Loading

0 comments on commit 8cf195e

Please sign in to comment.