Minutes

PSF board meeting minutes.

Module Contents

Minutes domain.

class Minutes[source]

Bases: AuditBase, SlugMixin

__init__(**kwargs)

A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and values in kwargs.

Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.

content: Mapped[str]
content_type: Mapped[ContentType]
created_at: Mapped[datetime.datetime]

Date/time of instance creation.

creator_id: Mapped[UUID]
date: Mapped[datetime.date]
id: Mapped[UUID]

UUID Primary key column.

is_published: Mapped[bool]
slug: Mapped[str]
updated_at: Mapped[datetime.datetime]

Date/time of instance last update.

class MinutesController[source]

Bases: Controller

Controller for Minutes CRUD operations.

after_request: AfterRequestHookHandler | None

A sync or async function executed before a Request is passed to any route handler.

If this function returns a value, the request will not reach the route handler, and instead this value will be used.

after_response: AfterResponseHookHandler | None

A sync or async function called after the response has been awaited.

It receives the Request instance and should not return any values.

before_request: BeforeRequestHookHandler | None

A sync or async function called immediately before calling the route handler.

It receives the Request instance and any non-None return value is used for the response, bypassing the route handler.

cache_control: CacheControlHeader | None

A CacheControlHeader header to add to route handlers of this controller.

Can be overridden by route handlers.

dependencies: Dependencies | None

A string keyed dictionary of dependency Provider instances.

dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for (de)serializing and validation of request data.

etag: ETag | None

An etag header of type ETag to add to route handlers of this controller.

Can be overridden by route handlers.

exception_handlers: ExceptionHandlersMap | None

A map of handler functions to status codes and/or exception types.

guards: Sequence[Guard] | None

A sequence of Guard callables.

include_in_schema: bool | EmptyType

A boolean flag dictating whether the route handler should be documented in the OpenAPI schema

middleware: Sequence[Middleware] | None

A sequence of Middleware.

opt: Mapping[str, Any] | None

A string key mapping of arbitrary values that can be accessed in Guards or wherever you have access to Request or ASGI Scope.

owner: Router

The Router or Litestar app that owns the controller.

This value is set internally by Litestar and it should not be set when subclassing the controller.

parameters: ParametersMap | None

A mapping of Parameter definitions available to all application paths.

path: str

A path fragment for the controller.

All route handlers under the controller will have the fragment appended to them. If not set it defaults to /.

request_class: type[Request] | None

A custom subclass of Request to be used as the default request for all route handlers under the controller.

request_max_body_size: int | None | EmptyType

Maximum allowed size of the request body in bytes. If this size is exceeded, a ‘413 - Request Entity Too Large’ error response is returned.

response_class: type[Response] | None

A custom subclass of Response to be used as the default response for all route handlers under the controller.

response_cookies: ResponseCookies | None

A list of Cookie instances.

response_headers: ResponseHeaders | None

A string keyed dictionary mapping ResponseHeader instances.

return_dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for serializing outbound response data.

security: Sequence[SecurityRequirement] | None

A sequence of dictionaries that to the schema of all route handlers under the controller.

signature_namespace: dict[str, Any]

A mapping of names to types for use in forward reference resolution during signature modelling.

signature_types: Sequence[Any]

A sequence of types for use in forward reference resolution during signature modelling.

These types will be added to the signature namespace using their __name__ attribute.

tags: Sequence[str] | None

A sequence of string tags that will be appended to the schema of all route handlers under the controller.

type_decoders: TypeDecodersSequence | None

A sequence of tuples, each composed of a predicate testing for type identity and a msgspec hook for deserialization.

type_encoders: TypeEncodersMap | None

A mapping of types to callables that transform them into types supported for serialization.

websocket_class: type[WebSocket] | None

A custom subclass of WebSocket to be used as the default websocket for all route handlers under the controller.

create_minutes(fn) = <litestar.handlers.http_handlers.decorators.post object>
delete_minutes(fn) = <litestar.handlers.http_handlers.decorators.delete object>
get_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
get_minutes_by_date(fn) = <litestar.handlers.http_handlers.decorators.get object>
get_minutes_by_slug(fn) = <litestar.handlers.http_handlers.decorators.get object>
list_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
list_published_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
update_minutes(fn) = <litestar.handlers.http_handlers.decorators.put object>
class MinutesCreate[source]

Bases: MinutesBase

Schema for creating new Minutes.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

creator_id: UUID
class MinutesList[source]

Bases: BaseModel

