Trim title before insert/update to database to match the size requirements of database (#32498)

Fix #32489

(cherry picked from commit 98d9a71ffe510da0e10d042d8f87a348022aca87)
This commit is contained in:
Lunny Xiao 2024-11-13 23:19:14 -08:00 committed by Earl Warren
parent 03ab73d92e
commit c2e8790df3
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00
8 changed files with 18 additions and 0 deletions

View file

@ -242,6 +242,7 @@ func GetSearchOrderByBySortType(sortType string) db.SearchOrderBy {
}
// NewProject creates a new Project
// The title will be cut off at 255 characters if it's longer than 255 characters.
func NewProject(ctx context.Context, p *Project) error {
if !IsTemplateTypeValid(p.TemplateType) {
p.TemplateType = TemplateTypeNone
@ -255,6 +256,8 @@ func NewProject(ctx context.Context, p *Project) error {
return util.NewInvalidArgumentErrorf("project type is not valid")
}
p.Title, _ = util.SplitStringAtByteN(p.Title, 255)
return db.WithTx(ctx, func(ctx context.Context) error {
if err := db.Insert(ctx, p); err != nil {
return err
@ -302,6 +305,7 @@ func UpdateProject(ctx context.Context, p *Project) error {
p.CardType = CardTypeTextOnly
}
p.Title, _ = util.SplitStringAtByteN(p.Title, 255)
_, err := db.GetEngine(ctx).ID(p.ID).Cols(
"title",
"description",