|
@@ -72,8 +72,10 @@ def create_job_jdbc_datasource(db: Session, item: schemas.JobJdbcDatasourceCreat
|
|
|
item.jdbc_password = decode_base64(item.jdbc_password)
|
|
|
ds, item = _format_datasource(db, item)
|
|
|
|
|
|
- #
|
|
|
create_time: int = int(time.time())
|
|
|
+ name_item = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.datasource_name == item.datasource_name).first()
|
|
|
+ if name_item:
|
|
|
+ raise Exception('数据源名称重复')
|
|
|
db_item = models.JobJdbcDatasource(**item.dict(), **{
|
|
|
'status': 1,
|
|
|
'create_time': create_time,
|
|
@@ -120,6 +122,11 @@ def update_job_jdbc_datasources(db: Session, ds_id: int, update_item: schemas.Jo
|
|
|
db_item = db.query(models.JobJdbcDatasource).filter(models.JobJdbcDatasource.id == ds_id).first()
|
|
|
if not db_item:
|
|
|
raise Exception('未找到该数据源')
|
|
|
+ name_item = db.query(models.JobJdbcDatasource)\
|
|
|
+ .filter(models.JobJdbcDatasource.datasource_name == update_item.datasource_name)\
|
|
|
+ .filter(models.JobJdbcDatasource.id != ds_id).first()
|
|
|
+ if name_item:
|
|
|
+ raise Exception('数据源名称重复')
|
|
|
update_dict = update_item.dict(exclude_unset=True)
|
|
|
for k, v in update_dict.items():
|
|
|
setattr(db_item, k, v)
|