import type { AuthorizationError } from 'src/types/error' import type { Either } from 'src/utils/either' import { fail, success } from 'src/utils/either' import { mapAuthorizationResponse } from 'src/utils/map-checkable-response' import { request } from '../index' export async function postFollowProfile (username: string): Promise> { const result1 = await request.checkablePost(`/profiles/${username}/follow`) const result2 = mapAuthorizationResponse(result1) if (result2.isOk()) return success(result2.value.profile) return fail(result2.value) } export async function deleteFollowProfile (username: string): Promise> { const result1 = await request.checkableDelete(`/profiles/${username}/follow`) const result2 = mapAuthorizationResponse(result1) if (result2.isOk()) return success(result2.value.profile) return fail(result2.value) }