@pintahub/shopify-api 1.9.2 → 1.9.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,6 +4,7 @@ import { ShopAPIInterface } from "./storefront/shop";
4
4
  import { ProductAPIInterface } from "./storefront/products";
5
5
  import { CartAPIInterface } from "./storefront/cart";
6
6
  import { PostsAPIInterface } from "./storefront/posts";
7
+ import { CustomersAPIInterface } from "./storefront/customers";
7
8
  export declare class StorefrontAPI {
8
9
  private readonly options;
9
10
  private readonly client;
@@ -12,6 +13,7 @@ export declare class StorefrontAPI {
12
13
  readonly product: ProductAPIInterface;
13
14
  readonly cart: CartAPIInterface;
14
15
  readonly posts: PostsAPIInterface;
16
+ readonly customers: CustomersAPIInterface;
15
17
  constructor(options: StorefrontAPIOptions);
16
18
  private _createClient;
17
19
  }
@@ -7,21 +7,23 @@ const shop_1 = require("./storefront/shop");
7
7
  const products_1 = require("./storefront/products");
8
8
  const cart_1 = require("./storefront/cart");
9
9
  const posts_1 = require("./storefront/posts");
10
+ const customers_1 = require("./storefront/customers");
10
11
  class StorefrontAPI {
11
12
  constructor(options) {
12
13
  this.options = options;
13
- this.client = this._createClient();
14
+ this.client = this._createClient('2023-10');
14
15
  this.page = new pages_1.PageAPI(this.client);
15
16
  this.shop = new shop_1.ShopAPI(this.client);
16
17
  this.product = new products_1.ProductAPI(this.client);
17
18
  this.cart = new cart_1.CartAPI(this.client);
18
19
  this.posts = new posts_1.PostsAPI(this.client);
20
+ this.customers = new customers_1.CustomersAPI(this._createClient('2024-10'));
19
21
  }
20
- _createClient() {
22
+ _createClient(version = '2023-10') {
21
23
  const { shop, accessToken } = this.options;
22
24
  return (0, storefront_api_client_1.createStorefrontApiClient)({
23
25
  storeDomain: shop,
24
- apiVersion: '2023-10',
26
+ apiVersion: version,
25
27
  publicAccessToken: accessToken
26
28
  });
27
29
  }
@@ -16,7 +16,7 @@ class CreateCustomer extends ActionBuilder_1.ActionBuilder {
16
16
  run(args) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
18
  const query = `
19
- mutation createCustomerMetafields($input: CustomerInput!) {
19
+ mutation customerCreate($input: CustomerInput!) {
20
20
  customerCreate(input: $input) {
21
21
  customer {
22
22
  id
@@ -0,0 +1,12 @@
1
+ import { ActionBuilder } from "../../ActionBuilder";
2
+ import { StorefrontApiClient } from "@shopify/storefront-api-client/dist/ts/types";
3
+ export interface CreateCustomerInput extends Record<string, any> {
4
+ email?: string;
5
+ acceptsMarketing?: boolean;
6
+ password?: string;
7
+ }
8
+ export interface CreateCustomerOutput extends Record<string, any> {
9
+ }
10
+ export declare class CreateCustomer extends ActionBuilder<StorefrontApiClient, CreateCustomerInput, CreateCustomerOutput> {
11
+ run(args: CreateCustomerInput): Promise<CreateCustomerOutput>;
12
+ }
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateCustomer = void 0;
13
+ const ActionBuilder_1 = require("../../ActionBuilder");
14
+ const handleErrors_1 = require("../../../utils/handleErrors");
15
+ class CreateCustomer extends ActionBuilder_1.ActionBuilder {
16
+ run(args) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const query = `
19
+ mutation customerCreate($input: CustomerCreateInput!) {
20
+ customerCreate(input: $input) {
21
+ customer {
22
+ id
23
+ email
24
+ phone
25
+ }
26
+ userErrors {
27
+ message
28
+ field
29
+ }
30
+ }
31
+ }
32
+ `;
33
+ const result = yield this.client.request(query, {
34
+ variables: {
35
+ input: args
36
+ }
37
+ });
38
+ const { data, errors } = Object.assign({}, result);
39
+ yield (0, handleErrors_1.handleErrors)(errors);
40
+ const { customerCreate } = data;
41
+ const { customer } = Object.assign({}, customerCreate);
42
+ return Object.assign({}, customer);
43
+ });
44
+ }
45
+ }
46
+ exports.CreateCustomer = CreateCustomer;
@@ -0,0 +1,10 @@
1
+ import { APIBase } from "../../APIBase";
2
+ import { StorefrontApiClient } from "@shopify/storefront-api-client/dist/ts/types";
3
+ import { CreateCustomerInput, CreateCustomerOutput } from "./CreateCustomer";
4
+ export interface CustomersAPIInterface {
5
+ create(args: CreateCustomerInput): Promise<CreateCustomerOutput>;
6
+ }
7
+ export declare class CustomersAPI extends APIBase<StorefrontApiClient> implements CustomersAPIInterface {
8
+ private _runAction;
9
+ create(args: CreateCustomerInput): Promise<CreateCustomerOutput>;
10
+ }
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CustomersAPI = void 0;
13
+ const APIBase_1 = require("../../APIBase");
14
+ const CreateCustomer_1 = require("./CreateCustomer");
15
+ class CustomersAPI extends APIBase_1.APIBase {
16
+ _runAction(Action, args) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ const action = new Action(this.client);
19
+ return action.run(args);
20
+ });
21
+ }
22
+ create(args) {
23
+ return __awaiter(this, void 0, void 0, function* () {
24
+ return this._runAction(CreateCustomer_1.CreateCustomer, args);
25
+ });
26
+ }
27
+ }
28
+ exports.CustomersAPI = CustomersAPI;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pintahub/shopify-api",
3
- "version": "1.9.2",
3
+ "version": "1.9.3",
4
4
  "description": "",
5
5
  "types": "dist/index.d.ts",
6
6
  "main": "dist/index.js",