@usercentrics/react-native-sdk 2.23.2 → 2.24.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 (92) hide show
  1. package/README.md +5 -5
  2. package/android/build-legacy.gradle +11 -1
  3. package/android/build.gradle.kts +44 -14
  4. package/android/gradle.properties +2 -0
  5. package/android/settings.gradle.kts +1 -1
  6. package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/RNUsercentricsModuleTest.kt +5 -5
  7. package/android/src/androidTest/java/com/usercentrics/reactnative/fake/FakePromise.kt +73 -0
  8. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/RNUsercentricsModule.kt +3 -3
  9. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/RNUsercentricsModuleSpec.kt +1 -1
  10. package/android/src/main/java/com/usercentrics/reactnative/RNUsercentricsPackage.kt +51 -0
  11. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/ReactContextProvider.kt +1 -1
  12. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/ReactContextProviderImpl.kt +1 -1
  13. package/android/src/main/java/com/usercentrics/reactnative/UCRNFlag.kt +4 -0
  14. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/api/UsercentricsProxy.kt +2 -2
  15. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/BannerFontExtensions.kt +1 -1
  16. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/BannerSettingsExtensions.kt +1 -1
  17. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/CCPADataExtensions.kt +1 -1
  18. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/ConsentDisclosureSerializer.kt +1 -1
  19. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/ReadableMapExtensions.kt +1 -1
  20. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/TCFDataExtensions.kt +1 -1
  21. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UserDecisionExtensions.kt +1 -1
  22. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UserOptionsExtensions.kt +1 -1
  23. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsCMPDataExtensions.kt +1 -1
  24. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsConsentUserResponseExtensions.kt +1 -1
  25. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsReadyStatusExtensions.kt +1 -1
  26. package/android/src/main/java/com/usercentrics/{reactnativeusercentrics → reactnative}/extensions/UsercentricsServiceConsentExtensions.kt +1 -1
  27. package/android/src/main/jni/CMakeLists.txt +85 -0
  28. package/android/src/main/jni/RNUsercentricsModule.cpp +21 -0
  29. package/android/src/main/jni/rn_usercentrics.cpp +22 -0
  30. package/android/src/test/java/com/usercentrics/reactnative/RNUsercentricsModuleTest.kt +159 -0
  31. package/android/src/test/java/com/usercentrics/reactnative/fake/FakePromise.kt +73 -0
  32. package/ios/Extensions/BannerSettings+Dict.swift +1 -0
  33. package/ios/Extensions/UIColor+Extensions.swift +1 -1
  34. package/ios/Extensions/UIImage+UsercentricsLogoDict.swift +1 -0
  35. package/ios/RNUsercentricsModule.swift +1 -0
  36. package/lib/NativeUsercentrics.d.ts +1 -1
  37. package/lib/NativeUsercentrics.js +10 -2
  38. package/lib/NativeUsercentrics.js.map +1 -1
  39. package/lib/fabric/NativeUsercentricsModule.d.ts +30 -0
  40. package/lib/fabric/NativeUsercentricsModule.js +3 -0
  41. package/lib/fabric/NativeUsercentricsModule.js.map +1 -0
  42. package/package.json +108 -96
  43. package/react-native.config.js +15 -0
  44. package/src/NativeUsercentrics.ts +75 -0
  45. package/src/Usercentrics.tsx +145 -0
  46. package/src/__tests__/index.test.ts +476 -0
  47. package/src/__tests__/mocks.ts +402 -0
  48. package/src/fabric/NativeUsercentricsModule.ts +51 -0
  49. package/src/index.tsx +2 -0
  50. package/src/models/AdditionalConsentModeData.tsx +33 -0
  51. package/src/models/BannerSettings.tsx +117 -0
  52. package/src/models/CCPAData.tsx +32 -0
  53. package/src/models/CCPASettings.tsx +49 -0
  54. package/src/models/ConsentDisclosureObject.tsx +47 -0
  55. package/src/models/FirstLayerSettings.tsx +185 -0
  56. package/src/models/GeolocationRuleset.tsx +10 -0
  57. package/src/models/LegalBasisLocalization.tsx +100 -0
  58. package/src/models/NetworkMode.tsx +5 -0
  59. package/src/models/SecondLayerSettings.tsx +12 -0
  60. package/src/models/TCF2Settings.tsx +209 -0
  61. package/src/models/TCFData.tsx +297 -0
  62. package/src/models/TCFDecisionUILayer.tsx +5 -0
  63. package/src/models/TCFUserDecisions.tsx +73 -0
  64. package/src/models/UserDecision.tsx +10 -0
  65. package/src/models/UsercentricsAnalyticsEventType.tsx +15 -0
  66. package/src/models/UsercentricsCMPData.tsx +38 -0
  67. package/src/models/UsercentricsCategory.tsx +26 -0
  68. package/src/models/UsercentricsConsentType.tsx +5 -0
  69. package/src/models/UsercentricsConsentUserResponse.tsx +14 -0
  70. package/src/models/UsercentricsLabels.tsx +276 -0
  71. package/src/models/UsercentricsLocation.tsx +32 -0
  72. package/src/models/UsercentricsLoggerLevel.tsx +7 -0
  73. package/src/models/UsercentricsOptions.tsx +45 -0
  74. package/src/models/UsercentricsReadyStatus.tsx +20 -0
  75. package/src/models/UsercentricsService.tsx +134 -0
  76. package/src/models/UsercentricsServiceConsent.tsx +37 -0
  77. package/src/models/UsercentricsSettings.tsx +177 -0
  78. package/src/models/UsercentricsUserInteraction.tsx +7 -0
  79. package/src/models/UsercentricsVariant.tsx +6 -0
  80. package/src/models/index.tsx +29 -0
  81. package/android/src/androidTest/java/com/usercentrics/reactnativemodule/fake/FakePromise.kt +0 -67
  82. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/RNUsercentricsPackage.kt +0 -22
  83. package/android/src/main/java/com/usercentrics/reactnativeusercentrics/UCRNFlag.kt +0 -4
  84. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/api/FakeUsercentricsProxy.kt +0 -0
  85. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetCMPDataMock.kt +0 -0
  86. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetConsentsMock.kt +0 -0
  87. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetTCFDataMock.kt +0 -0
  88. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetUSPDataMock.kt +0 -0
  89. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/GetUserSessionDataMock.kt +0 -0
  90. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/ReactContextProviderMock.kt +0 -0
  91. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/SaveDecisionsForTCFMock.kt +0 -0
  92. /package/android/src/androidTest/java/com/usercentrics/{reactnativemodule → reactnative}/mock/SaveDecisionsMock.kt +0 -0
