29 lines
1.2 KiB
TypeScript
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)
|