Skip to content
This repository has been archived by the owner on Sep 1, 2024. It is now read-only.

Commit

Permalink
Merge pull request #212 from intellibucket/feature/js-develop/private…
Browse files Browse the repository at this point in the history
…_course_query_controller_1

Feature/js develop/private course query controller 1
  • Loading branch information
l00pss authored Apr 4, 2024
2 parents 89e9232 + dd448d9 commit 73cac37
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,8 @@ public Boolean isInLimit(Long limit,ResumeID resumeId) {

@Override
public List<CourseRoot> fetchAllCourses(CourseCriteria criteria, SimplePageableRequest pageableRequest) {
var courseComposeExample = CourseComposeExample.of(criteria,"order_number",pageableDataAccessMapper.toBatisPageable(pageableRequest));
var pageable = pageableDataAccessMapper.toBatisPageable(pageableRequest).changeLimit(pageableRequest.getSize()+1);
var courseComposeExample = CourseComposeExample.of(criteria,"order_number",pageable);
return courseQueryBatisRepository.selectByExample(courseComposeExample)
.stream()
.map(courseDataAccessMapper::toRoot)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package az.rock.flyjob.js.domain.presentation.handler.concretes;

import az.rock.flyjob.js.domain.core.exception.course.CourseNotFoundException;
import az.rock.flyjob.js.domain.core.root.detail.CourseRoot;
import az.rock.flyjob.js.domain.presentation.dto.criteria.CourseCriteria;
import az.rock.flyjob.js.domain.presentation.dto.response.resume.course.AnyCourseResponseModel;
import az.rock.flyjob.js.domain.presentation.dto.response.resume.course.MyCourseResponseModel;
Expand All @@ -18,8 +19,10 @@
import com.intellibucket.lib.payload.payload.query.CourseFetchPayload;
import org.springframework.stereotype.Component;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;


@Component
Expand All @@ -44,8 +47,8 @@ public SimplePageableResponse<MyCourseResponseModel> allMyCourses(SimplePageable
var courses = courseQueryRepositoryAdapter.fetchAllCourses(criteria,pageableRequest)
.stream()
.map(MyCourseResponseModel::of)
.toList();
var payload = SimplePageableResponse.ofNoMore(pageableRequest.getSize(), pageableRequest.getPage(),courses);
.collect(Collectors.toList());
var payload = convertSimplePageableResponse(courses,pageableRequest);
return payload;

}
Expand All @@ -56,11 +59,10 @@ public SimplePageableResponse<AnyCourseResponseModel> allAnyCourses(UUID targetR
var courses = courseQueryRepositoryAdapter.fetchAllCourses(criteria,pageableRequest)
.stream()
.map(AnyCourseResponseModel::of)
.toList();
var payload = SimplePageableResponse.ofNoMore(pageableRequest.getSize(), pageableRequest.getPage(),courses);
.collect(Collectors.toList());
var payload = convertSimplePageableResponse(courses,pageableRequest);
return payload;
}

@Override
public MyCourseResponseModel myCourseById(UUID id) throws CourseNotFoundException {
var resumeId = securityContextHolder.availableResumeID();
Expand All @@ -87,8 +89,8 @@ public SimplePageableResponse<SimpleMyCourseResponseModel> allMySimpleCourses(Si
var courses = courseQueryRepositoryAdapter.fetchAllCourses(criteria,simplePageableRequest)
.stream()
.map(SimpleMyCourseResponseModel::of)
.toList();
var payload = SimplePageableResponse.ofNoMore(simplePageableRequest.getSize(), simplePageableRequest.getPage(),courses);
.collect(Collectors.toList());
var payload = convertSimplePageableResponse(courses,simplePageableRequest);
return payload;
}

Expand All @@ -98,8 +100,15 @@ public SimplePageableResponse<SimpleAnyCourseResponseModel> allAnySimpleCourses(
var courses = courseQueryRepositoryAdapter.fetchAllCourses(criteria,pageableRequest)
.stream()
.map(SimpleAnyCourseResponseModel::of)
.toList();
var payload = SimplePageableResponse.ofNoMore(pageableRequest.getSize(), pageableRequest.getPage(),courses);
.collect(Collectors.toList());
var payload = convertSimplePageableResponse(courses,pageableRequest);
return payload;
}

private SimplePageableResponse convertSimplePageableResponse(List courses,SimplePageableRequest simplePageableRequest){
Boolean hasMore = courses.size() > simplePageableRequest.getSize();
if(hasMore)courses.remove(courses.size()-1);
return SimplePageableResponse.of(simplePageableRequest.getSize(), simplePageableRequest.getPage(),hasMore,courses);
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,7 @@ public Integer getOffset() {
return offset;
}

public BatisPageable changeLimit(Integer limit){
return new BatisPageable(limit,this.offset);
}
}

0 comments on commit 73cac37

Please sign in to comment.