Skip to content

Commit 1b3da9c

Browse files
Syed Raza AbbasSyed Raza Abbas
authored andcommitted
flaten set method
1 parent b5861ae commit 1b3da9c

File tree

6 files changed

+54
-7
lines changed

6 files changed

+54
-7
lines changed

kinde_sdk/auth/oauth.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ def __init__(
5858
storage_config = config.get("storage", {"type": "memory"}) # Default to "memory"
5959
elif storage_config is None:
6060
storage_config = {"type": "memory"} # Default to in-memory storage if no config is provided
61-
# storage = StorageFactory.create_storage(storage_config)
61+
6262
storage_manager = StorageManager()
6363
storage_manager.initialize(storage_config)
6464

@@ -150,12 +150,12 @@ async def generate_auth_url(
150150
# Generate state if not provided
151151
state = login_options.get(LoginOptions.STATE, generate_random_string(32))
152152
search_params["state"] = state
153-
self.session_manager.storage_manager.set("state", {"value": state})
153+
self.session_manager.storage_manager.setItems("state", {"value": state})
154154

155155
# Generate nonce if not provided
156156
nonce = login_options.get(LoginOptions.NONCE, generate_random_string(16))
157157
search_params["nonce"] = nonce
158-
self.session_manager.storage_manager.set("nonce", {"value": nonce})
158+
self.session_manager.storage_manager.setItems("nonce", {"value": nonce})
159159

160160
# Handle PKCE
161161
code_verifier = ""
@@ -166,7 +166,7 @@ async def generate_auth_url(
166166
pkce_data = await generate_pkce_pair(52) # Use 52 chars to match JS implementation
167167
code_verifier = pkce_data["code_verifier"]
168168
search_params["code_challenge"] = pkce_data["code_challenge"]
169-
self.session_manager.storage_manager.set("code_verifier", {"value": code_verifier})
169+
self.session_manager.storage_manager.setItems("code_verifier", {"value": code_verifier})
170170

171171
# Set code challenge method
172172
code_challenge_method = login_options.get(LoginOptions.CODE_CHALLENGE_METHOD, "S256")

kinde_sdk/auth/user_session.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ def _save_to_storage(self, user_id: str):
7777
}
7878
# Store with user: prefix to make it user-specific but device-independent
7979
# if you want device-specific sessions, remove the "user:" prefix
80-
self.storage_manager.set(user_id, serialized_data)
80+
self.storage_manager.setItems(user_id, serialized_data)
8181

8282
# def _load_from_storage(self, user_id: str) -> bool:
8383
# """Load session data from storage if not already in memory."""

kinde_sdk/core/storage/local_storage.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ def set(self, key: str, value: Dict) -> None:
3232
"""
3333
self.storage.setItem(key, json.dumps(value))
3434

35+
def set_flat(self, data: str) -> None:
36+
"""
37+
Store data associated with the given key.
38+
39+
Args:
40+
key (str): The key to store the data under.
41+
value (Dict): The data to store.
42+
"""
43+
self.storage.set(json.dumps(data))
44+
3545
def delete(self, key: str) -> None:
3646
"""
3747
Delete data associated with the given key.

kinde_sdk/core/storage/memory_storage.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
class MemoryStorage(StorageInterface):
66
def __init__(self):
77
self._storage = {}
8+
self._flat_storage = []
89

910
def get(self, key: str) -> Optional[Dict]:
1011
"""
@@ -28,6 +29,16 @@ def set(self, key: str, value: Dict) -> None:
2829
"""
2930
self._storage[key] = value
3031

32+
def set_flat(self, data: str) -> None:
33+
"""
34+
Store data associated with the given key.
35+
36+
Args:
37+
key (str): The key to store the data under.
38+
value (Dict): The data to store.
39+
"""
40+
self._flat_storage = data
41+
3142
def delete(self, key: str) -> None:
3243
"""
3344
Delete data associated with the given key.

kinde_sdk/core/storage/storage_interface.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,17 @@ def set(self, key: str, value: Dict) -> None:
2727
"""
2828
pass
2929

30+
@abstractmethod
31+
def set_flat(self, value: str) -> None:
32+
"""
33+
Store data associated with the given key.
34+
35+
Args:
36+
key (str): The key to store the data under.
37+
value (Dict): The data to store.
38+
"""
39+
pass
40+
3041
@abstractmethod
3142
def delete(self, key: str) -> None:
3243
"""

kinde_sdk/core/storage/storage_manager.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ def get_device_id(self) -> str:
6666
else:
6767
# Generate a new device ID
6868
self._device_id = str(uuid.uuid4())
69-
self.set("_device_id", {"value": self._device_id, "timestamp": time.time()})
69+
self.setItems("_device_id", {"value": self._device_id, "timestamp": time.time()})
7070

7171
return self._device_id
7272

@@ -128,7 +128,7 @@ def get(self, key: str) -> Optional[Dict]:
128128
namespaced_key = self._get_namespaced_key(key)
129129
return self._storage.get(namespaced_key)
130130

131-
def set(self, key: str, value: Dict) -> None:
131+
def setItems(self, key: str, value: Dict) -> None:
132132
"""
133133
Store data in storage.
134134
@@ -143,6 +143,21 @@ def set(self, key: str, value: Dict) -> None:
143143
self._storage.set(namespaced_key, value)
144144

145145

146+
def set(self, access_token : str) -> None:
147+
"""
148+
Store data in storage.
149+
150+
Args:
151+
key (str): The key to store under.
152+
value (Dict): The data to store.
153+
"""
154+
if self._storage is None:
155+
self.initialize()
156+
157+
# namespaced_key = self._get_namespaced_key(key)
158+
self._storage.set_flat(access_token)
159+
160+
146161
def delete(self, key: str) -> None:
147162
"""
148163
Delete data from storage by key.

0 commit comments

Comments
 (0)