feat(user): implement OTP login, user creation, and profile management
- Added SendOTP method for simulating OTP sending. - Implemented LoginWithOTP method for user login/registration via OTP, including user creation if not found. - Added Me method to retrieve current user information. - Implemented Update method for updating user profile details. - Added RealName method for real-name verification. - Implemented GetNotifications method to fetch user notifications. - Created user_test.go for comprehensive unit tests covering login, profile retrieval, updates, real-name verification, and notifications. - Updated database models to use appropriate consts for fields like gender, status, and roles.
This commit is contained in:
@@ -30,8 +30,8 @@ func newContent(db *gorm.DB, opts ...gen.DOOption) contentQuery {
|
||||
_contentQuery.UserID = field.NewInt64(tableName, "user_id")
|
||||
_contentQuery.Title = field.NewString(tableName, "title")
|
||||
_contentQuery.Description = field.NewString(tableName, "description")
|
||||
_contentQuery.Status = field.NewString(tableName, "status")
|
||||
_contentQuery.Visibility = field.NewString(tableName, "visibility")
|
||||
_contentQuery.Status = field.NewField(tableName, "status")
|
||||
_contentQuery.Visibility = field.NewField(tableName, "visibility")
|
||||
_contentQuery.PreviewSeconds = field.NewInt32(tableName, "preview_seconds")
|
||||
_contentQuery.PreviewDownloadable = field.NewBool(tableName, "preview_downloadable")
|
||||
_contentQuery.PublishedAt = field.NewTime(tableName, "published_at")
|
||||
@@ -59,8 +59,8 @@ type contentQuery struct {
|
||||
UserID field.Int64
|
||||
Title field.String
|
||||
Description field.String
|
||||
Status field.String
|
||||
Visibility field.String
|
||||
Status field.Field
|
||||
Visibility field.Field
|
||||
PreviewSeconds field.Int32
|
||||
PreviewDownloadable field.Bool
|
||||
PublishedAt field.Time
|
||||
@@ -94,8 +94,8 @@ func (c *contentQuery) updateTableName(table string) *contentQuery {
|
||||
c.UserID = field.NewInt64(table, "user_id")
|
||||
c.Title = field.NewString(table, "title")
|
||||
c.Description = field.NewString(table, "description")
|
||||
c.Status = field.NewString(table, "status")
|
||||
c.Visibility = field.NewString(table, "visibility")
|
||||
c.Status = field.NewField(table, "status")
|
||||
c.Visibility = field.NewField(table, "visibility")
|
||||
c.PreviewSeconds = field.NewInt32(table, "preview_seconds")
|
||||
c.PreviewDownloadable = field.NewBool(table, "preview_downloadable")
|
||||
c.PublishedAt = field.NewTime(table, "published_at")
|
||||
|
||||
Reference in New Issue
Block a user