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 {
|
if err != nil {
|
||||||
return fmt.Errorf("config check failed: %w", err)
|
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 {
|
if err != nil {
|
||||||
return fmt.Errorf("config gen failed: %w", err)
|
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()
|
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,
|
Name: input.Name,
|
||||||
Config: input.Config,
|
Config: input.Config,
|
||||||
ExpireTime: input.ExpireTime,
|
ExpireTime: input.ExpireTime,
|
||||||
Status: &status,
|
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 {
|
return i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
||||||
if !enable {
|
if !enable {
|
||||||
// TODO:下线Key
|
|
||||||
status := ai_key_dto.KeyDisable.Int()
|
status := ai_key_dto.KeyDisable.Int()
|
||||||
err = i.aiKeyService.Save(ctx, id, &ai_key.Edit{
|
err = i.aiKeyService.Save(ctx, id, &ai_key.Edit{
|
||||||
Status: &status,
|
Status: &status,
|
||||||
|
|||||||
@@ -176,19 +176,6 @@ func (i *imlCatalogueModule) Subscribe(ctx context.Context, subscribeInfo *catal
|
|||||||
// 修改订阅表状态
|
// 修改订阅表状态
|
||||||
subscribers, err := i.subscribeService.ListByApplication(ctx, subscribeInfo.Service, appId)
|
subscribers, err := i.subscribeService.ListByApplication(ctx, subscribeInfo.Service, appId)
|
||||||
if err != nil {
|
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
|
return err
|
||||||
} else {
|
} else {
|
||||||
subscriberMap := utils.SliceToMap(subscribers, func(t *subscribe.Subscribe) string {
|
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 {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
_, err = i.subscribeService.GetByServiceAndApplication(ctx, serviceId, input.Application)
|
clusters, err := i.clusterService.List(ctx)
|
||||||
if err == nil {
|
if err != nil {
|
||||||
// 订阅方已存在
|
return err
|
||||||
return fmt.Errorf("subscriber is already exists")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
sub := &gateway.SubscribeRelease{
|
sub := &gateway.SubscribeRelease{
|
||||||
Service: serviceId,
|
Service: serviceId,
|
||||||
Application: input.Application,
|
Application: input.Application,
|
||||||
Expired: "0",
|
Expired: "0",
|
||||||
}
|
}
|
||||||
clusters, err := i.clusterService.List(ctx)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
return i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
return i.transaction.Transaction(ctx, func(ctx context.Context) error {
|
||||||
err = i.subscribeService.Create(ctx, &subscribe.CreateSubscribe{
|
info, err := i.subscribeService.GetByServiceAndApplication(ctx, serviceId, input.Application)
|
||||||
Uuid: uuid.New().String(),
|
if err == nil {
|
||||||
Service: serviceId,
|
// 订阅方已存在
|
||||||
Application: input.Application,
|
if info.ApplyStatus != subscribe.ApplyStatusSubscribe {
|
||||||
ApplyStatus: subscribe.ApplyStatusSubscribe,
|
// 更新订阅方状态
|
||||||
From: subscribe.FromUser,
|
status := subscribe.ApplyStatusSubscribe
|
||||||
})
|
from := subscribe.FromUser
|
||||||
if err != nil {
|
err = i.subscribeService.Save(ctx, info.Id, &subscribe.UpdateSubscribe{
|
||||||
return err
|
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 {
|
for _, c := range clusters {
|
||||||
err = i.onlineSubscriber(ctx, c.Uuid, sub)
|
err = i.onlineSubscriber(ctx, c.Uuid, sub)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -200,6 +200,9 @@ func (i *imlSubscribeService) updateHandler(e *subscribe.Subscribe, t *UpdateSub
|
|||||||
if t.ApplyStatus != nil {
|
if t.ApplyStatus != nil {
|
||||||
e.ApplyStatus = *t.ApplyStatus
|
e.ApplyStatus = *t.ApplyStatus
|
||||||
}
|
}
|
||||||
|
if t.From != nil {
|
||||||
|
e.From = *t.From
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|||||||
@@ -2,14 +2,14 @@ package subscribe
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/APIParkLab/APIPark/stores/subscribe"
|
"github.com/APIParkLab/APIPark/stores/subscribe"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Subscribe struct {
|
type Subscribe struct {
|
||||||
Id string
|
Id string
|
||||||
Service string
|
Service string
|
||||||
|
|
||||||
// 订阅方相关
|
// 订阅方相关
|
||||||
Application string
|
Application string
|
||||||
From int
|
From int
|
||||||
@@ -28,6 +28,7 @@ type CreateSubscribe struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
type UpdateSubscribe struct {
|
type UpdateSubscribe struct {
|
||||||
|
From *int
|
||||||
ApplyStatus *int
|
ApplyStatus *int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user