@devx-commerce/strapi
Version:
Medusa plugin for Strapi as CMS
36 lines • 3.65 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.default = syncContentModelsLoader;
const utils_1 = require("@medusajs/framework/utils");
const qs_1 = __importDefault(require("qs"));
async function syncContentModelsLoader({ container, options, }) {
const logger = container.resolve(utils_1.ContainerRegistrationKeys.LOGGER);
if (!options?.base_url || !options?.api_key) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, "Strapi api key and base URL are required");
}
const systemIdKey = options.system_id_key || "systemId";
logger.debug(`Strapi baseURL: ${options.base_url}`);
const params = qs_1.default.stringify({
fields: ["title", systemIdKey, "handle", "productType"],
populate: { variants: { fields: ["title", systemIdKey, "sku"] } },
pagination: { limit: 1 },
});
const response = await fetch(`${options.base_url}/products?${params}`, {
headers: {
Authorization: `Bearer ${options.api_key}`,
"Content-Type": "application/json",
},
});
if (!response.ok) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Failed to connect to Strapi: HTTP ${response.status} ${response.statusText}`);
}
const { error } = await response.json();
if (error) {
throw new utils_1.MedusaError(utils_1.MedusaError.Types.INVALID_DATA, `Failed to connect to Strapi: ${error.message}`);
}
logger.info("Connected to Strapi");
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWNvbnRlbnQtbW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21vZHVsZXMvc3RyYXBpL2xvYWRlci9jcmVhdGUtY29udGVudC1tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFjQSwwQ0ErQ0M7QUE1REQscURBR21DO0FBQ25DLDRDQUFvQjtBQVNMLEtBQUssVUFBVSx1QkFBdUIsQ0FBQyxFQUNwRCxTQUFTLEVBQ1QsT0FBTyxHQUNzQjtJQUM3QixNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLGlDQUF5QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRW5FLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBQzVDLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLDBDQUEwQyxDQUMzQyxDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxhQUFhLElBQUksVUFBVSxDQUFDO0lBRXhELE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO0lBRXBELE1BQU0sTUFBTSxHQUFHLFlBQUUsQ0FBQyxTQUFTLENBQUM7UUFDMUIsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsYUFBYSxDQUFDO1FBQ3ZELFFBQVEsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNqRSxVQUFVLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO0tBQ3pCLENBQUMsQ0FBQztJQUVILE1BQU0sUUFBUSxHQUFHLE1BQU0sS0FBSyxDQUFDLEdBQUcsT0FBTyxDQUFDLFFBQVEsYUFBYSxNQUFNLEVBQUUsRUFBRTtRQUNyRSxPQUFPLEVBQUU7WUFDUCxhQUFhLEVBQUUsVUFBVSxPQUFPLENBQUMsT0FBTyxFQUFFO1lBQzFDLGNBQWMsRUFBRSxrQkFBa0I7U0FDbkM7S0FDRixDQUFDLENBQUM7SUFFSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO1FBQ2pCLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLHFDQUFxQyxRQUFRLENBQUMsTUFBTSxJQUFJLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FDOUUsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7SUFFeEMsSUFBSSxLQUFLLEVBQUUsQ0FBQztRQUNWLE1BQU0sSUFBSSxtQkFBVyxDQUNuQixtQkFBVyxDQUFDLEtBQUssQ0FBQyxZQUFZLEVBQzlCLGdDQUFnQyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQ2hELENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0FBQ3JDLENBQUMifQ==