@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.
- package/dist/contact/AbstractContactStore.d.ts +12 -2
- package/dist/contact/AbstractContactStore.d.ts.map +1 -1
- package/dist/contact/AbstractContactStore.js.map +1 -1
- package/dist/contact/ContactStore.d.ts +12 -10
- package/dist/contact/ContactStore.d.ts.map +1 -1
- package/dist/contact/ContactStore.js +182 -101
- package/dist/contact/ContactStore.js.map +1 -1
- package/dist/entities/contact/BaseConfigEntity.d.ts +8 -0
- package/dist/entities/contact/BaseConfigEntity.d.ts.map +1 -1
- package/dist/entities/contact/BaseConfigEntity.js +41 -1
- package/dist/entities/contact/BaseConfigEntity.js.map +1 -1
- package/dist/entities/contact/ConnectionEntity.d.ts +2 -1
- package/dist/entities/contact/ConnectionEntity.d.ts.map +1 -1
- package/dist/entities/contact/ConnectionEntity.js +18 -10
- package/dist/entities/contact/ConnectionEntity.js.map +1 -1
- package/dist/entities/contact/ContactEntity.d.ts +13 -6
- package/dist/entities/contact/ContactEntity.d.ts.map +1 -1
- package/dist/entities/contact/ContactEntity.js +93 -20
- package/dist/entities/contact/ContactEntity.js.map +1 -1
- package/dist/entities/contact/ContactOwnerEntity.d.ts +9 -0
- package/dist/entities/contact/ContactOwnerEntity.d.ts.map +1 -0
- package/dist/entities/contact/ContactOwnerEntity.js +41 -0
- package/dist/entities/contact/ContactOwnerEntity.js.map +1 -0
- package/dist/entities/contact/ContactRelationshipEntity.d.ts +18 -0
- package/dist/entities/contact/ContactRelationshipEntity.d.ts.map +1 -0
- package/dist/entities/contact/ContactRelationshipEntity.js +105 -0
- package/dist/entities/contact/ContactRelationshipEntity.js.map +1 -0
- package/dist/entities/contact/ContactTypeEntity.d.ts +16 -0
- package/dist/entities/contact/ContactTypeEntity.d.ts.map +1 -0
- package/dist/entities/contact/ContactTypeEntity.js +118 -0
- package/dist/entities/contact/ContactTypeEntity.js.map +1 -0
- package/dist/entities/contact/CorrelationIdentifierEntity.d.ts +3 -2
- package/dist/entities/contact/CorrelationIdentifierEntity.d.ts.map +1 -1
- package/dist/entities/contact/CorrelationIdentifierEntity.js +15 -3
- package/dist/entities/contact/CorrelationIdentifierEntity.js.map +1 -1
- package/dist/entities/contact/DidAuthConfigEntity.d.ts.map +1 -1
- package/dist/entities/contact/DidAuthConfigEntity.js.map +1 -1
- package/dist/entities/contact/IdentityEntity.d.ts +4 -3
- package/dist/entities/contact/IdentityEntity.d.ts.map +1 -1
- package/dist/entities/contact/IdentityEntity.js +13 -5
- package/dist/entities/contact/IdentityEntity.js.map +1 -1
- package/dist/entities/contact/IdentityMetadataItemEntity.d.ts +3 -2
- package/dist/entities/contact/IdentityMetadataItemEntity.d.ts.map +1 -1
- package/dist/entities/contact/IdentityMetadataItemEntity.js +15 -3
- package/dist/entities/contact/IdentityMetadataItemEntity.js.map +1 -1
- package/dist/entities/contact/OpenIdConfigEntity.js.map +1 -1
- package/dist/entities/contact/OrganizationEntity.d.ts +13 -0
- package/dist/entities/contact/OrganizationEntity.d.ts.map +1 -0
- package/dist/entities/contact/OrganizationEntity.js +92 -0
- package/dist/entities/contact/OrganizationEntity.js.map +1 -0
- package/dist/entities/contact/PersonEntity.d.ts +12 -0
- package/dist/entities/contact/PersonEntity.d.ts.map +1 -0
- package/dist/entities/contact/PersonEntity.js +93 -0
- package/dist/entities/contact/PersonEntity.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -1
- package/dist/index.js.map +1 -1
- package/dist/types/contact/IAbstractContactStore.d.ts +41 -8
- package/dist/types/contact/IAbstractContactStore.d.ts.map +1 -1
- package/dist/types/contact/contact.d.ts +86 -4
- package/dist/types/contact/contact.d.ts.map +1 -1
- package/dist/types/contact/contact.js +6 -1
- package/dist/types/contact/contact.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +1 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/validation/validation.d.ts +4 -0
- package/dist/types/validation/validation.d.ts.map +1 -0
- package/dist/types/validation/validation.js +3 -0
- package/dist/types/validation/validation.js.map +1 -0
- package/dist/utils/ValidatorUtils.d.ts +4 -0
- package/dist/utils/ValidatorUtils.d.ts.map +1 -0
- package/dist/utils/ValidatorUtils.js +13 -0
- package/dist/utils/ValidatorUtils.js.map +1 -0
- package/package.json +3 -3
- package/src/__tests__/contact.entities.test.ts +1530 -156
- package/src/__tests__/contact.store.test.ts +687 -236
- package/src/contact/AbstractContactStore.ts +26 -1
- package/src/contact/ContactStore.ts +269 -154
- package/src/entities/contact/BaseConfigEntity.ts +45 -0
- package/src/entities/contact/ConnectionEntity.ts +20 -12
- package/src/entities/contact/ContactEntity.ts +105 -21
- package/src/entities/contact/ContactOwnerEntity.ts +21 -0
- package/src/entities/contact/ContactRelationshipEntity.ts +77 -0
- package/src/entities/contact/ContactTypeEntity.ts +91 -0
- package/src/entities/contact/CorrelationIdentifierEntity.ts +17 -5
- package/src/entities/contact/DidAuthConfigEntity.ts +2 -1
- package/src/entities/contact/IdentityEntity.ts +26 -9
- package/src/entities/contact/IdentityMetadataItemEntity.ts +17 -5
- package/src/entities/contact/OpenIdConfigEntity.ts +1 -1
- package/src/entities/contact/OrganizationEntity.ts +60 -0
- package/src/entities/contact/PersonEntity.ts +60 -0
- package/src/index.ts +14 -0
- package/src/types/contact/IAbstractContactStore.ts +64 -9
- package/src/types/contact/contact.ts +86 -4
- package/src/types/index.ts +1 -0
- package/src/types/validation/validation.ts +3 -0
- 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;
|
|
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,
|
|
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.
|
|
52
|
+
connectionEntity.config = configEntityFrom(connection.config);
|
|
53
53
|
return connectionEntity;
|
|
54
54
|
};
|
|
55
55
|
exports.connectionEntityFrom = connectionEntityFrom;
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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,
|
|
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
|
-
|
|
13
|
-
validate(): Promise<
|
|
16
|
+
updateLastUpdatedDate(): void;
|
|
17
|
+
validate(): Promise<void>;
|
|
14
18
|
}
|
|
15
|
-
export declare const contactEntityFrom: (
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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, "
|
|
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 = (
|
|
126
|
+
const contactEntityFrom = (contact) => {
|
|
97
127
|
const contactEntity = new ContactEntity();
|
|
98
|
-
contactEntity.
|
|
99
|
-
contactEntity.
|
|
100
|
-
contactEntity.
|
|
101
|
-
contactEntity.
|
|
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":";;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
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"}
|