@sphereon/ssi-sdk.data-store 0.13.1-unstable.13 → 0.13.1-unstable.18

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 (100) hide show
  1. package/dist/contact/AbstractContactStore.d.ts +12 -2
  2. package/dist/contact/AbstractContactStore.d.ts.map +1 -1
  3. package/dist/contact/AbstractContactStore.js.map +1 -1
  4. package/dist/contact/ContactStore.d.ts +12 -10
  5. package/dist/contact/ContactStore.d.ts.map +1 -1
  6. package/dist/contact/ContactStore.js +182 -101
  7. package/dist/contact/ContactStore.js.map +1 -1
  8. package/dist/entities/contact/BaseConfigEntity.d.ts +8 -0
  9. package/dist/entities/contact/BaseConfigEntity.d.ts.map +1 -1
  10. package/dist/entities/contact/BaseConfigEntity.js +41 -1
  11. package/dist/entities/contact/BaseConfigEntity.js.map +1 -1
  12. package/dist/entities/contact/ConnectionEntity.d.ts +2 -1
  13. package/dist/entities/contact/ConnectionEntity.d.ts.map +1 -1
  14. package/dist/entities/contact/ConnectionEntity.js +18 -10
  15. package/dist/entities/contact/ConnectionEntity.js.map +1 -1
  16. package/dist/entities/contact/ContactEntity.d.ts +13 -6
  17. package/dist/entities/contact/ContactEntity.d.ts.map +1 -1
  18. package/dist/entities/contact/ContactEntity.js +93 -20
  19. package/dist/entities/contact/ContactEntity.js.map +1 -1
  20. package/dist/entities/contact/ContactOwnerEntity.d.ts +9 -0
  21. package/dist/entities/contact/ContactOwnerEntity.d.ts.map +1 -0
  22. package/dist/entities/contact/ContactOwnerEntity.js +41 -0
  23. package/dist/entities/contact/ContactOwnerEntity.js.map +1 -0
  24. package/dist/entities/contact/ContactRelationshipEntity.d.ts +18 -0
  25. package/dist/entities/contact/ContactRelationshipEntity.d.ts.map +1 -0
  26. package/dist/entities/contact/ContactRelationshipEntity.js +105 -0
  27. package/dist/entities/contact/ContactRelationshipEntity.js.map +1 -0
  28. package/dist/entities/contact/ContactTypeEntity.d.ts +16 -0
  29. package/dist/entities/contact/ContactTypeEntity.d.ts.map +1 -0
  30. package/dist/entities/contact/ContactTypeEntity.js +118 -0
  31. package/dist/entities/contact/ContactTypeEntity.js.map +1 -0
  32. package/dist/entities/contact/CorrelationIdentifierEntity.d.ts +3 -2
  33. package/dist/entities/contact/CorrelationIdentifierEntity.d.ts.map +1 -1
  34. package/dist/entities/contact/CorrelationIdentifierEntity.js +15 -3
  35. package/dist/entities/contact/CorrelationIdentifierEntity.js.map +1 -1
  36. package/dist/entities/contact/DidAuthConfigEntity.d.ts.map +1 -1
  37. package/dist/entities/contact/DidAuthConfigEntity.js.map +1 -1
  38. package/dist/entities/contact/IdentityEntity.d.ts +4 -3
  39. package/dist/entities/contact/IdentityEntity.d.ts.map +1 -1
  40. package/dist/entities/contact/IdentityEntity.js +13 -5
  41. package/dist/entities/contact/IdentityEntity.js.map +1 -1
  42. package/dist/entities/contact/IdentityMetadataItemEntity.d.ts +3 -2
  43. package/dist/entities/contact/IdentityMetadataItemEntity.d.ts.map +1 -1
  44. package/dist/entities/contact/IdentityMetadataItemEntity.js +15 -3
  45. package/dist/entities/contact/IdentityMetadataItemEntity.js.map +1 -1
  46. package/dist/entities/contact/OpenIdConfigEntity.js.map +1 -1
  47. package/dist/entities/contact/OrganizationEntity.d.ts +13 -0
  48. package/dist/entities/contact/OrganizationEntity.d.ts.map +1 -0
  49. package/dist/entities/contact/OrganizationEntity.js +92 -0
  50. package/dist/entities/contact/OrganizationEntity.js.map +1 -0
  51. package/dist/entities/contact/PersonEntity.d.ts +12 -0
  52. package/dist/entities/contact/PersonEntity.d.ts.map +1 -0
  53. package/dist/entities/contact/PersonEntity.js +93 -0
  54. package/dist/entities/contact/PersonEntity.js.map +1 -0
  55. package/dist/index.d.ts +6 -2
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +15 -1
  58. package/dist/index.js.map +1 -1
  59. package/dist/types/contact/IAbstractContactStore.d.ts +41 -8
  60. package/dist/types/contact/IAbstractContactStore.d.ts.map +1 -1
  61. package/dist/types/contact/contact.d.ts +86 -4
  62. package/dist/types/contact/contact.d.ts.map +1 -1
  63. package/dist/types/contact/contact.js +6 -1
  64. package/dist/types/contact/contact.js.map +1 -1
  65. package/dist/types/index.d.ts +1 -0
  66. package/dist/types/index.d.ts.map +1 -1
  67. package/dist/types/index.js +1 -0
  68. package/dist/types/index.js.map +1 -1
  69. package/dist/types/validation/validation.d.ts +4 -0
  70. package/dist/types/validation/validation.d.ts.map +1 -0
  71. package/dist/types/validation/validation.js +3 -0
  72. package/dist/types/validation/validation.js.map +1 -0
  73. package/dist/utils/ValidatorUtils.d.ts +4 -0
  74. package/dist/utils/ValidatorUtils.d.ts.map +1 -0
  75. package/dist/utils/ValidatorUtils.js +13 -0
  76. package/dist/utils/ValidatorUtils.js.map +1 -0
  77. package/package.json +3 -3
  78. package/src/__tests__/contact.entities.test.ts +1530 -156
  79. package/src/__tests__/contact.store.test.ts +687 -236
  80. package/src/contact/AbstractContactStore.ts +26 -1
  81. package/src/contact/ContactStore.ts +269 -154
  82. package/src/entities/contact/BaseConfigEntity.ts +45 -0
  83. package/src/entities/contact/ConnectionEntity.ts +20 -12
  84. package/src/entities/contact/ContactEntity.ts +105 -21
  85. package/src/entities/contact/ContactOwnerEntity.ts +21 -0
  86. package/src/entities/contact/ContactRelationshipEntity.ts +77 -0
  87. package/src/entities/contact/ContactTypeEntity.ts +91 -0
  88. package/src/entities/contact/CorrelationIdentifierEntity.ts +17 -5
  89. package/src/entities/contact/DidAuthConfigEntity.ts +2 -1
  90. package/src/entities/contact/IdentityEntity.ts +26 -9
  91. package/src/entities/contact/IdentityMetadataItemEntity.ts +17 -5
  92. package/src/entities/contact/OpenIdConfigEntity.ts +1 -1
  93. package/src/entities/contact/OrganizationEntity.ts +60 -0
  94. package/src/entities/contact/PersonEntity.ts +60 -0
  95. package/src/index.ts +14 -0
  96. package/src/types/contact/IAbstractContactStore.ts +64 -9
  97. package/src/types/contact/contact.ts +86 -4
  98. package/src/types/index.ts +1 -0
  99. package/src/types/validation/validation.ts +3 -0
  100. package/src/utils/ValidatorUtils.ts +10 -0
