Conversation
…a in sql_models.py and schmemas.py caused troubles for autogenerated Python client API. For now, resorted to suboptimal suffix "SQLAlchemy" for the schemata defined within sql_models.py. Do we need actually need the different schema in sql_models.BaseURISQLAlchemySchema(ma.SQLAlchemyAutoSchema) and schemas.class BaseURISchema(Schema) ? * sql_models.Dataset(db.Model) defines columns frozen_at and created_at as db.DateTime(), its method as_dict() converts those with dtoolcore.utils.timestamp(self.frozen_at). This, however, results in the autogenerated client API to expect a serialized datetime object and throw an exception when receiving float. For now, inverted the previos behavior of the server to always return timestamps as floats to returning datetime objects instead. What should be the way here in the future? * Standardized spelling of Uri to URI in models and schema for all occurences.
|
A few remarks here:
|
|
Treat |
|
Currently, tests on register roue will fail with |
|
Treat UUIDs as string for now, keep https://pymongo.readthedocs.io/en/stable/examples/uuid.html#handling-uuid-data in mind. |
WIP - OpenAPI support
Dataset readme files tend to be in YAML format. However, this is a convention rather than a prescription. When generating the information to upload a dataset to the lookup server the `utils.generate_dataset_info` converted the YAML text to a dictionary and it was registered as such in the mongo database. This would result in errors if the readme contained invalid YAML. It would be better if the base system deal with the readme as a string of text rather than trying to interpret it.
|
Reopened at jic-dtool#27 |
Flask < 2.0 causes conflict with current flask-smorest requirement >= 2.0, see
marshmallow-sqlalchemyis necessary when using SQLAlchemy. Also, I think the server core should not depend on specific storage brokers like "dtool_irods", "dtool_s3", "dtool_ecs".