Beispiel #1
0
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)
Beispiel #2
0
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()
Beispiel #3
0
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
Beispiel #4
0
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())
Beispiel #5
0
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.