Skip to content

Commit b967067

Browse files
added the function for updating a Datasource
1 parent 44ea99a commit b967067

File tree

1 file changed

+34
-0
lines changed

1 file changed

+34
-0
lines changed

minds/datasources/datasources.py

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,40 @@ def create(
5959
data=data
6060
)
6161
return Datasource(**response.json())
62+
63+
def update(
64+
self,
65+
name: str,
66+
new_name: Optional[str] = None,
67+
description: Optional[str] = None,
68+
connection_data: Optional[dict] = None,
69+
):
70+
"""
71+
Update existing datasource.
72+
73+
:param name: name of datasource to update.
74+
:param new_name: new name of datasource.
75+
:param description: str, optional, description of the database. Used by mind to know what data can be got from it.
76+
:param connection_data: dict, optional, credentials to connect to database.
77+
:return: Datasource object.
78+
"""
79+
utils.validate_datasource_name(name)
80+
if new_name is not None:
81+
utils.validate_datasource_name(new_name)
82+
83+
data = {}
84+
if new_name is not None:
85+
data['name'] = new_name
86+
if connection_data is not None:
87+
data['connection_data'] = connection_data
88+
if description is not None:
89+
data['description'] = description
90+
91+
response = self.api.put(
92+
f'/datasources/{name}',
93+
data=data
94+
)
95+
return Datasource(**response.json())
6296

6397
def list(self) -> List[Datasource]:
6498
"""

0 commit comments

Comments
 (0)