-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
933d03f
commit 16253d3
Showing
14 changed files
with
836 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
export class BlockedUserInfoDto { | ||
@ApiProperty({ | ||
description: '42 고유 ID', | ||
example: 12345, | ||
}) | ||
user_id: number; // 42 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '42 로그인 ID', | ||
example: 'joopark', | ||
}) | ||
intra_id: string; // 42 로그인 ID | ||
|
||
@ApiProperty({ | ||
description: '차단당한 시간', | ||
example: new Date(), | ||
}) | ||
banned_date: Date; // 차단당한 시간 | ||
|
||
@ApiProperty({ | ||
description: '차단 풀리는 시간', | ||
example: new Date(), | ||
}) | ||
unbanned_date: Date; // 차단 풀리는 시간 | ||
} |
16 changes: 16 additions & 0 deletions
16
backend/src/v3/search/dto/blocked-user-info.pagenation.dto.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { BlockedUserInfoDto } from './blocked-user-info.dto'; | ||
|
||
export class BlockedUserInfoPagenationDto { | ||
@ApiProperty({ | ||
description: '차단당한 유저 정보 배열', | ||
type: [BlockedUserInfoDto], | ||
}) | ||
result: BlockedUserInfoDto[]; // 차단당한 유저 정보 배열 | ||
|
||
@ApiProperty({ | ||
description: 'DB에 저장된 총 결과의 길이', | ||
example: 42, | ||
}) | ||
total_length: number; // DB에 저장된 총 결과의 길이 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; | ||
import LentType from 'src/enums/lent.type.enum'; | ||
|
||
export class BrokenCabinetInfoDto { | ||
@ApiProperty({ | ||
description: '캐비넷 고유 ID', | ||
example: 1234, | ||
}) | ||
cabinet_id: number; // 캐비넷 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '사물함에 붙어있는 숫자', | ||
example: 12, | ||
}) | ||
cabinet_num: number; // 사물함에 붙어있는 숫자 | ||
|
||
@ApiProperty({ | ||
description: '사물함의 종류 (개인, 공유, 동아리)', | ||
enum: LentType, | ||
example: 'PRIVATE', | ||
}) | ||
lent_type: LentType; // 사물함의 종류 (개인, 공유, 동아리) | ||
|
||
@ApiProperty({ | ||
description: '고장 사유', | ||
example: '잠금장치 고장', | ||
}) | ||
note: string; // 고장 사유 | ||
|
||
@ApiProperty({ | ||
description: '해당 사물함을 대여할 수 있는 최대 유저 수', | ||
example: 3, | ||
}) | ||
max_user: number; // 해당 사물함을 대여할 수 있는 최대 유저 수 | ||
|
||
@ApiProperty({ | ||
description: '사물함의 섹션 종류 (오아시스 등)', | ||
example: 'Oasis', | ||
}) | ||
section: string; // 사물함의 섹션 종류 (오아시스 등) | ||
} |
16 changes: 16 additions & 0 deletions
16
backend/src/v3/search/dto/broken-cabinet-info.pagenation.dto.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { BrokenCabinetInfoDto } from './broken-cabinet-info.dto'; | ||
|
||
export class BrokenCabinetInfoPagenationDto { | ||
@ApiProperty({ | ||
description: '캐비넷 정보 배열', | ||
type: [BrokenCabinetInfoDto], | ||
}) | ||
result: BrokenCabinetInfoDto[]; // 캐비넷 정보 배열 | ||
|
||
@ApiProperty({ | ||
description: 'DB에 저장된 총 결과의 길이', | ||
example: 42, | ||
}) | ||
total_length: number; // DB에 저장된 총 결과의 길이 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger'; | ||
import CabinetStatusType from 'src/enums/cabinet.status.type.enum'; | ||
import LentType from 'src/enums/lent.type.enum'; | ||
import { LentDto } from './lent.dto'; | ||
|
||
export class CabinetInfoDto { | ||
@ApiProperty({ | ||
description: '캐비넷 고유 ID', | ||
example: 1234, | ||
}) | ||
cabinet_id: number; // 캐비넷 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '사물함에 붙어있는 숫자', | ||
example: 12, | ||
}) | ||
cabinet_num: number; // 사물함에 붙어있는 숫자 | ||
|
||
@ApiProperty({ | ||
description: '사물함의 종류 (개인, 공유, 동아리)', | ||
enum: LentType, | ||
example: 'PRIVATE', | ||
}) | ||
lent_type: LentType; // 사물함의 종류 (개인, 공유, 동아리) | ||
|
||
@ApiProperty({ | ||
description: '사물함에 대한 설명', | ||
example: '푸주와 아이들이 사용하는 사물함입니다', | ||
}) | ||
cabinet_title: string; // 사물함에 대한 설명 | ||
|
||
@ApiProperty({ | ||
description: '해당 사물함을 대여할 수 있는 최대 유저 수', | ||
example: 3, | ||
}) | ||
max_user: number; // 해당 사물함을 대여할 수 있는 최대 유저 수 | ||
|
||
@ApiProperty({ | ||
description: '사물함 상태', | ||
enum: CabinetStatusType, | ||
example: 'PRIVATE', | ||
}) | ||
status: CabinetStatusType; // 사물함의 현재 상태 | ||
|
||
@ApiProperty({ | ||
description: '사물함의 섹션 종류 (오아시스 등)', | ||
example: 'Oasis', | ||
}) | ||
section: string; // 사물함의 섹션 종류 (오아시스 등) | ||
|
||
@ApiPropertyOptional({ | ||
description: '대여되어 있을 경우 대여 정보', | ||
type: [LentDto], | ||
}) | ||
lent_info?: LentDto[]; // 대여 정보 (optional) | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { CabinetInfoDto } from './cabinet-info.dto'; | ||
|
||
export class CabinetInfoPagenationDto { | ||
@ApiProperty({ | ||
description: '캐비넷 정보 배열', | ||
type: [CabinetInfoDto], | ||
}) | ||
result: CabinetInfoDto[]; // 캐비넷 정보 배열 | ||
|
||
@ApiProperty({ | ||
description: 'DB에 저장된 총 결과의 길이', | ||
example: 42, | ||
}) | ||
total_length: number; // DB에 저장된 총 결과의 길이 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
/** | ||
* 기본적인 사물함 대여 정보 | ||
*/ | ||
export class LentDto { | ||
@ApiProperty({ | ||
description: '42 고유 ID', | ||
example: 12345, | ||
}) | ||
user_id: number; // 42 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '42 로그인 ID', | ||
example: 'joopark', | ||
}) | ||
intra_id: string; // 42 로그인 ID | ||
|
||
@ApiProperty({ | ||
description: '대여 고유 ID', | ||
example: 1234, | ||
}) | ||
lent_id: number; // 대여 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '대여한 시간', | ||
example: '2022-08-24 13:03:03', | ||
}) | ||
lent_time: Date; // 대여한 시간 | ||
|
||
@ApiProperty({ | ||
description: '대여한 시간', | ||
example: '2022-08-24 13:03:03', | ||
}) | ||
expire_time: Date; // 만료 시간 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
|
||
export class UserInfoDto { | ||
@ApiProperty({ | ||
description: '42 고유 ID', | ||
example: 12345, | ||
}) | ||
user_id: number; // 42 고유 ID | ||
|
||
@ApiProperty({ | ||
description: '42 로그인 ID', | ||
example: 'joopark', | ||
}) | ||
intra_id: string; // 42 로그인 ID | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
import { ApiProperty } from '@nestjs/swagger'; | ||
import { UserInfoDto } from './user-info.dto'; | ||
|
||
export class UserInfoPagenationDto { | ||
@ApiProperty({ | ||
description: '유저 정보 배열', | ||
type: [UserInfoDto], | ||
}) | ||
result: UserInfoDto[]; // 유저 정보 배열 | ||
|
||
@ApiProperty({ | ||
description: 'DB에 저장된 총 결과의 길이', | ||
example: 42, | ||
}) | ||
total_length: number; // DB에 저장된 총 결과의 길이 | ||
} |
82 changes: 80 additions & 2 deletions
82
backend/src/v3/search/repository/search.repository.interface.ts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,80 @@ | ||
// eslint-disable-next-line @typescript-eslint/no-empty-interface | ||
export interface ISearchRepository {} | ||
import LentType from 'src/enums/lent.type.enum'; | ||
import { BlockedUserInfoPagenationDto } from '../dto/blocked-user-info.pagenation.dto'; | ||
import { BrokenCabinetInfoPagenationDto } from '../dto/broken-cabinet-info.pagenation.dto'; | ||
import { CabinetInfoPagenationDto } from '../dto/cabinet-info.pagenation.dto'; | ||
import { UserInfoPagenationDto } from '../dto/user-info.pagenation.dto'; | ||
|
||
export interface ISearchRepository { | ||
/** | ||
* 인트라 아이디에 대한 검색결과를 가지고 옵니다. | ||
* | ||
* @param intra_id 인트라 아이디 | ||
* @param index 가져올 데이터 인덱스 | ||
* @param length 가져올 데이터 길이 | ||
* @returns CabinetInfoPagenationDto | ||
*/ | ||
searchByIntraId( | ||
intra_id: string, | ||
index: number, | ||
length: number, | ||
): Promise<UserInfoPagenationDto>; | ||
|
||
/** | ||
* 특정 캐비넷 타입인 사물함 리스트를 가지고 옵니다. | ||
* | ||
* @param lent_type 대여 타입 | ||
* @param index 가져올 데이터 인덱스 | ||
* @param length 가져올 데이터 길이 | ||
* @returns CabinetInfoPagenationDto | ||
*/ | ||
searchByLentType( | ||
lent_type: LentType, | ||
index: number, | ||
length: number, | ||
): Promise<CabinetInfoPagenationDto>; | ||
|
||
/** | ||
* 해당 사물함 번호를 가진 사물함 리스트를 반환합니다. | ||
* | ||
* @param visible_num 사물함 번호 | ||
* @returns CabinetInfoPagenationDto | ||
*/ | ||
searchByCabinetNumber(visible_num: number): Promise<CabinetInfoPagenationDto>; | ||
|
||
/** | ||
* 정지당한 사물함 리스트를 반환합니다. | ||
* | ||
* @param index 가져올 데이터 인덱스 | ||
* @param length 가져올 데이터 길이 | ||
* @returns CabinetInfoPagenationDto | ||
*/ | ||
searchByBannedCabinet( | ||
index: number, | ||
length: number, | ||
): Promise<CabinetInfoPagenationDto>; | ||
|
||
/** | ||
* 고장난 사물함 리스트를 반환합니다. | ||
* | ||
* @param index 가져올 데이터 인덱스 | ||
* @param length 가져올 데이터 길이 | ||
* @returns BrokenCabinetInfoPagenationDto | ||
*/ | ||
searchByBrokenCabinet( | ||
index: number, | ||
length: number, | ||
): Promise<BrokenCabinetInfoPagenationDto>; | ||
|
||
/** | ||
* 밴 당한 유저 리스트를 반환합니다. | ||
* | ||
* @param user_id 유저 고유 ID | ||
* @param index 가져올 데이터 인덱스 | ||
* @param length 가져올 데이터 길이 | ||
* @returns LogPagenationDto | ||
*/ | ||
searchByBanUser( | ||
index: number, | ||
length: number, | ||
): Promise<BlockedUserInfoPagenationDto>; | ||
} |
Oops, something went wrong.