File tree Expand file tree Collapse file tree
src/main/kotlin/site/billilge/api/backend/domain/item Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -17,6 +17,7 @@ import org.springframework.web.multipart.MultipartFile
1717import site.billilge.api.backend.domain.item.dto.request.ItemRequest
1818import site.billilge.api.backend.domain.item.dto.response.AdminItemFindAllResponse
1919import site.billilge.api.backend.domain.item.dto.response.ItemDetail
20+ import site.billilge.api.backend.domain.item.dto.response.ItemFindAllResponse
2021import site.billilge.api.backend.global.dto.PageableCondition
2122import site.billilge.api.backend.global.dto.SearchCondition
2223import site.billilge.api.backend.global.exception.ErrorResponse
@@ -130,4 +131,20 @@ interface AdminItemApi {
130131 fun getItemById (
131132 @PathVariable itemId : Long ,
132133 ): ResponseEntity <ItemDetail >
134+
135+ @Operation(
136+ summary = " 물품 이름 검색" ,
137+ description = " 물품 이름으로 물품을 검색하는 관리자용 API"
138+ )
139+ @ApiResponses(
140+ value = [
141+ ApiResponse (
142+ responseCode = " 200" ,
143+ description = " 물품 검색 성공"
144+ )
145+ ]
146+ )
147+ fun searchItems (
148+ @ModelAttribute searchCondition : SearchCondition
149+ ): ResponseEntity <ItemFindAllResponse >
133150}
Original file line number Diff line number Diff line change @@ -8,6 +8,7 @@ import org.springframework.web.multipart.MultipartFile
88import site.billilge.api.backend.domain.item.dto.request.ItemRequest
99import site.billilge.api.backend.domain.item.dto.response.AdminItemFindAllResponse
1010import site.billilge.api.backend.domain.item.dto.response.ItemDetail
11+ import site.billilge.api.backend.domain.item.dto.response.ItemFindAllResponse
1112import site.billilge.api.backend.domain.item.facade.AdminItemFacade
1213import site.billilge.api.backend.domain.member.enums.Role
1314import site.billilge.api.backend.global.annotation.OnlyAdmin
@@ -67,4 +68,11 @@ class AdminItemController(
6768 adminItemFacade.deleteItem(itemId)
6869 return ResponseEntity .noContent().build()
6970 }
71+
72+ @GetMapping(" /search" )
73+ override fun searchItems (
74+ @ModelAttribute searchCondition : SearchCondition
75+ ): ResponseEntity <ItemFindAllResponse > {
76+ return ResponseEntity .ok(adminItemFacade.searchItems(searchCondition))
77+ }
7078}
Original file line number Diff line number Diff line change @@ -6,6 +6,7 @@ import site.billilge.api.backend.domain.item.dto.request.ItemRequest
66import site.billilge.api.backend.domain.item.dto.response.AdminItemDetail
77import site.billilge.api.backend.domain.item.dto.response.AdminItemFindAllResponse
88import site.billilge.api.backend.domain.item.dto.response.ItemDetail
9+ import site.billilge.api.backend.domain.item.dto.response.ItemFindAllResponse
910import site.billilge.api.backend.domain.item.service.ItemService
1011import site.billilge.api.backend.global.dto.PageableCondition
1112import site.billilge.api.backend.global.dto.SearchCondition
@@ -42,6 +43,11 @@ class AdminItemFacade(
4243 return ItemDetail .from(item)
4344 }
4445
46+ fun searchItems (searchCondition : SearchCondition ): ItemFindAllResponse {
47+ val items = itemService.searchItems(searchCondition)
48+ return ItemFindAllResponse (items.map { ItemDetail .from(it) })
49+ }
50+
4551 fun deleteItem (itemId : Long ): Boolean {
4652 return itemService.deleteItem(itemId)
4753 }
You can’t perform that action at this time.
0 commit comments