from sqlalchemy_utils import UUIDType from botocore.exceptions import ClientError import cg_broker import cg_sqlalchemy_helpers as cgs from cg_logger import bound_to_logger from cg_timers import timed_code from cg_dt_utils import DatetimeWithTimezone from cg_flask_helpers import callback_after_this_request from cg_sqlalchemy_helpers import JSONB, types, mixins, hybrid_property from . import BrokerFlask, app, utils logger = structlog.get_logger() db: cgs.types.MyDb = cgs.make_db() T = t.TypeVar('T') def init_app(flask_app: BrokerFlask) -> None: cgs.init_app(db, flask_app) if t.TYPE_CHECKING: # pragma: no cover from cg_sqlalchemy_helpers.types import Base else: Base: cgs.types.Base = db.Model # pylint: disable=invalid-name _T = t.TypeVar('_T', bound='Base')
:show-inheritance: SPDX-License-Identifier: AGPL-3.0-only """ import typing as t import cg_sqlalchemy_helpers from cg_sqlalchemy_helpers import UUID_LENGTH from cg_sqlalchemy_helpers.types import ( # pylint: disable=unused-import MyDb, MyQuery, DbColumn, _MyQuery) from .. import PsefFlask from ..cache import cache_within_request db: MyDb = cg_sqlalchemy_helpers.make_db() # pylint: disable=invalid-name def init_app(app: PsefFlask) -> None: """Initialize the database connections and set some listeners. :param app: The flask app to initialize for. :returns: Nothing """ cg_sqlalchemy_helpers.init_app(db, app) if t.TYPE_CHECKING and getattr(t, 'SPHINX', False) is not True: # pragma: no cover from cg_sqlalchemy_helpers.types import Base, Comparator cached_property = property # pylint: disable=invalid-name