@bates-solutions/squareup 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +154 -0
- package/README.md.backup +292 -0
- package/dist/angular/__tests__/setup.d.ts +1 -0
- package/dist/angular/__tests__/setup.d.ts.map +1 -0
- package/dist/angular/__tests__/setup.js +5 -0
- package/dist/angular/__tests__/setup.js.map +1 -0
- package/dist/angular/components/index.d.ts +2 -0
- package/dist/angular/components/index.d.ts.map +1 -0
- package/dist/angular/components/index.js +2 -0
- package/dist/angular/components/index.js.map +1 -0
- package/dist/angular/components/payment-button.component.d.ts +49 -0
- package/dist/angular/components/payment-button.component.d.ts.map +1 -0
- package/dist/angular/components/payment-button.component.js +176 -0
- package/dist/angular/components/payment-button.component.js.map +1 -0
- package/dist/angular/directives/index.d.ts +2 -0
- package/dist/angular/directives/index.d.ts.map +1 -0
- package/dist/angular/directives/index.js +2 -0
- package/dist/angular/directives/index.js.map +1 -0
- package/dist/angular/directives/square-card.directive.d.ts +52 -0
- package/dist/angular/directives/square-card.directive.d.ts.map +1 -0
- package/dist/angular/directives/square-card.directive.js +98 -0
- package/dist/angular/directives/square-card.directive.js.map +1 -0
- package/dist/angular/index.d.ts +42 -0
- package/dist/angular/index.d.ts.map +1 -0
- package/dist/angular/index.js +45 -0
- package/dist/angular/index.js.map +1 -0
- package/dist/angular/services/index.d.ts +6 -0
- package/dist/angular/services/index.d.ts.map +1 -0
- package/dist/angular/services/index.js +6 -0
- package/dist/angular/services/index.js.map +1 -0
- package/dist/angular/services/square-catalog.service.d.ts +60 -0
- package/dist/angular/services/square-catalog.service.d.ts.map +1 -0
- package/dist/angular/services/square-catalog.service.js +152 -0
- package/dist/angular/services/square-catalog.service.js.map +1 -0
- package/dist/angular/services/square-customers.service.d.ts +77 -0
- package/dist/angular/services/square-customers.service.d.ts.map +1 -0
- package/dist/angular/services/square-customers.service.js +187 -0
- package/dist/angular/services/square-customers.service.js.map +1 -0
- package/dist/angular/services/square-orders.service.d.ts +66 -0
- package/dist/angular/services/square-orders.service.d.ts.map +1 -0
- package/dist/angular/services/square-orders.service.js +170 -0
- package/dist/angular/services/square-orders.service.js.map +1 -0
- package/dist/angular/services/square-payments.service.d.ts +73 -0
- package/dist/angular/services/square-payments.service.d.ts.map +1 -0
- package/dist/angular/services/square-payments.service.js +167 -0
- package/dist/angular/services/square-payments.service.js.map +1 -0
- package/dist/angular/services/square-sdk.service.d.ts +45 -0
- package/dist/angular/services/square-sdk.service.d.ts.map +1 -0
- package/dist/angular/services/square-sdk.service.js +133 -0
- package/dist/angular/services/square-sdk.service.js.map +1 -0
- package/dist/angular/square.module.d.ts +36 -0
- package/dist/angular/square.module.d.ts.map +1 -0
- package/dist/angular/square.module.js +75 -0
- package/dist/angular/square.module.js.map +1 -0
- package/dist/angular/types.d.ts +189 -0
- package/dist/angular/types.d.ts.map +1 -0
- package/dist/angular/types.js +8 -0
- package/dist/angular/types.js.map +1 -0
- package/dist/core/builders/order.builder.d.ts +140 -0
- package/dist/core/builders/order.builder.d.ts.map +1 -0
- package/dist/core/builders/order.builder.js +185 -0
- package/dist/core/builders/order.builder.js.map +1 -0
- package/dist/core/client.d.ts +93 -0
- package/dist/core/client.d.ts.map +1 -0
- package/dist/core/client.js +99 -0
- package/dist/core/client.js.map +1 -0
- package/dist/core/errors.d.ts +55 -0
- package/dist/core/errors.d.ts.map +1 -0
- package/dist/core/errors.js +118 -0
- package/dist/core/errors.js.map +1 -0
- package/dist/core/index.d.ts +17 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +18 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/services/catalog.service.d.ts +218 -0
- package/dist/core/services/catalog.service.d.ts.map +1 -0
- package/dist/core/services/catalog.service.js +274 -0
- package/dist/core/services/catalog.service.js.map +1 -0
- package/dist/core/services/customers.service.d.ts +197 -0
- package/dist/core/services/customers.service.d.ts.map +1 -0
- package/dist/core/services/customers.service.js +246 -0
- package/dist/core/services/customers.service.js.map +1 -0
- package/dist/core/services/inventory.service.d.ts +196 -0
- package/dist/core/services/inventory.service.d.ts.map +1 -0
- package/dist/core/services/inventory.service.js +266 -0
- package/dist/core/services/inventory.service.js.map +1 -0
- package/dist/core/services/invoices.service.d.ts +211 -0
- package/dist/core/services/invoices.service.d.ts.map +1 -0
- package/dist/core/services/invoices.service.js +297 -0
- package/dist/core/services/invoices.service.js.map +1 -0
- package/dist/core/services/loyalty.service.d.ts +282 -0
- package/dist/core/services/loyalty.service.d.ts.map +1 -0
- package/dist/core/services/loyalty.service.js +340 -0
- package/dist/core/services/loyalty.service.js.map +1 -0
- package/dist/core/services/orders.service.d.ts +121 -0
- package/dist/core/services/orders.service.d.ts.map +1 -0
- package/dist/core/services/orders.service.js +208 -0
- package/dist/core/services/orders.service.js.map +1 -0
- package/dist/core/services/payments.service.d.ts +121 -0
- package/dist/core/services/payments.service.d.ts.map +1 -0
- package/dist/core/services/payments.service.js +189 -0
- package/dist/core/services/payments.service.js.map +1 -0
- package/dist/core/services/subscriptions.service.d.ts +205 -0
- package/dist/core/services/subscriptions.service.d.ts.map +1 -0
- package/dist/core/services/subscriptions.service.js +265 -0
- package/dist/core/services/subscriptions.service.js.map +1 -0
- package/dist/core/types/index.d.ts +68 -0
- package/dist/core/types/index.d.ts.map +1 -0
- package/dist/core/types/index.js +2 -0
- package/dist/core/types/index.js.map +1 -0
- package/dist/core/utils.d.ts +74 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +96 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/react/SquareProvider.d.ts +50 -0
- package/dist/react/SquareProvider.d.ts.map +1 -0
- package/dist/react/SquareProvider.js +134 -0
- package/dist/react/SquareProvider.js.map +1 -0
- package/dist/react/__tests__/CardInput.test.d.ts +2 -0
- package/dist/react/__tests__/CardInput.test.d.ts.map +1 -0
- package/dist/react/__tests__/CardInput.test.js +218 -0
- package/dist/react/__tests__/CardInput.test.js.map +1 -0
- package/dist/react/__tests__/PaymentButton.test.d.ts +2 -0
- package/dist/react/__tests__/PaymentButton.test.d.ts.map +1 -0
- package/dist/react/__tests__/PaymentButton.test.js +400 -0
- package/dist/react/__tests__/PaymentButton.test.js.map +1 -0
- package/dist/react/__tests__/SquareProvider.test.d.ts +2 -0
- package/dist/react/__tests__/SquareProvider.test.d.ts.map +1 -0
- package/dist/react/__tests__/SquareProvider.test.js +126 -0
- package/dist/react/__tests__/SquareProvider.test.js.map +1 -0
- package/dist/react/__tests__/setup.d.ts +2 -0
- package/dist/react/__tests__/setup.d.ts.map +1 -0
- package/dist/react/__tests__/setup.js +3 -0
- package/dist/react/__tests__/setup.js.map +1 -0
- package/dist/react/__tests__/useCatalog.test.d.ts +2 -0
- package/dist/react/__tests__/useCatalog.test.d.ts.map +1 -0
- package/dist/react/__tests__/useCatalog.test.js +277 -0
- package/dist/react/__tests__/useCatalog.test.js.map +1 -0
- package/dist/react/__tests__/useCustomers.test.d.ts +2 -0
- package/dist/react/__tests__/useCustomers.test.d.ts.map +1 -0
- package/dist/react/__tests__/useCustomers.test.js +312 -0
- package/dist/react/__tests__/useCustomers.test.js.map +1 -0
- package/dist/react/__tests__/useOrders.test.d.ts +2 -0
- package/dist/react/__tests__/useOrders.test.d.ts.map +1 -0
- package/dist/react/__tests__/useOrders.test.js +216 -0
- package/dist/react/__tests__/useOrders.test.js.map +1 -0
- package/dist/react/__tests__/usePayments.test.d.ts +2 -0
- package/dist/react/__tests__/usePayments.test.d.ts.map +1 -0
- package/dist/react/__tests__/usePayments.test.js +235 -0
- package/dist/react/__tests__/usePayments.test.js.map +1 -0
- package/dist/react/__tests__/useSquarePayment.test.d.ts +2 -0
- package/dist/react/__tests__/useSquarePayment.test.d.ts.map +1 -0
- package/dist/react/__tests__/useSquarePayment.test.js +447 -0
- package/dist/react/__tests__/useSquarePayment.test.js.map +1 -0
- package/dist/react/components/CardInput.d.ts +69 -0
- package/dist/react/components/CardInput.d.ts.map +1 -0
- package/dist/react/components/CardInput.js +58 -0
- package/dist/react/components/CardInput.js.map +1 -0
- package/dist/react/components/PaymentButton.d.ts +71 -0
- package/dist/react/components/PaymentButton.d.ts.map +1 -0
- package/dist/react/components/PaymentButton.js +140 -0
- package/dist/react/components/PaymentButton.js.map +1 -0
- package/dist/react/components/index.d.ts +5 -0
- package/dist/react/components/index.d.ts.map +1 -0
- package/dist/react/components/index.js +3 -0
- package/dist/react/components/index.js.map +1 -0
- package/dist/react/hooks/index.d.ts +11 -0
- package/dist/react/hooks/index.d.ts.map +1 -0
- package/dist/react/hooks/index.js +6 -0
- package/dist/react/hooks/index.js.map +1 -0
- package/dist/react/hooks/useCatalog.d.ts +98 -0
- package/dist/react/hooks/useCatalog.d.ts.map +1 -0
- package/dist/react/hooks/useCatalog.js +134 -0
- package/dist/react/hooks/useCatalog.js.map +1 -0
- package/dist/react/hooks/useCustomers.d.ts +105 -0
- package/dist/react/hooks/useCustomers.d.ts.map +1 -0
- package/dist/react/hooks/useCustomers.js +174 -0
- package/dist/react/hooks/useCustomers.js.map +1 -0
- package/dist/react/hooks/useOrders.d.ts +112 -0
- package/dist/react/hooks/useOrders.d.ts.map +1 -0
- package/dist/react/hooks/useOrders.js +115 -0
- package/dist/react/hooks/useOrders.js.map +1 -0
- package/dist/react/hooks/usePayments.d.ts +98 -0
- package/dist/react/hooks/usePayments.d.ts.map +1 -0
- package/dist/react/hooks/usePayments.js +89 -0
- package/dist/react/hooks/usePayments.js.map +1 -0
- package/dist/react/hooks/useSquarePayment.d.ts +52 -0
- package/dist/react/hooks/useSquarePayment.d.ts.map +1 -0
- package/dist/react/hooks/useSquarePayment.js +146 -0
- package/dist/react/hooks/useSquarePayment.js.map +1 -0
- package/dist/react/index.d.ts +8 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +7 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/types.d.ts +183 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +2 -0
- package/dist/react/types.js.map +1 -0
- package/dist/server/index.d.ts +43 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +45 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/middleware/express.d.ts +77 -0
- package/dist/server/middleware/express.d.ts.map +1 -0
- package/dist/server/middleware/express.js +123 -0
- package/dist/server/middleware/express.js.map +1 -0
- package/dist/server/middleware/nextjs.d.ts +118 -0
- package/dist/server/middleware/nextjs.d.ts.map +1 -0
- package/dist/server/middleware/nextjs.js +172 -0
- package/dist/server/middleware/nextjs.js.map +1 -0
- package/dist/server/types.d.ts +89 -0
- package/dist/server/types.d.ts.map +1 -0
- package/dist/server/types.js +7 -0
- package/dist/server/types.js.map +1 -0
- package/dist/server/webhook.d.ts +114 -0
- package/dist/server/webhook.d.ts.map +1 -0
- package/dist/server/webhook.js +190 -0
- package/dist/server/webhook.js.map +1 -0
- package/package.json +118 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
import { parseSquareError, SquareValidationError } from '../errors.js';
|
|
2
|
+
import { createIdempotencyKey } from '../utils.js';
|
|
3
|
+
/**
|
|
4
|
+
* Customers service for managing Square customers
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```typescript
|
|
8
|
+
* // Create a customer
|
|
9
|
+
* const customer = await square.customers.create({
|
|
10
|
+
* givenName: 'John',
|
|
11
|
+
* familyName: 'Doe',
|
|
12
|
+
* emailAddress: 'john@example.com',
|
|
13
|
+
* });
|
|
14
|
+
*
|
|
15
|
+
* // Search customers
|
|
16
|
+
* const results = await square.customers.search({
|
|
17
|
+
* emailAddress: 'john@example.com',
|
|
18
|
+
* });
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export class CustomersService {
|
|
22
|
+
client;
|
|
23
|
+
constructor(client) {
|
|
24
|
+
this.client = client;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Create a new customer
|
|
28
|
+
*
|
|
29
|
+
* @param options - Customer creation options
|
|
30
|
+
* @returns Created customer
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const customer = await square.customers.create({
|
|
35
|
+
* givenName: 'John',
|
|
36
|
+
* familyName: 'Doe',
|
|
37
|
+
* emailAddress: 'john@example.com',
|
|
38
|
+
* phoneNumber: '+15551234567',
|
|
39
|
+
* });
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
async create(options) {
|
|
43
|
+
// At least one identifying field should be provided
|
|
44
|
+
if (!options.givenName &&
|
|
45
|
+
!options.familyName &&
|
|
46
|
+
!options.emailAddress &&
|
|
47
|
+
!options.phoneNumber &&
|
|
48
|
+
!options.companyName) {
|
|
49
|
+
throw new SquareValidationError('At least one of givenName, familyName, emailAddress, phoneNumber, or companyName is required');
|
|
50
|
+
}
|
|
51
|
+
try {
|
|
52
|
+
const response = await this.client.customers.create({
|
|
53
|
+
idempotencyKey: options.idempotencyKey ?? createIdempotencyKey(),
|
|
54
|
+
givenName: options.givenName,
|
|
55
|
+
familyName: options.familyName,
|
|
56
|
+
emailAddress: options.emailAddress,
|
|
57
|
+
phoneNumber: options.phoneNumber,
|
|
58
|
+
companyName: options.companyName,
|
|
59
|
+
nickname: options.nickname,
|
|
60
|
+
note: options.note,
|
|
61
|
+
referenceId: options.referenceId,
|
|
62
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment
|
|
63
|
+
address: options.address,
|
|
64
|
+
});
|
|
65
|
+
if (!response.customer) {
|
|
66
|
+
throw new Error('Customer was not created');
|
|
67
|
+
}
|
|
68
|
+
return response.customer;
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
throw parseSquareError(error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Get a customer by ID
|
|
76
|
+
*
|
|
77
|
+
* @param customerId - Customer ID
|
|
78
|
+
* @returns Customer details
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* const customer = await square.customers.get('CUST_123');
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
async get(customerId) {
|
|
86
|
+
try {
|
|
87
|
+
const response = await this.client.customers.get({ customerId });
|
|
88
|
+
if (!response.customer) {
|
|
89
|
+
throw new Error('Customer not found');
|
|
90
|
+
}
|
|
91
|
+
return response.customer;
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
throw parseSquareError(error);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Update a customer
|
|
99
|
+
*
|
|
100
|
+
* @param customerId - Customer ID to update
|
|
101
|
+
* @param options - Update options
|
|
102
|
+
* @returns Updated customer
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const customer = await square.customers.update('CUST_123', {
|
|
107
|
+
* emailAddress: 'newemail@example.com',
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
async update(customerId, options) {
|
|
112
|
+
try {
|
|
113
|
+
const response = await this.client.customers.update({
|
|
114
|
+
customerId,
|
|
115
|
+
givenName: options.givenName,
|
|
116
|
+
familyName: options.familyName,
|
|
117
|
+
emailAddress: options.emailAddress,
|
|
118
|
+
phoneNumber: options.phoneNumber,
|
|
119
|
+
companyName: options.companyName,
|
|
120
|
+
nickname: options.nickname,
|
|
121
|
+
note: options.note,
|
|
122
|
+
referenceId: options.referenceId,
|
|
123
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-assignment
|
|
124
|
+
address: options.address,
|
|
125
|
+
});
|
|
126
|
+
if (!response.customer) {
|
|
127
|
+
throw new Error('Customer update failed');
|
|
128
|
+
}
|
|
129
|
+
return response.customer;
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
throw parseSquareError(error);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Delete a customer
|
|
137
|
+
*
|
|
138
|
+
* @param customerId - Customer ID to delete
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* await square.customers.delete('CUST_123');
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
async delete(customerId) {
|
|
146
|
+
try {
|
|
147
|
+
await this.client.customers.delete({ customerId });
|
|
148
|
+
}
|
|
149
|
+
catch (error) {
|
|
150
|
+
throw parseSquareError(error);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Search for customers
|
|
155
|
+
*
|
|
156
|
+
* @param options - Search options
|
|
157
|
+
* @returns Matching customers with pagination
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```typescript
|
|
161
|
+
* // Search by email
|
|
162
|
+
* const results = await square.customers.search({
|
|
163
|
+
* emailAddress: 'john@example.com',
|
|
164
|
+
* });
|
|
165
|
+
*
|
|
166
|
+
* // Search by phone
|
|
167
|
+
* const results = await square.customers.search({
|
|
168
|
+
* phoneNumber: '+15551234567',
|
|
169
|
+
* });
|
|
170
|
+
* ```
|
|
171
|
+
*/
|
|
172
|
+
async search(options) {
|
|
173
|
+
try {
|
|
174
|
+
// Build the query filter
|
|
175
|
+
const filters = [];
|
|
176
|
+
if (options?.emailAddress) {
|
|
177
|
+
filters.push({
|
|
178
|
+
emailAddress: {
|
|
179
|
+
exact: options.emailAddress,
|
|
180
|
+
},
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
if (options?.phoneNumber) {
|
|
184
|
+
filters.push({
|
|
185
|
+
phoneNumber: {
|
|
186
|
+
exact: options.phoneNumber,
|
|
187
|
+
},
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (options?.referenceId) {
|
|
191
|
+
filters.push({
|
|
192
|
+
referenceId: {
|
|
193
|
+
exact: options.referenceId,
|
|
194
|
+
},
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const response = await this.client.customers.search({
|
|
198
|
+
cursor: options?.cursor,
|
|
199
|
+
limit: options?.limit ? BigInt(options.limit) : undefined,
|
|
200
|
+
query: filters.length > 0
|
|
201
|
+
? {
|
|
202
|
+
filter: {
|
|
203
|
+
...filters.reduce((acc, f) => ({ ...acc, ...f }), {}),
|
|
204
|
+
},
|
|
205
|
+
}
|
|
206
|
+
: undefined,
|
|
207
|
+
});
|
|
208
|
+
return {
|
|
209
|
+
data: (response.customers ?? []),
|
|
210
|
+
cursor: response.cursor,
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
catch (error) {
|
|
214
|
+
throw parseSquareError(error);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* List all customers
|
|
219
|
+
*
|
|
220
|
+
* @param options - List options
|
|
221
|
+
* @returns Array of customers
|
|
222
|
+
*
|
|
223
|
+
* @example
|
|
224
|
+
* ```typescript
|
|
225
|
+
* const customers = await square.customers.list({ limit: 50 });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
async list(options) {
|
|
229
|
+
try {
|
|
230
|
+
const customers = [];
|
|
231
|
+
const limit = options?.limit ?? 100;
|
|
232
|
+
const page = await this.client.customers.list({});
|
|
233
|
+
for await (const customer of page) {
|
|
234
|
+
customers.push(customer);
|
|
235
|
+
if (customers.length >= limit) {
|
|
236
|
+
break;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
return customers;
|
|
240
|
+
}
|
|
241
|
+
catch (error) {
|
|
242
|
+
throw parseSquareError(error);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=customers.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"customers.service.js","sourceRoot":"","sources":["../../../src/core/services/customers.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import type { SquareClient } from 'square';
|
|
2
|
+
/**
|
|
3
|
+
* Inventory state types
|
|
4
|
+
*/
|
|
5
|
+
export type InventoryState = 'CUSTOM' | 'IN_STOCK' | 'SOLD' | 'RETURNED_BY_CUSTOMER' | 'RESERVED_FOR_SALE' | 'SOLD_ONLINE' | 'ORDERED_FROM_VENDOR' | 'RECEIVED_FROM_VENDOR' | 'IN_TRANSIT_TO' | 'NONE' | 'WASTE' | 'UNLINKED_RETURN' | 'COMPOSED' | 'DECOMPOSED' | 'SUPPORTED_BY_NEWER_VERSION';
|
|
6
|
+
/**
|
|
7
|
+
* Inventory count from Square API
|
|
8
|
+
*/
|
|
9
|
+
export interface InventoryCount {
|
|
10
|
+
catalogObjectId?: string;
|
|
11
|
+
catalogObjectType?: string;
|
|
12
|
+
state?: InventoryState;
|
|
13
|
+
locationId?: string;
|
|
14
|
+
quantity?: string;
|
|
15
|
+
calculatedAt?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Inventory change for adjustments
|
|
19
|
+
*/
|
|
20
|
+
export interface InventoryChange {
|
|
21
|
+
type: 'PHYSICAL_COUNT' | 'ADJUSTMENT' | 'TRANSFER';
|
|
22
|
+
physicalCount?: {
|
|
23
|
+
catalogObjectId: string;
|
|
24
|
+
state: InventoryState;
|
|
25
|
+
locationId: string;
|
|
26
|
+
quantity: string;
|
|
27
|
+
occurredAt?: string;
|
|
28
|
+
};
|
|
29
|
+
adjustment?: {
|
|
30
|
+
catalogObjectId: string;
|
|
31
|
+
fromState?: InventoryState;
|
|
32
|
+
toState: InventoryState;
|
|
33
|
+
locationId: string;
|
|
34
|
+
quantity: string;
|
|
35
|
+
occurredAt?: string;
|
|
36
|
+
};
|
|
37
|
+
transfer?: {
|
|
38
|
+
catalogObjectId: string;
|
|
39
|
+
fromLocationId: string;
|
|
40
|
+
toLocationId: string;
|
|
41
|
+
state: InventoryState;
|
|
42
|
+
quantity: string;
|
|
43
|
+
occurredAt?: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Inventory service for managing Square inventory
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* // Get inventory count for an item
|
|
52
|
+
* const counts = await square.inventory.getCounts('ITEM_VAR_123');
|
|
53
|
+
*
|
|
54
|
+
* // Adjust inventory
|
|
55
|
+
* await square.inventory.adjust({
|
|
56
|
+
* catalogObjectId: 'ITEM_VAR_123',
|
|
57
|
+
* locationId: 'LXXX',
|
|
58
|
+
* quantity: 10,
|
|
59
|
+
* });
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare class InventoryService {
|
|
63
|
+
private readonly client;
|
|
64
|
+
private readonly defaultLocationId?;
|
|
65
|
+
constructor(client: SquareClient, defaultLocationId?: string | undefined);
|
|
66
|
+
/**
|
|
67
|
+
* Get inventory counts for a catalog object
|
|
68
|
+
*
|
|
69
|
+
* @param catalogObjectId - Catalog object ID (usually item variation)
|
|
70
|
+
* @param locationId - Optional location ID filter
|
|
71
|
+
* @returns Array of inventory counts
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* const counts = await square.inventory.getCounts('ITEM_VAR_123');
|
|
76
|
+
* console.log(`In stock: ${counts[0].quantity}`);
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
getCounts(catalogObjectId: string, locationId?: string): Promise<InventoryCount[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Batch retrieve inventory counts for multiple objects
|
|
82
|
+
*
|
|
83
|
+
* @param catalogObjectIds - Array of catalog object IDs
|
|
84
|
+
* @param locationIds - Optional array of location IDs
|
|
85
|
+
* @returns Array of inventory counts
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```typescript
|
|
89
|
+
* const counts = await square.inventory.batchGetCounts(
|
|
90
|
+
* ['ITEM_VAR_1', 'ITEM_VAR_2'],
|
|
91
|
+
* ['LOCATION_1']
|
|
92
|
+
* );
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
batchGetCounts(catalogObjectIds: string[], locationIds?: string[]): Promise<InventoryCount[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Set the inventory count for an item (physical count)
|
|
98
|
+
*
|
|
99
|
+
* @param options - Physical count options
|
|
100
|
+
* @returns Updated inventory counts
|
|
101
|
+
*
|
|
102
|
+
* @example
|
|
103
|
+
* ```typescript
|
|
104
|
+
* await square.inventory.setCount({
|
|
105
|
+
* catalogObjectId: 'ITEM_VAR_123',
|
|
106
|
+
* locationId: 'LXXX',
|
|
107
|
+
* quantity: 50,
|
|
108
|
+
* });
|
|
109
|
+
* ```
|
|
110
|
+
*/
|
|
111
|
+
setCount(options: {
|
|
112
|
+
catalogObjectId: string;
|
|
113
|
+
locationId?: string;
|
|
114
|
+
quantity: number;
|
|
115
|
+
occurredAt?: string;
|
|
116
|
+
idempotencyKey?: string;
|
|
117
|
+
}): Promise<InventoryCount[]>;
|
|
118
|
+
/**
|
|
119
|
+
* Adjust inventory (add or remove stock)
|
|
120
|
+
*
|
|
121
|
+
* @param options - Adjustment options
|
|
122
|
+
* @returns Updated inventory counts
|
|
123
|
+
*
|
|
124
|
+
* @example
|
|
125
|
+
* ```typescript
|
|
126
|
+
* // Add 10 items to stock
|
|
127
|
+
* await square.inventory.adjust({
|
|
128
|
+
* catalogObjectId: 'ITEM_VAR_123',
|
|
129
|
+
* locationId: 'LXXX',
|
|
130
|
+
* quantity: 10,
|
|
131
|
+
* });
|
|
132
|
+
*
|
|
133
|
+
* // Remove 5 items (negative quantity)
|
|
134
|
+
* await square.inventory.adjust({
|
|
135
|
+
* catalogObjectId: 'ITEM_VAR_123',
|
|
136
|
+
* locationId: 'LXXX',
|
|
137
|
+
* quantity: -5,
|
|
138
|
+
* });
|
|
139
|
+
* ```
|
|
140
|
+
*/
|
|
141
|
+
adjust(options: {
|
|
142
|
+
catalogObjectId: string;
|
|
143
|
+
locationId?: string;
|
|
144
|
+
quantity: number;
|
|
145
|
+
reason?: string;
|
|
146
|
+
idempotencyKey?: string;
|
|
147
|
+
}): Promise<InventoryCount[]>;
|
|
148
|
+
/**
|
|
149
|
+
* Transfer inventory between locations
|
|
150
|
+
*
|
|
151
|
+
* @param options - Transfer options
|
|
152
|
+
* @returns Updated inventory counts
|
|
153
|
+
*
|
|
154
|
+
* @example
|
|
155
|
+
* ```typescript
|
|
156
|
+
* await square.inventory.transfer({
|
|
157
|
+
* catalogObjectId: 'ITEM_VAR_123',
|
|
158
|
+
* fromLocationId: 'LOCATION_A',
|
|
159
|
+
* toLocationId: 'LOCATION_B',
|
|
160
|
+
* quantity: 5,
|
|
161
|
+
* });
|
|
162
|
+
* ```
|
|
163
|
+
*/
|
|
164
|
+
transfer(options: {
|
|
165
|
+
catalogObjectId: string;
|
|
166
|
+
fromLocationId: string;
|
|
167
|
+
toLocationId: string;
|
|
168
|
+
quantity: number;
|
|
169
|
+
idempotencyKey?: string;
|
|
170
|
+
}): Promise<InventoryCount[]>;
|
|
171
|
+
/**
|
|
172
|
+
* Batch apply multiple inventory changes
|
|
173
|
+
*
|
|
174
|
+
* @param changes - Array of inventory changes
|
|
175
|
+
* @param idempotencyKey - Optional idempotency key
|
|
176
|
+
* @returns Updated inventory counts
|
|
177
|
+
*
|
|
178
|
+
* @example
|
|
179
|
+
* ```typescript
|
|
180
|
+
* await square.inventory.batchChange([
|
|
181
|
+
* {
|
|
182
|
+
* type: 'ADJUSTMENT',
|
|
183
|
+
* adjustment: {
|
|
184
|
+
* catalogObjectId: 'ITEM_1',
|
|
185
|
+
* fromState: 'NONE',
|
|
186
|
+
* toState: 'IN_STOCK',
|
|
187
|
+
* locationId: 'LXXX',
|
|
188
|
+
* quantity: '10',
|
|
189
|
+
* },
|
|
190
|
+
* },
|
|
191
|
+
* ]);
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
batchChange(changes: InventoryChange[], idempotencyKey?: string): Promise<InventoryCount[]>;
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=inventory.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inventory.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/inventory.service.ts"],"names":[],"mappings":"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"}
|