from typing import Optional
from tdw_catalog.organization_member import OrganizationMember
from tdw_catalog.utils import MetadataFieldType
import tdw_catalog.metadata_template.field as field
[docs]class Field(field.MetadataTemplateField[OrganizationMember]):
    """
    Someone who is associated with the data
    Attributes
    ----------
    None
    """
    def __init__(self, key: str, default_value: Optional[OrganizationMember],
                 optional: Optional[bool]) -> None:
        super().__init__(key, default_value, optional)
    def serialize(self) -> dict:
        res = super().serialize()
        res["default_value"] = self.default_value.user_id if self.default_value is not None else None
        res["field_type"] = MetadataFieldType.FT_USER
        return res