Skip to content

Commit 3e050a5

Browse files
committed
RDBC-954 Python client: fix Connection String R/W Bugs (OLAP + AI)
1 parent 605882a commit 3e050a5

File tree

3 files changed

+21
-12
lines changed

3 files changed

+21
-12
lines changed

ravendb/documents/operations/ai/ai_connection_string.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class AiModelType(enum.Enum):
1717
CHAT = "Chat"
1818

1919

20-
class AiConnectionString(ConnectionString): # todo kuba
20+
class AiConnectionString(ConnectionString):
2121
def __init__(
2222
self,
2323
name: str,

ravendb/documents/operations/backups/settings.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,14 +68,20 @@ def __init__(
6868
def from_json(cls, json_dict: Dict[str, Any]) -> LocalSettings:
6969
return cls(
7070
json_dict["Disabled"],
71-
GetBackupConfigurationScript.from_json(json_dict["GetBackupConfigurationScript"]),
71+
(
72+
GetBackupConfigurationScript.from_json(json_dict["GetBackupConfigurationScript"])
73+
if json_dict["GetBackupConfigurationScript"]
74+
else None
75+
),
7276
json_dict["FolderPath"],
7377
)
7478

7579
def to_json(self) -> Dict[str, Any]:
7680
return {
7781
"Disabled": self.disabled,
78-
"GetBackupConfigurationScript": self.get_backup_configuration_script.to_json(),
82+
"GetBackupConfigurationScript": (
83+
self.get_backup_configuration_script.to_json() if self.get_backup_configuration_script else None
84+
),
7985
"FolderPath": self.folder_path,
8086
}
8187

ravendb/documents/operations/connection_string/remove_connection_string_operation.py

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,10 @@
44

55
import requests
66

7-
from ravendb import RavenCommand, RaftCommand, ConnectionString, ServerNode
7+
from ravendb import RavenCommand, RaftCommand, ServerNode
88
from ravendb.documents.operations.definitions import MaintenanceOperation
99
from ravendb.util.util import RaftIdGenerator
10+
from ravendb.serverwide.server_operation_executor import ConnectionStringType
1011

1112

1213
class RemoveConnectionStringResult:
@@ -17,27 +18,29 @@ def to_json(self) -> Dict:
1718
return {"RaftCommandIndex": self.raft_command_index}
1819

1920
@classmethod
20-
def from_json(cls, json_dict: Dict) -> "PutConnectionStringResult":
21+
def from_json(cls, json_dict: Dict) -> "RemoveConnectionStringResult":
2122
return cls(json_dict["RaftCommandIndex"])
2223

2324

2425
class RemoveConnectionStringOperation(MaintenanceOperation[RemoveConnectionStringResult]):
25-
def __init__(self, connection_string: ConnectionString = None):
26-
self._connection_string = connection_string
26+
def __init__(self, connection_string_name: str, connection_string_type: ConnectionStringType):
27+
self._connection_string_name = connection_string_name
28+
self._connection_string_type = connection_string_type
2729

28-
def get_command(self, conventions: "DocumentConventions") -> "RavenCommand[_T]":
29-
return self.RemoveConnectionStringCommand(self._connection_string)
30+
def get_command(self, conventions: "DocumentConventions") -> "RavenCommand[RemoveConnectionStringResult]":
31+
return self.RemoveConnectionStringCommand(self._connection_string_name, self._connection_string_type)
3032

3133
class RemoveConnectionStringCommand(RavenCommand[RemoveConnectionStringResult], RaftCommand):
32-
def __init__(self, connection_string: ConnectionString = None):
34+
def __init__(self, connection_string_name: str, connection_string_type: ConnectionStringType):
3335
super().__init__(RemoveConnectionStringResult)
34-
self._connection_string = connection_string
36+
self._connection_string_name = connection_string_name
37+
self._connection_string_type = connection_string_type
3538

3639
def is_read_request(self) -> bool:
3740
return False
3841

3942
def create_request(self, node: ServerNode) -> requests.Request:
40-
url = f"{node.url}/databases/{node.database}/admin/connection-strings?connectionString={urllib.parse.quote(self._connection_string.name)}&type={self._connection_string.get_type}"
43+
url = f"{node.url}/databases/{node.database}/admin/connection-strings?connectionString={urllib.parse.quote(self._connection_string_name)}&type={self._connection_string_type.value}"
4144

4245
request = requests.Request("DELETE")
4346
request.url = url

0 commit comments

Comments
 (0)