async def execute(query, is_many, values=None, db: Settings = Depends(get_settings)): db = get_settings() if is_many: await db.database.execute_many(query=query, values=values) else: await db.database.execute(query=query, values=values)
async def disconnect_db(): settings = get_settings() # if not TESTING: # await db.disconnect() # # re.redis.close() # await re.redis.wait_closed() await settings.database.disconnect() await settings.redis.closed() await settings.wait_closed()
async def connect_db(): settings = get_settings() # if not TESTING: # await db.connect() # if IS_PRODUCTION: # re.redis = await aioredis.create_redis_pool(REDIS_URL_PRODUCTION) # else: # re.redis = await aioredis.create_redis_pool(REDIS_URL) await settings.database.connect() await settings.redis
async def fetch(query, is_one, values=None): db = get_settings() if is_one: result = await db.database.fetch_one(query=query, values=values) if result is None: return None else: out = dict(result) else: result = await db.database.fetch_all(query=query, values=values) out = [] for row in result: out.append(dict(row)) print(out) return out # async def test_orm(): # query=authors.insert().values(id=2,name="author2",books=["book3", "book4"]) # await execute(query,False) #loop =asyncio.get_event_loop() #loop.run_until_complete(test_orm())
from pyfcm import FCMNotification from platforms.BasePlatform import IBasePlatform from services.storage_service import StorageService from utils.config import get_settings settings = get_settings() class FCM(IBasePlatform): def __init__(self): super().__init__() self.push_notification_service = FCMNotification( api_key=settings.FCM_APPLICATION_KEY ) def platform_name(self): return settings.FCM_PLATFORM_NAME def build_platform_users_object(self, users_phones_list): return self.storage_service.get_users_devices_tokens(list_users_phones=users_phones_list) def notify(self, notification_payload): devices_tokens_list = notification_payload.get("users", None) if devices_tokens_list: return self.fire_notifications( devices_tokens_list=devices_tokens_list, payload=notification_payload ) else: # This case only into testing cause we can get only single token from FCM not multiple devices token. # So we test only into single user.