@@ -1 +1 @@
1
- {"version":3,"file":"BaseConfigEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/BaseConfigEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsF;AAI/E,IAAe,gBAAgB,GAA/B,MAAe,gBAAiB,SAAQ,oBAAU;CAGxD,CAAA;AAFC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAFS,gBAAgB;IAFrC,IAAA,gBAAM,EAAC,kBAAkB,CAAC,CAAC,kCAAkC;;IAC7D,IAAA,0BAAgB,EAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;GAC1C,gBAAgB,CAGrC;AAHqB,4CAAgB"}
1
+ {"version":3,"file":"BaseConfigEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/BaseConfigEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsF;AAO/E,IAAe,gBAAgB,GAA/B,MAAe,gBAAiB,SAAQ,oBAAU;CAGxD,CAAA;AAFC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAFS,gBAAgB;IAFrC,IAAA,gBAAM,EAAC,kBAAkB,CAAC,CAAC,kCAAkC;;IAC7D,IAAA,0BAAgB,EAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;GAC1C,gBAAgB,CAGrC;AAHqB,4CAAgB;AAK/B,MAAM,UAAU,GAAG,CAAC,MAAwB,EAAoB,EAAE;IACvE,aAAa;IACb,IAAI,IAAA,sBAAc,EAAC,MAAM,CAAC,EAAE;QAC1B,OAAO,IAAA,wBAAgB,EAAqB,MAAM,CAAC,CAAA;QACnD,aAAa;KACd;SAAM,IAAI,IAAA,uBAAe,EAAC,MAAM,CAAC,EAAE;QAClC,aAAa;QACb,OAAO,IAAA,yBAAiB,EAAsB,MAAM,CAAC,CAAA;KACtD;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC9C,CAAC,CAAA;AAXY,QAAA,UAAU,cAWtB;AAEM,MAAM,gBAAgB,GAAG,CAAC,MAA0B,EAAiB,EAAE;IAC5E,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAO;QACtB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oCAAoC,EAAE,MAAM,CAAC,oCAAoC;QACjF,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;KAC1C,CAAA;AACH,CAAC,CAAA;AAXY,QAAA,gBAAgB,oBAW5B;AAEM,MAAM,iBAAiB,GAAG,CAAC,MAA2B,EAAkB,EAAE;IAC/E,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,UAAU,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;QAC5E,OAAO,EAAE,EAAE;QACX,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAA;AACH,CAAC,CAAA;AARY,QAAA,iBAAiB,qBAQ7B;AAEM,MAAM,cAAc,GAAG,CAAC,MAA6B,EAA2B,EAAE,CACvF,cAAc,IAAI,MAAM,IAAI,QAAQ,IAAI,MAAM,IAAI,aAAa,IAAI,MAAM,CAAA;AAD9D,QAAA,cAAc,kBACgD;AAEpE,MAAM,eAAe,GAAG,CAAC,MAA6B,EAA4B,EAAE,CACzF,YAAY,IAAI,MAAM,IAAI,aAAa,IAAI,MAAM,IAAI,WAAW,IAAI,MAAM,CAAA;AAD/D,QAAA,eAAe,mBACgD"}
@@ -1,6 +1,6 @@
1
1
  import { BaseEntity } from 'typeorm';
2
2
  import { BaseConfigEntity } from './BaseConfigEntity';
3
- import { ConnectionTypeEnum, IBasicConnection } from '../../types';
3
+ import { ConnectionTypeEnum, IBasicConnection, IConnection } from '../../types';
4
4
  import { IdentityEntity } from './IdentityEntity';
