agency.models.move

Classes

SupportsById

Base class for protocol classes.

Move

Base class for moving things.

AgencyMove

Represents a single move of a suborganization.

AgencyMembershipMoveWithinAgency

Represents a single move of a membership with respect to a Agency.

AgencyMembershipMoveWithinPerson

Represents a single move of a membership with respect to a Person.

Module Contents

class agency.models.move.SupportsById[M_co, IdT_contra][source]

Bases: Protocol

Base class for protocol classes.

Protocol classes are defined as:

class Proto(Protocol):
    def meth(self) -> int:
        ...

Such classes are primarily used with static type checkers that recognize structural subtyping (static duck-typing).

For example:

class C:
    def meth(self) -> int:
        return 0

def func(x: Proto) -> int:
    return x.meth()

func(C())  # Passes static type check

See PEP 544 for details. Protocol classes decorated with @typing.runtime_checkable act as simple-minded runtime protocols that check only the presence of given attributes, ignoring their type signatures. Protocol classes can be generic, they are defined as:

class GenProto[T](Protocol):
    def meth(self) -> T:
        ...
by_id(id: IdT_contra, /) M_co | None[source]
class agency.models.move.Move[M: onegov.core.orm.Base, IdT_contra: uuid.UUID | int](session: sqlalchemy.orm.Session, subject_id: IdT_contra, target_id: IdT_contra, direction: onegov.core.orm.abstract.MoveDirection)[source]

Base class for moving things.

session[source]
subject_id[source]
target_id[source]
direction[source]
property collection: SupportsById[M, IdT_contra][source]
Abstractmethod:

property subject: M | None[source]
property target: M | None[source]
abstractmethod execute() None[source]
class agency.models.move.AgencyMove(session: sqlalchemy.orm.Session, subject_id: IdT_contra, target_id: IdT_contra, direction: onegov.core.orm.abstract.MoveDirection)[source]

Bases: Move[onegov.agency.models.ExtendedAgency, int]

Represents a single move of a suborganization.

property collection: onegov.agency.collections.ExtendedAgencyCollection[source]
execute() None[source]
class agency.models.move.AgencyMembershipMoveWithinAgency(session: sqlalchemy.orm.Session, subject_id: IdT_contra, target_id: IdT_contra, direction: onegov.core.orm.abstract.MoveDirection)[source]

Bases: Move[onegov.people.AgencyMembership, uuid.UUID]

Represents a single move of a membership with respect to a Agency.

property collection: onegov.people.AgencyMembershipCollection[source]
execute() None[source]
class agency.models.move.AgencyMembershipMoveWithinPerson(session: sqlalchemy.orm.Session, subject_id: IdT_contra, target_id: IdT_contra, direction: onegov.core.orm.abstract.MoveDirection)[source]

Bases: Move[onegov.people.AgencyMembership, uuid.UUID]

Represents a single move of a membership with respect to a Person.

property collection: onegov.people.AgencyMembershipCollection[source]
execute() None[source]