@sphereon/ssi-sdk.data-store 0.24.0 → 0.24.1-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/dist/contact/ContactStore.d.ts +3 -0
  2. package/dist/contact/ContactStore.d.ts.map +1 -1
  3. package/dist/contact/ContactStore.js +84 -48
  4. package/dist/contact/ContactStore.js.map +1 -1
  5. package/dist/entities/contact/BaseContactEntity.d.ts +2 -0
  6. package/dist/entities/contact/BaseContactEntity.d.ts.map +1 -1
  7. package/dist/entities/contact/BaseContactEntity.js +12 -3
  8. package/dist/entities/contact/BaseContactEntity.js.map +1 -1
  9. package/dist/entities/contact/ConnectionEntity.d.ts +2 -0
  10. package/dist/entities/contact/ConnectionEntity.d.ts.map +1 -1
  11. package/dist/entities/contact/ConnectionEntity.js +8 -0
  12. package/dist/entities/contact/ConnectionEntity.js.map +1 -1
  13. package/dist/entities/contact/ContactMetadataItemEntity.d.ts +14 -0
  14. package/dist/entities/contact/ContactMetadataItemEntity.d.ts.map +1 -0
  15. package/dist/entities/contact/ContactMetadataItemEntity.js +88 -0
  16. package/dist/entities/contact/ContactMetadataItemEntity.js.map +1 -0
  17. package/dist/entities/contact/CorrelationIdentifierEntity.d.ts +2 -0
  18. package/dist/entities/contact/CorrelationIdentifierEntity.d.ts.map +1 -1
  19. package/dist/entities/contact/CorrelationIdentifierEntity.js +8 -0
  20. package/dist/entities/contact/CorrelationIdentifierEntity.js.map +1 -1
  21. package/dist/entities/contact/DidAuthConfigEntity.d.ts +2 -0
  22. package/dist/entities/contact/DidAuthConfigEntity.d.ts.map +1 -1
  23. package/dist/entities/contact/DidAuthConfigEntity.js +8 -0
  24. package/dist/entities/contact/DidAuthConfigEntity.js.map +1 -1
  25. package/dist/entities/contact/ElectronicAddressEntity.d.ts +2 -0
  26. package/dist/entities/contact/ElectronicAddressEntity.d.ts.map +1 -1
  27. package/dist/entities/contact/ElectronicAddressEntity.js +8 -0
  28. package/dist/entities/contact/ElectronicAddressEntity.js.map +1 -1
  29. package/dist/entities/contact/IMetadataEntity.d.ts +8 -0
  30. package/dist/entities/contact/IMetadataEntity.d.ts.map +1 -0
  31. package/dist/entities/contact/IMetadataEntity.js +2 -0
  32. package/dist/entities/contact/IMetadataEntity.js.map +1 -0
  33. package/dist/entities/contact/IdentityEntity.d.ts +5 -2
  34. package/dist/entities/contact/IdentityEntity.d.ts.map +1 -1
  35. package/dist/entities/contact/IdentityEntity.js +13 -0
  36. package/dist/entities/contact/IdentityEntity.js.map +1 -1
  37. package/dist/entities/contact/IdentityMetadataItemEntity.d.ts +6 -2
  38. package/dist/entities/contact/IdentityMetadataItemEntity.d.ts.map +1 -1
  39. package/dist/entities/contact/IdentityMetadataItemEntity.js +19 -3
  40. package/dist/entities/contact/IdentityMetadataItemEntity.js.map +1 -1
  41. package/dist/entities/contact/NaturalPersonEntity.d.ts +2 -0
  42. package/dist/entities/contact/NaturalPersonEntity.d.ts.map +1 -1
  43. package/dist/entities/contact/NaturalPersonEntity.js +8 -0
  44. package/dist/entities/contact/NaturalPersonEntity.js.map +1 -1
  45. package/dist/entities/contact/OpenIdConfigEntity.d.ts +2 -0
  46. package/dist/entities/contact/OpenIdConfigEntity.d.ts.map +1 -1
  47. package/dist/entities/contact/OpenIdConfigEntity.js +8 -0
  48. package/dist/entities/contact/OpenIdConfigEntity.js.map +1 -1
  49. package/dist/entities/contact/OrganizationEntity.d.ts +2 -0
  50. package/dist/entities/contact/OrganizationEntity.d.ts.map +1 -1
  51. package/dist/entities/contact/OrganizationEntity.js +8 -0
  52. package/dist/entities/contact/OrganizationEntity.js.map +1 -1
  53. package/dist/entities/contact/PartyEntity.d.ts +2 -0
  54. package/dist/entities/contact/PartyEntity.d.ts.map +1 -1
  55. package/dist/entities/contact/PartyEntity.js +8 -0
  56. package/dist/entities/contact/PartyEntity.js.map +1 -1
  57. package/dist/entities/contact/PartyRelationshipEntity.d.ts +2 -0
  58. package/dist/entities/contact/PartyRelationshipEntity.d.ts.map +1 -1
  59. package/dist/entities/contact/PartyRelationshipEntity.js +8 -0
  60. package/dist/entities/contact/PartyRelationshipEntity.js.map +1 -1
  61. package/dist/entities/contact/PartyTypeEntity.js +4 -4
  62. package/dist/entities/contact/PartyTypeEntity.js.map +1 -1
  63. package/dist/entities/contact/PhysicalAddressEntity.d.ts +2 -0
  64. package/dist/entities/contact/PhysicalAddressEntity.d.ts.map +1 -1
  65. package/dist/entities/contact/PhysicalAddressEntity.js +8 -0
  66. package/dist/entities/contact/PhysicalAddressEntity.js.map +1 -1
  67. package/dist/index.d.ts +4 -3
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +4 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/migrations/generic/8-CreateContacts.d.ts +7 -0
  72. package/dist/migrations/generic/8-CreateContacts.d.ts.map +1 -0
  73. package/dist/migrations/generic/8-CreateContacts.js +78 -0
  74. package/dist/migrations/generic/8-CreateContacts.js.map +1 -0
  75. package/dist/migrations/generic/9-CreateContacts.d.ts +7 -0
  76. package/dist/migrations/generic/9-CreateContacts.d.ts.map +1 -0
  77. package/dist/migrations/generic/9-CreateContacts.js +78 -0
  78. package/dist/migrations/generic/9-CreateContacts.js.map +1 -0
  79. package/dist/migrations/generic/index.d.ts.map +1 -1
  80. package/dist/migrations/generic/index.js +8 -1
  81. package/dist/migrations/generic/index.js.map +1 -1
  82. package/dist/migrations/postgres/1690925872592-CreateContacts.d.ts.map +1 -1
  83. package/dist/migrations/postgres/1690925872592-CreateContacts.js +40 -3
  84. package/dist/migrations/postgres/1690925872592-CreateContacts.js.map +1 -1
  85. package/dist/migrations/postgres/1710438363001-CreateContacts.d.ts +7 -0
  86. package/dist/migrations/postgres/1710438363001-CreateContacts.d.ts.map +1 -0
  87. package/dist/migrations/postgres/1710438363001-CreateContacts.js +63 -0
  88. package/dist/migrations/postgres/1710438363001-CreateContacts.js.map +1 -0
  89. package/dist/migrations/postgres/1715761125001-CreateContacts.d.ts +7 -0
  90. package/dist/migrations/postgres/1715761125001-CreateContacts.d.ts.map +1 -0
  91. package/dist/migrations/postgres/1715761125001-CreateContacts.js +74 -0
  92. package/dist/migrations/postgres/1715761125001-CreateContacts.js.map +1 -0
  93. package/dist/migrations/sqlite/1690925872693-CreateContacts.d.ts.map +1 -1
  94. package/dist/migrations/sqlite/1690925872693-CreateContacts.js +40 -3
  95. package/dist/migrations/sqlite/1690925872693-CreateContacts.js.map +1 -1
  96. package/dist/migrations/sqlite/1710438363002-CreateContacts.d.ts +7 -0
  97. package/dist/migrations/sqlite/1710438363002-CreateContacts.d.ts.map +1 -0
  98. package/dist/migrations/sqlite/1710438363002-CreateContacts.js +79 -0
  99. package/dist/migrations/sqlite/1710438363002-CreateContacts.js.map +1 -0
  100. package/dist/migrations/sqlite/1715761125002-CreateContacts.d.ts +7 -0
  101. package/dist/migrations/sqlite/1715761125002-CreateContacts.d.ts.map +1 -0
  102. package/dist/migrations/sqlite/1715761125002-CreateContacts.js +73 -0
  103. package/dist/migrations/sqlite/1715761125002-CreateContacts.js.map +1 -0
  104. package/dist/types/contact/contact.d.ts +51 -15
  105. package/dist/types/contact/contact.d.ts.map +1 -1
  106. package/dist/types/contact/contact.js +12 -7
  107. package/dist/types/contact/contact.js.map +1 -1
  108. package/dist/utils/contact/MappingUtils.d.ts +6 -4
  109. package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
  110. package/dist/utils/contact/MappingUtils.js +128 -18
  111. package/dist/utils/contact/MappingUtils.js.map +1 -1
  112. package/package.json +4 -4
  113. package/src/__tests__/contact.entities.test.ts +129 -44
  114. package/src/__tests__/contact.store.test.ts +205 -29
  115. package/src/contact/ContactStore.ts +74 -30
  116. package/src/entities/contact/BaseContactEntity.ts +11 -0
  117. package/src/entities/contact/ConnectionEntity.ts +6 -0
  118. package/src/entities/contact/ContactMetadataItemEntity.ts +50 -0
  119. package/src/entities/contact/CorrelationIdentifierEntity.ts +6 -0
  120. package/src/entities/contact/DidAuthConfigEntity.ts +6 -0
  121. package/src/entities/contact/ElectronicAddressEntity.ts +6 -0
  122. package/src/entities/contact/IMetadataEntity.ts +7 -0
  123. package/src/entities/contact/IdentityEntity.ts +11 -2
  124. package/src/entities/contact/IdentityMetadataItemEntity.ts +16 -4
  125. package/src/entities/contact/NaturalPersonEntity.ts +6 -0
  126. package/src/entities/contact/OpenIdConfigEntity.ts +6 -0
  127. package/src/entities/contact/OrganizationEntity.ts +6 -0
  128. package/src/entities/contact/PartyEntity.ts +6 -0
  129. package/src/entities/contact/PartyRelationshipEntity.ts +6 -0
  130. package/src/entities/contact/PartyTypeEntity.ts +4 -4
  131. package/src/entities/contact/PhysicalAddressEntity.ts +6 -0
  132. package/src/index.ts +3 -0
  133. package/src/migrations/generic/8-CreateContacts.ts +66 -0
  134. package/src/migrations/generic/9-CreateContacts.ts +66 -0
  135. package/src/migrations/generic/index.ts +8 -1
  136. package/src/migrations/postgres/1690925872592-CreateContacts.ts +59 -5
  137. package/src/migrations/postgres/1710438363001-CreateContacts.ts +63 -0
  138. package/src/migrations/postgres/1715761125001-CreateContacts.ts +60 -0
  139. package/src/migrations/sqlite/1690925872693-CreateContacts.ts +70 -3
  140. package/src/migrations/sqlite/1710438363002-CreateContacts.ts +83 -0
  141. package/src/migrations/sqlite/1715761125002-CreateContacts.ts +59 -0
  142. package/src/types/contact/contact.ts +56 -15
  143. package/src/utils/contact/MappingUtils.ts +134 -18
