Source code for bo4e.bo.geschaeftsobjekt

# pylint: disable=missing-module-docstring
from decimal import Decimal
from typing import List, Optional

from humps.main import camelize

# pylint: disable=no-name-in-module
from pydantic import BaseModel

from bo4e.com.externereferenz import ExterneReferenz
from bo4e.enum.botyp import BoTyp

# pylint: disable=too-few-public-methods


[docs]class Geschaeftsobjekt(BaseModel): """ Das BO Geschäftsobjekt ist der Master für alle Geschäftsobjekte. Alle Attribute, die hier in diesem BO enthalten sind, werden an alle BOs vererbt. .. raw:: html <object data="../_static/images/bo4e/bo/Geschaeftsobjekt.svg" type="image/svg+xml"></object> .. HINT:: `Geschaeftsobjekt JSON Schema <https://json-schema.app/view/%23?url=https://raw.githubusercontent.com/Hochfrequenz/BO4E-python/main/json_schemas/bo/Geschaeftsobjekt.json>`_ """ # required attributes versionstruktur: str = "2" #: Version der BO-Struktur aka "fachliche Versionierung" bo_typ: BoTyp = BoTyp.GESCHAEFTSOBJEKT #: Der Typ des Geschäftsobjektes # bo_typ is used as discriminator f.e. for databases or deserialization # optional attributes externe_referenzen: Optional[List[ExterneReferenz]] = [] #: Hier können IDs anderer Systeme hinterlegt werden (z.B. eine SAP-GP-Nummer oder eine GUID)
[docs] class Config: """ basic configuration for pydantic's behaviour """ alias_generator = camelize allow_population_by_field_name = True json_encoders = {Decimal: str}