# generated by datamodel-codegen:
#   filename:  protocol_parameter_schema.json
#   timestamp: 2024-02-07T08:09:26+00:00

from enum import Enum
from typing import List, Optional

from omnipy.data.model import Model
import omnipy.util._pydantic as pyd

from . import comment_schema, ontology_annotation_schema


class FieldType(Enum):
    ProtocolParameter = 'ProtocolParameter'


class IsaProtocolParameterSchema(pyd.BaseModel):
    class Config:
        extra = pyd.Extra.forbid
        use_enum_values = True

    field_id: Optional[str] = pyd.Field(None, alias='@id')
    field_context: Optional[str] = pyd.Field(None, alias='@context')
    field_type: Optional[FieldType] = pyd.Field(None, alias='@type')
    parameterName: Optional[ontology_annotation_schema.IsaOntologyReferenceModel] = (None)
    comments: Optional[List[comment_schema.IsaCommentModel]] = None


class IsaProtocolParameterModel(Model[IsaProtocolParameterSchema]):
    ...
