Skip to content

Commit b4338d8

Browse files
committed
feat:manager check
1 parent a03bfdb commit b4338d8

5 files changed

Lines changed: 46 additions & 9 deletions

File tree

internal/app/fastgpt/handler/v1/app.go

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import (
77
"HelpStudent/internal/app/fastgpt/dao"
88
"HelpStudent/internal/app/fastgpt/dto"
99
"HelpStudent/internal/app/fastgpt/model"
10+
dao2 "HelpStudent/internal/app/managers/dao"
1011
"errors"
1112

1213
"github.com/flamego/binding"
@@ -21,6 +22,12 @@ func HandleCreateApp(c flamego.Context, r flamego.Render, req dto.CreateAppReque
2122
return
2223
}
2324

25+
// 检查是否是管理员
26+
if !dao2.Managers.IsManager(authInfo.Uid) {
27+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
28+
return
29+
}
30+
2431
// 检查 AppID 是否已存在
2532
exists, err := dao.FastgptApp.CheckAppIDExists(req.AppID, 0)
2633
if err != nil {
@@ -61,6 +68,12 @@ func HandleGetAppList(c flamego.Context, r flamego.Render, req dto.GetAppListReq
6168
req.Limit = 100
6269
}
6370

71+
// 检查是否是管理员
72+
if !dao2.Managers.IsManager(authInfo.Uid) {
73+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
74+
return
75+
}
76+
6477
apps, total, err := dao.FastgptApp.GetAllApps(req.Offset, req.Limit)
6578
if err != nil {
6679
logx.SystemLogger.CtxError(c.Request().Context(), err)
@@ -97,6 +110,12 @@ func HandleUpdateApp(c flamego.Context, r flamego.Render, req dto.UpdateAppReque
97110
return
98111
}
99112

113+
// 检查是否是管理员
114+
if !dao2.Managers.IsManager(authInfo.Uid) {
115+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
116+
return
117+
}
118+
100119
// 检查应用是否存在
101120
_, err := dao.FastgptApp.GetAppByPrimaryID(req.ID)
102121
if err != nil {
@@ -146,6 +165,12 @@ func HandleDeleteApp(c flamego.Context, r flamego.Render, req dto.DeleteAppReque
146165
return
147166
}
148167

168+
// 检查是否是管理员
169+
if !dao2.Managers.IsManager(authInfo.Uid) {
170+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
171+
return
172+
}
173+
149174
// 检查应用是否存在
150175
_, err := dao.FastgptApp.GetAppByPrimaryID(req.ID)
151176
if err != nil {

internal/app/fastgpt/model/fastgpt.go

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,3 @@ type FastgptApp struct {
1414
Status int `gorm:"default:1;comment:状态(1:启用,0:禁用)"`
1515
CreatedBy string `gorm:"type:varchar(50);comment:创建者"`
1616
}
17-
18-
func (FastgptApp) TableName() string {
19-
return "fastgpt_apps"
20-
}

internal/app/fastgpt/router/fastgpt.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,5 +62,3 @@ func AppFastgptInit(e *flamego.Flame) {
6262
})
6363
}, web.Authorization)
6464
}
65-
66-
func FastgptGroup(e *flamego.Flame) {}

internal/app/managers/handler/v1/managers.go

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,12 @@ import (
2323
)
2424

2525
// HandleImportStudentSubjectsExcel 处理Excel导入学生科目
26-
func HandleImportStudentSubjectsExcel(c flamego.Context, r flamego.Render) {
26+
func HandleImportStudentSubjectsExcel(c flamego.Context, r flamego.Render, authInfo auth.Info) {
27+
// 检查是否是管理员
28+
if !dao.Managers.IsManager(authInfo.Uid) {
29+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
30+
return
31+
}
2732
// 从 FormFile 获取文件
2833
file, header, err := c.Request().FormFile("file")
2934
if err != nil {
@@ -186,6 +191,11 @@ func HandleAddManager(r flamego.Render, c flamego.Context, req dto.AddManagerReq
186191
response.InValidParam(r, errs)
187192
return
188193
}
194+
// 检查是否是管理员
195+
if !dao.Managers.IsManager(authInfo.Uid) {
196+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
197+
return
198+
}
189199
if authInfo.Uid == req.StaffId {
190200
response.HTTPFail(r, 403001, "不能添加自己")
191201
return
@@ -226,6 +236,11 @@ func HandleDeleteManager(r flamego.Render, c flamego.Context, req dto.DeleteMana
226236
response.InValidParam(r, errs)
227237
return
228238
}
239+
// 检查是否是管理员
240+
if !dao.Managers.IsManager(authInfo.Uid) {
241+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
242+
return
243+
}
229244

230245
// 防止删除自己
231246
if req.StaffId == authInfo.Uid {
@@ -266,6 +281,11 @@ func HandleGetManagerList(r flamego.Render, c flamego.Context, authInfo auth.Inf
266281
response.HTTPFail(r, 403002, "permission denied")
267282
return
268283
}
284+
// 检查是否是管理员
285+
if !dao.Managers.IsManager(authInfo.Uid) {
286+
response.HTTPFail(r, 400013, "非管理员用户无法创建应用")
287+
return
288+
}
269289
managers, total, err := dao.Managers.GetAllManagers()
270290
if err != nil {
271291
logx.SystemLogger.CtxError(c.Request().Context(), err)

internal/app/managers/router/managers.go

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,5 +36,3 @@ func AppManagersInit(e *flamego.Flame) {
3636
}, web.Authorization)
3737

3838
}
39-
40-
func ManagersGroup(e *flamego.Flame) {}

0 commit comments

Comments
 (0)