Skip to content

Commit

Permalink
FIX: infinite scrolling useing start and end num soyoung931014#150
Browse files Browse the repository at this point in the history
  • Loading branch information
boyoung589 committed May 5, 2023
1 parent d9d7820 commit da09a4e
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 15 deletions.
1 change: 0 additions & 1 deletion client/src/pages/MainFeed.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,6 @@ export default function MainFeed() {
const navigate = useNavigate();

const [render, setRender] = useState(false);
useState<Feed|null>
const [feedlist, setFeedlist] = useState<Feed[]|null>([]);
const [searchInput, setSearchInput] = useState('');
const [searchOn, setSearchOn] = useState(false);
Expand Down
21 changes: 14 additions & 7 deletions server/src/module/feed/feed.controller.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,23 +11,30 @@ export class FeedController {

@Get()
getAllFeed(
@Query('page') page: number
): Promise<Board[]> {
return this.feedService.getAllFeed(page);
@Query('start') start: number,
@Query('end') end: number,
): Promise<Board[]> {
console.log(start, end, '피드컨트롤러' )
return this.feedService.getAllFeed(start, end);
}

@Get('/mainfeed')
getUserFeed(
@Query('nickname') nickname: string,
@Query('page') page: number,
@Query('start') start: number,
@Query('end') end: number,
): Promise<Board[]>{
return this.feedService.getUserFeed(nickname, page);
return this.feedService.getUserFeed(nickname, start, end);
}

@Get('/myfeed')
@UseGuards(AuthGuard())
getMyFeed(@GetUser() user: User): Promise<Board[]>{
return this.feedService.getMyFeed(user);
getMyFeed(
@GetUser() user: User,
@Query('start') start: number,
@Query('end') end: number,
): Promise<Board[]>{
return this.feedService.getMyFeed(user, start, end);
}

}
16 changes: 9 additions & 7 deletions server/src/module/feed/feed.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ export class FeedService {
private boardRepository: BoardRepository,
) {}

async getAllFeed(page): Promise<Board[]> {
async getAllFeed(start: number, end: number): Promise<Board[]> {
const result = await this.boardRepository.createQueryBuilder('board')
.select([
'board.id AS id',
Expand All @@ -37,18 +37,20 @@ export class FeedService {
.groupBy('board.id')
.orderBy('board.date', 'DESC')
.getRawMany()
// console.log('리졸트', result.slice(0, 2), result.slice(0, 2).length);
// console.log('리졸트', result.slice(0, 2), result.slice(0, 2).length)
console.log('리졸트2', result.length);
console.log(page);
return result.slice(page, page+8);
const data = result.slice(start, end);

console.log('데이터 길이', data.length, 'start:',start,'end:', end)
return data;
}

async getUserFeed(nickname: string, page:number): Promise<Board[]> {
const board = await this.getAllFeed(page);
async getUserFeed(nickname: string, start:number, end: number): Promise<Board[]> {
const board = await this.getAllFeed(start, end);
return board.filter((el) => el.nickname === nickname);
}

async getMyFeed(user: User): Promise<Board[]> {
async getMyFeed(user: User, start:number, end:number): Promise<Board[]> {
const result = await this.boardRepository.createQueryBuilder('board')
.select([
'board.id AS id',
Expand Down

0 comments on commit da09a4e

Please sign in to comment.