@@ -4,7 +4,7 @@ const mw = require('../../middleware/middleware')
44const errorMsgs = require ( '../../middleware/errorMessages' )
55const controller = require ( './cve.controller' )
66const { body, param, query } = require ( 'express-validator' )
7- const { parseGetParams, parsePostParams, parseError, validateCveCnaContainerJsonSchema, validateCveAdpContainerJsonSchema, validateRejectBody, validateUniqueEnglishEntry, validateDescription, validateDatePublic, validatePURL } = require ( './cve.middleware' )
7+ const { parseGetParams, parsePostParams, parseError, validateCveCnaContainerJsonSchema, validateCveAdpContainerJsonSchema, validateRejectBody, validateUniqueEnglishEntry, validateDescription, validateDatePublic, validateTimelineDates , validatePURL } = require ( './cve.middleware' )
88const getConstants = require ( '../../constants' ) . getConstants
99const CONSTANTS = getConstants ( )
1010const CHOICES = [ CONSTANTS . CVE_STATES . REJECTED , CONSTANTS . CVE_STATES . PUBLISHED ]
@@ -499,6 +499,7 @@ router.post('/cve/:id',
499499 validateUniqueEnglishEntry ( [ 'containers.cna.descriptions' , 'containers.cna.rejectedReasons' ] ) ,
500500 validateDescription ( [ 'containers.cna.rejectedReasons' , 'containers.cna.descriptions' , 'containers.cna.problemTypes[0].descriptions' ] ) ,
501501 validateDatePublic ( [ 'containers.cna.datePublic' ] ) ,
502+ validateTimelineDates ( [ 'containers.cna.timeline' ] ) ,
502503 validatePURL ( [ 'containers.cna.affected' ] ) ,
503504 param ( [ 'id' ] ) . isString ( ) . matches ( CONSTANTS . CVE_ID_REGEX ) ,
504505 parseError ,
@@ -586,6 +587,7 @@ router.put('/cve/:id',
586587 validateUniqueEnglishEntry ( [ 'containers.cna.descriptions' , 'containers.cna.rejectedReasons' ] ) ,
587588 validateDescription ( [ 'containers.cna.rejectedReasons' , 'containers.cna.descriptions' , 'containers.cna.problemTypes[0].descriptions' ] ) ,
588589 validateDatePublic ( [ 'containers.cna.datePublic' ] ) ,
590+ validateTimelineDates ( [ 'containers.cna.timeline' ] ) ,
589591 validatePURL ( [ 'containers.cna.affected' ] ) ,
590592 param ( [ 'id' ] ) . isString ( ) . matches ( CONSTANTS . CVE_ID_REGEX ) ,
591593 parseError ,
@@ -685,6 +687,7 @@ router.post('/cve/:id/cna',
685687 validateUniqueEnglishEntry ( 'cnaContainer.descriptions' ) ,
686688 validateDescription ( [ 'cnaContainer.descriptions' , 'cnaContainer.problemTypes[0].descriptions' ] ) ,
687689 validateDatePublic ( [ 'cnaContainer.datePublic' ] ) ,
690+ validateTimelineDates ( [ 'cnaContainer.timeline' ] ) ,
688691 validatePURL ( [ 'cnaContainer.affected' ] ) ,
689692 param ( [ 'id' ] ) . isString ( ) . matches ( CONSTANTS . CVE_ID_REGEX ) ,
690693 parseError ,
@@ -786,6 +789,7 @@ router.put('/cve/:id/cna',
786789 validateUniqueEnglishEntry ( 'cnaContainer.descriptions' ) ,
787790 validateDescription ( [ 'cnaContainer.descriptions' , 'cnaContainer.problemTypes[0].descriptions' ] ) ,
788791 validateDatePublic ( [ 'cnaContainer.datePublic' ] ) ,
792+ validateTimelineDates ( [ 'cnaContainer.timeline' ] ) ,
789793 validatePURL ( [ 'cnaContainer.affected' ] ) ,
790794 param ( [ 'id' ] ) . isString ( ) . matches ( CONSTANTS . CVE_ID_REGEX ) ,
791795 parseError ,
@@ -1058,6 +1062,7 @@ router.put('/cve/:id/adp',
10581062 mw . trimJSONWhitespace ,
10591063 validateCveAdpContainerJsonSchema ,
10601064 validatePURL ( [ 'adpContainer.affected' ] ) ,
1065+ validateTimelineDates ( [ 'adpContainer.timeline' ] ) ,
10611066 param ( [ 'id' ] ) . isString ( ) . matches ( CONSTANTS . CVE_ID_REGEX ) ,
10621067 parseError ,
10631068 parsePostParams ,
0 commit comments