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
text/typescript
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;