Skip to content
Open
Show file tree
Hide file tree
Changes from 27 commits
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
33d6cfb
lots of refactoring and fun
david-rocca Jan 22, 2026
0cc0092
Fixing actual issues
david-rocca Jan 23, 2026
555e01e
Merge branch 'dev' into dr_1613
david-rocca Jan 23, 2026
06da221
Connect conversations to orgs instead of review objects
cberger8 Feb 2, 2026
4e9d4d7
Logic for appending and linked list conversations
cberger8 Feb 3, 2026
c8c5a4c
Updated conversation tests
cberger8 Feb 4, 2026
24b2024
Minor fix for handling conversation body
cberger8 Feb 4, 2026
07e7a6c
Add review object history retrieval and review object rejection funct…
emathew5 Jan 22, 2026
b0418d1
Enhance review object functionality: implement secretariat handling f…
emathew5 Jan 27, 2026
4f5ae34
remove 'uuid' extraction from pending review comparisons
emathew5 Jan 27, 2026
15e5ce9
edge case. If a new org update matches the current obj but a review o…
emathew5 Jan 27, 2026
2b92d74
passing options parameters
emathew5 Jan 27, 2026
9d94717
unit tests
emathew5 Jan 28, 2026
0404834
integration tests
emathew5 Feb 2, 2026
2b97878
update name
emathew5 Feb 2, 2026
d43f75f
checking git pipeline
emathew5 Feb 2, 2026
90f9a82
re-trigger all workflows
emathew5 Feb 3, 2026
0b7a661
Resolving conflicts
david-rocca Feb 5, 2026
ae82707
integration!
david-rocca Feb 5, 2026
62fd906
Small changes
david-rocca Feb 6, 2026
3b6340b
Fixing failing tests
david-rocca Feb 6, 2026
d1be6a6
Working on update user
david-rocca Feb 6, 2026
491139a
updating the registry endpoints on how they make users
david-rocca Feb 9, 2026
f8adb0a
Lots - o - fixes
david-rocca Feb 10, 2026
365d71b
omit mongoose native fields
emathew5 Feb 11, 2026
98ed3fb
More integration test fixes
david-rocca Feb 12, 2026
2259a50
Merge branch 'dr_test_take3' of github.com:CVEProject/cve-services in…
david-rocca Feb 12, 2026
c9d56cb
Revert "omit mongoose native fields"
david-rocca Feb 12, 2026
a1c26f7
fix linitng
david-rocca Feb 12, 2026
d6f6b76
I win
david-rocca Feb 12, 2026
a8bff03
starting to clean up the documenation
david-rocca Feb 13, 2026
e726508
documenation clean up, protecting some endpoints
david-rocca Feb 13, 2026
2c82e64
Adding documentation for conversations
david-rocca Feb 13, 2026
49f4a90
more documentation
david-rocca Feb 13, 2026
3969e11
Added hydration to GETs
david-rocca Feb 13, 2026
5d886c8
more documentation
david-rocca Feb 13, 2026
8791c5c
Ha, nil unwrapping
david-rocca Feb 13, 2026
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
92 changes: 0 additions & 92 deletions api-docs/openapi.json
Original file line number Diff line number Diff line change
Expand Up @@ -2178,98 +2178,6 @@
}
}
},
"/registry/org/{shortname}/id_quota": {
"get": {
"tags": [
"Registry Organization"
],
"summary": "Retrieves an organization's CVE ID quota (accessible to all registered users)",
"description": " <h2>Access Control</h2> <p>All registered users can access this endpoint</p> <h2>Expected Behavior</h2> <p><b>Regular, CNA & Admin Users:</b> Retrieves the CVE ID quota for the user's organization</p> <p><b>Secretariat:</b> Retrieves the CVE ID quota for any organization</p>",
"operationId": "orgIdQuota",
"parameters": [
{
"name": "shortname",
"in": "path",
"required": true,
"schema": {
"type": "string"
},
"description": "The shortname of the organization"
},
{
"$ref": "#/components/parameters/apiEntityHeader"
},
{
"$ref": "#/components/parameters/apiUserHeader"
},
{
"$ref": "#/components/parameters/apiSecretHeader"
}
],
"responses": {
"200": {
"description": "Returns the CVE ID quota for an organization",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/registry-org/get-registry-org-quota-response.json"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/errors/bad-request.json"
}
}
}
},
"401": {
"description": "Not Authenticated",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/errors/generic.json"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/errors/generic.json"
}
}
}
},
"404": {
"description": "Not Found",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/errors/generic.json"
}
}
}
},
"500": {
"description": "Internal Server Error",
"content": {
"application/json": {
"schema": {
"$ref": "../schemas/errors/generic.json"
}
}
}
}
}
}
},
"/registry/org/{identifier}": {
"get": {
"tags": [
Expand Down
4 changes: 2 additions & 2 deletions src/controller/audit.controller/audit.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ async function createAuditDocumentForOrg (req, res, next) {
body.target_uuid,
entry.audit_object,
entry.change_author,
{ session }
{ session, upsert: true }
)
}
} else {
Expand All @@ -87,7 +87,7 @@ async function createAuditDocumentForOrg (req, res, next) {
body.target_uuid,
body.audit_object || {},
body.change_author || req.ctx.org,
{ session }
{ session, upsert: true }
)
}

Expand Down
28 changes: 3 additions & 25 deletions src/controller/conversation.controller/conversation.controller.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ async function getConversationsForTargetUUID (req, res, next) {
const repo = req.ctx.repositories.getConversationRepository()
const targetUUID = req.params.uuid

const response = await repo.getAllByTargetUUID(targetUUID)
const response = await repo.getAllByTargetUUID(targetUUID, true)
return res.status(200).json(response)
}

Expand All @@ -46,15 +46,7 @@ async function createConversationForTargetUUID (req, res, next) {
return res.status(400).json({ message: 'Missing required field body' })
}

const conversationBody = {
target_uuid: targetUUID,
author_id: user.UUID,
author_name: [user.name.first, user.name.last].join(' '),
author_role: 'Secretariat',
visibility: body.visibility ? body.visibility.toLowerCase() : 'private',
body: body.body
}
const result = await repo.createConversation(conversationBody, { session })
const result = await repo.createConversation(targetUUID, body, user, true, { session })
await session.commitTransaction()
if (!result) {
return res.status(500).json({ message: 'Failed to create conversation' })
Expand All @@ -81,22 +73,8 @@ async function createConversationForTargetUUID (req, res, next) {
}
}

async function updateMessage (req, res, next) {
const repo = req.ctx.repositories.getConversationRepository()
const targetUUID = req.params.uuid
const body = req.body

if (!body.body) {
return res.status(400).json({ message: 'Missing required field body' })
}

const result = await repo.updateConversation(body, targetUUID)
return res.status(200).json(result)
}

module.exports = {
getAllConversations,
getConversationsForTargetUUID,
createConversationForTargetUUID,
updateMessage
createConversationForTargetUUID
}
8 changes: 0 additions & 8 deletions src/controller/conversation.controller/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,4 @@ router.post('/conversation/target/:uuid',
controller.createConversationForTargetUUID
)

// Update conversation message - SEC only
router.put('/conversation/:uuid/message',
mw.validateUser,
mw.onlySecretariat,
param(['uuid']).isUUID(4),
controller.updateMessage
)

module.exports = router
Loading
Loading