Add user management

This commit is contained in:
2026-05-02 14:31:19 +02:00
parent 24ade563db
commit 5997a29d92
20 changed files with 983 additions and 2 deletions
+51
View File
@@ -0,0 +1,51 @@
package models
import "errors"
type User struct {
ID string `json:"id"`
Name string `json:"name"`
Role string `json:"role"`
HashedPassword string `json:"hashed_password"`
CreatedAt string `json:"created_at"`
}
type CreateUserRequest struct {
Name string `json:"name"`
Role string `json:"role"`
Password string `json:"password"`
}
func ValidateCreateUserRequest(req *CreateUserRequest) error {
if req.Name == "" {
return errors.New("name is required")
}
if req.Role == "" {
return errors.New("role is required")
}
if req.Role != "admin" && req.Role != "user" {
return errors.New("role must be either 'admin' or 'user'")
}
if req.Password == "" {
return errors.New("password is required")
}
return nil
}
type UpdateUserRequest struct {
Name string `json:"name"`
Role string `json:"role"`
}
func ValidateUpdateUserRequest(req *UpdateUserRequest) error {
if req.Name == "" {
return errors.New("name is required")
}
if req.Role == "" {
return errors.New("role is required")
}
if req.Role != "admin" && req.Role != "user" {
return errors.New("role must be either 'admin' or 'user'")
}
return nil
}