You've already forked RekomenciBackend
feat(): push notifications via firebase admin
This commit is contained in:
@@ -8,15 +8,17 @@ from contextlib import asynccontextmanager
|
||||
from pathlib import Path
|
||||
from typing import Final
|
||||
|
||||
import firebase_admin # type: ignore[import-untyped]
|
||||
import uvicorn
|
||||
from dishka import AsyncContainer
|
||||
from dishka.integrations.fastapi import setup_dishka
|
||||
from fastapi import FastAPI
|
||||
from fastapi.middleware.cors import CORSMiddleware
|
||||
from firebase_admin import credentials
|
||||
|
||||
from template_project.web_api.configuration import load_configuration
|
||||
from template_project.web_api.configuration import Configuration, load_configuration
|
||||
from template_project.web_api.ioc.make import make_ioc
|
||||
from template_project.web_api.routes import auth, healthcheck, profile
|
||||
from template_project.web_api.routes import auth, healthcheck, notification, profile
|
||||
|
||||
LOG_CONFIG: Final = {
|
||||
"version": 1,
|
||||
@@ -41,6 +43,9 @@ LOG_CONFIG: Final = {
|
||||
|
||||
@asynccontextmanager
|
||||
async def lifespan(app: FastAPI) -> AsyncIterator[None]:
|
||||
configuration: Configuration = app.state.dishka_container.context[Configuration]
|
||||
cred = credentials.Certificate(configuration.firebase.certificate_path)
|
||||
firebase_admin.initialize_app(cred)
|
||||
yield
|
||||
await app.state.dishka_container.close()
|
||||
|
||||
@@ -66,6 +71,7 @@ def make_asgi_application(
|
||||
app.include_router(auth.router)
|
||||
app.include_router(healthcheck.router)
|
||||
app.include_router(profile.router)
|
||||
app.include_router(notification.router)
|
||||
|
||||
setup_dishka(container=ioc, app=app)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user