"""CreateOrgInvitation schema.""" from marshmallow import fields, Schema from marshmallow.validate import OneOf from users import constants class CreateOrgInvitation(Schema): """CreateOrgInvitation schema. Properties: email (str): Required. User email. brand (str): Required. Org/brand name from Auth0. This is the name not the display name. admin_name (str): Optional. Name of the admin who is inviting the user. auth0_application_name (str): Optional. Name of Auth0 SPA application. Default is Insights. user_metadata (dict): Optional. Auth0 user_metadata. """ accepted_auth0_brands = constants.BRAND_TYPES email = fields.String(required=True) brand = fields.String( validate=OneOf(accepted_auth0_brands), default=constants.AUTH0_ORCHARD_ORG_NAME ) admin_name = fields.String(required=False) auth0_application_name = fields.String(required=False) user_metadata = fields.Dict(required=False, default={})