@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.
Files changed (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +154 -0
  3. package/README.md.backup +292 -0
  4. package/dist/angular/__tests__/setup.d.ts +1 -0
  5. package/dist/angular/__tests__/setup.d.ts.map +1 -0
  6. package/dist/angular/__tests__/setup.js +5 -0
  7. package/dist/angular/__tests__/setup.js.map +1 -0
  8. package/dist/angular/components/index.d.ts +2 -0
  9. package/dist/angular/components/index.d.ts.map +1 -0
  10. package/dist/angular/components/index.js +2 -0
  11. package/dist/angular/components/index.js.map +1 -0
  12. package/dist/angular/components/payment-button.component.d.ts +49 -0
  13. package/dist/angular/components/payment-button.component.d.ts.map +1 -0
  14. package/dist/angular/components/payment-button.component.js +176 -0
  15. package/dist/angular/components/payment-button.component.js.map +1 -0
  16. package/dist/angular/directives/index.d.ts +2 -0
  17. package/dist/angular/directives/index.d.ts.map +1 -0
  18. package/dist/angular/directives/index.js +2 -0
  19. package/dist/angular/directives/index.js.map +1 -0
  20. package/dist/angular/directives/square-card.directive.d.ts +52 -0
  21. package/dist/angular/directives/square-card.directive.d.ts.map +1 -0
  22. package/dist/angular/directives/square-card.directive.js +98 -0
  23. package/dist/angular/directives/square-card.directive.js.map +1 -0
  24. package/dist/angular/index.d.ts +42 -0
  25. package/dist/angular/index.d.ts.map +1 -0
  26. package/dist/angular/index.js +45 -0
  27. package/dist/angular/index.js.map +1 -0
  28. package/dist/angular/services/index.d.ts +6 -0
  29. package/dist/angular/services/index.d.ts.map +1 -0
  30. package/dist/angular/services/index.js +6 -0
  31. package/dist/angular/services/index.js.map +1 -0
  32. package/dist/angular/services/square-catalog.service.d.ts +60 -0
  33. package/dist/angular/services/square-catalog.service.d.ts.map +1 -0
  34. package/dist/angular/services/square-catalog.service.js +152 -0
  35. package/dist/angular/services/square-catalog.service.js.map +1 -0
  36. package/dist/angular/services/square-customers.service.d.ts +77 -0
  37. package/dist/angular/services/square-customers.service.d.ts.map +1 -0
  38. package/dist/angular/services/square-customers.service.js +187 -0
  39. package/dist/angular/services/square-customers.service.js.map +1 -0
  40. package/dist/angular/services/square-orders.service.d.ts +66 -0
  41. package/dist/angular/services/square-orders.service.d.ts.map +1 -0
  42. package/dist/angular/services/square-orders.service.js +170 -0
  43. package/dist/angular/services/square-orders.service.js.map +1 -0
  44. package/dist/angular/services/square-payments.service.d.ts +73 -0
  45. package/dist/angular/services/square-payments.service.d.ts.map +1 -0
  46. package/dist/angular/services/square-payments.service.js +167 -0
  47. package/dist/angular/services/square-payments.service.js.map +1 -0
  48. package/dist/angular/services/square-sdk.service.d.ts +45 -0
  49. package/dist/angular/services/square-sdk.service.d.ts.map +1 -0
  50. package/dist/angular/services/square-sdk.service.js +133 -0
  51. package/dist/angular/services/square-sdk.service.js.map +1 -0
  52. package/dist/angular/square.module.d.ts +36 -0
  53. package/dist/angular/square.module.d.ts.map +1 -0
  54. package/dist/angular/square.module.js +75 -0
  55. package/dist/angular/square.module.js.map +1 -0
  56. package/dist/angular/types.d.ts +189 -0
  57. package/dist/angular/types.d.ts.map +1 -0
  58. package/dist/angular/types.js +8 -0
  59. package/dist/angular/types.js.map +1 -0
  60. package/dist/core/builders/order.builder.d.ts +140 -0
  61. package/dist/core/builders/order.builder.d.ts.map +1 -0
  62. package/dist/core/builders/order.builder.js +185 -0
  63. package/dist/core/builders/order.builder.js.map +1 -0
  64. package/dist/core/client.d.ts +93 -0
  65. package/dist/core/client.d.ts.map +1 -0
  66. package/dist/core/client.js +99 -0
  67. package/dist/core/client.js.map +1 -0
  68. package/dist/core/errors.d.ts +55 -0
  69. package/dist/core/errors.d.ts.map +1 -0
  70. package/dist/core/errors.js +118 -0
  71. package/dist/core/errors.js.map +1 -0
  72. package/dist/core/index.d.ts +17 -0
  73. package/dist/core/index.d.ts.map +1 -0
  74. package/dist/core/index.js +18 -0
  75. package/dist/core/index.js.map +1 -0
  76. package/dist/core/services/catalog.service.d.ts +218 -0
  77. package/dist/core/services/catalog.service.d.ts.map +1 -0
  78. package/dist/core/services/catalog.service.js +274 -0
  79. package/dist/core/services/catalog.service.js.map +1 -0
  80. package/dist/core/services/customers.service.d.ts +197 -0
  81. package/dist/core/services/customers.service.d.ts.map +1 -0
  82. package/dist/core/services/customers.service.js +246 -0
  83. package/dist/core/services/customers.service.js.map +1 -0
  84. package/dist/core/services/inventory.service.d.ts +196 -0
  85. package/dist/core/services/inventory.service.d.ts.map +1 -0
  86. package/dist/core/services/inventory.service.js +266 -0
  87. package/dist/core/services/inventory.service.js.map +1 -0
  88. package/dist/core/services/invoices.service.d.ts +211 -0
  89. package/dist/core/services/invoices.service.d.ts.map +1 -0
  90. package/dist/core/services/invoices.service.js +297 -0
  91. package/dist/core/services/invoices.service.js.map +1 -0
  92. package/dist/core/services/loyalty.service.d.ts +282 -0
  93. package/dist/core/services/loyalty.service.d.ts.map +1 -0
  94. package/dist/core/services/loyalty.service.js +340 -0
  95. package/dist/core/services/loyalty.service.js.map +1 -0
  96. package/dist/core/services/orders.service.d.ts +121 -0
  97. package/dist/core/services/orders.service.d.ts.map +1 -0
  98. package/dist/core/services/orders.service.js +208 -0
  99. package/dist/core/services/orders.service.js.map +1 -0
  100. package/dist/core/services/payments.service.d.ts +121 -0
  101. package/dist/core/services/payments.service.d.ts.map +1 -0
  102. package/dist/core/services/payments.service.js +189 -0
  103. package/dist/core/services/payments.service.js.map +1 -0
  104. package/dist/core/services/subscriptions.service.d.ts +205 -0
  105. package/dist/core/services/subscriptions.service.d.ts.map +1 -0
  106. package/dist/core/services/subscriptions.service.js +265 -0
  107. package/dist/core/services/subscriptions.service.js.map +1 -0
  108. package/dist/core/types/index.d.ts +68 -0
  109. package/dist/core/types/index.d.ts.map +1 -0
  110. package/dist/core/types/index.js +2 -0
  111. package/dist/core/types/index.js.map +1 -0
  112. package/dist/core/utils.d.ts +74 -0
  113. package/dist/core/utils.d.ts.map +1 -0
  114. package/dist/core/utils.js +96 -0
  115. package/dist/core/utils.js.map +1 -0
  116. package/dist/react/SquareProvider.d.ts +50 -0
  117. package/dist/react/SquareProvider.d.ts.map +1 -0
  118. package/dist/react/SquareProvider.js +134 -0
  119. package/dist/react/SquareProvider.js.map +1 -0
  120. package/dist/react/__tests__/CardInput.test.d.ts +2 -0
  121. package/dist/react/__tests__/CardInput.test.d.ts.map +1 -0
  122. package/dist/react/__tests__/CardInput.test.js +218 -0
  123. package/dist/react/__tests__/CardInput.test.js.map +1 -0
  124. package/dist/react/__tests__/PaymentButton.test.d.ts +2 -0
  125. package/dist/react/__tests__/PaymentButton.test.d.ts.map +1 -0
  126. package/dist/react/__tests__/PaymentButton.test.js +400 -0
  127. package/dist/react/__tests__/PaymentButton.test.js.map +1 -0
  128. package/dist/react/__tests__/SquareProvider.test.d.ts +2 -0
  129. package/dist/react/__tests__/SquareProvider.test.d.ts.map +1 -0
  130. package/dist/react/__tests__/SquareProvider.test.js +126 -0
  131. package/dist/react/__tests__/SquareProvider.test.js.map +1 -0
  132. package/dist/react/__tests__/setup.d.ts +2 -0
  133. package/dist/react/__tests__/setup.d.ts.map +1 -0
  134. package/dist/react/__tests__/setup.js +3 -0
  135. package/dist/react/__tests__/setup.js.map +1 -0
  136. package/dist/react/__tests__/useCatalog.test.d.ts +2 -0
  137. package/dist/react/__tests__/useCatalog.test.d.ts.map +1 -0
  138. package/dist/react/__tests__/useCatalog.test.js +277 -0
  139. package/dist/react/__tests__/useCatalog.test.js.map +1 -0
  140. package/dist/react/__tests__/useCustomers.test.d.ts +2 -0
  141. package/dist/react/__tests__/useCustomers.test.d.ts.map +1 -0
  142. package/dist/react/__tests__/useCustomers.test.js +312 -0
  143. package/dist/react/__tests__/useCustomers.test.js.map +1 -0
  144. package/dist/react/__tests__/useOrders.test.d.ts +2 -0
  145. package/dist/react/__tests__/useOrders.test.d.ts.map +1 -0
  146. package/dist/react/__tests__/useOrders.test.js +216 -0
  147. package/dist/react/__tests__/useOrders.test.js.map +1 -0
  148. package/dist/react/__tests__/usePayments.test.d.ts +2 -0
  149. package/dist/react/__tests__/usePayments.test.d.ts.map +1 -0
  150. package/dist/react/__tests__/usePayments.test.js +235 -0
  151. package/dist/react/__tests__/usePayments.test.js.map +1 -0
  152. package/dist/react/__tests__/useSquarePayment.test.d.ts +2 -0
  153. package/dist/react/__tests__/useSquarePayment.test.d.ts.map +1 -0
  154. package/dist/react/__tests__/useSquarePayment.test.js +447 -0
  155. package/dist/react/__tests__/useSquarePayment.test.js.map +1 -0
  156. package/dist/react/components/CardInput.d.ts +69 -0
  157. package/dist/react/components/CardInput.d.ts.map +1 -0
  158. package/dist/react/components/CardInput.js +58 -0
  159. package/dist/react/components/CardInput.js.map +1 -0
  160. package/dist/react/components/PaymentButton.d.ts +71 -0
  161. package/dist/react/components/PaymentButton.d.ts.map +1 -0
  162. package/dist/react/components/PaymentButton.js +140 -0
  163. package/dist/react/components/PaymentButton.js.map +1 -0
  164. package/dist/react/components/index.d.ts +5 -0
  165. package/dist/react/components/index.d.ts.map +1 -0
  166. package/dist/react/components/index.js +3 -0
  167. package/dist/react/components/index.js.map +1 -0
  168. package/dist/react/hooks/index.d.ts +11 -0
  169. package/dist/react/hooks/index.d.ts.map +1 -0
  170. package/dist/react/hooks/index.js +6 -0
  171. package/dist/react/hooks/index.js.map +1 -0
  172. package/dist/react/hooks/useCatalog.d.ts +98 -0
  173. package/dist/react/hooks/useCatalog.d.ts.map +1 -0
  174. package/dist/react/hooks/useCatalog.js +134 -0
  175. package/dist/react/hooks/useCatalog.js.map +1 -0
  176. package/dist/react/hooks/useCustomers.d.ts +105 -0
  177. package/dist/react/hooks/useCustomers.d.ts.map +1 -0
  178. package/dist/react/hooks/useCustomers.js +174 -0
  179. package/dist/react/hooks/useCustomers.js.map +1 -0
  180. package/dist/react/hooks/useOrders.d.ts +112 -0
  181. package/dist/react/hooks/useOrders.d.ts.map +1 -0
  182. package/dist/react/hooks/useOrders.js +115 -0
  183. package/dist/react/hooks/useOrders.js.map +1 -0
  184. package/dist/react/hooks/usePayments.d.ts +98 -0
  185. package/dist/react/hooks/usePayments.d.ts.map +1 -0
  186. package/dist/react/hooks/usePayments.js +89 -0
  187. package/dist/react/hooks/usePayments.js.map +1 -0
  188. package/dist/react/hooks/useSquarePayment.d.ts +52 -0
  189. package/dist/react/hooks/useSquarePayment.d.ts.map +1 -0
  190. package/dist/react/hooks/useSquarePayment.js +146 -0
  191. package/dist/react/hooks/useSquarePayment.js.map +1 -0
  192. package/dist/react/index.d.ts +8 -0
  193. package/dist/react/index.d.ts.map +1 -0
  194. package/dist/react/index.js +7 -0
  195. package/dist/react/index.js.map +1 -0
  196. package/dist/react/types.d.ts +183 -0
  197. package/dist/react/types.d.ts.map +1 -0
  198. package/dist/react/types.js +2 -0
  199. package/dist/react/types.js.map +1 -0
  200. package/dist/server/index.d.ts +43 -0
  201. package/dist/server/index.d.ts.map +1 -0
  202. package/dist/server/index.js +45 -0
  203. package/dist/server/index.js.map +1 -0
  204. package/dist/server/middleware/express.d.ts +77 -0
  205. package/dist/server/middleware/express.d.ts.map +1 -0
  206. package/dist/server/middleware/express.js +123 -0
  207. package/dist/server/middleware/express.js.map +1 -0
  208. package/dist/server/middleware/nextjs.d.ts +118 -0
  209. package/dist/server/middleware/nextjs.d.ts.map +1 -0
  210. package/dist/server/middleware/nextjs.js +172 -0
  211. package/dist/server/middleware/nextjs.js.map +1 -0
  212. package/dist/server/types.d.ts +89 -0
  213. package/dist/server/types.d.ts.map +1 -0
  214. package/dist/server/types.js +7 -0
  215. package/dist/server/types.js.map +1 -0
  216. package/dist/server/webhook.d.ts +114 -0
  217. package/dist/server/webhook.d.ts.map +1 -0
  218. package/dist/server/webhook.js +190 -0
  219. package/dist/server/webhook.js.map +1 -0
  220. package/package.json +118 -0
@@ -0,0 +1,274 @@
1
+ import { parseSquareError, SquareValidationError } from '../errors.js';
2
+ import { createIdempotencyKey } from '../utils.js';
3
+ /**
4
+ * Catalog service for managing Square catalog items
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * // Create an item with variations
9
+ * const item = await square.catalog.createItem({
10
+ * name: 'Coffee',
11
+ * variations: [
12
+ * { name: 'Small', price: 350 },
13
+ * { name: 'Large', price: 450 },
14
+ * ],
15
+ * });
16
+ *
17
+ * // Search items
18
+ * const results = await square.catalog.search({
19
+ * objectTypes: ['ITEM'],
20
+ * query: 'coffee',
21
+ * });
22
+ * ```
23
+ */
24
+ export class CatalogService {
25
+ client;
26
+ constructor(client) {
27
+ this.client = client;
28
+ }
29
+ /**
30
+ * Create a catalog item with variations
31
+ *
32
+ * @param options - Item creation options
33
+ * @returns Created catalog object
34
+ *
35
+ * @example
36
+ * ```typescript
37
+ * const item = await square.catalog.createItem({
38
+ * name: 'Latte',
39
+ * description: 'Espresso with steamed milk',
40
+ * variations: [
41
+ * { name: 'Small', price: 400, sku: 'LATTE-S' },
42
+ * { name: 'Medium', price: 500, sku: 'LATTE-M' },
43
+ * { name: 'Large', price: 600, sku: 'LATTE-L' },
44
+ * ],
45
+ * });
46
+ * ```
47
+ */
48
+ async createItem(options) {
49
+ if (!options.name) {
50
+ throw new SquareValidationError('Item name is required', 'name');
51
+ }
52
+ if (options.variations.length === 0) {
53
+ throw new SquareValidationError('At least one variation is required', 'variations');
54
+ }
55
+ const itemId = `#item_${String(Date.now())}`;
56
+ try {
57
+ const response = await this.client.catalog.object.upsert({
58
+ idempotencyKey: options.idempotencyKey ?? createIdempotencyKey(),
59
+ object: {
60
+ type: 'ITEM',
61
+ id: itemId,
62
+ itemData: {
63
+ name: options.name,
64
+ description: options.description,
65
+ categoryId: options.categoryId,
66
+ variations: options.variations.map((v, i) => ({
67
+ type: 'ITEM_VARIATION',
68
+ id: `#variation_${String(Date.now())}_${String(i)}`,
69
+ itemVariationData: {
70
+ itemId,
71
+ name: v.name,
72
+ sku: v.sku,
73
+ pricingType: 'FIXED_PRICING',
74
+ priceMoney: {
75
+ amount: BigInt(v.price),
76
+ currency: v.currency ?? 'USD',
77
+ },
78
+ },
79
+ })),
80
+ },
81
+ },
82
+ });
83
+ if (!response.catalogObject) {
84
+ throw new Error('Catalog item was not created');
85
+ }
86
+ return response.catalogObject;
87
+ }
88
+ catch (error) {
89
+ throw parseSquareError(error);
90
+ }
91
+ }
92
+ /**
93
+ * Create a category
94
+ *
95
+ * @param options - Category creation options
96
+ * @returns Created category
97
+ *
98
+ * @example
99
+ * ```typescript
100
+ * const category = await square.catalog.createCategory({
101
+ * name: 'Beverages',
102
+ * });
103
+ * ```
104
+ */
105
+ async createCategory(options) {
106
+ if (!options.name) {
107
+ throw new SquareValidationError('Category name is required', 'name');
108
+ }
109
+ try {
110
+ const response = await this.client.catalog.object.upsert({
111
+ idempotencyKey: options.idempotencyKey ?? createIdempotencyKey(),
112
+ object: {
113
+ type: 'CATEGORY',
114
+ id: `#category_${String(Date.now())}`,
115
+ categoryData: {
116
+ name: options.name,
117
+ },
118
+ },
119
+ });
120
+ if (!response.catalogObject) {
121
+ throw new Error('Category was not created');
122
+ }
123
+ return response.catalogObject;
124
+ }
125
+ catch (error) {
126
+ throw parseSquareError(error);
127
+ }
128
+ }
129
+ /**
130
+ * Get a catalog object by ID
131
+ *
132
+ * @param objectId - Catalog object ID
133
+ * @returns Catalog object
134
+ *
135
+ * @example
136
+ * ```typescript
137
+ * const item = await square.catalog.get('ITEM_123');
138
+ * ```
139
+ */
140
+ async get(objectId) {
141
+ try {
142
+ const response = await this.client.catalog.object.get({
143
+ objectId,
144
+ includeRelatedObjects: true,
145
+ });
146
+ if (!response.object) {
147
+ throw new Error('Catalog object not found');
148
+ }
149
+ return response.object;
150
+ }
151
+ catch (error) {
152
+ throw parseSquareError(error);
153
+ }
154
+ }
155
+ /**
156
+ * Delete a catalog object
157
+ *
158
+ * @param objectId - Catalog object ID to delete
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * await square.catalog.delete('ITEM_123');
163
+ * ```
164
+ */
165
+ async delete(objectId) {
166
+ try {
167
+ await this.client.catalog.object.delete({ objectId });
168
+ }
169
+ catch (error) {
170
+ throw parseSquareError(error);
171
+ }
172
+ }
173
+ /**
174
+ * Search the catalog
175
+ *
176
+ * @param options - Search options
177
+ * @returns Matching catalog objects with pagination
178
+ *
179
+ * @example
180
+ * ```typescript
181
+ * // Search for items
182
+ * const results = await square.catalog.search({
183
+ * objectTypes: ['ITEM'],
184
+ * query: 'coffee',
185
+ * });
186
+ *
187
+ * // Get all categories
188
+ * const categories = await square.catalog.search({
189
+ * objectTypes: ['CATEGORY'],
190
+ * });
191
+ * ```
192
+ */
193
+ async search(options) {
194
+ try {
195
+ const response = await this.client.catalog.search({
196
+ cursor: options?.cursor,
197
+ limit: options?.limit,
198
+ objectTypes: options?.objectTypes,
199
+ query: options?.query
200
+ ? {
201
+ textQuery: {
202
+ keywords: [options.query],
203
+ },
204
+ }
205
+ : undefined,
206
+ });
207
+ return {
208
+ data: (response.objects ?? []),
209
+ cursor: response.cursor,
210
+ };
211
+ }
212
+ catch (error) {
213
+ throw parseSquareError(error);
214
+ }
215
+ }
216
+ /**
217
+ * List all catalog objects of a specific type
218
+ *
219
+ * @param objectType - Type of objects to list
220
+ * @param options - List options
221
+ * @returns Array of catalog objects
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * const items = await square.catalog.list('ITEM', { limit: 50 });
226
+ * ```
227
+ */
228
+ async list(objectType, options) {
229
+ try {
230
+ const objects = [];
231
+ const limit = options?.limit ?? 100;
232
+ const page = await this.client.catalog.list({
233
+ types: objectType,
234
+ });
235
+ for await (const obj of page) {
236
+ objects.push(obj);
237
+ if (objects.length >= limit) {
238
+ break;
239
+ }
240
+ }
241
+ return objects;
242
+ }
243
+ catch (error) {
244
+ throw parseSquareError(error);
245
+ }
246
+ }
247
+ /**
248
+ * Batch retrieve multiple catalog objects
249
+ *
250
+ * @param objectIds - Array of object IDs to retrieve
251
+ * @returns Array of catalog objects
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * const items = await square.catalog.batchGet(['ITEM_1', 'ITEM_2', 'ITEM_3']);
256
+ * ```
257
+ */
258
+ async batchGet(objectIds) {
259
+ if (objectIds.length === 0) {
260
+ return [];
261
+ }
262
+ try {
263
+ const response = await this.client.catalog.batchGet({
264
+ objectIds,
265
+ includeRelatedObjects: true,
266
+ });
267
+ return (response.objects ?? []);
268
+ }
269
+ catch (error) {
270
+ throw parseSquareError(error);
271
+ }
272
+ }
273
+ }
274
+ //# sourceMappingURL=catalog.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"catalog.service.js","sourceRoot":"","sources":["../../../src/core/services/catalog.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,197 @@
1
+ import type { SquareClient } from 'square';
2
+ /**
3
+ * Customer object type from Square API
4
+ */
5
+ export interface Customer {
6
+ id?: string;
7
+ createdAt?: string;
8
+ updatedAt?: string;
9
+ givenName?: string;
10
+ familyName?: string;
11
+ emailAddress?: string;
12
+ phoneNumber?: string;
13
+ companyName?: string;
14
+ nickname?: string;
15
+ note?: string;
16
+ referenceId?: string;
17
+ preferences?: {
18
+ emailUnsubscribed?: boolean;
19
+ };
20
+ address?: {
21
+ addressLine1?: string;
22
+ addressLine2?: string;
23
+ locality?: string;
24
+ administrativeDistrictLevel1?: string;
25
+ postalCode?: string;
26
+ country?: string;
27
+ };
28
+ }
29
+ /**
30
+ * Options for creating a customer
31
+ */
32
+ export interface CreateCustomerOptions {
33
+ givenName?: string;
34
+ familyName?: string;
35
+ emailAddress?: string;
36
+ phoneNumber?: string;
37
+ companyName?: string;
38
+ nickname?: string;
39
+ note?: string;
40
+ referenceId?: string;
41
+ address?: {
42
+ addressLine1?: string;
43
+ addressLine2?: string;
44
+ locality?: string;
45
+ administrativeDistrictLevel1?: string;
46
+ postalCode?: string;
47
+ country?: string;
48
+ };
49
+ idempotencyKey?: string;
50
+ }
51
+ /**
52
+ * Options for updating a customer
53
+ */
54
+ export interface UpdateCustomerOptions {
55
+ givenName?: string;
56
+ familyName?: string;
57
+ emailAddress?: string;
58
+ phoneNumber?: string;
59
+ companyName?: string;
60
+ nickname?: string;
61
+ note?: string;
62
+ referenceId?: string;
63
+ address?: {
64
+ addressLine1?: string;
65
+ addressLine2?: string;
66
+ locality?: string;
67
+ administrativeDistrictLevel1?: string;
68
+ postalCode?: string;
69
+ country?: string;
70
+ };
71
+ }
72
+ /**
73
+ * Options for searching customers
74
+ */
75
+ export interface SearchCustomersOptions {
76
+ query?: string;
77
+ emailAddress?: string;
78
+ phoneNumber?: string;
79
+ referenceId?: string;
80
+ limit?: number;
81
+ cursor?: string;
82
+ }
83
+ /**
84
+ * Customers service for managing Square customers
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * // Create a customer
89
+ * const customer = await square.customers.create({
90
+ * givenName: 'John',
91
+ * familyName: 'Doe',
92
+ * emailAddress: 'john@example.com',
93
+ * });
94
+ *
95
+ * // Search customers
96
+ * const results = await square.customers.search({
97
+ * emailAddress: 'john@example.com',
98
+ * });
99
+ * ```
100
+ */
101
+ export declare class CustomersService {
102
+ private readonly client;
103
+ constructor(client: SquareClient);
104
+ /**
105
+ * Create a new customer
106
+ *
107
+ * @param options - Customer creation options
108
+ * @returns Created customer
109
+ *
110
+ * @example
111
+ * ```typescript
112
+ * const customer = await square.customers.create({
113
+ * givenName: 'John',
114
+ * familyName: 'Doe',
115
+ * emailAddress: 'john@example.com',
116
+ * phoneNumber: '+15551234567',
117
+ * });
118
+ * ```
119
+ */
120
+ create(options: CreateCustomerOptions): Promise<Customer>;
121
+ /**
122
+ * Get a customer by ID
123
+ *
124
+ * @param customerId - Customer ID
125
+ * @returns Customer details
126
+ *
127
+ * @example
128
+ * ```typescript
129
+ * const customer = await square.customers.get('CUST_123');
130
+ * ```
131
+ */
132
+ get(customerId: string): Promise<Customer>;
133
+ /**
134
+ * Update a customer
135
+ *
136
+ * @param customerId - Customer ID to update
137
+ * @param options - Update options
138
+ * @returns Updated customer
139
+ *
140
+ * @example
141
+ * ```typescript
142
+ * const customer = await square.customers.update('CUST_123', {
143
+ * emailAddress: 'newemail@example.com',
144
+ * });
145
+ * ```
146
+ */
147
+ update(customerId: string, options: UpdateCustomerOptions): Promise<Customer>;
148
+ /**
149
+ * Delete a customer
150
+ *
151
+ * @param customerId - Customer ID to delete
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * await square.customers.delete('CUST_123');
156
+ * ```
157
+ */
158
+ delete(customerId: string): Promise<void>;
159
+ /**
160
+ * Search for customers
161
+ *
162
+ * @param options - Search options
163
+ * @returns Matching customers with pagination
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * // Search by email
168
+ * const results = await square.customers.search({
169
+ * emailAddress: 'john@example.com',
170
+ * });
171
+ *
172
+ * // Search by phone
173
+ * const results = await square.customers.search({
174
+ * phoneNumber: '+15551234567',
175
+ * });
176
+ * ```
177
+ */
178
+ search(options?: SearchCustomersOptions): Promise<{
179
+ data: Customer[];
180
+ cursor?: string;
181
+ }>;
182
+ /**
183
+ * List all customers
184
+ *
185
+ * @param options - List options
186
+ * @returns Array of customers
187
+ *
188
+ * @example
189
+ * ```typescript
190
+ * const customers = await square.customers.list({ limit: 50 });
191
+ * ```
192
+ */
193
+ list(options?: {
194
+ limit?: number;
195
+ }): Promise<Customer[]>;
196
+ }
197
+ //# sourceMappingURL=customers.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"customers.service.d.ts","sourceRoot":"","sources":["../../../src/core/services/customers.service.ts"],"names":[],"mappings":"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"}