@@ -0,0 +1,276 @@
1
+ export class UsercentricsLabels {
2
+
3
+ btnAcceptAll: string
4
+ btnDeny: string
5
+ btnSave: string
6
+ firstLayerTitle: string
7
+ accepted: string
8
+ denied: string
9
+ date: string
10
+ decision: string
11
+ dataCollectedList: string
12
+ dataCollectedInfo: string
13
+ locationOfProcessing: string
14
+ transferToThirdCountries: string
15
+ transferToThirdCountriesInfo: string
16
+ dataPurposes: string
17
+ dataPurposesInfo: string
18
+ dataRecipientsList: string
19
+ descriptionOfService: string
20
+ history: string
21
+ historyDescription: string
22
+ legalBasisList: string
23
+ legalBasisInfo: string
24
+ processingCompanyTitle: string
25
+ retentionPeriod: string
26
+ technologiesUsed: string
27
+ technologiesUsedInfo: string
28
+ cookiePolicyInfo: string
29
+ optOut: string
30
+ policyOf: string
31
+ imprintLinkText: string
32
+ privacyPolicyLinkText: string
33
+ categories: string
34
+ anyDomain: string
35
+ day: string
36
+ days: string
37
+ domain: string
38
+ duration: string
39
+ informationLoadingNotPossible: string
40
+ hour: string
41
+ hours: string
42
+ identifier: string
43
+ maximumAgeCookieStorage: string
44
+ minute: string
45
+ minutes: string
46
+ month: string
47
+ months: string
48
+ multipleDomains: string
49
+ no: string
50
+ nonCookieStorage: string
51
+ seconds: string
52
+ session: string
53
+ loadingStorageInformation: string
54
+ storageInformation: string
55
+ detailedStorageInformation: string
56
+ tryAgain: string
57
+ type: string
58
+ year: string
59
+ years: string
60
+ yes: string
61
+ storageInformationDescription: string
62
+ btnBannerReadMore: string
63
+ readLess: string
64
+ btnMore: string
65
+ more: string
66
+ linkToDpaInfo: string
67
+ second: string
68
+ consent: string
69
+ headerModal: string
70
+ secondLayerDescriptionHtml: string
71
+ secondLayerTitle: string
72
+
73
+ // Optional
74
+ settings: string
75
+ subConsents: string
76
+ btnAccept: string
77
+ poweredBy: string
78
+ dataProtectionOfficer: string
79
+ nameOfProcessingCompany: string
80
+ btnBack: string
81
+ copy: string
82
+ copied: string
83
+ basic: string
84
+ advanced: string
85
+ processingCompany: string
86
+ name: string
87
+ explicit: string
88
+ implicit: string
89
+ btnMoreInfo: string
90
+ furtherInformationOptOut: string
91
+ cookiePolicyLinkText: string
92
+ noImplicit: string
93
+ yesImplicit: string
94
+
95
+ constructor(
96
+ btnAcceptAll: string,
97
+ btnDeny: string,
98
+ btnSave: string,
99
+ firstLayerTitle: string,
100
+ accepted: string,
101
+ denied: string,
102
+ date: string,
103
+ decision: string,
104
+ dataCollectedList: string,
105
+ dataCollectedInfo: string,
106
+ locationOfProcessing: string,
107
+ transferToThirdCountries: string,
108
+ transferToThirdCountriesInfo: string,
109
+ dataPurposes: string,
110
+ dataPurposesInfo: string,
111
+ dataRecipientsList: string,
112
+ descriptionOfService: string,
113
+ history: string,
114
+ historyDescription: string,
115
+ legalBasisList: string,
116
+ legalBasisInfo: string,
117
+ processingCompanyTitle: string,
118
+ retentionPeriod: string,
119
+ technologiesUsed: string,
120
+ technologiesUsedInfo: string,
121
+ cookiePolicyInfo: string,
122
+ optOut: string,
123
+ policyOf: string,
124
+ imprintLinkText: string,
125
+ privacyPolicyLinkText: string,
126
+ categories: string,
127
+ anyDomain: string,
128
+ day: string,
129
+ days: string,
130
+ domain: string,
131
+ duration: string,
132
+ informationLoadingNotPossible: string,
133
+ hour: string,
134
+ hours: string,
135
+ identifier: string,
136
+ maximumAgeCookieStorage: string,
137
+ minute: string,
138
+ minutes: string,
139
+ month: string,
140
+ months: string,
141
+ multipleDomains: string,
142
+ no: string,
143
+ nonCookieStorage: string,
144
+ seconds: string,
145
+ session: string,
146
+ loadingStorageInformation: string,
147
+ storageInformation: string,
148
+ detailedStorageInformation: string,
149
+ tryAgain: string,
150
+ type: string,
151
+ year: string,
152
+ years: string,
153
+ yes: string,
154
+ storageInformationDescription: string,
155
+ btnBannerReadMore: string,
156
+ readLess: string,
157
+ btnMore: string,
158
+ more: string,
159
+ linkToDpaInfo: string,
160
+ second: string,
161
+ consent: string,
162
+ headerModal: string,
163
+ secondLayerDescriptionHtml: string,
164
+ secondLayerTitle: string,
165
+ settings: string,
166
+ subConsents: string,
167
+ btnAccept: string,
168
+ poweredBy: string,
169
+ dataProtectionOfficer: string,
170
+ nameOfProcessingCompany: string,
171
+ btnBack: string,
172
+ copy: string,
173
+ copied: string,
174
+ basic: string,
175
+ advanced: string,
176
+ processingCompany: string,
177
+ name: string,
178
+ explicit: string,
179
+ implicit: string,
180
+ btnMoreInfo: string,
181
+ furtherInformationOptOut: string,
182
+ cookiePolicyLinkText: string,
183
+ noImplicit: string,
184
+ yesImplicit: string,
185
+ ) {
186
+ this.btnAcceptAll = btnAcceptAll
187
+ this.btnDeny = btnDeny
188
+ this.btnSave = btnSave
189
+ this.firstLayerTitle = firstLayerTitle
190
+ this.accepted = accepted
191
+ this.denied = denied
192
+ this.date = date
193
+ this.decision = decision
194
+ this.dataCollectedList = dataCollectedList
195
+ this.dataCollectedInfo = dataCollectedInfo
196
+ this.locationOfProcessing = locationOfProcessing
197
+ this.transferToThirdCountries = transferToThirdCountries
198
+ this.transferToThirdCountriesInfo = transferToThirdCountriesInfo
199
+ this.dataPurposes = dataPurposes
200
+ this.dataPurposesInfo = dataPurposesInfo
201
+ this.dataRecipientsList = dataRecipientsList
202
+ this.descriptionOfService = descriptionOfService
203
+ this.history = history
204
+ this.historyDescription = historyDescription
205
+ this.legalBasisList = legalBasisList
206
+ this.legalBasisInfo = legalBasisInfo
207
+ this.processingCompanyTitle = processingCompanyTitle
208
+ this.retentionPeriod = retentionPeriod
209
+ this.technologiesUsed = technologiesUsed
210
+ this.technologiesUsedInfo = technologiesUsedInfo
211
+ this.cookiePolicyInfo = cookiePolicyInfo
212
+ this.optOut = optOut
213
+ this.policyOf = policyOf
214
+ this.imprintLinkText = imprintLinkText
215
+ this.privacyPolicyLinkText = privacyPolicyLinkText
216
+ this.categories = categories
217
+ this.anyDomain = anyDomain
218
+ this.day = day
219
+ this.days = days
220
+ this.domain = domain
221
+ this.duration = duration
222
+ this.informationLoadingNotPossible = informationLoadingNotPossible
223
+ this.hour = hour
224
+ this.hours = hours
225
+ this.identifier = identifier
226
+ this.maximumAgeCookieStorage = maximumAgeCookieStorage
227
+ this.minute = minute
228
+ this.minutes = minutes
229
+ this.month = month
230
+ this.months = months
231
+ this.multipleDomains = multipleDomains
232
+ this.no = no
233
+ this.nonCookieStorage = nonCookieStorage
234
+ this.seconds = seconds
235
+ this.session = session
236
+ this.loadingStorageInformation = loadingStorageInformation
237
+ this.storageInformation = storageInformation
238
+ this.detailedStorageInformation = detailedStorageInformation
239
+ this.tryAgain = tryAgain
240
+ this.type = type
241
+ this.year = year
242
+ this.years = years
243
+ this.yes = yes
244
+ this.storageInformationDescription = storageInformationDescription
245
+ this.btnBannerReadMore = btnBannerReadMore
246
+ this.readLess = readLess
247
+ this.btnMore = btnMore
248
+ this.more = more
249
+ this.linkToDpaInfo = linkToDpaInfo
250
+ this.second = second
251
+ this.consent = consent
252
+ this.headerModal = headerModal
253
+ this.secondLayerDescriptionHtml = secondLayerDescriptionHtml
254
+ this.secondLayerTitle = secondLayerTitle
255
+ this.settings = settings
256
+ this.subConsents = subConsents
257
+ this.btnAccept = btnAccept
258
+ this.poweredBy = poweredBy
259
+ this.dataProtectionOfficer = dataProtectionOfficer
260
+ this.nameOfProcessingCompany = nameOfProcessingCompany
261
+ this.btnBack = btnBack
262
+ this.copy = copy
263
+ this.copied = copied
264
+ this.basic = basic
265
+ this.advanced = advanced
266
+ this.processingCompany = processingCompany
267
+ this.name = name
268
+ this.explicit = explicit
269
+ this.implicit = implicit
270
+ this.btnMoreInfo = btnMoreInfo
271
+ this.furtherInformationOptOut = furtherInformationOptOut
272
+ this.cookiePolicyLinkText = cookiePolicyLinkText
273
+ this.noImplicit = noImplicit
274
+ this.yesImplicit = yesImplicit
275
+ }
276
+ }
@@ -0,0 +1,32 @@
1
+ export class UsercentricsLocation {
2
+
3
+ /// The country code. E.g 'DE'.
4
+ countryCode: string
5
+
6
+ /// The region code following the local format. E.g 'CA'.
7
+ regionCode: string
8
+
9
+ /// True, if the location is inside the European Union. False, it not.
10
+ isInEU: boolean
11
+
12
+ /// True, if the location is inside the United States of America. False, it not.
13
+ isInUS: boolean
14
+
15
+ /// True, if the location is inside the state of California. False, it not.
16
+ isInCalifornia: boolean
17
+
18
+ constructor(
19
+ countryCode: string,
20
+ regionCode: string,
21
+ isInEU: boolean,
22
+ isInUS: boolean,
23
+ isInCalifornia: boolean
24
+ ) {
25
+ this.countryCode = countryCode
26
+ this.regionCode = regionCode
27
+ this.isInEU = isInEU
28
+ this.isInUS = isInUS
29
+ this.isInCalifornia = isInCalifornia
30
+ }
31
+
32
+ }
@@ -0,0 +1,7 @@
1
+ export enum UsercentricsLoggerLevel {
2
+
3
+ none = 0,
4
+ error = 1,
5
+ warning = 2,
6
+ debug = 3
7
+ }
@@ -0,0 +1,45 @@
1
+ import {NetworkMode, UsercentricsLoggerLevel} from ".";
2
+
3
+ export class UsercentricsOptions {
4
+ settingsId?: string;
5
+ ruleSetId?: string;
6
+ defaultLanguage?: string;
7
+ loggerLevel?: UsercentricsLoggerLevel;
8
+ timeoutMillis?: number;
9
+ version?: string;
10
+ networkMode?: NetworkMode;
11
+ consentMediation?: Boolean;
12
+ initTimeoutMillis?: number;
13
+
14
+ constructor({
15
+ settingsId = "",
16
+ ruleSetId = "",
17
+ defaultLanguage = undefined,
18
+ loggerLevel = undefined,
19
+ timeoutMillis = undefined,
20
+ version = undefined,
21
+ networkMode = undefined,
22
+ consentMediation = undefined,
23
+ initTimeoutMillis = undefined
24
+ }: {
25
+ settingsId?: string,
26
+ ruleSetId?: string,
27
+ defaultLanguage?: string,
28
+ loggerLevel?: UsercentricsLoggerLevel,
29
+ timeoutMillis?: number,
30
+ version?: string,
31
+ networkMode?: NetworkMode,
32
+ consentMediation?: Boolean,
33
+ initTimeoutMillis?: number
34
+ }) {
35
+ this.settingsId = settingsId;
36
+ this.ruleSetId = ruleSetId;
37
+ this.defaultLanguage = defaultLanguage
38
+ this.loggerLevel = loggerLevel
39
+ this.timeoutMillis = timeoutMillis
40
+ this.version = version
41
+ this.networkMode = networkMode
42
+ this.consentMediation = consentMediation
43
+ this.initTimeoutMillis = initTimeoutMillis
44
+ }
45
+ }
@@ -0,0 +1,20 @@
1
+ import {UsercentricsLocation, UsercentricsServiceConsent} from "."
2
+ import {GeolocationRuleset} from "./GeolocationRuleset";
3
+
4
+ export class UsercentricsReadyStatus {
5
+
6
+ shouldCollectConsent: boolean
7
+ consents: [UsercentricsServiceConsent]
8
+ geolocationRuleset?: GeolocationRuleset;
9
+ location: UsercentricsLocation;
10
+
11
+ constructor(shouldCollectConsent: boolean,
12
+ consents: [UsercentricsServiceConsent],
13
+ location: UsercentricsLocation,
14
+ geolocationRuleSet?: GeolocationRuleset,) {
15
+ this.shouldCollectConsent = shouldCollectConsent
16
+ this.consents = consents
17
+ this.geolocationRuleset = geolocationRuleSet
18
+ this.location = location
19
+ }
20
+ }
@@ -0,0 +1,134 @@
1
+ import {ConsentDisclosureObject} from "./ConsentDisclosureObject";
2
+
3
+ export class UsercentricsService {
4
+
5
+ /// The template ID of the service.
6
+ templateId: string
7
+
8
+ /// The version of the service.
9
+ version: string
10
+
11
+ /// The category slug identifier of the service.
12
+ categorySlug: string
13
+
14
+ isEssential: boolean
15
+
16
+ type: string
17
+ dataProcessor: string
18
+ dataPurposes: [string]
19
+ processingCompany: string
20
+ nameOfProcessingCompany: string
21
+ addressOfProcessingCompany: string
22
+ descriptionOfService: string
23
+ languagesAvailable: [string]
24
+ dataCollectedList: [string]
25
+ dataPurposesList: [string]
26
+ dataRecipientsList: [string]
27
+ legalBasisList: [string]
28
+ retentionPeriodList: [string]
29
+ subConsents: [string]
30
+ language: string
31
+ linkToDpa: string
32
+ legalGround: string
33
+ optOutUrl: string
34
+ policyOfProcessorUrl: string
35
+ retentionPeriodDescription: string
36
+ dataProtectionOfficer: string
37
+ privacyPolicyURL: string
38
+ cookiePolicyURL: string
39
+ locationOfProcessing: string
40
+ dataCollectedDescription: string
41
+ thirdCountryTransfer: string
42
+ description: string
43
+ cookieMaxAgeSeconds: number
44
+ usesNonCookieAccess?: boolean
45
+ deviceStorageDisclosureUrl: string
46
+ technologyUsed: [string]
47
+ isDeactivated?: boolean
48
+ disableLegalBasis?: boolean
49
+ deviceStorage?: ConsentDisclosureObject
50
+ isHidden: boolean
51
+
52
+ constructor(
53
+ templateId: string,
54
+ version: string,
55
+ categorySlug: string,
56
+ type: string,
57
+ isEssential: boolean,
58
+ dataProcessor: string,
59
+ dataPurposes: [string],
60
+ processingCompany: string,
61
+ nameOfProcessingCompany: string,
62
+ addressOfProcessingCompany: string,
63
+ descriptionOfService: string,
64
+ languagesAvailable: [string],
65
+ dataCollectedList: [string],
66
+ dataPurposesList: [string],
67
+ dataRecipientsList: [string],
68
+ legalBasisList: [string],
69
+ retentionPeriodList: [string],
70
+ subConsents: [string],
71
+ language: string,
72
+ linkToDpa: string,
73
+ legalGround: string,
74
+ optOutUrl: string,
75
+ policyOfProcessorUrl: string,
76
+ retentionPeriod: number,
77
+ retentionPeriodDescription: string,
78
+ dataProtectionOfficer: string,
79
+ privacyPolicyURL: string,
80
+ cookiePolicyURL: string,
81
+ locationOfProcessing: string,
82
+ dataCollectedDescription: string,
83
+ thirdCountryTransfer: string,
84
+ description: string,
85
+ cookieMaxAgeSeconds: number,
86
+ deviceStorageDisclosureUrl: string,
87
+ technologyUsed: [string],
88
+ isHidden: boolean,
89
+ isDeactivated?: boolean,
90
+ disableLegalBasis?: boolean,
91
+ usesNonCookieAccess?: boolean,
92
+ deviceStorage?: ConsentDisclosureObject,
93
+ ) {
94
+ this.templateId = templateId
95
+ this.version = version
96
+ this.categorySlug = categorySlug
97
+ this.type = type
98
+ this.dataProcessor = dataProcessor
99
+ this.dataPurposes = dataPurposes
100
+ this.processingCompany = processingCompany
101
+ this.nameOfProcessingCompany = nameOfProcessingCompany
102
+ this.addressOfProcessingCompany = addressOfProcessingCompany
103
+ this.descriptionOfService = descriptionOfService
104
+ this.languagesAvailable = languagesAvailable
105
+ this.dataCollectedList = dataCollectedList
106
+ this.dataPurposesList = dataPurposesList
107
+ this.dataRecipientsList = dataRecipientsList
108
+ this.legalBasisList = legalBasisList
109
+ this.retentionPeriodList = retentionPeriodList
110
+ this.subConsents = subConsents
111
+ this.language = language
112
+ this.linkToDpa = linkToDpa
113
+ this.legalGround = legalGround
114
+ this.optOutUrl = optOutUrl
115
+ this.policyOfProcessorUrl = policyOfProcessorUrl
116
+ this.retentionPeriodDescription = retentionPeriodDescription
117
+ this.dataProtectionOfficer = dataProtectionOfficer
118
+ this.privacyPolicyURL = privacyPolicyURL
119
+ this.cookiePolicyURL = cookiePolicyURL
120
+ this.locationOfProcessing = locationOfProcessing
121
+ this.dataCollectedDescription = dataCollectedDescription
122
+ this.thirdCountryTransfer = thirdCountryTransfer
123
+ this.description = description
124
+ this.cookieMaxAgeSeconds = cookieMaxAgeSeconds
125
+ this.usesNonCookieAccess = usesNonCookieAccess
126
+ this.deviceStorageDisclosureUrl = deviceStorageDisclosureUrl
127
+ this.isDeactivated = isDeactivated
128
+ this.disableLegalBasis = disableLegalBasis
129
+ this.isEssential = isEssential
130
+ this.technologyUsed = technologyUsed
131
+ this.deviceStorage = deviceStorage
132
+ this.isHidden = isHidden
133
+ }
134
+ }
@@ -0,0 +1,37 @@
1
+ import {UsercentricsConsentType} from "."
2
+
3
+ export class UsercentricsServiceConsent {
4
+
5
+ templateId: string
6
+ status: boolean
7
+ dataProcessor: string
8
+ version: string
9
+ type: UsercentricsConsentType
10
+ isEssential: boolean
11
+ history: UsercentricsConsentHistoryEntry[]
12
+ category: string
13
+
14
+ constructor(templateId: string, status: boolean, dataProcessor: string, version: string, type: UsercentricsConsentType, isEssential: boolean, history: UsercentricsConsentHistoryEntry[], category: string) {
15
+ this.templateId = templateId
16
+ this.status = status
17
+ this.dataProcessor = dataProcessor
18
+ this.version = version
19
+ this.type = type
20
+ this.isEssential = isEssential
21
+ this.history = history
22
+ this.category = category;
23
+ }
24
+ }
25
+
26
+ export class UsercentricsConsentHistoryEntry {
27
+
28
+ status: boolean
29
+ type: UsercentricsConsentType
30
+ timestampInMillis: number
31
+
32
+ constructor(status: boolean, type: UsercentricsConsentType, timestampInMillis: number) {
33
+ this.status = status;
34
+ this.type = type;
35
+ this.timestampInMillis = timestampInMillis;
36
+ }
37
+ }