w-aura/src/api/ApiContext.ts
Aidar Shaikhutdin @makeweb.space 6bf832da0d feat: add payment and wallpaper pages
2023-05-18 19:03:20 +06:00

29 lines
1.2 KiB
TypeScript

import { createContext } from 'react'
import { createMethod } from './utils'
import {
User,
Auras,
Elements,
AuthTokens,
Assets,
AssetCategories,
DailyForecasts,
SubscriptionItems,
SubscriptionCheckout,
} from './resources'
export interface ApiContextValue {
auth: ReturnType<typeof createMethod<AuthTokens.Payload, AuthTokens.Response>>
getElements: ReturnType<typeof createMethod<Elements.Payload, Elements.Response>>
getUser: ReturnType<typeof createMethod<User.GetPayload, User.Response>>
updateUser: ReturnType<typeof createMethod<User.PatchPayload, User.Response>>
getAssets: ReturnType<typeof createMethod<Assets.Payload, Assets.Response>>
getAssetCategories: ReturnType<typeof createMethod<AssetCategories.Payload, AssetCategories.Response>>
getDailyForecasts: ReturnType<typeof createMethod<DailyForecasts.Payload, DailyForecasts.Response>>
getAuras: ReturnType<typeof createMethod<Auras.Payload, Auras.Response>>
getSubscriptionItems: ReturnType<typeof createMethod<SubscriptionItems.Payload, SubscriptionItems.Response>>
getSubscriptionCheckout: ReturnType<typeof createMethod<SubscriptionCheckout.Payload, SubscriptionCheckout.Response>>
}
export const ApiContext = createContext<ApiContextValue>({} as ApiContextValue)