@reactionary/source 0.3.0 → 0.3.2
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/src/client/client-builder.ts +3 -7
- package/core/src/client/client.ts +2 -3
- package/core/src/decorators/reactionary.decorator.ts +2 -2
- package/core/src/initialization.ts +11 -3
- package/core/src/providers/analytics.provider.ts +75 -0
- package/core/src/providers/cart.provider.ts +3 -0
- package/core/src/providers/category.provider.ts +1 -0
- package/core/src/providers/identity.provider.ts +5 -0
- package/core/src/schemas/errors/invalid-input.error.ts +1 -1
- package/core/src/schemas/errors/invalid-output.error.ts +1 -1
- package/core/src/schemas/models/identifiers.model.ts +3 -0
- package/core/src/schemas/models/order.model.ts +2 -2
- package/core/src/schemas/mutations/analytics/index.ts +23 -0
- package/core/src/schemas/mutations/analytics/product-add-to-cart.mutation.ts +25 -0
- package/core/src/schemas/mutations/analytics/product-details-view.mutation.ts +14 -0
- package/core/src/schemas/mutations/analytics/product-summary-click.mutation.ts +26 -0
- package/core/src/schemas/mutations/analytics/product-summary-view.mutation.ts +25 -0
- package/core/src/schemas/mutations/analytics/purchase.mutation.ts +14 -0
- package/core/src/schemas/mutations/index.ts +1 -1
- package/core/src/schemas/queries/order-search.query.ts +3 -0
- package/core/src/schemas/session.schema.ts +21 -9
- package/core/src/test/client-builder.spec.ts +60 -0
- package/core/src/zod-utils.ts +3 -1
- package/documentation/{1-purpose.md → docs/1-purpose.md} +4 -0
- package/documentation/docs/8-tracking.md +9 -0
- package/documentation/docs/providers/analytics.provider.md +297 -0
- package/documentation/docs/providers/base.provider.md +118 -0
- package/documentation/docs/providers/cart.provider.md +305 -0
- package/documentation/docs/providers/category.provider.md +244 -0
- package/documentation/docs/providers/checkout.provider.md +315 -0
- package/documentation/docs/providers/identity.provider.md +194 -0
- package/documentation/docs/providers/inventory.provider.md +162 -0
- package/documentation/docs/providers/order-search.provider.md +155 -0
- package/documentation/docs/providers/order.provider.md +160 -0
- package/documentation/docs/providers/price.provider.md +197 -0
- package/documentation/docs/providers/product-search.provider.md +265 -0
- package/documentation/docs/providers/product.provider.md +204 -0
- package/documentation/docs/providers/profile.provider.md +283 -0
- package/documentation/docs/providers/store.provider.md +146 -0
- package/documentation/docs/schemas/schemas.md +1862 -0
- package/documentation/docusaurus.config.js +33 -0
- package/documentation/scripts/generate.ts +52 -0
- package/documentation/sidebars.js +8 -0
- package/documentation/src/css/custom.css +3 -0
- package/documentation/src/pages/index.js +12 -0
- package/eslint.config.mjs +1 -1
- package/examples/node/package.json +6 -6
- package/examples/node/src/basic/basic-node-provider-model-extension.spec.ts +0 -2
- package/examples/node/src/basic/client-creation.spec.ts +2 -2
- package/package.json +19 -5
- package/providers/algolia/README.md +12 -4
- package/providers/algolia/project.json +1 -1
- package/providers/algolia/src/core/initialize.ts +7 -2
- package/providers/algolia/src/providers/analytics.provider.ts +114 -0
- package/providers/algolia/src/providers/index.ts +1 -0
- package/providers/algolia/src/providers/product-search.provider.ts +5 -4
- package/providers/algolia/src/test/analytics.spec.ts +138 -0
- package/providers/commercetools/project.json +1 -1
- package/providers/commercetools/src/providers/identity.provider.ts +8 -1
- package/providers/commercetools/src/providers/profile.provider.ts +1 -4
- package/providers/commercetools/src/test/caching.spec.ts +3 -3
- package/providers/commercetools/src/test/identity.spec.ts +2 -2
- package/providers/fake/project.json +1 -1
- package/providers/fake/src/providers/analytics.provider.ts +5 -0
- package/providers/fake/src/providers/checkout.provider.ts +5 -2
- package/providers/fake/src/providers/product.provider.ts +18 -8
- package/providers/fake/src/test/cart.provider.spec.ts +0 -2
- package/providers/fake/src/test/category.provider.spec.ts +3 -3
- package/providers/fake/src/test/checkout.provider.spec.ts +3 -7
- package/providers/google-analytics/README.md +11 -0
- package/providers/google-analytics/eslint.config.mjs +25 -0
- package/providers/google-analytics/package.json +12 -0
- package/providers/google-analytics/project.json +33 -0
- package/providers/google-analytics/src/core/initialize.ts +16 -0
- package/providers/google-analytics/src/index.ts +4 -0
- package/providers/google-analytics/src/providers/analytics.provider.ts +162 -0
- package/providers/google-analytics/src/schema/capabilities.schema.ts +10 -0
- package/providers/google-analytics/src/schema/configuration.schema.ts +9 -0
- package/providers/google-analytics/src/test/analytics.provider.spec.ts +93 -0
- package/providers/google-analytics/tsconfig.json +24 -0
- package/providers/google-analytics/tsconfig.lib.json +23 -0
- package/providers/google-analytics/tsconfig.spec.json +28 -0
- package/providers/google-analytics/vite.config.ts +26 -0
- package/providers/google-analytics/vitest.config.mts +21 -0
- package/providers/medusa/package.json +3 -10
- package/providers/medusa/project.json +1 -1
- package/providers/medusa/src/providers/identity.provider.ts +34 -10
- package/providers/medusa/src/providers/profile.provider.ts +5 -15
- package/providers/medusa/src/test/test-utils.ts +0 -1
- package/providers/medusa/tsconfig.json +3 -0
- package/providers/medusa/tsconfig.lib.json +16 -1
- package/providers/meilisearch/project.json +1 -1
- package/providers/posthog/project.json +1 -1
- package/tsconfig.base.json +4 -1
- package/.claude/settings.local.json +0 -28
- package/core/src/schemas/mutations/analytics.mutation.ts +0 -23
- package/providers/algolia/src/test/test-utils.ts +0 -31
- /package/documentation/{2-getting-started.md → docs/2-getting-started.md} +0 -0
- /package/documentation/{3-querying-and-changing-data.md → docs/3-querying-and-changing-data.md} +0 -0
- /package/documentation/{4-product-data.md → docs/4-product-data.md} +0 -0
- /package/documentation/{5-cart-and-checkout.md → docs/5-cart-and-checkout.md} +0 -0
- /package/documentation/{6-product-search.md → docs/6-product-search.md} +0 -0
- /package/documentation/{7-marketing.md → docs/7-marketing.md} +0 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
[**@reactionary/core**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@reactionary/core](README.md) / identity.provider
|
|
6
|
+
|
|
7
|
+
# identity.provider
|
|
8
|
+
|
|
9
|
+
## Classes
|
|
10
|
+
|
|
11
|
+
### `abstract` IdentityProvider
|
|
12
|
+
|
|
13
|
+
Defined in: [identity.provider.ts:7](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L7)
|
|
14
|
+
|
|
15
|
+
Base capability provider, responsible for mutations (changes) and queries (fetches)
|
|
16
|
+
for a given business object domain.
|
|
17
|
+
|
|
18
|
+
#### Extends
|
|
19
|
+
|
|
20
|
+
- [`BaseProvider`](base.provider.md#baseprovider)
|
|
21
|
+
|
|
22
|
+
#### Constructors
|
|
23
|
+
|
|
24
|
+
##### Constructor
|
|
25
|
+
|
|
26
|
+
> **new IdentityProvider**(`cache`, `context`): [`IdentityProvider`](#identityprovider)
|
|
27
|
+
|
|
28
|
+
Defined in: [base.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L13)
|
|
29
|
+
|
|
30
|
+
###### Parameters
|
|
31
|
+
|
|
32
|
+
###### cache
|
|
33
|
+
|
|
34
|
+
`Cache`
|
|
35
|
+
|
|
36
|
+
###### context
|
|
37
|
+
|
|
38
|
+
`RequestContext`
|
|
39
|
+
|
|
40
|
+
###### Returns
|
|
41
|
+
|
|
42
|
+
[`IdentityProvider`](#identityprovider)
|
|
43
|
+
|
|
44
|
+
###### Inherited from
|
|
45
|
+
|
|
46
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`constructor`](base.provider.md#constructor)
|
|
47
|
+
|
|
48
|
+
#### Properties
|
|
49
|
+
|
|
50
|
+
##### cache
|
|
51
|
+
|
|
52
|
+
> `protected` **cache**: `Cache`
|
|
53
|
+
|
|
54
|
+
Defined in: [base.provider.ts:10](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L10)
|
|
55
|
+
|
|
56
|
+
###### Inherited from
|
|
57
|
+
|
|
58
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`cache`](base.provider.md#cache)
|
|
59
|
+
|
|
60
|
+
##### context
|
|
61
|
+
|
|
62
|
+
> `protected` **context**: `RequestContext`
|
|
63
|
+
|
|
64
|
+
Defined in: [base.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L11)
|
|
65
|
+
|
|
66
|
+
###### Inherited from
|
|
67
|
+
|
|
68
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`context`](base.provider.md#context)
|
|
69
|
+
|
|
70
|
+
#### Methods
|
|
71
|
+
|
|
72
|
+
##### generateCacheKeyForQuery()
|
|
73
|
+
|
|
74
|
+
> `protected` **generateCacheKeyForQuery**(`scope`, `query`): `string`
|
|
75
|
+
|
|
76
|
+
Defined in: [base.provider.ts:32](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L32)
|
|
77
|
+
|
|
78
|
+
###### Parameters
|
|
79
|
+
|
|
80
|
+
###### scope
|
|
81
|
+
|
|
82
|
+
`string`
|
|
83
|
+
|
|
84
|
+
###### query
|
|
85
|
+
|
|
86
|
+
`object`
|
|
87
|
+
|
|
88
|
+
###### Returns
|
|
89
|
+
|
|
90
|
+
`string`
|
|
91
|
+
|
|
92
|
+
###### Inherited from
|
|
93
|
+
|
|
94
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateCacheKeyForQuery`](base.provider.md#generatecachekeyforquery)
|
|
95
|
+
|
|
96
|
+
##### generateDependencyIdsForModel()
|
|
97
|
+
|
|
98
|
+
> **generateDependencyIdsForModel**(`model`): `string`[]
|
|
99
|
+
|
|
100
|
+
Defined in: [base.provider.ts:18](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L18)
|
|
101
|
+
|
|
102
|
+
###### Parameters
|
|
103
|
+
|
|
104
|
+
###### model
|
|
105
|
+
|
|
106
|
+
`unknown`
|
|
107
|
+
|
|
108
|
+
###### Returns
|
|
109
|
+
|
|
110
|
+
`string`[]
|
|
111
|
+
|
|
112
|
+
###### Inherited from
|
|
113
|
+
|
|
114
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateDependencyIdsForModel`](base.provider.md#generatedependencyidsformodel)
|
|
115
|
+
|
|
116
|
+
##### getResourceName()
|
|
117
|
+
|
|
118
|
+
> `protected` **getResourceName**(): `string`
|
|
119
|
+
|
|
120
|
+
Defined in: [identity.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L13)
|
|
121
|
+
|
|
122
|
+
Returns the abstract resource name provided by the remote system.
|
|
123
|
+
|
|
124
|
+
###### Returns
|
|
125
|
+
|
|
126
|
+
`string`
|
|
127
|
+
|
|
128
|
+
###### Overrides
|
|
129
|
+
|
|
130
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`getResourceName`](base.provider.md#getresourcename)
|
|
131
|
+
|
|
132
|
+
##### getSelf()
|
|
133
|
+
|
|
134
|
+
> `abstract` **getSelf**(`payload`): `Promise`\<`Result`\<`Identity`\>\>
|
|
135
|
+
|
|
136
|
+
Defined in: [identity.provider.ts:8](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L8)
|
|
137
|
+
|
|
138
|
+
###### Parameters
|
|
139
|
+
|
|
140
|
+
###### payload
|
|
141
|
+
|
|
142
|
+
`IdentityQuerySelf`
|
|
143
|
+
|
|
144
|
+
###### Returns
|
|
145
|
+
|
|
146
|
+
`Promise`\<`Result`\<`Identity`\>\>
|
|
147
|
+
|
|
148
|
+
##### login()
|
|
149
|
+
|
|
150
|
+
> `abstract` **login**(`payload`): `Promise`\<`Result`\<`Identity`\>\>
|
|
151
|
+
|
|
152
|
+
Defined in: [identity.provider.ts:9](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L9)
|
|
153
|
+
|
|
154
|
+
###### Parameters
|
|
155
|
+
|
|
156
|
+
###### payload
|
|
157
|
+
|
|
158
|
+
`IdentityMutationLogin`
|
|
159
|
+
|
|
160
|
+
###### Returns
|
|
161
|
+
|
|
162
|
+
`Promise`\<`Result`\<`Identity`\>\>
|
|
163
|
+
|
|
164
|
+
##### logout()
|
|
165
|
+
|
|
166
|
+
> `abstract` **logout**(`payload`): `Promise`\<`Result`\<`Identity`\>\>
|
|
167
|
+
|
|
168
|
+
Defined in: [identity.provider.ts:10](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L10)
|
|
169
|
+
|
|
170
|
+
###### Parameters
|
|
171
|
+
|
|
172
|
+
###### payload
|
|
173
|
+
|
|
174
|
+
`IdentityMutationLogout`
|
|
175
|
+
|
|
176
|
+
###### Returns
|
|
177
|
+
|
|
178
|
+
`Promise`\<`Result`\<`Identity`\>\>
|
|
179
|
+
|
|
180
|
+
##### register()
|
|
181
|
+
|
|
182
|
+
> `abstract` **register**(`payload`): `Promise`\<`Result`\<`Identity`\>\>
|
|
183
|
+
|
|
184
|
+
Defined in: [identity.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/identity.provider.ts#L11)
|
|
185
|
+
|
|
186
|
+
###### Parameters
|
|
187
|
+
|
|
188
|
+
###### payload
|
|
189
|
+
|
|
190
|
+
`IdentityMutationRegister`
|
|
191
|
+
|
|
192
|
+
###### Returns
|
|
193
|
+
|
|
194
|
+
`Promise`\<`Result`\<`Identity`\>\>
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
[**@reactionary/core**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@reactionary/core](README.md) / inventory.provider
|
|
6
|
+
|
|
7
|
+
# inventory.provider
|
|
8
|
+
|
|
9
|
+
## Classes
|
|
10
|
+
|
|
11
|
+
### `abstract` InventoryProvider
|
|
12
|
+
|
|
13
|
+
Defined in: [inventory.provider.ts:8](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/inventory.provider.ts#L8)
|
|
14
|
+
|
|
15
|
+
Base capability provider, responsible for mutations (changes) and queries (fetches)
|
|
16
|
+
for a given business object domain.
|
|
17
|
+
|
|
18
|
+
#### Extends
|
|
19
|
+
|
|
20
|
+
- [`BaseProvider`](base.provider.md#baseprovider)
|
|
21
|
+
|
|
22
|
+
#### Constructors
|
|
23
|
+
|
|
24
|
+
##### Constructor
|
|
25
|
+
|
|
26
|
+
> **new InventoryProvider**(`cache`, `context`): [`InventoryProvider`](#inventoryprovider)
|
|
27
|
+
|
|
28
|
+
Defined in: [base.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L13)
|
|
29
|
+
|
|
30
|
+
###### Parameters
|
|
31
|
+
|
|
32
|
+
###### cache
|
|
33
|
+
|
|
34
|
+
`Cache`
|
|
35
|
+
|
|
36
|
+
###### context
|
|
37
|
+
|
|
38
|
+
`RequestContext`
|
|
39
|
+
|
|
40
|
+
###### Returns
|
|
41
|
+
|
|
42
|
+
[`InventoryProvider`](#inventoryprovider)
|
|
43
|
+
|
|
44
|
+
###### Inherited from
|
|
45
|
+
|
|
46
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`constructor`](base.provider.md#constructor)
|
|
47
|
+
|
|
48
|
+
#### Properties
|
|
49
|
+
|
|
50
|
+
##### cache
|
|
51
|
+
|
|
52
|
+
> `protected` **cache**: `Cache`
|
|
53
|
+
|
|
54
|
+
Defined in: [base.provider.ts:10](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L10)
|
|
55
|
+
|
|
56
|
+
###### Inherited from
|
|
57
|
+
|
|
58
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`cache`](base.provider.md#cache)
|
|
59
|
+
|
|
60
|
+
##### context
|
|
61
|
+
|
|
62
|
+
> `protected` **context**: `RequestContext`
|
|
63
|
+
|
|
64
|
+
Defined in: [base.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L11)
|
|
65
|
+
|
|
66
|
+
###### Inherited from
|
|
67
|
+
|
|
68
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`context`](base.provider.md#context)
|
|
69
|
+
|
|
70
|
+
#### Methods
|
|
71
|
+
|
|
72
|
+
##### createEmptyInventory()
|
|
73
|
+
|
|
74
|
+
> `protected` **createEmptyInventory**(`key`): `Inventory`
|
|
75
|
+
|
|
76
|
+
Defined in: [inventory.provider.ts:15](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/inventory.provider.ts#L15)
|
|
77
|
+
|
|
78
|
+
###### Parameters
|
|
79
|
+
|
|
80
|
+
###### key
|
|
81
|
+
|
|
82
|
+
`InventoryIdentifier`
|
|
83
|
+
|
|
84
|
+
###### Returns
|
|
85
|
+
|
|
86
|
+
`Inventory`
|
|
87
|
+
|
|
88
|
+
##### generateCacheKeyForQuery()
|
|
89
|
+
|
|
90
|
+
> `protected` **generateCacheKeyForQuery**(`scope`, `query`): `string`
|
|
91
|
+
|
|
92
|
+
Defined in: [base.provider.ts:32](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L32)
|
|
93
|
+
|
|
94
|
+
###### Parameters
|
|
95
|
+
|
|
96
|
+
###### scope
|
|
97
|
+
|
|
98
|
+
`string`
|
|
99
|
+
|
|
100
|
+
###### query
|
|
101
|
+
|
|
102
|
+
`object`
|
|
103
|
+
|
|
104
|
+
###### Returns
|
|
105
|
+
|
|
106
|
+
`string`
|
|
107
|
+
|
|
108
|
+
###### Inherited from
|
|
109
|
+
|
|
110
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateCacheKeyForQuery`](base.provider.md#generatecachekeyforquery)
|
|
111
|
+
|
|
112
|
+
##### generateDependencyIdsForModel()
|
|
113
|
+
|
|
114
|
+
> **generateDependencyIdsForModel**(`model`): `string`[]
|
|
115
|
+
|
|
116
|
+
Defined in: [base.provider.ts:18](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L18)
|
|
117
|
+
|
|
118
|
+
###### Parameters
|
|
119
|
+
|
|
120
|
+
###### model
|
|
121
|
+
|
|
122
|
+
`unknown`
|
|
123
|
+
|
|
124
|
+
###### Returns
|
|
125
|
+
|
|
126
|
+
`string`[]
|
|
127
|
+
|
|
128
|
+
###### Inherited from
|
|
129
|
+
|
|
130
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateDependencyIdsForModel`](base.provider.md#generatedependencyidsformodel)
|
|
131
|
+
|
|
132
|
+
##### getBySKU()
|
|
133
|
+
|
|
134
|
+
> `abstract` **getBySKU**(`payload`): `Promise`\<`Result`\<`Inventory`, `NotFoundError`\>\>
|
|
135
|
+
|
|
136
|
+
Defined in: [inventory.provider.ts:9](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/inventory.provider.ts#L9)
|
|
137
|
+
|
|
138
|
+
###### Parameters
|
|
139
|
+
|
|
140
|
+
###### payload
|
|
141
|
+
|
|
142
|
+
`InventoryQueryBySKU`
|
|
143
|
+
|
|
144
|
+
###### Returns
|
|
145
|
+
|
|
146
|
+
`Promise`\<`Result`\<`Inventory`, `NotFoundError`\>\>
|
|
147
|
+
|
|
148
|
+
##### getResourceName()
|
|
149
|
+
|
|
150
|
+
> `protected` **getResourceName**(): `string`
|
|
151
|
+
|
|
152
|
+
Defined in: [inventory.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/inventory.provider.ts#L11)
|
|
153
|
+
|
|
154
|
+
Returns the abstract resource name provided by the remote system.
|
|
155
|
+
|
|
156
|
+
###### Returns
|
|
157
|
+
|
|
158
|
+
`string`
|
|
159
|
+
|
|
160
|
+
###### Overrides
|
|
161
|
+
|
|
162
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`getResourceName`](base.provider.md#getresourcename)
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
[**@reactionary/core**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@reactionary/core](README.md) / order-search.provider
|
|
6
|
+
|
|
7
|
+
# order-search.provider
|
|
8
|
+
|
|
9
|
+
## Classes
|
|
10
|
+
|
|
11
|
+
### `abstract` OrderSearchProvider
|
|
12
|
+
|
|
13
|
+
Defined in: [order-search.provider.ts:12](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order-search.provider.ts#L12)
|
|
14
|
+
|
|
15
|
+
This provider handles order search operations. In some situations you may have different providers for order history listing and detail retrieval.
|
|
16
|
+
The order search is primarily focused on searching and listing orders based on various criteria, and returns only summary information about each order.
|
|
17
|
+
|
|
18
|
+
Usecase: An e-commerce platform wants to provide customers with a way to search through their past orders using filters like date range, order status, or total amount spent.
|
|
19
|
+
|
|
20
|
+
#### Extends
|
|
21
|
+
|
|
22
|
+
- [`BaseProvider`](base.provider.md#baseprovider)
|
|
23
|
+
|
|
24
|
+
#### Constructors
|
|
25
|
+
|
|
26
|
+
##### Constructor
|
|
27
|
+
|
|
28
|
+
> **new OrderSearchProvider**(`cache`, `context`): [`OrderSearchProvider`](#ordersearchprovider)
|
|
29
|
+
|
|
30
|
+
Defined in: [base.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L13)
|
|
31
|
+
|
|
32
|
+
###### Parameters
|
|
33
|
+
|
|
34
|
+
###### cache
|
|
35
|
+
|
|
36
|
+
`Cache`
|
|
37
|
+
|
|
38
|
+
###### context
|
|
39
|
+
|
|
40
|
+
`RequestContext`
|
|
41
|
+
|
|
42
|
+
###### Returns
|
|
43
|
+
|
|
44
|
+
[`OrderSearchProvider`](#ordersearchprovider)
|
|
45
|
+
|
|
46
|
+
###### Inherited from
|
|
47
|
+
|
|
48
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`constructor`](base.provider.md#constructor)
|
|
49
|
+
|
|
50
|
+
#### Properties
|
|
51
|
+
|
|
52
|
+
##### cache
|
|
53
|
+
|
|
54
|
+
> `protected` **cache**: `Cache`
|
|
55
|
+
|
|
56
|
+
Defined in: [base.provider.ts:10](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L10)
|
|
57
|
+
|
|
58
|
+
###### Inherited from
|
|
59
|
+
|
|
60
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`cache`](base.provider.md#cache)
|
|
61
|
+
|
|
62
|
+
##### context
|
|
63
|
+
|
|
64
|
+
> `protected` **context**: `RequestContext`
|
|
65
|
+
|
|
66
|
+
Defined in: [base.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L11)
|
|
67
|
+
|
|
68
|
+
###### Inherited from
|
|
69
|
+
|
|
70
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`context`](base.provider.md#context)
|
|
71
|
+
|
|
72
|
+
#### Methods
|
|
73
|
+
|
|
74
|
+
##### generateCacheKeyForQuery()
|
|
75
|
+
|
|
76
|
+
> `protected` **generateCacheKeyForQuery**(`scope`, `query`): `string`
|
|
77
|
+
|
|
78
|
+
Defined in: [base.provider.ts:32](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L32)
|
|
79
|
+
|
|
80
|
+
###### Parameters
|
|
81
|
+
|
|
82
|
+
###### scope
|
|
83
|
+
|
|
84
|
+
`string`
|
|
85
|
+
|
|
86
|
+
###### query
|
|
87
|
+
|
|
88
|
+
`object`
|
|
89
|
+
|
|
90
|
+
###### Returns
|
|
91
|
+
|
|
92
|
+
`string`
|
|
93
|
+
|
|
94
|
+
###### Inherited from
|
|
95
|
+
|
|
96
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateCacheKeyForQuery`](base.provider.md#generatecachekeyforquery)
|
|
97
|
+
|
|
98
|
+
##### generateDependencyIdsForModel()
|
|
99
|
+
|
|
100
|
+
> **generateDependencyIdsForModel**(`model`): `string`[]
|
|
101
|
+
|
|
102
|
+
Defined in: [base.provider.ts:18](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L18)
|
|
103
|
+
|
|
104
|
+
###### Parameters
|
|
105
|
+
|
|
106
|
+
###### model
|
|
107
|
+
|
|
108
|
+
`unknown`
|
|
109
|
+
|
|
110
|
+
###### Returns
|
|
111
|
+
|
|
112
|
+
`string`[]
|
|
113
|
+
|
|
114
|
+
###### Inherited from
|
|
115
|
+
|
|
116
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateDependencyIdsForModel`](base.provider.md#generatedependencyidsformodel)
|
|
117
|
+
|
|
118
|
+
##### getResourceName()
|
|
119
|
+
|
|
120
|
+
> `protected` **getResourceName**(): `string`
|
|
121
|
+
|
|
122
|
+
Defined in: [order-search.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order-search.provider.ts#L13)
|
|
123
|
+
|
|
124
|
+
Returns the abstract resource name provided by the remote system.
|
|
125
|
+
|
|
126
|
+
###### Returns
|
|
127
|
+
|
|
128
|
+
`string`
|
|
129
|
+
|
|
130
|
+
###### Overrides
|
|
131
|
+
|
|
132
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`getResourceName`](base.provider.md#getresourcename)
|
|
133
|
+
|
|
134
|
+
##### queryByTerm()
|
|
135
|
+
|
|
136
|
+
> `abstract` **queryByTerm**(`payload`): `Promise`\<`Result`\<`OrderSearchResult`\>\>
|
|
137
|
+
|
|
138
|
+
Defined in: [order-search.provider.ts:24](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order-search.provider.ts#L24)
|
|
139
|
+
|
|
140
|
+
Queries orders based on the provided search criteria.
|
|
141
|
+
|
|
142
|
+
Usecase: A customer is in the My Account section, and wants to search for orders placed within the last month that are marked as "shipped".
|
|
143
|
+
Usecase: A widget on the frontpage after login, shows the last 5 orders placed by the customer.
|
|
144
|
+
|
|
145
|
+
###### Parameters
|
|
146
|
+
|
|
147
|
+
###### payload
|
|
148
|
+
|
|
149
|
+
`OrderSearchQueryByTerm`
|
|
150
|
+
|
|
151
|
+
The search criteria for querying orders.
|
|
152
|
+
|
|
153
|
+
###### Returns
|
|
154
|
+
|
|
155
|
+
`Promise`\<`Result`\<`OrderSearchResult`\>\>
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
[**@reactionary/core**](README.md)
|
|
2
|
+
|
|
3
|
+
***
|
|
4
|
+
|
|
5
|
+
[@reactionary/core](README.md) / order.provider
|
|
6
|
+
|
|
7
|
+
# order.provider
|
|
8
|
+
|
|
9
|
+
## Classes
|
|
10
|
+
|
|
11
|
+
### `abstract` OrderProvider
|
|
12
|
+
|
|
13
|
+
Defined in: [order.provider.ts:7](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order.provider.ts#L7)
|
|
14
|
+
|
|
15
|
+
Base capability provider, responsible for mutations (changes) and queries (fetches)
|
|
16
|
+
for a given business object domain.
|
|
17
|
+
|
|
18
|
+
#### Extends
|
|
19
|
+
|
|
20
|
+
- [`BaseProvider`](base.provider.md#baseprovider)
|
|
21
|
+
|
|
22
|
+
#### Constructors
|
|
23
|
+
|
|
24
|
+
##### Constructor
|
|
25
|
+
|
|
26
|
+
> **new OrderProvider**(`cache`, `context`): [`OrderProvider`](#orderprovider)
|
|
27
|
+
|
|
28
|
+
Defined in: [base.provider.ts:13](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L13)
|
|
29
|
+
|
|
30
|
+
###### Parameters
|
|
31
|
+
|
|
32
|
+
###### cache
|
|
33
|
+
|
|
34
|
+
`Cache`
|
|
35
|
+
|
|
36
|
+
###### context
|
|
37
|
+
|
|
38
|
+
`RequestContext`
|
|
39
|
+
|
|
40
|
+
###### Returns
|
|
41
|
+
|
|
42
|
+
[`OrderProvider`](#orderprovider)
|
|
43
|
+
|
|
44
|
+
###### Inherited from
|
|
45
|
+
|
|
46
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`constructor`](base.provider.md#constructor)
|
|
47
|
+
|
|
48
|
+
#### Properties
|
|
49
|
+
|
|
50
|
+
##### cache
|
|
51
|
+
|
|
52
|
+
> `protected` **cache**: `Cache`
|
|
53
|
+
|
|
54
|
+
Defined in: [base.provider.ts:10](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L10)
|
|
55
|
+
|
|
56
|
+
###### Inherited from
|
|
57
|
+
|
|
58
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`cache`](base.provider.md#cache)
|
|
59
|
+
|
|
60
|
+
##### context
|
|
61
|
+
|
|
62
|
+
> `protected` **context**: `RequestContext`
|
|
63
|
+
|
|
64
|
+
Defined in: [base.provider.ts:11](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L11)
|
|
65
|
+
|
|
66
|
+
###### Inherited from
|
|
67
|
+
|
|
68
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`context`](base.provider.md#context)
|
|
69
|
+
|
|
70
|
+
#### Methods
|
|
71
|
+
|
|
72
|
+
##### createEmptyOrder()
|
|
73
|
+
|
|
74
|
+
> `protected` **createEmptyOrder**(): `Order`
|
|
75
|
+
|
|
76
|
+
Defined in: [order.provider.ts:17](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order.provider.ts#L17)
|
|
77
|
+
|
|
78
|
+
###### Returns
|
|
79
|
+
|
|
80
|
+
`Order`
|
|
81
|
+
|
|
82
|
+
##### generateCacheKeyForQuery()
|
|
83
|
+
|
|
84
|
+
> `protected` **generateCacheKeyForQuery**(`scope`, `query`): `string`
|
|
85
|
+
|
|
86
|
+
Defined in: [base.provider.ts:32](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L32)
|
|
87
|
+
|
|
88
|
+
###### Parameters
|
|
89
|
+
|
|
90
|
+
###### scope
|
|
91
|
+
|
|
92
|
+
`string`
|
|
93
|
+
|
|
94
|
+
###### query
|
|
95
|
+
|
|
96
|
+
`object`
|
|
97
|
+
|
|
98
|
+
###### Returns
|
|
99
|
+
|
|
100
|
+
`string`
|
|
101
|
+
|
|
102
|
+
###### Inherited from
|
|
103
|
+
|
|
104
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateCacheKeyForQuery`](base.provider.md#generatecachekeyforquery)
|
|
105
|
+
|
|
106
|
+
##### generateDependencyIdsForModel()
|
|
107
|
+
|
|
108
|
+
> **generateDependencyIdsForModel**(`model`): `string`[]
|
|
109
|
+
|
|
110
|
+
Defined in: [base.provider.ts:18](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/base.provider.ts#L18)
|
|
111
|
+
|
|
112
|
+
###### Parameters
|
|
113
|
+
|
|
114
|
+
###### model
|
|
115
|
+
|
|
116
|
+
`unknown`
|
|
117
|
+
|
|
118
|
+
###### Returns
|
|
119
|
+
|
|
120
|
+
`string`[]
|
|
121
|
+
|
|
122
|
+
###### Inherited from
|
|
123
|
+
|
|
124
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`generateDependencyIdsForModel`](base.provider.md#generatedependencyidsformodel)
|
|
125
|
+
|
|
126
|
+
##### getById()
|
|
127
|
+
|
|
128
|
+
> `abstract` **getById**(`payload`): `Promise`\<`Result`\<`Order`, `NotFoundError`\>\>
|
|
129
|
+
|
|
130
|
+
Defined in: [order.provider.ts:15](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order.provider.ts#L15)
|
|
131
|
+
|
|
132
|
+
Get order by ID.
|
|
133
|
+
|
|
134
|
+
Usecase: Fetch order after checkout, to check if we are fully paid and can continue to order confirmation page.
|
|
135
|
+
|
|
136
|
+
###### Parameters
|
|
137
|
+
|
|
138
|
+
###### payload
|
|
139
|
+
|
|
140
|
+
`OrderQueryById`
|
|
141
|
+
|
|
142
|
+
###### Returns
|
|
143
|
+
|
|
144
|
+
`Promise`\<`Result`\<`Order`, `NotFoundError`\>\>
|
|
145
|
+
|
|
146
|
+
##### getResourceName()
|
|
147
|
+
|
|
148
|
+
> `protected` **getResourceName**(): `string`
|
|
149
|
+
|
|
150
|
+
Defined in: [order.provider.ts:60](https://github.com/Solteq/reactionary/blob/ca9304f3dfc56eb7283e5bdf90b26f13d42dce7d/core/src/providers/order.provider.ts#L60)
|
|
151
|
+
|
|
152
|
+
Returns the abstract resource name provided by the remote system.
|
|
153
|
+
|
|
154
|
+
###### Returns
|
|
155
|
+
|
|
156
|
+
`string`
|
|
157
|
+
|
|
158
|
+
###### Overrides
|
|
159
|
+
|
|
160
|
+
[`BaseProvider`](base.provider.md#baseprovider).[`getResourceName`](base.provider.md#getresourcename)
|