5
5
  export declare class ConnectionEntity extends BaseEntity {
6
6
  id: string;
@@ -9,4 +9,5 @@ export declare class ConnectionEntity extends BaseEntity {
9
9
  identity: IdentityEntity;
10
10
  }
11
11
  export declare const connectionEntityFrom: (connection: IBasicConnection) => ConnectionEntity;
12
+ export declare const connectionFrom: (connection: ConnectionEntity) => IConnection;
12
13
  //# sourceMappingURL=ConnectionEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ConnectionEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAyB,kBAAkB,EAAE,gBAAgB,EAAiC,MAAM,aAAa,CAAA;AACxH,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,qBACa,gBAAiB,SAAQ,UAAU;IAE9C,EAAE,EAAG,MAAM,CAAA;IAGX,IAAI,EAAG,kBAAkB,CAAA;IAQzB,MAAM,EAAG,gBAAgB,CAAA;IAMzB,QAAQ,EAAG,cAAc,CAAA;CAC1B;AAED,eAAO,MAAM,oBAAoB,eAAgB,gBAAgB,KAAG,gBAMnE,CAAA"}
1
+ {"version":3,"file":"ConnectionEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ConnectionEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgE,UAAU,EAAE,MAAM,SAAS,CAAA;AAClG,OAAO,EAAE,gBAAgB,EAA+C,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAgE,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAC7I,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAIjD,qBACa,gBAAiB,SAAQ,UAAU;IAE9C,EAAE,EAAG,MAAM,CAAA;IAGX,IAAI,EAAG,kBAAkB,CAAA;IAQzB,MAAM,EAAG,gBAAgB,CAAA;IAMzB,QAAQ,EAAG,cAAc,CAAA;CAC1B;AAED,eAAO,MAAM,oBAAoB,eAAgB,gBAAgB,KAAG,gBAMnE,CAAA;AAED,eAAO,MAAM,cAAc,eAAgB,gBAAgB,KAAG,WAM7D,CAAA"}
@@ -9,7 +9,7 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.connectionEntityFrom = exports.ConnectionEntity = void 0;
12
+ exports.connectionFrom = exports.connectionEntityFrom = exports.ConnectionEntity = void 0;
13
13
  const typeorm_1 = require("typeorm");
14
14
  const BaseConfigEntity_1 = require("./BaseConfigEntity");
15
15
  const types_1 = require("../../types");
@@ -49,18 +49,26 @@ exports.ConnectionEntity = ConnectionEntity;
49
49
  const connectionEntityFrom = (connection) => {
50
50
  const connectionEntity = new ConnectionEntity();
51
51
  connectionEntity.type = connection.type;
52
- connectionEntity.config = configEntityFrom(connection.type, connection.config);
52
+ connectionEntity.config = configEntityFrom(connection.config);
53
53
  return connectionEntity;
54
54
  };
55
55
  exports.connectionEntityFrom = connectionEntityFrom;
56
- const configEntityFrom = (type, config) => {
57
- switch (type) {
58
- case types_1.ConnectionTypeEnum.OPENID_CONNECT:
59
- return (0, OpenIdConfigEntity_1.openIdConfigEntityFrom)(config);
60
- case types_1.ConnectionTypeEnum.SIOPv2:
61
- return (0, DidAuthConfigEntity_1.didAuthConfigEntityFrom)(config);
62
- default:
63
- throw new Error('Connection type not supported');
56
+ const connectionFrom = (connection) => {
57
+ return {
58
+ id: connection.id,
59
+ type: connection.type,
60
+ config: (0, BaseConfigEntity_1.configFrom)(connection.config),
61
+ };
62
+ };
63
+ exports.connectionFrom = connectionFrom;
64
+ // TODO move to base config?
65
+ const configEntityFrom = (config) => {
66
+ if ((0, BaseConfigEntity_1.isOpenIdConfig)(config)) {
67
+ return (0, OpenIdConfigEntity_1.openIdConfigEntityFrom)(config);
68
+ }
69
+ else if ((0, BaseConfigEntity_1.isDidAuthConfig)(config)) {
70
+ return (0, DidAuthConfigEntity_1.didAuthConfigEntityFrom)(config);
64
71
  }
72
+ throw new Error('config type not supported');
65
73
  };
66
74
  //# sourceMappingURL=ConnectionEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ConnectionEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkG;AAClG,yDAAqD;AACrD,uCAAwH;AACxH,qDAAiD;AACjD,6DAAiF;AACjF,+DAAoF;AAG7E,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,oBAAU;CAoB/C,CAAA;AAnBC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAEX;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CAC1D;AAEzB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,mCAAgB,EAAE,CAAC,MAAgD,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;QACzG,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC;8BACO,mCAAgB;gDAAA;AAEzB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,+BAAc,EAAE,CAAC,QAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE;QACjF,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACxB,+BAAc;kDAAA;AAnBd,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,gBAAgB,CAoB5B;AApBY,4CAAgB;AAsBtB,MAAM,oBAAoB,GAAG,CAAC,UAA4B,EAAoB,EAAE;IACrF,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,EAAE,CAAA;IAC/C,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IACvC,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IAE9E,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AANY,QAAA,oBAAoB,wBAMhC;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAwB,EAAE,MAA6B,EAAoB,EAAE;IACrG,QAAQ,IAAI,EAAE;QACZ,KAAK,0BAAkB,CAAC,cAAc;YACpC,OAAO,IAAA,2CAAsB,EAAC,MAAuB,CAAC,CAAA;QACxD,KAAK,0BAAkB,CAAC,MAAM;YAC5B,OAAO,IAAA,6CAAuB,EAAC,MAAwB,CAAC,CAAA;QAC1D;YACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAA;KACnD;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"ConnectionEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ConnectionEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAkG;AAClG,yDAAkG;AAClG,uCAA6I;AAC7I,qDAAiD;AACjD,6DAAiF;AACjF,+DAAoF;AAG7E,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,oBAAU;CAoB/C,CAAA;AAnBC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4CACpB;AAEX;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,0BAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;8CAC1D;AAEzB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,mCAAgB,EAAE,CAAC,MAAgD,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE;QACzG,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,SAAS;QACnB,KAAK,EAAE,IAAI;QACX,QAAQ,EAAE,KAAK;KAChB,CAAC;8BACO,mCAAgB;gDAAA;AAEzB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,+BAAc,EAAE,CAAC,QAAwB,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE;QACjF,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACxB,+BAAc;kDAAA;AAnBd,gBAAgB;IAD5B,IAAA,gBAAM,EAAC,YAAY,CAAC;GACR,gBAAgB,CAoB5B;AApBY,4CAAgB;AAsBtB,MAAM,oBAAoB,GAAG,CAAC,UAA4B,EAAoB,EAAE;IACrF,MAAM,gBAAgB,GAAqB,IAAI,gBAAgB,EAAE,CAAA;IACjE,gBAAgB,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAA;IACvC,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;IAE7D,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AANY,QAAA,oBAAoB,wBAMhC;AAEM,MAAM,cAAc,GAAG,CAAC,UAA4B,EAAe,EAAE;IAC1E,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,EAAE;QACjB,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,MAAM,EAAE,IAAA,6BAAU,EAAC,UAAU,CAAC,MAAM,CAAC;KACtC,CAAA;AACH,CAAC,CAAA;AANY,QAAA,cAAc,kBAM1B;AAED,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,CAAC,MAA6B,EAAoB,EAAE;IAC3E,IAAI,IAAA,iCAAc,EAAC,MAAM,CAAC,EAAE;QAC1B,OAAO,IAAA,2CAAsB,EAAoB,MAAM,CAAC,CAAA;KACzD;SAAM,IAAI,IAAA,kCAAe,EAAC,MAAM,CAAC,EAAE;QAClC,OAAO,IAAA,6CAAuB,EAAqB,MAAM,CAAC,CAAA;KAC3D;IAED,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;AAC9C,CAAC,CAAA"}
@@ -1,16 +1,23 @@
1
1
  import { BaseEntity } from 'typeorm';
2
- import { IBasicContact } from '../../types';
2
+ import { BasicContactOwner, ContactOwner, IBasicContact, IContact } from '../../types';
3
3
  import { IdentityEntity } from './IdentityEntity';
4
+ import { ContactTypeEntity } from './ContactTypeEntity';
5
+ import { ContactOwnerEntity } from './ContactOwnerEntity';
6
+ import { ContactRelationshipEntity } from './ContactRelationshipEntity';
4
7
  export declare class ContactEntity extends BaseEntity {
5
8
  id: string;
6
- name: string;
7
- alias: string;
8
9
  uri?: string;
9
10
  identities: Array<IdentityEntity>;
11
+ contactType: ContactTypeEntity;
12
+ contactOwner: ContactOwnerEntity;
13
+ relationships: Array<ContactRelationshipEntity>;
10
14
  createdAt: Date;
11
15
  lastUpdatedAt: Date;
12
- updateUpdatedDate(): void;
13
- validate(): Promise<undefined>;
16
+ updateLastUpdatedDate(): void;
17
+ validate(): Promise<void>;
14
18
  }
15
- export declare const contactEntityFrom: (args: IBasicContact) => ContactEntity;
19
+ export declare const contactEntityFrom: (contact: IBasicContact) => ContactEntity;
20
+ export declare const contactFrom: (contact: ContactEntity) => IContact;
21
+ export declare const contactOwnerEntityFrom: (owner: BasicContactOwner) => ContactOwnerEntity;
22
+ export declare const contactOwnerFrom: (owner: ContactOwnerEntity) => ContactOwner;
16
23
  //# sourceMappingURL=ContactEntity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContactEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ContactEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAUX,MAAM,SAAS,CAAA;AAChB,OAAO,EAAE,aAAa,EAAkB,MAAM,aAAa,CAAA;AAC3D,OAAO,EAAE,cAAc,EAAsB,MAAM,kBAAkB,CAAA;AAGrE,qBACa,aAAc,SAAQ,UAAU;IAE3C,EAAE,EAAG,MAAM,CAAA;IAIX,IAAI,EAAG,MAAM,CAAA;IAIb,KAAK,EAAG,MAAM,CAAA;IAGd,GAAG,CAAC,EAAE,MAAM,CAAA;IASZ,UAAU,EAAG,KAAK,CAAC,cAAc,CAAC,CAAA;IAGlC,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAKpB,iBAAiB;IAMX,QAAQ;CAOf;AAED,eAAO,MAAM,iBAAiB,SAAU,aAAa,KAAG,aAQvD,CAAA"}
1
+ {"version":3,"file":"ContactEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ContactEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAYX,MAAM,SAAS,CAAA;AAChB,OAAO,EACL,iBAAiB,EAGjB,YAAY,EACZ,aAAa,EAEb,QAAQ,EAET,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAoC,MAAM,kBAAkB,CAAA;AAEnF,OAAO,EAAE,iBAAiB,EAA0C,MAAM,qBAAqB,CAAA;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAGzD,OAAO,EAAE,yBAAyB,EAA2B,MAAM,6BAA6B,CAAA;AAGhG,qBACa,aAAc,SAAQ,UAAU;IAE3C,EAAE,EAAG,MAAM,CAAA;IAGX,GAAG,CAAC,EAAE,MAAM,CAAA;IASZ,UAAU,EAAG,KAAK,CAAC,cAAc,CAAC,CAAA;IAUlC,WAAW,EAAG,iBAAiB,CAAA;IAQ/B,YAAY,EAAG,kBAAkB,CAAA;IASjC,aAAa,EAAG,KAAK,CAAC,yBAAyB,CAAC,CAAA;IAGhD,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAKpB,qBAAqB,IAAI,IAAI;IAMvB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAUhC;AAED,eAAO,MAAM,iBAAiB,YAAa,aAAa,KAAG,aAQ1D,CAAA;AAED,eAAO,MAAM,WAAW,YAAa,aAAa,KAAG,QAcpD,CAAA;AAGD,eAAO,MAAM,sBAAsB,UAAW,iBAAiB,KAAG,kBAQjE,CAAA;AAED,eAAO,MAAM,gBAAgB,UAAW,kBAAkB,KAAG,YAU5D,CAAA"}
@@ -18,22 +18,31 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
18
18
  });
19
19
  };
