2020-09-17 00:03:07 -05:00

32 lines
878 B
TypeScript

import axios from 'axios'
import Harvest from '../Entities/Harvest'
import ErrorMessage from '../Constants/ErrorMessageInterface'
import ErrorMessages from '../Constants/ErrorMessages'
import User from "../Entities/User"
const getUser = async (): Promise<User | ErrorMessage> => {
const harvest = new Harvest()
let userResponse: any
try {
userResponse = await axios.get(
'https://api.harvestapp.com/api/v2/users/me.json',
{ headers : harvest.headers }
)
} catch (err) {
console.log(err)
return ErrorMessages[0]
}
const userData = {
id: userResponse.data.id || '',
firstName: userResponse.data.first_name || '',
lastName: userResponse.data.last_name || '',
email: userResponse.data.email || '',
avatar: userResponse.data.avatar_url || '',
}
const user = new User(userData)
return user
}
export default getUser