fix: 用户信息更新返回类型与关注建表缺陷

updateMeLogic 更新后重新查询并返回 User 类型,修复 converter 转换
空响应的错误。proto_string 不再丢弃含空格的字符串。userfollows
ent schema 补上 created_at 的 Default(time.Now)。
This commit is contained in:
zetaloop
2026-04-05 17:04:48 +08:00
parent 4625363d5a
commit de32143b6d
5 changed files with 49 additions and 7 deletions
+5
View File
@@ -4,6 +4,7 @@ package models
import (
"juwan-backend/app/users/rpc/internal/models/schema"
"juwan-backend/app/users/rpc/internal/models/userfollows"
"juwan-backend/app/users/rpc/internal/models/userpreferences"
"juwan-backend/app/users/rpc/internal/models/users"
"time"
@@ -13,6 +14,10 @@ import (
// (default values, validators, hooks and policies) and stitches it
// to their package variables.
func init() {
userfollowsFields := schema.UserFollows{}.Fields()
_ = userfollowsFields
userfollowsDescCreatedAt := userfollowsFields[3].Descriptor()
userfollows.DefaultCreatedAt = userfollowsDescCreatedAt.Default.(func() time.Time)
userpreferencesFields := schema.UserPreferences{}.Fields()
_ = userpreferencesFields
// userpreferencesDescNotificationOrder is the schema descriptor for notification_order field.
@@ -3,6 +3,7 @@ package schema
import (
"entgo.io/ent"
"entgo.io/ent/schema/field"
"time"
)
// UserFollows holds the schema definition for the UserFollows entity.
@@ -16,7 +17,7 @@ func (UserFollows) Fields() []ent.Field {
field.Int64("id").Immutable().Unique(),
field.Int64("follower_id"),
field.Int64("followee_id"),
field.Time("created_at").Immutable(),
field.Time("created_at").Immutable().Default(time.Now),
}
}
@@ -3,6 +3,8 @@
package userfollows
import (
"time"
"entgo.io/ent/dialect/sql"
)
@@ -39,6 +41,10 @@ func ValidColumn(column string) bool {
return false
}
var (
DefaultCreatedAt func() time.Time
)
// OrderOption defines the ordering options for the UserFollows queries.
type OrderOption func(*sql.Selector)
@@ -51,6 +51,7 @@ func (_c *UserFollowsCreate) Mutation() *UserFollowsMutation {
// Save creates the UserFollows in the database.
func (_c *UserFollowsCreate) Save(ctx context.Context) (*UserFollows, error) {
_c.defaults()
return withHooks(ctx, _c.sqlSave, _c.mutation, _c.hooks)
}
@@ -76,6 +77,13 @@ func (_c *UserFollowsCreate) ExecX(ctx context.Context) {
}
}
func (_c *UserFollowsCreate) defaults() {
if _, ok := _c.mutation.CreatedAt(); !ok {
v := userfollows.DefaultCreatedAt()
_c.mutation.SetCreatedAt(v)
}
}
// check runs all checks and user-defined validators on the builder.
func (_c *UserFollowsCreate) check() error {
if _, ok := _c.mutation.FollowerID(); !ok {
@@ -152,6 +160,7 @@ func (_c *UserFollowsCreateBulk) Save(ctx context.Context) ([]*UserFollows, erro
for i := range _c.builders {
func(i int, root context.Context) {
builder := _c.builders[i]
builder.defaults()
var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
mutation, ok := m.(*UserFollowsMutation)
if !ok {