Source code for aries_cloudagent.protocols.actionmenu.v1_0.models.menu_form_param
"""Record used to represent a parameter in a menu form."""
from marshmallow import EXCLUDE, fields
from .....messaging.models.base import BaseModel, BaseModelSchema
[docs]class MenuFormParam(BaseModel):
"""Instance of a menu form param associated with an action menu option."""
def __init__(
self,
*,
name: str = None,
title: str = None,
default: str = None,
description: str = None,
input_type: str = None,
required: bool = None,
):
"""Initialize a MenuFormParam instance.
Args:
name: The parameter name
title: The parameter title
default: A default value for the parameter
description: Additional descriptive text for the menu form parameter
input_type: Input type
required: Whether the parameter is required
"""
self.name = name
self.title = title
self.default = default
self.description = description
self.input_type = input_type
self.required = required
[docs]class MenuFormParamSchema(BaseModelSchema):
"""MenuFormParam schema."""
[docs] class Meta:
"""MenuFormParamSchema metadata."""
model_class = MenuFormParam
unknown = EXCLUDE
name = fields.Str(
required=True,
metadata={"description": "Menu parameter name", "example": "delay"},
)
title = fields.Str(
required=True,
metadata={"description": "Menu parameter title", "example": "Delay in seconds"},
)
default = fields.Str(
required=False,
metadata={"description": "Default parameter value", "example": "0"},
)
description = fields.Str(
required=False,
metadata={
"description": "Additional descriptive text for menu form parameter",
"example": "Delay in seconds before starting",
},
)
input_type = fields.Str(
required=False,
data_key="type",
metadata={"description": "Menu form parameter input type", "example": "int"},
)
required = fields.Bool(
required=False,
metadata={"description": "Whether parameter is required", "example": "False"},
)