request->getPost(); $validator = new CourseUserValidator(); $course = $validator->checkCourse($id); $user = $validator->checkUser($post['user_id']); $expiryTime = $validator->checkExpiryTime($post['expiry_time']); $sourceType = CourseUserModel::SOURCE_MANUAL; $this->assignUserCourse($course, $user, $expiryTime, $sourceType); } public function getUsers($id) { $validator = new CourseUserValidator(); $course = $validator->checkCourse($id); $pagerQuery = new PagerQuery(); $params = $pagerQuery->getParams(); $params = $this->handleAccountSearchParams($params); $params['course_id'] = $course->id; $params['deleted'] = 0; $sort = $pagerQuery->getSort(); $page = $pagerQuery->getPage(); $limit = $pagerQuery->getLimit(); $repo = new CourseUserRepo(); $pager = $repo->paginate($params, $sort, $page, $limit); return $this->handleUsers($pager); } protected function handleUsers($pager) { if ($pager->total_items > 0) { $builder = new CourseUserListBuilder(); $items = $pager->items->toArray(); $pipeA = $builder->handleUsers($items); $pipeB = $builder->objects($pipeA); $pager->items = $pipeB; } return $pager; } }