Skip to content

Releases: Heritians/UBA-FORM-API

Connecting Villages - v0.2.0

28 Jul 04:45
d06fe06
Compare
Choose a tag to compare

Release 0.2.0

Highlights

  • This release focuses on migrating the API to be compatible with the new Pydantic V2 engine, to get 20-30% improved performance.

Migration

  • Pydantic V2 deprecated the use of pydantic.json.ENCODER_BY_TYPES hence the API now uses custom json encoders provided as fastapi.encoders.jsonable_encoder.
  • Config class now contains all the .env variables as per Pydantic V2 requirements.
  • Now Pydantic Settings is an additional optional package (included in fastapi[all]). To use settings you should now import from pydantic_settings import BaseSettings instead of importing from pydantic directly.

Major Features and Improvements

  • @json_encoder wrapper
    • As hinted in the migration section, Pydantic V2 deprecated the use of pydantic.json.ENCODER_BY_TYPES hence to serialize bson.ObjectID to string datatype, desired methods can be wrapped by using this decorator with desired mappings.

API Endpoint

Connecting-Villages-API

Connecting Villages - v0.1.2

27 Feb 15:25
043fa74
Compare
Choose a tag to compare

Release 0.1.2

Breaking Changes

  • Typehint of has_SSP of FamilyInformation table has now been modified from boolean to string.
  • Auth sub was previously defined as aadharno_role now changed to aadharno_role_village.
  • volunteer_id and timestamp of user are now being logged for future reference, hence this schema has been modified (data posted prior to this change is invalid).

Major Features and Improvements

  • /ops/*
    • Higher hierarchy of operations to interact with the database server directly.
  • Metadata about the user is now being logged on the event of filling out the form.
  • Bulk user account creation.
    • Space-separated volunteer IDs and passwords can be entered for user account creation in bulk.

Bug Fixes

  • Typo: martial_status to marital_status.
  • Typo: is_chemical_weedice_used to is_chemical_weedicide_used.
  • Typo: is_chemical_organic_manuevers to is_chemical_organic_manures.
  • The method to ingest data in agri_products was fixed.
  • Wrong key_pass to identify agri_products
    • The key passed to identify agri_products was pointing to the family_info table hence the agri_products data was being dumped into the wrong collection.
  • Fix accessing property bug for UserOut and base URL.
  • Fix the wrong prefix of agri_products from fi to ap.
  • Bulk users' passwords were not being hashed, now all the passwords will be hashed first.

Production Link

Connecting Villages API

Connecting Villages - v0.1.1

24 Dec 18:06
c9b0347
Compare
Choose a tag to compare

Release 0.1.1

Breaking Changes

  • Authorization Server now points to URI starting /auth/*
    If you find your workflow failing due to this change, you may be facing one of the following issues:

    • Distinct Authorization and Resource Servers. The new API design splits the API into Authorization and Resource servers and treats their paths differently. All the authentication requests are now re-routed to paths with the prefix /auth/.
  • Custom Exception Handlers. All the intended exceptions are now raised from custom exceptions catering to the exact scenario. Intended Exceptions are no longer raised as generic python exceptions. Custom exceptions now give coherent descriptions to identify the root cause of the error.

Major Features and Improvements

  • /auth/use_refresh_token

    • New route to implement rotational access tokens for a smooth user experience and enhancing security.
    • A new set of tokens is issued at the time of expiry of the previous access tokens.
  • CORS Middleware

    • Middleware to allow CORS data exchange.

Bug Fixes

  • Wrong decode key pass

    • Refresh access tokens were being decoded by the wrong API key resulting in unexpected authentication failures after the access token's expiry.
    • Refresh token's API key is now fixed.
  • village_name parameter was not being considered a part of the authentication process.

    • The fix includes this parameter as a part of the authentication process and will be hashed before dumping to the database.

Production Link

Connecting Villages API

UBA Form API release - v0.1.0

25 Oct 20:14
8cdd5c8
Compare
Choose a tag to compare

Build 0.1.0

UBA Form API

Features

  1. Authentication and Authorization

The API is now secured with a custom Authentication Bearer which uses JWT (JSON web tokens) to authenticate and authorize users scope-wise.

  1. Filtered searches

The API is now equipped with filtered searches throughout the database.
The user can enter the ID of interest to retrieve family or individual information.

Breaking Changes

Get data route now no longer supports village_name as its argument in case of admin due to scope limitations.

Deploymenent Link

Connecting Villages API

UBA Form API release - v0.0.1-beta

27 Sep 20:03
51c9cfe
Compare
Choose a tag to compare

Build 0.0.1-beta

UBA Form API

Features

  1. Real-time data sync

The API dumps the data to the database by accepting the HTTP POST request from the client at the exposed endpoint.

  1. Realtime Data Retrieval

The API retrieves the data from the database by accepting the HTTP GET request from the client at the exposed endpoint enabling real-time analysis-driven insights.

  1. Visor

The Visor offers a user interface to see a live view of all the events (logs). You can use it to debug your requests, test your endpoints by sending requests, and more.

  1. Serverless FaaS Service

This API is serverless and provides FaaS (Function as a Service) which means that you don't have to worry about managing servers, scaling, or paying for the idle time that the cloud provider manages.

Deployment Link

API Endpoints