square-administration 2.4.0__tar.gz → 3.0.0__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 (22) hide show
  1. {square_administration-2.4.0 → square_administration-3.0.0}/PKG-INFO +5 -1
  2. {square_administration-2.4.0 → square_administration-3.0.0}/README.md +4 -0
  3. {square_administration-2.4.0 → square_administration-3.0.0}/setup.py +1 -1
  4. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/pydantic_models/authentication.py +4 -0
  5. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/routes/authentication.py +41 -2
  6. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration.egg-info/PKG-INFO +5 -1
  7. {square_administration-2.4.0 → square_administration-3.0.0}/setup.cfg +0 -0
  8. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/__init__.py +0 -0
  9. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/configuration.py +0 -0
  10. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/data/config.ini +0 -0
  11. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/main.py +0 -0
  12. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/messages.py +0 -0
  13. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/pydantic_models/__init__.py +0 -0
  14. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/pydantic_models/core.py +0 -0
  15. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/routes/__init__.py +0 -0
  16. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/routes/core.py +0 -0
  17. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/utils/__init__.py +0 -0
  18. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration/utils/common.py +0 -0
  19. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration.egg-info/SOURCES.txt +0 -0
  20. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration.egg-info/dependency_links.txt +0 -0
  21. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration.egg-info/requires.txt +0 -0
  22. {square_administration-2.4.0 → square_administration-3.0.0}/square_administration.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: square_administration
3
- Version: 2.4.0
3
+ Version: 3.0.0
4
4
  Summary: common business layer for my personal server.
5
5
  Home-page: https://github.com/thepmsquare/square_administration
6
6
  Author: thePmSquare
@@ -32,6 +32,10 @@ pip install square_administration
32
32
 
33
33
  ## changelog
34
34
 
35
+ ### v3.0.0
36
+
37
+ - add new parameter -> password in authentication -> remove_app_for_self_v0.
38
+
35
39
  ### v2.4.0
36
40
 
37
41
  - auto docker image build github action.
@@ -16,6 +16,10 @@ pip install square_administration
16
16
 
17
17
  ## changelog
18
18
 
19
+ ### v3.0.0
20
+
21
+ - add new parameter -> password in authentication -> remove_app_for_self_v0.
22
+
19
23
  ### v2.4.0
20
24
 
21
25
  - auto docker image build github action.
@@ -4,7 +4,7 @@ package_name = "square_administration"
4
4
 
5
5
  setup(
6
6
  name=package_name,
7
- version="2.4.0",
7
+ version="3.0.0",
8
8
  packages=find_packages(),
9
9
  package_data={
10
10
  package_name: ["data/*"],
@@ -10,3 +10,7 @@ class RegisterUsernameV0(BaseModel):
10
10
  class LoginUsernameV0(BaseModel):
11
11
  username: str
12
12
  password: str
13
+
14
+
15
+ class RemoveAppForSelfV0(BaseModel):
16
+ password: str
@@ -9,6 +9,10 @@ from requests import HTTPError
9
9
  from square_authentication_helper import TokenType
10
10
  from square_commons import get_api_output_in_standard_format
11
11
  from square_commons.api_utils import create_cookie
12
+ from square_database_helper.pydantic_models import FilterConditionsV0, FiltersV0
13
+ from square_database_structure.square import global_string_database_name
14
+ from square_database_structure.square.authentication import global_string_schema_name
15
+ from square_database_structure.square.authentication.tables import User, UserCredential
12
16
 
13
17
  from square_administration.configuration import (
14
18
  global_object_square_logger,
@@ -16,11 +20,13 @@ from square_administration.configuration import (
16
20
  global_object_square_authentication_helper,
17
21
  global_int_app_id,
18
22
  config_str_cookie_domain,
23
+ global_object_square_database_helper,
19
24
  )
20
25
  from square_administration.messages import messages
21
26
  from square_administration.pydantic_models.authentication import (
22
27
  RegisterUsernameV0,
23
28
  LoginUsernameV0,
29
+ RemoveAppForSelfV0,
24
30
  )
25
31
  from square_administration.utils.common import is_https
26
32
 
@@ -218,13 +224,46 @@ async def login_username_v0(
218
224
  @global_object_square_logger.async_auto_logger
219
225
  async def remove_app_for_self_v0(
220
226
  access_token: Annotated[str, Header()],
227
+ body: RemoveAppForSelfV0,
221
228
  ):
222
-
229
+ password = body.password
223
230
  try:
224
231
  """
225
232
  validation
226
233
  """
227
- # pass
234
+ access_token_payload = global_object_square_authentication_helper.validate_and_get_payload_from_token_v0(
235
+ access_token, TokenType.access_token
236
+ )
237
+ user_id = access_token_payload["data"]["main"]["user_id"]
238
+ user_credentials_response = global_object_square_database_helper.get_rows_v0(
239
+ database_name=global_string_database_name,
240
+ schema_name=global_string_schema_name,
241
+ table_name=UserCredential.__tablename__,
242
+ filters=FiltersV0(
243
+ root={
244
+ User.user_id.name: FilterConditionsV0(eq=user_id),
245
+ }
246
+ ),
247
+ columns=[UserCredential.user_credential_hashed_password.name],
248
+ )
249
+ hashed_password = user_credentials_response["data"]["main"][0][
250
+ UserCredential.user_credential_hashed_password.name
251
+ ]
252
+
253
+ if not (
254
+ bcrypt.checkpw(
255
+ password.encode("utf-8"),
256
+ hashed_password.encode("utf-8"),
257
+ )
258
+ ):
259
+ output_content = get_api_output_in_standard_format(
260
+ message=messages["INCORRECT_PASSWORD"],
261
+ log=f"incorrect password for user_id {user_id}.",
262
+ )
263
+ return JSONResponse(
264
+ status_code=status.HTTP_400_BAD_REQUEST,
265
+ content=output_content,
266
+ )
228
267
  """
229
268
  main process
230
269
  """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: square-administration
3
- Version: 2.4.0
3
+ Version: 3.0.0
4
4
  Summary: common business layer for my personal server.
5
5
  Home-page: https://github.com/thepmsquare/square_administration
6
6
  Author: thePmSquare
@@ -32,6 +32,10 @@ pip install square_administration
32
32
 
33
33
  ## changelog
34
34
 
35
+ ### v3.0.0
36
+
37
+ - add new parameter -> password in authentication -> remove_app_for_self_v0.
38
+
35
39
  ### v2.4.0
36
40
 
37
41
  - auto docker image build github action.