fix(prompt): disallow update if prompt is empty (#1816)
This commit is contained in:
parent
2a704fc873
commit
5ecdddbacb
|
|
@ -199,11 +199,7 @@ func (p *PromptApplicationService) updatePromptResource(ctx context.Context, req
|
||||||
return nil, errorx.New(errno.ErrPromptPermissionCode, errorx.KV("msg", "no permission"))
|
return nil, errorx.New(errno.ErrPromptPermissionCode, errorx.KV("msg", "no permission"))
|
||||||
}
|
}
|
||||||
|
|
||||||
promptResource.Name = req.Prompt.GetName()
|
err = p.DomainSVC.UpdatePromptResource(ctx, promptID, req.Prompt.Name, req.Prompt.Description, req.Prompt.PromptText)
|
||||||
promptResource.Description = req.Prompt.GetDescription()
|
|
||||||
promptResource.PromptText = req.Prompt.GetPromptText()
|
|
||||||
|
|
||||||
err = p.DomainSVC.UpdatePromptResource(ctx, promptResource)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -116,24 +116,24 @@ func (d *PromptDAO) GetPromptResource(ctx context.Context, promptID int64) (*ent
|
||||||
return do, nil
|
return do, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *PromptDAO) UpdatePromptResource(ctx context.Context, p *entity.PromptResource) error {
|
func (d *PromptDAO) UpdatePromptResource(ctx context.Context, promptID int64, name, description, promptText *string) error {
|
||||||
updateMap := make(map[string]any, 5)
|
updateMap := make(map[string]any, 5)
|
||||||
|
|
||||||
if p.Name != "" {
|
if name != nil {
|
||||||
updateMap["name"] = p.Name
|
updateMap["name"] = *name
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.Description != "" {
|
if description != nil {
|
||||||
updateMap["description"] = p.Description
|
updateMap["description"] = *description
|
||||||
}
|
}
|
||||||
|
|
||||||
if p.PromptText != "" {
|
if promptText != nil {
|
||||||
updateMap["prompt_text"] = p.PromptText
|
updateMap["prompt_text"] = *promptText
|
||||||
}
|
}
|
||||||
|
|
||||||
promptModel := query.PromptResource
|
promptModel := query.PromptResource
|
||||||
promptWhere := []gen.Condition{
|
promptWhere := []gen.Condition{
|
||||||
promptModel.ID.Eq(p.ID),
|
promptModel.ID.Eq(promptID),
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err := promptModel.WithContext(ctx).Where(promptWhere...).Updates(updateMap)
|
_, err := promptModel.WithContext(ctx).Where(promptWhere...).Updates(updateMap)
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,6 @@ func NewPromptRepo(db *gorm.DB, generator idgen.IDGenerator) PromptRepository {
|
||||||
type PromptRepository interface {
|
type PromptRepository interface {
|
||||||
CreatePromptResource(ctx context.Context, do *entity.PromptResource) (int64, error)
|
CreatePromptResource(ctx context.Context, do *entity.PromptResource) (int64, error)
|
||||||
GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error)
|
GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error)
|
||||||
UpdatePromptResource(ctx context.Context, p *entity.PromptResource) error
|
UpdatePromptResource(ctx context.Context, promptID int64, name, description, promptText *string) error
|
||||||
DeletePromptResource(ctx context.Context, ID int64) error
|
DeletePromptResource(ctx context.Context, ID int64) error
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ import (
|
||||||
type Prompt interface {
|
type Prompt interface {
|
||||||
CreatePromptResource(ctx context.Context, p *entity.PromptResource) (int64, error)
|
CreatePromptResource(ctx context.Context, p *entity.PromptResource) (int64, error)
|
||||||
GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error)
|
GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error)
|
||||||
UpdatePromptResource(ctx context.Context, p *entity.PromptResource) error
|
UpdatePromptResource(ctx context.Context, promptID int64, name, description, promptText *string) error
|
||||||
DeletePromptResource(ctx context.Context, promptID int64) error
|
DeletePromptResource(ctx context.Context, promptID int64) error
|
||||||
|
|
||||||
ListOfficialPromptResource(ctx context.Context, keyword string) ([]*entity.PromptResource, error)
|
ListOfficialPromptResource(ctx context.Context, keyword string) ([]*entity.PromptResource, error)
|
||||||
|
|
|
||||||
|
|
@ -40,8 +40,8 @@ func (s *promptService) CreatePromptResource(ctx context.Context, p *entity.Prom
|
||||||
return s.Repo.CreatePromptResource(ctx, p)
|
return s.Repo.CreatePromptResource(ctx, p)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *promptService) UpdatePromptResource(ctx context.Context, p *entity.PromptResource) error {
|
func (s *promptService) UpdatePromptResource(ctx context.Context, promptID int64, name, description, promptText *string) error {
|
||||||
return s.Repo.UpdatePromptResource(ctx, p)
|
return s.Repo.UpdatePromptResource(ctx, promptID, name, description, promptText)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *promptService) GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error) {
|
func (s *promptService) GetPromptResource(ctx context.Context, promptID int64) (*entity.PromptResource, error) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue