@sphereon/ssi-sdk.data-store 0.18.2-next.9 → 0.18.2-next.92
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 +11 -1
- package/dist/contact/AbstractContactStore.d.ts.map +1 -1
- package/dist/contact/AbstractContactStore.js.map +1 -1
- package/dist/contact/ContactStore.d.ts +27 -15
- package/dist/contact/ContactStore.d.ts.map +1 -1
- package/dist/contact/ContactStore.js +201 -32
- package/dist/contact/ContactStore.js.map +1 -1
- package/dist/entities/contact/ElectronicAddressEntity.d.ts +1 -0
- package/dist/entities/contact/ElectronicAddressEntity.d.ts.map +1 -1
- package/dist/entities/contact/ElectronicAddressEntity.js +4 -0
- package/dist/entities/contact/ElectronicAddressEntity.js.map +1 -1
- package/dist/entities/contact/IdentityEntity.d.ts +1 -1
- package/dist/entities/contact/IdentityEntity.d.ts.map +1 -1
- package/dist/entities/contact/PartyEntity.d.ts +2 -0
- package/dist/entities/contact/PartyEntity.d.ts.map +1 -1
- package/dist/entities/contact/PartyEntity.js +12 -1
- package/dist/entities/contact/PartyEntity.js.map +1 -1
- package/dist/entities/contact/PhysicalAddressEntity.d.ts +21 -0
- package/dist/entities/contact/PhysicalAddressEntity.d.ts.map +1 -0
- package/dist/entities/contact/PhysicalAddressEntity.js +126 -0
- package/dist/entities/contact/PhysicalAddressEntity.js.map +1 -0
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/dist/issuanceBranding/IssuanceBrandingStore.d.ts.map +1 -1
- package/dist/issuanceBranding/IssuanceBrandingStore.js +76 -60
- package/dist/issuanceBranding/IssuanceBrandingStore.js.map +1 -1
- package/dist/migrations/sqlite/1690925872693-CreateContacts.d.ts.map +1 -1
- package/dist/migrations/sqlite/1690925872693-CreateContacts.js +3 -6
- package/dist/migrations/sqlite/1690925872693-CreateContacts.js.map +1 -1
- package/dist/types/contact/IAbstractContactStore.d.ts +36 -1
- package/dist/types/contact/IAbstractContactStore.d.ts.map +1 -1
- package/dist/types/contact/contact.d.ts +27 -4
- package/dist/types/contact/contact.d.ts.map +1 -1
- package/dist/types/contact/contact.js.map +1 -1
- package/dist/utils/contact/MappingUtils.d.ts +4 -1
- package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
- package/dist/utils/contact/MappingUtils.js +37 -1
- package/dist/utils/contact/MappingUtils.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/contact.entities.test.ts +340 -23
- package/src/__tests__/contact.store.test.ts +629 -10
- package/src/contact/AbstractContactStore.ts +38 -16
- package/src/contact/ContactStore.ts +278 -58
- package/src/entities/contact/ElectronicAddressEntity.ts +3 -0
- package/src/entities/contact/IdentityEntity.ts +1 -1
- package/src/entities/contact/PartyEntity.ts +11 -1
- package/src/entities/contact/PhysicalAddressEntity.ts +87 -0
- package/src/index.ts +3 -0
- package/src/issuanceBranding/IssuanceBrandingStore.ts +83 -69
- package/src/migrations/sqlite/1690925872693-CreateContacts.ts +3 -8
- package/src/types/contact/IAbstractContactStore.ts +58 -8
- package/src/types/contact/contact.ts +40 -4
- package/src/utils/contact/MappingUtils.ts +39 -0
|
@@ -6,6 +6,7 @@ export type Party = {
|
|
|
6
6
|
roles: Array<IdentityRoleEnum>
|
|
7
7
|
identities: Array<Identity>
|
|
8
8
|
electronicAddresses: Array<ElectronicAddress>
|
|
9
|
+
physicalAddresses: Array<PhysicalAddress>
|
|
9
10
|
contact: Contact
|
|
10
11
|
partyType: PartyType
|
|
11
12
|
relationships: Array<PartyRelationship>
|
|
@@ -14,17 +15,30 @@ export type Party = {
|
|
|
14
15
|
}
|
|
15
16
|
export type NonPersistedParty = Omit<
|
|
16
17
|
Party,
|
|
17
|
-
|
|
18
|
+
| 'id'
|
|
19
|
+
| 'identities'
|
|
20
|
+
| 'electronicAddresses'
|
|
21
|
+
| 'physicalAddresses'
|
|
22
|
+
| 'contact'
|
|
23
|
+
| 'roles'
|
|
24
|
+
| 'partyType'
|
|
25
|
+
| 'relationships'
|
|
26
|
+
| 'createdAt'
|
|
27
|
+
| 'lastUpdatedAt'
|
|
18
28
|
> & {
|
|
19
29
|
identities?: Array<NonPersistedIdentity>
|
|
20
30
|
electronicAddresses?: Array<NonPersistedElectronicAddress>
|
|
31
|
+
physicalAddresses?: Array<NonPersistedPhysicalAddress>
|
|
21
32
|
contact: NonPersistedContact
|
|
22
33
|
partyType: NonPersistedPartyType
|
|
23
34
|
relationships?: Array<NonPersistedPartyRelationship>
|
|
24
35
|
}
|
|
25
|
-
export type PartialParty = Partial<
|
|
36
|
+
export type PartialParty = Partial<
|
|
37
|
+
Omit<Party, 'identities' | 'electronicAddresses' | 'physicalAddresses' | 'contact' | 'partyType' | 'relationships'>
|
|
38
|
+
> & {
|
|
26
39
|
identities?: PartialIdentity
|
|
27
40
|
electronicAddresses?: PartialElectronicAddress
|
|
41
|
+
physicalAddresses?: PartialPhysicalAddress
|
|
28
42
|
contact?: PartialContact
|
|
29
43
|
partyType?: PartialPartyType
|
|
30
44
|
relationships?: PartialPartyRelationship
|
|
@@ -168,9 +182,31 @@ export type ElectronicAddress = {
|
|
|
168
182
|
lastUpdatedAt: Date
|
|
169
183
|
}
|
|
170
184
|
export type NonPersistedElectronicAddress = Omit<ElectronicAddress, 'id' | 'createdAt' | 'lastUpdatedAt'>
|
|
171
|
-
export type PartialElectronicAddress = Partial<ElectronicAddress>
|
|
185
|
+
export type PartialElectronicAddress = Partial<ElectronicAddress> & {
|
|
186
|
+
partyId?: string
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
export type PhysicalAddress = {
|
|
190
|
+
id: string
|
|
191
|
+
type: PhysicalAddressType
|
|
192
|
+
streetName: string
|
|
193
|
+
streetNumber: string
|
|
194
|
+
postalCode: string
|
|
195
|
+
cityName: string
|
|
196
|
+
provinceName: string
|
|
197
|
+
countryCode: string
|
|
198
|
+
buildingName?: string
|
|
199
|
+
createdAt: Date
|
|
200
|
+
lastUpdatedAt: Date
|
|
201
|
+
}
|
|
202
|
+
export type NonPersistedPhysicalAddress = Omit<PhysicalAddress, 'id' | 'createdAt' | 'lastUpdatedAt'>
|
|
203
|
+
export type PartialPhysicalAddress = Partial<PhysicalAddress> & {
|
|
204
|
+
partyId?: string
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
export type ElectronicAddressType = 'email' | 'phone'
|
|
172
208
|
|
|
173
|
-
export type
|
|
209
|
+
export type PhysicalAddressType = 'home' | 'visit' | 'postal'
|
|
174
210
|
|
|
175
211
|
export enum IdentityRoleEnum {
|
|
176
212
|
ISSUER = 'issuer',
|
|
@@ -22,11 +22,13 @@ import {
|
|
|
22
22
|
NonPersistedParty,
|
|
23
23
|
NonPersistedPartyRelationship,
|
|
24
24
|
NonPersistedPartyType,
|
|
25
|
+
NonPersistedPhysicalAddress,
|
|
25
26
|
OpenIdConfig,
|
|
26
27
|
Organization,
|
|
27
28
|
Party,
|
|
28
29
|
PartyRelationship,
|
|
29
30
|
PartyType,
|
|
31
|
+
PhysicalAddress,
|
|
30
32
|
} from '../../types'
|
|
31
33
|
import { PartyEntity } from '../../entities/contact/PartyEntity'
|
|
32
34
|
import { IdentityEntity } from '../../entities/contact/IdentityEntity'
|
|
@@ -42,6 +44,7 @@ import { DidAuthConfigEntity } from '../../entities/contact/DidAuthConfigEntity'
|
|
|
42
44
|
import { IdentityMetadataItemEntity } from '../../entities/contact/IdentityMetadataItemEntity'
|
|
43
45
|
import { OpenIdConfigEntity } from '../../entities/contact/OpenIdConfigEntity'
|
|
44
46
|
import { PartyTypeEntity } from '../../entities/contact/PartyTypeEntity'
|
|
47
|
+
import { PhysicalAddressEntity } from '../../entities/contact/PhysicalAddressEntity'
|
|
45
48
|
|
|
46
49
|
export const partyEntityFrom = (party: NonPersistedParty): PartyEntity => {
|
|
47
50
|
const partyEntity: PartyEntity = new PartyEntity()
|
|
@@ -50,6 +53,9 @@ export const partyEntityFrom = (party: NonPersistedParty): PartyEntity => {
|
|
|
50
53
|
partyEntity.electronicAddresses = party.electronicAddresses
|
|
51
54
|
? party.electronicAddresses.map((electronicAddress: NonPersistedElectronicAddress) => electronicAddressEntityFrom(electronicAddress))
|
|
52
55
|
: []
|
|
56
|
+
partyEntity.physicalAddresses = party.physicalAddresses
|
|
57
|
+
? party.physicalAddresses.map((physicalAddress: NonPersistedPhysicalAddress) => physicalAddressEntityFrom(physicalAddress))
|
|
58
|
+
: []
|
|
53
59
|
partyEntity.partyType = partyTypeEntityFrom(party.partyType)
|
|
54
60
|
partyEntity.contact = contactEntityFrom(party.contact)
|
|
55
61
|
|
|
@@ -65,6 +71,9 @@ export const partyFrom = (party: PartyEntity): Party => {
|
|
|
65
71
|
electronicAddresses: party.electronicAddresses
|
|
66
72
|
? party.electronicAddresses.map((electronicAddress: ElectronicAddressEntity) => electronicAddressFrom(electronicAddress))
|
|
67
73
|
: [],
|
|
74
|
+
physicalAddresses: party.physicalAddresses
|
|
75
|
+
? party.physicalAddresses.map((physicalAddress: PhysicalAddressEntity) => physicalAddressFrom(physicalAddress))
|
|
76
|
+
: [],
|
|
68
77
|
relationships: party.relationships ? party.relationships.map((relationship: PartyRelationshipEntity) => partyRelationshipFrom(relationship)) : [],
|
|
69
78
|
partyType: partyTypeFrom(party.partyType),
|
|
70
79
|
contact: contactFrom(party.contact),
|
|
@@ -168,6 +177,36 @@ export const electronicAddressFrom = (electronicAddress: ElectronicAddressEntity
|
|
|
168
177
|
}
|
|
169
178
|
}
|
|
170
179
|
|
|
180
|
+
export const physicalAddressEntityFrom = (physicalAddress: NonPersistedPhysicalAddress): PhysicalAddressEntity => {
|
|
181
|
+
const physicalAddressEntity: PhysicalAddressEntity = new PhysicalAddressEntity()
|
|
182
|
+
physicalAddressEntity.type = physicalAddress.type
|
|
183
|
+
physicalAddressEntity.streetName = physicalAddress.streetName
|
|
184
|
+
physicalAddressEntity.streetNumber = physicalAddress.streetNumber
|
|
185
|
+
physicalAddressEntity.postalCode = physicalAddress.postalCode
|
|
186
|
+
physicalAddressEntity.cityName = physicalAddress.cityName
|
|
187
|
+
physicalAddressEntity.provinceName = physicalAddress.provinceName
|
|
188
|
+
physicalAddressEntity.countryCode = physicalAddress.countryCode
|
|
189
|
+
physicalAddressEntity.buildingName = physicalAddress.buildingName
|
|
190
|
+
|
|
191
|
+
return physicalAddressEntity
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
export const physicalAddressFrom = (physicalAddress: PhysicalAddressEntity): PhysicalAddress => {
|
|
195
|
+
return {
|
|
196
|
+
id: physicalAddress.id,
|
|
197
|
+
type: physicalAddress.type,
|
|
198
|
+
streetName: physicalAddress.streetName,
|
|
199
|
+
streetNumber: physicalAddress.streetNumber,
|
|
200
|
+
postalCode: physicalAddress.postalCode,
|
|
201
|
+
cityName: physicalAddress.cityName,
|
|
202
|
+
provinceName: physicalAddress.provinceName,
|
|
203
|
+
countryCode: physicalAddress.countryCode,
|
|
204
|
+
buildingName: physicalAddress.buildingName,
|
|
205
|
+
createdAt: physicalAddress.createdAt,
|
|
206
|
+
lastUpdatedAt: physicalAddress.lastUpdatedAt,
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
171
210
|
export const identityEntityFrom = (args: NonPersistedIdentity): IdentityEntity => {
|
|
172
211
|
const identityEntity: IdentityEntity = new IdentityEntity()
|
|
173
212
|
identityEntity.alias = args.alias
|