fix(share): slice content label by utf-8 runes

This commit is contained in:
beer-psi 2025-10-31 00:31:18 +07:00
parent 465846c1bc
commit bae4c4381f

View File

@ -4,6 +4,7 @@ import (
"context" "context"
"strings" "strings"
"time" "time"
"unicode/utf8"
"github.com/Masterminds/squirrel" "github.com/Masterminds/squirrel"
"github.com/deluan/rest" "github.com/deluan/rest"
@ -119,8 +120,9 @@ func (r *shareRepositoryWrapper) Save(entity interface{}) (string, error) {
log.Error(r.ctx, "Invalid Resource ID", "id", firstId) log.Error(r.ctx, "Invalid Resource ID", "id", firstId)
return "", model.ErrNotFound return "", model.ErrNotFound
} }
if len(s.Contents) > 30 {
s.Contents = s.Contents[:26] + "..." if utf8.RuneCountInString(s.Contents) > 30 {
s.Contents = string([]rune(s.Contents)[:26]) + "..."
} }
id, err = r.Persistable.Save(s) id, err = r.Persistable.Save(s)