kibo-geetanshuchhabra 449d7fee72
Icky 175 (#3)
* folder and env setup

* codegen.json headers removed

* icky-175-get-site-info

* PR comments resolved

* update category Id

Co-authored-by: Chandradeepta <43542673+Chandradeepta@users.noreply.github.com>
2021-08-30 15:41:48 -05:00

36 lines
1015 B
TypeScript

import { OperationContext } from '@commerce/api/operations'
import { Category } from '@commerce/types/site'
import { KiboCommerceConfig } from '../index'
import {categoryTreeQuery} from '../queries/get-categories-tree-query'
import { normalizeCategory } from '../../lib/normalize'
export type GetSiteInfoResult<
T extends { categories: any[]; brands: any[] } = {
categories: Category[]
brands: any[]
}
> = T
export default function getSiteInfoOperation({commerce}: OperationContext<any>) {
async function getSiteInfo({
query= categoryTreeQuery,
variables,
config,
}: {
query?: string
variables?: any
config?: Partial<KiboCommerceConfig>
preview?: boolean
} = {}): Promise<GetSiteInfoResult> {
const cfg = commerce.getConfig(config)
const { data } = await cfg.fetch(query);
const categories= data.categories.items.map(normalizeCategory);
return Promise.resolve({
categories: categories ?? [],
brands: [],
})
}
return getSiteInfo
}