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:
2025-12-29 10:55:13 +08:00
parent bc2064639f
commit b78f1e1c84
17 changed files with 497 additions and 120 deletions

View File

@@ -11,4 +11,22 @@ imports:
- quyun/v2/pkg/consts
- quyun/v2/database/fields
field_type:
field_relate:
users:
gender: consts.Gender
roles: types.Array[consts.Role]
contents:
status: consts.ContentStatus
visibility: consts.ContentVisibility
genre: string # genre is varchar(64) but no enum defined yet?
content_prices:
currency: consts.Currency
discount_type: consts.DiscountType
orders:
status: consts.OrderStatus
type: consts.OrderType
tenants:
status: consts.TenantStatus
tenant_users:
role: types.Array[consts.TenantUserRole]
# status: consts.UserStatus # Skipping status for now to avoid mismatch 'active' vs 'verified' without enum update
field_relate: