AIdeaText commited on
Commit
1c6cfb4
1 Parent(s): 928d219

Update modules/auth.py

Browse files
Files changed (1) hide show
  1. modules/auth.py +23 -10
modules/auth.py CHANGED
@@ -26,7 +26,10 @@ def register_user(username, password, role, additional_info=None):
26
  try:
27
  # Check if user already exists
28
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
29
- existing_user = list(container.query_items(query=query, enable_cross_partition_query=True))
 
 
 
30
 
31
  if existing_user:
32
  return False # User already exists
@@ -39,7 +42,7 @@ def register_user(username, password, role, additional_info=None):
39
  'additional_info': additional_info or {}
40
  }
41
 
42
- container.create_item(body=new_user)
43
  return True
44
  except exceptions.CosmosHttpResponseError:
45
  return False
@@ -48,7 +51,10 @@ def authenticate_user(username, password):
48
  """Authenticate a user."""
49
  try:
50
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
51
- results = list(container.query_items(query=query, enable_cross_partition_query=True))
 
 
 
52
 
53
  if results:
54
  stored_user = results[0]
@@ -56,14 +62,15 @@ def authenticate_user(username, password):
56
  return True
57
  except exceptions.CosmosHttpResponseError:
58
  pass
59
-
60
- return False
61
 
62
  def get_user_role(username):
63
  """Get the role of a user."""
64
  try:
65
  query = f"SELECT c.role FROM c WHERE c.id = '{username}'"
66
- results = list(container.query_items(query=query, enable_cross_partition_query=True))
 
 
 
67
 
68
  if results:
69
  return results[0]['role']
@@ -76,12 +83,15 @@ def update_user_info(username, new_info):
76
  """Update user information."""
77
  try:
78
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
79
- results = list(container.query_items(query=query, enable_cross_partition_query=True))
 
 
 
80
 
81
  if results:
82
  user = results[0]
83
  user['additional_info'].update(new_info)
84
- container.upsert_item(user)
85
  return True
86
  except exceptions.CosmosHttpResponseError:
87
  pass
@@ -92,11 +102,14 @@ def delete_user(username):
92
  """Delete a user."""
93
  try:
94
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
95
- results = list(container.query_items(query=query, enable_cross_partition_query=True))
 
 
 
96
 
97
  if results:
98
  user = results[0]
99
- container.delete_item(item=user, partition_key=username)
100
  return True
101
  except exceptions.CosmosHttpResponseError:
102
  pass
 
26
  try:
27
  # Check if user already exists
28
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
29
+ existing_user = list(container.query_items(
30
+ query=query,
31
+ enable_cross_partition_query=True
32
+ ))
33
 
34
  if existing_user:
35
  return False # User already exists
 
42
  'additional_info': additional_info or {}
43
  }
44
 
45
+ container.create_item(body=new_user, partition_key=username)
46
  return True
47
  except exceptions.CosmosHttpResponseError:
48
  return False
 
51
  """Authenticate a user."""
52
  try:
53
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
54
+ results = list(container.query_items(
55
+ query=query,
56
+ partition_key=username
57
+ ))
58
 
59
  if results:
60
  stored_user = results[0]
 
62
  return True
63
  except exceptions.CosmosHttpResponseError:
64
  pass
 
 
65
 
66
  def get_user_role(username):
67
  """Get the role of a user."""
68
  try:
69
  query = f"SELECT c.role FROM c WHERE c.id = '{username}'"
70
+ results = list(container.query_items(
71
+ query=query,
72
+ partition_key=username
73
+ ))
74
 
75
  if results:
76
  return results[0]['role']
 
83
  """Update user information."""
84
  try:
85
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
86
+ results = list(container.query_items(
87
+ query=query,
88
+ partition_key=username
89
+ ))
90
 
91
  if results:
92
  user = results[0]
93
  user['additional_info'].update(new_info)
94
+ container.upsert_item(user, partition_key=username)
95
  return True
96
  except exceptions.CosmosHttpResponseError:
97
  pass
 
102
  """Delete a user."""
103
  try:
104
  query = f"SELECT * FROM c WHERE c.id = '{username}'"
105
+ results = list(container.query_items(
106
+ query=query,
107
+ partition_key=username
108
+ ))
109
 
110
  if results:
111
  user = results[0]
112
+ container.delete_item(item=user['id'], partition_key=username)
113
  return True
114
  except exceptions.CosmosHttpResponseError:
115
  pass