Schema for Minutes list items.

model_config: ClassVar[ConfigDict] = {'from_attributes': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

id: UUID
slug: str
date: datetime.date
is_published: bool
created_at: datetime.datetime
class MinutesPageController[source]

Bases: Controller

Controller for minutes HTML pages.

after_request: AfterRequestHookHandler | None

A sync or async function executed before a Request is passed to any route handler.

If this function returns a value, the request will not reach the route handler, and instead this value will be used.

after_response: AfterResponseHookHandler | None

A sync or async function called after the response has been awaited.

It receives the Request instance and should not return any values.

before_request: BeforeRequestHookHandler | None

A sync or async function called immediately before calling the route handler.

It receives the Request instance and any non-None return value is used for the response, bypassing the route handler.

cache_control: CacheControlHeader | None

A CacheControlHeader header to add to route handlers of this controller.

Can be overridden by route handlers.

dependencies: Dependencies | None

A string keyed dictionary of dependency Provider instances.

dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for (de)serializing and validation of request data.

etag: ETag | None

An etag header of type ETag to add to route handlers of this controller.

Can be overridden by route handlers.

exception_handlers: ExceptionHandlersMap | None

A map of handler functions to status codes and/or exception types.

guards: Sequence[Guard] | None

A sequence of Guard callables.

include_in_schema: bool | EmptyType

A boolean flag dictating whether the route handler should be documented in the OpenAPI schema

middleware: Sequence[Middleware] | None

A sequence of Middleware.

opt: Mapping[str, Any] | None

A string key mapping of arbitrary values that can be accessed in Guards or wherever you have access to Request or ASGI Scope.

owner: Router

The Router or Litestar app that owns the controller.

This value is set internally by Litestar and it should not be set when subclassing the controller.

parameters: ParametersMap | None

A mapping of Parameter definitions available to all application paths.

path: str

A path fragment for the controller.

All route handlers under the controller will have the fragment appended to them. If not set it defaults to /.

request_class: type[Request] | None

A custom subclass of Request to be used as the default request for all route handlers under the controller.

request_max_body_size: int | None | EmptyType

Maximum allowed size of the request body in bytes. If this size is exceeded, a ‘413 - Request Entity Too Large’ error response is returned.

response_class: type[Response] | None

A custom subclass of Response to be used as the default response for all route handlers under the controller.

response_cookies: ResponseCookies | None

A list of Cookie instances.

response_headers: ResponseHeaders | None

A string keyed dictionary mapping ResponseHeader instances.

return_dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for serializing outbound response data.

security: Sequence[SecurityRequirement] | None

A sequence of dictionaries that to the schema of all route handlers under the controller.

signature_namespace: dict[str, Any]

A mapping of names to types for use in forward reference resolution during signature modelling.

signature_types: Sequence[Any]

A sequence of types for use in forward reference resolution during signature modelling.

These types will be added to the signature namespace using their __name__ attribute.

tags: Sequence[str] | None

A sequence of string tags that will be appended to the schema of all route handlers under the controller.

type_decoders: TypeDecodersSequence | None

A sequence of tuples, each composed of a predicate testing for type identity and a msgspec hook for deserialization.

type_encoders: TypeEncodersMap | None

A mapping of types to callables that transform them into types supported for serialization.

websocket_class: type[WebSocket] | None

A custom subclass of WebSocket to be used as the default websocket for all route handlers under the controller.

minutes_detail(fn) = <litestar.handlers.http_handlers.decorators.get object>
minutes_index(fn) = <litestar.handlers.http_handlers.decorators.get object>
class MinutesRead[source]

Bases: MinutesBase

Schema for reading Minutes data.

model_config: ClassVar[ConfigDict] = {'from_attributes': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

id: UUID
slug: str
creator_id: UUID
created_at: datetime.datetime
updated_at: datetime.datetime
class MinutesRepository[source]

Bases: SQLAlchemyAsyncRepository[Minutes]

Repository for Minutes database operations.

async get_by_date(date)[source]

Get minutes by date.

Parameters:

date (date) – The date to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_by_date_range(start_date, end_date, limit=100)[source]

Get minutes by date range.

Parameters:
  • start_date (date) – The start date.

  • end_date (date) – The end date.

  • limit (int) – Maximum number of minutes to return.

Return type:

list[Minutes]

Returns:

List of minutes ordered by date descending.

async get_by_slug(slug)[source]

Get minutes by slug.

Parameters:

slug (str) – The slug to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_published_minutes(limit=100, offset=0)[source]

Get published minutes.

Parameters:
  • limit (int) – Maximum number of minutes to return.

  • offset (int) – Number of minutes to skip.

Return type:

list[Minutes]

Returns:

List of published minutes ordered by date descending.

model_type

alias of Minutes

class MinutesService[source]

Bases: SQLAlchemyAsyncRepositoryService[Minutes, Any]

Service for Minutes business logic.

async get_by_date(date)[source]

Get minutes by date.

Parameters:

date (date) – The date to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_by_date_range(start_date, end_date, limit=100)[source]

Get minutes by date range.

Parameters:
  • start_date (date) – The start date.

  • end_date (date) – The end date.

  • limit (int) – Maximum number of minutes to return.

Return type:

list[Minutes]

Returns:

List of minutes.

async get_by_slug(slug)[source]

Get minutes by slug.

Parameters:

slug (str) – The slug to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_published_minutes(limit=100, offset=0)[source]

Get published minutes.

Parameters:
  • limit (int) – Maximum number of minutes to return.

  • offset (int) – Number of minutes to skip.

Return type:

list[Minutes]

Returns:

List of published minutes.

match_fields: ClassVar[Optional[Union[list[str], str]]] = ['slug']

List of dialects that prefer to use field.id = ANY(:1) instead of field.id IN (...).

repository_type

alias of MinutesRepository

class MinutesUpdate[source]

Bases: BaseModel

Schema for updating Minutes.

model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

date: datetime.date | None
content: str | None
content_type: ContentType | None
is_published: bool | None
get_minutes_dependencies()[source]

Get all minutes domain dependency providers.

Return type:

dict

Models

Minutes domain models.

class Minutes[source]

Bases: AuditBase, SlugMixin

date: Mapped[datetime.date]
content: Mapped[str]
content_type: Mapped[ContentType]
is_published: Mapped[bool]
creator_id: Mapped[UUID]
__init__(**kwargs)

A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and values in kwargs.

Only keys that are present as attributes of the instance’s class are allowed. These could be, for example, any mapped columns or relationships.

created_at: Mapped[datetime.datetime]

Date/time of instance creation.

id: Mapped[UUID]

UUID Primary key column.

slug: Mapped[str]
updated_at: Mapped[datetime.datetime]

Date/time of instance last update.

Schemas

Minutes domain Pydantic schemas.

class MinutesBase[source]

Bases: BaseModel

Base Minutes schema with common fields.

date: datetime.date
content: str
content_type: ContentType
is_published: bool
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class MinutesCreate[source]

Bases: MinutesBase

Schema for creating new Minutes.

creator_id: UUID
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

date: datetime.date
content: str
content_type: ContentType
is_published: bool
class MinutesUpdate[source]

Bases: BaseModel

Schema for updating Minutes.

date: datetime.date | None
content: str | None
content_type: ContentType | None
is_published: bool | None
model_config: ClassVar[ConfigDict] = {}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class MinutesRead[source]

Bases: MinutesBase

Schema for reading Minutes data.

id: UUID
slug: str
creator_id: UUID
created_at: datetime.datetime
updated_at: datetime.datetime
model_config: ClassVar[ConfigDict] = {'from_attributes': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

date: datetime.date
content: str
content_type: ContentType
is_published: bool
class MinutesList[source]

Bases: BaseModel

Schema for Minutes list items.

id: UUID
slug: str
date: datetime.date
is_published: bool
created_at: datetime.datetime
model_config: ClassVar[ConfigDict] = {'from_attributes': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Repositories

Minutes domain repositories for database access.

class MinutesRepository[source]

Bases: SQLAlchemyAsyncRepository[Minutes]

Repository for Minutes database operations.

model_type

alias of Minutes

async get_by_slug(slug)[source]

Get minutes by slug.

Parameters:

slug (str) – The slug to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_published_minutes(limit=100, offset=0)[source]

Get published minutes.

Parameters:
  • limit (int) – Maximum number of minutes to return.

  • offset (int) – Number of minutes to skip.

Return type:

list[Minutes]

Returns:

List of published minutes ordered by date descending.

async get_by_date(date)[source]

Get minutes by date.

Parameters:

date (date) – The date to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_by_date_range(start_date, end_date, limit=100)[source]

Get minutes by date range.

Parameters:
  • start_date (date) – The start date.

  • end_date (date) – The end date.

  • limit (int) – Maximum number of minutes to return.

Return type:

list[Minutes]

Returns:

List of minutes ordered by date descending.

Services

Minutes domain services for business logic.

class MinutesService[source]

Bases: SQLAlchemyAsyncRepositoryService[Minutes, Any]

Service for Minutes business logic.

repository_type

alias of MinutesRepository

match_fields: ClassVar[Optional[Union[list[str], str]]] = ['slug']

List of dialects that prefer to use field.id = ANY(:1) instead of field.id IN (...).

async get_by_slug(slug)[source]

Get minutes by slug.

Parameters:

slug (str) – The slug to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_published_minutes(limit=100, offset=0)[source]

Get published minutes.

Parameters:
  • limit (int) – Maximum number of minutes to return.

  • offset (int) – Number of minutes to skip.

Return type:

list[Minutes]

Returns:

List of published minutes.

async get_by_date(date)[source]

Get minutes by date.

Parameters:

date (date) – The date to search for.

Return type:

Minutes | None

Returns:

The minutes if found, None otherwise.

async get_by_date_range(start_date, end_date, limit=100)[source]

Get minutes by date range.

Parameters:
  • start_date (date) – The start date.

  • end_date (date) – The end date.

  • limit (int) – Maximum number of minutes to return.

Return type:

list[Minutes]

Returns:

List of minutes.

Controllers

Minutes domain API and page controllers.

class MinutesController[source]

Bases: Controller

Controller for Minutes CRUD operations.

path: str

A path fragment for the controller.

All route handlers under the controller will have the fragment appended to them. If not set it defaults to /.

tags: Sequence[str] | None

A sequence of string tags that will be appended to the schema of all route handlers under the controller.

list_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
get_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
get_minutes_by_slug(fn) = <litestar.handlers.http_handlers.decorators.get object>
list_published_minutes(fn) = <litestar.handlers.http_handlers.decorators.get object>
get_minutes_by_date(fn) = <litestar.handlers.http_handlers.decorators.get object>
create_minutes(fn) = <litestar.handlers.http_handlers.decorators.post object>
update_minutes(fn) = <litestar.handlers.http_handlers.decorators.put object>
delete_minutes(fn) = <litestar.handlers.http_handlers.decorators.delete object>
after_request: AfterRequestHookHandler | None

A sync or async function executed before a Request is passed to any route handler.

If this function returns a value, the request will not reach the route handler, and instead this value will be used.

after_response: AfterResponseHookHandler | None

A sync or async function called after the response has been awaited.

It receives the Request instance and should not return any values.

before_request: BeforeRequestHookHandler | None

A sync or async function called immediately before calling the route handler.

It receives the Request instance and any non-None return value is used for the response, bypassing the route handler.

cache_control: CacheControlHeader | None

A CacheControlHeader header to add to route handlers of this controller.

Can be overridden by route handlers.

dependencies: Dependencies | None

A string keyed dictionary of dependency Provider instances.

dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for (de)serializing and validation of request data.

etag: ETag | None

An etag header of type ETag to add to route handlers of this controller.

Can be overridden by route handlers.

exception_handlers: ExceptionHandlersMap | None

A map of handler functions to status codes and/or exception types.

guards: Sequence[Guard] | None

A sequence of Guard callables.

include_in_schema: bool | EmptyType

A boolean flag dictating whether the route handler should be documented in the OpenAPI schema

middleware: Sequence[Middleware] | None

A sequence of Middleware.

opt: Mapping[str, Any] | None

A string key mapping of arbitrary values that can be accessed in Guards or wherever you have access to Request or ASGI Scope.

owner: Router

The Router or Litestar app that owns the controller.

This value is set internally by Litestar and it should not be set when subclassing the controller.

parameters: ParametersMap | None

A mapping of Parameter definitions available to all application paths.

request_class: type[Request] | None

A custom subclass of Request to be used as the default request for all route handlers under the controller.

request_max_body_size: int | None | EmptyType

Maximum allowed size of the request body in bytes. If this size is exceeded, a ‘413 - Request Entity Too Large’ error response is returned.

response_class: type[Response] | None

A custom subclass of Response to be used as the default response for all route handlers under the controller.

response_cookies: ResponseCookies | None

A list of Cookie instances.

response_headers: ResponseHeaders | None

A string keyed dictionary mapping ResponseHeader instances.

return_dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for serializing outbound response data.

security: Sequence[SecurityRequirement] | None

A sequence of dictionaries that to the schema of all route handlers under the controller.

signature_namespace: dict[str, Any]

A mapping of names to types for use in forward reference resolution during signature modelling.

signature_types: Sequence[Any]

A sequence of types for use in forward reference resolution during signature modelling.

These types will be added to the signature namespace using their __name__ attribute.

type_decoders: TypeDecodersSequence | None

A sequence of tuples, each composed of a predicate testing for type identity and a msgspec hook for deserialization.

type_encoders: TypeEncodersMap | None

A mapping of types to callables that transform them into types supported for serialization.

websocket_class: type[WebSocket] | None

A custom subclass of WebSocket to be used as the default websocket for all route handlers under the controller.

class MinutesPageController[source]

Bases: Controller

Controller for minutes HTML pages.

path: str

A path fragment for the controller.

All route handlers under the controller will have the fragment appended to them. If not set it defaults to /.

include_in_schema: bool | EmptyType

A boolean flag dictating whether the route handler should be documented in the OpenAPI schema

minutes_index(fn) = <litestar.handlers.http_handlers.decorators.get object>
minutes_detail(fn) = <litestar.handlers.http_handlers.decorators.get object>
after_request: AfterRequestHookHandler | None

A sync or async function executed before a Request is passed to any route handler.

If this function returns a value, the request will not reach the route handler, and instead this value will be used.

after_response: AfterResponseHookHandler | None

A sync or async function called after the response has been awaited.

It receives the Request instance and should not return any values.

before_request: BeforeRequestHookHandler | None

A sync or async function called immediately before calling the route handler.

It receives the Request instance and any non-None return value is used for the response, bypassing the route handler.

cache_control: CacheControlHeader | None

A CacheControlHeader header to add to route handlers of this controller.

Can be overridden by route handlers.

dependencies: Dependencies | None

A string keyed dictionary of dependency Provider instances.

dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for (de)serializing and validation of request data.

etag: ETag | None

An etag header of type ETag to add to route handlers of this controller.

Can be overridden by route handlers.

exception_handlers: ExceptionHandlersMap | None

A map of handler functions to status codes and/or exception types.

guards: Sequence[Guard] | None

A sequence of Guard callables.

middleware: Sequence[Middleware] | None

A sequence of Middleware.

opt: Mapping[str, Any] | None

A string key mapping of arbitrary values that can be accessed in Guards or wherever you have access to Request or ASGI Scope.

owner: Router

The Router or Litestar app that owns the controller.

This value is set internally by Litestar and it should not be set when subclassing the controller.

parameters: ParametersMap | None

A mapping of Parameter definitions available to all application paths.

request_class: type[Request] | None

A custom subclass of Request to be used as the default request for all route handlers under the controller.

request_max_body_size: int | None | EmptyType

Maximum allowed size of the request body in bytes. If this size is exceeded, a ‘413 - Request Entity Too Large’ error response is returned.

response_class: type[Response] | None

A custom subclass of Response to be used as the default response for all route handlers under the controller.

response_cookies: ResponseCookies | None

A list of Cookie instances.

response_headers: ResponseHeaders | None

A string keyed dictionary mapping ResponseHeader instances.

return_dto: type[AbstractDTO] | None | EmptyType

AbstractDTO to use for serializing outbound response data.

security: Sequence[SecurityRequirement] | None

A sequence of dictionaries that to the schema of all route handlers under the controller.

signature_namespace: dict[str, Any]

A mapping of names to types for use in forward reference resolution during signature modelling.

signature_types: Sequence[Any]

A sequence of types for use in forward reference resolution during signature modelling.

These types will be added to the signature namespace using their __name__ attribute.

tags: Sequence[str] | None

A sequence of string tags that will be appended to the schema of all route handlers under the controller.

type_decoders: TypeDecodersSequence | None

A sequence of tuples, each composed of a predicate testing for type identity and a msgspec hook for deserialization.

type_encoders: TypeEncodersMap | None

A mapping of types to callables that transform them into types supported for serialization.

websocket_class: type[WebSocket] | None

A custom subclass of WebSocket to be used as the default websocket for all route handlers under the controller.

Dependencies

Minutes domain dependency injection providers.

async provide_minutes_repository(db_session)[source]

Provide a MinutesRepository instance.

Return type:

MinutesRepository

async provide_minutes_service(db_session)[source]

Provide a MinutesService instance.

Return type:

MinutesService

get_minutes_dependencies()[source]

Get all minutes domain dependency providers.

Return type:

dict