@@ -1,4 +1,5 @@
1
1
  import {
2
+ MetadataTypes,
2
3
  Connection,
3
4
  ConnectionConfig,
4
5
  Contact,
@@ -45,6 +46,7 @@ import { IdentityMetadataItemEntity } from '../../entities/contact/IdentityMetad
45
46
  import { OpenIdConfigEntity } from '../../entities/contact/OpenIdConfigEntity'
46
47
  import { PartyTypeEntity } from '../../entities/contact/PartyTypeEntity'
47
48
  import { PhysicalAddressEntity } from '../../entities/contact/PhysicalAddressEntity'
49
+ import { ContactMetadataItemEntity } from '../../entities/contact/ContactMetadataItemEntity'
48
50
 
49
51
  export const partyEntityFrom = (party: NonPersistedParty): PartyEntity => {
50
52
  const partyEntity: PartyEntity = new PartyEntity()
@@ -58,6 +60,8 @@ export const partyEntityFrom = (party: NonPersistedParty): PartyEntity => {
58
60
  : []
59
61
  partyEntity.partyType = partyTypeEntityFrom(party.partyType)
60
62
  partyEntity.contact = contactEntityFrom(party.contact)
63
+ partyEntity.ownerId = party.ownerId
64
+ partyEntity.tenantId = party.tenantId
61
65
 
62
66
  return partyEntity
63
67
  }
@@ -77,6 +81,8 @@ export const partyFrom = (party: PartyEntity): Party => {
77
81
  relationships: party.relationships ? party.relationships.map((relationship: PartyRelationshipEntity) => partyRelationshipFrom(relationship)) : [],
78
82
  partyType: partyTypeFrom(party.partyType),
79
83
  contact: contactFrom(party.contact),
84
+ ownerId: party.ownerId,
85
+ tenantId: party.tenantId,
80
86
  createdAt: party.createdAt,
81
87
  lastUpdatedAt: party.lastUpdatedAt,
82
88
  }
@@ -112,6 +118,8 @@ export const connectionEntityFrom = (connection: NonPersistedConnection): Connec
112
118
  const connectionEntity: ConnectionEntity = new ConnectionEntity()
113
119
  connectionEntity.type = connection.type
114
120
  connectionEntity.config = configEntityFrom(connection.config)
121
+ connectionEntity.ownerId = connection.ownerId
122
+ connectionEntity.tenantId = connection.tenantId
115
123
 
116
124
  return connectionEntity
117
125
  }
@@ -120,6 +128,8 @@ export const connectionFrom = (connection: ConnectionEntity): Connection => {
120
128
  return {
121
129
  id: connection.id,
122
130
  type: connection.type,
131
+ ownerId: connection.ownerId,
132
+ tenantId: connection.tenantId,
123
133
  config: configFrom(connection.config),
124
134
  }
125
135
  }
@@ -138,6 +148,8 @@ export const correlationIdentifierEntityFrom = (identifier: NonPersistedCorrelat
138
148
  const identifierEntity: CorrelationIdentifierEntity = new CorrelationIdentifierEntity()
139
149
  identifierEntity.type = identifier.type
140
150
  identifierEntity.correlationId = identifier.correlationId
151
+ identifierEntity.ownerId = identifier.ownerId
152
+ identifierEntity.tenantId = identifier.tenantId
141
153
 
142
154
  return identifierEntity
143
155
  }
@@ -147,6 +159,8 @@ export const correlationIdentifierFrom = (identifier: CorrelationIdentifierEntit
147
159
  id: identifier.id,
148
160
  type: identifier.type,
149
161
  correlationId: identifier.correlationId,
162
+ ownerId: identifier.ownerId,
163
+ tenantId: identifier.tenantId,
150
164
  }
151
165
  }
