Skip to content

Commit 5b0aef8

Browse files
committed
修复用户创建服务时提示resource not found的问题
1 parent 4571b95 commit 5b0aef8

2 files changed

Lines changed: 49 additions & 49 deletions

File tree

internal/db/models/reverse_proxy_dao.go

Lines changed: 36 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,12 @@ func init() {
3838
})
3939
}
4040

41-
// 初始化
41+
// Init 初始化
4242
func (this *ReverseProxyDAO) Init() {
4343
_ = this.DAOObject.Init()
4444
}
4545

46-
// 启用条目
46+
// EnableReverseProxy 启用条目
4747
func (this *ReverseProxyDAO) EnableReverseProxy(tx *dbs.Tx, id int64) error {
4848
_, err := this.Query(tx).
4949
Pk(id).
@@ -55,7 +55,7 @@ func (this *ReverseProxyDAO) EnableReverseProxy(tx *dbs.Tx, id int64) error {
5555
return this.NotifyUpdate(tx, id)
5656
}
5757

58-
// 禁用条目
58+
// DisableReverseProxy 禁用条目
5959
func (this *ReverseProxyDAO) DisableReverseProxy(tx *dbs.Tx, id int64) error {
6060
_, err := this.Query(tx).
6161
Pk(id).
@@ -67,7 +67,7 @@ func (this *ReverseProxyDAO) DisableReverseProxy(tx *dbs.Tx, id int64) error {
6767
return this.NotifyUpdate(tx, id)
6868
}
6969

70-
// 查找启用中的条目
70+
// FindEnabledReverseProxy 查找启用中的条目
7171
func (this *ReverseProxyDAO) FindEnabledReverseProxy(tx *dbs.Tx, id int64) (*ReverseProxy, error) {
7272
result, err := this.Query(tx).
7373
Pk(id).
@@ -79,7 +79,7 @@ func (this *ReverseProxyDAO) FindEnabledReverseProxy(tx *dbs.Tx, id int64) (*Rev
7979
return result.(*ReverseProxy), err
8080
}
8181

82-
// 根据iD组合配置
82+
// ComposeReverseProxyConfig 根据ID组合配置
8383
func (this *ReverseProxyDAO) ComposeReverseProxyConfig(tx *dbs.Tx, reverseProxyId int64) (*serverconfigs.ReverseProxyConfig, error) {
8484
reverseProxy, err := this.FindEnabledReverseProxy(tx, reverseProxyId)
8585
if err != nil {
@@ -184,7 +184,7 @@ func (this *ReverseProxyDAO) ComposeReverseProxyConfig(tx *dbs.Tx, reverseProxyI
184184
return config, nil
185185
}
186186

187-
// 创建反向代理
187+
// CreateReverseProxy 创建反向代理
188188
func (this *ReverseProxyDAO) CreateReverseProxy(tx *dbs.Tx, adminId int64, userId int64, schedulingJSON []byte, primaryOriginsJSON []byte, backupOriginsJSON []byte) (int64, error) {
189189
op := NewReverseProxyOperator()
190190
op.IsOn = true
@@ -216,7 +216,7 @@ func (this *ReverseProxyDAO) CreateReverseProxy(tx *dbs.Tx, adminId int64, userI
216216
return types.Int64(op.Id), nil
217217
}
218218

219-
// 修改反向代理调度算法
219+
// UpdateReverseProxyScheduling 修改反向代理调度算法
220220
func (this *ReverseProxyDAO) UpdateReverseProxyScheduling(tx *dbs.Tx, reverseProxyId int64, schedulingJSON []byte) error {
221221
if reverseProxyId <= 0 {
222222
return errors.New("invalid reverseProxyId")
@@ -235,7 +235,7 @@ func (this *ReverseProxyDAO) UpdateReverseProxyScheduling(tx *dbs.Tx, reversePro
235235
return this.NotifyUpdate(tx, reverseProxyId)
236236
}
237237

238-
// 修改主要源站
238+
// UpdateReverseProxyPrimaryOrigins 修改主要源站
239239
func (this *ReverseProxyDAO) UpdateReverseProxyPrimaryOrigins(tx *dbs.Tx, reverseProxyId int64, origins []byte) error {
240240
if reverseProxyId <= 0 {
241241
return errors.New("invalid reverseProxyId")
@@ -254,7 +254,7 @@ func (this *ReverseProxyDAO) UpdateReverseProxyPrimaryOrigins(tx *dbs.Tx, revers
254254
return this.NotifyUpdate(tx, reverseProxyId)
255255
}
256256

257-
// 修改备用源站
257+
// UpdateReverseProxyBackupOrigins 修改备用源站
258258
func (this *ReverseProxyDAO) UpdateReverseProxyBackupOrigins(tx *dbs.Tx, reverseProxyId int64, origins []byte) error {
259259
if reverseProxyId <= 0 {
260260
return errors.New("invalid reverseProxyId")
@@ -273,7 +273,7 @@ func (this *ReverseProxyDAO) UpdateReverseProxyBackupOrigins(tx *dbs.Tx, reverse
273273
return this.NotifyUpdate(tx, reverseProxyId)
274274
}
275275

276-
// 修改是否启用
276+
// UpdateReverseProxy 修改是否启用
277277
func (this *ReverseProxyDAO) UpdateReverseProxy(tx *dbs.Tx, reverseProxyId int64, requestHostType int8, requestHost string, requestURI string, stripPrefix string, autoFlush bool, addHeaders []string, connTimeout *shared.TimeDuration, readTimeout *shared.TimeDuration, idleTimeout *shared.TimeDuration, maxConns int32, maxIdleConns int32) error {
278278
if reverseProxyId <= 0 {
279279
return errors.New("invalid reverseProxyId")
@@ -340,7 +340,7 @@ func (this *ReverseProxyDAO) UpdateReverseProxy(tx *dbs.Tx, reverseProxyId int64
340340
return this.NotifyUpdate(tx, reverseProxyId)
341341
}
342342

343-
// 查找包含某个源站的反向代理ID
343+
// FindReverseProxyContainsOriginId 查找包含某个源站的反向代理ID
344344
func (this *ReverseProxyDAO) FindReverseProxyContainsOriginId(tx *dbs.Tx, originId int64) (int64, error) {
345345
return this.Query(tx).
346346
ResultPk().
@@ -351,7 +351,31 @@ func (this *ReverseProxyDAO) FindReverseProxyContainsOriginId(tx *dbs.Tx, origin
351351
FindInt64Col(0)
352352
}
353353

354-
// 通知更新
354+
// CheckUserReverseProxy 检查用户权限
355+
func (this *ReverseProxyDAO) CheckUserReverseProxy(tx *dbs.Tx, userId int64, reverseProxyId int64) error {
356+
exists, err := this.Query(tx).
357+
Pk(reverseProxyId).
358+
Attr("userId", userId).
359+
Exist()
360+
if err != nil {
361+
return err
362+
}
363+
if exists {
364+
return nil
365+
}
366+
367+
// 检查server是否为用户的
368+
serverId, err := SharedServerDAO.FindEnabledServerIdWithReverseProxyId(tx, reverseProxyId)
369+
if err != nil {
370+
return err
371+
}
372+
if serverId == 0 {
373+
return ErrNotFound
374+
}
375+
return SharedServerDAO.CheckUserServer(tx, userId, serverId)
376+
}
377+
378+
// NotifyUpdate 通知更新
355379
func (this *ReverseProxyDAO) NotifyUpdate(tx *dbs.Tx, reverseProxyId int64) error {
356380
serverId, err := SharedServerDAO.FindEnabledServerIdWithReverseProxyId(tx, reverseProxyId)
357381
if err != nil {

internal/rpc/services/service_reverse_proxy.go

Lines changed: 13 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ type ReverseProxyService struct {
1313
BaseService
1414
}
1515

16-
// 创建反向代理
16+
// CreateReverseProxy 创建反向代理
1717
func (this *ReverseProxyService) CreateReverseProxy(ctx context.Context, req *pb.CreateReverseProxyRequest) (*pb.CreateReverseProxyResponse, error) {
1818
// 校验请求
1919
adminId, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -35,7 +35,7 @@ func (this *ReverseProxyService) CreateReverseProxy(ctx context.Context, req *pb
3535
return &pb.CreateReverseProxyResponse{ReverseProxyId: reverseProxyId}, nil
3636
}
3737

38-
// 查找反向代理
38+
// FindEnabledReverseProxy 查找反向代理
3939
func (this *ReverseProxyService) FindEnabledReverseProxy(ctx context.Context, req *pb.FindEnabledReverseProxyRequest) (*pb.FindEnabledReverseProxyResponse, error) {
4040
// 校验请求
4141
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -44,11 +44,7 @@ func (this *ReverseProxyService) FindEnabledReverseProxy(ctx context.Context, re
4444
}
4545

4646
if userId > 0 {
47-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
48-
if err != nil {
49-
return nil, err
50-
}
51-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
47+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
5248
if err != nil {
5349
return nil, err
5450
}
@@ -73,7 +69,7 @@ func (this *ReverseProxyService) FindEnabledReverseProxy(ctx context.Context, re
7369
return &pb.FindEnabledReverseProxyResponse{ReverseProxy: result}, nil
7470
}
7571

76-
// 查找反向代理配置
72+
// FindEnabledReverseProxyConfig 查找反向代理配置
7773
func (this *ReverseProxyService) FindEnabledReverseProxyConfig(ctx context.Context, req *pb.FindEnabledReverseProxyConfigRequest) (*pb.FindEnabledReverseProxyConfigResponse, error) {
7874
// 校验请求
7975
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -82,11 +78,7 @@ func (this *ReverseProxyService) FindEnabledReverseProxyConfig(ctx context.Conte
8278
}
8379

8480
if userId > 0 {
85-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
86-
if err != nil {
87-
return nil, err
88-
}
89-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
81+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
9082
if err != nil {
9183
return nil, err
9284
}
@@ -107,7 +99,7 @@ func (this *ReverseProxyService) FindEnabledReverseProxyConfig(ctx context.Conte
10799
return &pb.FindEnabledReverseProxyConfigResponse{ReverseProxyJSON: configData}, nil
108100
}
109101

110-
// 修改反向代理调度算法
102+
// UpdateReverseProxyScheduling 修改反向代理调度算法
111103
func (this *ReverseProxyService) UpdateReverseProxyScheduling(ctx context.Context, req *pb.UpdateReverseProxySchedulingRequest) (*pb.RPCSuccess, error) {
112104
// 校验请求
113105
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -116,11 +108,7 @@ func (this *ReverseProxyService) UpdateReverseProxyScheduling(ctx context.Contex
116108
}
117109

118110
if userId > 0 {
119-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
120-
if err != nil {
121-
return nil, err
122-
}
123-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
111+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
124112
if err != nil {
125113
return nil, err
126114
}
@@ -136,7 +124,7 @@ func (this *ReverseProxyService) UpdateReverseProxyScheduling(ctx context.Contex
136124
return this.Success()
137125
}
138126

139-
// 修改主要源站信息
127+
// UpdateReverseProxyPrimaryOrigins 修改主要源站信息
140128
func (this *ReverseProxyService) UpdateReverseProxyPrimaryOrigins(ctx context.Context, req *pb.UpdateReverseProxyPrimaryOriginsRequest) (*pb.RPCSuccess, error) {
141129
// 校验请求
142130
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -145,11 +133,7 @@ func (this *ReverseProxyService) UpdateReverseProxyPrimaryOrigins(ctx context.Co
145133
}
146134

147135
if userId > 0 {
148-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
149-
if err != nil {
150-
return nil, err
151-
}
152-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
136+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
153137
if err != nil {
154138
return nil, err
155139
}
@@ -165,7 +149,7 @@ func (this *ReverseProxyService) UpdateReverseProxyPrimaryOrigins(ctx context.Co
165149
return this.Success()
166150
}
167151

168-
// 修改备用源站信息
152+
// UpdateReverseProxyBackupOrigins 修改备用源站信息
169153
func (this *ReverseProxyService) UpdateReverseProxyBackupOrigins(ctx context.Context, req *pb.UpdateReverseProxyBackupOriginsRequest) (*pb.RPCSuccess, error) {
170154
// 校验请求
171155
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -174,11 +158,7 @@ func (this *ReverseProxyService) UpdateReverseProxyBackupOrigins(ctx context.Con
174158
}
175159

176160
if userId > 0 {
177-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
178-
if err != nil {
179-
return nil, err
180-
}
181-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
161+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
182162
if err != nil {
183163
return nil, err
184164
}
@@ -194,7 +174,7 @@ func (this *ReverseProxyService) UpdateReverseProxyBackupOrigins(ctx context.Con
194174
return this.Success()
195175
}
196176

197-
// 修改是否启用
177+
// UpdateReverseProxy 修改是否启用
198178
func (this *ReverseProxyService) UpdateReverseProxy(ctx context.Context, req *pb.UpdateReverseProxyRequest) (*pb.RPCSuccess, error) {
199179
// 校验请求
200180
_, userId, err := this.ValidateAdminAndUser(ctx, 0, 0)
@@ -203,11 +183,7 @@ func (this *ReverseProxyService) UpdateReverseProxy(ctx context.Context, req *pb
203183
}
204184

205185
if userId > 0 {
206-
serverId, err := models.SharedServerDAO.FindEnabledServerIdWithReverseProxyId(nil, req.ReverseProxyId)
207-
if err != nil {
208-
return nil, err
209-
}
210-
err = models.SharedServerDAO.CheckUserServer(nil, userId, serverId)
186+
err = models.SharedReverseProxyDAO.CheckUserReverseProxy(nil, userId, req.ReverseProxyId)
211187
if err != nil {
212188
return nil, err
213189
}

0 commit comments

Comments
 (0)