UNPKG

inventora-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.

63 lines (55 loc) 2.27 kB
import * as Options from '../options'; import { BaseService } from '../infrastructure'; import { SmartCollection } from '../interfaces'; export class SmartCollections extends BaseService { constructor(shopDomain: string, accessToken: string) { super(shopDomain, accessToken, "smart_collections"); } /** * Get a count of all smart collections that contain a given product * @param options Options for filtering the results. * @see https://help.shopify.com/api/reference/smartcollection#count */ public count(options?: Options.CollectionCountOptions) { return this.createRequest<number>("GET", "count.json", "count", options); } /** * Get a list of all smart collections that contain a given product * @param options Options for filtering the results. */ public list(options?: Options.CollectionListOptions) { return this.createRequest<SmartCollection[]>("GET", ".json", "smart_collections", options); } /** * Get a single collection * @param id The collection's id. * @param options Options for filtering the results. */ public get(id: number, options?: Options.CollectionGetOptions) { return this.createRequest<SmartCollection>("GET", `${id}.json`, "smart_collection", options); } /** * Create a new smart collection. * @param collection The collection being created. * @param options Options for creating the collection. */ public create(collection: Partial<SmartCollection>) { return this.createRequest<SmartCollection>("POST", ".json", "smart_collection", { smart_collection: collection }); } /** * Updates an collection with the given id. * @param id The collection's id. * @param collection The updated collection. */ public update(id: number, collection: Partial<SmartCollection>) { return this.createRequest<SmartCollection>("PUT", `${id}.json`, "smart_collection", { smart_collection: collection }); } /** * Deletes an collection with the given id. * @param id The collection's id. */ public delete(id: number) { return this.createRequest<void>("DELETE", `${id}.json`); } } export default SmartCollections;