Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor: repository 반환값이 any인 메서드에 타입 명시 #507

Merged
merged 7 commits into from
Jun 20, 2023
9 changes: 3 additions & 6 deletions backend/src/books/books.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,11 +88,7 @@ class BooksRepository extends Repository<Book> {
sort: string,
limit: number,
): Promise<LendingBookList[]> {
const orderingArr = [
{ createdAt: 'DESC', title: 'ASC' },
{ lendingCnt: 'DESC', title: 'ASC' },
];
const ordering: any = sort === 'popular' ? orderingArr[1] : orderingArr[0];
const order = sort === 'popular' ? 'lendingCnt' : 'createdAt';
const lendingCondition: string = sort === 'popular'
? 'and lending.createdAt >= date_sub(now(), interval 42 day)'
: '';
Expand All @@ -119,7 +115,8 @@ class BooksRepository extends Repository<Book> {
.leftJoin(Category, 'category', 'category.id = book_info.categoryId')
.limit(limit)
.groupBy('book_info.id')
.orderBy(ordering)
.orderBy(order, 'DESC')
.addOrderBy('title', 'ASC')
.getRawMany<LendingBookList>();
return lendingBookList;
}
Expand Down
10 changes: 6 additions & 4 deletions backend/src/reservations/reservations.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ class ReservationsRepository extends Repository<reservation> {
}

// 유저가 연체 중인지 확인
async isOverdueUser(userId: number) {
async isOverdueUser(userId: number): Promise<boolean> {
return this.user
.createQueryBuilder('u')
.select('u.id')
Expand Down Expand Up @@ -106,6 +106,7 @@ class ReservationsRepository extends Repository<reservation> {
return lenderableBookItemNum;
}

// Todo: return 값 수정할 것
async alreadyLendedBooks(userId: number, bookInfoId: number) {
const lendedBooks = this.lending
.createQueryBuilder('l')
Expand All @@ -117,6 +118,7 @@ class ReservationsRepository extends Repository<reservation> {
return lendedBooks;
}

// Todo: return 값 수정할 것
async getReservedBooks(userId: number, bookInfoId: number) {
const reservedBooks = this
.createQueryBuilder('r')
Expand All @@ -127,15 +129,15 @@ class ReservationsRepository extends Repository<reservation> {
return reservedBooks;
}

async createReservation(userId: number, bookInfoId:number) {
async createReservation(userId: number, bookInfoId:number): Promise<void> {
await this.createQueryBuilder()
.insert()
.into(reservation)
.values([{ userId, bookInfoId }])
.execute();
}

async searchReservations(query: string, filter: string, page: number, limit: number) {
async searchReservations(query: string, filter: string, page: number, limit: number): Promise<{ meta: Meta; items: reservation[] }> {
const searchAll = this
.createQueryBuilder('r')
.select('r.id', 'reservationsId')
Expand Down Expand Up @@ -173,7 +175,7 @@ class ReservationsRepository extends Repository<reservation> {
default:
searchAll.andWhere({ status: 0, bookId: IsNull() });
}
const items = await searchAll.offset(limit * page).limit(limit).getRawMany();
const items = await searchAll.offset(limit * page).limit(limit).getRawMany<reservation>();
const totalItems = await searchAll.getCount();
const meta : Meta = {
totalItems,
Expand Down
4 changes: 2 additions & 2 deletions backend/src/reviews/repository/reviews.repository.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ export default class ReviewsRepository extends Repository<Reviews> {
page: number,
sort: 'ASC' | 'DESC' | undefined,
limit: number,
) {
): Promise<Reviews[]> {
const reviews = this.createQueryBuilder('reviews')
.select('reviews.id', 'reviewsId')
.addSelect('reviews.userId', 'reviewerId')
Expand All @@ -67,7 +67,7 @@ export default class ReviewsRepository extends Repository<Reviews> {
}
const ret = await reviews.offset(page * limit)
.limit(limit)
.getRawMany();
.getRawMany<Reviews>();
return ret;
}

Expand Down