w-aura/src/api/api.ts
Aidar Shaikhutdin @makeweb.space 0cf8f2898d feat: add new api methods for chargebee
2023-06-15 15:55:52 +03:00

40 lines
2.0 KiB
TypeScript

import { ApiContextValue } from './ApiContext'
import { createMethod } from './utils'
import {
User,
Auras,
Element,
Elements,
AuthTokens,
Assets,
AssetCategories,
DailyForecasts,
SubscriptionItems,
SubscriptionCheckout,
SubscriptionReceipts,
SubscriptionStatus,
PaymentIntents
} from './resources'
const api = {
auth: createMethod<AuthTokens.Payload, AuthTokens.Response>(AuthTokens.createRequest),
getElement: createMethod<Element.Payload, Element.Response>(Element.createRequest),
getElements: createMethod<Elements.Payload, Elements.Response>(Elements.createRequest),
getUser: createMethod<User.GetPayload, User.Response>(User.createGetRequest),
updateUser: createMethod<User.PatchPayload, User.Response>(User.createPatchRequest),
getAssets: createMethod<Assets.Payload, Assets.Response>(Assets.createRequest),
getAssetCategories: createMethod<AssetCategories.Payload, AssetCategories.Response>(AssetCategories.createRequest),
getDailyForecasts: createMethod<DailyForecasts.Payload, DailyForecasts.Response>(DailyForecasts.createRequest),
getAuras: createMethod<Auras.Payload, Auras.Response>(Auras.createRequest),
getSubscriptionItems: createMethod<SubscriptionItems.Payload, SubscriptionItems.Response>(SubscriptionItems.createRequest),
getSubscriptionCheckout: createMethod<SubscriptionCheckout.Payload, SubscriptionCheckout.Response>(SubscriptionCheckout.createRequest),
getSubscriptionStatus: createMethod<SubscriptionStatus.Payload, SubscriptionStatus.Response>(SubscriptionStatus.createRequest),
getSubscriptionReceipt: createMethod<SubscriptionReceipts.GetPayload, SubscriptionReceipts.Response>(SubscriptionReceipts.createGetRequest),
createSubscriptionReceipt: createMethod<SubscriptionReceipts.Payload, SubscriptionReceipts.Response>(SubscriptionReceipts.createRequest),
createPaymentIntent: createMethod<PaymentIntents.Payload, PaymentIntents.Response>(PaymentIntents.createRequest)
}
export function createApi(): ApiContextValue {
return api
}