import type { HttpClient } from '@services' import { emailSignUp, finishSignUp, phoneSignIn, tokenSignIn, tokenSignUp, } from './auth' import { assistedAutomaticProposal, modifyAutomaticProposal, } from './automaticProposals' import { createAutomaticProposalComment, modifyAutomaticProposalComment, } from './automaticProposals/automaticProposalComments' import { deleteAutomaticProposalHouse } from './automaticProposals/automaticProposalHouses' import { getAvailabilityRequestById, modifyAvailabilityRequest, } from './availabilityRequest' import { getAwaitingActions, updateOwnerNps } from './awaitingActions' import { downloadCheckPdf } from './checks' import { confirmClientContract, getClientContract, sendClientContractInformation, } from './clientContracts' import { getContractPdf, getContractsById, getContractsByType, getGuestContactsList, } from './contracts' import { deleteHouseWishlist } from './houseMultiInquiryWishlists' import { addComment, getBookings } from './houses/bookings' import { addGuestContacts, getContractInformation, getHouseContracts, getPaymentTimeline, getSignatoryOwnerContracts, modifyContractInformation, } from './houses/contracts' import { getDashboardAnalytics } from './houses/dashboardAnalytics' import getAreasEquipments from './houses/getAreasEquipments' import getHouseContacts from './houses/getHouseContacts' import getHouses from './houses/getHouses' import getStayInformation from './houses/getStayInformation' import { getOwnerTaxCertificateAvailableYears, getOwnerTaxCertificateById, } from './houses/ownerTaxCertificates' import { addHouseToUserWishlist, getUserInfo, getUserWishlist, modifyUserInfo, oldModifyUserInfo, removeHouseToUserWishlist, } from './information' import getFirebaseToken from './messaging/getFirebaseToken' import modifyUser from './modifyUser' import { getWishlistAvailabilities } from './multiInquiryWishlistAvailabilities' import { createWishlist, deleteWishlist, getWishlist, getWishlists, modifyWishlist, } from './multiInquiryWishlists' import { confirmOwnerContractById, getOwnerContractById, } from './ownerContracts' const userRepository = (http: HttpClient) => ({ modifyUser: modifyUser(http).query, auth: { emailSignUp: emailSignUp(http).query, finishSignUp: finishSignUp(http).query, phoneSignIn: phoneSignIn(http).query, tokenSignIn: tokenSignIn(http).query, tokenSignUp: tokenSignUp(http).query, }, automaticProposal: { assistedAutomaticProposal: assistedAutomaticProposal(http).query, automaticProposalComments: { createAutomaticProposalComment: createAutomaticProposalComment(http).query, modifyAutomaticProposalComment: modifyAutomaticProposalComment(http).query, }, automaticProposalHouses: { deleteAutomaticProposalHouse: deleteAutomaticProposalHouse(http).query, }, modifyAutomaticProposal: modifyAutomaticProposal(http).query, }, availabilityRequest: { getAvailabilityRequestById: getAvailabilityRequestById(http).query, modifyAvailabilityRequest: modifyAvailabilityRequest(http).query, }, awaitingActions: { getAwaitingActions: getAwaitingActions(http).query, updateOwnerNps: updateOwnerNps(http).query, }, checks: { downloadCheckPdf: downloadCheckPdf(http).query, }, clientContracts: { getClientContract: getClientContract(http).query, confirmClientContract: confirmClientContract(http).query, sendClientContractInformation: sendClientContractInformation(http).query, }, contracts: { getContractsByType: getContractsByType(http).query, getContractsById: getContractsById(http).query, getContractPdf: getContractPdf(http).query, getGuestContracts: getGuestContactsList(http).query, }, houses: { getAreasEquipments: getAreasEquipments(http).query, getHouses: getHouses(http).query, getHouseContacts: getHouseContacts(http).query, bookings: { getBookings: getBookings(http).query, owner: { addComment: addComment(http).query, }, }, getStayInformation: getStayInformation(http).query, contracts: { addGuestContacts: addGuestContacts(http).query, getHouseContracts: getHouseContracts(http).query, modifyContractInformation: modifyContractInformation(http).query, getContractInformation: getContractInformation(http).query, getPaymentTimeline: getPaymentTimeline(http).query, getSignatoryOwnerContracts: getSignatoryOwnerContracts(http).query, }, dashboardAnalytics: { getDashboardAnalytics: getDashboardAnalytics(http).query, }, taxCertificates: { getOwnerTaxCertificateById: getOwnerTaxCertificateById(http).query, getOwnerTaxCertificateAvailableYears: getOwnerTaxCertificateAvailableYears(http).query, }, }, information: { addHouseToUserWishlist: addHouseToUserWishlist(http).query, getUserInfo: getUserInfo(http).query, getUserWishlist: getUserWishlist(http).query, modifyUserInfo: modifyUserInfo(http).query, oldModifyUserInfo: oldModifyUserInfo(http).query, removeHouseToUserWishlist: removeHouseToUserWishlist(http).query, }, messaging: { getFirebaseToken: getFirebaseToken(http).query, }, multiInquiryWishlistAvailabilities: { getWishlistAvailability: getWishlistAvailabilities(http).query, }, multiInquiryWishlists: { createWishlist: createWishlist(http).query, deleteWishlist: deleteWishlist(http).query, getWishlist: getWishlist(http).query, getWishlists: getWishlists(http).query, modifyWishlist: modifyWishlist(http).query, }, houseMultiInquiryWishlists: { deleteHouseWishlist: deleteHouseWishlist(http).query, }, ownerContracts: { getOwnerContractById: getOwnerContractById(http).query, confirmOwnerContractById: confirmOwnerContractById(http).query, }, }) export default userRepository