org.models.tan ============== .. py:module:: org.models.tan Attributes ---------- .. autoapisummary:: org.models.tan.DEFAULT_ACCESS_WINDOW Classes ------- .. autoapisummary:: org.models.tan.TANAccess org.models.tan.TANAccessCollection Module Contents --------------- .. py:data:: DEFAULT_ACCESS_WINDOW .. py:class:: TANAccess Bases: :py:obj:`onegov.core.orm.Base`, :py:obj:`onegov.core.orm.mixins.TimestampMixin` This exists to keep track of which protected URLs have been accessed by any given TAN session. This allows us to throttle requests to protected resources. .. py:attribute:: __tablename__ :value: 'tan_accesses' .. py:attribute:: __table_args__ .. py:attribute:: id :type: sqlalchemy.orm.Mapped[uuid.UUID] .. py:attribute:: session_id :type: sqlalchemy.orm.Mapped[str] .. py:attribute:: url :type: sqlalchemy.orm.Mapped[str] .. py:class:: TANAccessCollection(session: sqlalchemy.orm.Session, session_id: str, access_window: datetime.timedelta = DEFAULT_ACCESS_WINDOW) Bases: :py:obj:`onegov.core.collection.GenericCollection`\ [\ :py:obj:`TANAccess`\ ] .. py:attribute:: session_id .. py:attribute:: access_window .. py:property:: model_class :type: type[TANAccess] .. py:method:: query() -> sqlalchemy.orm.Query[TANAccess] .. py:method:: add(*, url: str) -> TANAccess .. py:method:: by_url(url: str) -> TANAccess | None .. py:method:: count() -> int