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.

55 lines (47 loc) 1.79 kB
import * as Options from '../options'; import { BaseService } from '../infrastructure'; import { PriceRule } from '../interfaces'; /** * A service for manipulating Shopify Price Rules. */ export class PriceRules extends BaseService { constructor(shopDomain: string, accessToken: string) { super(shopDomain, accessToken, "price_rules"); } /** * Gets a list of up to 250 of the shop's Price Rules. * @param options Options for filtering the results. */ public list(options?: Options.ListOptions & Options.FieldOptions) { return this.createRequest<PriceRule[]>("GET", ".json", "price_rules", options); } /** * The API is currently restricted to what the Shopify Discounts admin section offers. Note that for * a price rule to be accessible via the admin section of Shopify, you will need to create a * discount code as well. */ public create(PriceRule: Partial<PriceRule>) { return this.createRequest<PriceRule>("POST", ".json", "price_rule", { price_rule: PriceRule }); } /** * Retrieves the Price Rule with the given id. * @param options Options for filtering the results. */ public get(id: number) { return this.createRequest<PriceRule>("GET", `${id}.json`, "price_rule"); } /** * Updates the Price Rule with the given id. * @param tag The updated Price Rule. */ public update(id: number, PriceRule: Partial<PriceRule>) { return this.createRequest<PriceRule>("PUT", `${id}.json`, "price_rule", { price_rule: PriceRule }); } /** * Deletes the Price Rule with the given id. */ public delete(id: number) { return this.createRequest<void>("DELETE", `${id}.json`); } } export default PriceRules;