@reactionary/source 0.0.48 → 0.0.52
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/core/package.json +4 -3
- package/core/src/cache/cache.interface.ts +1 -1
- package/core/src/cache/memory-cache.ts +2 -2
- package/core/src/cache/noop-cache.ts +1 -1
- package/core/src/cache/redis-cache.ts +1 -1
- package/core/src/client/client-builder.ts +4 -4
- package/core/src/client/client.ts +12 -12
- package/core/src/decorators/reactionary.decorator.ts +22 -2
- package/core/src/index.ts +14 -14
- package/core/src/initialization.ts +1 -1
- package/core/src/providers/analytics.provider.ts +2 -2
- package/core/src/providers/base.provider.ts +5 -5
- package/core/src/providers/cart.provider.ts +6 -6
- package/core/src/providers/category.provider.ts +4 -9
- package/core/src/providers/checkout.provider.ts +156 -0
- package/core/src/providers/identity.provider.ts +5 -5
- package/core/src/providers/index.ts +13 -12
- package/core/src/providers/inventory.provider.ts +4 -4
- package/core/src/providers/order.provider.ts +31 -0
- package/core/src/providers/price.provider.ts +5 -5
- package/core/src/providers/product.provider.ts +5 -5
- package/core/src/providers/profile.provider.ts +5 -5
- package/core/src/providers/search.provider.ts +4 -4
- package/core/src/providers/store.provider.ts +4 -4
- package/core/src/schemas/capabilities.schema.ts +2 -1
- package/core/src/schemas/models/analytics.model.ts +1 -1
- package/core/src/schemas/models/cart.model.ts +3 -28
- package/core/src/schemas/models/category.model.ts +2 -2
- package/core/src/schemas/models/checkout.model.ts +66 -0
- package/core/src/schemas/models/cost.model.ts +21 -0
- package/core/src/schemas/models/identifiers.model.ts +23 -2
- package/core/src/schemas/models/identity.model.ts +8 -5
- package/core/src/schemas/models/index.ts +19 -15
- package/core/src/schemas/models/inventory.model.ts +2 -2
- package/core/src/schemas/models/order.model.ts +46 -0
- package/core/src/schemas/models/payment.model.ts +5 -12
- package/core/src/schemas/models/price.model.ts +3 -3
- package/core/src/schemas/models/product.model.ts +6 -3
- package/core/src/schemas/models/profile.model.ts +2 -2
- package/core/src/schemas/models/search.model.ts +2 -3
- package/core/src/schemas/models/shipping-method.model.ts +34 -3
- package/core/src/schemas/models/store.model.ts +2 -2
- package/core/src/schemas/mutations/analytics.mutation.ts +2 -2
- package/core/src/schemas/mutations/cart.mutation.ts +5 -5
- package/core/src/schemas/mutations/checkout.mutation.ts +50 -0
- package/core/src/schemas/mutations/identity.mutation.ts +1 -1
- package/core/src/schemas/mutations/index.ts +10 -10
- package/core/src/schemas/mutations/profile.mutation.ts +1 -1
- package/core/src/schemas/queries/cart.query.ts +2 -2
- package/core/src/schemas/queries/category.query.ts +3 -3
- package/core/src/schemas/queries/checkout.query.ts +22 -0
- package/core/src/schemas/queries/identity.query.ts +1 -1
- package/core/src/schemas/queries/index.ts +13 -12
- package/core/src/schemas/queries/inventory.query.ts +2 -2
- package/core/src/schemas/queries/order.query.ts +9 -0
- package/core/src/schemas/queries/price.query.ts +2 -2
- package/core/src/schemas/queries/product.query.ts +9 -2
- package/core/src/schemas/queries/profile.query.ts +1 -1
- package/core/src/schemas/queries/search.query.ts +2 -2
- package/core/src/schemas/queries/store.query.ts +1 -1
- package/core/src/schemas/session.schema.ts +3 -3
- package/core/tsconfig.json +3 -2
- package/examples/next/next.config.js +17 -6
- package/examples/next/src/app/page.tsx +1 -2
- package/examples/node/package.json +2 -1
- package/examples/node/src/basic/basic-node-setup.spec.ts +1 -1
- package/examples/node/tsconfig.json +2 -1
- package/examples/node/tsconfig.spec.json +3 -2
- package/package.json +3 -1
- package/providers/algolia/package.json +2 -1
- package/providers/algolia/src/core/initialize.ts +5 -5
- package/providers/algolia/src/index.ts +5 -5
- package/providers/algolia/src/providers/product.provider.ts +8 -2
- package/providers/algolia/src/providers/search.provider.ts +1 -1
- package/providers/algolia/src/test/search.provider.spec.ts +1 -1
- package/providers/algolia/tsconfig.json +2 -1
- package/providers/algolia/tsconfig.spec.json +3 -2
- package/providers/commercetools/{jest.config.ts → jest.config.cjs} +1 -1
- package/providers/commercetools/package.json +3 -2
- package/providers/commercetools/src/core/client.ts +63 -32
- package/providers/commercetools/src/core/initialize.ts +20 -16
- package/providers/commercetools/src/index.ts +10 -10
- package/providers/commercetools/src/providers/cart.provider.ts +14 -19
- package/providers/commercetools/src/providers/category.provider.ts +3 -12
- package/providers/commercetools/src/providers/checkout.provider.ts +644 -0
- package/providers/commercetools/src/providers/identity.provider.ts +8 -8
- package/providers/commercetools/src/providers/index.ts +12 -9
- package/providers/commercetools/src/providers/inventory.provider.ts +2 -4
- package/providers/commercetools/src/providers/order.provider.ts +163 -0
- package/providers/commercetools/src/providers/price.provider.ts +3 -3
- package/providers/commercetools/src/providers/product.provider.ts +24 -6
- package/providers/commercetools/src/providers/profile.provider.ts +2 -2
- package/providers/commercetools/src/providers/search.provider.ts +3 -5
- package/providers/commercetools/src/providers/store.provider.ts +3 -3
- package/providers/commercetools/src/schema/capabilities.schema.ts +2 -1
- package/providers/commercetools/src/schema/commercetools.schema.ts +7 -5
- package/providers/commercetools/src/schema/configuration.schema.ts +2 -0
- package/providers/commercetools/src/test/cart.provider.spec.ts +24 -4
- package/providers/commercetools/src/test/category.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/checkout.provider.spec.ts +312 -0
- package/providers/commercetools/src/test/identity.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/inventory.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/price.provider.spec.ts +4 -4
- package/providers/commercetools/src/test/product.provider.spec.ts +22 -5
- package/providers/commercetools/src/test/profile.provider.spec.ts +3 -3
- package/providers/commercetools/src/test/search.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/store.provider.spec.ts +2 -2
- package/providers/commercetools/src/test/test-utils.ts +14 -0
- package/providers/commercetools/tsconfig.json +2 -1
- package/providers/commercetools/tsconfig.spec.json +4 -3
- package/providers/fake/{jest.config.ts → jest.config.cjs} +1 -1
- package/providers/fake/package.json +2 -2
- package/providers/fake/src/core/initialize.ts +6 -6
- package/providers/fake/src/index.ts +4 -4
- package/providers/fake/src/providers/analytics.provider.ts +1 -1
- package/providers/fake/src/providers/cart.provider.ts +2 -2
- package/providers/fake/src/providers/category.provider.ts +7 -3
- package/providers/fake/src/providers/identity.provider.ts +1 -1
- package/providers/fake/src/providers/index.ts +9 -9
- package/providers/fake/src/providers/inventory.provider.ts +1 -1
- package/providers/fake/src/providers/price.provider.ts +1 -1
- package/providers/fake/src/providers/product.provider.ts +10 -4
- package/providers/fake/src/providers/search.provider.ts +2 -5
- package/providers/fake/src/providers/store.provider.ts +2 -3
- package/providers/fake/src/test/cart.provider.spec.ts +3 -3
- package/providers/fake/src/test/category.provider.spec.ts +2 -2
- package/providers/fake/src/test/price.provider.spec.ts +2 -2
- package/providers/fake/src/test/product.provider.spec.ts +8 -8
- package/providers/fake/src/test/test-utils.ts +1 -1
- package/providers/fake/tsconfig.json +2 -1
- package/providers/fake/tsconfig.spec.json +1 -3
- package/providers/posthog/package.json +4 -4
- package/providers/posthog/project.json +2 -2
- package/providers/posthog/src/core/initialize.ts +2 -2
- package/providers/posthog/src/index.ts +3 -3
- package/providers/posthog/tsconfig.json +2 -1
- package/tsconfig.base.json +3 -4
- package/.claude/settings.local.json +0 -28
- package/core/src/providers/cart-payment.provider.ts +0 -57
- package/core/src/schemas/mutations/cart-payment.mutation.ts +0 -21
- package/core/src/schemas/queries/cart-payment.query.ts +0 -12
- package/otel/README.md +0 -227
- package/otel/eslint.config.mjs +0 -23
- package/otel/package.json +0 -11
- package/otel/pnpm-lock.yaml +0 -805
- package/otel/project.json +0 -33
- package/otel/src/index.ts +0 -22
- package/otel/src/metrics.ts +0 -76
- package/otel/src/provider-instrumentation.ts +0 -108
- package/otel/src/test/otel.spec.ts +0 -8
- package/otel/src/trace-decorator.ts +0 -226
- package/otel/src/tracer.ts +0 -83
- package/otel/src/trpc-middleware.ts +0 -128
- package/otel/tsconfig.json +0 -23
- package/otel/tsconfig.lib.json +0 -23
- package/otel/tsconfig.spec.json +0 -28
- package/otel/vite.config.ts +0 -24
- package/providers/commercetools/src/providers/cart-payment.provider.ts +0 -193
- package/providers/commercetools/src/test/cart-payment.provider.spec.ts +0 -145
- package/trpc/README.md +0 -7
- package/trpc/__mocks__/superjson.js +0 -25
- package/trpc/eslint.config.mjs +0 -19
- package/trpc/jest.config.ts +0 -14
- package/trpc/package.json +0 -14
- package/trpc/project.json +0 -31
- package/trpc/src/client.ts +0 -175
- package/trpc/src/index.ts +0 -44
- package/trpc/src/integration.spec.ts +0 -223
- package/trpc/src/server.ts +0 -125
- package/trpc/src/test-utils.ts +0 -31
- package/trpc/src/transparent-client.spec.ts +0 -162
- package/trpc/src/types.ts +0 -144
- package/trpc/tsconfig.json +0 -16
- package/trpc/tsconfig.lib.json +0 -10
- package/trpc/tsconfig.spec.json +0 -15
|
@@ -19,20 +19,20 @@ import type {
|
|
|
19
19
|
,
|
|
20
20
|
Cache
|
|
21
21
|
} from '@reactionary/core';
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
import type { CommercetoolsConfiguration } from '../schema/configuration.schema.js';
|
|
23
24
|
import type { z } from 'zod';
|
|
24
|
-
import { CommercetoolsClient } from '../core/client';
|
|
25
|
+
import { CommercetoolsClient } from '../core/client.js';
|
|
25
26
|
import type {
|
|
26
27
|
Cart as CTCart,
|
|
27
28
|
MyCartUpdateAction,
|
|
28
29
|
} from '@commercetools/platform-sdk';
|
|
29
|
-
import { traced } from '@reactionary/otel';
|
|
30
30
|
import type {
|
|
31
|
-
CommercetoolsCartIdentifier} from '../schema/commercetools.schema';
|
|
31
|
+
CommercetoolsCartIdentifier} from '../schema/commercetools.schema.js';
|
|
32
32
|
import {
|
|
33
33
|
CommercetoolsCartIdentifierSchema,
|
|
34
34
|
CommercetoolsOrderIdentifierSchema,
|
|
35
|
-
} from '../schema/commercetools.schema';
|
|
35
|
+
} from '../schema/commercetools.schema.js';
|
|
36
36
|
|
|
37
37
|
export class CommercetoolsCartProvider<
|
|
38
38
|
T extends Cart = Cart
|
|
@@ -48,7 +48,6 @@ export class CommercetoolsCartProvider<
|
|
|
48
48
|
this.config = config;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
@traced()
|
|
52
51
|
public override async getById(
|
|
53
52
|
payload: CartQueryById,
|
|
54
53
|
reqCtx: RequestContext
|
|
@@ -66,7 +65,6 @@ export class CommercetoolsCartProvider<
|
|
|
66
65
|
}
|
|
67
66
|
}
|
|
68
67
|
|
|
69
|
-
@traced()
|
|
70
68
|
public override async add(
|
|
71
69
|
payload: CartMutationItemAdd,
|
|
72
70
|
reqCtx: RequestContext
|
|
@@ -94,7 +92,6 @@ export class CommercetoolsCartProvider<
|
|
|
94
92
|
);
|
|
95
93
|
}
|
|
96
94
|
|
|
97
|
-
@traced()
|
|
98
95
|
public override async remove(
|
|
99
96
|
payload: CartMutationItemRemove,
|
|
100
97
|
reqCtx: RequestContext
|
|
@@ -114,7 +111,6 @@ export class CommercetoolsCartProvider<
|
|
|
114
111
|
);
|
|
115
112
|
}
|
|
116
113
|
|
|
117
|
-
@traced()
|
|
118
114
|
public override async changeQuantity(
|
|
119
115
|
payload: CartMutationItemQuantityChange,
|
|
120
116
|
reqCtx: RequestContext
|
|
@@ -141,7 +137,6 @@ export class CommercetoolsCartProvider<
|
|
|
141
137
|
);
|
|
142
138
|
}
|
|
143
139
|
|
|
144
|
-
@traced()
|
|
145
140
|
public override async getActiveCartId(
|
|
146
141
|
reqCtx: RequestContext
|
|
147
142
|
): Promise<CartIdentifier> {
|
|
@@ -156,6 +151,7 @@ export class CommercetoolsCartProvider<
|
|
|
156
151
|
version: carts.body.version || 0
|
|
157
152
|
});
|
|
158
153
|
} catch (e: any) {
|
|
154
|
+
|
|
159
155
|
return CommercetoolsCartIdentifierSchema.parse({
|
|
160
156
|
key: '',
|
|
161
157
|
version: 0
|
|
@@ -163,7 +159,6 @@ export class CommercetoolsCartProvider<
|
|
|
163
159
|
}
|
|
164
160
|
}
|
|
165
161
|
|
|
166
|
-
@traced()
|
|
167
162
|
public override async deleteCart(
|
|
168
163
|
payload: CartMutationDeleteCart,
|
|
169
164
|
reqCtx: RequestContext
|
|
@@ -187,7 +182,6 @@ export class CommercetoolsCartProvider<
|
|
|
187
182
|
return this.getById({ cart: activeCartId }, reqCtx);
|
|
188
183
|
}
|
|
189
184
|
|
|
190
|
-
@traced()
|
|
191
185
|
public override async setShippingInfo(
|
|
192
186
|
payload: CartMutationSetShippingInfo,
|
|
193
187
|
reqCtx: RequestContext
|
|
@@ -224,7 +218,6 @@ export class CommercetoolsCartProvider<
|
|
|
224
218
|
return this.applyActions(payload.cart, actions, reqCtx);
|
|
225
219
|
}
|
|
226
220
|
|
|
227
|
-
@traced()
|
|
228
221
|
public override setBillingAddress(
|
|
229
222
|
payload: CartMutationSetBillingAddress,
|
|
230
223
|
reqCtx: RequestContext
|
|
@@ -259,7 +252,6 @@ export class CommercetoolsCartProvider<
|
|
|
259
252
|
);
|
|
260
253
|
}
|
|
261
254
|
|
|
262
|
-
@traced()
|
|
263
255
|
public override applyCouponCode(
|
|
264
256
|
payload: CartMutationApplyCoupon,
|
|
265
257
|
reqCtx: RequestContext
|
|
@@ -279,7 +271,6 @@ export class CommercetoolsCartProvider<
|
|
|
279
271
|
);
|
|
280
272
|
}
|
|
281
273
|
|
|
282
|
-
@traced()
|
|
283
274
|
public override removeCouponCode(
|
|
284
275
|
payload: CartMutationRemoveCoupon,
|
|
285
276
|
reqCtx: RequestContext
|
|
@@ -302,7 +293,6 @@ export class CommercetoolsCartProvider<
|
|
|
302
293
|
);
|
|
303
294
|
}
|
|
304
295
|
|
|
305
|
-
@traced()
|
|
306
296
|
public override async checkout(
|
|
307
297
|
payload: CartMutationCheckout,
|
|
308
298
|
reqCtx: RequestContext
|
|
@@ -326,7 +316,6 @@ export class CommercetoolsCartProvider<
|
|
|
326
316
|
});
|
|
327
317
|
}
|
|
328
318
|
|
|
329
|
-
@traced()
|
|
330
319
|
public override async changeCurrency(
|
|
331
320
|
payload: CartMutationChangeCurrency,
|
|
332
321
|
reqCtx: RequestContext
|
|
@@ -415,7 +404,7 @@ export class CommercetoolsCartProvider<
|
|
|
415
404
|
const ctId = cart as CommercetoolsCartIdentifier;
|
|
416
405
|
|
|
417
406
|
|
|
418
|
-
|
|
407
|
+
try {
|
|
419
408
|
const response = await client.carts
|
|
420
409
|
.withId({ ID: ctId.key })
|
|
421
410
|
.post({
|
|
@@ -426,7 +415,14 @@ export class CommercetoolsCartProvider<
|
|
|
426
415
|
})
|
|
427
416
|
.execute();
|
|
428
417
|
|
|
418
|
+
if (response.error) {
|
|
419
|
+
console.error(response.error);
|
|
420
|
+
}
|
|
429
421
|
return this.parseSingle(response.body, reqCtx);
|
|
422
|
+
} catch (e: any) {
|
|
423
|
+
console.error('Error applying actions to cart:', e);
|
|
424
|
+
throw e;
|
|
425
|
+
}
|
|
430
426
|
|
|
431
427
|
}
|
|
432
428
|
|
|
@@ -439,7 +435,6 @@ export class CommercetoolsCartProvider<
|
|
|
439
435
|
* @param anonymousCall
|
|
440
436
|
* @returns
|
|
441
437
|
*/
|
|
442
|
-
@traced()
|
|
443
438
|
protected async getClient(reqCtx: RequestContext) {
|
|
444
439
|
const client = await new CommercetoolsClient(this.config).getClient(reqCtx);
|
|
445
440
|
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { CategoryProvider, createPaginatedResponseSchema } from "@reactionary/core";
|
|
2
|
-
import type {
|
|
2
|
+
import type { CategoryQueryById, CategoryQueryBySlug, CategoryQueryForBreadcrumb, CategoryQueryForChildCategories, CategoryQueryForTopCategories, RequestContext , Cache, Category} from "@reactionary/core";
|
|
3
3
|
import type z from "zod";
|
|
4
|
-
import type { CommercetoolsConfiguration } from "../schema/configuration.schema";
|
|
5
|
-
import { CommercetoolsClient } from "../core/client";
|
|
4
|
+
import type { CommercetoolsConfiguration } from "../schema/configuration.schema.js";
|
|
5
|
+
import { CommercetoolsClient } from "../core/client.js";
|
|
6
6
|
import type { ByProjectKeyCategoriesRequestBuilder, CategoryPagedQueryResponse, Category as CTCategory } from "@commercetools/platform-sdk";
|
|
7
|
-
import { traced } from "@reactionary/otel";
|
|
8
7
|
|
|
9
8
|
export class CommercetoolsCategoryProvider<
|
|
10
9
|
T extends Category = Category,
|
|
@@ -29,7 +28,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
29
28
|
* @param session
|
|
30
29
|
* @returns
|
|
31
30
|
*/
|
|
32
|
-
@traced()
|
|
33
31
|
public override async getById(payload: CategoryQueryById, reqCtx: RequestContext): Promise<T> {
|
|
34
32
|
const client = await this.getClient(reqCtx);
|
|
35
33
|
try {
|
|
@@ -49,7 +47,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
49
47
|
* @param session
|
|
50
48
|
* @returns
|
|
51
49
|
*/
|
|
52
|
-
@traced()
|
|
53
50
|
public override async getBySlug(payload: CategoryQueryBySlug, reqCtx: RequestContext): Promise<T | null> {
|
|
54
51
|
const client = await this.getClient(reqCtx);
|
|
55
52
|
try {
|
|
@@ -79,7 +76,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
79
76
|
* @param session
|
|
80
77
|
* @returns
|
|
81
78
|
*/
|
|
82
|
-
@traced()
|
|
83
79
|
public override async getBreadcrumbPathToCategory(payload: CategoryQueryForBreadcrumb, reqCtx: RequestContext): Promise<T[]> {
|
|
84
80
|
const client = await this.getClient(reqCtx);
|
|
85
81
|
const path: T[] = [];
|
|
@@ -116,7 +112,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
116
112
|
* @param session
|
|
117
113
|
* @returns
|
|
118
114
|
*/
|
|
119
|
-
@traced()
|
|
120
115
|
public override async findChildCategories(payload: CategoryQueryForChildCategories, reqCtx: RequestContext) {
|
|
121
116
|
|
|
122
117
|
// ok, so for Commercetools we can't actually query by the parents key, so we have to first resolve the key to an ID, then query by that.
|
|
@@ -155,7 +150,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
155
150
|
return createPaginatedResponseSchema(this.schema).parse({});
|
|
156
151
|
}
|
|
157
152
|
|
|
158
|
-
@traced()
|
|
159
153
|
public override async findTopCategories(payload: CategoryQueryForTopCategories, reqCtx: RequestContext) {
|
|
160
154
|
|
|
161
155
|
const client = await this.getClient(reqCtx);
|
|
@@ -190,7 +184,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
190
184
|
* Handler for parsing a response from a remote provider and converting it
|
|
191
185
|
* into the typed domain model.
|
|
192
186
|
*/
|
|
193
|
-
@traced()
|
|
194
187
|
protected override parseSingle(_body: unknown, reqCtx: RequestContext): T {
|
|
195
188
|
const body = _body as CTCategory;
|
|
196
189
|
const languageContext = reqCtx.languageContext;
|
|
@@ -221,8 +214,6 @@ export class CommercetoolsCategoryProvider<
|
|
|
221
214
|
return this.assert(model);
|
|
222
215
|
}
|
|
223
216
|
|
|
224
|
-
|
|
225
|
-
@traced()
|
|
226
217
|
protected override parsePaginatedResult(_body: unknown, reqCtx: RequestContext) {
|
|
227
218
|
const body = _body as CategoryPagedQueryResponse;
|
|
228
219
|
|