@sphereon/ssi-sdk.data-store 0.30.2-unstable.8 → 0.31.0

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 (147) hide show
  1. package/dist/contact/ContactStore.d.ts.map +1 -1
  2. package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
  3. package/dist/digitalCredential/DigitalCredentialStore.js +1 -3
  4. package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
  5. package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
  6. package/dist/entities/digitalCredential/DigitalCredentialEntity.js +1 -1
  7. package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
  8. package/dist/entities/eventLogger/AuditEventEntity.d.ts +8 -4
  9. package/dist/entities/eventLogger/AuditEventEntity.d.ts.map +1 -1
  10. package/dist/entities/eventLogger/AuditEventEntity.js +28 -25
  11. package/dist/entities/eventLogger/AuditEventEntity.js.map +1 -1
  12. package/dist/entities/issuanceBranding/BackgroundAttributesEntity.d.ts +0 -2
  13. package/dist/entities/issuanceBranding/BackgroundAttributesEntity.d.ts.map +1 -1
  14. package/dist/entities/issuanceBranding/BackgroundAttributesEntity.js +1 -8
  15. package/dist/entities/issuanceBranding/BackgroundAttributesEntity.js.map +1 -1
  16. package/dist/entities/issuanceBranding/CredentialBrandingEntity.d.ts +0 -2
  17. package/dist/entities/issuanceBranding/CredentialBrandingEntity.d.ts.map +1 -1
  18. package/dist/entities/issuanceBranding/CredentialBrandingEntity.js +1 -9
  19. package/dist/entities/issuanceBranding/CredentialBrandingEntity.js.map +1 -1
  20. package/dist/entities/issuanceBranding/CredentialClaimsEntity.d.ts +10 -0
  21. package/dist/entities/issuanceBranding/CredentialClaimsEntity.d.ts.map +1 -0
  22. package/dist/entities/issuanceBranding/CredentialClaimsEntity.js +70 -0
  23. package/dist/entities/issuanceBranding/CredentialClaimsEntity.js.map +1 -0
  24. package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.d.ts +2 -2
  25. package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.d.ts.map +1 -1
  26. package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.js +12 -16
  27. package/dist/entities/issuanceBranding/CredentialLocaleBrandingEntity.js.map +1 -1
  28. package/dist/entities/issuanceBranding/ImageAttributesEntity.d.ts +0 -2
  29. package/dist/entities/issuanceBranding/ImageAttributesEntity.d.ts.map +1 -1
  30. package/dist/entities/issuanceBranding/ImageAttributesEntity.js +1 -11
  31. package/dist/entities/issuanceBranding/ImageAttributesEntity.js.map +1 -1
  32. package/dist/entities/issuanceBranding/ImageDimensionsEntity.d.ts +0 -2
  33. package/dist/entities/issuanceBranding/ImageDimensionsEntity.d.ts.map +1 -1
  34. package/dist/entities/issuanceBranding/ImageDimensionsEntity.js +1 -8
  35. package/dist/entities/issuanceBranding/ImageDimensionsEntity.js.map +1 -1
  36. package/dist/entities/issuanceBranding/IssuerBrandingEntity.d.ts +0 -2
  37. package/dist/entities/issuanceBranding/IssuerBrandingEntity.d.ts.map +1 -1
  38. package/dist/entities/issuanceBranding/IssuerBrandingEntity.js +1 -8
  39. package/dist/entities/issuanceBranding/IssuerBrandingEntity.js.map +1 -1
  40. package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.d.ts +4 -2
  41. package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.d.ts.map +1 -1
  42. package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.js +21 -15
  43. package/dist/entities/issuanceBranding/IssuerLocaleBrandingEntity.js.map +1 -1
  44. package/dist/entities/issuanceBranding/TextAttributesEntity.d.ts +0 -2
  45. package/dist/entities/issuanceBranding/TextAttributesEntity.d.ts.map +1 -1
  46. package/dist/entities/issuanceBranding/TextAttributesEntity.js +1 -7
  47. package/dist/entities/issuanceBranding/TextAttributesEntity.js.map +1 -1
  48. package/dist/eventLogger/AbstractEventLoggerStore.d.ts +4 -2
  49. package/dist/eventLogger/AbstractEventLoggerStore.d.ts.map +1 -1
  50. package/dist/eventLogger/AbstractEventLoggerStore.js.map +1 -1
  51. package/dist/eventLogger/EventLoggerStore.d.ts +5 -3
  52. package/dist/eventLogger/EventLoggerStore.d.ts.map +1 -1
  53. package/dist/eventLogger/EventLoggerStore.js +32 -3
  54. package/dist/eventLogger/EventLoggerStore.js.map +1 -1
  55. package/dist/index.d.ts +20 -18
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +17 -26
  58. package/dist/index.js.map +1 -1
  59. package/dist/issuanceBranding/IssuanceBrandingStore.d.ts +1 -1
  60. package/dist/issuanceBranding/IssuanceBrandingStore.d.ts.map +1 -1
  61. package/dist/issuanceBranding/IssuanceBrandingStore.js +5 -5
  62. package/dist/issuanceBranding/IssuanceBrandingStore.js.map +1 -1
  63. package/dist/migrations/internal-migrations-ormconfig.d.ts.map +1 -1
  64. package/dist/migrations/postgres/1685628974232-CreateIssuanceBranding.d.ts.map +1 -1
  65. package/dist/migrations/postgres/1685628974232-CreateIssuanceBranding.js +5 -1
  66. package/dist/migrations/postgres/1685628974232-CreateIssuanceBranding.js.map +1 -1
  67. package/dist/migrations/postgres/1701634812183-CreateAuditEvents.d.ts.map +1 -1
  68. package/dist/migrations/postgres/1701634812183-CreateAuditEvents.js +34 -6
  69. package/dist/migrations/postgres/1701634812183-CreateAuditEvents.js.map +1 -1
  70. package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +1 -1
  71. package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -1
  72. package/dist/migrations/sqlite/1685628973231-CreateIssuanceBranding.d.ts.map +1 -1
  73. package/dist/migrations/sqlite/1685628973231-CreateIssuanceBranding.js +7 -3
  74. package/dist/migrations/sqlite/1685628973231-CreateIssuanceBranding.js.map +1 -1
  75. package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.d.ts.map +1 -1
  76. package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.js +27 -1
  77. package/dist/migrations/sqlite/1701634819487-CreateAuditEvents.js.map +1 -1
  78. package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +1 -1
  79. package/dist/presentationDefinition/PDStore.d.ts.map +1 -1
  80. package/dist/statusList/StatusListStore.js.map +1 -1
  81. package/dist/types/contact/contact.d.ts +3 -3
  82. package/dist/types/contact/contact.d.ts.map +1 -1
  83. package/dist/types/digitalCredential/digitalCredential.d.ts +2 -1
  84. package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
  85. package/dist/types/digitalCredential/digitalCredential.js +1 -0
  86. package/dist/types/digitalCredential/digitalCredential.js.map +1 -1
  87. package/dist/types/eventLogger/IAbstractEventLoggerStore.d.ts +9 -2
  88. package/dist/types/eventLogger/IAbstractEventLoggerStore.d.ts.map +1 -1
  89. package/dist/types/eventLogger/eventLogger.d.ts +3 -2
  90. package/dist/types/eventLogger/eventLogger.d.ts.map +1 -1
  91. package/dist/types/issuanceBranding/issuanceBranding.d.ts +21 -4
  92. package/dist/types/issuanceBranding/issuanceBranding.d.ts.map +1 -1
  93. package/dist/utils/SortingUtils.d.ts.map +1 -1
  94. package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
  95. package/dist/utils/contact/MappingUtils.js +2 -2
  96. package/dist/utils/contact/MappingUtils.js.map +1 -1
  97. package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
  98. package/dist/utils/digitalCredential/MappingUtils.js +4 -4
  99. package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
  100. package/dist/utils/eventLogger/MappingUtils.d.ts +5 -1
  101. package/dist/utils/eventLogger/MappingUtils.d.ts.map +1 -1
  102. package/dist/utils/eventLogger/MappingUtils.js +62 -2
  103. package/dist/utils/eventLogger/MappingUtils.js.map +1 -1
  104. package/dist/utils/issuanceBranding/MappingUtils.d.ts +17 -1
  105. package/dist/utils/issuanceBranding/MappingUtils.d.ts.map +1 -1
  106. package/dist/utils/issuanceBranding/MappingUtils.js +90 -1
  107. package/dist/utils/issuanceBranding/MappingUtils.js.map +1 -1
  108. package/dist/utils/presentationDefinition/MappingUtils.js +2 -2
  109. package/dist/utils/presentationDefinition/MappingUtils.js.map +1 -1
  110. package/package.json +10 -9
  111. package/src/__tests__/contact.store.test.ts +46 -4
  112. package/src/__tests__/digitalCredential.entities.test.ts +1 -7
  113. package/src/__tests__/digitalCredential.store.test.ts +85 -4
  114. package/src/__tests__/eventLogger.entities.test.ts +60 -5
  115. package/src/__tests__/eventLogger.store.test.ts +461 -3
  116. package/src/__tests__/issuanceBranding.entities.test.ts +129 -0
  117. package/src/digitalCredential/DigitalCredentialStore.ts +1 -3
  118. package/src/entities/digitalCredential/DigitalCredentialEntity.ts +1 -1
  119. package/src/entities/eventLogger/AuditEventEntity.ts +23 -28
  120. package/src/entities/issuanceBranding/BackgroundAttributesEntity.ts +2 -11
  121. package/src/entities/issuanceBranding/CredentialBrandingEntity.ts +1 -13
  122. package/src/entities/issuanceBranding/CredentialClaimsEntity.ts +35 -0
  123. package/src/entities/issuanceBranding/CredentialLocaleBrandingEntity.ts +11 -18
  124. package/src/entities/issuanceBranding/ImageAttributesEntity.ts +2 -14
  125. package/src/entities/issuanceBranding/ImageDimensionsEntity.ts +0 -9
  126. package/src/entities/issuanceBranding/IssuerBrandingEntity.ts +1 -12
  127. package/src/entities/issuanceBranding/IssuerLocaleBrandingEntity.ts +17 -17
  128. package/src/entities/issuanceBranding/TextAttributesEntity.ts +1 -9
  129. package/src/eventLogger/AbstractEventLoggerStore.ts +4 -2
  130. package/src/eventLogger/EventLoggerStore.ts +46 -11
  131. package/src/index.ts +20 -30
  132. package/src/issuanceBranding/IssuanceBrandingStore.ts +15 -9
  133. package/src/migrations/postgres/1685628974232-CreateIssuanceBranding.ts +11 -1
  134. package/src/migrations/postgres/1701634812183-CreateAuditEvents.ts +34 -6
  135. package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +1 -1
  136. package/src/migrations/sqlite/1685628973231-CreateIssuanceBranding.ts +11 -3
  137. package/src/migrations/sqlite/1701634819487-CreateAuditEvents.ts +27 -1
  138. package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +1 -1
  139. package/src/statusList/StatusListStore.ts +1 -1
  140. package/src/types/contact/contact.ts +3 -3
  141. package/src/types/digitalCredential/digitalCredential.ts +1 -0
  142. package/src/types/eventLogger/IAbstractEventLoggerStore.ts +12 -2
  143. package/src/types/eventLogger/eventLogger.ts +3 -2
  144. package/src/types/issuanceBranding/issuanceBranding.ts +24 -6
  145. package/src/utils/contact/MappingUtils.ts +5 -2
  146. package/src/utils/eventLogger/MappingUtils.ts +91 -2
  147. package/src/utils/issuanceBranding/MappingUtils.ts +115 -2
