@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,152 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable } from '@angular/core';
8
+ import { from, throwError, BehaviorSubject } from 'rxjs';
9
+ import { catchError, finalize } from 'rxjs/operators';
10
+ /**
11
+ * Service for Square catalog operations
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * @Component({...})
16
+ * export class ProductsComponent implements OnInit {
17
+ * products$ = this.catalog.list();
18
+ *
19
+ * constructor(private catalog: SquareCatalogService) {}
20
+ *
21
+ * search(query: string) {
22
+ * return this.catalog.search({ textFilter: query });
23
+ * }
24
+ * }
25
+ * ```
26
+ */
27
+ let SquareCatalogService = class SquareCatalogService {
28
+ loadingSubject = new BehaviorSubject(false);
29
+ errorSubject = new BehaviorSubject(null);
30
+ /** Observable of loading state */
31
+ loading$ = this.loadingSubject.asObservable();
32
+ /** Observable of errors */
33
+ error$ = this.errorSubject.asObservable();
34
+ /**
35
+ * List catalog items
36
+ *
37
+ * @param types - Optional types to filter by
38
+ * @param apiEndpoint - Backend API endpoint (default: '/api/catalog')
39
+ * @returns Observable of catalog items
40
+ */
41
+ list(types, apiEndpoint = '/api/catalog') {
42
+ this.loadingSubject.next(true);
43
+ this.errorSubject.next(null);
44
+ const params = types ? `?types=${types.join(',')}` : '';
45
+ return from(fetch(`${apiEndpoint}${params}`, {
46
+ method: 'GET',
47
+ headers: { 'Content-Type': 'application/json' },
48
+ }).then(async (response) => {
49
+ if (!response.ok) {
50
+ const error = await response.json().catch(() => ({}));
51
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
52
+ }
53
+ return response.json();
54
+ })).pipe(catchError((error) => {
55
+ const err = error instanceof Error ? error : new Error('Failed to list catalog');
56
+ this.errorSubject.next(err);
57
+ return throwError(() => err);
58
+ }), finalize(() => {
59
+ this.loadingSubject.next(false);
60
+ }));
61
+ }
62
+ /**
63
+ * Search catalog items
64
+ *
65
+ * @param request - Search request
66
+ * @param apiEndpoint - Backend API endpoint (default: '/api/catalog')
67
+ * @returns Observable of matching catalog items
68
+ */
69
+ search(request, apiEndpoint = '/api/catalog') {
70
+ this.loadingSubject.next(true);
71
+ this.errorSubject.next(null);
72
+ return from(fetch(`${apiEndpoint}/search`, {
73
+ method: 'POST',
74
+ headers: { 'Content-Type': 'application/json' },
75
+ body: JSON.stringify(request),
76
+ }).then(async (response) => {
77
+ if (!response.ok) {
78
+ const error = await response.json().catch(() => ({}));
79
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
80
+ }
81
+ return response.json();
82
+ })).pipe(catchError((error) => {
83
+ const err = error instanceof Error ? error : new Error('Failed to search catalog');
84
+ this.errorSubject.next(err);
85
+ return throwError(() => err);
86
+ }), finalize(() => {
87
+ this.loadingSubject.next(false);
88
+ }));
89
+ }
90
+ /**
91
+ * Retrieve a catalog item by ID
92
+ *
93
+ * @param objectId - The catalog object ID
94
+ * @param apiEndpoint - Backend API endpoint (default: '/api/catalog')
95
+ * @returns Observable of the catalog item
96
+ */
97
+ retrieve(objectId, apiEndpoint = '/api/catalog') {
98
+ this.loadingSubject.next(true);
99
+ this.errorSubject.next(null);
100
+ return from(fetch(`${apiEndpoint}/${objectId}`, {
101
+ method: 'GET',
102
+ headers: { 'Content-Type': 'application/json' },
103
+ }).then(async (response) => {
104
+ if (!response.ok) {
105
+ const error = await response.json().catch(() => ({}));
106
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
107
+ }
108
+ return response.json();
109
+ })).pipe(catchError((error) => {
110
+ const err = error instanceof Error ? error : new Error('Failed to retrieve catalog item');
111
+ this.errorSubject.next(err);
112
+ return throwError(() => err);
113
+ }), finalize(() => {
114
+ this.loadingSubject.next(false);
115
+ }));
116
+ }
117
+ /**
118
+ * Batch retrieve catalog items by IDs
119
+ *
120
+ * @param objectIds - The catalog object IDs
121
+ * @param apiEndpoint - Backend API endpoint (default: '/api/catalog')
122
+ * @returns Observable of the catalog items
123
+ */
124
+ batchRetrieve(objectIds, apiEndpoint = '/api/catalog') {
125
+ this.loadingSubject.next(true);
126
+ this.errorSubject.next(null);
127
+ return from(fetch(`${apiEndpoint}/batch`, {
128
+ method: 'POST',
129
+ headers: { 'Content-Type': 'application/json' },
130
+ body: JSON.stringify({ objectIds }),
131
+ }).then(async (response) => {
132
+ if (!response.ok) {
133
+ const error = await response.json().catch(() => ({}));
134
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
135
+ }
136
+ return response.json();
137
+ })).pipe(catchError((error) => {
138
+ const err = error instanceof Error ? error : new Error('Failed to batch retrieve catalog items');
139
+ this.errorSubject.next(err);
140
+ return throwError(() => err);
141
+ }), finalize(() => {
142
+ this.loadingSubject.next(false);
143
+ }));
144
+ }
145
+ };
146
+ SquareCatalogService = __decorate([
147
+ Injectable({
148
+ providedIn: 'root',
149
+ })
150
+ ], SquareCatalogService);
151
+ export { SquareCatalogService };
152
+ //# sourceMappingURL=square-catalog.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-catalog.service.js","sourceRoot":"","sources":["../../../src/angular/services/square-catalog.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import { Observable } from 'rxjs';
2
+ import type { CreateCustomerRequest } from '../types.js';
3
+ /**
4
+ * Service for Square customer operations
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * @Component({...})
9
+ * export class CustomerComponent {
10
+ * constructor(private customers: SquareCustomersService) {}
11
+ *
12
+ * createCustomer() {
13
+ * this.customers.create({
14
+ * givenName: 'John',
15
+ * familyName: 'Doe',
16
+ * emailAddress: 'john@example.com'
17
+ * }).subscribe(customer => {
18
+ * console.log('Customer created:', customer);
19
+ * });
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export declare class SquareCustomersService {
25
+ private loadingSubject;
26
+ private errorSubject;
27
+ /** Observable of loading state */
28
+ readonly loading$: Observable<boolean>;
29
+ /** Observable of errors */
30
+ readonly error$: Observable<Error | null>;
31
+ /**
32
+ * Create a customer via backend API
33
+ *
34
+ * @param request - Customer creation request
35
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
36
+ * @returns Observable of the customer response
37
+ */
38
+ create<T = unknown>(request: CreateCustomerRequest, apiEndpoint?: string): Observable<T>;
39
+ /**
40
+ * Retrieve a customer by ID
41
+ *
42
+ * @param customerId - The customer ID
43
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
44
+ * @returns Observable of the customer
45
+ */
46
+ retrieve<T = unknown>(customerId: string, apiEndpoint?: string): Observable<T>;
47
+ /**
48
+ * Update a customer
49
+ *
50
+ * @param customerId - The customer ID
51
+ * @param request - Customer update request
52
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
53
+ * @returns Observable of the updated customer
54
+ */
55
+ update<T = unknown>(customerId: string, request: Partial<CreateCustomerRequest>, apiEndpoint?: string): Observable<T>;
56
+ /**
57
+ * Delete a customer
58
+ *
59
+ * @param customerId - The customer ID
60
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
61
+ * @returns Observable that completes on success
62
+ */
63
+ delete(customerId: string, apiEndpoint?: string): Observable<void>;
64
+ /**
65
+ * Search for customers
66
+ *
67
+ * @param query - Search query
68
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
69
+ * @returns Observable of matching customers
70
+ */
71
+ search<T = unknown>(query: {
72
+ emailAddress?: string;
73
+ phoneNumber?: string;
74
+ referenceId?: string;
75
+ }, apiEndpoint?: string): Observable<T>;
76
+ }
77
+ //# sourceMappingURL=square-customers.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-customers.service.d.ts","sourceRoot":"","sources":["../../../src/angular/services/square-customers.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqC,MAAM,MAAM,CAAC;AAErE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAGa,sBAAsB;IACjC,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,YAAY,CAA2C;IAE/D,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAE5E,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAoC;IAE7E;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,OAAO,EAAE,qBAAqB,EAC9B,WAAW,SAAmB,GAC7B,UAAU,CAAC,CAAC,CAAC;IAmChB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,SAAmB,GAAG,UAAU,CAAC,CAAC,CAAC;IA6BxF;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,OAAO,CAAC,qBAAqB,CAAC,EACvC,WAAW,SAAmB,GAC7B,UAAU,CAAC,CAAC,CAAC;IA8BhB;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,SAAmB,GAAG,UAAU,CAAC,IAAI,CAAC;IA4B5E;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,KAAK,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAC5E,WAAW,SAAmB,GAC7B,UAAU,CAAC,CAAC,CAAC;CA6BjB"}
@@ -0,0 +1,187 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { Injectable } from '@angular/core';
8
+ import { from, throwError, BehaviorSubject } from 'rxjs';
9
+ import { catchError, finalize } from 'rxjs/operators';
10
+ /**
11
+ * Service for Square customer operations
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * @Component({...})
16
+ * export class CustomerComponent {
17
+ * constructor(private customers: SquareCustomersService) {}
18
+ *
19
+ * createCustomer() {
20
+ * this.customers.create({
21
+ * givenName: 'John',
22
+ * familyName: 'Doe',
23
+ * emailAddress: 'john@example.com'
24
+ * }).subscribe(customer => {
25
+ * console.log('Customer created:', customer);
26
+ * });
27
+ * }
28
+ * }
29
+ * ```
30
+ */
31
+ let SquareCustomersService = class SquareCustomersService {
32
+ loadingSubject = new BehaviorSubject(false);
33
+ errorSubject = new BehaviorSubject(null);
34
+ /** Observable of loading state */
35
+ loading$ = this.loadingSubject.asObservable();
36
+ /** Observable of errors */
37
+ error$ = this.errorSubject.asObservable();
38
+ /**
39
+ * Create a customer via backend API
40
+ *
41
+ * @param request - Customer creation request
42
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
43
+ * @returns Observable of the customer response
44
+ */
45
+ create(request, apiEndpoint = '/api/customers') {
46
+ this.loadingSubject.next(true);
47
+ this.errorSubject.next(null);
48
+ const body = {
49
+ ...request,
50
+ idempotencyKey: crypto.randomUUID(),
51
+ };
52
+ return from(fetch(apiEndpoint, {
53
+ method: 'POST',
54
+ headers: { 'Content-Type': 'application/json' },
55
+ body: JSON.stringify(body),
56
+ }).then(async (response) => {
57
+ if (!response.ok) {
58
+ const error = await response.json().catch(() => ({}));
59
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
60
+ }
61
+ return response.json();
62
+ })).pipe(catchError((error) => {
63
+ const err = error instanceof Error ? error : new Error('Failed to create customer');
64
+ this.errorSubject.next(err);
65
+ return throwError(() => err);
66
+ }), finalize(() => {
67
+ this.loadingSubject.next(false);
68
+ }));
69
+ }
70
+ /**
71
+ * Retrieve a customer by ID
72
+ *
73
+ * @param customerId - The customer ID
74
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
75
+ * @returns Observable of the customer
76
+ */
77
+ retrieve(customerId, apiEndpoint = '/api/customers') {
78
+ this.loadingSubject.next(true);
79
+ this.errorSubject.next(null);
80
+ return from(fetch(`${apiEndpoint}/${customerId}`, {
81
+ method: 'GET',
82
+ headers: { 'Content-Type': 'application/json' },
83
+ }).then(async (response) => {
84
+ if (!response.ok) {
85
+ const error = await response.json().catch(() => ({}));
86
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
87
+ }
88
+ return response.json();
89
+ })).pipe(catchError((error) => {
90
+ const err = error instanceof Error ? error : new Error('Failed to retrieve customer');
91
+ this.errorSubject.next(err);
92
+ return throwError(() => err);
93
+ }), finalize(() => {
94
+ this.loadingSubject.next(false);
95
+ }));
96
+ }
97
+ /**
98
+ * Update a customer
99
+ *
100
+ * @param customerId - The customer ID
101
+ * @param request - Customer update request
102
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
103
+ * @returns Observable of the updated customer
104
+ */
105
+ update(customerId, request, apiEndpoint = '/api/customers') {
106
+ this.loadingSubject.next(true);
107
+ this.errorSubject.next(null);
108
+ return from(fetch(`${apiEndpoint}/${customerId}`, {
109
+ method: 'PUT',
110
+ headers: { 'Content-Type': 'application/json' },
111
+ body: JSON.stringify(request),
112
+ }).then(async (response) => {
113
+ if (!response.ok) {
114
+ const error = await response.json().catch(() => ({}));
115
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
116
+ }
117
+ return response.json();
118
+ })).pipe(catchError((error) => {
119
+ const err = error instanceof Error ? error : new Error('Failed to update customer');
120
+ this.errorSubject.next(err);
121
+ return throwError(() => err);
122
+ }), finalize(() => {
123
+ this.loadingSubject.next(false);
124
+ }));
125
+ }
126
+ /**
127
+ * Delete a customer
128
+ *
129
+ * @param customerId - The customer ID
130
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
131
+ * @returns Observable that completes on success
132
+ */
133
+ delete(customerId, apiEndpoint = '/api/customers') {
134
+ this.loadingSubject.next(true);
135
+ this.errorSubject.next(null);
136
+ return from(fetch(`${apiEndpoint}/${customerId}`, {
137
+ method: 'DELETE',
138
+ headers: { 'Content-Type': 'application/json' },
139
+ }).then(async (response) => {
140
+ if (!response.ok) {
141
+ const error = await response.json().catch(() => ({}));
142
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
143
+ }
144
+ })).pipe(catchError((error) => {
145
+ const err = error instanceof Error ? error : new Error('Failed to delete customer');
146
+ this.errorSubject.next(err);
147
+ return throwError(() => err);
148
+ }), finalize(() => {
149
+ this.loadingSubject.next(false);
150
+ }));
151
+ }
152
+ /**
153
+ * Search for customers
154
+ *
155
+ * @param query - Search query
156
+ * @param apiEndpoint - Backend API endpoint (default: '/api/customers')
157
+ * @returns Observable of matching customers
158
+ */
159
+ search(query, apiEndpoint = '/api/customers') {
160
+ this.loadingSubject.next(true);
161
+ this.errorSubject.next(null);
162
+ return from(fetch(`${apiEndpoint}/search`, {
163
+ method: 'POST',
164
+ headers: { 'Content-Type': 'application/json' },
165
+ body: JSON.stringify(query),
166
+ }).then(async (response) => {
167
+ if (!response.ok) {
168
+ const error = await response.json().catch(() => ({}));
169
+ throw new Error(error.message ?? `HTTP ${String(response.status)}`);
170
+ }
171
+ return response.json();
172
+ })).pipe(catchError((error) => {
173
+ const err = error instanceof Error ? error : new Error('Failed to search customers');
174
+ this.errorSubject.next(err);
175
+ return throwError(() => err);
176
+ }), finalize(() => {
177
+ this.loadingSubject.next(false);
178
+ }));
179
+ }
180
+ };
181
+ SquareCustomersService = __decorate([
182
+ Injectable({
183
+ providedIn: 'root',
184
+ })
185
+ ], SquareCustomersService);
186
+ export { SquareCustomersService };
187
+ //# sourceMappingURL=square-customers.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-customers.service.js","sourceRoot":"","sources":["../../../src/angular/services/square-customers.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ import { Observable } from 'rxjs';
2
+ import type { CreateOrderRequest } from '../types.js';
3
+ /**
4
+ * Service for Square order operations
5
+ *
6
+ * @example
7
+ * ```typescript
8
+ * @Component({...})
9
+ * export class CheckoutComponent {
10
+ * constructor(private orders: SquareOrdersService) {}
11
+ *
12
+ * createOrder() {
13
+ * this.orders.create({
14
+ * lineItems: [
15
+ * { name: 'Coffee', quantity: '1', basePriceMoney: { amount: 500 } }
16
+ * ]
17
+ * }).subscribe(order => {
18
+ * console.log('Order created:', order);
19
+ * });
20
+ * }
21
+ * }
22
+ * ```
23
+ */
24
+ export declare class SquareOrdersService {
25
+ private loadingSubject;
26
+ private errorSubject;
27
+ /** Observable of loading state */
28
+ readonly loading$: Observable<boolean>;
29
+ /** Observable of errors */
30
+ readonly error$: Observable<Error | null>;
31
+ /**
32
+ * Create an order via backend API
33
+ *
34
+ * @param request - Order creation request
35
+ * @param apiEndpoint - Backend API endpoint (default: '/api/orders')
36
+ * @returns Observable of the order response
37
+ */
38
+ create<T = unknown>(request: CreateOrderRequest, apiEndpoint?: string): Observable<T>;
39
+ /**
40
+ * Retrieve an order by ID
41
+ *
42
+ * @param orderId - The order ID
43
+ * @param apiEndpoint - Backend API endpoint (default: '/api/orders')
44
+ * @returns Observable of the order
45
+ */
46
+ retrieve<T = unknown>(orderId: string, apiEndpoint?: string): Observable<T>;
47
+ /**
48
+ * Update an order
49
+ *
50
+ * @param orderId - The order ID
51
+ * @param request - Order update request
52
+ * @param apiEndpoint - Backend API endpoint (default: '/api/orders')
53
+ * @returns Observable of the updated order
54
+ */
55
+ update<T = unknown>(orderId: string, request: Partial<CreateOrderRequest>, apiEndpoint?: string): Observable<T>;
56
+ /**
57
+ * Pay for an order
58
+ *
59
+ * @param orderId - The order ID
60
+ * @param paymentIds - Payment IDs to apply
61
+ * @param apiEndpoint - Backend API endpoint (default: '/api/orders')
62
+ * @returns Observable of the paid order
63
+ */
64
+ pay<T = unknown>(orderId: string, paymentIds: string[], apiEndpoint?: string): Observable<T>;
65
+ }
66
+ //# sourceMappingURL=square-orders.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"square-orders.service.d.ts","sourceRoot":"","sources":["../../../src/angular/services/square-orders.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqC,MAAM,MAAM,CAAC;AAErE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAGa,mBAAmB;IAC9B,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,YAAY,CAA2C;IAE/D,kCAAkC;IAClC,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,CAAC,CAAsC;IAE5E,2BAA2B;IAC3B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,CAAoC;IAG7E;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,OAAO,EAAE,kBAAkB,EAC3B,WAAW,SAAgB,GAC1B,UAAU,CAAC,CAAC,CAAC;IAmChB;;;;;;OAMG;IACH,QAAQ,CAAC,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,SAAgB,GAAG,UAAU,CAAC,CAAC,CAAC;IA6BlF;;;;;;;OAOG;IACH,MAAM,CAAC,CAAC,GAAG,OAAO,EAChB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACpC,WAAW,SAAgB,GAC1B,UAAU,CAAC,CAAC,CAAC;IAmChB;;;;;;;OAOG;IACH,GAAG,CAAC,CAAC,GAAG,OAAO,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAAE,EACpB,WAAW,SAAgB,GAC1B,UAAU,CAAC,CAAC,CAAC;CAkCjB"}