-
Couldn't load subscription status.
- Fork 110
Full code refactor #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
Hey Nestor! Glad to see you contributing to the CVE Services. I wanted to let you know that we're looking through this, but right now there's a technicality that the text in the license file of the repo actually contained CC3 text instead of CC0, so there are some concerns with taking any contributions until we get that settled. After that, and I do emphasize after, it would help if this PR was broken up into its individual components considering I don't want to risk it all being rejected on the basis that maybe the AWG doesn't want GraphQL as part of its services. As I can see currently, this could be five PRs: Changing the ORM, changing the authentication to only signing the UUID, improvements to the CNA business logic, swapping to the Jest test framework, and adding GraphQL. So as soon as we get this licensing issue sorted out, I can work with you on separating out these changes. Until then, just sit tight and I'll get back to you. |
|
Makes sense separate them in different PR's like you suggest. Feel free to reach out to me. My email should be on my Git profile page. |
Performance Improvement
Description of the Change
The old code was messy, clunky and not well understood. Also, Although it was using TypeScript , it was not using TypeScripts full potential in regards of using types.
In this PR, I introduce a complete code change where I utilize TypeScripts full potential. I have also removed
serializeand replaced it forTypeORM. In addition, we no longer have multiple endpoints as I have introduce an open-source data query and manipulation language created by Facebook calledGraphQL.This API uses RSA key/pair for authentication. The old code assumed that the sent signature was composed of the complete payload that a user is sending or requesting. This new code now requires users to only sign their UUID.
Couple of logical functionalities changed:
DeActivateOrganizations with all CNA's under that Org includedsubmitCVE. Purpose of this is for the client to send in their CVE, and once sent, a CVE ID is generated using the CVE-YEAR-XXXXX format.Quantitative Performance Benefits
Possible Drawbacks
Verification Process
Applicable Issues
Release Notes
Complete code refactor was done.