fastcodedog 3.2.5__tar.gz → 3.2.6__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.
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/PKG-INFO +4 -2
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/README.md +5 -5
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/README_zh.md +5 -5
- {fastcodedog-3.2.5/fastcodedog/common → fastcodedog-3.2.6/fastcodedog}/__init__.py +1 -1
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/cli.py +53 -53
- {fastcodedog-3.2.5/fastcodedog/context → fastcodedog-3.2.6/fastcodedog/common}/__init__.py +1 -1
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/common/clean_expired.py +61 -61
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/common/source_file_path.py +21 -21
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/common/write_file.py +63 -63
- {fastcodedog-3.2.5/fastcodedog/context/api → fastcodedog-3.2.6/fastcodedog/context}/__init__.py +1 -1
- {fastcodedog-3.2.5/fastcodedog → fastcodedog-3.2.6/fastcodedog/context/api}/__init__.py +1 -1
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/api/api.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/api/endpoint.py +22 -22
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/api/oauth2.py +12 -12
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/api/param.py +15 -15
- fastcodedog-3.2.6/fastcodedog/context/common/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/common/get_context_object.py +10 -10
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/common/get_relationship.py +26 -26
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/context.py +101 -101
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/contextbase.py +100 -100
- fastcodedog-3.2.6/fastcodedog/context/crud/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/crud/column.py +14 -14
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/crud/crud.py +41 -41
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/crud/default_value.py +12 -12
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/crud/join_relationship.py +15 -15
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/crud/query.py +43 -40
- fastcodedog-3.2.6/fastcodedog/context/model/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/additional_method.py +21 -21
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/case.py +15 -15
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/column.py +22 -22
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/computed_property.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/copy_method.py +25 -25
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/model.py +36 -36
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/parameter.py +17 -17
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/model/relationship.py +26 -26
- fastcodedog-3.2.6/fastcodedog/context/schema/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/schema/alias_generator.py +10 -10
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/schema/field.py +17 -17
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/schema/response_schema.py +21 -21
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/schema/schema.py +25 -25
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/schema/sub_object.py +13 -13
- fastcodedog-3.2.6/fastcodedog/context/setting/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/config.py +27 -27
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/extend_app.py +10 -10
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/listen.py +10 -10
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/project.py +11 -11
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/source_directory.py +13 -13
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/context/setting/tenant.py +13 -13
- fastcodedog-3.2.6/fastcodedog/generation/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/generation/api/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/api.py +97 -97
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/api_function.py +205 -205
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/config.py +140 -140
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/db.py +91 -91
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/generation.py +21 -21
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/main.py +136 -133
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/api/oauth2.py +231 -231
- fastcodedog-3.2.6/fastcodedog/generation/base/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/block.py +52 -52
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/call.py +27 -27
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/class_type.py +33 -33
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/file.py +34 -34
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/function.py +76 -76
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/head_comment.py +50 -50
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/line_break.py +15 -15
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/location_finder.py +60 -60
- fastcodedog-3.2.6/fastcodedog/generation/base/required_import.py +128 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/text.py +23 -23
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/base/variable.py +57 -57
- fastcodedog-3.2.6/fastcodedog/generation/commonfiles/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/generation/commonfiles/configfiles/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/commonfiles/generation.py +10 -10
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/commonfiles/main.py +1 -1
- fastcodedog-3.2.6/fastcodedog/generation/commonfiles/oauthfiles/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/generation/commonfiles/toolfiles/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/generation/commonfiles/utilfiles/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/commonfiles/utilfiles/api_logging.py +41 -41
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/commonfiles/utilfiles/case_converter.py +39 -39
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/commonfiles/utilfiles/log.py +69 -69
- fastcodedog-3.2.6/fastcodedog/generation/crud/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/crud/crud.py +22 -22
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/crud/crud_functions.py +298 -298
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/crud/generation.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/crud/query_functions.py +236 -230
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/crud/selectinload.py +49 -49
- fastcodedog-3.2.6/fastcodedog/generation/model/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/additional_method.py +23 -23
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/base.py +23 -23
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/case.py +42 -42
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/column.py +60 -60
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/computed_property.py +14 -14
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/copy_method.py +122 -122
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/generation.py +33 -33
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/init.py +26 -24
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/model.py +38 -38
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/relation_object.py +41 -41
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/relationship.py +56 -56
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/model/table_args.py +32 -32
- fastcodedog-3.2.6/fastcodedog/generation/schema/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/schema/field.py +42 -42
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/schema/generation.py +39 -39
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/schema/response_schema.py +60 -60
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/schema/schema.py +68 -68
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/generation/schema/sub_object.py +22 -22
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/inc/middleware/api_logging.file.in +283 -283
- fastcodedog-3.2.6/fastcodedog/prepare/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/prepare/model_and_schema_to_crud/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_and_schema_to_crud/default_values.py +36 -36
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_and_schema_to_crud/prepare.py +89 -89
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_and_schema_to_crud/queries.py +28 -28
- fastcodedog-3.2.6/fastcodedog/prepare/model_to_schema/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/alias_generator.py +17 -17
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/no_input_fields.py +20 -20
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/no_response_fields.py +20 -20
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/prepare.py +90 -90
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/response_schemas.py +60 -60
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/model_to_schema/specified_field_types.py +23 -23
- fastcodedog-3.2.6/fastcodedog/prepare/pdm_to_model/__init__.py +1 -0
- fastcodedog-3.2.6/fastcodedog/prepare/pdm_to_model/after/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/additional_methods.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/additional_relationships.py +24 -24
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/case.py +29 -29
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/computed_properties.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/copy_methods.py +18 -18
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/disable_relationships.py +41 -41
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/specified_class_names.py +39 -39
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/after/specified_relationship_orderby.py +22 -22
- fastcodedog-3.2.6/fastcodedog/prepare/pdm_to_model/before/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/before/additional_foreign_keys.py +12 -12
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/before/fill_tenant_id.py +43 -43
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/before/specified_column_types.py +8 -8
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/before/specified_relationship_names.py +6 -6
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/column.py +104 -104
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/pdm.py +126 -126
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/prepare.py +42 -42
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/table.py +372 -372
- fastcodedog-3.2.6/fastcodedog/prepare/schema_and_crud_to_api/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/schema_and_crud_to_api/endpoint.py +74 -74
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/schema_and_crud_to_api/prepare.py +38 -38
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/schema_and_crud_to_api/schemas.py +4 -4
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/schema_and_crud_to_api/validate_reponse_models.py +6 -6
- fastcodedog-3.2.6/fastcodedog/util/__init__.py +1 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/case_converter.py +32 -32
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/deep_update.py +35 -35
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/extractor.py +37 -37
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/find_file.py +19 -15
- fastcodedog-3.2.6/fastcodedog/util/import_group.py +75 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/indent.py +34 -34
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/inflect_wrapper.py +22 -22
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/make_dirs.py +27 -27
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/read_inc.py +9 -9
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/singleton.py +15 -15
- fastcodedog-3.2.6/fastcodedog/util/stable_sort.py +6 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/type_converter.py +133 -133
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/valid_name.py +19 -19
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/util/wrap_str_with_quotation.py +13 -13
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/pyproject.toml +27 -27
- fastcodedog-3.2.5/fastcodedog/context/common/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/context/crud/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/context/model/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/context/schema/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/context/setting/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/api/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/base/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/base/required_import.py +0 -95
- fastcodedog-3.2.5/fastcodedog/generation/commonfiles/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/commonfiles/configfiles/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/commonfiles/oauthfiles/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/commonfiles/toolfiles/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/commonfiles/utilfiles/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/crud/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/model/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/generation/schema/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/model_and_schema_to_crud/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/model_to_schema/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/pdm_to_model/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/pdm_to_model/after/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/pdm_to_model/before/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/prepare/schema_and_crud_to_api/__init__.py +0 -1
- fastcodedog-3.2.5/fastcodedog/util/__init__.py +0 -1
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/README.MD +0 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/reference.xml +0 -0
- {fastcodedog-3.2.5 → fastcodedog-3.2.6}/fastcodedog/prepare/pdm_to_model/table.xml +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: fastcodedog
|
|
3
|
-
Version: 3.2.
|
|
3
|
+
Version: 3.2.6
|
|
4
4
|
Summary:
|
|
5
5
|
License: MIT
|
|
6
6
|
Author: taohoo
|
|
@@ -11,6 +11,8 @@ Classifier: Programming Language :: Python :: 3
|
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
13
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
14
16
|
Requires-Dist: autopep8 (>=2.2.0)
|
|
15
17
|
Requires-Dist: inflect (>=7.2.1)
|
|
16
18
|
Requires-Dist: json5 (>=0.9.25)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
Based on the pdm file(sap powerdesigner), automatically generate a FastAPI project.
|
|
2
|
-
Including SQLAlchemy models and CRUD operations.
|
|
3
|
-
FastAPI schemas and APIs.
|
|
4
|
-
The database engine should be installed manually based on actual requirements.
|
|
5
|
-
Version 3 and above temporarily reverts to multithreading and does not support coroutines.
|
|
1
|
+
Based on the pdm file(sap powerdesigner), automatically generate a FastAPI project.
|
|
2
|
+
Including SQLAlchemy models and CRUD operations.
|
|
3
|
+
FastAPI schemas and APIs.
|
|
4
|
+
The database engine should be installed manually based on actual requirements.
|
|
5
|
+
Version 3 and above temporarily reverts to multithreading and does not support coroutines.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
# 概述
|
|
2
|
-
基于pdm文件(sap powerdesigner),自动生成fastapi工程。
|
|
3
|
-
包括sqlalchemy的model,crud。
|
|
4
|
-
fastapi的schema,api。
|
|
5
|
-
数据库引擎根据实际需要安装。
|
|
1
|
+
# 概述
|
|
2
|
+
基于pdm文件(sap powerdesigner),自动生成fastapi工程。
|
|
3
|
+
包括sqlalchemy的model,crud。
|
|
4
|
+
fastapi的schema,api。
|
|
5
|
+
数据库引擎根据实际需要安装。
|
|
6
6
|
3以上版本暂时退回到多线程,不支持协程。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import sys
|
|
3
|
-
|
|
4
|
-
import json5
|
|
5
|
-
from datetime import datetime
|
|
6
|
-
|
|
7
|
-
from fastcodedog.common.clean_expired import clean_expired_files_and_dirs
|
|
8
|
-
from fastcodedog.context.context import ctx_instance
|
|
9
|
-
from fastcodedog.generation.api.generation import generate_api
|
|
10
|
-
from fastcodedog.generation.commonfiles.generation import generate_common_files
|
|
11
|
-
from fastcodedog.generation.crud.generation import generate_crud
|
|
12
|
-
from fastcodedog.generation.model.generation import generate_model
|
|
13
|
-
from fastcodedog.generation.schema.generation import genenrate_schema
|
|
14
|
-
from fastcodedog.prepare.model_and_schema_to_crud.prepare import prepare_crud
|
|
15
|
-
from fastcodedog.prepare.model_to_schema.prepare import prepare_schema
|
|
16
|
-
from fastcodedog.prepare.pdm_to_model.prepare import prepare_model
|
|
17
|
-
from fastcodedog.prepare.schema_and_crud_to_api.prepare import prepare_api
|
|
18
|
-
from fastcodedog.util.deep_update import deep_update
|
|
19
|
-
from fastcodedog.util.find_file import find
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
def main():
|
|
23
|
-
if len(sys.argv) == 1:
|
|
24
|
-
raise ValueError('缺少参数,请传入json5配置文件')
|
|
25
|
-
ctx_instance.load(sys.argv[1])
|
|
26
|
-
pre_process_scripts = {}
|
|
27
|
-
for file in find('.', ctx_instance.source_directory.pre_process_scripts_file):
|
|
28
|
-
pre_process_scripts = deep_update(pre_process_scripts, json5.load(open(file, 'r', encoding='utf-8')))
|
|
29
|
-
prepare_model(pre_process_scripts)
|
|
30
|
-
ctx_instance.load_models(ctx_instance.source_directory.model)
|
|
31
|
-
prepare_schema(pre_process_scripts)
|
|
32
|
-
ctx_instance.load_schemas(ctx_instance.source_directory.schema)
|
|
33
|
-
prepare_crud(pre_process_scripts)
|
|
34
|
-
ctx_instance.load_cruds(ctx_instance.source_directory.crud)
|
|
35
|
-
prepare_api(pre_process_scripts)
|
|
36
|
-
ctx_instance.load_apis(ctx_instance.source_directory.api)
|
|
37
|
-
|
|
38
|
-
last_generate_time = datetime.now()
|
|
39
|
-
generate_common_files()
|
|
40
|
-
generate_model()
|
|
41
|
-
genenrate_schema()
|
|
42
|
-
generate_crud()
|
|
43
|
-
generate_api()
|
|
44
|
-
clean_expired_files_and_dirs(ctx_instance.project.directory, last_generate_time)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if __name__ == '__main__':
|
|
49
|
-
"""
|
|
50
|
-
$env:PYTHONPATH = "."
|
|
51
|
-
python fastcodedog/cli.py fastcodegen/test/fastframe.diagram.json5 fastcodegen/test/fastframe.model.json5
|
|
52
|
-
"""
|
|
53
|
-
main()
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
import sys
|
|
3
|
+
|
|
4
|
+
import json5
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
|
|
7
|
+
from fastcodedog.common.clean_expired import clean_expired_files_and_dirs
|
|
8
|
+
from fastcodedog.context.context import ctx_instance
|
|
9
|
+
from fastcodedog.generation.api.generation import generate_api
|
|
10
|
+
from fastcodedog.generation.commonfiles.generation import generate_common_files
|
|
11
|
+
from fastcodedog.generation.crud.generation import generate_crud
|
|
12
|
+
from fastcodedog.generation.model.generation import generate_model
|
|
13
|
+
from fastcodedog.generation.schema.generation import genenrate_schema
|
|
14
|
+
from fastcodedog.prepare.model_and_schema_to_crud.prepare import prepare_crud
|
|
15
|
+
from fastcodedog.prepare.model_to_schema.prepare import prepare_schema
|
|
16
|
+
from fastcodedog.prepare.pdm_to_model.prepare import prepare_model
|
|
17
|
+
from fastcodedog.prepare.schema_and_crud_to_api.prepare import prepare_api
|
|
18
|
+
from fastcodedog.util.deep_update import deep_update
|
|
19
|
+
from fastcodedog.util.find_file import find
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def main():
|
|
23
|
+
if len(sys.argv) == 1:
|
|
24
|
+
raise ValueError('缺少参数,请传入json5配置文件')
|
|
25
|
+
ctx_instance.load(sys.argv[1])
|
|
26
|
+
pre_process_scripts = {}
|
|
27
|
+
for file in find('.', ctx_instance.source_directory.pre_process_scripts_file):
|
|
28
|
+
pre_process_scripts = deep_update(pre_process_scripts, json5.load(open(file, 'r', encoding='utf-8')))
|
|
29
|
+
prepare_model(pre_process_scripts)
|
|
30
|
+
ctx_instance.load_models(ctx_instance.source_directory.model)
|
|
31
|
+
prepare_schema(pre_process_scripts)
|
|
32
|
+
ctx_instance.load_schemas(ctx_instance.source_directory.schema)
|
|
33
|
+
prepare_crud(pre_process_scripts)
|
|
34
|
+
ctx_instance.load_cruds(ctx_instance.source_directory.crud)
|
|
35
|
+
prepare_api(pre_process_scripts)
|
|
36
|
+
ctx_instance.load_apis(ctx_instance.source_directory.api)
|
|
37
|
+
|
|
38
|
+
last_generate_time = datetime.now()
|
|
39
|
+
generate_common_files()
|
|
40
|
+
generate_model()
|
|
41
|
+
genenrate_schema()
|
|
42
|
+
generate_crud()
|
|
43
|
+
generate_api()
|
|
44
|
+
clean_expired_files_and_dirs(ctx_instance.project.directory, last_generate_time)
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
if __name__ == '__main__':
|
|
49
|
+
"""
|
|
50
|
+
$env:PYTHONPATH = "."
|
|
51
|
+
python fastcodedog/cli.py fastcodegen/test/fastframe.diagram.json5 fastcodegen/test/fastframe.model.json5
|
|
52
|
+
"""
|
|
53
|
+
main()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
import os
|
|
2
|
-
import os.path
|
|
3
|
-
from datetime import datetime
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
def clean_expired_files_and_dirs(current_dir, last_generate_time):
|
|
7
|
-
"""
|
|
8
|
-
清理目录的方法,按照指定规则处理目录及其子目录
|
|
9
|
-
|
|
10
|
-
参数:
|
|
11
|
-
current_dir: 当前要处理的目录路径
|
|
12
|
-
last_generate_time: 最后生成时间,datetime类型
|
|
13
|
-
"""
|
|
14
|
-
# 1. 优先处理子目录(递归)
|
|
15
|
-
for item in os.listdir(current_dir):
|
|
16
|
-
item_path = os.path.join(current_dir, item)
|
|
17
|
-
if os.path.isdir(item_path) and not os.path.islink(item_path):
|
|
18
|
-
clean_expired_files_and_dirs(item_path, last_generate_time)
|
|
19
|
-
|
|
20
|
-
# 2. 处理当前目录下的py文件
|
|
21
|
-
for item in os.listdir(current_dir):
|
|
22
|
-
item_path = os.path.join(current_dir, item)
|
|
23
|
-
if os.path.isfile(item_path) and item.endswith('.py'):
|
|
24
|
-
# 检查文件修改时间
|
|
25
|
-
file_mtime = datetime.fromtimestamp(os.path.getmtime(item_path))
|
|
26
|
-
if file_mtime < last_generate_time:
|
|
27
|
-
# 检查是否包含指定关键字
|
|
28
|
-
try:
|
|
29
|
-
content = open(item_path, 'r', encoding='utf-8').read()
|
|
30
|
-
if '@author: fastcodedog' in content:
|
|
31
|
-
os.remove(item_path)
|
|
32
|
-
print(f"已删除文件: {item_path}")
|
|
33
|
-
except Exception as e:
|
|
34
|
-
print(f"处理文件 {item_path} 时出错: {e}")
|
|
35
|
-
|
|
36
|
-
# 3. 检查并处理空的__init__.py
|
|
37
|
-
init_file = os.path.join(current_dir, '__init__.py')
|
|
38
|
-
if os.path.exists(init_file) and os.path.isfile(init_file):
|
|
39
|
-
# 检查目录是否还有其他文件或子目录
|
|
40
|
-
has_other_items = False
|
|
41
|
-
for item in os.listdir(current_dir):
|
|
42
|
-
if item != '__init__.py' or not os.path.isfile(os.path.join(current_dir, item)):
|
|
43
|
-
has_other_items = True
|
|
44
|
-
break
|
|
45
|
-
|
|
46
|
-
if not has_other_items:
|
|
47
|
-
# 检查__init__.py是否为空
|
|
48
|
-
try:
|
|
49
|
-
if os.path.getsize(init_file) == 0:
|
|
50
|
-
os.remove(init_file)
|
|
51
|
-
print(f"已删除空的__init__.py: {init_file}")
|
|
52
|
-
except Exception as e:
|
|
53
|
-
print(f"处理__init__.py {init_file} 时出错: {e}")
|
|
54
|
-
|
|
55
|
-
# 4. 如果目录为空则删除
|
|
56
|
-
try:
|
|
57
|
-
if not os.listdir(current_dir): # 检查目录是否为空
|
|
58
|
-
os.rmdir(current_dir)
|
|
59
|
-
print(f"已删除空目录: {current_dir}")
|
|
60
|
-
except Exception as e:
|
|
61
|
-
print(f"删除目录 {current_dir} 时出错: {e}")
|
|
1
|
+
import os
|
|
2
|
+
import os.path
|
|
3
|
+
from datetime import datetime
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
def clean_expired_files_and_dirs(current_dir, last_generate_time):
|
|
7
|
+
"""
|
|
8
|
+
清理目录的方法,按照指定规则处理目录及其子目录
|
|
9
|
+
|
|
10
|
+
参数:
|
|
11
|
+
current_dir: 当前要处理的目录路径
|
|
12
|
+
last_generate_time: 最后生成时间,datetime类型
|
|
13
|
+
"""
|
|
14
|
+
# 1. 优先处理子目录(递归)
|
|
15
|
+
for item in os.listdir(current_dir):
|
|
16
|
+
item_path = os.path.join(current_dir, item)
|
|
17
|
+
if os.path.isdir(item_path) and not os.path.islink(item_path):
|
|
18
|
+
clean_expired_files_and_dirs(item_path, last_generate_time)
|
|
19
|
+
|
|
20
|
+
# 2. 处理当前目录下的py文件
|
|
21
|
+
for item in os.listdir(current_dir):
|
|
22
|
+
item_path = os.path.join(current_dir, item)
|
|
23
|
+
if os.path.isfile(item_path) and item.endswith('.py'):
|
|
24
|
+
# 检查文件修改时间
|
|
25
|
+
file_mtime = datetime.fromtimestamp(os.path.getmtime(item_path))
|
|
26
|
+
if file_mtime < last_generate_time:
|
|
27
|
+
# 检查是否包含指定关键字
|
|
28
|
+
try:
|
|
29
|
+
content = open(item_path, 'r', encoding='utf-8').read()
|
|
30
|
+
if '@author: fastcodedog' in content:
|
|
31
|
+
os.remove(item_path)
|
|
32
|
+
print(f"已删除文件: {item_path}")
|
|
33
|
+
except Exception as e:
|
|
34
|
+
print(f"处理文件 {item_path} 时出错: {e}")
|
|
35
|
+
|
|
36
|
+
# 3. 检查并处理空的__init__.py
|
|
37
|
+
init_file = os.path.join(current_dir, '__init__.py')
|
|
38
|
+
if os.path.exists(init_file) and os.path.isfile(init_file):
|
|
39
|
+
# 检查目录是否还有其他文件或子目录
|
|
40
|
+
has_other_items = False
|
|
41
|
+
for item in os.listdir(current_dir):
|
|
42
|
+
if item != '__init__.py' or not os.path.isfile(os.path.join(current_dir, item)):
|
|
43
|
+
has_other_items = True
|
|
44
|
+
break
|
|
45
|
+
|
|
46
|
+
if not has_other_items:
|
|
47
|
+
# 检查__init__.py是否为空
|
|
48
|
+
try:
|
|
49
|
+
if os.path.getsize(init_file) == 0:
|
|
50
|
+
os.remove(init_file)
|
|
51
|
+
print(f"已删除空的__init__.py: {init_file}")
|
|
52
|
+
except Exception as e:
|
|
53
|
+
print(f"处理__init__.py {init_file} 时出错: {e}")
|
|
54
|
+
|
|
55
|
+
# 4. 如果目录为空则删除
|
|
56
|
+
try:
|
|
57
|
+
if not os.listdir(current_dir): # 检查目录是否为空
|
|
58
|
+
os.rmdir(current_dir)
|
|
59
|
+
print(f"已删除空目录: {current_dir}")
|
|
60
|
+
except Exception as e:
|
|
61
|
+
print(f"删除目录 {current_dir} 时出错: {e}")
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
import os
|
|
3
|
-
|
|
4
|
-
from fastcodedog.context.context import ctx_instance
|
|
5
|
-
from fastcodedog.util.case_converter import camel_to_snake
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
def get_model_file_path(module, model_name):
|
|
9
|
-
return os.path.join(ctx_instance.source_directory.model, module, f'{camel_to_snake(model_name)}.json5')
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
def get_schema_file_path(module, schema_name):
|
|
13
|
-
return os.path.join(ctx_instance.source_directory.schema, module, f'{camel_to_snake(schema_name)}.json5')
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def get_crud_file_path(module, crud_name):
|
|
17
|
-
return os.path.join(ctx_instance.source_directory.crud, module, f'{camel_to_snake(crud_name)}.json5')
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
def get_api_file_path(module, crud_name):
|
|
21
|
-
return os.path.join(ctx_instance.source_directory.api, module, f'{camel_to_snake(crud_name)}.json5')
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
import os
|
|
3
|
+
|
|
4
|
+
from fastcodedog.context.context import ctx_instance
|
|
5
|
+
from fastcodedog.util.case_converter import camel_to_snake
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def get_model_file_path(module, model_name):
|
|
9
|
+
return os.path.join(ctx_instance.source_directory.model, module, f'{camel_to_snake(model_name)}.json5')
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
def get_schema_file_path(module, schema_name):
|
|
13
|
+
return os.path.join(ctx_instance.source_directory.schema, module, f'{camel_to_snake(schema_name)}.json5')
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def get_crud_file_path(module, crud_name):
|
|
17
|
+
return os.path.join(ctx_instance.source_directory.crud, module, f'{camel_to_snake(crud_name)}.json5')
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def get_api_file_path(module, crud_name):
|
|
21
|
+
return os.path.join(ctx_instance.source_directory.api, module, f'{camel_to_snake(crud_name)}.json5')
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
"""
|
|
3
|
-
@author: hubo
|
|
4
|
-
@project: fastframe
|
|
5
|
-
@file: write_file
|
|
6
|
-
@time: 2024/5/30 15:39
|
|
7
|
-
@desc:
|
|
8
|
-
"""
|
|
9
|
-
import json5
|
|
10
|
-
import os
|
|
11
|
-
import subprocess
|
|
12
|
-
|
|
13
|
-
from fastcodedog.context.context import ctx_instance
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
def write_python_file(path, content, repalce_async=True):
|
|
17
|
-
"""
|
|
18
|
-
写入python文件
|
|
19
|
-
:param path:
|
|
20
|
-
:param content:
|
|
21
|
-
:return:
|
|
22
|
-
"""
|
|
23
|
-
_make_pathon_package(os.path.dirname(path))
|
|
24
|
-
with open(path, 'w', encoding='utf-8') as f:
|
|
25
|
-
f.write(content)
|
|
26
|
-
# 调用autopep8格式化文件
|
|
27
|
-
# subprocess.run(['autopep8', '--in-place', '--aggressive', '--max-line-length=120', path], check=True)
|
|
28
|
-
subprocess.run(['autopep8', '--in-place', '--max-line-length=120', path], check=True)
|
|
29
|
-
# 临时版本,把异步支持去掉,把文件中的 `async def` 替换为 `def`
|
|
30
|
-
with open(path, 'r+', encoding='utf-8') as f:
|
|
31
|
-
content = f.read()
|
|
32
|
-
if repalce_async:
|
|
33
|
-
content = content.replace('async def ', 'def ')
|
|
34
|
-
f.seek(0)
|
|
35
|
-
f.write(content)
|
|
36
|
-
f.truncate()
|
|
37
|
-
print(f'writed {path}') # 先临时放这里,后续再改
|
|
38
|
-
# # 调用flake8格式化文件
|
|
39
|
-
# subprocess.run(['flake8', path], check=True)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
def _make_pathon_package(directory):
|
|
43
|
-
if not os.path.exists(directory):
|
|
44
|
-
parent_directory = os.path.dirname(directory)
|
|
45
|
-
_make_pathon_package(parent_directory)
|
|
46
|
-
os.makedirs(directory)
|
|
47
|
-
if directory.startswith(ctx_instance.project.directory):
|
|
48
|
-
init_file = os.path.join(directory, '__init__.py')
|
|
49
|
-
open(init_file, 'a').close()
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
def write_json_file(path, data):
|
|
53
|
-
"""
|
|
54
|
-
写入json文件
|
|
55
|
-
:param path:
|
|
56
|
-
:param data:
|
|
57
|
-
:return:
|
|
58
|
-
"""
|
|
59
|
-
directory = os.path.dirname(path)
|
|
60
|
-
if os.path.exists(directory) is False:
|
|
61
|
-
os.makedirs(directory)
|
|
62
|
-
with open(path, 'w', encoding='utf-8') as f:
|
|
63
|
-
json5.dump(data, f, ensure_ascii=False, indent=4)
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
"""
|
|
3
|
+
@author: hubo
|
|
4
|
+
@project: fastframe
|
|
5
|
+
@file: write_file
|
|
6
|
+
@time: 2024/5/30 15:39
|
|
7
|
+
@desc:
|
|
8
|
+
"""
|
|
9
|
+
import json5
|
|
10
|
+
import os
|
|
11
|
+
import subprocess
|
|
12
|
+
|
|
13
|
+
from fastcodedog.context.context import ctx_instance
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
def write_python_file(path, content, repalce_async=True):
|
|
17
|
+
"""
|
|
18
|
+
写入python文件
|
|
19
|
+
:param path:
|
|
20
|
+
:param content:
|
|
21
|
+
:return:
|
|
22
|
+
"""
|
|
23
|
+
_make_pathon_package(os.path.dirname(path))
|
|
24
|
+
with open(path, 'w', encoding='utf-8') as f:
|
|
25
|
+
f.write(content)
|
|
26
|
+
# 调用autopep8格式化文件
|
|
27
|
+
# subprocess.run(['autopep8', '--in-place', '--aggressive', '--max-line-length=120', path], check=True)
|
|
28
|
+
subprocess.run(['autopep8', '--in-place', '--max-line-length=120', path], check=True)
|
|
29
|
+
# 临时版本,把异步支持去掉,把文件中的 `async def` 替换为 `def`
|
|
30
|
+
with open(path, 'r+', encoding='utf-8') as f:
|
|
31
|
+
content = f.read()
|
|
32
|
+
if repalce_async:
|
|
33
|
+
content = content.replace('async def ', 'def ')
|
|
34
|
+
f.seek(0)
|
|
35
|
+
f.write(content)
|
|
36
|
+
f.truncate()
|
|
37
|
+
print(f'writed {path}') # 先临时放这里,后续再改
|
|
38
|
+
# # 调用flake8格式化文件
|
|
39
|
+
# subprocess.run(['flake8', path], check=True)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def _make_pathon_package(directory):
|
|
43
|
+
if not os.path.exists(directory):
|
|
44
|
+
parent_directory = os.path.dirname(directory)
|
|
45
|
+
_make_pathon_package(parent_directory)
|
|
46
|
+
os.makedirs(directory)
|
|
47
|
+
if directory.startswith(ctx_instance.project.directory):
|
|
48
|
+
init_file = os.path.join(directory, '__init__.py')
|
|
49
|
+
open(init_file, 'a').close()
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
def write_json_file(path, data):
|
|
53
|
+
"""
|
|
54
|
+
写入json文件
|
|
55
|
+
:param path:
|
|
56
|
+
:param data:
|
|
57
|
+
:return:
|
|
58
|
+
"""
|
|
59
|
+
directory = os.path.dirname(path)
|
|
60
|
+
if os.path.exists(directory) is False:
|
|
61
|
+
os.makedirs(directory)
|
|
62
|
+
with open(path, 'w', encoding='utf-8') as f:
|
|
63
|
+
json5.dump(data, f, ensure_ascii=False, indent=4)
|
{fastcodedog-3.2.5/fastcodedog/context/api → fastcodedog-3.2.6/fastcodedog/context}/__init__.py
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from fastcodedog.context.api.endpoint import Endpoint
|
|
3
|
-
from fastcodedog.context.contextbase import ContextBase
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Api(ContextBase):
|
|
7
|
-
def __init__(self):
|
|
8
|
-
super().__init__()
|
|
9
|
-
self.title = ''
|
|
10
|
-
self.comment = ''
|
|
11
|
-
self.module = ''
|
|
12
|
-
self.name = ''
|
|
13
|
-
self.primary_key_name = ''
|
|
14
|
-
self.oauth2_enabled = False
|
|
15
|
-
self.validate_response_models = []
|
|
16
|
-
self._types['validate_response_models'] = str
|
|
17
|
-
self.endpoints = {}
|
|
18
|
-
self._types['endpoints'] = Endpoint
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from fastcodedog.context.api.endpoint import Endpoint
|
|
3
|
+
from fastcodedog.context.contextbase import ContextBase
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Api(ContextBase):
|
|
7
|
+
def __init__(self):
|
|
8
|
+
super().__init__()
|
|
9
|
+
self.title = ''
|
|
10
|
+
self.comment = ''
|
|
11
|
+
self.module = ''
|
|
12
|
+
self.name = ''
|
|
13
|
+
self.primary_key_name = ''
|
|
14
|
+
self.oauth2_enabled = False
|
|
15
|
+
self.validate_response_models = []
|
|
16
|
+
self._types['validate_response_models'] = str
|
|
17
|
+
self.endpoints = {}
|
|
18
|
+
self._types['endpoints'] = Endpoint
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from fastcodedog.context.api.param import Param
|
|
3
|
-
from fastcodedog.context.contextbase import ContextBase
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
class Endpoint(ContextBase):
|
|
7
|
-
def __init__(self):
|
|
8
|
-
super().__init__()
|
|
9
|
-
self.name = ''
|
|
10
|
-
self.have_select_models = False
|
|
11
|
-
self.summary = ''
|
|
12
|
-
self.comment = ''
|
|
13
|
-
self.action = ''
|
|
14
|
-
self.return_list = False
|
|
15
|
-
self.url = ''
|
|
16
|
-
self.max_size = None
|
|
17
|
-
self._types['max_size'] = int
|
|
18
|
-
self.tags = []
|
|
19
|
-
self._types['tags'] = str
|
|
20
|
-
self.params = {}
|
|
21
|
-
self._types['params'] = Param
|
|
22
|
-
self.oauth2_required = True
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from fastcodedog.context.api.param import Param
|
|
3
|
+
from fastcodedog.context.contextbase import ContextBase
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class Endpoint(ContextBase):
|
|
7
|
+
def __init__(self):
|
|
8
|
+
super().__init__()
|
|
9
|
+
self.name = ''
|
|
10
|
+
self.have_select_models = False
|
|
11
|
+
self.summary = ''
|
|
12
|
+
self.comment = ''
|
|
13
|
+
self.action = ''
|
|
14
|
+
self.return_list = False
|
|
15
|
+
self.url = ''
|
|
16
|
+
self.max_size = None
|
|
17
|
+
self._types['max_size'] = int
|
|
18
|
+
self.tags = []
|
|
19
|
+
self._types['tags'] = str
|
|
20
|
+
self.params = {}
|
|
21
|
+
self._types['params'] = Param
|
|
22
|
+
self.oauth2_required = True
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from fastcodedog.context.contextbase import ContextBase
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class OAuth2(ContextBase):
|
|
6
|
-
def __init__(self):
|
|
7
|
-
super().__init__()
|
|
8
|
-
self.enabled = False
|
|
9
|
-
self.model = 'User'
|
|
10
|
-
self.module = 'admin'
|
|
11
|
-
self.user_name_column = 'number'
|
|
12
|
-
self.password_column = 'password'
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from fastcodedog.context.contextbase import ContextBase
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class OAuth2(ContextBase):
|
|
6
|
+
def __init__(self):
|
|
7
|
+
super().__init__()
|
|
8
|
+
self.enabled = False
|
|
9
|
+
self.model = 'User'
|
|
10
|
+
self.module = 'admin'
|
|
11
|
+
self.user_name_column = 'number'
|
|
12
|
+
self.password_column = 'password'
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from fastcodedog.context.contextbase import ContextBase
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class Param(ContextBase):
|
|
6
|
-
def __init__(self):
|
|
7
|
-
super().__init__()
|
|
8
|
-
self.name = ''
|
|
9
|
-
self.type = ''
|
|
10
|
-
self.option_none = False
|
|
11
|
-
self.description = ''
|
|
12
|
-
self.nullable = True
|
|
13
|
-
self.enum = []
|
|
14
|
-
self._types['enum'] = str
|
|
15
|
-
self.default_value = ''
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from fastcodedog.context.contextbase import ContextBase
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class Param(ContextBase):
|
|
6
|
+
def __init__(self):
|
|
7
|
+
super().__init__()
|
|
8
|
+
self.name = ''
|
|
9
|
+
self.type = ''
|
|
10
|
+
self.option_none = False
|
|
11
|
+
self.description = ''
|
|
12
|
+
self.nullable = True
|
|
13
|
+
self.enum = []
|
|
14
|
+
self._types['enum'] = str
|
|
15
|
+
self.default_value = ''
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
|
-
from fastcodedog.context.context import ctx_instance
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
def get_model_context(module, model_name):
|
|
6
|
-
return ctx_instance.models[module][model_name]
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
def get_schema_context(module, schema_name):
|
|
10
|
-
return ctx_instance.schemas[module][schema_name]
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
from fastcodedog.context.context import ctx_instance
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
def get_model_context(module, model_name):
|
|
6
|
+
return ctx_instance.models[module][model_name]
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
def get_schema_context(module, schema_name):
|
|
10
|
+
return ctx_instance.schemas[module][schema_name]
|