refactor: replace DeepCopy with Copy for request handling consistency

This commit is contained in:
CaIon
2025-08-28 14:57:47 +08:00
parent b0c703935f
commit 872f7a9648
12 changed files with 58 additions and 50 deletions

View File

@@ -6,14 +6,21 @@ import (
"github.com/jinzhu/copier"
)
func DeepCopy[T any](src *T) (*T, error) {
func Copy[T any](src *T, deepCopy bool) (*T, error) {
if src == nil {
return nil, fmt.Errorf("copy source cannot be nil")
}
var dst T
err := copier.CopyWithOption(&dst, src, copier.Option{DeepCopy: true, IgnoreEmpty: true})
if err != nil {
return nil, err
if deepCopy {
err := copier.CopyWithOption(&dst, src, copier.Option{DeepCopy: true, IgnoreEmpty: true})
if err != nil {
return nil, err
}
} else {
err := copier.Copy(&dst, src)
if err != nil {
return nil, err
}
}
return &dst, nil
}