@sphereon/ssi-sdk.data-store 0.28.1-next.5 → 0.28.1-next.50
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/digitalCredential/AbstractDigitalCredentialStore.d.ts +4 -4
- package/dist/digitalCredential/AbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.d.ts +4 -4
- package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js +6 -6
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/entities/contact/ConnectionEntity.js +2 -2
- package/dist/entities/contact/ConnectionEntity.js.map +1 -1
- package/dist/entities/contact/ContactMetadataItemEntity.js +5 -5
- package/dist/entities/contact/ContactMetadataItemEntity.js.map +1 -1
- package/dist/entities/contact/CorrelationIdentifierEntity.js +2 -2
- package/dist/entities/contact/CorrelationIdentifierEntity.js.map +1 -1
- package/dist/entities/contact/DidAuthConfigEntity.js +5 -5
- package/dist/entities/contact/DidAuthConfigEntity.js.map +1 -1
- package/dist/entities/contact/ElectronicAddressEntity.js +5 -5
- package/dist/entities/contact/ElectronicAddressEntity.js.map +1 -1
- package/dist/entities/contact/IdentityEntity.js +4 -4
- package/dist/entities/contact/IdentityEntity.js.map +1 -1
- package/dist/entities/contact/IdentityMetadataItemEntity.js +5 -5
- package/dist/entities/contact/IdentityMetadataItemEntity.js.map +1 -1
- package/dist/entities/contact/NaturalPersonEntity.js +6 -6
- package/dist/entities/contact/NaturalPersonEntity.js.map +1 -1
- package/dist/entities/contact/OpenIdConfigEntity.js +5 -5
- package/dist/entities/contact/OpenIdConfigEntity.js.map +1 -1
- package/dist/entities/contact/OrganizationEntity.js +4 -4
- package/dist/entities/contact/OrganizationEntity.js.map +1 -1
- package/dist/entities/contact/PartyEntity.js +3 -3
- package/dist/entities/contact/PartyEntity.js.map +1 -1
- package/dist/entities/contact/PartyRelationshipEntity.js +4 -4
- package/dist/entities/contact/PartyRelationshipEntity.js.map +1 -1
- package/dist/entities/contact/PartyTypeEntity.js +3 -3
- package/dist/entities/contact/PartyTypeEntity.js.map +1 -1
- package/dist/entities/contact/PhysicalAddressEntity.js +11 -11
- package/dist/entities/contact/PhysicalAddressEntity.js.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +3 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +9 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
- package/dist/entities/eventLogger/AuditEventEntity.js +9 -9
- package/dist/entities/eventLogger/AuditEventEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/BackgroundAttributesEntity.js +1 -1
- package/dist/entities/issuanceBranding/BackgroundAttributesEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/BaseLocaleBrandingEntity.js +3 -3
- package/dist/entities/issuanceBranding/BaseLocaleBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/CredentialBrandingEntity.js +2 -2
- package/dist/entities/issuanceBranding/CredentialBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.js +1 -1
- package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/ImageAttributesEntity.js +4 -4
- package/dist/entities/issuanceBranding/ImageAttributesEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/ImageDimensionsEntity.js +2 -2
- package/dist/entities/issuanceBranding/ImageDimensionsEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/IssuerBrandingEntity.js +1 -1
- package/dist/entities/issuanceBranding/IssuerBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.js +1 -1
- package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/TextAttributesEntity.js +1 -1
- package/dist/entities/issuanceBranding/TextAttributesEntity.js.map +1 -1
- package/dist/entities/machineState/MachineStateInfoEntity.js +4 -4
- package/dist/entities/machineState/MachineStateInfoEntity.js.map +1 -1
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js +5 -5
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js.map +1 -1
- package/dist/entities/statusList2021/StatusList2021Entity.js +1 -1
- package/dist/entities/statusList2021/StatusList2021Entity.js.map +1 -1
- package/dist/entities/statusList2021/StatusList2021EntryEntity.js +5 -5
- package/dist/entities/statusList2021/StatusList2021EntryEntity.js.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +4 -0
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +2 -0
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js.map +1 -1
- package/dist/types/contact/contact.d.ts +1 -5
- package/dist/types/contact/contact.d.ts.map +1 -1
- package/dist/types/contact/contact.js +1 -7
- package/dist/types/contact/contact.js.map +1 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +2 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.d.ts +7 -0
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.js +7 -1
- package/dist/types/digitalCredential/digitalCredential.js.map +1 -1
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/package.json +6 -6
- package/src/__tests__/digitalCredential.entities.test.ts +7 -1
- package/src/__tests__/digitalCredential.store.test.ts +14 -2
- package/src/digitalCredential/AbstractDigitalCredentialStore.ts +4 -4
- package/src/digitalCredential/DigitalCredentialStore.ts +14 -10
- package/src/entities/contact/ConnectionEntity.ts +2 -2
- package/src/entities/contact/ContactMetadataItemEntity.ts +5 -5
- package/src/entities/contact/CorrelationIdentifierEntity.ts +2 -2
- package/src/entities/contact/DidAuthConfigEntity.ts +5 -5
- package/src/entities/contact/ElectronicAddressEntity.ts +5 -5
- package/src/entities/contact/IdentityEntity.ts +4 -4
- package/src/entities/contact/IdentityMetadataItemEntity.ts +5 -5
- package/src/entities/contact/NaturalPersonEntity.ts +6 -6
- package/src/entities/contact/OpenIdConfigEntity.ts +5 -5
- package/src/entities/contact/OrganizationEntity.ts +4 -4
- package/src/entities/contact/PartyEntity.ts +3 -3
- package/src/entities/contact/PartyRelationshipEntity.ts +4 -4
- package/src/entities/contact/PartyTypeEntity.ts +3 -3
- package/src/entities/contact/PhysicalAddressEntity.ts +11 -11
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +7 -0
- package/src/entities/eventLogger/AuditEventEntity.ts +9 -9
- package/src/entities/issuanceBranding/BackgroundAttributesEntity.ts +1 -1
- package/src/entities/issuanceBranding/BaseLocaleBrandingEntity.ts +3 -3
- package/src/entities/issuanceBranding/CredentialBrandingEntity.ts +2 -2
- package/src/entities/issuanceBranding/CredentialLocaleBrandingEntity.ts +1 -1
- package/src/entities/issuanceBranding/ImageAttributesEntity.ts +4 -4
- package/src/entities/issuanceBranding/ImageDimensionsEntity.ts +2 -2
- package/src/entities/issuanceBranding/IssuerBrandingEntity.ts +1 -1
- package/src/entities/issuanceBranding/IssuerLocaleBrandingEntity.ts +1 -1
- package/src/entities/issuanceBranding/TextAttributesEntity.ts +1 -1
- package/src/entities/machineState/MachineStateInfoEntity.ts +4 -4
- package/src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts +5 -5
- package/src/entities/statusList2021/StatusList2021Entity.ts +1 -1
- package/src/entities/statusList2021/StatusList2021EntryEntity.ts +5 -5
- package/src/index.ts +4 -0
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +4 -0
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +2 -0
- package/src/types/contact/contact.ts +1 -6
- package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +2 -1
- package/src/types/digitalCredential/digitalCredential.ts +8 -0
- package/src/types/index.ts +2 -0
- package/src/utils/digitalCredential/MappingUtils.ts +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm'
|
|
2
|
-
import { DataStoreDigitalCredentialEntities } from '../index'
|
|
2
|
+
import { CredentialRole, DataStoreDigitalCredentialEntities } from '../index'
|
|
3
3
|
import { DataStoreDigitalCredentialMigrations } from '../migrations'
|
|
4
4
|
import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity'
|
|
5
5
|
import {
|
|
@@ -43,6 +43,7 @@ describe('Database entities tests', (): void => {
|
|
|
43
43
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
44
44
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
45
45
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
46
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
46
47
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
47
48
|
}
|
|
48
49
|
|
|
@@ -69,6 +70,7 @@ describe('Database entities tests', (): void => {
|
|
|
69
70
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
70
71
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
71
72
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
73
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
72
74
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
73
75
|
})
|
|
74
76
|
expect(digitalCredential.documentType).toEqual(DocumentType.VC)
|
|
@@ -85,6 +87,7 @@ describe('Database entities tests', (): void => {
|
|
|
85
87
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
86
88
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
87
89
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
90
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
88
91
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
89
92
|
})
|
|
90
93
|
expect(digitalCredential.documentType).toEqual(DocumentType.VC)
|
|
@@ -128,6 +131,7 @@ describe('Database entities tests', (): void => {
|
|
|
128
131
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
129
132
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
130
133
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
134
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
131
135
|
})
|
|
132
136
|
expect(digitalCredential.documentType).toEqual(DocumentType.VC)
|
|
133
137
|
expect(digitalCredential.validFrom).toEqual(new Date('2022-01-07T11:54:12.000Z'))
|
|
@@ -225,6 +229,7 @@ describe('Database entities tests', (): void => {
|
|
|
225
229
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
226
230
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
227
231
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
232
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
228
233
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
229
234
|
})
|
|
230
235
|
expect(digitalCredential.documentType).toEqual(DocumentType.VP)
|
|
@@ -241,6 +246,7 @@ describe('Database entities tests', (): void => {
|
|
|
241
246
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
242
247
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
243
248
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
249
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
244
250
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
245
251
|
opts: {
|
|
246
252
|
hasher: (data, algorithm) => createHash(algorithm).update(data).digest(),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { DataSource } from 'typeorm'
|
|
2
2
|
import { DataStoreDigitalCredentialMigrations } from '../migrations'
|
|
3
|
-
import { DataStoreDigitalCredentialEntities } from '../index'
|
|
3
|
+
import { CredentialRole, DataStoreDigitalCredentialEntities } from '../index'
|
|
4
4
|
import { DigitalCredentialStore } from '../digitalCredential/DigitalCredentialStore'
|
|
5
5
|
import {
|
|
6
6
|
CredentialCorrelationType,
|
|
@@ -45,6 +45,7 @@ describe('Database entities tests', (): void => {
|
|
|
45
45
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
46
46
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
47
47
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
48
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
48
49
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
49
50
|
}
|
|
50
51
|
|
|
@@ -60,6 +61,7 @@ describe('Database entities tests', (): void => {
|
|
|
60
61
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
61
62
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
62
63
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
64
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
63
65
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
64
66
|
}
|
|
65
67
|
|
|
@@ -76,6 +78,7 @@ describe('Database entities tests', (): void => {
|
|
|
76
78
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
77
79
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
78
80
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
81
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
79
82
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
80
83
|
}
|
|
81
84
|
const addCredentialArgs2: AddCredentialArgs = {
|
|
@@ -85,6 +88,7 @@ describe('Database entities tests', (): void => {
|
|
|
85
88
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
86
89
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
87
90
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
91
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
88
92
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
89
93
|
}
|
|
90
94
|
|
|
@@ -105,6 +109,7 @@ describe('Database entities tests', (): void => {
|
|
|
105
109
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
106
110
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
107
111
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
112
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
108
113
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
109
114
|
}
|
|
110
115
|
|
|
@@ -148,11 +153,12 @@ describe('Database entities tests', (): void => {
|
|
|
148
153
|
}
|
|
149
154
|
const addCredentialArgs2: AddCredentialArgs = {
|
|
150
155
|
rawDocument: JSON.stringify(sampleVP),
|
|
151
|
-
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
152
156
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
153
157
|
issuerCorrelationId: 'did:example:holder',
|
|
154
158
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
155
159
|
subjectCorrelationId: 'did:example:holder',
|
|
160
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
161
|
+
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
156
162
|
}
|
|
157
163
|
const addCredentialArgs3: AddCredentialArgs = {
|
|
158
164
|
rawDocument:
|
|
@@ -161,6 +167,7 @@ describe('Database entities tests', (): void => {
|
|
|
161
167
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
162
168
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
163
169
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
170
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
164
171
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
165
172
|
opts: {
|
|
166
173
|
hasher: (data, algorithm) => createHash(algorithm).update(data).digest(),
|
|
@@ -191,6 +198,7 @@ describe('Database entities tests', (): void => {
|
|
|
191
198
|
const result3: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args3)
|
|
192
199
|
expect(result3.data.length).toEqual(3)
|
|
193
200
|
expect(result3.data[1].documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
|
|
201
|
+
expect(result3.data[1].credentialId).toEqual('ebc6f1c2')
|
|
194
202
|
})
|
|
195
203
|
|
|
196
204
|
it('should return no digital credentials if filter does not match', async (): Promise<void> => {
|
|
@@ -212,6 +220,7 @@ describe('Database entities tests', (): void => {
|
|
|
212
220
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
213
221
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
214
222
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
223
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
215
224
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
216
225
|
}
|
|
217
226
|
|
|
@@ -234,6 +243,7 @@ describe('Database entities tests', (): void => {
|
|
|
234
243
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
235
244
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
236
245
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
246
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
237
247
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
238
248
|
}
|
|
239
249
|
|
|
@@ -256,6 +266,7 @@ describe('Database entities tests', (): void => {
|
|
|
256
266
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
257
267
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
258
268
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
269
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
259
270
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
260
271
|
}
|
|
261
272
|
|
|
@@ -278,6 +289,7 @@ describe('Database entities tests', (): void => {
|
|
|
278
289
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
279
290
|
issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
280
291
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
292
|
+
credentialRole: CredentialRole.VERIFIER,
|
|
281
293
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
282
294
|
}
|
|
283
295
|
|
|
@@ -6,12 +6,12 @@ import {
|
|
|
6
6
|
RemoveCredentialArgs,
|
|
7
7
|
UpdateCredentialStateArgs,
|
|
8
8
|
} from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
9
|
-
import {
|
|
9
|
+
import { DigitalCredential } from '../types'
|
|
10
10
|
|
|
11
11
|
export abstract class AbstractDigitalCredentialStore {
|
|
12
|
-
abstract getCredential(args: GetCredentialArgs): Promise<
|
|
12
|
+
abstract getCredential(args: GetCredentialArgs): Promise<DigitalCredential>
|
|
13
13
|
abstract getCredentials(args?: GetCredentialsArgs): Promise<GetCredentialsResponse>
|
|
14
|
-
abstract addCredential(args: AddCredentialArgs): Promise<
|
|
15
|
-
abstract updateCredentialState(args: UpdateCredentialStateArgs): Promise<
|
|
14
|
+
abstract addCredential(args: AddCredentialArgs): Promise<DigitalCredential>
|
|
15
|
+
abstract updateCredentialState(args: UpdateCredentialStateArgs): Promise<DigitalCredential>
|
|
16
16
|
abstract removeCredential(args: RemoveCredentialArgs): Promise<boolean>
|
|
17
17
|
}
|
|
@@ -11,7 +11,11 @@ import { OrPromise } from '@sphereon/ssi-types'
|
|
|
11
11
|
import { DataSource, FindOptionsOrder, Repository } from 'typeorm'
|
|
12
12
|
import Debug from 'debug'
|
|
13
13
|
import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity'
|
|
14
|
-
import {
|
|
14
|
+
import {
|
|
15
|
+
digitalCredentialFrom,
|
|
16
|
+
digitalCredentialsFrom,
|
|
17
|
+
nonPersistedDigitalCredentialEntityFromAddArgs,
|
|
18
|
+
} from '../utils/digitalCredential/MappingUtils'
|
|
15
19
|
import { FindOptionsWhere } from 'typeorm/find-options/FindOptionsWhere'
|
|
16
20
|
import { CredentialStateType, DigitalCredential, NonPersistedDigitalCredential } from '../types/digitalCredential/digitalCredential'
|
|
17
21
|
import { parseAndValidateOrderOptions } from '../utils/SortingUtils'
|
|
@@ -26,23 +30,23 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
26
30
|
this.dbConnection = dbConnection
|
|
27
31
|
}
|
|
28
32
|
|
|
29
|
-
addCredential = async (args: AddCredentialArgs): Promise<
|
|
33
|
+
addCredential = async (args: AddCredentialArgs): Promise<DigitalCredential> => {
|
|
30
34
|
debug('Adding credential', args)
|
|
31
35
|
const digitalCredentialEntityRepository: Repository<DigitalCredentialEntity> = (await this.dbConnection).getRepository(DigitalCredentialEntity)
|
|
32
36
|
const credentialEntity: NonPersistedDigitalCredential = nonPersistedDigitalCredentialEntityFromAddArgs(args)
|
|
33
37
|
const createdResult: DigitalCredentialEntity = await digitalCredentialEntityRepository.save(credentialEntity)
|
|
34
|
-
return Promise.resolve(createdResult)
|
|
38
|
+
return Promise.resolve(digitalCredentialFrom(createdResult))
|
|
35
39
|
}
|
|
36
40
|
|
|
37
|
-
getCredential = async (args: GetCredentialArgs): Promise<
|
|
41
|
+
getCredential = async (args: GetCredentialArgs): Promise<DigitalCredential> => {
|
|
38
42
|
const result: DigitalCredentialEntity | null = await (await this.dbConnection).getRepository(DigitalCredentialEntity).findOne({
|
|
39
43
|
where: args,
|
|
40
44
|
})
|
|
41
45
|
|
|
42
46
|
if (!result) {
|
|
43
|
-
return Promise.reject(Error(`No credential found for arg: ${
|
|
47
|
+
return Promise.reject(Error(`No credential found for arg: ${JSON.stringify(args)}`))
|
|
44
48
|
}
|
|
45
|
-
return result
|
|
49
|
+
return digitalCredentialFrom(result)
|
|
46
50
|
}
|
|
47
51
|
|
|
48
52
|
getCredentials = async (args?: GetCredentialsArgs): Promise<GetCredentialsResponse> => {
|
|
@@ -58,7 +62,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
58
62
|
order: sortOptions,
|
|
59
63
|
})
|
|
60
64
|
return {
|
|
61
|
-
data: result,
|
|
65
|
+
data: digitalCredentialsFrom(result),
|
|
62
66
|
total,
|
|
63
67
|
}
|
|
64
68
|
}
|
|
@@ -87,7 +91,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
|
|
90
|
-
updateCredentialState = async (args: UpdateCredentialStateArgs): Promise<
|
|
94
|
+
updateCredentialState = async (args: UpdateCredentialStateArgs): Promise<DigitalCredential> => {
|
|
91
95
|
const credentialRepository: Repository<DigitalCredentialEntity> = (await this.dbConnection).getRepository(DigitalCredentialEntity)
|
|
92
96
|
const whereClause: Record<string, any> = {}
|
|
93
97
|
if ('id' in args) {
|
|
@@ -111,7 +115,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
111
115
|
})
|
|
112
116
|
|
|
113
117
|
if (!credential) {
|
|
114
|
-
return Promise.reject(Error(`No credential found for args: ${whereClause}`))
|
|
118
|
+
return Promise.reject(Error(`No credential found for args: ${JSON.stringify(whereClause)}`))
|
|
115
119
|
}
|
|
116
120
|
const updatedCredential: DigitalCredential = {
|
|
117
121
|
...credential,
|
|
@@ -122,6 +126,6 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
122
126
|
}
|
|
123
127
|
debug('Updating credential', credential)
|
|
124
128
|
const updatedResult: DigitalCredentialEntity = await credentialRepository.save(updatedCredential, { transaction: true })
|
|
125
|
-
return updatedResult
|
|
129
|
+
return digitalCredentialFrom(updatedResult)
|
|
126
130
|
}
|
|
127
131
|
}
|
|
@@ -13,10 +13,10 @@ export class ConnectionEntity extends BaseEntity {
|
|
|
13
13
|
@Column('simple-enum', { name: 'type', enum: ConnectionType, nullable: false })
|
|
14
14
|
type!: ConnectionType
|
|
15
15
|
|
|
16
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
16
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
17
17
|
tenantId?: string
|
|
18
18
|
|
|
19
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
19
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
20
20
|
ownerId?: string
|
|
21
21
|
|
|
22
22
|
@OneToOne(() => BaseConfigEntity, (config: OpenIdConfigEntity | DidAuthConfigEntity) => config.connection, {
|
|
@@ -9,24 +9,24 @@ export class ContactMetadataItemEntity extends BaseEntity implements IMetadataEn
|
|
|
9
9
|
@PrimaryGeneratedColumn('uuid')
|
|
10
10
|
id!: string
|
|
11
11
|
|
|
12
|
-
@Column({ name: 'label', length: 255, nullable: false })
|
|
12
|
+
@Column('varchar', { name: 'label', length: 255, nullable: false })
|
|
13
13
|
@IsNotEmpty({ message: 'Blank metadata labels are not allowed' })
|
|
14
14
|
label!: string
|
|
15
15
|
|
|
16
|
-
@Column({ name: 'valueType', nullable: false })
|
|
16
|
+
@Column('varchar', { name: 'valueType', nullable: false })
|
|
17
17
|
@IsNotEmpty({ message: 'valueType must not be empty' })
|
|
18
18
|
valueType!: string
|
|
19
19
|
|
|
20
|
-
@Column({ name: 'stringValue', length: 255, nullable: true })
|
|
20
|
+
@Column('varchar', { name: 'stringValue', length: 255, nullable: true })
|
|
21
21
|
stringValue?: string
|
|
22
22
|
|
|
23
|
-
@Column({ name: 'numberValue', nullable: true })
|
|
23
|
+
@Column('numeric', { name: 'numberValue', nullable: true })
|
|
24
24
|
numberValue?: number
|
|
25
25
|
|
|
26
26
|
@Column({ name: 'dateValue', nullable: true })
|
|
27
27
|
dateValue?: Date
|
|
28
28
|
|
|
29
|
-
@Column({ name: 'boolValue', nullable: true })
|
|
29
|
+
@Column('boolean', { name: 'boolValue', nullable: true })
|
|
30
30
|
boolValue?: boolean
|
|
31
31
|
|
|
32
32
|
@ManyToOne(() => BaseContactEntity, (contact: BaseContactEntity) => contact.metadata, {
|
|
@@ -16,10 +16,10 @@ export class CorrelationIdentifierEntity extends BaseEntity {
|
|
|
16
16
|
@IsNotEmpty({ message: 'Blank correlation ids are not allowed' })
|
|
17
17
|
correlationId!: string
|
|
18
18
|
|
|
19
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
19
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
20
20
|
ownerId?: string
|
|
21
21
|
|
|
22
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
22
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
23
23
|
tenantId?: string
|
|
24
24
|
|
|
25
25
|
@OneToOne(() => IdentityEntity, (identity: IdentityEntity) => identity.identifier, {
|
|
@@ -3,18 +3,18 @@ import { BaseConfigEntity } from './BaseConfigEntity'
|
|
|
3
3
|
|
|
4
4
|
@ChildEntity('DidAuthConfig')
|
|
5
5
|
export class DidAuthConfigEntity extends BaseConfigEntity {
|
|
6
|
-
@Column({ name: 'identifier', length: 255, nullable: false })
|
|
6
|
+
@Column('varchar', { name: 'identifier', length: 255, nullable: false })
|
|
7
7
|
identifier!: string
|
|
8
8
|
|
|
9
|
-
@Column({ name: 'redirect_url', length: 255, nullable: false })
|
|
9
|
+
@Column('varchar', { name: 'redirect_url', length: 255, nullable: false })
|
|
10
10
|
redirectUrl!: string
|
|
11
11
|
|
|
12
|
-
@Column({ name: 'session_id', length: 255, nullable: false })
|
|
12
|
+
@Column('varchar', { name: 'session_id', length: 255, nullable: false })
|
|
13
13
|
sessionId!: string
|
|
14
14
|
|
|
15
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
15
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
16
16
|
ownerId?: string
|
|
17
17
|
|
|
18
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
18
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
19
19
|
tenantId?: string
|
|
20
20
|
}
|
|
@@ -19,11 +19,11 @@ export class ElectronicAddressEntity extends BaseEntity {
|
|
|
19
19
|
@PrimaryGeneratedColumn('uuid')
|
|
20
20
|
id!: string
|
|
21
21
|
|
|
22
|
-
@Column({ name: 'type', length: 255, nullable: false })
|
|
22
|
+
@Column('varchar', { name: 'type', length: 255, nullable: false })
|
|
23
23
|
@IsNotEmpty({ message: 'Blank electronic address types are not allowed' })
|
|
24
24
|
type!: ElectronicAddressType
|
|
25
25
|
|
|
26
|
-
@Column({ name: 'electronic_address', length: 255, nullable: false })
|
|
26
|
+
@Column('varchar', { name: 'electronic_address', length: 255, nullable: false })
|
|
27
27
|
@IsNotEmpty({ message: 'Blank electronic addresses are not allowed' })
|
|
28
28
|
electronicAddress!: string
|
|
29
29
|
|
|
@@ -32,13 +32,13 @@ export class ElectronicAddressEntity extends BaseEntity {
|
|
|
32
32
|
})
|
|
33
33
|
party!: PartyEntity
|
|
34
34
|
|
|
35
|
-
@Column({ name: 'partyId', nullable: true })
|
|
35
|
+
@Column('text', { name: 'partyId', nullable: true })
|
|
36
36
|
partyId?: string
|
|
37
37
|
|
|
38
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
38
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
39
39
|
ownerId?: string
|
|
40
40
|
|
|
41
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
41
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
42
42
|
tenantId?: string
|
|
43
43
|
|
|
44
44
|
@CreateDateColumn({ name: 'created_at', nullable: false })
|
|
@@ -25,7 +25,7 @@ export class IdentityEntity extends BaseEntity {
|
|
|
25
25
|
@PrimaryGeneratedColumn('uuid')
|
|
26
26
|
id!: string
|
|
27
27
|
|
|
28
|
-
@Column({
|
|
28
|
+
@Column('varchar', {
|
|
29
29
|
name: 'alias',
|
|
30
30
|
length: 255,
|
|
31
31
|
nullable: false,
|
|
@@ -37,10 +37,10 @@ export class IdentityEntity extends BaseEntity {
|
|
|
37
37
|
@Column('simple-enum', { name: 'origin', enum: IdentityOrigin, nullable: false })
|
|
38
38
|
origin!: IdentityOrigin
|
|
39
39
|
|
|
40
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
40
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
41
41
|
ownerId?: string
|
|
42
42
|
|
|
43
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
43
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
44
44
|
tenantId?: string
|
|
45
45
|
|
|
46
46
|
@Column('simple-array', { name: 'roles', nullable: false })
|
|
@@ -81,7 +81,7 @@ export class IdentityEntity extends BaseEntity {
|
|
|
81
81
|
})
|
|
82
82
|
party!: PartyEntity
|
|
83
83
|
|
|
84
|
-
@Column({ name: 'partyId', nullable: true })
|
|
84
|
+
@Column('text', { name: 'partyId', nullable: true })
|
|
85
85
|
partyId?: string
|
|
86
86
|
|
|
87
87
|
// By default, @UpdateDateColumn in TypeORM updates the timestamp only when the entity's top-level properties change.
|
|
@@ -9,24 +9,24 @@ export class IdentityMetadataItemEntity extends BaseEntity implements IMetadataE
|
|
|
9
9
|
@PrimaryGeneratedColumn('uuid')
|
|
10
10
|
id!: string
|
|
11
11
|
|
|
12
|
-
@Column({ name: 'label', length: 255, nullable: false })
|
|
12
|
+
@Column('varchar', { name: 'label', length: 255, nullable: false })
|
|
13
13
|
@IsNotEmpty({ message: 'Blank metadata labels are not allowed' })
|
|
14
14
|
label!: string
|
|
15
15
|
|
|
16
|
-
@Column({ name: 'valueType', nullable: false })
|
|
16
|
+
@Column('varchar', { name: 'valueType', nullable: false })
|
|
17
17
|
@IsNotEmpty({ message: 'valueType must not be empty' })
|
|
18
18
|
valueType!: string
|
|
19
19
|
|
|
20
|
-
@Column({ name: 'stringValue', length: 255, nullable: true })
|
|
20
|
+
@Column('varchar', { name: 'stringValue', length: 255, nullable: true })
|
|
21
21
|
stringValue?: string
|
|
22
22
|
|
|
23
|
-
@Column({ name: 'numberValue', nullable: true })
|
|
23
|
+
@Column('numeric', { name: 'numberValue', nullable: true })
|
|
24
24
|
numberValue?: number
|
|
25
25
|
|
|
26
26
|
@Column({ name: 'dateValue', nullable: true })
|
|
27
27
|
dateValue?: Date
|
|
28
28
|
|
|
29
|
-
@Column({ name: 'boolValue', nullable: true })
|
|
29
|
+
@Column('boolean', { name: 'boolValue', nullable: true })
|
|
30
30
|
boolValue?: boolean
|
|
31
31
|
|
|
32
32
|
@ManyToOne(() => IdentityEntity, (identity: IdentityEntity) => identity.metadata, { cascade: ['insert', 'update'], onDelete: 'CASCADE' })
|
|
@@ -7,26 +7,26 @@ import { getConstraint } from '../../utils/ValidatorUtils'
|
|
|
7
7
|
|
|
8
8
|
@ChildEntity('NaturalPerson')
|
|
9
9
|
export class NaturalPersonEntity extends BaseContactEntity {
|
|
10
|
-
@Column({ name: 'first_name', length: 255, nullable: false, unique: false })
|
|
10
|
+
@Column('varchar', { name: 'first_name', length: 255, nullable: false, unique: false })
|
|
11
11
|
@IsNotEmpty({ message: 'Blank first names are not allowed' })
|
|
12
12
|
firstName!: string
|
|
13
13
|
|
|
14
|
-
@Column({ name: 'middle_name', length: 255, nullable: true, unique: false })
|
|
14
|
+
@Column('varchar', { name: 'middle_name', length: 255, nullable: true, unique: false })
|
|
15
15
|
@Validate(IsNonEmptyStringConstraint, { message: 'Blank middle names are not allowed' })
|
|
16
16
|
middleName?: string
|
|
17
17
|
|
|
18
|
-
@Column({ name: 'last_name', length: 255, nullable: false, unique: false })
|
|
18
|
+
@Column('varchar', { name: 'last_name', length: 255, nullable: false, unique: false })
|
|
19
19
|
@IsNotEmpty({ message: 'Blank last names are not allowed' })
|
|
20
20
|
lastName!: string
|
|
21
21
|
|
|
22
|
-
@Column({ name: 'display_name', length: 255, nullable: false, unique: false })
|
|
22
|
+
@Column('varchar', { name: 'display_name', length: 255, nullable: false, unique: false })
|
|
23
23
|
@IsNotEmpty({ message: 'Blank display names are not allowed' })
|
|
24
24
|
displayName!: string
|
|
25
25
|
|
|
26
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
26
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
27
27
|
ownerId?: string
|
|
28
28
|
|
|
29
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
29
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
30
30
|
tenantId?: string
|
|
31
31
|
|
|
32
32
|
@BeforeInsert()
|
|
@@ -3,16 +3,16 @@ import { BaseConfigEntity } from './BaseConfigEntity'
|
|
|
3
3
|
|
|
4
4
|
@ChildEntity('OpenIdConfig')
|
|
5
5
|
export class OpenIdConfigEntity extends BaseConfigEntity {
|
|
6
|
-
@Column({ name: 'client_id', length: 255, nullable: false })
|
|
6
|
+
@Column('varchar', { name: 'client_id', length: 255, nullable: false })
|
|
7
7
|
clientId!: string
|
|
8
8
|
|
|
9
|
-
@Column({ name: 'client_secret', length: 255, nullable: false })
|
|
9
|
+
@Column('varchar', { name: 'client_secret', length: 255, nullable: false })
|
|
10
10
|
clientSecret!: string
|
|
11
11
|
|
|
12
12
|
@Column('simple-array', { name: 'scopes', nullable: false })
|
|
13
13
|
scopes!: Array<string>
|
|
14
14
|
|
|
15
|
-
@Column({ name: 'issuer', length: 255, nullable: false })
|
|
15
|
+
@Column('varchar', { name: 'issuer', length: 255, nullable: false })
|
|
16
16
|
issuer!: string
|
|
17
17
|
|
|
18
18
|
@Column('text', { name: 'redirect_url', nullable: false })
|
|
@@ -24,9 +24,9 @@ export class OpenIdConfigEntity extends BaseConfigEntity {
|
|
|
24
24
|
@Column('text', { name: 'client_auth_method', nullable: false })
|
|
25
25
|
clientAuthMethod!: 'basic' | 'post' | undefined
|
|
26
26
|
|
|
27
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
27
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
28
28
|
ownerId?: string
|
|
29
29
|
|
|
30
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
30
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
31
31
|
tenantId?: string
|
|
32
32
|
}
|
|
@@ -7,18 +7,18 @@ import { getConstraint } from '../../utils/ValidatorUtils'
|
|
|
7
7
|
|
|
8
8
|
@ChildEntity('Organization')
|
|
9
9
|
export class OrganizationEntity extends BaseContactEntity {
|
|
10
|
-
@Column({ name: 'legal_name', length: 255, nullable: false, unique: true })
|
|
10
|
+
@Column('varchar', { name: 'legal_name', length: 255, nullable: false, unique: true })
|
|
11
11
|
@IsNotEmpty({ message: 'Blank legal names are not allowed' })
|
|
12
12
|
legalName!: string
|
|
13
13
|
|
|
14
|
-
@Column({ name: 'display_name', length: 255, nullable: false, unique: false })
|
|
14
|
+
@Column('varchar', { name: 'display_name', length: 255, nullable: false, unique: false })
|
|
15
15
|
@IsNotEmpty({ message: 'Blank display names are not allowed' })
|
|
16
16
|
displayName!: string
|
|
17
17
|
|
|
18
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
18
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
19
19
|
ownerId?: string
|
|
20
20
|
|
|
21
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
21
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
22
22
|
tenantId?: string
|
|
23
23
|
|
|
24
24
|
@OneToOne(() => PartyEntity)
|
|
@@ -27,13 +27,13 @@ export class PartyEntity extends BaseEntity {
|
|
|
27
27
|
@PrimaryGeneratedColumn('uuid')
|
|
28
28
|
id!: string
|
|
29
29
|
|
|
30
|
-
@Column({ name: 'uri', length: 255, nullable: true })
|
|
30
|
+
@Column('varchar', { name: 'uri', length: 255, nullable: true })
|
|
31
31
|
uri?: string
|
|
32
32
|
|
|
33
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
33
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
34
34
|
ownerId?: string
|
|
35
35
|
|
|
36
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
36
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
37
37
|
tenantId?: string
|
|
38
38
|
|
|
39
39
|
@OneToMany(() => IdentityEntity, (identity: IdentityEntity) => identity.party, {
|
|
@@ -25,7 +25,7 @@ export class PartyRelationshipEntity {
|
|
|
25
25
|
@JoinColumn({ name: 'left_id' })
|
|
26
26
|
left!: PartyEntity
|
|
27
27
|
|
|
28
|
-
@Column({ name: 'left_id', nullable: false })
|
|
28
|
+
@Column('text', { name: 'left_id', nullable: false })
|
|
29
29
|
leftId!: string
|
|
30
30
|
|
|
31
31
|
@ManyToOne(() => PartyEntity, {
|
|
@@ -35,13 +35,13 @@ export class PartyRelationshipEntity {
|
|
|
35
35
|
@JoinColumn({ name: 'right_id' })
|
|
36
36
|
right!: PartyEntity
|
|
37
37
|
|
|
38
|
-
@Column({ name: 'right_id', nullable: false })
|
|
38
|
+
@Column('text', { name: 'right_id', nullable: false })
|
|
39
39
|
rightId!: string
|
|
40
40
|
|
|
41
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
41
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
42
42
|
ownerId?: string
|
|
43
43
|
|
|
44
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
44
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
45
45
|
tenantId?: string
|
|
46
46
|
|
|
47
47
|
@CreateDateColumn({ name: 'created_at', nullable: false })
|
|
@@ -17,15 +17,15 @@ export class PartyTypeEntity {
|
|
|
17
17
|
@Column('simple-enum', { name: 'origin', enum: PartyOrigin, nullable: false, unique: false })
|
|
18
18
|
origin!: PartyOrigin
|
|
19
19
|
|
|
20
|
-
@Column({ name: 'name', length: 255, nullable: false, unique: true })
|
|
20
|
+
@Column('varchar', { name: 'name', length: 255, nullable: false, unique: true })
|
|
21
21
|
@IsNotEmpty({ message: 'Blank names are not allowed' })
|
|
22
22
|
name!: string
|
|
23
23
|
|
|
24
|
-
@Column({ name: 'description', length: 255, nullable: true })
|
|
24
|
+
@Column('varchar', { name: 'description', length: 255, nullable: true })
|
|
25
25
|
@Validate(IsNonEmptyStringConstraint, { message: 'Blank descriptions are not allowed' })
|
|
26
26
|
description?: string
|
|
27
27
|
|
|
28
|
-
@Column({ name: 'tenant_id', length: 255, nullable: true })
|
|
28
|
+
@Column({ name: 'tenant_id', type: 'varchar', length: 255, nullable: true })
|
|
29
29
|
@IsNotEmpty({ message: "Blank tenant id's are not allowed" })
|
|
30
30
|
tenantId!: string
|
|
31
31
|
|
|
@@ -20,42 +20,42 @@ export class PhysicalAddressEntity extends BaseEntity {
|
|
|
20
20
|
@PrimaryGeneratedColumn('uuid')
|
|
21
21
|
id!: string
|
|
22
22
|
|
|
23
|
-
@Column({ name: 'type', length: 255, nullable: false })
|
|
23
|
+
@Column('varchar', { name: 'type', length: 255, nullable: false })
|
|
24
24
|
@IsNotEmpty({ message: 'Blank physical address types are not allowed' })
|
|
25
25
|
type!: PhysicalAddressType
|
|
26
26
|
|
|
27
|
-
@Column({ name: 'street_name', length: 255, nullable: false })
|
|
27
|
+
@Column('varchar', { name: 'street_name', length: 255, nullable: false })
|
|
28
28
|
@IsNotEmpty({ message: 'Blank street names are not allowed' })
|
|
29
29
|
streetName!: string
|
|
30
30
|
|
|
31
|
-
@Column({ name: 'street_number', length: 255, nullable: false })
|
|
31
|
+
@Column('varchar', { name: 'street_number', length: 255, nullable: false })
|
|
32
32
|
@IsNotEmpty({ message: 'Blank street numbers are not allowed' })
|
|
33
33
|
streetNumber!: string
|
|
34
34
|
|
|
35
|
-
@Column({ name: 'postal_code', length: 255, nullable: false })
|
|
35
|
+
@Column('varchar', { name: 'postal_code', length: 255, nullable: false })
|
|
36
36
|
@IsNotEmpty({ message: 'Blank postal codes are not allowed' })
|
|
37
37
|
postalCode!: string
|
|
38
38
|
|
|
39
|
-
@Column({ name: 'city_name', length: 255, nullable: false })
|
|
39
|
+
@Column('varchar', { name: 'city_name', length: 255, nullable: false })
|
|
40
40
|
@IsNotEmpty({ message: 'Blank city names are not allowed' })
|
|
41
41
|
cityName!: string
|
|
42
42
|
|
|
43
|
-
@Column({ name: 'province_name', length: 255, nullable: false })
|
|
43
|
+
@Column('varchar', { name: 'province_name', length: 255, nullable: false })
|
|
44
44
|
@IsNotEmpty({ message: 'Blank province names are not allowed' })
|
|
45
45
|
provinceName!: string
|
|
46
46
|
|
|
47
|
-
@Column({ name: 'country_code', length: 2, nullable: false })
|
|
47
|
+
@Column('varchar', { name: 'country_code', length: 2, nullable: false })
|
|
48
48
|
@IsNotEmpty({ message: 'Blank country codes are not allowed' })
|
|
49
49
|
countryCode!: string
|
|
50
50
|
|
|
51
|
-
@Column({ name: 'building_name', length: 255, nullable: true })
|
|
51
|
+
@Column('varchar', { name: 'building_name', length: 255, nullable: true })
|
|
52
52
|
@Validate(IsNonEmptyStringConstraint, { message: 'Blank building names are not allowed' })
|
|
53
53
|
buildingName?: string
|
|
54
54
|
|
|
55
|
-
@Column({ name: 'owner_id', nullable: true })
|
|
55
|
+
@Column('text', { name: 'owner_id', nullable: true })
|
|
56
56
|
ownerId?: string
|
|
57
57
|
|
|
58
|
-
@Column({ name: 'tenant_id', nullable: true })
|
|
58
|
+
@Column('text', { name: 'tenant_id', nullable: true })
|
|
59
59
|
tenantId?: string
|
|
60
60
|
|
|
61
61
|
@ManyToOne(() => PartyEntity, (party: PartyEntity) => party.physicalAddresses, {
|
|
@@ -63,7 +63,7 @@ export class PhysicalAddressEntity extends BaseEntity {
|
|
|
63
63
|
})
|
|
64
64
|
party!: PartyEntity
|
|
65
65
|
|
|
66
|
-
@Column({ name: 'partyId', nullable: true })
|
|
66
|
+
@Column('text', { name: 'partyId', nullable: true })
|
|
67
67
|
partyId?: string
|
|
68
68
|
|
|
69
69
|
@CreateDateColumn({ name: 'created_at', nullable: false })
|