152
166
 
@@ -155,7 +169,8 @@ export const didAuthConfigEntityFrom = (config: NonPersistedDidAuthConfig): DidA
155
169
  didAuthConfig.identifier = config.identifier.did
156
170
  didAuthConfig.redirectUrl = config.redirectUrl
157
171
  didAuthConfig.sessionId = config.sessionId
158
-
172
+ didAuthConfig.ownerId = config.ownerId
173
+ didAuthConfig.tenantId = config.tenantId
159
174
  return didAuthConfig
160
175
  }
161
176
 
@@ -163,6 +178,8 @@ export const electronicAddressEntityFrom = (electronicAddress: NonPersistedElect
163
178
  const electronicAddressEntity: ElectronicAddressEntity = new ElectronicAddressEntity()
164
179
  electronicAddressEntity.type = electronicAddress.type
165
180
  electronicAddressEntity.electronicAddress = electronicAddress.electronicAddress
181
+ electronicAddressEntity.ownerId = electronicAddress.ownerId
182
+ electronicAddressEntity.tenantId = electronicAddress.tenantId
166
183
 
167
184
  return electronicAddressEntity
168
185
  }
@@ -172,6 +189,8 @@ export const electronicAddressFrom = (electronicAddress: ElectronicAddressEntity
172
189
  id: electronicAddress.id,
173
190
  type: electronicAddress.type,
174
191
  electronicAddress: electronicAddress.electronicAddress,
192
+ ownerId: electronicAddress.ownerId,
193
+ tenantId: electronicAddress.tenantId,
175
194
  createdAt: electronicAddress.createdAt,
176
195
  lastUpdatedAt: electronicAddress.lastUpdatedAt,
177
196
  }
