Add users
This commit is contained in:
parent
5966301165
commit
8322bbef18
@ -49,6 +49,7 @@ type LoginResponse struct {
|
|||||||
|
|
||||||
type UserResponse struct {
|
type UserResponse struct {
|
||||||
ID uuid.UUID `json:"id"`
|
ID uuid.UUID `json:"id"`
|
||||||
|
Username string `json:"username"`
|
||||||
Name string `json:"name"`
|
Name string `json:"name"`
|
||||||
Email string `json:"email"`
|
Email string `json:"email"`
|
||||||
IsActive bool `json:"is_active"`
|
IsActive bool `json:"is_active"`
|
||||||
|
|||||||
@ -41,6 +41,7 @@ func (p *Permissions) Scan(value interface{}) error {
|
|||||||
|
|
||||||
type User struct {
|
type User struct {
|
||||||
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
|
ID uuid.UUID `gorm:"type:uuid;primary_key;default:gen_random_uuid()" json:"id"`
|
||||||
|
Username string `gorm:"uniqueIndex;not null;size:100" json:"username" validate:"required,min=1,max=100"`
|
||||||
Name string `gorm:"not null;size:255" json:"name" validate:"required,min=1,max=255"`
|
Name string `gorm:"not null;size:255" json:"name" validate:"required,min=1,max=255"`
|
||||||
Email string `gorm:"uniqueIndex;not null;size:255" json:"email" validate:"required,email"`
|
Email string `gorm:"uniqueIndex;not null;size:255" json:"email" validate:"required,email"`
|
||||||
PasswordHash string `gorm:"not null;size:255" json:"-"`
|
PasswordHash string `gorm:"not null;size:255" json:"-"`
|
||||||
|
|||||||
@ -351,6 +351,7 @@ func (p *UserProcessorImpl) BulkCreateUsersWithTransaction(ctx context.Context,
|
|||||||
|
|
||||||
user := &entities.User{
|
user := &entities.User{
|
||||||
ID: uuid.New(),
|
ID: uuid.New(),
|
||||||
|
Username: req.Email,
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Email: req.Email,
|
Email: req.Email,
|
||||||
PasswordHash: string(hashedPassword),
|
PasswordHash: string(hashedPassword),
|
||||||
|
|||||||
@ -81,7 +81,7 @@ func (r *Router) addAppRoutes(rg *gin.Engine) {
|
|||||||
users.Use(r.authMiddleware.RequireAuth())
|
users.Use(r.authMiddleware.RequireAuth())
|
||||||
{
|
{
|
||||||
users.GET("", r.userHandler.ListUsers)
|
users.GET("", r.userHandler.ListUsers)
|
||||||
users.POST("/bulk", r.userHandler.BulkCreateUsers)
|
users.POST("/bulk", r.userHandler.BulkCreateUsersAsync)
|
||||||
users.POST("/bulk/async", r.userHandler.BulkCreateUsersAsync)
|
users.POST("/bulk/async", r.userHandler.BulkCreateUsersAsync)
|
||||||
users.GET("/bulk/job/:jobId", r.userHandler.GetBulkJobStatus)
|
users.GET("/bulk/job/:jobId", r.userHandler.GetBulkJobStatus)
|
||||||
users.GET("/profile", r.userHandler.GetProfile)
|
users.GET("/profile", r.userHandler.GetProfile)
|
||||||
|
|||||||
@ -10,6 +10,7 @@ func CreateUserRequestToEntity(req *contract.CreateUserRequest, passwordHash str
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
return &entities.User{
|
return &entities.User{
|
||||||
|
Username: req.Email,
|
||||||
Name: req.Name,
|
Name: req.Name,
|
||||||
Email: req.Email,
|
Email: req.Email,
|
||||||
PasswordHash: passwordHash,
|
PasswordHash: passwordHash,
|
||||||
@ -26,6 +27,7 @@ func UpdateUserEntity(existing *entities.User, req *contract.UpdateUserRequest)
|
|||||||
}
|
}
|
||||||
if req.Email != nil {
|
if req.Email != nil {
|
||||||
existing.Email = *req.Email
|
existing.Email = *req.Email
|
||||||
|
existing.Username = *req.Email
|
||||||
}
|
}
|
||||||
if req.IsActive != nil {
|
if req.IsActive != nil {
|
||||||
existing.IsActive = *req.IsActive
|
existing.IsActive = *req.IsActive
|
||||||
@ -40,6 +42,7 @@ func EntityToContract(user *entities.User) *contract.UserResponse {
|
|||||||
|
|
||||||
resp := &contract.UserResponse{
|
resp := &contract.UserResponse{
|
||||||
ID: user.ID,
|
ID: user.ID,
|
||||||
|
Username: user.Username,
|
||||||
Name: user.Name,
|
Name: user.Name,
|
||||||
Email: user.Email,
|
Email: user.Email,
|
||||||
IsActive: user.IsActive,
|
IsActive: user.IsActive,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user