clear-skies 2.0.1__tar.gz → 2.0.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of clear-skies might be problematic. Click here for more details.
- {clear_skies-2.0.1 → clear_skies-2.0.3}/PKG-INFO +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/__init__.py +5 -8
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/jwks.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/secret_bearer.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/api_backend.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/secrets_backend.py +0 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/column.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/audit.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/belongs_to_id.py +5 -5
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/belongs_to_model.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/belongs_to_self.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/boolean.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/category_tree.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/category_tree_children.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_authorization_data.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_header.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_ip.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_routing_data.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_user_agent.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/date.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/datetime.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/float.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/has_many.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/has_many_self.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/integer.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/json.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/many_to_many_ids.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/many_to_many_ids_with_data.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/many_to_many_models.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/many_to_many_pivots.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/phone.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/select.py +3 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/string.py +4 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/timestamp.py +6 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/updated.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/uuid.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/__init__.py +1 -1
- clear_skies-2.0.3/src/clearskies/contexts/cli.py +117 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/contexts/context.py +1 -0
- clear_skies-2.0.3/src/clearskies/contexts/wsgi.py +76 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/contexts/wsgi_ref.py +29 -0
- clear_skies-2.0.1/src/clearskies/parameters_to_properties.py → clear_skies-2.0.3/src/clearskies/decorators.py +2 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/injectable_properties.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoint.py +4 -4
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoint_group.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/callable.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/create.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/delete.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/get.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/health_check.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/list.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/restful_api.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/simple_search.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/update.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/cli.py +5 -4
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/model.py +807 -43
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/cache_control.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/cors.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/csp.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/hsts.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/after_column.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_future.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_past.py +1 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/required.py +0 -1
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/timedelta.py +2 -2
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/unique.py +0 -1
- clear_skies-2.0.1/src/clearskies/contexts/cli.py +0 -11
- clear_skies-2.0.1/src/clearskies/contexts/wsgi.py +0 -20
- {clear_skies-2.0.1 → clear_skies-2.0.3}/LICENSE +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/README.md +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/pyproject.toml +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/action.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/authentication.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/authorization.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/authorization_pass_through.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/authentication/public.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/oai3_json.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/oai3_schema_resolver.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/parameter.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/request.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/response.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/schema/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/schema/array.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/schema/default.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/schema/enum.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/schema/object.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/formats/oai3_json/test.json +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/py.typed +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/header.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/json_body.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/parameter.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/request.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/url_parameter.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/request/url_path.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/response/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/response/response.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/array.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/base64.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/boolean.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/date.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/datetime.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/double.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/enum.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/integer.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/long.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/number.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/object.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/password.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/schema.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/autodoc/schema/string.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/backend.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/cursor_backend.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/backends/memory_backend.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/category_tree_ancestors.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/category_tree_descendants.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/email.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/has_one.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/README.md +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/actions.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/any.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/any_dict.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/any_dict_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/authentication.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/authorization.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/boolean.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/boolean_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/callable_config.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/columns.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/conditions.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/config.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/datetime.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/datetime_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/endpoint.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/endpoint_list.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/float.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/float_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/integer.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/integer_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/joins.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/list_any_dict.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/list_any_dict_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/model_class.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/model_column.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/model_columns.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/model_destination_name.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/model_to_id_column.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/readable_model_column.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/readable_model_columns.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/schema.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/searchable_model_columns.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/security_headers.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/select.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/select_list.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/string.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/string_dict.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/string_list.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/string_list_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/string_or_callable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/timedelta.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/timezone.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/url.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/validators.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/writeable_model_column.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configs/writeable_model_columns.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/configurable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/contexts/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/additional_config.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/additional_config_auto_import.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/di.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/by_class.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/by_name.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/di.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/environment.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/input_output.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/now.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/requests.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/secrets.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/utcnow.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/inject/uuid.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/injectable.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/test_module/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/test_module/another_module/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/di/test_module/module_class.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/end.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/endpoints/advanced_search.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/environment.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/authentication.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/authorization.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/client_error.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/input_errors.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/moved_permanently.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/moved_temporarily.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/exceptions/not_found.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/functional/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/functional/routing.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/functional/string.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/functional/validations.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/exceptions/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/exceptions/cli_input_error.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/exceptions/cli_not_found.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/headers.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/input_output.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/programmatic.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/py.typed +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/input_outputs/wsgi.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/py.typed +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/query/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/query/condition.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/query/join.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/query/query.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/query/sort.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/schema.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/additional_configs/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/akeyless.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/exceptions/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/exceptions/not_found.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/secrets/secrets.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_header.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/x_content_type_options.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/security_headers/x_frame_options.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/test_base.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/typing.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validator.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/__init__.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/before_column.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_future_at_least.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_future_at_most.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_past_at_least.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/in_the_past_at_most.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/maximum_length.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/maximum_value.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/minimum_length.py +0 -0
- {clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/validators/minimum_value.py +0 -0
|
@@ -5,6 +5,7 @@ from . import (
|
|
|
5
5
|
columns,
|
|
6
6
|
configs,
|
|
7
7
|
contexts,
|
|
8
|
+
decorators,
|
|
8
9
|
di,
|
|
9
10
|
endpoints,
|
|
10
11
|
exceptions,
|
|
@@ -15,25 +16,21 @@ from . import (
|
|
|
15
16
|
typing,
|
|
16
17
|
validators,
|
|
17
18
|
)
|
|
18
|
-
from . import
|
|
19
|
+
from .action import Action
|
|
19
20
|
from .column import Column
|
|
20
21
|
from .configurable import Configurable
|
|
21
22
|
from .end import End # type: ignore
|
|
22
23
|
from .endpoint import Endpoint
|
|
23
24
|
from .endpoint_group import EndpointGroup
|
|
24
|
-
from .schema import Schema
|
|
25
|
-
|
|
26
|
-
parameters_to_properties = parameters_to_properties_module.parameters_to_properties
|
|
27
|
-
|
|
28
|
-
from .action import Action
|
|
29
25
|
from .environment import Environment
|
|
30
26
|
from .model import Model
|
|
27
|
+
from .schema import Schema
|
|
31
28
|
from .security_header import SecurityHeader
|
|
32
29
|
from .validator import Validator
|
|
33
30
|
|
|
34
31
|
__all__ = [
|
|
35
32
|
"Action",
|
|
36
|
-
"
|
|
33
|
+
"authentication",
|
|
37
34
|
"autodoc",
|
|
38
35
|
"backends",
|
|
39
36
|
"Column",
|
|
@@ -50,7 +47,6 @@ __all__ = [
|
|
|
50
47
|
"exceptions",
|
|
51
48
|
"functional",
|
|
52
49
|
"Model",
|
|
53
|
-
"parameters_to_properties",
|
|
54
50
|
"Schema",
|
|
55
51
|
"typing",
|
|
56
52
|
"Validator",
|
|
@@ -59,4 +55,5 @@ __all__ = [
|
|
|
59
55
|
"SecurityHeader",
|
|
60
56
|
"security_headers",
|
|
61
57
|
"validators",
|
|
58
|
+
"decorators",
|
|
62
59
|
]
|
|
@@ -2,8 +2,8 @@ import json
|
|
|
2
2
|
from typing import Any
|
|
3
3
|
|
|
4
4
|
import clearskies.configs
|
|
5
|
+
import clearskies.decorators
|
|
5
6
|
import clearskies.di
|
|
6
|
-
import clearskies.parameters_to_properties
|
|
7
7
|
from clearskies.authentication.authentication import Authentication
|
|
8
8
|
from clearskies.exceptions import ClientError
|
|
9
9
|
from clearskies.security_headers.cors import Cors
|
|
@@ -79,7 +79,7 @@ class Jwks(Authentication, clearskies.di.InjectableProperties):
|
|
|
79
79
|
"""
|
|
80
80
|
_jwks_fetched = None
|
|
81
81
|
|
|
82
|
-
@clearskies.
|
|
82
|
+
@clearskies.decorators.parameters_to_properties
|
|
83
83
|
def __init__(
|
|
84
84
|
self,
|
|
85
85
|
jwks_url: str,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import clearskies.configs
|
|
2
|
+
import clearskies.decorators
|
|
2
3
|
import clearskies.di
|
|
3
|
-
import clearskies.parameters_to_properties
|
|
4
4
|
from clearskies import autodoc
|
|
5
5
|
from clearskies.authentication.authentication import Authentication
|
|
6
6
|
|
|
@@ -460,7 +460,7 @@ class SecretBearer(Authentication, clearskies.di.InjectableProperties):
|
|
|
460
460
|
_secret: str = None # type: ignore
|
|
461
461
|
_alternate_secret: str = None # type: ignore
|
|
462
462
|
|
|
463
|
-
@clearskies.
|
|
463
|
+
@clearskies.decorators.parameters_to_properties
|
|
464
464
|
def __init__(
|
|
465
465
|
self,
|
|
466
466
|
secret_key: str = "",
|
|
@@ -9,9 +9,9 @@ import clearskies.columns.datetime
|
|
|
9
9
|
import clearskies.columns.json
|
|
10
10
|
import clearskies.configs
|
|
11
11
|
import clearskies.configurable
|
|
12
|
+
import clearskies.decorators
|
|
12
13
|
import clearskies.model
|
|
13
14
|
import clearskies.query
|
|
14
|
-
from clearskies import parameters_to_properties
|
|
15
15
|
from clearskies.autodoc.schema import Integer as AutoDocInteger
|
|
16
16
|
from clearskies.autodoc.schema import Schema as AutoDocSchema
|
|
17
17
|
from clearskies.autodoc.schema import String as AutoDocString
|
|
@@ -586,7 +586,7 @@ class ApiBackend(clearskies.configurable.Configurable, Backend, InjectableProper
|
|
|
586
586
|
_auth_injected = False
|
|
587
587
|
_response_to_model_map: dict[str, str] = None # type: ignore
|
|
588
588
|
|
|
589
|
-
@
|
|
589
|
+
@clearskies.decorators.parameters_to_properties
|
|
590
590
|
def __init__(
|
|
591
591
|
self,
|
|
592
592
|
base_url: str,
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
from typing import Any, Callable
|
|
2
2
|
|
|
3
3
|
import clearskies
|
|
4
|
-
from clearskies import parameters_to_properties
|
|
5
4
|
from clearskies.autodoc.schema import Integer as AutoDocInteger
|
|
6
5
|
from clearskies.autodoc.schema import Schema as AutoDocSchema
|
|
7
6
|
from clearskies.autodoc.schema import String as AutoDocString
|
|
@@ -9,9 +9,9 @@ import clearskies.configs.string
|
|
|
9
9
|
import clearskies.configs.string_or_callable
|
|
10
10
|
import clearskies.configs.validators
|
|
11
11
|
import clearskies.configurable
|
|
12
|
+
import clearskies.decorators
|
|
12
13
|
import clearskies.di
|
|
13
14
|
import clearskies.model
|
|
14
|
-
import clearskies.parameters_to_properties
|
|
15
15
|
import clearskies.typing
|
|
16
16
|
from clearskies.autodoc.schema import Schema as AutoDocSchema
|
|
17
17
|
from clearskies.autodoc.schema import String as AutoDocString
|
|
@@ -669,7 +669,7 @@ class Column(clearskies.configurable.Configurable, clearskies.di.InjectablePrope
|
|
|
669
669
|
"""
|
|
670
670
|
auto_doc_class: type[AutoDocSchema] = AutoDocString
|
|
671
671
|
|
|
672
|
-
@clearskies.
|
|
672
|
+
@clearskies.decorators.parameters_to_properties
|
|
673
673
|
def __init__(
|
|
674
674
|
self,
|
|
675
675
|
default: str | None = None,
|
|
@@ -757,6 +757,10 @@ class Column(clearskies.configurable.Configurable, clearskies.di.InjectablePrope
|
|
|
757
757
|
return instance._transformed_data[self.name]
|
|
758
758
|
|
|
759
759
|
def __set__(self, instance: Model, value) -> None:
|
|
760
|
+
# this makes sure we're initialized
|
|
761
|
+
if "name" not in self._config: # type: ignore
|
|
762
|
+
instance.get_columns()
|
|
763
|
+
|
|
760
764
|
instance._next_data[self.name] = value
|
|
761
765
|
|
|
762
766
|
def finalize_and_validate_configuration(self):
|
|
@@ -2,8 +2,9 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import Any
|
|
4
4
|
|
|
5
|
+
import clearskies.decorators
|
|
5
6
|
import clearskies.typing
|
|
6
|
-
from clearskies import configs
|
|
7
|
+
from clearskies import configs
|
|
7
8
|
from clearskies.column import Column
|
|
8
9
|
from clearskies.columns.has_many import HasMany
|
|
9
10
|
|
|
@@ -65,7 +66,7 @@ class Audit(HasMany):
|
|
|
65
66
|
_descriptor_config_map = None
|
|
66
67
|
_parent_columns: dict[str, Column] | None
|
|
67
68
|
|
|
68
|
-
@
|
|
69
|
+
@clearskies.decorators.parameters_to_properties
|
|
69
70
|
def __init__(
|
|
70
71
|
self,
|
|
71
72
|
audit_model_class,
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from collections import OrderedDict
|
|
4
4
|
from typing import TYPE_CHECKING, Any, Callable
|
|
5
5
|
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
import clearskies.typing
|
|
8
8
|
from clearskies import configs
|
|
9
9
|
from clearskies.autodoc.schema import Object as AutoDocObject
|
|
@@ -299,7 +299,7 @@ class BelongsToId(String):
|
|
|
299
299
|
_allowed_search_operators = ["="]
|
|
300
300
|
_descriptor_config_map = None
|
|
301
301
|
|
|
302
|
-
@clearskies.
|
|
302
|
+
@clearskies.decorators.parameters_to_properties
|
|
303
303
|
def __init__(
|
|
304
304
|
self,
|
|
305
305
|
parent_model_class,
|
|
@@ -356,11 +356,11 @@ class BelongsToId(String):
|
|
|
356
356
|
parent_model = self.parent_model
|
|
357
357
|
matching_parents = parent_model.where(f"{parent_model.id_column_name}={value}")
|
|
358
358
|
matching_parents = self.apply_wheres(matching_parents)
|
|
359
|
-
matching_parents = matching_parents.
|
|
359
|
+
matching_parents = matching_parents.where_for_request_all(
|
|
360
360
|
matching_parents,
|
|
361
|
-
self.input_output.routing_data,
|
|
362
|
-
self.input_output.authorization_data,
|
|
363
361
|
self.input_output,
|
|
362
|
+
routing_data=self.input_output.routing_data,
|
|
363
|
+
authorization_data=self.input_output.authorization_data,
|
|
364
364
|
)
|
|
365
365
|
if not len(matching_parents):
|
|
366
366
|
return f"Invalid selection for {self.name}: record does not exist"
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from collections import OrderedDict
|
|
4
4
|
from typing import TYPE_CHECKING, Any, Self, overload
|
|
5
5
|
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.column import Column
|
|
9
9
|
from clearskies.columns.belongs_to_id import BelongsToId
|
|
@@ -22,7 +22,7 @@ class BelongsToModel(Column):
|
|
|
22
22
|
is_temporary = clearskies.configs.boolean.Boolean(default=True)
|
|
23
23
|
_descriptor_config_map = None
|
|
24
24
|
|
|
25
|
-
@clearskies.
|
|
25
|
+
@clearskies.decorators.parameters_to_properties
|
|
26
26
|
def __init__(
|
|
27
27
|
self,
|
|
28
28
|
belongs_to_column_name: str,
|
|
@@ -84,6 +84,10 @@ class BelongsToModel(Column):
|
|
|
84
84
|
return parent_model.find(f"{parent_id_column_name}={parent_id}")
|
|
85
85
|
|
|
86
86
|
def __set__(self, model: Model, value: Model) -> None:
|
|
87
|
+
# this makes sure we're initialized
|
|
88
|
+
if "name" not in self._config: # type: ignore
|
|
89
|
+
model.get_columns()
|
|
90
|
+
|
|
87
91
|
setattr(model, self.belongs_to_column_name, getattr(value, value.id_column_name))
|
|
88
92
|
|
|
89
93
|
def pre_save(self, data: dict[str, Any], model: Model) -> dict[str, Any]:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from typing import Callable
|
|
2
2
|
|
|
3
|
+
import clearskies.decorators
|
|
3
4
|
import clearskies.typing
|
|
4
|
-
from clearskies import parameters_to_properties
|
|
5
5
|
from clearskies.columns.belongs_to_id import BelongsToId
|
|
6
6
|
|
|
7
7
|
|
|
@@ -69,7 +69,7 @@ class BelongsToSelf(BelongsToId):
|
|
|
69
69
|
|
|
70
70
|
_descriptor_config_map = None
|
|
71
71
|
|
|
72
|
-
@
|
|
72
|
+
@clearskies.decorators.parameters_to_properties
|
|
73
73
|
def __init__(
|
|
74
74
|
self,
|
|
75
75
|
readable_parent_columns: list[str] = [],
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from typing import TYPE_CHECKING, Callable, Self, overload
|
|
4
4
|
|
|
5
5
|
import clearskies.configs.actions
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
import clearskies.typing
|
|
8
8
|
from clearskies import configs
|
|
9
9
|
from clearskies.autodoc.schema import Boolean as AutoDocBoolean
|
|
@@ -38,7 +38,7 @@ class Boolean(Column):
|
|
|
38
38
|
setable = configs.BooleanOrCallable() # type: ignore
|
|
39
39
|
_descriptor_config_map = None
|
|
40
40
|
|
|
41
|
-
@clearskies.
|
|
41
|
+
@clearskies.decorators.parameters_to_properties
|
|
42
42
|
def __init__(
|
|
43
43
|
self,
|
|
44
44
|
default: bool | None = None,
|
|
@@ -82,6 +82,10 @@ class Boolean(Column):
|
|
|
82
82
|
return super().__get__(instance, cls)
|
|
83
83
|
|
|
84
84
|
def __set__(self, instance, value: bool) -> None:
|
|
85
|
+
# this makes sure we're initialized
|
|
86
|
+
if "name" not in self._config: # type: ignore
|
|
87
|
+
instance.get_columns()
|
|
88
|
+
|
|
85
89
|
instance._next_data[self.name] = value
|
|
86
90
|
|
|
87
91
|
def input_error_for_value(self, value: str, operator: str | None = None) -> str:
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any, Callable
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.columns.belongs_to_id import BelongsToId
|
|
@@ -163,7 +163,7 @@ class CategoryTree(BelongsToId):
|
|
|
163
163
|
|
|
164
164
|
_descriptor_config_map = None
|
|
165
165
|
|
|
166
|
-
@clearskies.
|
|
166
|
+
@clearskies.decorators.parameters_to_properties
|
|
167
167
|
def __init__(
|
|
168
168
|
self,
|
|
169
169
|
tree_model_class,
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Self, overload
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
from clearskies import configs
|
|
7
7
|
from clearskies.column import Column
|
|
8
8
|
from clearskies.columns import CategoryTree
|
|
@@ -36,7 +36,7 @@ class CategoryTreeChildren(Column):
|
|
|
36
36
|
is_searchable = configs.Boolean(default=False)
|
|
37
37
|
_descriptor_config_map = None
|
|
38
38
|
|
|
39
|
-
@clearskies.
|
|
39
|
+
@clearskies.decorators.parameters_to_properties
|
|
40
40
|
def __init__(
|
|
41
41
|
self,
|
|
42
42
|
category_tree_column_name: str,
|
|
@@ -3,9 +3,10 @@ from __future__ import annotations
|
|
|
3
3
|
import datetime
|
|
4
4
|
from typing import TYPE_CHECKING, Any
|
|
5
5
|
|
|
6
|
+
import clearskies.decorators
|
|
6
7
|
import clearskies.di
|
|
7
8
|
import clearskies.typing
|
|
8
|
-
from clearskies import configs
|
|
9
|
+
from clearskies import configs
|
|
9
10
|
from clearskies.columns.datetime import Datetime
|
|
10
11
|
|
|
11
12
|
if TYPE_CHECKING:
|
|
@@ -67,7 +68,7 @@ class Created(Datetime):
|
|
|
67
68
|
|
|
68
69
|
now = clearskies.di.inject.Now()
|
|
69
70
|
|
|
70
|
-
@
|
|
71
|
+
@clearskies.decorators.parameters_to_properties
|
|
71
72
|
def __init__(
|
|
72
73
|
self,
|
|
73
74
|
date_format: str = "%Y-%m-%d %H:%M:%S",
|
{clear_skies-2.0.1 → clear_skies-2.0.3}/src/clearskies/columns/created_by_authorization_data.py
RENAMED
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.columns.string import String
|
|
@@ -100,7 +100,7 @@ class CreatedByAuthorizationData(String):
|
|
|
100
100
|
|
|
101
101
|
_allowed_search_operators = ["=", "in", "is not null", "is null", "like"]
|
|
102
102
|
|
|
103
|
-
@clearskies.
|
|
103
|
+
@clearskies.decorators.parameters_to_properties
|
|
104
104
|
def __init__(
|
|
105
105
|
self,
|
|
106
106
|
authorization_data_key_name: str,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import clearskies.
|
|
1
|
+
import clearskies.decorators
|
|
2
2
|
import clearskies.typing
|
|
3
3
|
from clearskies import configs
|
|
4
4
|
from clearskies.columns.string import String
|
|
@@ -83,7 +83,7 @@ class CreatedByHeader(String):
|
|
|
83
83
|
|
|
84
84
|
_allowed_search_operators = ["=", "in", "is not null", "is null", "like"]
|
|
85
85
|
|
|
86
|
-
@clearskies.
|
|
86
|
+
@clearskies.decorators.parameters_to_properties
|
|
87
87
|
def __init__(
|
|
88
88
|
self,
|
|
89
89
|
header_name: str,
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.columns.string import String
|
|
@@ -70,7 +70,7 @@ class CreatedByIp(String):
|
|
|
70
70
|
|
|
71
71
|
_allowed_search_operators = ["=", "in", "is not null", "is null", "like"]
|
|
72
72
|
|
|
73
|
-
@clearskies.
|
|
73
|
+
@clearskies.decorators.parameters_to_properties
|
|
74
74
|
def __init__(
|
|
75
75
|
self,
|
|
76
76
|
is_readable: bool = True,
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import clearskies.decorators
|
|
1
2
|
import clearskies.typing
|
|
2
|
-
from clearskies import configs
|
|
3
|
+
from clearskies import configs
|
|
3
4
|
from clearskies.columns.string import String
|
|
4
5
|
|
|
5
6
|
|
|
@@ -80,7 +81,7 @@ class CreatedByRoutingData(String):
|
|
|
80
81
|
|
|
81
82
|
_allowed_search_operators = ["=", "in", "is not null", "is null", "like"]
|
|
82
83
|
|
|
83
|
-
@
|
|
84
|
+
@clearskies.decorators.parameters_to_properties
|
|
84
85
|
def __init__(
|
|
85
86
|
self,
|
|
86
87
|
routing_path_name: str,
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import datetime
|
|
4
4
|
from typing import TYPE_CHECKING, Any
|
|
5
5
|
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
import clearskies.typing
|
|
8
8
|
from clearskies import configs
|
|
9
9
|
from clearskies.columns.string import String
|
|
@@ -70,7 +70,7 @@ class CreatedByUserAgent(String):
|
|
|
70
70
|
|
|
71
71
|
_allowed_search_operators = ["=", "in", "is not null", "is null", "like"]
|
|
72
72
|
|
|
73
|
-
@clearskies.
|
|
73
|
+
@clearskies.decorators.parameters_to_properties
|
|
74
74
|
def __init__(
|
|
75
75
|
self,
|
|
76
76
|
is_readable: bool = True,
|
|
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Callable, Self, overload
|
|
|
5
5
|
|
|
6
6
|
import dateparser # type: ignore
|
|
7
7
|
|
|
8
|
-
import clearskies.
|
|
8
|
+
import clearskies.decorators
|
|
9
9
|
import clearskies.typing
|
|
10
10
|
from clearskies import configs
|
|
11
11
|
from clearskies.autodoc.schema import Datetime as AutoDocDatetime
|
|
@@ -102,7 +102,7 @@ class Date(Datetime):
|
|
|
102
102
|
auto_doc_class: type[AutoDocSchema] = AutoDocDatetime
|
|
103
103
|
_descriptor_config_map = None
|
|
104
104
|
|
|
105
|
-
@clearskies.
|
|
105
|
+
@clearskies.decorators.parameters_to_properties
|
|
106
106
|
def __init__(
|
|
107
107
|
self,
|
|
108
108
|
date_format: str = "%Y-%m-%d",
|
|
@@ -162,6 +162,10 @@ class Date(Datetime):
|
|
|
162
162
|
return super().__get__(instance, cls)
|
|
163
163
|
|
|
164
164
|
def __set__(self, instance, value: datetime.datetime | datetime.date) -> None:
|
|
165
|
+
# this makes sure we're initialized
|
|
166
|
+
if "name" not in self._config: # type: ignore
|
|
167
|
+
instance.get_columns()
|
|
168
|
+
|
|
165
169
|
instance._next_data[self.name] = value
|
|
166
170
|
|
|
167
171
|
def equals(self, value: str | datetime.datetime | datetime.date) -> Condition:
|
|
@@ -5,7 +5,7 @@ from typing import TYPE_CHECKING, Any, Callable, Self, overload
|
|
|
5
5
|
|
|
6
6
|
import dateparser # type: ignore
|
|
7
7
|
|
|
8
|
-
import clearskies.
|
|
8
|
+
import clearskies.decorators
|
|
9
9
|
import clearskies.typing
|
|
10
10
|
from clearskies import configs
|
|
11
11
|
from clearskies.autodoc.schema import Datetime as AutoDocDatetime
|
|
@@ -127,7 +127,7 @@ class Datetime(Column):
|
|
|
127
127
|
auto_doc_class: type[AutoDocSchema] = AutoDocDatetime
|
|
128
128
|
_descriptor_config_map = None
|
|
129
129
|
|
|
130
|
-
@clearskies.
|
|
130
|
+
@clearskies.decorators.parameters_to_properties
|
|
131
131
|
def __init__(
|
|
132
132
|
self,
|
|
133
133
|
date_format: str = "%Y-%m-%d %H:%M:%S",
|
|
@@ -204,6 +204,10 @@ class Datetime(Column):
|
|
|
204
204
|
return super().__get__(instance, cls)
|
|
205
205
|
|
|
206
206
|
def __set__(self, instance, value: datetime.datetime) -> None:
|
|
207
|
+
# this makes sure we're initialized
|
|
208
|
+
if "name" not in self._config: # type: ignore
|
|
209
|
+
instance.get_columns()
|
|
210
|
+
|
|
207
211
|
instance._next_data[self.name] = value
|
|
208
212
|
|
|
209
213
|
def equals(self, value: str | datetime.datetime) -> Condition:
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Callable, Self, overload
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.autodoc.schema import Number as AutoDocNumber
|
|
@@ -75,7 +75,7 @@ class Float(Column):
|
|
|
75
75
|
auto_doc_class: type[AutoDocSchema] = AutoDocNumber
|
|
76
76
|
_descriptor_config_map = None
|
|
77
77
|
|
|
78
|
-
@clearskies.
|
|
78
|
+
@clearskies.decorators.parameters_to_properties
|
|
79
79
|
def __init__(
|
|
80
80
|
self,
|
|
81
81
|
default: float | None = None,
|
|
@@ -106,6 +106,10 @@ class Float(Column):
|
|
|
106
106
|
return super().__get__(instance, cls)
|
|
107
107
|
|
|
108
108
|
def __set__(self, instance, value: float) -> None:
|
|
109
|
+
# this makes sure we're initialized
|
|
110
|
+
if "name" not in self._config: # type: ignore
|
|
111
|
+
instance.get_columns()
|
|
112
|
+
|
|
109
113
|
instance._next_data[self.name] = float(value)
|
|
110
114
|
|
|
111
115
|
def from_backend(self, value) -> float:
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Any, Self, overload
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.autodoc.schema import Array as AutoDocArray
|
|
@@ -382,7 +382,7 @@ class HasMany(Column):
|
|
|
382
382
|
|
|
383
383
|
input_output = InputOutput()
|
|
384
384
|
|
|
385
|
-
@clearskies.
|
|
385
|
+
@clearskies.decorators.parameters_to_properties
|
|
386
386
|
def __init__(
|
|
387
387
|
self,
|
|
388
388
|
child_model_class,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import clearskies.decorators
|
|
1
2
|
import clearskies.typing
|
|
2
|
-
from clearskies import parameters_to_properties
|
|
3
3
|
from clearskies.columns.has_many import HasMany
|
|
4
4
|
|
|
5
5
|
|
|
@@ -20,7 +20,7 @@ class HasManySelf(HasMany):
|
|
|
20
20
|
|
|
21
21
|
_descriptor_config_map = None
|
|
22
22
|
|
|
23
|
-
@
|
|
23
|
+
@clearskies.decorators.parameters_to_properties
|
|
24
24
|
def __init__(
|
|
25
25
|
self,
|
|
26
26
|
foreign_column_name: str | None = None,
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from typing import TYPE_CHECKING, Callable, Self, overload
|
|
4
4
|
|
|
5
|
-
import clearskies.
|
|
5
|
+
import clearskies.decorators
|
|
6
6
|
import clearskies.typing
|
|
7
7
|
from clearskies import configs
|
|
8
8
|
from clearskies.autodoc.schema import Integer as AutoDocInteger
|
|
@@ -77,7 +77,7 @@ class Integer(Column):
|
|
|
77
77
|
|
|
78
78
|
_descriptor_config_map = None
|
|
79
79
|
|
|
80
|
-
@clearskies.
|
|
80
|
+
@clearskies.decorators.parameters_to_properties
|
|
81
81
|
def __init__(
|
|
82
82
|
self,
|
|
83
83
|
default: int | None = None,
|
|
@@ -113,6 +113,10 @@ class Integer(Column):
|
|
|
113
113
|
return None if value is None else int(value)
|
|
114
114
|
|
|
115
115
|
def __set__(self, instance, value: int) -> None:
|
|
116
|
+
# this makes sure we're initialized
|
|
117
|
+
if "name" not in self._config: # type: ignore
|
|
118
|
+
instance.get_columns()
|
|
119
|
+
|
|
116
120
|
instance._next_data[self.name] = value
|
|
117
121
|
|
|
118
122
|
def from_backend(self, value) -> int | None:
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import json
|
|
4
4
|
from typing import TYPE_CHECKING, Any, Callable, Self, overload
|
|
5
5
|
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
import clearskies.typing
|
|
8
8
|
from clearskies import configs
|
|
9
9
|
from clearskies.column import Column
|
|
@@ -72,7 +72,7 @@ class Json(Column):
|
|
|
72
72
|
is_searchable = configs.Boolean(default=False)
|
|
73
73
|
_descriptor_config_map = None
|
|
74
74
|
|
|
75
|
-
@clearskies.
|
|
75
|
+
@clearskies.decorators.parameters_to_properties
|
|
76
76
|
def __init__(
|
|
77
77
|
self,
|
|
78
78
|
default: dict[str, Any] | None = None,
|
|
@@ -102,6 +102,10 @@ class Json(Column):
|
|
|
102
102
|
return super().__get__(instance, cls)
|
|
103
103
|
|
|
104
104
|
def __set__(self, instance, value: dict[str, Any]) -> None:
|
|
105
|
+
# this makes sure we're initialized
|
|
106
|
+
if "name" not in self._config: # type: ignore
|
|
107
|
+
instance.get_columns()
|
|
108
|
+
|
|
105
109
|
instance._next_data[self.name] = value
|
|
106
110
|
|
|
107
111
|
def from_backend(self, value) -> dict[str, Any] | list[Any] | None:
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
from collections import OrderedDict
|
|
4
4
|
from typing import TYPE_CHECKING, Any, Callable, Self, overload
|
|
5
5
|
|
|
6
|
-
import clearskies.
|
|
6
|
+
import clearskies.decorators
|
|
7
7
|
import clearskies.typing
|
|
8
8
|
from clearskies import configs
|
|
9
9
|
from clearskies.autodoc.schema import Array as AutoDocArray
|
|
@@ -173,7 +173,7 @@ class ManyToManyIds(Column):
|
|
|
173
173
|
is_searchable = configs.Boolean(default=False)
|
|
174
174
|
_descriptor_config_map = None
|
|
175
175
|
|
|
176
|
-
@clearskies.
|
|
176
|
+
@clearskies.decorators.parameters_to_properties
|
|
177
177
|
def __init__(
|
|
178
178
|
self,
|
|
179
179
|
related_model_class,
|
|
@@ -258,6 +258,10 @@ class ManyToManyIds(Column):
|
|
|
258
258
|
return [getattr(model, related_id_column_name) for model in self.get_related_models(instance)]
|
|
259
259
|
|
|
260
260
|
def __set__(self, instance, value: list[str | int]) -> None:
|
|
261
|
+
# this makes sure we're initialized
|
|
262
|
+
if "name" not in self._config: # type: ignore
|
|
263
|
+
instance.get_columns()
|
|
264
|
+
|
|
261
265
|
instance._next_data[self.name] = value
|
|
262
266
|
|
|
263
267
|
def get_related_models(self, model: Model) -> Model:
|