@@ -71,7 +71,7 @@ export const partyFrom = (party: PartyEntity): Party => {
71
71
  const result: Party = {
72
72
  id: party.id,
73
73
  uri: party.uri,
74
- roles: [...new Set(party.identities?.flatMap((identity: IdentityEntity) => identity.roles))] ?? [],
74
+ roles: [...new Set(party.identities?.flatMap((identity: IdentityEntity) => identity.roles))],
75
75
  identities: party.identities ? party.identities.map((identity: IdentityEntity) => identityFrom(identity)) : [],
76
76
  electronicAddresses: party.electronicAddresses
77
77
  ? party.electronicAddresses.map((electronicAddress: ElectronicAddressEntity) => electronicAddressFrom(electronicAddress))
@@ -285,7 +285,10 @@ export const identityFrom = (identity: IdentityEntity): Identity => {
285
285
  return replaceNullWithUndefined(result)
286
286
  }
287
287
 
288
- const metadataItemEntityFrom = <T extends MetadataTypes, U extends { new (): any }>(item: NonPersistedMetadataItem<T>, EntityClass: U): InstanceType<U> | undefined => {
288
+ const metadataItemEntityFrom = <T extends MetadataTypes, U extends { new (): any }>(
289
+ item: NonPersistedMetadataItem<T>,
290
+ EntityClass: U,
291
+ ): InstanceType<U> | undefined => {
289
292
  const { label, value } = item
290
293
 
291
294
  if (value === null || value === undefined) {
@@ -1,10 +1,13 @@
1
- import { AuditEventEntity } from '../../entities/eventLogger/AuditEventEntity'
2
- import { AuditLoggingEvent } from '@sphereon/ssi-sdk.core'
1
+ import { ActivityLoggingEvent, AuditLoggingEvent } from '@sphereon/ssi-sdk.core'
2
+ import { LoggingEventType } from '@sphereon/ssi-types'
3
3
  import { replaceNullWithUndefined } from '../FormattingUtils'
4
+ import { AuditEventEntity } from '../../entities/eventLogger/AuditEventEntity'
5
+ import { NonPersistedActivityLoggingEvent, NonPersistedAuditLoggingEvent } from '../../types'
4
6
 
5
7
  export const auditEventFrom = (event: AuditEventEntity): AuditLoggingEvent => {
6
8
  const result: AuditLoggingEvent = {
7
9
  id: event.id,
10
+ type: LoggingEventType.AUDIT,
8
11
  description: event.description,
9
12
  timestamp: event.timestamp,
10
13
  level: event.level,
@@ -26,3 +29,89 @@ export const auditEventFrom = (event: AuditEventEntity): AuditLoggingEvent => {
26
29
 
27
30
  return replaceNullWithUndefined(result)
28
31
  }
32
+
33
+ export const auditEventEntityFrom = (args: NonPersistedAuditLoggingEvent): AuditEventEntity => {
34
+ const auditEventEntity: AuditEventEntity = new AuditEventEntity()
35
+ auditEventEntity.type = LoggingEventType.AUDIT
36
+ auditEventEntity.timestamp = args.timestamp
37
+ auditEventEntity.level = args.level
38
+ auditEventEntity.correlationId = args.correlationId
39
+ auditEventEntity.system = args.system
40
+ auditEventEntity.subSystemType = args.subSystemType
41
+ auditEventEntity.actionType = args.actionType
42
+ auditEventEntity.actionSubType = args.actionSubType
43
+ auditEventEntity.initiatorType = args.initiatorType
44
+ auditEventEntity.systemCorrelationIdType = args.systemCorrelationIdType
45
+ auditEventEntity.systemCorrelationId = args.systemCorrelationId
46
+ auditEventEntity.systemAlias = args.systemAlias
47
+ auditEventEntity.partyCorrelationType = args.partyCorrelationType
48
+ auditEventEntity.partyCorrelationId = args.partyCorrelationId
49
+ auditEventEntity.partyAlias = args.partyAlias
50
+ auditEventEntity.description = args.description
51
+ auditEventEntity.partyCorrelationType = args.partyCorrelationType
52
+ auditEventEntity.data = JSON.stringify(args.data)
53
+ auditEventEntity.diagnosticData = JSON.stringify(args.diagnosticData)
54
+
55
+ return auditEventEntity
56
+ }
57
+
58
+ export const activityEventFrom = (event: AuditEventEntity): ActivityLoggingEvent => {
59
+ const result: ActivityLoggingEvent = {
60
+ id: event.id,
61
+ type: LoggingEventType.ACTIVITY,
62
+ credentialType: event.credentialType!,
63
+ originalCredential: event.originalCredential,
64
+ credentialHash: event.credentialHash,
65
+ parentCredentialHash: event.parentCredentialHash,
66
+ sharePurpose: event.sharePurpose,
67
+ description: event.description,
68
+ timestamp: event.timestamp,
69
+ level: event.level,
70
+ correlationId: event.correlationId,
71
+ actionType: event.actionType,
72
+ actionSubType: event.actionSubType,
73
+ initiatorType: event.initiatorType,
74
+ partyAlias: event.partyAlias,
75
+ partyCorrelationId: event.partyCorrelationId,
76
+ partyCorrelationType: event.partyCorrelationType,
77
+ subSystemType: event.subSystemType,
78
+ system: event.system,
79
+ systemAlias: event.systemAlias,
80
+ systemCorrelationId: event.systemCorrelationId,
81
+ systemCorrelationIdType: event.systemCorrelationIdType,
82
+ ...(event.data && { data: JSON.parse(event.data) }),
83
+ ...(event.diagnosticData && { diagnosticData: JSON.parse(event.diagnosticData) }),
84
+ }
85
+
86
+ return replaceNullWithUndefined(result)
87
+ }
88
+
89
+ export const activityEventEntityFrom = (args: NonPersistedActivityLoggingEvent): AuditEventEntity => {
90
+ const activityEventEntity: AuditEventEntity = new AuditEventEntity()
91
+ activityEventEntity.type = LoggingEventType.ACTIVITY
92
+ activityEventEntity.timestamp = args.timestamp
93
+ activityEventEntity.level = args.level
94
+ activityEventEntity.correlationId = args.correlationId
95
+ activityEventEntity.system = args.system
96
+ activityEventEntity.subSystemType = args.subSystemType
97
+ activityEventEntity.actionType = args.actionType
98
+ activityEventEntity.actionSubType = args.actionSubType
99
+ activityEventEntity.initiatorType = args.initiatorType
100
+ activityEventEntity.systemCorrelationIdType = args.systemCorrelationIdType
101
+ activityEventEntity.systemCorrelationId = args.systemCorrelationId
102
+ activityEventEntity.systemAlias = args.systemAlias
103
+ activityEventEntity.partyCorrelationType = args.partyCorrelationType
104
+ activityEventEntity.partyCorrelationId = args.partyCorrelationId
105
+ activityEventEntity.partyAlias = args.partyAlias
106
+ activityEventEntity.description = args.description
107
+ activityEventEntity.partyCorrelationType = args.partyCorrelationType
108
+ activityEventEntity.data = JSON.stringify(args.data)
109
+ activityEventEntity.sharePurpose = args.sharePurpose
110
+ activityEventEntity.credentialType = args.credentialType
111
+ activityEventEntity.originalCredential = args.originalCredential
112
+ activityEventEntity.credentialHash = args.credentialHash
113
+ activityEventEntity.parentCredentialHash = args.parentCredentialHash
114
+ activityEventEntity.diagnosticData = JSON.stringify(args.diagnosticData)
115
+
116
+ return activityEventEntity
117
+ }
@@ -1,8 +1,29 @@
1
+ import { replaceNullWithUndefined } from '../FormattingUtils'
2
+ import { isEmptyString } from '../../entities/validators'
1
3
  import { CredentialBrandingEntity } from '../../entities/issuanceBranding/CredentialBrandingEntity'
2
4
  import { BaseLocaleBrandingEntity } from '../../entities/issuanceBranding/BaseLocaleBrandingEntity'
3
5
  import { IssuerBrandingEntity } from '../../entities/issuanceBranding/IssuerBrandingEntity'
4
- import { replaceNullWithUndefined } from '../FormattingUtils'
5
- import { ICredentialBranding, IIssuerBranding, ILocaleBranding } from '../../types'
6
+ import { ImageAttributesEntity } from '../../entities/issuanceBranding/ImageAttributesEntity'
7
+ import { BackgroundAttributesEntity } from '../../entities/issuanceBranding/BackgroundAttributesEntity'
8
+ import { TextAttributesEntity } from '../../entities/issuanceBranding/TextAttributesEntity'
9
+ import { IssuerLocaleBrandingEntity } from '../../entities/issuanceBranding/IssuerLocaleBrandingEntity'
10
+ import { CredentialLocaleBrandingEntity } from '../../entities/issuanceBranding/CredentialLocaleBrandingEntity'
11
+ import { ImageDimensionsEntity } from '../../entities/issuanceBranding/ImageDimensionsEntity'
12
+ import { CredentialClaimsEntity } from '../../entities/issuanceBranding/CredentialClaimsEntity'
13
+ import {
14
+ IBasicBackgroundAttributes,
15
+ IBasicCredentialBranding,
16
+ IBasicCredentialClaim,
17
+ IBasicCredentialLocaleBranding,
18
+ IBasicImageAttributes,
19
+ IBasicImageDimensions,
20
+ IBasicIssuerBranding,
21
+ IBasicIssuerLocaleBranding,
22
+ IBasicTextAttributes,
23
+ ICredentialBranding,
24
+ IIssuerBranding,
25
+ ILocaleBranding,
26
+ } from '../../types'
6
27
 
7
28
  export const credentialBrandingFrom = (credentialBranding: CredentialBrandingEntity): ICredentialBranding => {
8
29
  const result: ICredentialBranding = {
@@ -30,3 +51,95 @@ export const localeBrandingFrom = (localeBranding: BaseLocaleBrandingEntity): IL
30
51
 
31
52
  return replaceNullWithUndefined(result)
32
53
  }
54
+
55
+ export const issuerLocaleBrandingEntityFrom = (args: IBasicIssuerLocaleBranding): IssuerLocaleBrandingEntity => {
56
+ const issuerLocaleBrandingEntity: IssuerLocaleBrandingEntity = new IssuerLocaleBrandingEntity()
57
+ issuerLocaleBrandingEntity.alias = isEmptyString(args.alias) ? undefined : args.alias
58
+ issuerLocaleBrandingEntity.locale = args.locale ? args.locale : ''
59
+ issuerLocaleBrandingEntity.logo = args.logo ? imageAttributesEntityFrom(args.logo) : undefined
60
+ issuerLocaleBrandingEntity.description = isEmptyString(args.description) ? undefined : args.description
61
+ issuerLocaleBrandingEntity.background = args.background ? backgroundAttributesEntityFrom(args.background) : undefined
62
+ issuerLocaleBrandingEntity.text = args.text ? textAttributesEntityFrom(args.text) : undefined
63
+ issuerLocaleBrandingEntity.clientUri = isEmptyString(args.clientUri) ? undefined : args.clientUri
64
+ issuerLocaleBrandingEntity.tosUri = isEmptyString(args.tosUri) ? undefined : args.tosUri
65
+ issuerLocaleBrandingEntity.policyUri = isEmptyString(args.policyUri) ? undefined : args.policyUri
66
+ issuerLocaleBrandingEntity.contacts = args.contacts
67
+
68
+ return issuerLocaleBrandingEntity
69
+ }
70
+
71
+ export const backgroundAttributesEntityFrom = (args: IBasicBackgroundAttributes): BackgroundAttributesEntity => {
72
+ const backgroundAttributesEntity: BackgroundAttributesEntity = new BackgroundAttributesEntity()
73
+ backgroundAttributesEntity.color = isEmptyString(args.color) ? undefined : args.color
74
+ backgroundAttributesEntity.image = args.image ? imageAttributesEntityFrom(args.image) : undefined
75
+
76
+ return backgroundAttributesEntity
77
+ }
78
+
79
+ export const credentialBrandingEntityFrom = (args: IBasicCredentialBranding): CredentialBrandingEntity => {
80
+ const credentialBrandingEntity: CredentialBrandingEntity = new CredentialBrandingEntity()
81
+ credentialBrandingEntity.issuerCorrelationId = args.issuerCorrelationId
82
+ credentialBrandingEntity.vcHash = args.vcHash
83
+ credentialBrandingEntity.localeBranding = args.localeBranding.map((localeBranding: IBasicCredentialLocaleBranding) =>
84
+ credentialLocaleBrandingEntityFrom(localeBranding),
85
+ )
86
+
87
+ return credentialBrandingEntity
88
+ }
89
+
90
+ export const credentialLocaleBrandingEntityFrom = (args: IBasicCredentialLocaleBranding): CredentialLocaleBrandingEntity => {
91
+ const credentialLocaleBrandingEntity: CredentialLocaleBrandingEntity = new CredentialLocaleBrandingEntity()
92
+ credentialLocaleBrandingEntity.alias = isEmptyString(args.alias) ? undefined : args.alias
93
+ credentialLocaleBrandingEntity.locale = args.locale ? args.locale : ''
94
+ credentialLocaleBrandingEntity.logo = args.logo ? imageAttributesEntityFrom(args.logo) : undefined
95
+ credentialLocaleBrandingEntity.description = isEmptyString(args.description) ? undefined : args.description
96
+ credentialLocaleBrandingEntity.background = args.background ? backgroundAttributesEntityFrom(args.background) : undefined
97
+ credentialLocaleBrandingEntity.text = args.text ? textAttributesEntityFrom(args.text) : undefined
98
+ credentialLocaleBrandingEntity.claims = args.claims ? args.claims.map((claim) => credentialClaimsEntityFrom(claim)) : []
99
+
100
+ return credentialLocaleBrandingEntity
101
+ }
102
+
103
+ export const imageAttributesEntityFrom = (args: IBasicImageAttributes): ImageAttributesEntity => {
104
+ const imageAttributesEntity: ImageAttributesEntity = new ImageAttributesEntity()
105
+ imageAttributesEntity.uri = isEmptyString(args.uri) ? undefined : args.uri
106
+ imageAttributesEntity.dataUri = isEmptyString(args.dataUri) ? undefined : args.dataUri
107
+ imageAttributesEntity.mediaType = isEmptyString(args.mediaType) ? undefined : args.mediaType
108
+ imageAttributesEntity.alt = isEmptyString(args.alt) ? undefined : args.alt
109
+ imageAttributesEntity.dimensions = args.dimensions ? imageDimensionsEntityFrom(args.dimensions) : undefined
110
+
111
+ return imageAttributesEntity
112
+ }
113
+
114
+ export const imageDimensionsEntityFrom = (args: IBasicImageDimensions): ImageDimensionsEntity => {
115
+ const imageDimensionsEntity: ImageDimensionsEntity = new ImageDimensionsEntity()
116
+ imageDimensionsEntity.width = args.width
117
+ imageDimensionsEntity.height = args.height
118
+
119
+ return imageDimensionsEntity
120
+ }
121
+
122
+ export const issuerBrandingEntityFrom = (args: IBasicIssuerBranding): IssuerBrandingEntity => {
123
+ const issuerBrandingEntity: IssuerBrandingEntity = new IssuerBrandingEntity()
124
+ issuerBrandingEntity.issuerCorrelationId = args.issuerCorrelationId
125
+ issuerBrandingEntity.localeBranding = args.localeBranding.map((localeBranding: IBasicIssuerLocaleBranding) =>
126
+ issuerLocaleBrandingEntityFrom(localeBranding),
127
+ )
128
+
129
+ return issuerBrandingEntity
130
+ }
131
+
132
+ export const textAttributesEntityFrom = (args: IBasicTextAttributes): TextAttributesEntity => {
133
+ const textAttributesEntity: TextAttributesEntity = new TextAttributesEntity()
134
+ textAttributesEntity.color = isEmptyString(args.color) ? undefined : args.color
135
+
136
+ return textAttributesEntity
137
+ }
138
+
139
+ export const credentialClaimsEntityFrom = (args: IBasicCredentialClaim): CredentialClaimsEntity => {
140
+ const credentialClaimsEntity: CredentialClaimsEntity = new CredentialClaimsEntity()
141
+ credentialClaimsEntity.key = args.key
142
+ credentialClaimsEntity.name = args.name
143
+
144
+ return credentialClaimsEntity
145
+ }