core¶
DataAPI¶
- class msdss_data_api.core.DataAPI(users_api=None, database=None, data_router_settings={}, api=<fastapi.applications.FastAPI object>, *args, **kwargs)[source]¶
Class for creating Data APIs.
- Parameters
users_api (
msdss_users_api.core.UsersAPI
or None) – Users API object to enable user authentication for data routes. IfNone
, user authentication will not be used for data routes.database (
msdss_base_database.core.Database
or None) – Amsdss_base_database.core.Database
object for managing data. IfNone
, a default database will be setup.data_router_settings (dict) – Additional arguments passed to
msdss_data_api.routers.get_data_router()
exceptdatabase
.api (
fastapi:fastapi.FastAPI
) – API object for creating routes.*args – Additional arguments passed to
msdss_base_api.core.API
.**kwargs – Additional arguments passed to
msdss_base_api.core.API
.
- data_api_database¶
Database object used for the data API.
- Type
msdss_base_datbase:msdss_base_database.core.Database
Author
Richard Wen <rrwen.dev@gmail.com>
Example
Create Data API without users:
from msdss_base_database import Database from msdss_data_api import DataAPI from msdss_users_api import UsersAPI # Create database object database = Database( driver='postgresql', user='msdss', password='msdss123', host='localhost', port='5432', database='msdss' ) # Create a data api without users app = DataAPI(database=database)
Create Data API with users:
from msdss_base_database import Database from msdss_data_api import DataAPI from msdss_users_api import UsersAPI # Create database object database = Database( driver='postgresql', user='msdss', password='msdss123', host='localhost', port='5432', database='msdss' ) # Create a data api with users # CHANGE SECRETS TO STRONG PHRASES users_api = UsersAPI( 'cookie-secret', 'jwt-secret', 'reset-secret', 'verification-secret', database=database ) app = DataAPI(users_api, database=database) # Add users routes app.add_apps(users_api) # Run the app with app.start() # Try API at http://localhost:8000/docs # app.start()