@reactionary/source 0.2.19 → 0.3.1

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 (93) hide show
  1. package/core/src/client/client-builder.ts +3 -7
  2. package/core/src/client/client.ts +2 -3
  3. package/core/src/decorators/reactionary.decorator.ts +2 -2
  4. package/core/src/initialization.ts +8 -3
  5. package/core/src/providers/analytics.provider.ts +75 -0
  6. package/core/src/providers/cart.provider.ts +3 -0
  7. package/core/src/providers/category.provider.ts +1 -0
  8. package/core/src/schemas/errors/invalid-input.error.ts +1 -1
  9. package/core/src/schemas/errors/invalid-output.error.ts +1 -1
  10. package/core/src/schemas/models/identifiers.model.ts +3 -0
  11. package/core/src/schemas/models/order.model.ts +2 -2
  12. package/core/src/schemas/mutations/analytics/index.ts +23 -0
  13. package/core/src/schemas/mutations/analytics/product-add-to-cart.mutation.ts +25 -0
  14. package/core/src/schemas/mutations/analytics/product-details-view.mutation.ts +14 -0
  15. package/core/src/schemas/mutations/analytics/product-summary-click.mutation.ts +26 -0
  16. package/core/src/schemas/mutations/analytics/product-summary-view.mutation.ts +25 -0
  17. package/core/src/schemas/mutations/analytics/purchase.mutation.ts +14 -0
  18. package/core/src/schemas/mutations/index.ts +1 -1
  19. package/core/src/schemas/queries/order-search.query.ts +3 -0
  20. package/core/src/schemas/session.schema.ts +20 -9
  21. package/core/src/test/client-builder.spec.ts +60 -0
  22. package/core/src/zod-utils.ts +3 -1
  23. package/documentation/{1-purpose.md → docs/1-purpose.md} +4 -0
  24. package/documentation/docs/8-tracking.md +9 -0
  25. package/documentation/docs/providers/analytics.provider.md +297 -0
  26. package/documentation/docs/providers/base.provider.md +118 -0
  27. package/documentation/docs/providers/cart.provider.md +305 -0
  28. package/documentation/docs/providers/category.provider.md +244 -0
  29. package/documentation/docs/providers/checkout.provider.md +315 -0
  30. package/documentation/docs/providers/identity.provider.md +194 -0
  31. package/documentation/docs/providers/inventory.provider.md +162 -0
  32. package/documentation/docs/providers/order-search.provider.md +155 -0
  33. package/documentation/docs/providers/order.provider.md +160 -0
  34. package/documentation/docs/providers/price.provider.md +197 -0
  35. package/documentation/docs/providers/product-search.provider.md +265 -0
  36. package/documentation/docs/providers/product.provider.md +204 -0
  37. package/documentation/docs/providers/profile.provider.md +283 -0
  38. package/documentation/docs/providers/store.provider.md +146 -0
  39. package/documentation/docs/schemas/schemas.md +1862 -0
  40. package/documentation/docusaurus.config.js +33 -0
  41. package/documentation/scripts/generate.ts +52 -0
  42. package/documentation/sidebars.js +8 -0
  43. package/documentation/src/css/custom.css +3 -0
  44. package/documentation/src/pages/index.js +12 -0
  45. package/eslint.config.mjs +1 -1
  46. package/examples/node/package.json +6 -6
  47. package/examples/node/src/basic/basic-node-provider-model-extension.spec.ts +0 -2
  48. package/package.json +19 -5
  49. package/providers/algolia/project.json +1 -1
  50. package/providers/algolia/src/core/initialize.ts +5 -0
  51. package/providers/algolia/src/providers/analytics.provider.ts +112 -0
  52. package/providers/algolia/src/providers/index.ts +1 -0
  53. package/providers/commercetools/project.json +1 -1
  54. package/providers/commercetools/src/providers/profile.provider.ts +1 -4
  55. package/providers/fake/project.json +1 -1
  56. package/providers/fake/src/providers/analytics.provider.ts +5 -0
  57. package/providers/fake/src/providers/checkout.provider.ts +5 -2
  58. package/providers/fake/src/providers/product.provider.ts +18 -8
  59. package/providers/fake/src/test/cart.provider.spec.ts +0 -2
  60. package/providers/fake/src/test/category.provider.spec.ts +3 -3
  61. package/providers/fake/src/test/checkout.provider.spec.ts +3 -7
  62. package/providers/google-analytics/README.md +11 -0
  63. package/providers/google-analytics/eslint.config.mjs +25 -0
  64. package/providers/google-analytics/package.json +18 -0
  65. package/providers/google-analytics/project.json +33 -0
  66. package/providers/google-analytics/src/core/initialize.ts +16 -0
  67. package/providers/google-analytics/src/index.ts +4 -0
  68. package/providers/google-analytics/src/providers/analytics.provider.ts +162 -0
  69. package/providers/google-analytics/src/schema/capabilities.schema.ts +10 -0
  70. package/providers/google-analytics/src/schema/configuration.schema.ts +9 -0
  71. package/providers/google-analytics/src/test/analytics.provider.spec.ts +93 -0
  72. package/providers/google-analytics/tsconfig.json +24 -0
  73. package/providers/google-analytics/tsconfig.lib.json +23 -0
  74. package/providers/google-analytics/tsconfig.spec.json +28 -0
  75. package/providers/google-analytics/vite.config.ts +26 -0
  76. package/providers/google-analytics/vitest.config.mts +21 -0
  77. package/providers/medusa/package.json +3 -10
  78. package/providers/medusa/project.json +1 -1
  79. package/providers/medusa/src/providers/profile.provider.ts +5 -15
  80. package/providers/medusa/src/test/test-utils.ts +0 -1
  81. package/providers/medusa/tsconfig.json +3 -0
  82. package/providers/medusa/tsconfig.lib.json +16 -1
  83. package/providers/meilisearch/project.json +1 -1
  84. package/providers/posthog/project.json +1 -1
  85. package/tsconfig.base.json +4 -1
  86. package/core/src/schemas/mutations/analytics.mutation.ts +0 -23
  87. package/providers/algolia/src/test/test-utils.ts +0 -31
  88. /package/documentation/{2-getting-started.md → docs/2-getting-started.md} +0 -0
  89. /package/documentation/{3-querying-and-changing-data.md → docs/3-querying-and-changing-data.md} +0 -0
  90. /package/documentation/{4-product-data.md → docs/4-product-data.md} +0 -0
  91. /package/documentation/{5-cart-and-checkout.md → docs/5-cart-and-checkout.md} +0 -0
  92. /package/documentation/{6-product-search.md → docs/6-product-search.md} +0 -0
  93. /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)