square_administration 4.2.0__tar.gz → 4.2.2__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.
Files changed (20) hide show
  1. {square_administration-4.2.0 → square_administration-4.2.2}/PKG-INFO +1 -1
  2. {square_administration-4.2.0 → square_administration-4.2.2}/pyproject.toml +1 -1
  3. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/main.py +3 -1
  4. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/pydantic_models/authentication.py +12 -0
  5. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/routes/authentication.py +6 -1
  6. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/utils/routes/authentication.py +12 -8
  7. {square_administration-4.2.0 → square_administration-4.2.2}/README.md +0 -0
  8. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/__init__.py +0 -0
  9. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/configuration.py +0 -0
  10. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/data/config.sample.ini +0 -0
  11. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/data/config.testing.sample.ini +0 -0
  12. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/messages.py +0 -0
  13. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/pydantic_models/__init__.py +0 -0
  14. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/pydantic_models/core.py +0 -0
  15. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/routes/__init__.py +0 -0
  16. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/routes/core.py +0 -0
  17. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/utils/__init__.py +0 -0
  18. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/utils/common.py +0 -0
  19. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/utils/routes/__init__.py +0 -0
  20. {square_administration-4.2.0 → square_administration-4.2.2}/square_administration/utils/routes/core.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: square_administration
3
- Version: 4.2.0
3
+ Version: 4.2.2
4
4
  Summary: common business layer for my personal server.
5
5
  Keywords: administration,fastapi,backend
6
6
  Author: Parth Mukesh Mangtani
@@ -4,7 +4,7 @@ build-backend = "uv_build"
4
4
 
5
5
  [project]
6
6
  name = "square_administration"
7
- version = "4.2.0"
7
+ version = "4.2.2"
8
8
  description = "common business layer for my personal server."
9
9
  readme = "README.md"
10
10
  readme-content-type = "text/markdown"
@@ -1,3 +1,5 @@
1
+ from importlib.metadata import version
2
+
1
3
  from fastapi import FastAPI, status
2
4
  from fastapi.middleware.cors import CORSMiddleware
3
5
  from fastapi.responses import JSONResponse
@@ -16,7 +18,7 @@ from square_administration.configuration import (
16
18
  from square_administration.routes import core, authentication
17
19
  from square_administration.utils.common import is_https
18
20
 
19
- app = FastAPI()
21
+ app = FastAPI(title=config_str_module_name, version=version(config_str_module_name))
20
22
 
21
23
  app.add_middleware(
22
24
  CORSMiddleware,
@@ -97,3 +97,15 @@ UpdatePasswordV0Response: TypeAlias = StandardResponse[None]
97
97
 
98
98
  class RegisterLoginGoogleV0(BaseModel):
99
99
  google_id: str
100
+
101
+
102
+ class RegisterLoginGoogleV0ResponseMain(BaseModel):
103
+ user_id: str
104
+ username: str
105
+ app_id: int | None
106
+ access_token: str | None
107
+ was_new_user: bool
108
+
109
+
110
+ class RegisterLoginGoogleV0Response(BaseModel):
111
+ main: RegisterLoginGoogleV0ResponseMain
@@ -23,6 +23,7 @@ from square_administration.pydantic_models.authentication import (
23
23
  ResetPasswordAndLoginUsingResetEmailCodeV0Response,
24
24
  UpdatePasswordV0Response,
25
25
  RegisterLoginGoogleV0,
26
+ RegisterLoginGoogleV0Response,
26
27
  )
27
28
  from square_administration.utils.routes.authentication import (
28
29
  util_generate_access_token_v0,
@@ -253,7 +254,11 @@ async def update_password_v0(
253
254
  )
254
255
 
255
256
 
256
- @router.post("/register_login_google/v0")
257
+ @router.post(
258
+ "/register_login_google/v0",
259
+ status_code=status.HTTP_200_OK,
260
+ response_model=RegisterLoginGoogleV0Response,
261
+ )
257
262
  @global_object_square_logger.auto_logger()
258
263
  async def register_login_google_v0(body: RegisterLoginGoogleV0):
259
264
  try:
@@ -40,6 +40,7 @@ from square_administration.pydantic_models.authentication import (
40
40
  UpdatePasswordV0,
41
41
  UpdatePasswordV0Response,
42
42
  RegisterLoginGoogleV0,
43
+ RegisterLoginGoogleV0Response,
43
44
  )
44
45
  from square_administration.utils.common import global_int_app_id, is_https
45
46
 
@@ -776,23 +777,26 @@ def util_register_login_google_v0(body: RegisterLoginGoogleV0):
776
777
  google_id=google_id,
777
778
  assign_app_id_if_missing=False,
778
779
  app_id=global_int_app_id,
780
+ response_as_pydantic=True,
779
781
  )
780
782
  """
781
783
  return value
782
784
  """
783
- refresh_token = response["data"]["main"]["refresh_token"]
784
- refresh_token_expiry_time = response["data"]["main"][
785
- "refresh_token_expiry_time"
786
- ]
787
- del response["data"]["main"]["refresh_token"]
788
- del response["data"]["main"]["refresh_token_expiry_time"]
785
+ refresh_token = response.data.main.refresh_token
786
+ refresh_token_expiry_time = response.data.main.refresh_token_expiry_time
787
+ modified_response = response.model_dump()
788
+ del modified_response["data"]["main"]["refresh_token"]
789
+ del modified_response["data"]["main"]["refresh_token_expiry_time"]
789
790
  output_content = get_api_output_in_standard_format(
790
791
  message=messages["LOGIN_SUCCESSFUL"],
791
- data={"main": response["data"]["main"]},
792
+ data=RegisterLoginGoogleV0Response(
793
+ **modified_response["data"]
794
+ ).model_dump(),
795
+ as_dict=False,
792
796
  )
793
797
  json_response = JSONResponse(
794
798
  status_code=status.HTTP_200_OK,
795
- content=output_content,
799
+ content=output_content.model_dump(),
796
800
  )
797
801
  json_response.set_cookie(
798
802
  **create_cookie(