rspace-os / rspace-web

This the main repository for RSpace: rspace-web. Check https://github.com/rspace-os/rspace-web/blob/main/DevDocs/DeveloperNotes/GettingStarted/GettingStarted.md for setup instructions.
https://github.com/rspace-os/rspace-web/wiki
GNU Affero General Public License v3.0
12 stars 3 forks source link

PRT-794 Define GeoLocationPolygon class to enforce bounding region #93

Closed rlamacraft closed 2 weeks ago

rlamacraft commented 3 weeks ago

The first and last points of a GeoLocation polygon must be the same to enclose a region. This invariant was not sufficiently being enforced and so this change defines a new class and accompanying interface to ensure all code that creates and modifies GeoLocation polygons enforces this invariant.

Further changes were necessary because the GeoLocation classes could not be used on the public page due to transitive dependencies on AuthStore, which this change fixes with a little dependency injection. This makes publicData unnecessary.