UNPKG

shopify-admin-api

Version:

Shopify Admin API is a NodeJS library built to help developers easily authenticate and make calls against the Shopify API. It was inspired by and borrows heavily from ShopifySharp.

107 lines (106 loc) 4.18 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CustomCollections = void 0; const infrastructure_1 = require("../infrastructure"); class CustomCollections extends infrastructure_1.BaseService { constructor(shopDomain, accessToken) { super(shopDomain, accessToken, "custom_collections"); } /** * Get a count of all custom collections that contain a given product * @param options Options for filtering the results. * @see https://help.shopify.com/api/reference/customcollection#count */ count(options) { return this.createRequest("GET", "count.json", "count", options); } /** * Get a list of all custom collections that contain a given product * @param options Options for filtering the results. */ list(options) { return this.createRequest("GET", ".json", "custom_collections", options); } /** * Get a single custom collection * @param id The collection's id. * @param options Options for filtering the results. */ get(id, options) { return this.createRequest("GET", `${id}.json`, "custom_collection", options); } /** * Creates a custom collection. * @param collection The collection being created. * @param options Options for creating the collection. */ create(collection) { return this.createRequest("POST", ".json", "custom_collection", { custom_collection: collection }); } /** * Updates a custom collection with the given id. * @param id The collection's id. * @param collection The updated collection. */ update(id, collection) { return this.createRequest("PUT", `${id}.json`, "custom_collection", { custom_collection: collection }); } /** * Deletes a custom collection with the given id. * @param id The collection's id. */ delete(id) { return this.createRequest("DELETE", `${id}.json`); } /** * Gets a list of up to 250 metafields from the given customCollection. * @param id The customCollection's id. * @param options Options for filtering the results. */ listMetafields(customCollectionId, options) { return this.createRequest("GET", `${customCollectionId}/metafields.json`, 'metafields', options); } /** * Returns the number of metafields belonging to the given customCollection. * @param id The customCollection's id. */ countMetafields(customCollectionId) { return this.createRequest("GET", `${customCollectionId}/metafields/count.json`, 'count'); } /** * Gets the metafield with the given id from an customCollection. * @param customCollectionId The customCollection's id. * @param id The metafield's id. */ getMetafield(customCollectionId, id) { return this.createRequest("GET", `${customCollectionId}/metafields/${id}.json`, 'metafield'); } /** * Creates a metafield for the given customCollection. * @param customCollectionId The customCollection's id. * @param id The metafield's id. * @param metafield Options for the metafield */ createMetafield(customCollectionId, metafield) { return this.createRequest("POST", `${customCollectionId}/metafields.json`, 'metafield', { metafield }); } /** * Updates a metafield for the given customCollection * @param customCollectionId The customCollection's id. * @param id The metafield's id. * @param metafield Options for the metafield */ updateMetafield(customCollectionId, id, metafield) { return this.createRequest("PUT", `${customCollectionId}/metafields/${id}.json`, 'metafield', { metafield }); } /** * Deletes the metafield with the given id from an customCollection. * @param customCollectionId The customCollection's id. * @param id The metafield's id. */ deleteMetafield(customCollectionId, id) { return this.createRequest("DELETE", `${customCollectionId}/metafields/${id}.json`, 'metafield'); } } exports.CustomCollections = CustomCollections; exports.default = CustomCollections;