
from dataclasses import dataclass

from marshmallow_dataclass import class_schema

from semantha_sdk.model.semantha_entity import SemanthaModelEntity, SemanthaSchema

from semantha_sdk.model.label import Label
from semantha_sdk.model.metadata_value import MetadataValue
from typing import List
from typing import Optional


@dataclass(frozen=True)
class ClassBulk(SemanthaModelEntity):
    """ author semantha, this is a generated class do not change manually! """
    name: str
    id: Optional[str] = None
    read_only: Optional[bool] = None
    functional: Optional[bool] = None
    labels: Optional[List[Label]] = None
    metadata: Optional[List[MetadataValue]] = None
    comment: Optional[str] = None
    datatype: Optional[str] = None
    attribute_ids: Optional[List[str]] = None
    relevant_for_relation: Optional[bool] = None
    object_property_id: Optional[str] = None
    object_property_type_id: Optional[str] = None
    parent_id: Optional[str] = None

ClassBulkSchema = class_schema(ClassBulk, base_schema=SemanthaSchema)
