"""Utils for model layer.""" from territories import config from territories.connectors import mysql from territories.connectors import sqlite def get_base_model(): """Get BaseModel based on feature flag. Currently this service uses SQLite for storage and there is a plan to migrate to MySQL on RDS. Returns: BaseModel (object): either BaseModel defined in territories.sqlite or BaseModel from territories.mysql """ # TODO Remove this func when RDS_OWS_TERRITORIES flag deleted if config.RDS_OWS_TERRITORIES == 1 and \ config.TEST_ENVIRONMENT != config.ENVIRONMENT: return mysql.BaseModel return sqlite.BaseModel def get_session_scope(): """Get session_scope context manager based on feature flag. Currently this service uses SQLite for storage and there is a plan to migrate to MySQL on RDS. Returns: session_scope (object): either one from territories.sqlite or from territories.mysql """ # TODO Remove this func when RDS_OWS_TERRITORIES flag deleted if config.RDS_OWS_TERRITORIES == 1 and \ config.TEST_ENVIRONMENT != config.ENVIRONMENT: return mysql.db_session return sqlite.session_scope