@reventlessdev/online-shop-aggregates-ordering 3.0.0-alpha.213 → 3.0.0-alpha.214

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 (124) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/lib/bs/.compiler.log +2 -2
  3. package/lib/bs/compiler-info.json +1 -1
  4. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmi +0 -0
  5. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts-OrderingPlugin.cmt +0 -0
  6. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts.ast +0 -0
  7. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts.res.mjs +3 -2
  8. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
  9. package/lib/bs/src/CatalogProduct/ReadModel/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
  10. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmi +0 -0
  11. package/lib/bs/src/Extension/Products_Extension-OrderingPlugin.cmt +0 -0
  12. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  13. package/lib/bs/src/ExtensionPoint/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  14. package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmi +0 -0
  15. package/lib/bs/src/Order/Aggregate/Order-OrderingPlugin.cmt +0 -0
  16. package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmi +0 -0
  17. package/lib/bs/src/Order/Aggregate/Order_Behavior-OrderingPlugin.cmt +0 -0
  18. package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmi +0 -0
  19. package/lib/bs/src/Order/Aggregate/Order_Mappings-OrderingPlugin.cmt +0 -0
  20. package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmi +0 -0
  21. package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmj +0 -0
  22. package/lib/bs/src/Order/ReadModel/Orders-OrderingPlugin.cmt +0 -0
  23. package/lib/bs/src/Order/ReadModel/Orders.ast +0 -0
  24. package/lib/bs/src/Order/ReadModel/Orders.res +4 -2
  25. package/lib/bs/src/Order/ReadModel/Orders.res.mjs +5 -27
  26. package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmi +0 -0
  27. package/lib/bs/src/Order/ReadModel/Orders_Projections-OrderingPlugin.cmt +0 -0
  28. package/lib/bs/src/Order/ReadModel/Orders_Projections.ast +0 -0
  29. package/lib/bs/src/Order/ReadModel/Orders_Projections.res +4 -4
  30. package/lib/bs/src/Order/ReadModel/Orders_Projections.res.mjs +4 -4
  31. package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmi +0 -0
  32. package/lib/bs/src/Order/SideEffect/Order_EmailNotification-OrderingPlugin.cmt +0 -0
  33. package/lib/bs/src/Plugin-OrderingPlugin.cmi +0 -0
  34. package/lib/bs/src/Plugin-OrderingPlugin.cmt +0 -0
  35. package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmi +0 -0
  36. package/lib/bs/src/Task/OrderNotifications-OrderingPlugin.cmt +0 -0
  37. package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  38. package/lib/bs/tests/CatalogProduct/Aggregate/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  39. package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  40. package/lib/bs/tests/CatalogProduct/ReadModel/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  41. package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmi +0 -0
  42. package/lib/bs/tests/Customer/Aggregate/Customer_GWT-OrderingPlugin.cmt +0 -0
  43. package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmi +0 -0
  44. package/lib/bs/tests/Customer/ReadModel/Customers_GWT-OrderingPlugin.cmt +0 -0
  45. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  46. package/lib/bs/tests/Extension/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  47. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  48. package/lib/bs/tests/ExtensionPoint/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  49. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
  50. package/lib/bs/tests/Order/Aggregate/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
  51. package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmi +0 -0
  52. package/lib/bs/tests/Order/Aggregate/Order_GWT-OrderingPlugin.cmt +0 -0
  53. package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmi +0 -0
  54. package/lib/bs/tests/Order/ReadModel/Orders_GWT-OrderingPlugin.cmt +0 -0
  55. package/lib/bs/tests/Order/ReadModel/Orders_GWT.ast +0 -0
  56. package/lib/bs/tests/Order/ReadModel/Orders_GWT.res +4 -4
  57. package/lib/bs/tests/Order/ReadModel/Orders_GWT.res.mjs +4 -4
  58. package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmi +0 -0
  59. package/lib/bs/tests/Order/SideEffect/EmailService_Mock-OrderingPlugin.cmt +0 -0
  60. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
  61. package/lib/bs/tests/Order/SideEffect/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
  62. package/lib/ocaml/.compiler.log +2 -2
  63. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmi +0 -0
  64. package/lib/ocaml/AvailableProducts-OrderingPlugin.cmt +0 -0
  65. package/lib/ocaml/AvailableProducts.ast +0 -0
  66. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmi +0 -0
  67. package/lib/ocaml/AvailableProducts_GWT-OrderingPlugin.cmt +0 -0
  68. package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmi +0 -0
  69. package/lib/ocaml/AvailableProducts_Projections-OrderingPlugin.cmt +0 -0
  70. package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmi +0 -0
  71. package/lib/ocaml/CatalogProduct_GWT-OrderingPlugin.cmt +0 -0
  72. package/lib/ocaml/Customer_GWT-OrderingPlugin.cmi +0 -0
  73. package/lib/ocaml/Customer_GWT-OrderingPlugin.cmt +0 -0
  74. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmi +0 -0
  75. package/lib/ocaml/Customers_GWT-OrderingPlugin.cmt +0 -0
  76. package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmi +0 -0
  77. package/lib/ocaml/EmailService_Mock-OrderingPlugin.cmt +0 -0
  78. package/lib/ocaml/Order-OrderingPlugin.cmi +0 -0
  79. package/lib/ocaml/Order-OrderingPlugin.cmt +0 -0
  80. package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmi +0 -0
  81. package/lib/ocaml/OrderMappings_GWT-OrderingPlugin.cmt +0 -0
  82. package/lib/ocaml/OrderNotifications-OrderingPlugin.cmi +0 -0
  83. package/lib/ocaml/OrderNotifications-OrderingPlugin.cmt +0 -0
  84. package/lib/ocaml/Order_Behavior-OrderingPlugin.cmi +0 -0
  85. package/lib/ocaml/Order_Behavior-OrderingPlugin.cmt +0 -0
  86. package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmi +0 -0
  87. package/lib/ocaml/Order_EmailNotification-OrderingPlugin.cmt +0 -0
  88. package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmi +0 -0
  89. package/lib/ocaml/Order_EmailNotification_GWT-OrderingPlugin.cmt +0 -0
  90. package/lib/ocaml/Order_GWT-OrderingPlugin.cmi +0 -0
  91. package/lib/ocaml/Order_GWT-OrderingPlugin.cmt +0 -0
  92. package/lib/ocaml/Order_Mappings-OrderingPlugin.cmi +0 -0
  93. package/lib/ocaml/Order_Mappings-OrderingPlugin.cmt +0 -0
  94. package/lib/ocaml/Orders-OrderingPlugin.cmi +0 -0
  95. package/lib/ocaml/Orders-OrderingPlugin.cmj +0 -0
  96. package/lib/ocaml/Orders-OrderingPlugin.cmt +0 -0
  97. package/lib/ocaml/Orders.ast +0 -0
  98. package/lib/ocaml/Orders.res +4 -2
  99. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmi +0 -0
  100. package/lib/ocaml/Orders_ExtensionPointMapping-OrderingPlugin.cmt +0 -0
  101. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmi +0 -0
  102. package/lib/ocaml/Orders_ExtensionPointMapping_GWT-OrderingPlugin.cmt +0 -0
  103. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmi +0 -0
  104. package/lib/ocaml/Orders_GWT-OrderingPlugin.cmt +0 -0
  105. package/lib/ocaml/Orders_GWT.ast +0 -0
  106. package/lib/ocaml/Orders_GWT.res +4 -4
  107. package/lib/ocaml/Orders_Projections-OrderingPlugin.cmi +0 -0
  108. package/lib/ocaml/Orders_Projections-OrderingPlugin.cmt +0 -0
  109. package/lib/ocaml/Orders_Projections.ast +0 -0
  110. package/lib/ocaml/Orders_Projections.res +4 -4
  111. package/lib/ocaml/Plugin-OrderingPlugin.cmi +0 -0
  112. package/lib/ocaml/Plugin-OrderingPlugin.cmt +0 -0
  113. package/lib/ocaml/Products_Extension-OrderingPlugin.cmi +0 -0
  114. package/lib/ocaml/Products_Extension-OrderingPlugin.cmt +0 -0
  115. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmi +0 -0
  116. package/lib/ocaml/Products_Extension_GWT-OrderingPlugin.cmt +0 -0
  117. package/package.json +8 -8
  118. package/src/CatalogProduct/ReadModel/AvailableProducts.res.mjs +3 -2
  119. package/src/Order/ReadModel/Orders.res +4 -2
  120. package/src/Order/ReadModel/Orders.res.mjs +5 -27
  121. package/src/Order/ReadModel/Orders_Projections.res +4 -4
  122. package/src/Order/ReadModel/Orders_Projections.res.mjs +4 -4
  123. package/tests/Order/ReadModel/Orders_GWT.res +4 -4
  124. package/tests/Order/ReadModel/Orders_GWT.res.mjs +4 -4
