EDSC-4642: As a user, I would like to set temporal, spatial, or output format capabilities and know which parameters are still valid#2042
Conversation
Bundle Size ComparisonFull build detailsThe full bundle is smaller than main by -104.49 kB. 🎉 The index.js is smaller than main by -6.07 kB. 🎉 Run
|
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## feature/EDSC-4638 #2042 +/- ##
=====================================================
- Coverage 95.81% 95.18% -0.63%
=====================================================
Files 753 756 +3
Lines 17411 17448 +37
Branches 4893 4931 +38
=====================================================
- Hits 16682 16608 -74
- Misses 678 775 +97
- Partials 51 65 +14 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
| } | ||
| }), | ||
|
|
||
| // This is where I'm going to send user selections |
There was a problem hiding this comment.
| // This is where I'm going to send user selections | |
| TODO: <Some-ticket>: // This is where I'm going to send user selections |
| // Only process service types that EDSC supports | ||
| if (![ESI, ECHO_ORDERS, HARMONY, OPENDAP, SWODLR].includes(formattedServiceType)) return {} | ||
| if (![ESI, ECHO_ORDERS, OPENDAP, SWODLR].includes(formattedServiceType)) return {} |
There was a problem hiding this comment.
Feels like this should stay in the list or some comments up here about why Harmony is not in there
| * Harmony expects that output formats be provided in the form of mimetypes, | ||
| * this is a map between UMM-S values and their respective mimetypes | ||
| * this is a map between mimetypes and their respective human readable values | ||
| * TO-DO, these values will be coming from capabilites doc version 4 |
There was a problem hiding this comment.
Same use a ticket# for those TOODS:
| // Return if a previous request was unauthorized | ||
| if (isUnauthorized) return |
There was a problem hiding this comment.
This is for passing to it if we to do an edl-callback or?
| export const buildHarmony = (serviceItem, params) => { | ||
| const { associatedVariables } = params | ||
|
|
||
| export const buildHarmony = (harmonyCapabilities, earthdataEnvironment) => { |
There was a problem hiding this comment.
do we still need this as a standalone method seems like its just passing things between components the business logic isn't in here anymore
Overview
What is the feature?
https://harmony.earthdata.nasa.gov/docs
Example capabilities doc: https://harmony.earthdata.nasa.gov/capabilities?collectionId=C2723754847-GES_DISC
Currently, Harmony already uses logic handles a request with multiple parameters. The logic will examine a list of services and decide which service to use based on those parameters.
Our logic, needs to go backwards. We need to see which parameters can be used based on the service that we have. Then we have to go one step further and show which parameters are still valid as parameters are selected
What is the Solution?
Removed logic that selected a service
Rebuilt buildHarmony based on capabilities doc
Reconfigure AccessMethod to still meet the needs of constructOrderPayload but by using a different buildHarmony object.
What areas of the application does this impact?
buildHarmony, createprojectslice, accessmethod mainly
Testing
Reproduction steps
Add harmonyHost to your overrideStaticConfig.
Test General Look of C4054955340-GES_DISC:
Test Temporal
Test Spatial
Test output formats:
Downloading
Do the following types of downloads to make sure they still work
Attachments
Please include relevant screenshots or files that would be helpful in reviewing and verifying this change.
Checklist