Skip to content

Conversation

@KhadijaMahanga
Copy link
Contributor

@KhadijaMahanga KhadijaMahanga commented Feb 1, 2021

Description

  • Add timestamp __lte to sensor data lookup
  • Add last_notify to node's filter fields

Fixes # (issue)

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Screenshots

Screenshot 2021-02-01 at 17 53 18

Screenshot 2021-02-01 at 17 57 59

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation

@KhadijaMahanga KhadijaMahanga marked this pull request as ready for review February 1, 2021 13:03
@KhadijaMahanga KhadijaMahanga changed the title [FT] Time filter lte [FT] Time filter Feb 1, 2021
Copy link
Contributor

@esirK esirK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@esirK esirK merged commit 2bc8b2d into develop Feb 1, 2021
@kilemensi kilemensi deleted the time-filter branch February 1, 2021 15:26
esirK added a commit that referenced this pull request Feb 2, 2021
* Ft locations endpoint (#75)

* Adds Location Serializer

* Allows users to list and create locations

* Adds a basename for sensors_location_router

* Adds Pagination

* Adds Node creation API endpoint (#76)

* Adds Node creation API endpoint

* Remove un used serializer import

* Add Sensors + Sensor_Type Endpoint (#77)

* sensors endpoint

* fix serializers

* authentication on post

* sensors type endpoint

* Update sensorsafrica/api/v2/views.py

Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>

* Update sensorsafrica/api/v2/views.py

Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>

* spelling

Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>

* [Hotfix] Creation api (#79)

* Standardize naming around views, models and routes
* Add tests

* [Feature] Public / Private Data (#81)

* Add SensorDataView using CursorPagination to show all available data

* Make /v2/data return all data, keept /data/<sensortype> for air/water,
etc.

* Switch computation to only work with public data (sensorsAFRICA data for
now)

* Upgrade backward compatible deps

* Add default AUTHENTICATION_CLASSES (#82)

Feinstaub framework doesn't set per view authentication classes and
hence we need default ones

* [Fix] serializer (#83)

* Introduce SensorTypeSerializer that will handle uid

* Use SensorTypeSerializer

* Ensure city and data exists before trying to upload (#85)

* Upload data from public sensors only (#87)

* [Feature] Make v1/now return public data only (#86)

* Recreate feinstaub NowView but with public sensors filter

* Switch to custom NowView

* Add owner as part of node (#89)

* [Fix] v1/node should check groups (#88)

* Add NodeView that checks group ownership + pagination

* Update router to use new NodeView

* Use user id instead of user object (#90)

* Adds endpoint for providing metadata (#91)

* Adds endpoint for providing metadata

* Use dynamic database name

* Returns sensors locations and last time database was updated.

* Adds sensor networks to returned metadata

* Adds authentication to the meta endpoint

* Remove a default NETWORKS_OWNER

* Use latest created SensorDataValue to know when the database was last updated.

* Ensure we only return SensorLocations with a country

* Ft increase gurnicorn timeout (#92)

* Increase Gunicorn timeout to 3 minutes

* Return sorted sensors locations

* Includes country in the sensor data serializer (#93)

* Includes country in the sensor data serializer

* Only return location id and country

* Ft add location filter (#95)

* Adds a nodes filter using location

* Adds nodes filter for v1 of the API

* Remove filterling on v2 since it's only used for the F.E map

* Use default django filter backend

* Makes country location matching case insensitive.

* [Ft] Nodes last notify (#94)

* update node last_notify

* update nodeserializer

* import from feinstaub

* class naming

* code refactor

* remove repeating line

* comment line

* Update sensorsafrica/api/v1/serializers.py

Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>

* rename verbose to lastnotify

* update only when current notify is less than sensordata timestamp

Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>

* Ft add location filter for /v2/data (#97)

* Adds location filter for /data endpoint

* Temporaliry Remove iexact

* [FT] Time filter  (#96)

* add last_notify filter on nodes, sensorfilter

* view class override

* filter ovverides

* add exact to look up exp

* Includes missing import

Co-authored-by: esir <esirkings@gmail.com>

Co-authored-by: Khadija Mahanga <khadijamahanga@y7mail.com>
Co-authored-by: _ Kilemensi <kilemensi@users.noreply.github.com>
@kilemensi
Copy link
Member

Hey @KhadijaMahanga / @esirK

I think we need timestamp_lte on /v2/data:

class CustomSensorFilter(SensorFilter):
class Meta(SensorFilter.Meta):
# Pick the fields already defined and add the location__country field
fields = {**SensorFilter.Meta.fields, **{'location__country': ['exact']}}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants