Skip to content

Commit 122f47c

Browse files
committed
feat: datasource
1 parent 8042b67 commit 122f47c

File tree

4 files changed

+13
-31
lines changed

4 files changed

+13
-31
lines changed

backend/apps/datasource/api/datasource.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,21 @@
66
router = APIRouter(tags=["datasource"], prefix="/datasource")
77

88
@router.get("/list")
9-
def datasource_list(session: SessionDep):
9+
async def datasource_list(session: SessionDep):
1010
return get_datasource_list(session=session)
1111

1212
@router.post("/check")
13-
def check(session: SessionDep, ds: CoreDatasource):
13+
async def check(session: SessionDep, ds: CoreDatasource):
1414
return check_status(session, ds)
1515

1616
@router.post("/add", response_model=CoreDatasource)
17-
def add(session: SessionDep, ds: CoreDatasource):
17+
async def add(session: SessionDep, ds: CoreDatasource):
1818
return create_ds(session, ds)
1919

2020
@router.post("/update", response_model=CoreDatasource)
21-
def update(session: SessionDep, ds: CoreDatasource):
21+
async def update(session: SessionDep, ds: CoreDatasource):
2222
return update_ds(session, ds)
2323

2424
@router.post("/delete/{id}", response_model=CoreDatasource)
25-
def delete(session: SessionDep, id: int):
25+
async def delete(session: SessionDep, id: int):
2626
return delete_ds(session, id)

frontend/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
"devDependencies": {
1717
"@element-plus/icons-vue": "^2.3.1",
1818
"@types/crypto-js": "^4.2.2",
19+
"crypto-js": "^4.2.0",
1920
"@types/node": "^22.14.1",
2021
"@vitejs/plugin-vue": "^5.2.2",
2122
"@vue/tsconfig": "^0.7.0",

frontend/src/views/ds/form.vue

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
<el-input v-model="config.username" />
3232
</el-form-item>
3333
<el-form-item label="Password">
34-
<el-input v-model="config.password" />
34+
<el-input v-model="config.password" type="password" show-password />
3535
</el-form-item>
3636
<el-form-item label="Database">
3737
<el-input v-model="config.database" />
@@ -91,12 +91,10 @@ const open = (item: any) => {
9191
}
9292
} else {
9393
form.value = {
94-
driver:'',
95-
host:'',
96-
port:0,
97-
username:'',
98-
password:'',
99-
database:'',
94+
name:'',
95+
description:'',
96+
type:'mysql',
97+
configuration: ''
10098
}
10199
config.value = {
102100
driver:'',

frontend/src/views/ds/index.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,8 @@
3333
</div>
3434
<div class="connection-status" :class="`${getStatus(ds.status)}`">{{ ds.status }}</div>
3535
<div class="connection-actions">
36-
<button class="action-btn" @click="editDs(ds)">
37-
<el-icon><IconOpeEdit /></el-icon>
38-
</button>
39-
<button class="action-btn" @click="deleteDs(ds)">
40-
<el-icon><IconOpeDelete /></el-icon>
41-
</button>
36+
<el-button type="primary" class="action-btn" circle @click="editDs(ds)" :icon="IconOpeEdit"/>
37+
<el-button type="danger" class="action-btn" circle @click="deleteDs(ds)" :icon="IconOpeDelete"/>
4238
</div>
4339
</div>
4440
</div>
@@ -217,20 +213,7 @@ onMounted(() => {
217213
bottom: 20px;
218214
right: 20px;
219215
display: flex;
220-
transition: opacity 0.2s ease;
221-
gap: 8px;
222216
.action-btn {
223-
width: 36px;
224-
height: 36px;
225-
border-radius: 50%;
226-
display: none;
227-
align-items: center;
228-
justify-content: center;
229-
color: #5f6368;
230-
cursor: pointer;
231-
transition: all 0.2s;
232-
background-color: #f1f3f4;
233-
border: none;
234217
}
235218
}
236219
:hover .action-btn{

0 commit comments

Comments
 (0)