UNPKG

@konkonam/nuxt-shopify

Version:

Easily integrate shopify with nuxt 3 and 4 🚀

23 lines (22 loc) • 1.08 kB
import { useNitroApp } from "nitropack/runtime"; import { useRuntimeConfig } from "#imports"; import { createClient } from "../../utils/client.js"; import { createAdminConfig } from "../../utils/admin.js"; import useErrors from "../../utils/errors.js"; export function useAdmin() { const { _shopify } = useRuntimeConfig(); const config = createAdminConfig(_shopify); const nitroApp = useNitroApp(); nitroApp.hooks.callHook("admin:client:configure", { config }); const originalClient = createClient(config); const request = async (operation, options) => { nitroApp.hooks.callHook("admin:client:request", { operation, options }); const response = await originalClient.request(operation, options); if (response.errors) useErrors(nitroApp.hooks, "admin:client:errors", response.errors, _shopify?.errors?.throw ?? false); nitroApp.hooks.callHook("admin:client:response", { response, operation, options }); return response; }; const client = { ...originalClient, request }; nitroApp.hooks.callHook("admin:client:create", { client }); return client; }