@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,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":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAc,IAAI,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAGtD;;;;;;;;;;;;;;;;;;;;GAoBG;AAII,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACzB,cAAc,GAAG,IAAI,eAAe,CAAU,KAAK,CAAC,CAAC;IACrD,YAAY,GAAG,IAAI,eAAe,CAAe,IAAI,CAAC,CAAC;IAE/D,kCAAkC;IACzB,QAAQ,GAAwB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;IAE5E,2BAA2B;IAClB,MAAM,GAA6B,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;IAE7E;;;;;;OAMG;IACH,MAAM,CACJ,OAA8B,EAC9B,WAAW,GAAG,gBAAgB;QAE9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG;YACX,GAAG,OAAO;YACV,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE;SACpC,CAAC;QAEF,OAAO,IAAI,CACT,KAAK,CAAC,WAAW,EAAE;YACjB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACZ,KAA8B,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;QACvC,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,UAAU,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAAc,UAAkB,EAAE,WAAW,GAAG,gBAAgB;QACtE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CACT,KAAK,CAAC,GAAG,WAAW,IAAI,UAAU,EAAE,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACZ,KAA8B,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;QACvC,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,UAAU,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACtF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CACJ,UAAkB,EAClB,OAAuC,EACvC,WAAW,GAAG,gBAAgB;QAE9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CACT,KAAK,CAAC,GAAG,WAAW,IAAI,UAAU,EAAE,EAAE;YACpC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACZ,KAA8B,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;QACvC,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,UAAU,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAkB,EAAE,WAAW,GAAG,gBAAgB;QACvD,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CACT,KAAK,CAAC,GAAG,WAAW,IAAI,UAAU,EAAE,EAAE;YACpC,MAAM,EAAE,QAAQ;YAChB,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;SAChD,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACZ,KAA8B,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,UAAU,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YACpF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CACJ,KAA4E,EAC5E,WAAW,GAAG,gBAAgB;QAE9B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7B,OAAO,IAAI,CACT,KAAK,CAAC,GAAG,WAAW,SAAS,EAAE;YAC7B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;SAC5B,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAY,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACZ,KAA8B,CAAC,OAAO,IAAI,QAAQ,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAC7E,CAAC;YACJ,CAAC;YACD,OAAO,QAAQ,CAAC,IAAI,EAAgB,CAAC;QACvC,CAAC,CAAC,CACH,CAAC,IAAI,CACJ,UAAU,CAAC,CAAC,KAAc,EAAE,EAAE;YAC5B,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YACrF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,EACF,QAAQ,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;CACF,CAAA;AA/MY,sBAAsB;IAHlC,UAAU,CAAC;QACV,UAAU,EAAE,MAAM;KACnB,CAAC;GACW,sBAAsB,CA+MlC"}
|
|
@@ -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"}
|