package request import ( "go-humas-be/app/database/entity" "go-humas-be/utils/paginator" "time" ) type MasterModulesGeneric interface { ToEntity() } type MasterModulesQueryRequest struct { Name string `json:"name" validate:"required"` Description string `json:"description" validate:"required"` PathUrl string `json:"path_url" validate:"required"` StatusId int `json:"status_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` Pagination *paginator.Pagination `json:"pagination"` } type MasterModulesCreateRequest struct { Name string `json:"name" validate:"required"` Description string `json:"description" validate:"required"` PathUrl string `json:"path_url" validate:"required"` StatusId int `json:"status_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` } func (req MasterModulesCreateRequest) ToEntity() *entity.MasterModules { return &entity.MasterModules{ Name: req.Name, Description: req.Description, PathUrl: req.PathUrl, StatusId: req.StatusId, IsActive: req.IsActive, } } type MasterModulesUpdateRequest struct { ID uint `json:"id" validate:"required"` Name string `json:"name" validate:"required"` Description string `json:"description" validate:"required"` PathUrl string `json:"path_url" validate:"required"` StatusId int `json:"status_id" validate:"required"` IsActive bool `json:"is_active" validate:"required"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } func (req MasterModulesUpdateRequest) ToEntity() *entity.MasterModules { return &entity.MasterModules{ ID: req.ID, Name: req.Name, Description: req.Description, PathUrl: req.PathUrl, StatusId: req.StatusId, IsActive: req.IsActive, CreatedAt: req.CreatedAt, UpdatedAt: req.UpdatedAt, } }