Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions schemas/registry-org/BaseOrg.json
Original file line number Diff line number Diff line change
Expand Up @@ -182,15 +182,6 @@
},
"status": {
"type": "string"
},
"advisory_location_require_credentials": {
"type": "boolean"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
Expand All @@ -201,6 +192,15 @@
"type": "string"
}
},
"advisory_location_require_credentials": {
"type": "boolean"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
}
},
"industry": {
"type": "string"
},
Expand All @@ -225,4 +225,4 @@
"short_name",
"long_name"
]
}
}
6 changes: 6 additions & 0 deletions schemas/registry-org/CNAOrg.json
Original file line number Diff line number Diff line change
Expand Up @@ -123,6 +123,12 @@
"advisory_locations": {
"$ref": "/BaseOrg#/properties/advisory_locations"
},
"advisory_location_require_credentials": {
"$ref": "/BaseOrg#/properties/advisory_location_require_credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"$ref": "/BaseOrg#/properties/vulnerability_advisory_location_for_web_scraping"
},
"program_data": {
"$ref": "/BaseOrg#/properties/program_data"
},
Expand Down
6 changes: 6 additions & 0 deletions schemas/registry-org/RootOrg.json
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,12 @@
"advisory_locations": {
"$ref": "/BaseOrg#/properties/advisory_locations"
},
"advisory_location_require_credentials": {
"$ref": "/BaseOrg#/properties/advisory_location_require_credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"$ref": "/BaseOrg#/properties/vulnerability_advisory_location_for_web_scraping"
},
"program_data": {
"$ref": "/BaseOrg#/properties/program_data"
},
Expand Down
22 changes: 11 additions & 11 deletions schemas/registry-org/create-registry-org-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,17 @@
},
"description": "Locations of vulnerability advisories"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
},
"industry": {
"type": "string",
"description": "Industry sector of the organization"
Expand Down Expand Up @@ -170,17 +181,6 @@
},
"status": {
"type": "string"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
}
},
"description": "Additional partner metadata (restricted)"
Expand Down
22 changes: 11 additions & 11 deletions schemas/registry-org/get-registry-org-response.json
Original file line number Diff line number Diff line change
Expand Up @@ -144,17 +144,6 @@
},
"status": {
"type": "string"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
}
},
"description": "Additional partner metadata (restricted)"
Expand All @@ -166,6 +155,17 @@
},
"description": "Locations of vulnerability advisories"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
},
"industry": {
"type": "string",
"description": "Industry sector of the organization"
Expand Down
22 changes: 11 additions & 11 deletions schemas/registry-org/list-registry-orgs-response.json
Original file line number Diff line number Diff line change
Expand Up @@ -173,17 +173,6 @@
},
"status": {
"type": "string"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
}
},
"description": "Additional partner metadata (restricted)"
Expand All @@ -195,6 +184,17 @@
},
"description": "Locations of vulnerability advisories"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
},
"industry": {
"type": "string",
"description": "Industry sector of the organization"
Expand Down
22 changes: 11 additions & 11 deletions schemas/registry-org/update-registry-org-request.json
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,17 @@
},
"description": "Locations of vulnerability advisories"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
},
"industry": {
"type": "string",
"description": "Industry sector of the organization"
Expand Down Expand Up @@ -186,17 +197,6 @@
},
"status": {
"type": "string"
},
"advisory_location_require_credentials": {
"type": "boolean",
"description": "Indicates if advisory locations require credentials"
},
"vulnerability_advisory_location_for_web_scraping": {
"type": "array",
"items": {
"type": "string"
},
"description": "Advisory locations for web scraping"
}
},
"description": "Additional partner metadata (restricted)"
Expand Down
4 changes: 1 addition & 3 deletions src/constants/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ function getConstants () {
USER_ROLES: [
'ADMIN'
],
JOINT_APPROVAL_FIELDS: ['short_name', 'long_name', 'authority', 'aliases', 'oversees', 'top_level_root', 'charter_or_scope', 'product_list', 'disclosure_policy', 'partner_role_type', 'partner_number', 'program_data.cve_website_update_date', 'program_data.cve_website_update_needed', 'program_data.status', 'advisory_locations', 'tl_root_start_date', 'is_cna_discussion_list', 'hard_quota'],
JOINT_APPROVAL_FIELDS: ['short_name', 'long_name', 'authority', 'aliases', 'oversees', 'top_level_root', 'charter_or_scope', 'product_list', 'disclosure_policy', 'partner_role_type', 'partner_number', 'program_data.cve_website_update_date', 'program_data.cve_website_update_needed', 'program_data.status', 'advisory_locations', 'advisory_location_require_credentials', 'vulnerability_advisory_location_for_web_scraping', 'tl_root_start_date', 'is_cna_discussion_list', 'hard_quota'],
JOINT_APPROVAL_FIELDS_LEGACY: ['short_name', 'name', 'authority.active_roles', 'policies.id_quota'],
ORG_EXCLUDED_FIELDS: ['__t', '__v', '_id', 'inUse', 'in_use'],
ORG_RESTRICTED_FIELDS: ['program_data'],
Expand All @@ -54,8 +54,6 @@ function getConstants () {
'program_data.cve_website_update_date',
'program_data.cve_website_update_needed',
'program_data.status',
'program_data.advisory_location_require_credentials',
'program_data.vulnerability_advisory_location_for_web_scraping',
'top_level_root',
'oversees'
],
Expand Down
2 changes: 2 additions & 0 deletions src/controller/org.controller/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -555,6 +555,8 @@ router.put('/registry/org/:shortname',
<li>partner_role_type</li>
<li>partner_country</li>
<li>advisory_locations</li>
<li>advisory_location_require_credentials</li>
<li>vulnerability_advisory_location_for_web_scraping</li>
<li>industry</li>
<li>tl_root_start_date</li>
<li>is_cna_discussion_list</li>
Expand Down
16 changes: 8 additions & 8 deletions src/controller/org.controller/org.middleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ function validateCreateOrgParameters () {
body(['advisory_locations'])
.default([])
.custom(isFlatStringArray),
body(['program_data.advisory_location_require_credentials'])
body(['advisory_location_require_credentials'])
.default(false)
.isBoolean(),
body(['program_data.vulnerability_advisory_location_for_web_scraping'])
body(['vulnerability_advisory_location_for_web_scraping'])
.default([])
.custom(isFlatStringArray),
body(['tl_root_start_date'])
Expand Down Expand Up @@ -153,8 +153,8 @@ function validateCreateOrgParameters () {
'program_data.cve_website_update_needed',
'program_data.status',
'advisory_locations',
'program_data.advisory_location_require_credentials',
'program_data.vulnerability_advisory_location_for_web_scraping',
'advisory_location_require_credentials',
'vulnerability_advisory_location_for_web_scraping',
'industry',
'tl_root_start_date',
'is_cna_discussion_list')
Expand Down Expand Up @@ -241,8 +241,8 @@ function validateUpdateOrgParameters () {
'program_data.cve_website_update_date',
'program_data.cve_website_update_needed',
'program_data.status',
'program_data.advisory_location_require_credentials',
'program_data.vulnerability_advisory_location_for_web_scraping',
'advisory_location_require_credentials',
'vulnerability_advisory_location_for_web_scraping',
'advisory_locations',
'industry',
'tl_root_start_date',
Expand Down Expand Up @@ -334,8 +334,8 @@ const QUERY_PARAMETERS = {
'program_data.cve_website_update_date',
'program_data.cve_website_update_needed',
'program_data.status',
'program_data.advisory_location_require_credentials',
'program_data.vulnerability_advisory_location_for_web_scraping',
'advisory_location_require_credentials',
'vulnerability_advisory_location_for_web_scraping',
'advisory_locations',
'industry',
'tl_root_start_date',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ function parsePostParams (req, res, next) {
'program_data.cve_website_update_needed',
'program_data.status',
'advisory_locations',
'program_data.advisory_location_require_credentials',
'program_data.vulnerability_advisory_location_for_web_scraping',
'advisory_location_require_credentials',
'vulnerability_advisory_location_for_web_scraping',
'industry',
'tl_root_start_date',
'is_cna_discussion_list'
Expand Down
6 changes: 3 additions & 3 deletions src/model/baseorg.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,11 +33,11 @@ const schema = {
cve_website_update_needed: Boolean,
partner_active_date: String,
partner_inactive_date: String,
status: String,
advisory_location_require_credentials: Boolean,
vulnerability_advisory_location_for_web_scraping: [String]
status: String
},
advisory_locations: [String],
advisory_location_require_credentials: Boolean,
vulnerability_advisory_location_for_web_scraping: { type: [String], default: undefined },
industry: String,
tl_root_start_date: Date,
is_cna_discussion_list: Boolean,
Expand Down
6 changes: 4 additions & 2 deletions src/repositories/baseOrgRepository.js
Original file line number Diff line number Diff line change
Expand Up @@ -726,8 +726,8 @@ class BaseOrgRepository extends BaseRepository {
* @param {string} [incomingParameters.cna_role_type] - (Registry only)
* @param {string} [incomingParameters.cna_country] - (Registry only)
* @param {string[]} [incomingParameters.advisory_locations] - (Registry only)
* @param {boolean} [incomingParameters.program_data.advisory_location_require_credentials] - (Registry only)
* @param {string[]} [incomingParameters.program_data.vulnerability_advisory_location_for_web_scraping] - (Registry only)
* @param {boolean} [incomingParameters.advisory_location_require_credentials] - (Registry only)
* @param {string[]} [incomingParameters.vulnerability_advisory_location_for_web_scraping] - (Registry only)
* @param {string} [incomingParameters.industry] - (Registry only)
* @param {string} [incomingParameters.tl_root_start_date] - (Registry only)
* @param {boolean} [incomingParameters.is_cna_discussion_list] - (Registry only)
Expand Down Expand Up @@ -815,6 +815,8 @@ class BaseOrgRepository extends BaseRepository {
'partner_number',
'partner_country',
'advisory_locations',
'advisory_location_require_credentials',
'vulnerability_advisory_location_for_web_scraping',
'industry',
'tl_root_start_date',
'is_cna_discussion_list'
Expand Down
24 changes: 14 additions & 10 deletions test/integration-tests/registry-org/registryOrgCRUDTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,10 +83,10 @@ describe('Testing /registryOrg endpoints', () => {
const orgWithProgramData = {
...testRegistryOrg,
short_name: 'registry_org_test_prog_data',
advisory_location_require_credentials: true,
vulnerability_advisory_location_for_web_scraping: ['https://example.com/scraping'],
program_data: {
status: 'active',
advisory_location_require_credentials: true,
vulnerability_advisory_location_for_web_scraping: ['https://example.com/scraping']
status: 'active'
}
}
await chai.request(app)
Expand All @@ -103,8 +103,10 @@ describe('Testing /registryOrg endpoints', () => {
expect(res.body.created).to.haveOwnProperty('program_data')
expect(res.body.created.program_data.status).to.equal('active')
expect(res.body.created.program_data).to.haveOwnProperty('partner_active_date')
expect(res.body.created.program_data.advisory_location_require_credentials).to.be.true
expect(res.body.created.program_data.vulnerability_advisory_location_for_web_scraping).to.deep.equal(['https://example.com/scraping'])
expect(res.body.created.program_data).to.not.haveOwnProperty('advisory_location_require_credentials')
expect(res.body.created.program_data).to.not.haveOwnProperty('vulnerability_advisory_location_for_web_scraping')
expect(res.body.created.advisory_location_require_credentials).to.be.true
expect(res.body.created.vulnerability_advisory_location_for_web_scraping).to.deep.equal(['https://example.com/scraping'])
})
})
})
Expand Down Expand Up @@ -366,11 +368,11 @@ describe('Testing /registryOrg endpoints', () => {
.set(secretariatHeaders)
.send({
...createdOrg,
advisory_location_require_credentials: true,
vulnerability_advisory_location_for_web_scraping: ['https://example.com/scraping'],
program_data: {
status: 'active',
partner_active_date: partnerActiveDate,
advisory_location_require_credentials: true,
vulnerability_advisory_location_for_web_scraping: ['https://example.com/scraping']
partner_active_date: partnerActiveDate
}
})
.then((res, err) => {
Expand All @@ -380,8 +382,10 @@ describe('Testing /registryOrg endpoints', () => {
expect(res.body.updated.program_data.status).to.equal('active')
expect(res.body.updated.program_data).to.haveOwnProperty('partner_active_date')
expect(res.body.updated.program_data.partner_active_date).to.equal(partnerActiveDate)
expect(res.body.updated.program_data.advisory_location_require_credentials).to.be.true
expect(res.body.updated.program_data.vulnerability_advisory_location_for_web_scraping).to.deep.equal(['https://example.com/scraping'])
expect(res.body.updated.program_data).to.not.haveOwnProperty('advisory_location_require_credentials')
expect(res.body.updated.program_data).to.not.haveOwnProperty('vulnerability_advisory_location_for_web_scraping')
expect(res.body.updated.advisory_location_require_credentials).to.be.true
expect(res.body.updated.vulnerability_advisory_location_for_web_scraping).to.deep.equal(['https://example.com/scraping'])
})
})
it('Allows Secretariat to edit partner_active_date without changing status', async () => {
Expand Down
Loading
Loading