@@ -187,6 +206,8 @@ export const physicalAddressEntityFrom = (physicalAddress: NonPersistedPhysicalA
187
206
  physicalAddressEntity.provinceName = physicalAddress.provinceName
188
207
  physicalAddressEntity.countryCode = physicalAddress.countryCode
189
208
  physicalAddressEntity.buildingName = physicalAddress.buildingName
209
+ physicalAddressEntity.ownerId = physicalAddress.ownerId
210
+ physicalAddressEntity.tenantId = physicalAddress.tenantId
190
211
 
191
212
  return physicalAddressEntity
192
213
  }
@@ -202,19 +223,27 @@ export const physicalAddressFrom = (physicalAddress: PhysicalAddressEntity): Phy
202
223
  provinceName: physicalAddress.provinceName,
203
224
  countryCode: physicalAddress.countryCode,
204
225
  buildingName: physicalAddress.buildingName,
226
+ ownerId: physicalAddress.ownerId,
227
+ tenantId: physicalAddress.tenantId,
205
228
  createdAt: physicalAddress.createdAt,
206
229
  lastUpdatedAt: physicalAddress.lastUpdatedAt,
207
230
  }
208
231
  }
209
232
 
210
- export const identityEntityFrom = (args: NonPersistedIdentity): IdentityEntity => {
233
+ export const identityEntityFrom = (entity: NonPersistedIdentity): IdentityEntity => {
211
234
  const identityEntity: IdentityEntity = new IdentityEntity()
212
- identityEntity.alias = args.alias
213
- identityEntity.roles = args.roles
214
- identityEntity.identifier = correlationIdentifierEntityFrom(args.identifier)
215
- identityEntity.connection = args.connection ? connectionEntityFrom(args.connection) : undefined
216
- identityEntity.metadata = args.metadata ? args.metadata.map((item: NonPersistedMetadataItem) => metadataItemEntityFrom(item)) : []
217
-
235
+ identityEntity.alias = entity.alias
236
+ identityEntity.origin = entity.origin
237
+ identityEntity.ownerId = entity.ownerId
238
+ identityEntity.tenantId = entity.tenantId
239
+ identityEntity.roles = entity.roles
240
+ identityEntity.identifier = correlationIdentifierEntityFrom(entity.identifier)
241
+ identityEntity.connection = entity.connection ? connectionEntityFrom(entity.connection) : undefined
242
+ identityEntity.metadata = entity.metadata
243
+ ? entity.metadata
244
+ .map(identityMetadataItemEntityFrom)
245
+ .filter((entity): entity is IdentityMetadataItemEntity => entity !== undefined)
246
+ : []
218
247
  return identityEntity
219
248
  }
220
249
 
@@ -222,7 +251,10 @@ export const identityFrom = (identity: IdentityEntity): Identity => {
222
251
  return {
223
252
  id: identity.id,
224
253
  alias: identity.alias,
254
+ origin: identity.origin,
225
255
  roles: identity.roles,
256
+ tenantId: identity.tenantId,
257
+ ownerId: identity.ownerId,
226
258
  identifier: correlationIdentifierFrom(identity.identifier),
227
259
  ...(identity.connection && { connection: connectionFrom(identity.connection) }),
228
260
  metadata: identity.metadata ? identity.metadata.map((item: IdentityMetadataItemEntity) => metadataItemFrom(item)) : [],
@@ -231,20 +263,75 @@ export const identityFrom = (identity: IdentityEntity): Identity => {
231
263
  }
232
264
  }
233
265
 
234
- export const metadataItemEntityFrom = (item: NonPersistedMetadataItem): IdentityMetadataItemEntity => {
235
- const metadataItemEntity: IdentityMetadataItemEntity = new IdentityMetadataItemEntity()
236
- metadataItemEntity.label = item.label
237
- metadataItemEntity.value = item.value
266
+ const metadataItemEntityFrom = <T extends MetadataTypes, U extends { new (): any }>(
267
+ item: NonPersistedMetadataItem<T>,
268
+ EntityClass: U,
269
+ ): InstanceType<U> | undefined => {
270
+ const { label, value } = item
271
+
272
+ if (value === null || value === undefined) {
273
+ return undefined
274
+ }
238
275
 
276
+ const metadataItemEntity = new EntityClass()
277
+ metadataItemEntity.label = label
278
+ metadataItemEntity.valueType = typeof value
279
+
280
+ switch (typeof value) {
281
+ case 'undefined':
282
+ return undefined
283
+ case 'string':
284
+ metadataItemEntity.stringValue = value
285
+ break
286
+ case 'number':
287
+ metadataItemEntity.numberValue = value
288
+ break
289
+ case 'boolean':
290
+ metadataItemEntity.boolValue = value
291
+ break
292
+ case 'object':
293
+ metadataItemEntity.valueType = Object.prototype.toString.call(value).slice(8, -1)
294
+ if (value instanceof Date) {
295
+ metadataItemEntity.dateValue = value
296
+ } else {
297
+ // For now, we only support / implement not-primitive type Date in the entity
298
+ throw new Error(`Unsupported object type: ${metadataItemEntity.valueType} for value ${value}`)
299
+ }
300
+ break
301
+ }
239
302
  return metadataItemEntity
240
303
  }
241
304
 
242
- export const metadataItemFrom = (item: IdentityMetadataItemEntity): MetadataItem => {
243
- return {
244
- id: item.id,
245
- label: item.label,
246
- value: item.value,
305
+ export const identityMetadataItemEntityFrom = (item: NonPersistedMetadataItem<MetadataTypes>): IdentityMetadataItemEntity | undefined => {
306
+ return metadataItemEntityFrom(item, IdentityMetadataItemEntity)
307
+ }
308
+
309
+ export const contactMetadataItemEntityFrom = (item: NonPersistedMetadataItem<MetadataTypes>): ContactMetadataItemEntity | undefined => {
310
+ return metadataItemEntityFrom(item, ContactMetadataItemEntity)
311
+ }
312
+
313
+ export const metadataItemFrom = (entity: IdentityMetadataItemEntity | ContactMetadataItemEntity): MetadataItem<MetadataTypes> => {
314
+ const item: Partial<MetadataItem<MetadataTypes>> = {
315
+ id: entity.id,
316
+ label: entity.label,
317
+ }
318
+ switch (entity.valueType) {
319
+ case 'string':
320
+ item.value = entity.stringValue
321
+ break
322
+ case 'number':
323
+ item.value = entity.numberValue
324
+ break
325
+ case 'Date':
326
+ item.value = entity.dateValue
327
+ break
328
+ case 'boolean':
329
+ item.value = entity.boolValue
330
+ break
331
+ default:
332
+ throw new Error(`Unsupported valueType ${entity.valueType}`)
247
333
  }
334
+ return item as MetadataItem<MetadataTypes>
248
335
  }
249
336
 
250
337
  export const naturalPersonEntityFrom = (naturalPerson: NonPersistedNaturalPerson): NaturalPersonEntity => {
@@ -253,6 +340,13 @@ export const naturalPersonEntityFrom = (naturalPerson: NonPersistedNaturalPerson
253
340
  naturalPersonEntity.middleName = naturalPerson.middleName
254
341
  naturalPersonEntity.lastName = naturalPerson.lastName
255
342
  naturalPersonEntity.displayName = naturalPerson.displayName
343
+ naturalPersonEntity.ownerId = naturalPerson.ownerId
344
+ naturalPersonEntity.tenantId = naturalPerson.tenantId
345
+ naturalPersonEntity.metadata = naturalPerson.metadata
346
+ ? naturalPerson.metadata
347
+ .map(contactMetadataItemEntityFrom)
348
+ .filter((entity): entity is ContactMetadataItemEntity => entity !== undefined)
349
+ : []
256
350
 
257
351
  return naturalPersonEntity
258
352
  }
@@ -264,6 +358,9 @@ export const naturalPersonFrom = (naturalPerson: NaturalPersonEntity): NaturalPe
264
358
  middleName: naturalPerson.middleName,
265
359
  lastName: naturalPerson.lastName,
266
360
  displayName: naturalPerson.displayName,
361
+ metadata: naturalPerson.metadata ? naturalPerson.metadata.map((item: ContactMetadataItemEntity) => metadataItemFrom(item)) : [],
362
+ ownerId: naturalPerson.ownerId,
363
+ tenantId: naturalPerson.tenantId,
267
364
  createdAt: naturalPerson.createdAt,
268
365
  lastUpdatedAt: naturalPerson.lastUpdatedAt,
269
366
  }
@@ -278,6 +375,8 @@ export const openIdConfigEntityFrom = (config: NonPersistedOpenIdConfig): OpenId
278
375
  openIdConfig.redirectUrl = config.redirectUrl
279
376
  openIdConfig.dangerouslyAllowInsecureHttpRequests = config.dangerouslyAllowInsecureHttpRequests
280
377
  openIdConfig.clientAuthMethod = config.clientAuthMethod
378
+ openIdConfig.ownerId = config.ownerId
379
+ openIdConfig.tenantId = config.tenantId
281
380
 
282
381
  return openIdConfig
283
382
  }
@@ -286,6 +385,13 @@ export const organizationEntityFrom = (organization: NonPersistedOrganization):
286
385
  const organizationEntity: OrganizationEntity = new OrganizationEntity()
287
386
  organizationEntity.legalName = organization.legalName
288
387
  organizationEntity.displayName = organization.displayName
388
+ organizationEntity.ownerId = organization.ownerId
389
+ organizationEntity.tenantId = organization.tenantId
390
+ organizationEntity.metadata = organization.metadata
391
+ ? organization.metadata
392
+ .map(contactMetadataItemEntityFrom)
393
+ .filter((entity): entity is ContactMetadataItemEntity => entity !== undefined)
394
+ : []
289
395
 
290
396
  return organizationEntity
291
397
  }
@@ -295,6 +401,9 @@ export const organizationFrom = (organization: OrganizationEntity): Organization
295
401
  id: organization.id,
296
402
  legalName: organization.legalName,
297
403
  displayName: organization.displayName,
404
+ metadata: organization.metadata ? organization.metadata.map((item: ContactMetadataItemEntity) => metadataItemFrom(item)) : [],
405
+ ownerId: organization.ownerId,
406
+ tenantId: organization.tenantId,
298
407
  createdAt: organization.createdAt,
299
408
  lastUpdatedAt: organization.lastUpdatedAt,
300
409
  }
@@ -304,7 +413,8 @@ export const partyRelationshipEntityFrom = (relationship: NonPersistedPartyRelat
304
413
  const partyRelationshipEntity: PartyRelationshipEntity = new PartyRelationshipEntity()
305
414
  partyRelationshipEntity.leftId = relationship.leftId
306
415
  partyRelationshipEntity.rightId = relationship.rightId
307
-
416
+ partyRelationshipEntity.ownerId = relationship.ownerId
417
+ partyRelationshipEntity.tenantId = relationship.tenantId
308
418
  return partyRelationshipEntity
309
419
  }
310
420
 
@@ -313,6 +423,8 @@ export const partyRelationshipFrom = (relationship: PartyRelationshipEntity): Pa
313
423
  id: relationship.id,
314
424
  leftId: relationship.leftId,
315
425
  rightId: relationship.rightId,
426
+ ownerId: relationship.ownerId,
427
+ tenantId: relationship.tenantId,
316
428
  createdAt: relationship.createdAt,
317
429
  lastUpdatedAt: relationship.lastUpdatedAt,
318
430
  }
@@ -365,6 +477,8 @@ export const openIdConfigFrom = (config: OpenIdConfigEntity): OpenIdConfig => {
365
477
  redirectUrl: config.redirectUrl,
366
478
  dangerouslyAllowInsecureHttpRequests: config.dangerouslyAllowInsecureHttpRequests,
367
479
  clientAuthMethod: config.clientAuthMethod,
480
+ ownerId: config.ownerId,
481
+ tenantId: config.tenantId,
368
482
  }
369
483
  }
370
484
 
@@ -375,6 +489,8 @@ export const didAuthConfigFrom = (config: DidAuthConfigEntity): DidAuthConfig =>
375
489
  stateId: '', // FIXME
376
490
  redirectUrl: config.redirectUrl,
377
491
  sessionId: config.sessionId,
492
+ ownerId: config.ownerId,
493
+ tenantId: config.tenantId,
378
494
  }
379
495
  }
380
496