login tested updated
This commit is contained in:
parent
a7e48d8755
commit
bc300f727a
|
|
@ -0,0 +1,7 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="Black">
|
||||||
|
<option name="sdkName" value="Python 3.12 virtualenv at ~/git-gitea-evyos/wag-managment-api-service-version-4/venv" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 virtualenv at ~/git-gitea-evyos/wag-managment-api-service-version-4/venv" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
<module type="PYTHON_MODULE" version="4">
|
<module type="PYTHON_MODULE" version="4">
|
||||||
<component name="NewModuleRootManager">
|
<component name="NewModuleRootManager">
|
||||||
<content url="file://$MODULE_DIR$" />
|
<content url="file://$MODULE_DIR$" />
|
||||||
<orderEntry type="inheritedJdk" />
|
<orderEntry type="jdk" jdkName="Python 3.12 virtualenv at ~/git-gitea-evyos/wag-managment-api-service-version-4/venv" jdkType="Python SDK" />
|
||||||
<orderEntry type="sourceFolder" forTests="false" />
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PyDocumentationSettings">
|
<component name="PyDocumentationSettings">
|
||||||
|
|
|
||||||
|
|
@ -5,111 +5,17 @@
|
||||||
</component>
|
</component>
|
||||||
<component name="ChangeListManager">
|
<component name="ChangeListManager">
|
||||||
<list default="true" id="b5202e0c-6ddf-4a56-a13a-e18798c4c7cf" name="Changes" comment="">
|
<list default="true" id="b5202e0c-6ddf-4a56-a13a-e18798c4c7cf" name="Changes" comment="">
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/app.py" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/wag-managment-api-service-version-5.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/wag-managment-api-service-version-5.iml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/app_handler.py" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/application/__init__.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/application/app.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/create_file.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/create_routes.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/middleware/__init__.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/middleware/auth_middleware.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/middleware/function_wrappers.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/middleware/token_event_middleware.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllApiNeeds/open_api_creator.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllConfigs/Email/configs.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/AllConfigs/Email/configs.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllConfigs/NoSqlDatabase/configs.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/AllConfigs/NoSqlDatabase/configs.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllConfigs/Redis/configs.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/AllConfigs/Redis/configs.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllConfigs/SqlDatabase/configs.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/AllConfigs/SqlDatabase/configs.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/AllConfigs/Token/config.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/AllConfigs/Token/config.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiLibrary/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiLibrary/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiLibrary/date_time_actions/date_functions.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiLibrary/date_time_actions/date_functions.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiLibrary/token/password_module.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiLibrary/token/password_module.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiServices/Login/user_login_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiServices/Login/user_login_handler.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiServices/Login/user_login_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiServices/Login/user_login_handler.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiServices/Token/token_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiServices/Token/token_handler.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiServices/Token/token_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiServices/Token/token_handler.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiServices/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiServices/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/account_records.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/account_records.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/address.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/address.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/application.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/application.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/area.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/area.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/authentication.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/authentication.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/base_validations.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/base_validations.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/build_living_space.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/build_living_space.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/build_part.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/build_part.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/building.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/building.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/company.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/company.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/core_request_validations.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/core_request_validations.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/decision_book.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/decision_book.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/departments.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/departments.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/employee.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/employee.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/events.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/events.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/modules.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/modules.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/people.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/people.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/project_decision_book.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/project_decision_book.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/rules.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/rules.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/services.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/services.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/staff.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/staff.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/user.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Request/user.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ApiValidations/Response/default_response.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ApiValidations/Response/default_response.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/ErrorHandlers/api_exc_handler.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/ErrorHandlers/api_exc_handler.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/bases.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/ErrorHandlers/bases.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/account/account.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/account/account.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/account/iban.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/account/iban.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/budget.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/budget.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/build.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/build.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/decision_book.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/building/decision_book.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/company.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/company.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/department.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/department.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/employee.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/company/employee.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/event/event.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/event/event.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/identity/identity.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/identity/identity.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/rules/rules.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Database/rules/rules.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/LanguageModels/Errors/merge_all_error_languages.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/LanguageModels/Errors/merge_all_error_languages.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/account/account.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/account/account.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/building/build.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/building/build.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/building/decision_book.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/building/decision_book.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/company/company.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/company/company.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/company/employee.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/company/employee.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/event/event.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/event/event.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/identity/identity.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/identity/identity.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/identity/identity.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/identity/identity.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/ApiLayers/Schemas/rules/rules.py" beforeDir="false" afterPath="$PROJECT_DIR$/ApiLayers/Schemas/rules/rules.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/DockerApiServices/AuthServiceApi/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/DockerApiServices/AuthServiceApi/Dockerfile" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/DockerApiServices/EventServiceApi/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/DockerApiServices/EventServiceApi/Dockerfile" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/DockerApiServices/ValidationServiceApi/Dockerfile" beforeDir="false" afterPath="$PROJECT_DIR$/DockerApiServices/ValidationServiceApi/Dockerfile" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/api_events.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/api_events.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/api_events.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/api_events.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/auth.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/auth.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/auth.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/auth.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/cluster.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/cluster.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/function_handlers.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/function_handlers.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/info.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/info.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/models.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/models.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/authentication/auth/models.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/events/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/events/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/AllEvents/validations/validation/validation.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/AllEvents/validations/validation/validation.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/Engine/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/Engine/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/Engine/abstract_class.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/Engine/abstract_class.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/Engine/set_defaults/run.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/Engine/set_defaults/run.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/Engine/set_defaults/setClusters.py" beforeDir="false" afterPath="$PROJECT_DIR$/Events/Engine/set_defaults/setClusters.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/abstract_class.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Events/abstract_class_old.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Scratches/endpoint.py" beforeDir="false" afterPath="$PROJECT_DIR$/Scratches/endpoint.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/core_alchemy.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/core_alchemy.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/crud_alchemy.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/crud_alchemy.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/crud_alchemy.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/crud_alchemy.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/filter_functions.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/filter_functions.py" afterDir="false" />
|
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/filter_functions.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/filter_functions.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/alchemy_response.py" beforeDir="false" />
|
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models/mixin.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/Models/mixin.py" afterDir="false" />
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/base_model.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/filter_functions.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/mixins.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/query.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/Models_old/response.py" beforeDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/PostgresDb/database.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/PostgresDb/database.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/Redis/Actions/actions.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/Redis/Actions/actions.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/Redis/Models/row.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/Redis/Models/row.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/Redis/__init__.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/Redis/__init__.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/Services/Redis/conn.py" beforeDir="false" afterPath="$PROJECT_DIR$/Services/Redis/conn.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/docker-compose-services.yml" beforeDir="false" afterPath="$PROJECT_DIR$/docker-compose-services.yml" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/docs/improvements/validation_service/backend/unified_schema_service.py" beforeDir="false" afterPath="$PROJECT_DIR$/docs/improvements/validation_service/backend/unified_schema_service.py" afterDir="false" />
|
|
||||||
<change beforePath="$PROJECT_DIR$/trash/auth_old.py" beforeDir="false" afterPath="$PROJECT_DIR$/trash/auth_old.py" afterDir="false" />
|
|
||||||
</list>
|
</list>
|
||||||
<option name="SHOW_DIALOG" value="false" />
|
<option name="SHOW_DIALOG" value="false" />
|
||||||
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
||||||
|
|
@ -119,22 +25,22 @@
|
||||||
<component name="Git.Settings">
|
<component name="Git.Settings">
|
||||||
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
<option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectColorInfo"><![CDATA[{
|
<component name="ProjectColorInfo">{
|
||||||
"associatedIndex": 4
|
"associatedIndex": 4
|
||||||
}]]></component>
|
}</component>
|
||||||
<component name="ProjectId" id="2s7vXt8ZNmztWMeL9tjyT9ledZJ" />
|
<component name="ProjectId" id="2s7vXt8ZNmztWMeL9tjyT9ledZJ" />
|
||||||
<component name="ProjectViewState">
|
<component name="ProjectViewState">
|
||||||
<option name="hideEmptyMiddlePackages" value="true" />
|
<option name="hideEmptyMiddlePackages" value="true" />
|
||||||
<option name="showLibraryContents" value="true" />
|
<option name="showLibraryContents" value="true" />
|
||||||
</component>
|
</component>
|
||||||
<component name="PropertiesComponent"><![CDATA[{
|
<component name="PropertiesComponent">{
|
||||||
"keyToString": {
|
"keyToString": {
|
||||||
"RunOnceActivity.ShowReadmeOnStart": "true",
|
"RunOnceActivity.ShowReadmeOnStart": "true",
|
||||||
"RunOnceActivity.git.unshallow": "true",
|
"RunOnceActivity.git.unshallow": "true",
|
||||||
"git-widget-placeholder": "development",
|
"git-widget-placeholder": "development",
|
||||||
"last_opened_file_path": "/home/berkay/git-gitea-evyos/wag-managment-api-service-version-5"
|
"last_opened_file_path": "/home/berkay/git-gitea-evyos/wag-managment-api-service-version-5"
|
||||||
}
|
}
|
||||||
}]]></component>
|
}</component>
|
||||||
<component name="RunManager">
|
<component name="RunManager">
|
||||||
<configuration name="events_file" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
<configuration name="events_file" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
|
||||||
<module name="wag-managment-api-service-version-5" />
|
<module name="wag-managment-api-service-version-5" />
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,9 @@
|
||||||
from typing import Any, ClassVar, Dict
|
from typing import Any, Dict
|
||||||
from sqlalchemy import or_
|
|
||||||
|
|
||||||
from ApiLayers.ApiLibrary.common.line_number import get_line_number_for_error
|
|
||||||
from ApiLayers.ErrorHandlers import HTTPExceptionApi
|
from ApiLayers.ErrorHandlers import HTTPExceptionApi
|
||||||
from ApiLayers.ApiValidations.Request.authentication import Login
|
from ApiLayers.ApiValidations.Request.authentication import Login
|
||||||
from ApiLayers.ApiLibrary.token.password_module import PasswordModule
|
from ApiLayers.ApiLibrary.token.password_module import PasswordModule
|
||||||
from ApiLayers.ApiServices.Token.token_handler import TokenService
|
from ApiLayers.ApiLibrary.common.line_number import get_line_number_for_error
|
||||||
from ApiLayers.Schemas import Users
|
|
||||||
|
|
||||||
|
|
||||||
class UserLoginModule:
|
class UserLoginModule:
|
||||||
|
|
@ -15,15 +12,17 @@ class UserLoginModule:
|
||||||
self.request = request
|
self.request = request
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
async def check_user_exists(access_key) -> ClassVar[Users]:
|
def check_user_exists(access_key: str):
|
||||||
|
from ApiLayers.Schemas import Users
|
||||||
|
|
||||||
"""Check if user exists."""
|
"""Check if user exists."""
|
||||||
db_session = Users.new_session()
|
db_session = Users.new_session()
|
||||||
if "@" in access_key:
|
if "@" in access_key:
|
||||||
found_user = Users.filter_one(
|
found_user: Users = Users.filter_one(
|
||||||
Users.email == access_key.lower(), db=db_session
|
Users.email == access_key.lower(), db=db_session
|
||||||
).data
|
).data
|
||||||
else:
|
else:
|
||||||
found_user = Users.filter_one(
|
found_user: Users = Users.filter_one(
|
||||||
Users.phone_number == access_key.replace(" ", ""), db=db_session
|
Users.phone_number == access_key.replace(" ", ""), db=db_session
|
||||||
).data
|
).data
|
||||||
if not found_user:
|
if not found_user:
|
||||||
|
|
@ -35,15 +34,13 @@ class UserLoginModule:
|
||||||
)
|
)
|
||||||
return found_user
|
return found_user
|
||||||
|
|
||||||
async def login_user_via_credentials(self, access_data: "Login") -> Dict[str, Any]:
|
def login_user_via_credentials(self, access_data: "Login") -> Dict[str, Any]:
|
||||||
|
from ApiLayers.ApiServices.Token.token_handler import TokenService
|
||||||
|
from ApiLayers.Schemas import Users
|
||||||
|
|
||||||
"""Login user via credentials."""
|
"""Login user via credentials."""
|
||||||
# Get the actual data from the BaseRequestModel if needed
|
# Get the actual data from the BaseRequestModel if needed
|
||||||
if hasattr(access_data, "data"):
|
found_user: Users = self.check_user_exists(access_key=access_data.access_key)
|
||||||
access_data = access_data.data
|
|
||||||
|
|
||||||
found_user: Users = await self.check_user_exists(
|
|
||||||
access_key=access_data.access_key
|
|
||||||
)
|
|
||||||
if len(found_user.hash_password) < 5:
|
if len(found_user.hash_password) < 5:
|
||||||
raise HTTPExceptionApi(
|
raise HTTPExceptionApi(
|
||||||
error_code="HTTP_400_BAD_REQUEST",
|
error_code="HTTP_400_BAD_REQUEST",
|
||||||
|
|
@ -51,7 +48,6 @@ class UserLoginModule:
|
||||||
loc=get_line_number_for_error(),
|
loc=get_line_number_for_error(),
|
||||||
sys_msg="Invalid password create a password to user first",
|
sys_msg="Invalid password create a password to user first",
|
||||||
)
|
)
|
||||||
|
|
||||||
if PasswordModule.check_password(
|
if PasswordModule.check_password(
|
||||||
domain=access_data.domain,
|
domain=access_data.domain,
|
||||||
id_=found_user.uu_id,
|
id_=found_user.uu_id,
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ class TokenService:
|
||||||
request=dict(request.headers),
|
request=dict(request.headers),
|
||||||
available_occupants=occupants_selection_dict,
|
available_occupants=occupants_selection_dict,
|
||||||
timezone=user.local_timezone or "GMT+0",
|
timezone=user.local_timezone or "GMT+0",
|
||||||
lang=user.lang or "tr",
|
lang="tr",
|
||||||
).model_dump()
|
).model_dump()
|
||||||
if access_token := cls.set_object_to_redis(user, model_value):
|
if access_token := cls.set_object_to_redis(user, model_value):
|
||||||
return {
|
return {
|
||||||
|
|
@ -229,6 +229,7 @@ class TokenService:
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
person = People.filter_one(People.id == user.person_id, db=db_session).data
|
person = People.filter_one(People.id == user.person_id, db=db_session).data
|
||||||
|
|
||||||
model_value = EmployeeTokenObject(
|
model_value = EmployeeTokenObject(
|
||||||
domain=domain,
|
domain=domain,
|
||||||
user_type=UserType.employee.value,
|
user_type=UserType.employee.value,
|
||||||
|
|
@ -243,7 +244,7 @@ class TokenService:
|
||||||
duty_uu_id_list=duty_uu_id_list,
|
duty_uu_id_list=duty_uu_id_list,
|
||||||
duty_id_list=duty_id_list,
|
duty_id_list=duty_id_list,
|
||||||
timezone=user.local_timezone or "GMT+0",
|
timezone=user.local_timezone or "GMT+0",
|
||||||
lang=user.lang or "tr",
|
lang="tr",
|
||||||
).model_dump()
|
).model_dump()
|
||||||
if access_token := cls.set_object_to_redis(user, model_value):
|
if access_token := cls.set_object_to_redis(user, model_value):
|
||||||
return {
|
return {
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ from ApiLayers.ApiLibrary.date_time_actions.date_functions import system_arrow
|
||||||
from ApiLayers.ApiLibrary.extensions.select import SelectAction, SelectActionWithEmployee
|
from ApiLayers.ApiLibrary.extensions.select import SelectAction, SelectActionWithEmployee
|
||||||
|
|
||||||
from ApiLayers.AllConfigs.Token.config import Auth
|
from ApiLayers.AllConfigs.Token.config import Auth
|
||||||
|
from ApiLayers.ApiServices.Login.user_login_handler import UserLoginModule
|
||||||
from Services.PostgresDb import CrudCollection
|
from Services.PostgresDb import CrudCollection
|
||||||
from config import ApiStatic
|
from config import ApiStatic
|
||||||
|
|
||||||
|
|
@ -64,10 +65,6 @@ class UsersTokens(CrudCollection):
|
||||||
# users = relationship("Users", back_populates="tokens", foreign_keys=[user_id])
|
# users = relationship("Users", back_populates="tokens", foreign_keys=[user_id])
|
||||||
|
|
||||||
|
|
||||||
class UserLoginModule:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
class Users(CrudCollection, UserLoginModule, SelectAction):
|
class Users(CrudCollection, UserLoginModule, SelectAction):
|
||||||
"""
|
"""
|
||||||
Application User frame to connect to API with assigned token-based HTTP connection
|
Application User frame to connect to API with assigned token-based HTTP connection
|
||||||
|
|
@ -369,6 +366,14 @@ class People(CrudCollection, SelectAction):
|
||||||
tax_no: Mapped[str] = mapped_column(
|
tax_no: Mapped[str] = mapped_column(
|
||||||
String, server_default="", comment="Tax number of the person"
|
String, server_default="", comment="Tax number of the person"
|
||||||
)
|
)
|
||||||
|
# Receive at Create person
|
||||||
|
# language = mapped_column(
|
||||||
|
# String, comment="Language code of the person"
|
||||||
|
# )
|
||||||
|
# currency = mapped_column(
|
||||||
|
# String, comment="Currency code of the person"
|
||||||
|
# )
|
||||||
|
|
||||||
# ENCRYPT DATA
|
# ENCRYPT DATA
|
||||||
user = relationship(
|
user = relationship(
|
||||||
"Users", back_populates="person", foreign_keys="Users.person_id"
|
"Users", back_populates="person", foreign_keys="Users.person_id"
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ from .function_handlers import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Auth Login
|
# Auth Login
|
||||||
authentication_login_super_user_event = Event(
|
authentication_login_super_user_event = Event(
|
||||||
name="authentication_login_super_user_event",
|
name="authentication_login_super_user_event",
|
||||||
|
|
|
||||||
|
|
@ -46,15 +46,16 @@ AuthenticationLoginEventMethods = MethodToEvent(
|
||||||
description="Login to the system via domain, access key : [email] | [phone]",
|
description="Login to the system via domain, access key : [email] | [phone]",
|
||||||
)
|
)
|
||||||
|
|
||||||
def authentication_login_with_domain_and_creds(
|
def authentication_login_with_domain_and_creds_endpoint(
|
||||||
request: Request,
|
request: Request,
|
||||||
data: EndpointBaseRequestModel,
|
data: EndpointBaseRequestModel,
|
||||||
) -> Dict[str, Any]:
|
) -> Dict[str, Any]:
|
||||||
function = AuthenticationLoginEventMethods.retrieve_event(event_function_code=f"{authentication_login_super_user_event.key}")
|
event_2_catch = AuthenticationLoginEventMethods.retrieve_event(event_function_code=f"{authentication_login_super_user_event.key}")
|
||||||
return function.endpoint_callable(request=request, data=data)
|
data = event_2_catch.REQUEST_VALIDATOR(**data.data)
|
||||||
|
return event_2_catch.endpoint_callable(request=request, data=data)
|
||||||
|
|
||||||
|
|
||||||
AuthenticationLoginEventMethods.endpoint_callable = authentication_login_with_domain_and_creds
|
AuthenticationLoginEventMethods.endpoint_callable = authentication_login_with_domain_and_creds_endpoint
|
||||||
|
|
||||||
AuthenticationSelectEventMethods = MethodToEvent(
|
AuthenticationSelectEventMethods = MethodToEvent(
|
||||||
name="AuthenticationSelectEventMethods",
|
name="AuthenticationSelectEventMethods",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,9 @@
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
from ApiLayers.ApiValidations.Request import (
|
||||||
|
Login,
|
||||||
|
)
|
||||||
|
|
||||||
|
class LoginSuperUserRequestModel(Login):
|
||||||
class LoginSuperUserRequestModel(BaseModel):
|
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -209,7 +209,7 @@ class CrudActions(SystemFields):
|
||||||
return return_dict
|
return return_dict
|
||||||
|
|
||||||
|
|
||||||
class CRUDModel(BaseAlchemyModel, CrudActions):
|
class CRUDModel(CrudActions):
|
||||||
|
|
||||||
__abstract__ = True
|
__abstract__ = True
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,15 +10,13 @@ from typing import Any, TypeVar, Type
|
||||||
|
|
||||||
from sqlalchemy.orm import Query, Session
|
from sqlalchemy.orm import Query, Session
|
||||||
from sqlalchemy.sql.elements import BinaryExpression
|
from sqlalchemy.sql.elements import BinaryExpression
|
||||||
from sqlalchemy_mixins.smartquery import SmartQueryMixin
|
|
||||||
|
|
||||||
from Services.PostgresDb.Models.response import PostgresResponse
|
from Services.PostgresDb.Models.response import PostgresResponse
|
||||||
from Services.PostgresDb.Models.core_alchemy import BaseAlchemyModel
|
|
||||||
|
|
||||||
from ApiLayers.ApiLibrary import system_arrow
|
from ApiLayers.ApiLibrary import system_arrow
|
||||||
|
|
||||||
|
|
||||||
T = TypeVar("T", bound="FilterAttributes")
|
T = TypeVar("T", bound="QueryModel")
|
||||||
|
|
||||||
|
|
||||||
class ArgumentModel:
|
class ArgumentModel:
|
||||||
|
|
@ -63,7 +61,7 @@ class ArgumentModel:
|
||||||
return arg
|
return arg
|
||||||
|
|
||||||
|
|
||||||
class QueryModel(ArgumentModel, BaseAlchemyModel, SmartQueryMixin):
|
class QueryModel(ArgumentModel):
|
||||||
|
|
||||||
pre_query = None
|
pre_query = None
|
||||||
__abstract__ = True
|
__abstract__ = True
|
||||||
|
|
@ -127,8 +125,8 @@ class QueryModel(ArgumentModel, BaseAlchemyModel, SmartQueryMixin):
|
||||||
args = cls.get_active_and_confirmed_query_arg(args)
|
args = cls.get_active_and_confirmed_query_arg(args)
|
||||||
if not expired:
|
if not expired:
|
||||||
args = cls.get_not_expired_query_arg(args)
|
args = cls.get_not_expired_query_arg(args)
|
||||||
query = cls._query(db).filter(*args)
|
query = cls._query(db=db).filter(*args)
|
||||||
return PostgresResponse(pre_query=cls._query(db), query=query, is_array=False)
|
return PostgresResponse(pre_query=cls._query(db=db), query=query, is_array=False)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def filter_all_system(
|
def filter_all_system(
|
||||||
|
|
|
||||||
|
|
@ -12,18 +12,21 @@ from sqlalchemy import (
|
||||||
from sqlalchemy.orm import Mapped, mapped_column
|
from sqlalchemy.orm import Mapped, mapped_column
|
||||||
from sqlalchemy_mixins.serialize import SerializeMixin
|
from sqlalchemy_mixins.serialize import SerializeMixin
|
||||||
from sqlalchemy_mixins.repr import ReprMixin
|
from sqlalchemy_mixins.repr import ReprMixin
|
||||||
|
from sqlalchemy_mixins.smartquery import SmartQueryMixin
|
||||||
|
|
||||||
|
from Services.PostgresDb.Models.core_alchemy import BaseAlchemyModel
|
||||||
from Services.PostgresDb.Models.crud_alchemy import CRUDModel
|
from Services.PostgresDb.Models.crud_alchemy import CRUDModel
|
||||||
from Services.PostgresDb.Models.filter_functions import QueryModel
|
from Services.PostgresDb.Models.filter_functions import QueryModel
|
||||||
|
from Services.PostgresDb.database import Base
|
||||||
|
|
||||||
|
|
||||||
class BasicMixin(CRUDModel, QueryModel):
|
class BasicMixin(Base, BaseAlchemyModel):
|
||||||
|
|
||||||
__abstract__ = True
|
__abstract__ = True
|
||||||
__repr__ = ReprMixin.__repr__
|
__repr__ = ReprMixin.__repr__
|
||||||
|
|
||||||
|
|
||||||
class CrudMixin(BasicMixin, SerializeMixin, ReprMixin):
|
class CrudMixin(BasicMixin, CRUDModel, SerializeMixin, ReprMixin, SmartQueryMixin, QueryModel ):
|
||||||
"""
|
"""
|
||||||
Base mixin providing CRUD operations and common fields for PostgreSQL models.
|
Base mixin providing CRUD operations and common fields for PostgreSQL models.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue