building-envelope-data / api

API specification to exchange data about building envelopes
MIT License
3 stars 1 forks source link

Allow users to decide how to filter lists: by all values, no values, or some values #261

Closed simon-wacker closed 2 years ago

simon-wacker commented 2 years ago

If a property is a list of values, then the corresponding proposition has the properties all, none, and some, each having a proposition type corresponding to the type of values in the list. For example, the proposition property nearnormalHemisphericalVisibleTransmittance corresponding to the value property nearnormalHemisphericalVisibleTransmittances was renamed to nearnormalHemisphericalVisibleTransmittances and given the type FloatsPropositionInput (note the plural), with the properties all, none, and some of type FloatPropositionInput.

For query examples with uValues and gValues see allData.graphql and for all changes to the GraphQL schema see https://github.com/ise621/building-envelope-data/pull/260/commits/24949aa8576753fa8c721ffadb1389e7c7ccbfe5 and https://github.com/ise621/building-envelope-data/commit/26cb5e257ee79d119a473c7f0a59e5bb4887cd8a

Note also that the parameter where for all*Data and has*Data queries is now optional.

Can these changes be incorporated into the LBNL implementation of the GraphQL API?

christoph-maurer commented 2 years ago

@StephenCzarnecki says that he has solved this topic with his commit. @simon-wacker do you agree?

simon-wacker commented 2 years ago

Yes, the changes are in the latest schema and I did some manual tests that worked fine. Thanks for your work!