def app()

in services/metadata_service/server.py [0:0]


def app(loop=None, db_conf: DBConfiguration = None, middlewares=None, path_prefix=""):

    loop = loop or asyncio.get_event_loop()

    _app = web.Application(loop=loop)
    app = web.Application(loop=loop) if path_prefix else _app
    async_db = AsyncPostgresDB()
    loop.run_until_complete(async_db._init(db_conf))
    FlowApi(app)
    RunApi(app)
    StepApi(app)
    TaskApi(app)
    MetadataApi(app)
    ArtificatsApi(app)
    AuthApi(app)

    if path_prefix:
        _app.add_subapp(path_prefix, app)
    if middlewares:
        _app.middlewares.extend(middlewares)
    return _app