@@ -3,60 +3,58 @@ import type { CountryCode, LanguageTestType, ListUniversity } from "@/types/univ
33import serverFetch from "@/utils/serverFetchUtil" ;
44
55interface UniversitySearchResponse {
6- univApplyInfoPreviews : ListUniversity [ ] ;
6+ univApplyInfoPreviews : ListUniversity [ ] ;
77}
88
99/**
1010 * 필터 검색에 사용될 파라미터 타입
1111 */
1212export interface UniversitySearchFilterParams {
13- languageTestType ?: LanguageTestType ;
14- testScore ?: number ;
15- countryCode ?: CountryCode [ ] ;
13+ languageTestType ?: LanguageTestType ;
14+ testScore ?: number ;
15+ countryCode ?: CountryCode [ ] ;
1616}
1717
1818export const getSearchUniversitiesByFilter = async (
19- filters : UniversitySearchFilterParams ,
19+ filters : UniversitySearchFilterParams ,
2020) : Promise < ListUniversity [ ] > => {
21- const params = new URLSearchParams ( ) ;
22-
23- if ( filters . languageTestType ) {
24- params . append ( "languageTestType" , filters . languageTestType ) ;
25- }
26- if ( filters . testScore !== undefined ) {
27- params . append ( "testScore" , String ( filters . testScore ) ) ;
28- }
29- // countryCode는 여러 개일 수 있으므로 각각 append 해줍니다.
30- if ( filters . countryCode ) {
31- filters . countryCode . forEach ( ( code ) => params . append ( "countryCode" , code ) ) ;
32- }
33-
34- // 필터 값이 하나도 없으면 빈 배열을 반환합니다.
35- if ( params . size === 0 ) {
36- return [ ] ;
37- }
38-
39- const endpoint = `/univ-apply-infos/search/filter?${ params . toString ( ) } ` ;
40- const response = await serverFetch < UniversitySearchResponse > ( endpoint ) ;
41-
42- if ( ! response . ok ) {
43- console . error ( `Failed to search universities by filter:` , response . error ) ;
44- return [ ] ;
45- }
46-
47- return response . data . univApplyInfoPreviews ;
21+ const params = new URLSearchParams ( ) ;
22+
23+ if ( filters . languageTestType ) {
24+ params . append ( "languageTestType" , filters . languageTestType ) ;
25+ }
26+ if ( filters . testScore !== undefined ) {
27+ params . append ( "testScore" , String ( filters . testScore ) ) ;
28+ }
29+ // countryCode는 여러 개일 수 있으므로 각각 append 해줍니다.
30+ if ( filters . countryCode ) {
31+ filters . countryCode . forEach ( ( code ) => params . append ( "countryCode" , code ) ) ;
32+ }
33+
34+ // 필터 값이 하나도 없으면 빈 배열을 반환합니다.
35+ if ( params . size === 0 ) {
36+ return [ ] ;
37+ }
38+
39+ const endpoint = `/univ-apply-infos/search/filter?${ params . toString ( ) } ` ;
40+ const response = await serverFetch < UniversitySearchResponse > ( endpoint ) ;
41+
42+ if ( ! response . ok ) {
43+ console . error ( `Failed to search universities by filter:` , response . error ) ;
44+ return [ ] ;
45+ }
46+
47+ return response . data . univApplyInfoPreviews ;
4848} ;
4949
50- export const getSearchUniversitiesAllRegions = async ( ) : Promise <
51- ListUniversity [ ]
52- > => {
53- const endpoint = `/univ-apply-infos/search/filter` ;
54- const response = await serverFetch < UniversitySearchResponse > ( endpoint ) ;
50+ export const getSearchUniversitiesAllRegions = async ( ) : Promise < ListUniversity [ ] > => {
51+ const endpoint = `/univ-apply-infos/search/filter` ;
52+ const response = await serverFetch < UniversitySearchResponse > ( endpoint ) ;
5553
56- if ( ! response . ok ) {
57- console . error ( `Failed to fetch all regions universities:` , response . error ) ;
58- return [ ] ;
59- }
54+ if ( ! response . ok ) {
55+ console . error ( `Failed to fetch all regions universities:` , response . error ) ;
56+ return [ ] ;
57+ }
6058
61- return response . data . univApplyInfoPreviews ;
59+ return response . data . univApplyInfoPreviews ;
6260} ;
0 commit comments