package/CHANGELOG.md CHANGED
@@ -3,6 +3,13 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # 3.0.0-alpha.214 (2026-08-16)
7
+
8
+ ### Features
9
+
10
+ * **spec:** [@retired](https://github.com/retired) state-field annotation and its schema emission ([2d8234b](https://github.com/ReventlessDev/reventless-core/commit/2d8234b6b3dd8f479031a67eb5b4b47b5c0c2ff9))
11
+
12
+
6
13
  # 3.0.0-alpha.213 (2026-08-15)
7
14
 
8
15
  **Note:** Version bump only for package @reventlessdev/online-shop-aggregates-ordering
@@ -1,2 +1,2 @@
1
- #Start(1786782381621)
2
- #Done(1786782386771)
1
+ #Start(1786876606967)
2
+ #Done(1786876612717)
@@ -4,5 +4,5 @@
4
4
  "bsc_hash": "75e3a59c95cc953608fd3dd6ea6ed68141bba4414a20a52f114261b8a48385fa",
5
5
  "rescript_config_hash": "4c884bf958b93b21c77764e35498f269b81377cfcc324135f1ab7a1cc5b569cb",
6
6
  "runtime_path": "/home/runner/work/reventless-core/reventless-core/node_modules/@rescript/runtime",
7
- "generated_at": "1786782386787"
7
+ "generated_at": "1786876612727"
8
8
  }
