diff --git a/api_events/events/account/account_records.py b/api_events/events/account/account_records.py index 17a63fb..9e31485 100644 --- a/api_events/events/account/account_records.py +++ b/api_events/events/account/account_records.py @@ -21,6 +21,9 @@ from databases.sql_models.others.enums import ApiEnumDropdown class AccountRecordsListEventMethods(MethodToEvent): event_type = "SELECT" + event_description = "" + event_category = "" + __event_keys__ = { "7192c2aa-5352-4e36-98b3-dafb7d036a3d": "account_records_list", } @@ -57,6 +60,9 @@ class AccountRecordsListEventMethods(MethodToEvent): class AccountRecordsCreateEventMethods(MethodToEvent): event_type = "CREATE" + event_description = "" + event_category = "" + __event_keys__ = { "31f4f32f-0cd4-4995-8a6a-f9f56335848a": "account_records_create", } @@ -140,6 +146,9 @@ class AccountRecordsCreateEventMethods(MethodToEvent): class AccountRecordsUpdateEventMethods(MethodToEvent): event_type = "UPDATE" + event_description = "" + event_category = "" + __event_keys__ = { "ec98ef2c-bcd0-432d-a8f4-1822a56c33b2": "account_records_update", } @@ -166,6 +175,9 @@ class AccountRecordsUpdateEventMethods(MethodToEvent): class AccountRecordsPatchEventMethods(MethodToEvent): event_type = "PATCH" + event_description = "" + event_category = "" + __event_keys__ = { "34c38937-42a2-45f1-b2ef-a23978650aee": "account_records_patch", } diff --git a/api_events/events/address/address.py b/api_events/events/address/address.py index aa569d7..c78fed1 100644 --- a/api_events/events/address/address.py +++ b/api_events/events/address/address.py @@ -28,6 +28,7 @@ class AddressListEventMethods(MethodToEvent): event_type = "SELECT" event_description = "List Address records" event_category = "Address" + __event_keys__ = { "9c251d7d-da70-4d63-a72c-e69c26270442": "address_list_super_user", "52afe375-dd95-4f4b-aaa2-4ec61bc6de52": "address_list_employee", @@ -93,6 +94,9 @@ class AddressListEventMethods(MethodToEvent): class AddressCreateEventMethods(MethodToEvent): event_type = "CREATE" + event_description = "" + event_category = "" + __event_keys__ = { "ffdc445f-da10-4ce4-9531-d2bdb9a198ae": "create_address", } @@ -133,6 +137,9 @@ class AddressCreateEventMethods(MethodToEvent): class AddressSearchEventMethods(MethodToEvent): event_type = "SEARCH" + event_description = "" + event_category = "" + __event_keys__ = { "e0ac1269-e9a7-4806-9962-219ac224b0d0": "search_address", } @@ -205,6 +212,9 @@ class AddressSearchEventMethods(MethodToEvent): class AddressUpdateEventMethods(MethodToEvent): event_type = "UPDATE" + event_description = "" + event_category = "" + __event_keys__ = { "1f9c3a9c-e5bd-4dcd-9b9a-3742d7e03a27": "update_address", } @@ -247,6 +257,9 @@ class AddressUpdateEventMethods(MethodToEvent): class AddressPatchEventMethods(MethodToEvent): event_type = "PATCH" + event_description = "" + event_category = "" + __event_keys__ = { "b0e55a7e-af81-468c-b46c-a6b3a6b68d5d": "patch_address", } @@ -288,6 +301,9 @@ class AddressPatchEventMethods(MethodToEvent): class AddressPostCodeCreateEventMethods(MethodToEvent): event_type = "CREATE" + event_description = "" + event_category = "" + __event_keys__ = { "6f1406ac-577d-4f2c-8077-71fff2252c5f": "create_post_code_address", } @@ -335,6 +351,9 @@ class AddressPostCodeCreateEventMethods(MethodToEvent): class AddressPostCodeUpdateEventMethods(MethodToEvent): event_type = "UPDATE" + event_description = "" + event_category = "" + __event_keys__ = { "df18e489-a63c-477f-984c-aa52d30640ad": "update_post_code_address", } @@ -388,6 +407,9 @@ class AddressPostCodeUpdateEventMethods(MethodToEvent): class AddressPostCodeListEventMethods(MethodToEvent): event_type = "SELECT" + event_description = "" + event_category = "" + __event_keys__ = { "88d37b78-1ac4-4513-9d25-090ac3a24f31": "list_post_code_address", } diff --git a/api_events/events/application/authentication.py b/api_events/events/application/authentication.py index cb5896e..2f2b99a 100644 --- a/api_events/events/application/authentication.py +++ b/api_events/events/application/authentication.py @@ -1,12 +1,12 @@ import json import typing +from typing import Union from fastapi import status from fastapi.requests import Request from fastapi.exceptions import HTTPException from fastapi.responses import JSONResponse -from api_objects import UserType from databases import ( Companies, Staff, @@ -22,6 +22,7 @@ from databases import ( Users, UsersTokens, OccupantTypes, + RelationshipEmployee2Build, ) from api_services import ( @@ -35,10 +36,11 @@ from api_services import ( change_your_password_template, ) +from api_configs import ApiStatic, Auth from api_events.events.abstract_class import MethodToEvent, ActionsSchema from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObject from api_library.date_time_actions.date_functions import system_arrow -from api_configs import ApiStatic, Auth + from databases.no_sql_models.login_handlers import load_user_with_erp_details from api_validations.validations_request import ( @@ -51,12 +53,14 @@ from api_validations.validations_request import ( OccupantSelection, EmployeeSelection, ) -from databases.sql_models.building.build import RelationshipEmployee2Build class AuthenticationLoginEventMethods(MethodToEvent): event_type = "LOGIN" + event_description = "Login via domain and access key : [email] | [phone]" + event_category = "AUTHENTICATION" + __event_keys__ = { "e672846d-cc45-4d97-85d5-6f96747fac67": "authentication_login_with_domain_and_creds", } @@ -66,7 +70,6 @@ class AuthenticationLoginEventMethods(MethodToEvent): cls, data: Login, request, - token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject], ): access_dict = Users.login_user_with_credentials(data=data, request=request) found_user = access_dict.get("user", None) @@ -90,7 +93,10 @@ class AuthenticationLoginEventMethods(MethodToEvent): class AuthenticationSelectEventMethods(MethodToEvent): - event_type = "SELECT" + event_type = "LOGIN" + event_description = "Select Employee Duty or Occupant Type" + event_category = "AUTHENTICATION" + __event_keys__ = { "cee96b9b-8487-4e9f-aaed-2e8c79687bf9": "authentication_select_company_or_occupant_type", } @@ -100,13 +106,12 @@ class AuthenticationSelectEventMethods(MethodToEvent): cls, request: Request, data, - token_dict: typing.Union[EmployeeSelection, OccupantSelection], + token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject], ): from api_objects import OccupantToken, CompanyToken - token_user = get_object_via_access_key(request=request) - if token_user.user_type == 1: - if data.company_uu_id not in token_user.companies_uu_id_list: + if isinstance(token_dict, EmployeeTokenObject): + if data.company_uu_id not in token_dict.companies_uu_id_list: return JSONResponse( content={ "completed": False, @@ -137,7 +142,7 @@ class AuthenticationSelectEventMethods(MethodToEvent): ).data ] employee = Employees.filter_one( - Employees.people_id == token_user.person_id, + Employees.people_id == token_dict.person_id, Employees.staff_id.in_(staff_ids), ).data @@ -185,7 +190,7 @@ class AuthenticationSelectEventMethods(MethodToEvent): }, status_code=status.HTTP_200_OK, ) - elif token_user.user_type == 2: + elif isinstance(token_dict, OccupantTokenObject): occupant_type = OccupantTypes.filter_one( OccupantTypes.uu_id == data.occupant_uu_id ).data @@ -214,7 +219,7 @@ class AuthenticationSelectEventMethods(MethodToEvent): ).data if selected_occupant_type := BuildLivingSpace.filter_one( BuildLivingSpace.occupant_type == occupant_type.id, - BuildLivingSpace.person_id == token_user.person_id, + BuildLivingSpace.person_id == token_dict.person_id, BuildLivingSpace.build_parts_id == build_part.id, ).data: reachable_event_list_id, reachable_event_list_uu_id = ( @@ -258,7 +263,10 @@ class AuthenticationSelectEventMethods(MethodToEvent): class AuthenticationCheckTokenEventMethods(MethodToEvent): - event_type = "CHECK" + event_type = "LOGIN" + event_description = "Check Token is valid for user" + event_category = "AUTHENTICATION" + __event_keys__ = { "73d77e45-a33f-4f12-909e-3b56f00d8a12": "authentication_check_token_is_valid", } @@ -282,7 +290,12 @@ class AuthenticationCheckTokenEventMethods(MethodToEvent): class AuthenticationRefreshEventMethods(MethodToEvent): - event_type = "REFRESH" + event_type = "LOGIN" + event_description = ( + "Refresher Token for refreshing access token without credentials" + ) + event_category = "AUTHENTICATION" + __event_keys__ = { "48379bb2-ba81-4d8e-a9dd-58837cfcbf67": "authentication_refresh_user_info", } @@ -323,7 +336,10 @@ class AuthenticationRefreshEventMethods(MethodToEvent): class AuthenticationChangePasswordEventMethods(MethodToEvent): - event_type = "UPDATE" + event_type = "LOGIN" + event_description = "Change password with access token implemented on request headers without password reset token" + event_category = "AUTHENTICATION" + __event_keys__ = { "f09f7c1a-bee6-4e32-8444-962ec8f39091": "authentication_change_password", } @@ -331,13 +347,11 @@ class AuthenticationChangePasswordEventMethods(MethodToEvent): @classmethod def authentication_change_password( cls, - request, data: ChangePassword, - token_dict: typing.Union[EmployeeSelection, OccupantSelection], + token_dict: typing.Union[EmployeeTokenObject, OccupantTokenObject], ): - token_user = get_object_via_access_key(request=request) - if token_user.user_type == 1: - if found_user := Users.filter_one(Users.uu_id == token_user.uu_id).data: + if isinstance(token_dict, EmployeeTokenObject): + if found_user := Users.filter_one(Users.uu_id == token_dict.uu_id).data: if found_user.check_password(data.old_password): found_user.set_password(data.new_password) return JSONResponse( @@ -362,15 +376,16 @@ class AuthenticationChangePasswordEventMethods(MethodToEvent): class AuthenticationCreatePasswordEventMethods(MethodToEvent): - event_type = "CREATE" + event_type = "LOGIN" + event_description = "Create password with password reset token requested via email" + event_category = "AUTHENTICATION" + __event_keys__ = { "c519f9af-92e1-47b2-abf7-5a3316d075f7": "authentication_create_password", } @classmethod - def authentication_create_password( - cls, request, data: CreatePassword, token_dict: dict = None - ): + def authentication_create_password(cls, data: CreatePassword): if not data.re_password == data.password: raise HTTPException( @@ -411,56 +426,44 @@ class AuthenticationCreatePasswordEventMethods(MethodToEvent): class AuthenticationDisconnectUserEventMethods(MethodToEvent): - event_type = "UPDATE" + event_type = "LOGIN" + event_description = "Disconnect all sessions of user in access token" + event_category = "AUTHENTICATION" + __event_keys__ = { "8b586848-2fb3-4161-abbe-642157eec7ce": "authentication_disconnect_user", } @classmethod def authentication_disconnect_user( - cls, request: Request, data: Logout, token_dict: dict = None + cls, + data: Logout, + token_dict: Union[EmployeeTokenObject, OccupantTokenObject] ): - - if token_user := get_object_via_access_key(request=request): - found_user = Users.filter_one(Users.uu_id == token_user.get("uu_id")).data - if not found_user: - return JSONResponse( - content={ - "completed": False, - "message": "Invalid data", - "data": None, - }, - status_code=status.HTTP_202_ACCEPTED, + found_user = Users.filter_one(Users.uu_id == token_dict.user_uu_id).data + if not found_user: + return JSONResponse( + content={ + "completed": False, + "message": "Invalid data", + "data": None, + }, + status_code=status.HTTP_202_ACCEPTED, + ) + if already_tokens := get_object_via_user_uu_id(user_id=str(found_user.uu_id)): + for key, token_user in already_tokens.items(): + redis_cli.delete(key) + selected_user = Users.filter_one( + Users.uu_id == token_user.get("uu_id"), + ).data + selected_user.remove_refresher_token( + domain=data.domain, disconnect=True ) - if already_tokens := get_object_via_user_uu_id(user_id=found_user.uu_id): - for key, token_user in already_tokens.items(): - redis_cli.delete(key) - selected_user = Users.filter_one( - Users.uu_id == token_user.get("uu_id"), - ).data - selected_user.remove_refresher_token( - domain=data.domain, disconnect=True - ) - # UserLogger.log_error( - # str( - # dict( - # user_id=found_user.id, - # domain=data.domain, - # access_key=token_user.get("access_input"), - # agent=request.headers.get("User-Agent", None), - # ip=getattr(request, "remote_addr", None) - # or request.headers.get("X-Forwarded-For", None), - # platform=request.headers.get("Origin", None), - # login_date=datetime.datetime.utcnow().__str__(), - # is_login=False, - # ) - # ) - # ) return JSONResponse( content={ "completed": True, "message": "All sessions are disconnected", - "data": token_user, + "data": selected_user.get_dict(), }, status_code=status.HTTP_200_OK, ) @@ -471,7 +474,11 @@ class AuthenticationDisconnectUserEventMethods(MethodToEvent): class AuthenticationLogoutEventMethods(MethodToEvent): - event_type = "UPDATE" + + event_type = "LOGIN" + event_description = "Logout only single session of user which domain is provided" + event_category = "AUTHENTICATION" + __event_keys__ = { "5cc22e4e-a0f7-4077-be41-1871feb3dfd1": "authentication_logout_user", } @@ -490,21 +497,7 @@ class AuthenticationLogoutEventMethods(MethodToEvent): Users.uu_id == token_user.get("uu_id"), ).data selected_user.remove_refresher_token(domain=data.domain) - # UserLogger.log_error( - # str( - # dict( - # user_id=selected_user.id, - # domain=data.domain, - # access_key=token_user.get("access_input"), - # agent=request.headers.get("User-Agent", None), - # ip=getattr(request, "remote_addr", None) - # or request.headers.get("X-Forwarded-For", None), - # platform=request.headers.get("Origin", None), - # login_date=datetime.datetime.utcnow().__str__(), - # is_login=False, - # ) - # ) - # ) + return JSONResponse( content={ "completed": True, @@ -525,7 +518,10 @@ class AuthenticationLogoutEventMethods(MethodToEvent): class AuthenticationRefreshTokenEventMethods(MethodToEvent): - event_type = "UPDATE" + event_type = "LOGIN" + event_description = "Refresh access token with refresher token" + event_category = "AUTHENTICATION" + __event_keys__ = { "c90f3334-10c9-4181-b5ff-90d98a0287b2": "authentication_refresher_token", } @@ -557,21 +553,6 @@ class AuthenticationRefreshTokenEventMethods(MethodToEvent): request, "remote_addr", None ) or request.headers.get("X-Forwarded-For", None) found_user.last_seen = str(system_arrow.now()) - # UserLogger.log_error( - # str( - # dict( - # user_id=found_user.id, - # domain=data.domain, - # access_key="via_refresher", - # agent=request.headers.get("User-Agent", None), - # ip=getattr(request, "remote_addr", None) - # or request.headers.get("X-Forwarded-For", None), - # platform=request.headers.get("Origin", None), - # login_date=datetime.datetime.utcnow().__str__(), - # is_login=False, - # ) - # ) - # ) return JSONResponse( content={ "completed": True, @@ -594,14 +575,19 @@ class AuthenticationRefreshTokenEventMethods(MethodToEvent): class AuthenticationForgotPasswordEventMethods(MethodToEvent): - event_type = "SELECT" + event_type = "LOGIN" + event_description = "Send an email to user for a valid password reset token" + event_category = "AUTHENTICATION" + __event_keys__ = { "e3ca6e24-b9f8-4127-949c-3bfa364e3513": "authentication_forgot_password", } @classmethod def authentication_forgot_password( - cls, request: Request, data: Forgot, token_dict: dict = None + cls, + request: Request, + data: Forgot, ): found_user: Users = Users.check_user_exits( access_key=data.access_key, domain=data.domain @@ -609,21 +595,6 @@ class AuthenticationForgotPasswordEventMethods(MethodToEvent): forgot_key = save_access_token_to_redis( request=request, found_user=found_user, domain=data.domain ) - # UserLogger.log_error( - # str( - # dict( - # user_id=found_user.id, - # domain=data.domain, - # access_key=data.access_key, - # agent=request.headers.get("User-Agent", None), - # ip=getattr(request, "remote_addr", None) - # or request.headers.get("X-Forwarded-For", None), - # platform=request.headers.get("Origin", None), - # login_date=str(DateTimeLocal.now()), - # is_login=False, - # ) - # ) - # ) forgot_link = ApiStatic.forgot_link(forgot_key=forgot_key) send_email_completed = send_email( subject=f"Dear {found_user.user_tag}, your forgot password link has been sent.", @@ -636,7 +607,6 @@ class AuthenticationForgotPasswordEventMethods(MethodToEvent): raise HTTPException( status_code=400, detail="Email can not be sent. Try again later" ) - found_user.password_token = forgot_key found_user.password_token_is_valid = str(system_arrow.shift(days=1)) found_user.save() @@ -653,40 +623,41 @@ class AuthenticationForgotPasswordEventMethods(MethodToEvent): class AuthenticationDownloadAvatarEventMethods(MethodToEvent): - event_type = "SELECT" + event_type = "LOGIN" + event_description = "Download avatar icon and profile info of user" + event_category = "AUTHENTICATION" + __event_keys__ = { "c140cd5f-307f-4046-a93e-3ade032a57a7": "authentication_download_avatar", } @classmethod def authentication_download_avatar( - cls, request: Request, data: Forgot, token_dict: dict = None + cls, data: Forgot ): - found_user = Users.check_user_exits( + if found_user := Users.check_user_exits( access_key=data.access_key, domain=data.domain - ) - return JSONResponse( - content={ - "completed": True, - "message": "Avatar and profile is shared via user credentials", - "data": { - "last_seen": str(found_user.last_seen), - "avatar": found_user.avatar, - "remember_me": found_user.remember_me, - "expiry_ends": str(found_user.expiry_ends), - "expired_str": str( - system_arrow.now() - - system_arrow.get(str(found_user.expiry_ends)) - ), - "expired_int": int( - ( - system_arrow.now() - - system_arrow.get(str(found_user.expiry_ends)) - ).days - ), + ): + expired_starts = str(system_arrow.now() - system_arrow.get(str(found_user.expiry_ends))) + expired_int = int(system_arrow.now() - system_arrow.get(str(found_user.expiry_ends)).days) + return JSONResponse( + content={ + "completed": True, + "message": "Avatar and profile is shared via user credentials", + "data": { + "last_seen": str(found_user.last_seen), + "avatar": found_user.avatar, + "remember_me": found_user.remember_me, + "expiry_ends": str(found_user.expiry_ends), + "expired_str": expired_starts, + "expired_int": expired_int, + }, }, - }, - status_code=status.HTTP_200_OK, + status_code=status.HTTP_200_OK, + ) + return JSONResponse( + content={"completed": False, "message": "Invalid data", "data": {}}, + status_code=status.HTTP_202_ACCEPTED, ) @@ -723,3 +694,65 @@ AuthenticationForgotPasswordEventMethod = AuthenticationForgotPasswordEventMetho AuthenticationDownloadAvatarEventMethod = AuthenticationDownloadAvatarEventMethods( action=ActionsSchema(endpoint="/authentication/avatar") ) + +# UserLogger.log_error( +# str( +# dict( +# user_id=found_user.id, +# domain=data.domain, +# access_key=token_user.get("access_input"), +# agent=request.headers.get("User-Agent", None), +# ip=getattr(request, "remote_addr", None) +# or request.headers.get("X-Forwarded-For", None), +# platform=request.headers.get("Origin", None), +# login_date=datetime.datetime.utcnow().__str__(), +# is_login=False, +# ) +# ) +# ) + +# UserLogger.log_error( +# str( +# dict( +# user_id=found_user.id, +# domain=data.domain, +# access_key=data.access_key, +# agent=request.headers.get("User-Agent", None), +# ip=getattr(request, "remote_addr", None) +# or request.headers.get("X-Forwarded-For", None), +# platform=request.headers.get("Origin", None), +# login_date=str(DateTimeLocal.now()), +# is_login=False, +# ) +# ) +# ) +# UserLogger.log_error( +# str( +# dict( +# user_id=found_user.id, +# domain=data.domain, +# access_key="via_refresher", +# agent=request.headers.get("User-Agent", None), +# ip=getattr(request, "remote_addr", None) +# or request.headers.get("X-Forwarded-For", None), +# platform=request.headers.get("Origin", None), +# login_date=datetime.datetime.utcnow().__str__(), +# is_login=False, +# ) +# ) +# ) +# UserLogger.log_error( +# str( +# dict( +# user_id=selected_user.id, +# domain=data.domain, +# access_key=token_user.get("access_input"), +# agent=request.headers.get("User-Agent", None), +# ip=getattr(request, "remote_addr", None) +# or request.headers.get("X-Forwarded-For", None), +# platform=request.headers.get("Origin", None), +# login_date=datetime.datetime.utcnow().__str__(), +# is_login=False, +# ) +# ) +# ) \ No newline at end of file diff --git a/api_events/events/building/building_build.py b/api_events/events/building/building_build.py index dd9aa7c..099fe6d 100644 --- a/api_events/events/building/building_build.py +++ b/api_events/events/building/building_build.py @@ -29,6 +29,8 @@ from api_objects.auth.token_objects import EmployeeTokenObject, OccupantTokenObj class BuildListEventMethods(MethodToEvent): event_type = "SELECT" + event_description = "" + event_category = "" __event_keys__ = { "68b3b5ed-b74c-4a27-820f-3959214e94e9": "build_list", @@ -60,6 +62,8 @@ class BuildListEventMethods(MethodToEvent): class BuildCreateEventMethods(MethodToEvent): event_type = "CREATE" + event_description = "" + event_category = "" __event_keys__ = { "a2271854-6b90-43da-a440-a62b70d90528": "build_create", "b67ee709-0992-4604-9f90-fb1da10d5cf9": "create_building_employee", @@ -174,16 +178,19 @@ class BuildCreateEventMethods(MethodToEvent): class BuildUpdateEventMethods(MethodToEvent): event_type = "UPDATE" + event_description = "" + event_category = "" + __event_keys__ = { "5ad38a66-1189-451e-babb-77de2d63d757": "build_update", } @classmethod def build_update( - cls, - build_uu_id: str, - data: UpdateBuild, - token_dict: Union[EmployeeTokenObject, OccupantTokenObject] + cls, + build_uu_id: str, + data: UpdateBuild, + token_dict: Union[EmployeeTokenObject, OccupantTokenObject], ): Build.pre_query = Build.select_action( employee_id=token_dict.selected_company.employee_id @@ -213,6 +220,9 @@ class BuildUpdateEventMethods(MethodToEvent): class BuildPatchEventMethods(MethodToEvent): event_type = "PATCH" + event_description = "" + event_category = "" + __event_keys__ = { "e3876bfe-8847-4dea-ae36-e709f7431930": "build_patch", } diff --git a/api_events/events/events/events_events.py b/api_events/events/events/events_events.py index b346a9d..28473b8 100644 --- a/api_events/events/events/events_events.py +++ b/api_events/events/events/events_events.py @@ -42,7 +42,8 @@ class EventsListEventMethods(MethodToEvent): Events.filter_attr = list_options if isinstance(token_dict, OccupantTokenObject): occupant_events = Event2Occupant.filter_all( - Event2Occupant.build_living_space_id == token_dict.selected_occupant.living_space_id + Event2Occupant.build_living_space_id + == token_dict.selected_occupant.living_space_id ).data records = Events.filter_all( Events.id.in_([event.event_id for event in occupant_events]) @@ -260,4 +261,4 @@ EventsListEventMethod = EventsListEventMethods( # "status": "success", # "message": "Event patched successfully.", # "event": event.uu_id, -# } \ No newline at end of file +# } diff --git a/docker-compose.yml b/docker-compose.yml index e76b81e..7ef924d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,8 +2,8 @@ services: commercial_mongo_service: container_name: commercial_mongo_service -# image: "bitnami/mongodb:latest" - image: "bitnami/mongodb:4.4.1-debian-10-r3" + image: "bitnami/mongodb:latest" +# image: "bitnami/mongodb:4.4.1-debian-10-r3" networks: - network_store_services environment: @@ -61,100 +61,100 @@ services: - "41575:41575" networks: - network_store_services - depends_on: - - wag_management_init_service - - grafana +# depends_on: +# - wag_management_init_service +# - grafana +# +# wag_management_service_second: +# container_name: wag_management_service_second +# restart: on-failure +# build: +# context: . +# dockerfile: service_app/Dockerfile +# ports: +# - "41576:41575" +# networks: +# - network_store_services +# depends_on: +# - wag_management_init_service +# - grafana - wag_management_service_second: - container_name: wag_management_service_second - restart: on-failure - build: - context: . - dockerfile: service_app/Dockerfile - ports: - - "41576:41575" - networks: - - network_store_services - depends_on: - - wag_management_init_service - - grafana - - wag_management_init_service: - container_name: wag_management_init_service - build: - context: . - dockerfile: service_app_init/Dockerfile - networks: - - network_store_services - depends_on: - - postgres_commercial - - wag_bank_services: - container_name: wag_bank_services - restart: on-failure - build: - context: . - dockerfile: service_app_banks/mailService.Dockerfile - networks: - - network_store_services - depends_on: - - postgres_commercial - environment: - - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database - - PYTHONPATH=/service_app_banks - - wag_account_services: - container_name: wag_account_services - restart: on-failure - build: - context: . - dockerfile: service_account_records/account.Dockerfile - networks: - - network_store_services - depends_on: - - postgres_commercial - environment: - - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database - - PYTHONPATH=/ - - prometheus: - image: prom/prometheus - container_name: prometheus - ports: - - "9090:9090" - volumes: - - ./prometheus_data/prometheus.yml:/etc/prometheus/prometheus.yml - command: - - '--config.file=/etc/prometheus/prometheus.yml' - networks: - - network_store_services - - grafana: - image: grafana/grafana - container_name: grafana - ports: - - "3030:3000" - depends_on: - - prometheus - networks: - - network_store_services - environment: - - GF_SECURITY_ADMIN_USER=admin - - GF_SECURITY_ADMIN_PASSWORD=admin - - GF_USERS_ALLOW_SIGN_UP=false - - GF_USERS_ALLOW_ORG_CREATE=false - volumes: - - grafana_data:/var/lib/grafana - - wag_management_test_service: - container_name: wag_management_test_service - build: - context: . - dockerfile: service_app_test/Dockerfile - networks: - - network_store_services - depends_on: - - wag_management_init_service +# wag_management_init_service: +# container_name: wag_management_init_service +# build: +# context: . +# dockerfile: service_app_init/Dockerfile +# networks: +# - network_store_services +# depends_on: +# - postgres_commercial +# +# wag_bank_services: +# container_name: wag_bank_services +# restart: on-failure +# build: +# context: . +# dockerfile: service_app_banks/mailService.Dockerfile +# networks: +# - network_store_services +# depends_on: +# - postgres_commercial +# environment: +# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database +# - PYTHONPATH=/service_app_banks +# +# wag_account_services: +# container_name: wag_account_services +# restart: on-failure +# build: +# context: . +# dockerfile: service_account_records/account.Dockerfile +# networks: +# - network_store_services +# depends_on: +# - postgres_commercial +# environment: +# - DATABASE_URL=postgresql+psycopg2://berkay_wag_user:berkay_wag_user_password@postgres_commercial:5432/wag_database +# - PYTHONPATH=/ +# +# prometheus: +# image: prom/prometheus +# container_name: prometheus +# ports: +# - "9090:9090" +# volumes: +# - ./prometheus_data/prometheus.yml:/etc/prometheus/prometheus.yml +# command: +# - '--config.file=/etc/prometheus/prometheus.yml' +# networks: +# - network_store_services +# +# grafana: +# image: grafana/grafana +# container_name: grafana +# ports: +# - "3030:3000" +# depends_on: +# - prometheus +# networks: +# - network_store_services +# environment: +# - GF_SECURITY_ADMIN_USER=admin +# - GF_SECURITY_ADMIN_PASSWORD=admin +# - GF_USERS_ALLOW_SIGN_UP=false +# - GF_USERS_ALLOW_ORG_CREATE=false +# volumes: +# - grafana_data:/var/lib/grafana +# +# wag_management_test_service: +# container_name: wag_management_test_service +# build: +# context: . +# dockerfile: service_app_test/Dockerfile +# networks: +# - network_store_services +# depends_on: +# - wag_management_init_service # nginx-proxy-wag: # container_name: nginx-proxy-wag diff --git a/service_app/routers/authentication/router.py b/service_app/routers/authentication/router.py index 1424c4a..3d19f1d 100644 --- a/service_app/routers/authentication/router.py +++ b/service_app/routers/authentication/router.py @@ -97,7 +97,7 @@ def authentication_reset_password(data: Forgot): def authentication_disconnect_user(request: Request, data: Logout): token_dict = parse_token_object_to_dict(request=request) return AuthenticationDisconnectUserEventMethod.authentication_disconnect_user( - data=data, request=request, token_dict=token_dict + data=data, token_dict=token_dict ) @@ -121,7 +121,7 @@ def authentication_refresher_token(request: Request, data: Remember): def authentication_forgot_password(request: Request, data: Forgot): token_dict = parse_token_object_to_dict(request=request) return AuthenticationForgotPasswordEventMethod.authentication_forgot_password( - data=data, request=request, token_dict=token_dict + data=data, request=request )