feat(programs): Add unique hashed ID for requirements#277
feat(programs): Add unique hashed ID for requirements#277lumakyns wants to merge 7 commits intoicssc:mainfrom
Conversation
384b064 to
a7c6013
Compare
a9fb47e to
696b2bc
Compare
696b2bc to
32d1ff6
Compare
32d1ff6 to
70d29ad
Compare
70d29ad to
a10d47d
Compare
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
apps/data-pipeline/degreeworks-scraper/src/components/AuditParser.ts
Outdated
Show resolved
Hide resolved
laggycomputer
left a comment
There was a problem hiding this comment.
Commit messages (and therefore PR titles) must obey Conventional Commits.
a10d47d to
e75ffed
Compare
6aa5494 to
2517795
Compare
laggycomputer
left a comment
There was a problem hiding this comment.
Architecture is sane.
No new comments, but previous review comments have been updated and should be addressed first.
2517795 to
a41874f
Compare
| } | ||
|
|
||
| generateRequirementId(rule: Rule, childRequirementBlockIdentifier: string): string { | ||
| generateRequirementId(requirementType: string, coursesSalt: string): string { |
There was a problem hiding this comment.
We also can't call this a "courses salt" because it's sometimes made up of requirement IDs instead!
There was a problem hiding this comment.
@laggycomputer Which of these seems best?
- ContentSalt
- RequirementSalt
- RequirementBlockSalt
9da7527 to
63af5d8
Compare
|
I'm going to test this myself now... |
laggycomputer
left a comment
There was a problem hiding this comment.
Finally tested this, so sorry.
Please resolve merge conflicts while I prepare for merge by migrating old requirement blocks forward.
154b7b1 to
95fb9e0
Compare
@laggycomputer Done, let me know if any other changes are needed. |
Description
Due to needing a unique id for individual requirements, and a unique id not being served by DegreeWorks, a hash consisting of a requirement's features was added.
The unique id is served as requirementId in the requirements column of
major,minor,specialization, andcollege_requirementtables.Additionally, due to jsonb's being too large for the unique index in
college_requirement, arequirements_hashcolumn was added to enforce uniqueness on.Related Issue
#185
Motivation and Context
Reason for unique id comes from issue.
How Has This Been Tested?
Scraper has been ran locally, database updates verified, and API calls tested for both rest and graphql
Screenshots (if appropriate):
N/A
Types of changes
Checklist: