mirror of
https://github.com/APIParkLab/APIPark.git
synced 2026-06-04 10:13:53 +08:00
fix: ai key config error
This commit is contained in:
+14
-6
@@ -152,7 +152,7 @@ func (i *imlKeyModule) Edit(ctx context.Context, providerId string, id string, i
|
||||
if err != nil {
|
||||
return fmt.Errorf("config check failed: %w", err)
|
||||
}
|
||||
cfg, err := p.GenConfig(info.Config, *input.Config)
|
||||
cfg, err := p.GenConfig(*input.Config, info.Config)
|
||||
if err != nil {
|
||||
return fmt.Errorf("config gen failed: %w", err)
|
||||
}
|
||||
@@ -184,16 +184,25 @@ func (i *imlKeyModule) Edit(ctx context.Context, providerId string, id string, i
|
||||
// 停用、超额需要启用,所以维持原状态
|
||||
status = orgStatus.Int()
|
||||
}
|
||||
if status == ai_key_dto.KeyNormal.Int() {
|
||||
// TODO: 发布Key到网关
|
||||
}
|
||||
|
||||
return i.aiKeyService.Save(ctx, id, &ai_key.Edit{
|
||||
err = i.aiKeyService.Save(ctx, id, &ai_key.Edit{
|
||||
Name: input.Name,
|
||||
Config: input.Config,
|
||||
ExpireTime: input.ExpireTime,
|
||||
Status: &status,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if status == ai_key_dto.KeyNormal.Int() {
|
||||
info, err = i.aiKeyService.Get(ctx, id)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
releases := []*gateway.DynamicRelease{newKey(info)}
|
||||
return i.syncGateway(ctx, cluster.DefaultClusterID, releases, true)
|
||||
}
|
||||
return nil
|
||||
})
|
||||
|
||||
}
|
||||
@@ -365,7 +374,6 @@ func (i *imlKeyModule) UpdateKeyStatus(ctx context.Context, providerId string, i
|
||||
}
|
||||
return i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
||||
if !enable {
|
||||
// TODO:下线Key
|
||||
status := ai_key_dto.KeyDisable.Int()
|
||||
err = i.aiKeyService.Save(ctx, id, &ai_key.Edit{
|
||||
Status: &status,
|
||||
|
||||
@@ -176,19 +176,6 @@ func (i *imlCatalogueModule) Subscribe(ctx context.Context, subscribeInfo *catal
|
||||
// 修改订阅表状态
|
||||
subscribers, err := i.subscribeService.ListByApplication(ctx, subscribeInfo.Service, appId)
|
||||
if err != nil {
|
||||
//if !errors.Is(err, gorm.ErrRecordNotFound) {
|
||||
// return err
|
||||
//}
|
||||
//err = i.subscribeService.Create(ctx, &subscribe.CreateSubscribe{
|
||||
// Uuid: uuid.New().String(),
|
||||
// Service: subscribeInfo.Service,
|
||||
// Application: appId,
|
||||
// ApplyStatus: status,
|
||||
// From: subscribe.FromSubscribe,
|
||||
//})
|
||||
//if err != nil {
|
||||
// return err
|
||||
//}
|
||||
return err
|
||||
} else {
|
||||
subscriberMap := utils.SliceToMap(subscribers, func(t *subscribe.Subscribe) string {
|
||||
|
||||
+32
-19
@@ -218,33 +218,46 @@ func (i *imlSubscribeModule) AddSubscriber(ctx context.Context, serviceId string
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
_, err = i.subscribeService.GetByServiceAndApplication(ctx, serviceId, input.Application)
|
||||
if err == nil {
|
||||
// 订阅方已存在
|
||||
return fmt.Errorf("subscriber is already exists")
|
||||
clusters, err := i.clusterService.List(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
sub := &gateway.SubscribeRelease{
|
||||
Service: serviceId,
|
||||
Application: input.Application,
|
||||
Expired: "0",
|
||||
}
|
||||
clusters, err := i.clusterService.List(ctx)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
||||
err = i.subscribeService.Create(ctx, &subscribe.CreateSubscribe{
|
||||
Uuid: uuid.New().String(),
|
||||
Service: serviceId,
|
||||
Application: input.Application,
|
||||
ApplyStatus: subscribe.ApplyStatusSubscribe,
|
||||
From: subscribe.FromUser,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
info, err := i.subscribeService.GetByServiceAndApplication(ctx, serviceId, input.Application)
|
||||
if err == nil {
|
||||
// 订阅方已存在
|
||||
if info.ApplyStatus != subscribe.ApplyStatusSubscribe {
|
||||
// 更新订阅方状态
|
||||
status := subscribe.ApplyStatusSubscribe
|
||||
from := subscribe.FromUser
|
||||
err = i.subscribeService.Save(ctx, info.Id, &subscribe.UpdateSubscribe{
|
||||
ApplyStatus: &status,
|
||||
From: &from,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
err = i.subscribeService.Create(ctx, &subscribe.CreateSubscribe{
|
||||
Uuid: uuid.New().String(),
|
||||
Service: serviceId,
|
||||
Application: input.Application,
|
||||
ApplyStatus: subscribe.ApplyStatusSubscribe,
|
||||
From: subscribe.FromUser,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
for _, c := range clusters {
|
||||
err = i.onlineSubscriber(ctx, c.Uuid, sub)
|
||||
if err != nil {
|
||||
|
||||
@@ -200,6 +200,9 @@ func (i *imlSubscribeService) updateHandler(e *subscribe.Subscribe, t *UpdateSub
|
||||
if t.ApplyStatus != nil {
|
||||
e.ApplyStatus = *t.ApplyStatus
|
||||
}
|
||||
if t.From != nil {
|
||||
e.From = *t.From
|
||||
}
|
||||
}
|
||||
|
||||
var (
|
||||
|
||||
@@ -2,14 +2,14 @@ package subscribe
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
|
||||
"github.com/APIParkLab/APIPark/stores/subscribe"
|
||||
)
|
||||
|
||||
type Subscribe struct {
|
||||
Id string
|
||||
Service string
|
||||
|
||||
|
||||
// 订阅方相关
|
||||
Application string
|
||||
From int
|
||||
@@ -28,6 +28,7 @@ type CreateSubscribe struct {
|
||||
}
|
||||
|
||||
type UpdateSubscribe struct {
|
||||
From *int
|
||||
ApplyStatus *int
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user