from dataclasses import dataclass, field from typing import List, Union from marshmallow import EXCLUDE @dataclass class DecibelRoleSchema: name: str class Meta: unknown = EXCLUDE @dataclass class AtlasTokenSchema: name: str email: str atlas_user_id: str = field(metadata={"data_key": "sub"}) decibel_roles: Union[List[str], DecibelRoleSchema] = field(metadata={"data_key": "decibel/role"}) labels: List[int] = field(metadata={"data_key": "decibel/labels"}) class Meta: unknown = EXCLUDE @dataclass class AtlasM2MTokenSchema: name: str aud: str = None class Meta: unknown = EXCLUDE