diff --git a/framework/aquilacms/api/utils/parse-item.ts b/framework/aquilacms/api/utils/parse-item.ts new file mode 100644 index 000000000..7c8cd4728 --- /dev/null +++ b/framework/aquilacms/api/utils/parse-item.ts @@ -0,0 +1,28 @@ +import type { ItemBody as WishlistItemBody } from '../wishlist' +import type { CartItemBody, OptionSelections } from '../../types' + +type BCWishlistItemBody = { + product_id: number + variant_id: number +} + +type BCCartItemBody = { + product_id: number + variant_id: number + quantity?: number + option_selections?: OptionSelections +} + +export const parseWishlistItem = ( + item: WishlistItemBody +): BCWishlistItemBody => ({ + product_id: Number(item.productId), + variant_id: Number(item.variantId), +}) + +export const parseCartItem = (item: CartItemBody): BCCartItemBody => ({ + quantity: item.quantity, + product_id: Number(item.productId), + variant_id: Number(item.variantId), + option_selections: item.optionSelections, +}) diff --git a/framework/aquilacms/customer/get-customer-wishlist.ts b/framework/aquilacms/customer/get-customer-wishlist.ts index a2457d120..ec32b429a 100644 --- a/framework/aquilacms/customer/get-customer-wishlist.ts +++ b/framework/aquilacms/customer/get-customer-wishlist.ts @@ -1,6 +1,14 @@ import { AquilacmsConfig, getConfig } from '../api' -export type Wishlist = Omit & { +type wishlist_Full = { + id?: number + customer_id?: number + name?: string + is_public?: boolean + token?: string +} + +export type Wishlist = wishlist_Full & { items?: WishlistItem[] } @@ -13,7 +21,7 @@ export type GetCustomerWishlistResult< > = T export type GetCustomerWishlistVariables = { - customerId: number + customerId: string } async function getCustomerWishlist(opts: { @@ -44,7 +52,7 @@ async function getCustomerWishlist({ }): Promise { config = getConfig(config) - return { wishlist: [] } + return { wishlist: {} } } export default getCustomerWishlist diff --git a/framework/aquilacms/next.config.js b/framework/aquilacms/next.config.js index 255000396..52cc5dcc0 100644 --- a/framework/aquilacms/next.config.js +++ b/framework/aquilacms/next.config.js @@ -3,11 +3,6 @@ const commerce = require('./commerce.config.json') module.exports = { commerce, images: { - domains: [ - 'recdem.hosting-ns.com', - 'providers.aquila-cms.com', - 'provider-vercel.aquila-cms.com', - 'localhost', - ], + domains: [new URL(process.env.AQUILACMS_URL).hostname], }, } diff --git a/pages/[...pages].tsx b/pages/[...pages].tsx index d20397abd..67adb6287 100644 --- a/pages/[...pages].tsx +++ b/pages/[...pages].tsx @@ -1,6 +1,5 @@ import type { GetStaticPathsContext, - GetStaticPathsResult, GetStaticPropsContext, InferGetStaticPropsType, } from 'next' @@ -41,9 +40,7 @@ export async function getStaticProps({ } } -export async function getStaticPaths({ - locales, -}: GetStaticPathsContext): Promise { +export async function getStaticPaths({ locales }: GetStaticPathsContext) { const { pages } = await getAllPages() const [invalidPaths, log] = missingLocaleInPages() const paths = pages @@ -56,6 +53,7 @@ export async function getStaticPaths({ invalidPaths.push(url) }) log() + return { paths, // Fallback shouldn't be enabled here or otherwise this route diff --git a/tsconfig.json b/tsconfig.json index 41b08ccee..62efcf596 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -27,12 +27,5 @@ } }, "include": ["next-env.d.ts", "**/*.d.ts", "**/*.ts", "**/*.tsx", "**/*.js"], - "exclude": [ - "node_modules/*", - "components/wishlist", - "components/wishlist/WishlistButton", - "components/wishlist/WishlistCard", - "pages/api/bigcommerce/wishlist", - "pages/wishlist" - ] + "exclude": ["node_modules/*"] }