pure-orm 1.3.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.travis.yml +0 -6
  2. package/README.md +456 -185
  3. package/examples/order-more/bo/customer.js +18 -0
  4. package/examples/order-more/bo/customers.js +9 -0
  5. package/examples/order-more/bo/line-item.js +33 -0
  6. package/examples/order-more/bo/line-items.js +9 -0
  7. package/examples/order-more/bo/order.js +49 -0
  8. package/examples/order-more/bo/orders.js +9 -0
  9. package/examples/order-more/bo/parcel-event.js +19 -0
  10. package/examples/order-more/bo/parcel-events.js +9 -0
  11. package/examples/order-more/bo/parcel-line-item.js +24 -0
  12. package/examples/order-more/bo/parcel-line-items.js +9 -0
  13. package/examples/order-more/bo/parcel.js +18 -0
  14. package/examples/order-more/bo/parcels.js +9 -0
  15. package/examples/order-more/bo/physical-address.js +30 -0
  16. package/examples/order-more/bo/physical-addresses.js +12 -0
  17. package/examples/order-more/bo/refund.js +28 -0
  18. package/examples/order-more/bo/refunds.js +9 -0
  19. package/examples/order-more/bo/shipment-actual-product-variant.js +26 -0
  20. package/examples/order-more/bo/shipment-actual-product-variants.js +9 -0
  21. package/examples/order-more/bo/utm-medium.js +13 -0
  22. package/examples/order-more/bo/utm-source.js +13 -0
  23. package/examples/order-more/business-objects.js +12 -1
  24. package/package.json +1 -1
  25. package/src/bo/base-bo.js +51 -27
  26. package/src/bo/base-bo.spec.js +259 -0
  27. package/test-utils/eight/results.json +128 -0
  28. package/test-utils/eleven/results.json +818 -0
  29. package/test-utils/nine/bo/base.js +5 -0
  30. package/test-utils/nine/bo/feature-switch.js +18 -0
  31. package/test-utils/nine/bo/feature-switches.js +12 -0
  32. package/test-utils/nine/business-objects.js +7 -0
  33. package/test-utils/nine/results.json +12 -0
  34. package/test-utils/ten/results.json +899 -0
  35. package/test-utils/twelve/bo/base.js +5 -0
  36. package/test-utils/twelve/bo/member.js +16 -0
  37. package/test-utils/twelve/bo/members.js +9 -0
  38. package/test-utils/twelve/bo/prompt.js +20 -0
  39. package/test-utils/twelve/bo/prompts.js +9 -0
  40. package/test-utils/twelve/business-objects.js +8 -0
  41. package/test-utils/twelve/results.json +8 -0
@@ -0,0 +1,5 @@
1
+ const { createBaseBO } = require('pure-orm');
2
+ const getBusinessObjects = require('../business-objects');
3
+
4
+ const constructor = createBaseBO({ getBusinessObjects });
5
+ module.exports = constructor;
@@ -0,0 +1,16 @@
1
+ const Base = require('./base');
2
+ const Members = require('./members');
3
+
4
+ class Member extends Base {
5
+ get BoCollection() {
6
+ return Members;
7
+ }
8
+ static get tableName() {
9
+ return 'member';
10
+ }
11
+
12
+ static get sqlColumnsData() {
13
+ return ['id'];
14
+ }
15
+ }
16
+ module.exports = Member;
@@ -0,0 +1,9 @@
1
+ const { BaseBoCollection } = require('../../../src/index');
2
+
3
+ class Members extends BaseBoCollection {
4
+ static get Bo() {
5
+ return require('./member'); // eslint-disable-line
6
+ }
7
+ }
8
+
9
+ module.exports = Members;
@@ -0,0 +1,20 @@
1
+ const Base = require('./base');
2
+ const Prompts = require('./prompts');
3
+ const Member = require('./member');
4
+
5
+ class Prompt extends Base {
6
+ get BoCollection() {
7
+ return Prompts;
8
+ }
9
+ static get tableName() {
10
+ return 'prompt';
11
+ }
12
+ static get sqlColumnsData() {
13
+ return [
14
+ 'id',
15
+ { column: 'for_member_id', references: Member },
16
+ { column: 'from_member_id', references: Member }
17
+ ];
18
+ }
19
+ }
20
+ module.exports = Prompt;
@@ -0,0 +1,9 @@
1
+ const { BaseBoCollection } = require('../../../src/index');
2
+
3
+ class Prompts extends BaseBoCollection {
4
+ static get Bo() {
5
+ return require('./prompt'); // eslint-disable-line
6
+ }
7
+ }
8
+
9
+ module.exports = Prompts;
@@ -0,0 +1,8 @@
1
+ /* eslint-disable global-require */
2
+ const getBusinessObjects = () => [
3
+ // These need to be imported here to get around circular dependencies
4
+ require('./bo/prompt'),
5
+ require('./bo/member')
6
+ ];
7
+
8
+ module.exports = getBusinessObjects;
@@ -0,0 +1,8 @@
1
+ [
2
+ {
3
+ "prompt#id": 13,
4
+ "prompt#for_member_id": 336,
5
+ "prompt#from_member_id": 1,
6
+ "member#id": 1
7
+ }
8
+ ]