@@ -26,10 +26,11 @@ let stateSchema$1 = S.Metadata.set(stateSchema, StateAnnotations$Reventless.stat
26
26
  scanSort: [],
27
27
  semantic: [],
28
28
  metric: [],
29
- status: undefined,
29
+ lifecycle: undefined,
30
30
  groupBy: undefined,
31
31
  visibility: "Internal",
32
- live: undefined
32
+ live: undefined,
33
+ retired: undefined
33
34
  });
34
35
 
35
36
  let name = "AvailableProducts";
@@ -4,7 +4,7 @@
4
4
  @@reventless.spec
5
5
 
6
6
  @schema
7
- type status =
7
+ type lifecycle =
8
8
  | Placed
9
9
  | Shipped
10
10
  | Cancelled
@@ -14,6 +14,8 @@ type status =
14
14
  type state = {
15
15
  customerId: string,
16
16
  productIds: array<string>,
17
- @status status: status,
17
+ // No annotation: the field name is the declaration. `@lifecycle` exists for
18
+ // records whose lifecycle field is honestly called something else.
19
+ lifecycle: lifecycle,
18
20
  }
19
21
 
@@ -2,9 +2,8 @@
2
2
 
3
3
  import * as S from "sury/src/S.res.mjs";
4
4
  import * as ReadModel$Reventless from "@reventlessdev/reventless-spec/src/components/ReadModel.res.mjs";
5
- import * as StateAnnotations$Reventless from "@reventlessdev/reventless-spec/src/components/StateAnnotations.res.mjs";
6
5
 
