항해 99
항해 99 61일차 11/18일
코딩이좋아요
2022. 11. 19. 01:48
오늘은 날씨조회 및 마이페이지, 소셜로그인 구현을 했다.
날씨조회 바디값에 dt와 지역을 주면 그에 맞게 정보를 가공해서 보내줬다.
open api에서 8일 치를 받아와서 저장을 하고 가공을 해서 보내준다. 월요일을 찍으면 그주 토요일 날씨도 같이 보내주게끔 코드를 작성 했다. 가공을 하는 과정에서 리턴 값이 중복이 되기 떄문에 따로 뺴서 함수로 만들어서 쓰도록 했다.
더보기
import { weathers } from '../../interface/weather';
import weatherRepo from './weatherRepo';
export default {
getweather: async ({ pardo, dt }: weathers) => {
const weathers = { pardo, dt };
const findWeather = await weatherRepo.getweather(weathers);
//날씨 가공 함수
const fomatReturnData = (data: weathers) => {
return {
dt: data.dt,
pardo: data.pardo,
date: data.date,
sunrise: data.sunrise,
sunset: data.sunset,
humidity: data.humidity,
wind_speed: data.wind_speed,
clouds: data.clouds,
uvi: data.uvi,
pop: data.pop,
day: data.day,
min: data.min,
max: data.max,
night: data.night,
eve: data.eve,
morn: data.morn,
rain: data.rain,
snow: data.snow,
};
};
const weather = findWeather.map((data) => {
if (dt === data.dt) {
const weather = fomatReturnData(data);
return weather;
} else if (data.date === '토') {
const weather = fomatReturnData(data);
return weather;
}
});
return weather.filter((element)=> element !== undefined && element !== null)
},
};
내일은 서버 배포 한번 해보고 토큰 교환을 할 예정이다.