The GitHub Actions job "Tests" on airflow.git has succeeded. Run started by GitHub user potiuk (triggered by potiuk).
Head commit for run: ae98c57ef57caf8c8b1403953bd5518e04dead38 / Jarek Potiuk <[email protected]> Add Pydantic-powered ORM models serialization for internal API. Add basic serialization capabilities for the ORM SqlAlchemy models that we use on the client side of the Internal API. Serializing the whole ORM models is rather complex, therefore it seems much more reasonable to convert the ORM models into serializable form and use them - rather than the SQLAlchemy models. There are just a handful of those models that we need to serialize, and it is important to maintain typing of the fields in the objects for MyPy verification so we can allow some level of duplication and redefine the models as pure Python objects. We only need one-way converstion (from database models to Python models), because all the DB operations and modifications of the Database entries will be done in the internal API server, so the server side of any method will be able to use primary key stored in the serializable object, to retrieve the actual DB model to update. We also need to serialization to work both way - an easy way to convert such Python classees to json and back - including validation. We could serialize those models manually, but this would be quite an overhead to develop and maintain - therefore we are harnessing the power of Pydantic, that has already ORM mapping to plain Python (Pydantic) classes built in. This PR implements definition of the Pydantic classes and tests for the classes testing: * conversion of the ORM models to Pydantic objects * serialization of the Pydantic classes to json * deserialization of the json-serialized classes to Pydantic objects Report URL: https://github.com/apache/airflow/actions/runs/4276045939 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