7
- let statusSchema = S.union([
6
+ let lifecycleSchema = S.union([
8
7
  S.literal("Placed"),
9
8
  S.literal("Shipped"),
10
9
  S.literal("Cancelled"),
@@ -14,32 +13,11 @@ let statusSchema = S.union([
14
13
  let stateSchema = S.schema(s => ({
15
14
  customerId: s.m(S.string),
16
15
  productIds: s.m(S.array(S.string)),
17
- status: s.m(statusSchema)
16
+ lifecycle: s.m(lifecycleSchema)
18
17
  }));
19
18
 
20
19
  let config = ReadModel$Reventless.config(undefined, undefined, undefined);
21
20
 
22
- let stateSchema$1 = S.Metadata.set(stateSchema, StateAnnotations$Reventless.stateAnnotationsId, {
23
- ids: [],
24
- compositeIds: [],
25
- subIds: [],
26
- compositeSubIds: [],
27
- indexes: [],
28
- hidden: [],
29
- summary: [],
30
- drillTargets: [],
31
- drillTargetKeys: [],
32
- collapsed: [],
33
- scan: [],
34
- scanSort: [],
35
- semantic: [],
36
- metric: [],
37
- status: "status",
38
- groupBy: undefined,
39
- visibility: undefined,
40
- live: undefined
41
- });
42
-
43
21
  let name = "Orders";
44
22
 
45
23
  let Id;
@@ -55,12 +33,12 @@ let visibility = "Public";
55
33
  export {
56
34
  name,
57
35
  Id,
58
- statusSchema,
36
+ lifecycleSchema,
37
+ stateSchema,
59
38
  config,
60
39
  subIdConfig,
61
- stateSchema$1 as stateSchema,
62
40
  moduleUrl,
63
41
  authorization,
64
42
  visibility,
65
43
  }
66
- /* statusSchema Not a pure module */
44
+ /* lifecycleSchema Not a pure module */
@@ -15,15 +15,15 @@ module OrderMapping = Mapping.Make(
15
15
  {
16
16
  Orders.customerId: customerId,
17
17
  productIds,
18
- status: (Placed: Orders.status),
18
+ lifecycle: (Placed: Orders.lifecycle),
19
19
  },
20
20
  )
21
21
  | Shipped =>
22
- Update(id, state => {...state, status: (Shipped: Orders.status)})
22
+ Update(id, state => {...state, lifecycle: (Shipped: Orders.lifecycle)})
23
23
  | Cancelled(_) =>
24
- Update(id, state => {...state, status: (Cancelled: Orders.status)})
24
+ Update(id, state => {...state, lifecycle: (Cancelled: Orders.lifecycle)})
25
25
  | Refunded(_) =>
26
- Update(id, state => {...state, status: (Refunded: Orders.status)})
26
+ Update(id, state => {...state, lifecycle: (Refunded: Orders.lifecycle)})
27
27
  }
28
28
  },
29
29
  )
@@ -22,7 +22,7 @@ function project(param) {
22
22
  _1: state => ({
23
23
  customerId: state.customerId,
24
24
  productIds: state.productIds,
25
- status: "Shipped"
25
+ lifecycle: "Shipped"
26
26
  })
27
27
  };
28
28
  }
@@ -34,7 +34,7 @@ function project(param) {
34
34
  _1: {
35
35
  customerId: event.customerId,
36
36
  productIds: event.productIds,
37
- status: "Placed"
37
+ lifecycle: "Placed"
38
38
  }
39
39
  };
40
40
  case "Cancelled" :
@@ -44,7 +44,7 @@ function project(param) {
44
44
  _1: state => ({
45
45
  customerId: state.customerId,
46
46
  productIds: state.productIds,
47
- status: "Cancelled"
47
+ lifecycle: "Cancelled"
48
48
  })
49
49
  };
50
50
  case "Refunded" :
@@ -54,7 +54,7 @@ function project(param) {
54
54
  _1: state => ({
55
55
  customerId: state.customerId,
56
56
  productIds: state.productIds,
57
- status: "Refunded"
57
+ lifecycle: "Refunded"
58
58
  })
59
59
  };
60
60
  }
@@ -7,7 +7,7 @@ describe("Orders ReadModel ← Order", () => {
7
7
  ->thenState({
8
8
  Orders.customerId: "cust-1",
9
9
  productIds: ["prod-1", "prod-2"],
10
- status: Placed,
10
+ lifecycle: Placed,
11
11
  })
12
12
  )
13
13
 
@@ -17,7 +17,7 @@ describe("Orders ReadModel ← Order", () => {
17
17
  ->thenState({
18
18
  Orders.customerId: "cust-1",
19
19
  productIds: ["prod-1"],
20
- status: Shipped,
20
+ lifecycle: Shipped,
21
21
  })
22
22
  )
23
23
 
@@ -27,7 +27,7 @@ describe("Orders ReadModel ← Order", () => {
27
27
  ->thenState({
28
28
  Orders.customerId: "cust-1",
29
29
  productIds: ["prod-1"],
30
- status: Cancelled,
30
+ lifecycle: Cancelled,
31
31
  })
32
32
  )
33
33
 
@@ -40,7 +40,7 @@ describe("Orders ReadModel ← Order", () => {
40
40
  ->thenState({
41
41
  Orders.customerId: "cust-1",
42
42
  productIds: ["prod-1"],
43
- status: Refunded,
43
+ lifecycle: Refunded,
44
44
  })
45
45
  )
46
46
  })
@@ -29,7 +29,7 @@ describe("Orders ReadModel ← Order", () => {
29
29
  "prod-1",
30
30
  "prod-2"
31
31
  ],
32
- status: "Placed"
32
+ lifecycle: "Placed"
33
33
  }));
34
34
  test("Shipped updates status", undefined, () => thenState(whenEvent(givenEvents([{
35
35
  TAG: "Placed",
@@ -38,7 +38,7 @@ describe("Orders ReadModel ← Order", () => {
38
38
  }]), "Shipped"), {
39
39
  customerId: "cust-1",
40
40
  productIds: ["prod-1"],
41
- status: "Shipped"
41
+ lifecycle: "Shipped"
42
42
  }));
43
43
  test("Cancelled updates status", undefined, () => thenState(whenEvent(givenEvents([{
44
44
  TAG: "Placed",
@@ -50,7 +50,7 @@ describe("Orders ReadModel ← Order", () => {
50
50
  }), {
51
51
  customerId: "cust-1",
52
52
  productIds: ["prod-1"],
53
- status: "Cancelled"
53
+ lifecycle: "Cancelled"
54
54
  }));
55
55
  test("Refunded updates status", undefined, () => thenState(whenEvent(givenEvents([
56
56
  {
@@ -68,7 +68,7 @@ describe("Orders ReadModel ← Order", () => {
68
68
  }), {
69
69
  customerId: "cust-1",
70
70
  productIds: ["prod-1"],
71
- status: "Refunded"
71
+ lifecycle: "Refunded"
72
72
  }));
73
73
  });
74
74
 
@@ -1,2 +1,2 @@
1
- #Start(1786782381621)
2
- #Done(1786782386771)
1
+ #Start(1786876606967)
2
+ #Done(1786876612717)
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -4,7 +4,7 @@
4
4
  @@reventless.spec
5
5
 
6
6
  @schema
7
- type status =
7
+ type lifecycle =
8
8
  | Placed
9
9
  | Shipped
10
10
  | Cancelled
@@ -14,6 +14,8 @@ type status =
14
14
  type state = {
15
15
  customerId: string,
16
16
  productIds: array<string>,
17
- @status status: status,
17
+ // No annotation: the field name is the declaration. `@lifecycle` exists for
18
+ // records whose lifecycle field is honestly called something else.
19
+ lifecycle: lifecycle,
18
20
  }
19
21
 
Binary file
@@ -7,7 +7,7 @@ describe("Orders ReadModel ← Order", () => {
7
7
  ->thenState({
8
8
  Orders.customerId: "cust-1",
9
9
  productIds: ["prod-1", "prod-2"],
10
- status: Placed,
10
+ lifecycle: Placed,
11
11
  })
12
12
  )
13
13
 
@@ -17,7 +17,7 @@ describe("Orders ReadModel ← Order", () => {
17
17
  ->thenState({
18
18
  Orders.customerId: "cust-1",
19
19
  productIds: ["prod-1"],
20
- status: Shipped,
20
+ lifecycle: Shipped,
21
21
  })
22
22
  )
23
23
 
@@ -27,7 +27,7 @@ describe("Orders ReadModel ← Order", () => {
27
27
  ->thenState({
28
28
  Orders.customerId: "cust-1",
29
29
  productIds: ["prod-1"],
30
- status: Cancelled,
30
+ lifecycle: Cancelled,
31
31
  })
32
32
  )
33
33
 
@@ -40,7 +40,7 @@ describe("Orders ReadModel ← Order", () => {
40
40
  ->thenState({
41
41
  Orders.customerId: "cust-1",
42
42
  productIds: ["prod-1"],
43
- status: Refunded,
43
+ lifecycle: Refunded,
44
44
  })
45
45
  )
46
46
  })
Binary file
@@ -15,15 +15,15 @@ module OrderMapping = Mapping.Make(
15
15
  {
16
16
  Orders.customerId: customerId,
17
17
  productIds,
18
- status: (Placed: Orders.status),
18
+ lifecycle: (Placed: Orders.lifecycle),
19
19
  },
20
20
  )
21
21
  | Shipped =>
22
- Update(id, state => {...state, status: (Shipped: Orders.status)})
22
+ Update(id, state => {...state, lifecycle: (Shipped: Orders.lifecycle)})
23
23
  | Cancelled(_) =>
24
- Update(id, state => {...state, status: (Cancelled: Orders.status)})
24
+ Update(id, state => {...state, lifecycle: (Cancelled: Orders.lifecycle)})
25
25
  | Refunded(_) =>
26
- Update(id, state => {...state, status: (Refunded: Orders.status)})
26
+ Update(id, state => {...state, lifecycle: (Refunded: Orders.lifecycle)})
27
27
  }
28
28
  },
29
29
  )
Binary file
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reventlessdev/online-shop-aggregates-ordering",
3
- "version": "3.0.0-alpha.213",
3
+ "version": "3.0.0-alpha.214",
4
4
  "description": "Online Shop example — Ordering plugin (Customer & Order aggregates)",
5
5
  "license": "Apache-2.0",
6
6
  "jest": {
@@ -21,18 +21,18 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "sury": "^11.0.0-alpha.4",
24
- "@reventlessdev/online-shop-aggregates-catalog-spec": "3.0.0-alpha.113",
25
- "@reventlessdev/online-shop-aggregates-ordering-spec": "3.0.0-alpha.113",
24
+ "@reventlessdev/online-shop-aggregates-catalog-spec": "3.0.0-alpha.114",
25
+ "@reventlessdev/reventless-gwt": "1.0.0-alpha.184",
26
26
  "@reventlessdev/rescript-pulumi-pulumi": "2.3.0-alpha.19",
27
- "@reventlessdev/reventless-gwt": "1.0.0-alpha.183",
28
- "@reventlessdev/reventless-infra": "3.0.0-alpha.142",
29
- "@reventlessdev/reventless-local": "3.0.0-alpha.224",
30
- "@reventlessdev/reventless-spec": "3.0.0-alpha.114"
27
+ "@reventlessdev/reventless-infra": "3.0.0-alpha.143",
28
+ "@reventlessdev/online-shop-aggregates-ordering-spec": "3.0.0-alpha.114",
29
+ "@reventlessdev/reventless-local": "3.0.0-alpha.225",
30
+ "@reventlessdev/reventless-spec": "3.0.0-alpha.115"
31
31
  },
32
32
  "devDependencies": {
33
33
  "rescript": "12.3.0",
34
34
  "sury-ppx": "11.0.0-alpha.2",
35
- "@reventlessdev/reventless-ppx": "1.0.0-alpha.66"
35
+ "@reventlessdev/reventless-ppx": "1.0.0-alpha.67"
36
36
  },
37
37
  "peerDependencies": {
38
38
  "rescript": "12.3.0"
@@ -26,10 +26,11 @@ let stateSchema$1 = S.Metadata.set(stateSchema, StateAnnotations$Reventless.stat
26
26
  scanSort: [],
27
27
  semantic: [],
28
28
  metric: [],
29
- status: undefined,
29
+ lifecycle: undefined,
30
30
  groupBy: undefined,
31
31
  visibility: "Internal",
32
- live: undefined
32
+ live: undefined,
33
+ retired: undefined
33
34
  });
34
35
 
35
36
  let name = "AvailableProducts";
@@ -4,7 +4,7 @@
4
4
  @@reventless.spec
5
5
 
6
6
  @schema
7
- type status =
7
+ type lifecycle =
8
8
  | Placed
9
9
  | Shipped
10
10
  | Cancelled
@@ -14,6 +14,8 @@ type status =
14
14
  type state = {
15
15
  customerId: string,
16
16
  productIds: array<string>,
17
- @status status: status,
17
+ // No annotation: the field name is the declaration. `@lifecycle` exists for
18
+ // records whose lifecycle field is honestly called something else.
19
+ lifecycle: lifecycle,
18
20
  }
19
21
 
@@ -2,9 +2,8 @@
2
2
 
3
3
  import * as S from "sury/src/S.res.mjs";
4
4
  import * as ReadModel$Reventless from "@reventlessdev/reventless-spec/src/components/ReadModel.res.mjs";
5
- import * as StateAnnotations$Reventless from "@reventlessdev/reventless-spec/src/components/StateAnnotations.res.mjs";
6
5
 
7
- let statusSchema = S.union([
6
+ let lifecycleSchema = S.union([
8
7
  S.literal("Placed"),
9
8
  S.literal("Shipped"),
10
9
  S.literal("Cancelled"),
@@ -14,32 +13,11 @@ let statusSchema = S.union([
14
13
  let stateSchema = S.schema(s => ({
15
14
  customerId: s.m(S.string),
16
15
  productIds: s.m(S.array(S.string)),
17
- status: s.m(statusSchema)
16
+ lifecycle: s.m(lifecycleSchema)
18
17
  }));
19
18
 
20
19
  let config = ReadModel$Reventless.config(undefined, undefined, undefined);
21
20
 
22
- let stateSchema$1 = S.Metadata.set(stateSchema, StateAnnotations$Reventless.stateAnnotationsId, {
23
- ids: [],
24
- compositeIds: [],
25
- subIds: [],
26
- compositeSubIds: [],
27
- indexes: [],
28
- hidden: [],
29
- summary: [],
30
- drillTargets: [],
31
- drillTargetKeys: [],
32
- collapsed: [],
33
- scan: [],
34
- scanSort: [],
35
- semantic: [],
36
- metric: [],
37
- status: "status",
38
- groupBy: undefined,
39
- visibility: undefined,
40
- live: undefined
41
- });
42
-
43
21
  let name = "Orders";
44
22
 
45
23
  let Id;
@@ -55,12 +33,12 @@ let visibility = "Public";
55
33
  export {
56
34
  name,
57
35
  Id,
58
- statusSchema,
36
+ lifecycleSchema,
37
+ stateSchema,
59
38
  config,
60
39
  subIdConfig,
61
- stateSchema$1 as stateSchema,
62
40
  moduleUrl,
63
41
  authorization,
64
42
  visibility,
65
43
  }
66
- /* statusSchema Not a pure module */
44
+ /* lifecycleSchema Not a pure module */
@@ -15,15 +15,15 @@ module OrderMapping = Mapping.Make(
15
15
  {
16
16
  Orders.customerId: customerId,
17
17
  productIds,
18
- status: (Placed: Orders.status),
18
+ lifecycle: (Placed: Orders.lifecycle),
19
19
  },
20
20
  )
21
21
  | Shipped =>
22
- Update(id, state => {...state, status: (Shipped: Orders.status)})
22
+ Update(id, state => {...state, lifecycle: (Shipped: Orders.lifecycle)})
23
23
  | Cancelled(_) =>
24
- Update(id, state => {...state, status: (Cancelled: Orders.status)})
24
+ Update(id, state => {...state, lifecycle: (Cancelled: Orders.lifecycle)})
25
25
  | Refunded(_) =>
26
- Update(id, state => {...state, status: (Refunded: Orders.status)})
26
+ Update(id, state => {...state, lifecycle: (Refunded: Orders.lifecycle)})
27
27
  }
28
28
  },
29
29
  )
@@ -22,7 +22,7 @@ function project(param) {
22
22
  _1: state => ({
23
23
  customerId: state.customerId,
24
24
  productIds: state.productIds,
25
- status: "Shipped"
25
+ lifecycle: "Shipped"
26
26
  })
27
27
  };
28
28
  }
@@ -34,7 +34,7 @@ function project(param) {
34
34
  _1: {
35
35
  customerId: event.customerId,
36
36
  productIds: event.productIds,
37
- status: "Placed"
37
+ lifecycle: "Placed"
38
38
  }
39
39
  };
40
40
  case "Cancelled" :
@@ -44,7 +44,7 @@ function project(param) {
44
44
  _1: state => ({
45
45
  customerId: state.customerId,
46
46
  productIds: state.productIds,
47
- status: "Cancelled"
47
+ lifecycle: "Cancelled"
48
48
  })
49
49
  };
50
50
  case "Refunded" :
@@ -54,7 +54,7 @@ function project(param) {
54
54
  _1: state => ({
55
55
  customerId: state.customerId,
56
56
  productIds: state.productIds,
57
- status: "Refunded"
57
+ lifecycle: "Refunded"
58
58
  })
59
59
  };
60
60
  }
@@ -7,7 +7,7 @@ describe("Orders ReadModel ← Order", () => {
7
7
  ->thenState({
8
8
  Orders.customerId: "cust-1",
9
9
  productIds: ["prod-1", "prod-2"],
10
- status: Placed,
10
+ lifecycle: Placed,
11
11
  })
12
12
  )
13
13
 
@@ -17,7 +17,7 @@ describe("Orders ReadModel ← Order", () => {
17
17
  ->thenState({
18
18
  Orders.customerId: "cust-1",
19
19
  productIds: ["prod-1"],
20
- status: Shipped,
20
+ lifecycle: Shipped,
21
21
  })
22
22
  )
23
23
 
@@ -27,7 +27,7 @@ describe("Orders ReadModel ← Order", () => {
27
27
  ->thenState({
28
28
  Orders.customerId: "cust-1",
29
29
  productIds: ["prod-1"],
30
- status: Cancelled,
30
+ lifecycle: Cancelled,
31
31
  })
32
32
  )
33
33
 
@@ -40,7 +40,7 @@ describe("Orders ReadModel ← Order", () => {
40
40
  ->thenState({
41
41
  Orders.customerId: "cust-1",
42
42
  productIds: ["prod-1"],
43
- status: Refunded,
43
+ lifecycle: Refunded,
44
44
  })
45
45
  )
46
46
  })
@@ -29,7 +29,7 @@ describe("Orders ReadModel ← Order", () => {
29
29
  "prod-1",
30
30
  "prod-2"
31
31
  ],
32
- status: "Placed"
32
+ lifecycle: "Placed"
33
33
  }));
34
34
  test("Shipped updates status", undefined, () => thenState(whenEvent(givenEvents([{
35
35
  TAG: "Placed",
@@ -38,7 +38,7 @@ describe("Orders ReadModel ← Order", () => {
38
38
  }]), "Shipped"), {
39
39
  customerId: "cust-1",
40
40
  productIds: ["prod-1"],
41
- status: "Shipped"
41
+ lifecycle: "Shipped"
42
42
  }));
43
43
  test("Cancelled updates status", undefined, () => thenState(whenEvent(givenEvents([{
44
44
  TAG: "Placed",
@@ -50,7 +50,7 @@ describe("Orders ReadModel ← Order", () => {
50
50
  }), {
51
51
  customerId: "cust-1",
52
52
  productIds: ["prod-1"],
53
- status: "Cancelled"
53
+ lifecycle: "Cancelled"
54
54
  }));
55
55
  test("Refunded updates status", undefined, () => thenState(whenEvent(givenEvents([
56
56
  {
@@ -68,7 +68,7 @@ describe("Orders ReadModel ← Order", () => {
68
68
  }), {
69
69
  customerId: "cust-1",
70
70
  productIds: ["prod-1"],
71
- status: "Refunded"
71
+ lifecycle: "Refunded"
72
72
  }));
73
73
  });
74
74