package request import ( "go-humas-be/app/database/entity" "go-humas-be/utils/paginator" "time" ) type UserLevelsGeneric interface { ToEntity() } type UserLevelsQueryRequest struct { Name string `json:"name" validate:"required"` AliasName string `json:"alias_name" validate:"required"` LevelNumber int `json:"level_number" validate:"required"` ParentLevelId int `json:"parent_level_id" validate:"required"` ProvinceId int `json:"province_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` Pagination *paginator.Pagination `json:"pagination"` } type UserLevelsCreateRequest struct { Name string `json:"name" validate:"required"` AliasName string `json:"alias_name" validate:"required"` LevelNumber int `json:"level_number" validate:"required"` ParentLevelId int `json:"parent_level_id" validate:"required"` ProvinceId int `json:"province_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` } func (req UserLevelsCreateRequest) ToEntity() *entity.UserLevels { return &entity.UserLevels{ Name: req.Name, AliasName: req.AliasName, LevelNumber: req.LevelNumber, ParentLevelId: req.ParentLevelId, ProvinceId: req.ProvinceId, IsActive: req.IsActive, } } type UserLevelsUpdateRequest struct { ID uint `json:"id" validate:"required"` Name string `json:"name" validate:"required"` AliasName string `json:"alias_name" validate:"required"` LevelNumber int `json:"level_number" validate:"required"` ParentLevelId int `json:"parent_level_id" validate:"required"` ProvinceId int `json:"province_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (req UserLevelsUpdateRequest) ToEntity() *entity.UserLevels { return &entity.UserLevels{ ID: req.ID, Name: req.Name, AliasName: req.AliasName, LevelNumber: req.LevelNumber, ParentLevelId: req.ParentLevelId, ProvinceId: req.ProvinceId, IsActive: req.IsActive, CreatedAt: req.CreatedAt, UpdatedAt: req.UpdatedAt, } }