@konkonam/nuxt-shopify
Version:
Easily integrate shopify with nuxt 3 and 4 🚀
23 lines (22 loc) • 1.08 kB
JavaScript
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;
}