20
20
  Object.defineProperty(exports, "__esModule", { value: true });
21
- exports.contactEntityFrom = exports.ContactEntity = void 0;
21
+ exports.contactOwnerFrom = exports.contactOwnerEntityFrom = exports.contactFrom = exports.contactEntityFrom = exports.ContactEntity = void 0;
22
22
  const typeorm_1 = require("typeorm");
23
23
  const IdentityEntity_1 = require("./IdentityEntity");
24
24
  const class_validator_1 = require("class-validator");
25
+ const ContactTypeEntity_1 = require("./ContactTypeEntity");
26
+ const ContactOwnerEntity_1 = require("./ContactOwnerEntity");
27
+ const PersonEntity_1 = require("./PersonEntity");
28
+ const OrganizationEntity_1 = require("./OrganizationEntity");
29
+ const ContactRelationshipEntity_1 = require("./ContactRelationshipEntity");
30
+ const ValidatorUtils_1 = require("../../utils/ValidatorUtils");
25
31
  let ContactEntity = class ContactEntity extends typeorm_1.BaseEntity {
26
32
  // By default, @UpdateDateColumn in TypeORM updates the timestamp only when the entity's top-level properties change.
27
- updateUpdatedDate() {
33
+ updateLastUpdatedDate() {
28
34
  this.lastUpdatedAt = new Date();
29
35
  }
30
36
  validate() {
31
37
  return __awaiter(this, void 0, void 0, function* () {
32
38
  const validation = yield (0, class_validator_1.validate)(this);
33
39
  if (validation.length > 0) {
34
- return Promise.reject(Error(Object.values(validation[0].constraints)[0]));
40
+ const constraint = (0, ValidatorUtils_1.getConstraint)(validation[0]);
41
+ if (constraint) {
42
+ const message = Object.values(constraint)[0];
43
+ return Promise.reject(Error(message));
44
+ }
35
45
  }
36
- return;
37
46
  });
38
47
  }
39
48
  };
@@ -41,16 +50,6 @@ __decorate([
41
50
  (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
42
51
  __metadata("design:type", String)
43
52
  ], ContactEntity.prototype, "id", void 0);
44
- __decorate([
45
- (0, typeorm_1.Column)({ name: 'name', length: 255, nullable: false, unique: true }),
46
- (0, class_validator_1.IsNotEmpty)({ message: 'Blank names are not allowed' }),
47
- __metadata("design:type", String)
48
- ], ContactEntity.prototype, "name", void 0);
49
- __decorate([
50
- (0, typeorm_1.Column)({ name: 'alias', length: 255, nullable: false, unique: true }),
51
- (0, class_validator_1.IsNotEmpty)({ message: 'Blank aliases are not allowed' }),
52
- __metadata("design:type", String)
53
- ], ContactEntity.prototype, "alias", void 0);
54
53
  __decorate([
55
54
  (0, typeorm_1.Column)({ name: 'uri', length: 255 }),
56
55
  __metadata("design:type", String)
@@ -65,6 +64,37 @@ __decorate([
65
64
  (0, typeorm_1.JoinColumn)({ name: 'identityId' }),
66
65
  __metadata("design:type", Array)
67
66
  ], ContactEntity.prototype, "identities", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.ManyToOne)(() => ContactTypeEntity_1.ContactTypeEntity, (contactType) => contactType.contacts, {
69
+ // cascade: ['insert', 'update'],
70
+ cascade: true,
71
+ // onDelete: 'CASCADE',
72
+ nullable: false,
73
+ eager: true,
74
+ }) // TODO check these options
75
+ ,
76
+ (0, typeorm_1.JoinColumn)({ name: 'contactTypeId' }),
77
+ __metadata("design:type", ContactTypeEntity_1.ContactTypeEntity)
78
+ ], ContactEntity.prototype, "contactType", void 0);
79
+ __decorate([
80
+ (0, typeorm_1.OneToOne)(() => ContactOwnerEntity_1.ContactOwnerEntity, (member) => member.contact, {
81
+ cascade: true,
82
+ onDelete: 'CASCADE',
83
+ eager: true,
84
+ nullable: false,
85
+ }),
86
+ __metadata("design:type", ContactOwnerEntity_1.ContactOwnerEntity)
87
+ ], ContactEntity.prototype, "contactOwner", void 0);
88
+ __decorate([
89
+ (0, typeorm_1.OneToMany)(() => ContactRelationshipEntity_1.ContactRelationshipEntity, (relationship) => relationship.left, {
90
+ cascade: true,
91
+ onDelete: 'CASCADE',
92
+ eager: true,
93
+ nullable: false,
94
+ }),
95
+ (0, typeorm_1.JoinColumn)({ name: 'relationshipId' }),
96
+ __metadata("design:type", Array)
97
+ ], ContactEntity.prototype, "relationships", void 0);
68
98
  __decorate([
69
99
  (0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false }),
70
100
  __metadata("design:type", Date)
@@ -81,7 +111,7 @@ __decorate([
81
111
  __metadata("design:type", Function),
82
112
  __metadata("design:paramtypes", []),
83
113
  __metadata("design:returntype", void 0)
84
- ], ContactEntity.prototype, "updateUpdatedDate", null);
114
+ ], ContactEntity.prototype, "updateLastUpdatedDate", null);
85
115
  __decorate([
86
116
  (0, typeorm_1.BeforeInsert)(),
87
117
  (0, typeorm_1.BeforeUpdate)(),
@@ -93,13 +123,56 @@ ContactEntity = __decorate([
93
123
  (0, typeorm_1.Entity)('Contact')
94
124
  ], ContactEntity);
95
125
  exports.ContactEntity = ContactEntity;
96
- const contactEntityFrom = (args) => {
126
+ const contactEntityFrom = (contact) => {
97
127
  const contactEntity = new ContactEntity();
98
- contactEntity.name = args.name;
99
- contactEntity.alias = args.alias;
100
- contactEntity.uri = args.uri;
101
- contactEntity.identities = args.identities ? args.identities.map((identity) => (0, IdentityEntity_1.identityEntityFrom)(identity)) : [];
128
+ contactEntity.uri = contact.uri;
129
+ contactEntity.identities = contact.identities ? contact.identities.map((identity) => (0, IdentityEntity_1.identityEntityFrom)(identity)) : [];
130
+ contactEntity.contactType = (0, ContactTypeEntity_1.contactTypeEntityFrom)(contact.contactType);
131
+ contactEntity.contactOwner = (0, exports.contactOwnerEntityFrom)(contact.contactOwner);
102
132
  return contactEntity;
103
133
  };
104
134
  exports.contactEntityFrom = contactEntityFrom;
135
+ const contactFrom = (contact) => {
136
+ var _a, _b;
137
+ return {
138
+ id: contact.id,
139
+ uri: contact.uri,
140
+ roles: (_b = [...new Set((_a = contact.identities) === null || _a === void 0 ? void 0 : _a.flatMap((identity) => identity.roles))]) !== null && _b !== void 0 ? _b : [],
141
+ identities: contact.identities ? contact.identities.map((identity) => (0, IdentityEntity_1.identityFrom)(identity)) : [],
142
+ relationships: contact.relationships
143
+ ? contact.relationships.map((relationship) => (0, ContactRelationshipEntity_1.contactRelationshipFrom)(relationship))
144
+ : [],
145
+ contactType: (0, ContactTypeEntity_1.contactTypeFrom)(contact.contactType),
146
+ contactOwner: (0, exports.contactOwnerFrom)(contact.contactOwner),
147
+ createdAt: contact.createdAt,
148
+ lastUpdatedAt: contact.lastUpdatedAt,
149
+ };
150
+ };
151
+ exports.contactFrom = contactFrom;
152
+ // TODO move
153
+ const contactOwnerEntityFrom = (owner) => {
154
+ if (isPerson(owner)) {
155
+ return (0, PersonEntity_1.personEntityFrom)(owner);
156
+ }
157
+ else if (isOrganization(owner)) {
158
+ return (0, OrganizationEntity_1.organizationEntityFrom)(owner);
159
+ }
160
+ throw new Error('Owner type not supported');
161
+ };
162
+ exports.contactOwnerEntityFrom = contactOwnerEntityFrom;
163
+ const contactOwnerFrom = (owner) => {
164
+ if (isPerson(owner)) {
165
+ // @ts-ignore
166
+ return (0, PersonEntity_1.personFrom)(owner);
167
+ }
168
+ else if (isOrganization(owner)) {
169
+ // @ts-ignore
170
+ return (0, OrganizationEntity_1.organizationFrom)(owner);
171
+ }
172
+ throw new Error('Owner type not supported');
173
+ };
174
+ exports.contactOwnerFrom = contactOwnerFrom;
175
+ // TODO move?
176
+ const isPerson = (owner) => 'firstName' in owner && 'middleName' in owner && 'lastName' in owner;
177
+ const isOrganization = (owner) => 'legalName' in owner && 'cocNumber' in owner;
105
178
  //# sourceMappingURL=ContactEntity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContactEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ContactEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContactEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ContactEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { BaseEntity } from 'typeorm';
2
+ import { ContactEntity } from './ContactEntity';
3
+ export declare abstract class ContactOwnerEntity extends BaseEntity {
4
+ id: string;
5
+ createdAt: Date;
6
+ lastUpdatedAt: Date;
7
+ contact: ContactEntity;
8
+ }
9
+ //# sourceMappingURL=ContactOwnerEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactOwnerEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ContactOwnerEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8G,MAAM,SAAS,CAAA;AAChJ,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,8BAEsB,kBAAmB,SAAQ,UAAU;IAEzD,EAAE,EAAG,MAAM,CAAA;IAGX,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAMpB,OAAO,EAAG,aAAa,CAAA;CACxB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.ContactOwnerEntity = void 0;
13
+ const typeorm_1 = require("typeorm");
14
+ const ContactEntity_1 = require("./ContactEntity");
15
+ let ContactOwnerEntity = class ContactOwnerEntity extends typeorm_1.BaseEntity {
16
+ };
17
+ __decorate([
18
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
19
+ __metadata("design:type", String)
20
+ ], ContactOwnerEntity.prototype, "id", void 0);
21
+ __decorate([
22
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false }),
23
+ __metadata("design:type", Date)
24
+ ], ContactOwnerEntity.prototype, "createdAt", void 0);
25
+ __decorate([
26
+ (0, typeorm_1.UpdateDateColumn)({ name: 'last_updated_at', nullable: false }),
27
+ __metadata("design:type", Date)
28
+ ], ContactOwnerEntity.prototype, "lastUpdatedAt", void 0);
29
+ __decorate([
30
+ (0, typeorm_1.OneToOne)(() => ContactEntity_1.ContactEntity, (contact) => contact.contactOwner, {
31
+ onDelete: 'CASCADE',
32
+ }),
33
+ (0, typeorm_1.JoinColumn)({ name: 'contactId' }),
34
+ __metadata("design:type", ContactEntity_1.ContactEntity)
35
+ ], ContactOwnerEntity.prototype, "contact", void 0);
36
+ ContactOwnerEntity = __decorate([
37
+ (0, typeorm_1.Entity)('ContactOwner'),
38
+ (0, typeorm_1.TableInheritance)({ column: { type: 'varchar', name: 'type' } })
39
+ ], ContactOwnerEntity);
40
+ exports.ContactOwnerEntity = ContactOwnerEntity;
41
+ //# sourceMappingURL=ContactOwnerEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactOwnerEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ContactOwnerEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgJ;AAChJ,mDAA+C;AAIxC,IAAe,kBAAkB,GAAjC,MAAe,kBAAmB,SAAQ,oBAAU;CAe1D,CAAA;AAdC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;8CACpB;AAEX;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC9C,IAAI;qDAAA;AAEhB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC/C,IAAI;yDAAA;AAEpB;IAAC,IAAA,kBAAQ,EAAC,GAAG,EAAE,CAAC,6BAAa,EAAE,CAAC,OAAsB,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,EAAE;QAC/E,QAAQ,EAAE,SAAS;KACpB,CAAC;IACD,IAAA,oBAAU,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;8BACxB,6BAAa;mDAAA;AAdH,kBAAkB;IAFvC,IAAA,gBAAM,EAAC,cAAc,CAAC;IACtB,IAAA,0BAAgB,EAAC,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;GAC1C,kBAAkB,CAevC;AAfqB,gDAAkB"}
@@ -0,0 +1,18 @@
1
+ import { ContactEntity } from './ContactEntity';
2
+ import { IContactRelationship } from '../../types';
3
+ export declare class ContactRelationshipEntity {
4
+ id: string;
5
+ left: ContactEntity;
6
+ leftId: string;
7
+ right: ContactEntity;
8
+ rightId: string;
9
+ createdAt: Date;
10
+ lastUpdatedAt: Date;
11
+ checkRelationshipSides(): Promise<void>;
12
+ }
13
+ export declare const contactRelationshipEntityFrom: (relationship: {
14
+ left: ContactEntity;
15
+ right: ContactEntity;
16
+ }) => ContactRelationshipEntity;
17
+ export declare const contactRelationshipFrom: (relationship: ContactRelationshipEntity) => IContactRelationship;
18
+ //# sourceMappingURL=ContactRelationshipEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactRelationshipEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ContactRelationshipEntity.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AAElD,qBAGa,yBAAyB;IAEpC,EAAE,EAAG,MAAM,CAAA;IAOX,IAAI,EAAG,aAAa,CAAA;IAGpB,MAAM,EAAG,MAAM,CAAA;IAOf,KAAK,EAAG,aAAa,CAAA;IAGrB,OAAO,EAAG,MAAM,CAAA;IAGhB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAId,sBAAsB,IAAI,OAAO,CAAC,IAAI,CAAC;CAK9C;AAGD,eAAO,MAAM,6BAA6B,iBAAkB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,aAAa,CAAA;CAAE,KAAG,yBAO3G,CAAA;AAED,eAAO,MAAM,uBAAuB,iBAAkB,yBAAyB,KAAG,oBASjF,CAAA"}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
12
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
13
+ return new (P || (P = Promise))(function (resolve, reject) {
14
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
15
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ exports.contactRelationshipFrom = exports.contactRelationshipEntityFrom = exports.ContactRelationshipEntity = void 0;
22
+ const typeorm_1 = require("typeorm");
23
+ const ContactEntity_1 = require("./ContactEntity");
24
+ let ContactRelationshipEntity = class ContactRelationshipEntity {
25
+ checkRelationshipSides() {
26
+ return __awaiter(this, void 0, void 0, function* () {
27
+ if (this.left.id === this.right.id) {
28
+ return Promise.reject(Error('Cannot use the same id for both sides of the relationship'));
29
+ }
30
+ });
31
+ }
32
+ };
33
+ __decorate([
34
+ (0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
35
+ __metadata("design:type", String)
36
+ ], ContactRelationshipEntity.prototype, "id", void 0);
37
+ __decorate([
38
+ (0, typeorm_1.ManyToOne)(() => ContactEntity_1.ContactEntity, {
39
+ nullable: false,
40
+ onDelete: 'CASCADE',
41
+ })
42
+ // @JoinColumn({ name: 'left_contact_id' })
43
+ ,
44
+ __metadata("design:type", ContactEntity_1.ContactEntity)
45
+ ], ContactRelationshipEntity.prototype, "left", void 0);
46
+ __decorate([
47
+ (0, typeorm_1.Column)({ name: 'leftId', nullable: false }),
48
+ __metadata("design:type", String)
49
+ ], ContactRelationshipEntity.prototype, "leftId", void 0);
50
+ __decorate([
51
+ (0, typeorm_1.ManyToOne)(() => ContactEntity_1.ContactEntity, {
52
+ nullable: false,
53
+ onDelete: 'CASCADE',
54
+ })
55
+ // @JoinColumn({ name: 'right_contact_id' })
56
+ ,
57
+ __metadata("design:type", ContactEntity_1.ContactEntity)
58
+ ], ContactRelationshipEntity.prototype, "right", void 0);
59
+ __decorate([
60
+ (0, typeorm_1.Column)({ name: 'rightId', nullable: false }),
61
+ __metadata("design:type", String)
62
+ ], ContactRelationshipEntity.prototype, "rightId", void 0);
63
+ __decorate([
64
+ (0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false }),
65
+ __metadata("design:type", Date)
66
+ ], ContactRelationshipEntity.prototype, "createdAt", void 0);
67
+ __decorate([
68
+ (0, typeorm_1.UpdateDateColumn)({ name: 'last_updated_at', nullable: false }),
69
+ __metadata("design:type", Date)
70
+ ], ContactRelationshipEntity.prototype, "lastUpdatedAt", void 0);
71
+ __decorate([
72
+ (0, typeorm_1.BeforeInsert)(),
73
+ (0, typeorm_1.BeforeUpdate)(),
74
+ __metadata("design:type", Function),
75
+ __metadata("design:paramtypes", []),
76
+ __metadata("design:returntype", Promise)
77
+ ], ContactRelationshipEntity.prototype, "checkRelationshipSides", null);
78
+ ContactRelationshipEntity = __decorate([
79
+ (0, typeorm_1.Entity)()
80
+ // @Index(['leftContactId', 'rightContactId'], { unique: true }) // TODO name\
81
+ ,
82
+ (0, typeorm_1.Index)(['left', 'right'], { unique: true }) // TODO name
83
+ ], ContactRelationshipEntity);
84
+ exports.ContactRelationshipEntity = ContactRelationshipEntity;
85
+ // TODO interface
86
+ const contactRelationshipEntityFrom = (relationship) => {
87
+ // TODO convert IContact to ContactEntity here
88
+ const contactRelationshipEntity = new ContactRelationshipEntity();
89
+ contactRelationshipEntity.left = relationship.left;
90
+ contactRelationshipEntity.right = relationship.right;
91
+ return contactRelationshipEntity;
92
+ };
93
+ exports.contactRelationshipEntityFrom = contactRelationshipEntityFrom;
94
+ const contactRelationshipFrom = (relationship) => {
95
+ return {
96
+ id: relationship.id,
97
+ leftContactId: relationship.leftId,
98
+ rightContactId: relationship.rightId,
99
+ createdAt: relationship.createdAt,
100
+ lastUpdatedAt: relationship.lastUpdatedAt,
101
+ };
102
+ // TODO convert IContact to ContactEntity here
103
+ };
104
+ exports.contactRelationshipFrom = contactRelationshipFrom;
105
+ //# sourceMappingURL=ContactRelationshipEntity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactRelationshipEntity.js","sourceRoot":"","sources":["../../../src/entities/contact/ContactRelationshipEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA,qCAWgB;AAChB,mDAA+C;AAMxC,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IAgC9B,sBAAsB;;YAC1B,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE;gBAClC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC,CAAA;aAC1F;QACH,CAAC;KAAA;CACF,CAAA;AApCC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;qDACpB;AAEX;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAa,EAAE;QAC9B,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS;KACpB,CAAC;IACF,2CAA2C;;8BACpC,6BAAa;uDAAA;AAEpB;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;yDAC7B;AAEf;IAAC,IAAA,mBAAS,EAAC,GAAG,EAAE,CAAC,6BAAa,EAAE;QAC9B,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,SAAS;KACpB,CAAC;IACF,4CAA4C;;8BACpC,6BAAa;wDAAA;AAErB;IAAC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0DAC7B;AAEhB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC9C,IAAI;4DAAA;AAEhB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC/C,IAAI;gEAAA;AAId;IAFL,IAAA,sBAAY,GAAE;IACd,IAAA,sBAAY,GAAE;;;;uEAKd;AApCU,yBAAyB;IAHrC,IAAA,gBAAM,GAAE;IACT,8EAA8E;;IAC7E,IAAA,eAAK,EAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,YAAY;GAC3C,yBAAyB,CAqCrC;AArCY,8DAAyB;AAuCtC,iBAAiB;AACV,MAAM,6BAA6B,GAAG,CAAC,YAA2D,EAA6B,EAAE;IACtI,8CAA8C;IAE9C,MAAM,yBAAyB,GAA8B,IAAI,yBAAyB,EAAE,CAAA;IAC5F,yBAAyB,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAA;IAClD,yBAAyB,CAAC,KAAK,GAAG,YAAY,CAAC,KAAK,CAAA;IACpD,OAAO,yBAAyB,CAAA;AAClC,CAAC,CAAA;AAPY,QAAA,6BAA6B,iCAOzC;AAEM,MAAM,uBAAuB,GAAG,CAAC,YAAuC,EAAwB,EAAE;IACvG,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,EAAE;QACnB,aAAa,EAAE,YAAY,CAAC,MAAM;QAClC,cAAc,EAAE,YAAY,CAAC,OAAO;QACpC,SAAS,EAAE,YAAY,CAAC,SAAS;QACjC,aAAa,EAAE,YAAY,CAAC,aAAa;KAC1C,CAAA;IACD,8CAA8C;AAChD,CAAC,CAAA;AATY,QAAA,uBAAuB,2BASnC"}
@@ -0,0 +1,16 @@
1
+ import { ContactEntity } from './ContactEntity';
2
+ import { BasicContactType, ContactTypeEnum, IContactType } from '../../types';
3
+ export declare class ContactTypeEntity {
4
+ id: string;
5
+ type: ContactTypeEnum;
6
+ name: string;
7
+ description?: string;
8
+ tenantId: string;
9
+ contacts: Array<ContactEntity>;
10
+ createdAt: Date;
11
+ lastUpdatedAt: Date;
12
+ validate(): Promise<void>;
13
+ }
14
+ export declare const contactTypeEntityFrom: (args: BasicContactType) => ContactTypeEntity;
15
+ export declare const contactTypeFrom: (contactType: ContactTypeEntity) => IContactType;
16
+ //# sourceMappingURL=ContactTypeEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ContactTypeEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/contact/ContactTypeEntity.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,YAAY,EAAwB,MAAM,aAAa,CAAA;AAKnG,qBAEa,iBAAiB;IAE5B,EAAE,EAAG,MAAM,CAAA;IAGX,IAAI,EAAG,eAAe,CAAA;IAItB,IAAI,EAAG,MAAM,CAAA;IAIb,WAAW,CAAC,EAAE,MAAM,CAAA;IAKpB,QAAQ,EAAG,MAAM,CAAA;IASjB,QAAQ,EAAG,KAAK,CAAC,aAAa,CAAC,CAAA;IAG/B,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAId,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAUhC;AAED,eAAO,MAAM,qBAAqB,SAAU,gBAAgB,KAAG,iBAS9D,CAAA;AAED,eAAO,MAAM,eAAe,gBAAiB,iBAAiB,KAAG,YAUhE,CAAA"}