Skip to content

Commit 6c3c612

Browse files
committed
feat: DataSource check
1 parent eb80b51 commit 6c3c612

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

backend/apps/datasource/crud/datasource.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,22 @@ def check_status(session: SessionDep, ds: CoreDatasource):
4141
return False
4242

4343

44+
def check_name(session: SessionDep, ds: CoreDatasource):
45+
if ds.id is not None:
46+
ds_list = session.query(CoreDatasource).filter(
47+
and_(CoreDatasource.name == ds.name, CoreDatasource.id != ds.id)).all()
48+
if ds_list is not None and len(ds_list) > 0:
49+
raise 'Name exist'
50+
else:
51+
ds_list = session.query(CoreDatasource).filter(CoreDatasource.name == ds.name).all()
52+
if ds_list is not None and len(ds_list) > 0:
53+
raise 'Name exist'
54+
55+
4456
def create_ds(session: SessionDep, user: CurrentUser, create_ds: CreateDatasource):
4557
ds = CoreDatasource()
4658
deepcopy_ignore_extra(create_ds, ds)
59+
check_name(session, ds)
4760
ds.create_time = datetime.datetime.now()
4861
# status = check_status(session, ds)
4962
ds.create_by = user.id
@@ -68,6 +81,7 @@ def chooseTables(session: SessionDep, id: int, tables: List[CoreTable]):
6881

6982
def update_ds(session: SessionDep, ds: CoreDatasource):
7083
ds.id = int(ds.id)
84+
check_name(session, ds)
7185
status = check_status(session, ds)
7286
ds.status = "Success" if status is True else "Fail"
7387
record = session.exec(select(CoreDatasource).where(CoreDatasource.id == ds.id)).first()

0 commit comments

Comments
 (0)