feat(showcase): 去掉 Bento 灵感类型,只保留 hero / work

后端校验、分组、后台列表,以及后台页面与首页取图都只认
hero 和 work;启动时清掉遗留的 bento 记录。

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
2026-10-27 15:57:12 +08:00
co-authored by Devin
parent 2fa0324a66
commit 8b85d5623a
6 changed files with 20 additions and 36 deletions
+3 -3
View File
@@ -292,7 +292,7 @@ func (s *AdminWriteService) DeleteUserAPIKey(ctx context.Context, userID, keyID
func (s *AdminWriteService) CreateShowcase(ctx context.Context, body map[string]any) (*model.ShowcaseItem, error) {
kind := normalizedShowcaseKind(stringValue(body["kind"]))
if kind == "" {
return nil, errors.New("kind must be hero, bento or work")
return nil, errors.New("kind must be hero or work")
}
image := strings.TrimSpace(stringValue(body["image"]))
if image == "" {
@@ -333,7 +333,7 @@ func (s *AdminWriteService) UpdateShowcase(ctx context.Context, entryID string,
if _, ok := body["kind"]; ok {
kind := normalizedShowcaseKind(stringValue(body["kind"]))
if kind == "" {
return nil, errors.New("kind must be hero, bento or work")
return nil, errors.New("kind must be hero or work")
}
patch["kind"] = kind
}
@@ -581,7 +581,7 @@ func normalizedStatus(status string) string {
func normalizedShowcaseKind(kind string) string {
switch strings.TrimSpace(kind) {
case "hero", "bento", "work":
case "hero", "work":
return strings.TrimSpace(kind)
default:
return ""