@consentera/consent-sdk 2.0.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.
- package/CHANGELOG.md +245 -0
- package/LICENSE +21 -0
- package/README.md +489 -0
- package/dist/consentera-consent.cjs +4919 -0
- package/dist/consentera-consent.cjs.map +1 -0
- package/dist/consentera-consent.min.js +2 -0
- package/dist/consentera-consent.min.js.map +1 -0
- package/dist/consentera-consent.mjs +4864 -0
- package/dist/consentera-consent.mjs.map +1 -0
- package/dist/react/index.cjs +2731 -0
- package/dist/react/index.cjs.map +1 -0
- package/dist/react/index.mjs +2724 -0
- package/dist/react/index.mjs.map +1 -0
- package/dist/types/consent/CallbackHandler.d.ts +246 -0
- package/dist/types/consent/ConsentManager.d.ts +128 -0
- package/dist/types/consent/ConsentSession.d.ts +127 -0
- package/dist/types/consent/ConsentValidator.d.ts +63 -0
- package/dist/types/consent/artifactRead.d.ts +48 -0
- package/dist/types/consent/consentPopup.d.ts +115 -0
- package/dist/types/core/ConsentEraClient.d.ts +106 -0
- package/dist/types/core/ConsenteraConsent.d.ts +163 -0
- package/dist/types/core/errors.d.ts +108 -0
- package/dist/types/core/http.d.ts +176 -0
- package/dist/types/core/version.d.ts +36 -0
- package/dist/types/df/DFConfigClient.d.ts +59 -0
- package/dist/types/gcm/ConsentModeBridge.d.ts +54 -0
- package/dist/types/gpp/GPPManager.d.ts +62 -0
- package/dist/types/index.d.mts +5 -0
- package/dist/types/index.d.ts +28 -0
- package/dist/types/principal/PrincipalClient.d.ts +34 -0
- package/dist/types/react/ConsentEraProvider.d.ts +58 -0
- package/dist/types/react/ConsentGate.d.ts +40 -0
- package/dist/types/react/index.d.mts +4 -0
- package/dist/types/react/index.d.ts +10 -0
- package/dist/types/react/useConsentEra.d.ts +65 -0
- package/dist/types/react/useConsentValidation.d.ts +23 -0
- package/dist/types/storage/ConsentStorage.d.ts +39 -0
- package/dist/types/tcf/TCFManager.d.ts +46 -0
- package/dist/types/types/consent-lifecycle.d.ts +804 -0
- package/dist/types/types/index.d.ts +311 -0
- package/dist/types/ui/ConsentBanner.d.ts +22 -0
- package/dist/types/ui/PreferenceCenter.d.ts +24 -0
- package/dist/types/utils/EventEmitter.d.ts +32 -0
- package/dist/types/utils/Logger.d.ts +16 -0
- package/dist/types/utils/browserStorage.d.ts +35 -0
- package/dist/types/utils/context.d.ts +81 -0
- package/dist/types/utils/helpers.d.ts +48 -0
- package/package.json +132 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/core/errors.ts","../../src/consent/artifactRead.ts","../../src/utils/browserStorage.ts","../../src/core/version.ts","../../src/core/http.ts","../../src/consent/consentPopup.ts","../../src/consent/ConsentSession.ts","../../src/utils/context.ts","../../src/consent/ConsentValidator.ts","../../src/consent/ConsentManager.ts","../../src/consent/CallbackHandler.ts","../../src/df/DFConfigClient.ts","../../src/principal/PrincipalClient.ts","../../src/utils/EventEmitter.ts","../../src/utils/Logger.ts","../../src/core/ConsentEraClient.ts","../../src/react/ConsentEraProvider.tsx","../../src/react/useConsentEra.ts","../../src/react/useConsentValidation.ts","../../src/react/ConsentGate.tsx"],"names":["_jsx","_Fragment"],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Consentera Consent SDK — Callback Handler
|
|
3
|
+
*
|
|
4
|
+
* ─── THIS ROAD FAILS CLOSED, AND BEFORE 2.0.0 IT DID NOT ───────────────────
|
|
5
|
+
*
|
|
6
|
+
* The 1.x handler read `session_id`, `artifact_id` and `status` out of
|
|
7
|
+
* `window.location.search`, looked up the stored session, logged
|
|
8
|
+
* "Callback verified against stored session" — and then verified NOTHING. It
|
|
9
|
+
* never parsed the record it had stored, never compared the nonce, never
|
|
10
|
+
* compared the notice hash, and returned `status: 'completed'` for any URL
|
|
11
|
+
* carrying an `artifact_id` (the `normalizeStatus` default). A link to
|
|
12
|
+
*
|
|
13
|
+
* https://your-site.example/consent/done?session_id=x&artifact_id=y
|
|
14
|
+
*
|
|
15
|
+
* made `consent.handleCallback()` answer "completed" with no consent given.
|
|
16
|
+
* The log line said "verified" the whole time, which is why it survived review.
|
|
17
|
+
*
|
|
18
|
+
* What replaces it:
|
|
19
|
+
*
|
|
20
|
+
* 1. The stored record is PARSED. Its session id must equal the one in the
|
|
21
|
+
* URL, and the `state` THIS SDK minted and put on callback_url at create
|
|
22
|
+
* must come back on the return. A mismatch, an absence, or an
|
|
23
|
+
* unparseable record is `unverified`.
|
|
24
|
+
*
|
|
25
|
+
* IT IS THE SDK'S OWN STATE, NOT THE SERVER'S challengeNonce. Until the
|
|
26
|
+
* callback-contract fix this compared the create response's
|
|
27
|
+
* `challengeNonce` with a `nonce` on the return — and the platform's
|
|
28
|
+
* return never carries one (collection.go:4225-4288 adds session_id,
|
|
29
|
+
* artifact_id, status, pending and, when signed, sig). challengeNonce is
|
|
30
|
+
* the hosted page's own credential: it rides consent_url
|
|
31
|
+
* (`/collect/<id>?nonce=…`, :2010) and comes back on the page's submit
|
|
32
|
+
* (:3509-3543). So every genuine web redirect came back `unverified`.
|
|
33
|
+
* The state survives because the platform builds the return ON TOP of
|
|
34
|
+
* callback_url's existing query — the mobile SDKs' binding, the same way.
|
|
35
|
+
* 2. `completed` is only ever reached by CONFIRMING THE ARTIFACT with the
|
|
36
|
+
* platform — `GET /consent/artifacts/{id}` through the same road the rest
|
|
37
|
+
* of the SDK uses, which in a browser is the Data Fiduciary's proxy. The
|
|
38
|
+
* URL is a claim; the artifact is the evidence.
|
|
39
|
+
* 3. Everything else is `unverified`. There is no path from a query string to
|
|
40
|
+
* `completed`.
|
|
41
|
+
*
|
|
42
|
+
* `parseCallback` is therefore ASYNC now. The synchronous
|
|
43
|
+
* {@link CallbackHandler.readCallbackParams} is kept for a caller that only
|
|
44
|
+
* wants to know what the URL says — it is named so that using it as a decision
|
|
45
|
+
* is visibly the wrong thing.
|
|
46
|
+
*/
|
|
47
|
+
import { Logger } from '../utils/Logger';
|
|
48
|
+
import type { ConsentArtifact } from '../types/consent-lifecycle';
|
|
49
|
+
import type { RequestOptions } from '../core/http';
|
|
50
|
+
type RequestFn = <T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body?: unknown, queryParams?: Record<string, string | number | boolean | undefined | null>, options?: RequestOptions) => Promise<T>;
|
|
51
|
+
/**
|
|
52
|
+
* THE STATUS VOCABULARY THE PLATFORM ISSUES ON A CALLBACK — and only these.
|
|
53
|
+
*
|
|
54
|
+
* consent/collection.go (platform pre-main 35cd853ac7) derives it at
|
|
55
|
+
* :4094-4098 — `granted`; no purpose granted → `denied`; some denied →
|
|
56
|
+
* `partial` — and SETS it on the redirect at :4243. The hosted page's
|
|
57
|
+
* postMessage carries the same three (consent/consentPopup.ts). Anything else
|
|
58
|
+
* on a callback — `completed`, `success`, `expired`, a different case, an
|
|
59
|
+
* absent value — did not come from the platform, and is `unknown`.
|
|
60
|
+
*/
|
|
61
|
+
export type CallbackClaimedStatus = 'granted' | 'partial' | 'denied' | 'unknown';
|
|
62
|
+
/** Map the raw `status` query value onto the platform's vocabulary. Exact match: the server writes lowercase. */
|
|
63
|
+
export declare function claimedCallbackStatus(raw: string | null | undefined): CallbackClaimedStatus;
|
|
64
|
+
/** What the callback URL claims, before anything has been checked. */
|
|
65
|
+
export interface CallbackParams {
|
|
66
|
+
session_id: string;
|
|
67
|
+
artifact_id?: string;
|
|
68
|
+
raw_status: string;
|
|
69
|
+
/**
|
|
70
|
+
* `raw_status` read against the platform's vocabulary. A HINT: it is a query
|
|
71
|
+
* parameter, and anyone can type one. Confirm by reading the consent record
|
|
72
|
+
* back (through your backend, or {@link CallbackHandler.parseCallback}).
|
|
73
|
+
*/
|
|
74
|
+
claimed_status: CallbackClaimedStatus;
|
|
75
|
+
/**
|
|
76
|
+
* `pending=1` on the URL (collection.go:4274, walk finding F018): the consent
|
|
77
|
+
* was recorded and its artifact is STILL BEING WRITTEN, so a read right now
|
|
78
|
+
* may answer 202 + Retry-After. It is a constant on the platform's capture
|
|
79
|
+
* road, it is NOT signed, and a browser can add or strip it — so it only
|
|
80
|
+
* tells you to expect a wait, never whether a consent exists.
|
|
81
|
+
*/
|
|
82
|
+
pending: boolean;
|
|
83
|
+
/** The `state` this SDK put on callback_url at create, echoed back by the platform. */
|
|
84
|
+
state?: string;
|
|
85
|
+
/** The platform's HMAC over `session_id|artifact_id|status`, when signed. */
|
|
86
|
+
sig?: string;
|
|
87
|
+
error?: string;
|
|
88
|
+
}
|
|
89
|
+
export type CallbackStatus =
|
|
90
|
+
/**
|
|
91
|
+
* The artifact was read back from the platform for this session. The
|
|
92
|
+
* callback claimed `granted` or `partial` — see `claimed_status` for which;
|
|
93
|
+
* the artifact's purposes are the authority on what was granted.
|
|
94
|
+
*/
|
|
95
|
+
'completed'
|
|
96
|
+
/** The callback claimed `denied` and the round trip verified. */
|
|
97
|
+
| 'denied'
|
|
98
|
+
/** The URL carried an `error` parameter. Not something the platform's capture road issues. */
|
|
99
|
+
| 'error'
|
|
100
|
+
/**
|
|
101
|
+
* The consent WAS recorded — the platform said so with a 202 on the artifact
|
|
102
|
+
* read for this session — but the artifact is not readable yet. It is
|
|
103
|
+
* written ASYNCHRONOUSLY after submit; measured 5.2–10.8s to become readable
|
|
104
|
+
* on a saturated box (walk finding F018). This is never a failure and never
|
|
105
|
+
* a `completed`: read it again with `getArtifact(id, { sessionId })` after
|
|
106
|
+
* `retryAfterMs`, or read it server-side.
|
|
107
|
+
*
|
|
108
|
+
* It is reached ONLY from a 202. A 404 is not a pending (WEB-033): with the
|
|
109
|
+
* session id on the read, a 404 means the id was never issued for it.
|
|
110
|
+
*/
|
|
111
|
+
| 'pending'
|
|
112
|
+
/** Nothing here is proven. Treat exactly as "no consent". */
|
|
113
|
+
| 'unverified';
|
|
114
|
+
/**
|
|
115
|
+
* Verify the platform's `sig` parameter.
|
|
116
|
+
*
|
|
117
|
+
* ─── WHO CAN DO THIS, AND WHERE ────────────────────────────────────────────
|
|
118
|
+
*
|
|
119
|
+
* The platform signs the callback when the Data Fiduciary has registered a
|
|
120
|
+
* `callback_signing_secret` on its m2m_client:
|
|
121
|
+
*
|
|
122
|
+
* sig = hex( HMAC_SHA256( callback_signing_secret,
|
|
123
|
+
* session_id + "|" + artifact_id + "|" + status ) )
|
|
124
|
+
*
|
|
125
|
+
* (signCallbackParams in consent/collection.go, added to the URL at :4280-4288
|
|
126
|
+
* on platform pre-main 35cd853ac7, through the same setter as `status`.)
|
|
127
|
+
*
|
|
128
|
+
* THE KEY IS THE DF'S SHARED SECRET, so it cannot live in a browser — verifying
|
|
129
|
+
* there would mean publishing it to every visitor, which is the same mistake as
|
|
130
|
+
* a secret API key in a bundle. In a browser, point this at your own server:
|
|
131
|
+
*
|
|
132
|
+
* new ConsentEraClient({ …, verifyCallbackSignature: async (p) =>
|
|
133
|
+
* (await fetch('/api/consentera/verify-callback', {
|
|
134
|
+
* method: 'POST', body: JSON.stringify(p) })).ok })
|
|
135
|
+
*
|
|
136
|
+
* On a server, {@link verifyCallbackSignature} computes it directly.
|
|
137
|
+
*
|
|
138
|
+
* Return false and the result is `unverified`. Configure nothing and a callback
|
|
139
|
+
* that CARRIES a sig is also `unverified` — a signature nobody checks is not a
|
|
140
|
+
* control, and silently ignoring one the platform bothered to produce is how a
|
|
141
|
+
* spoofed redirect gets accepted.
|
|
142
|
+
*/
|
|
143
|
+
export type CallbackSignatureVerifier = (params: {
|
|
144
|
+
sessionId: string;
|
|
145
|
+
artifactId: string;
|
|
146
|
+
status: string;
|
|
147
|
+
sig: string;
|
|
148
|
+
}) => boolean | Promise<boolean>;
|
|
149
|
+
/**
|
|
150
|
+
* Compute and compare the platform's callback signature. SERVER-SIDE ONLY —
|
|
151
|
+
* the secret must never reach a browser.
|
|
152
|
+
*
|
|
153
|
+
* The canonical string is `session_id + "|" + artifact_id + "|" + status`, in
|
|
154
|
+
* that order, with the raw values as they appear on the URL.
|
|
155
|
+
*/
|
|
156
|
+
export declare function verifyCallbackSignature(secret: string, params: {
|
|
157
|
+
sessionId: string;
|
|
158
|
+
artifactId: string;
|
|
159
|
+
status: string;
|
|
160
|
+
sig: string;
|
|
161
|
+
}): Promise<boolean>;
|
|
162
|
+
export interface CallbackResult {
|
|
163
|
+
session_id: string;
|
|
164
|
+
artifact_id?: string;
|
|
165
|
+
/** What the URL claimed (`granted|partial|denied`, else `unknown`). A hint, never proof. */
|
|
166
|
+
claimed_status: CallbackClaimedStatus;
|
|
167
|
+
/** Whether the URL carried `pending=1` — the record was still being written. A hint, never proof. */
|
|
168
|
+
claimed_pending: boolean;
|
|
169
|
+
/**
|
|
170
|
+
* `completed` means the artifact was fetched from the platform and belongs to
|
|
171
|
+
* this session. Everything unproven is `unverified` — never `completed`.
|
|
172
|
+
*/
|
|
173
|
+
status: CallbackStatus;
|
|
174
|
+
/** Why it is not completed, when it is not. */
|
|
175
|
+
reason?: string;
|
|
176
|
+
/** Whether the platform's `sig` was present and verified. */
|
|
177
|
+
signature?: 'verified' | 'unverifiable' | 'absent' | 'invalid';
|
|
178
|
+
error?: string;
|
|
179
|
+
/** The artifact, when status is `completed`. */
|
|
180
|
+
artifact?: ConsentArtifact;
|
|
181
|
+
/** When status is `pending`: when to read the artifact again, in ms. */
|
|
182
|
+
retryAfterMs?: number;
|
|
183
|
+
}
|
|
184
|
+
export interface CallbackHandlerOptions {
|
|
185
|
+
/** See {@link CallbackSignatureVerifier}. */
|
|
186
|
+
verifySignature?: CallbackSignatureVerifier;
|
|
187
|
+
/**
|
|
188
|
+
* How long to wait for the artifact to become readable, in ms. The artifact
|
|
189
|
+
* is written asynchronously after submit; while it is, the platform answers
|
|
190
|
+
* 202 with a Retry-After (measured 5.2–10.8s on a saturated box). Default
|
|
191
|
+
* 15000. Set 0 to not wait, which returns `pending` on the first 202.
|
|
192
|
+
*/
|
|
193
|
+
artifactWaitMs?: number;
|
|
194
|
+
}
|
|
195
|
+
export declare class CallbackHandler {
|
|
196
|
+
private logger;
|
|
197
|
+
private request;
|
|
198
|
+
private options;
|
|
199
|
+
constructor(logger: Logger, request?: RequestFn, options?: CallbackHandlerOptions);
|
|
200
|
+
/**
|
|
201
|
+
* Read the callback URL's claims. THIS IS NOT A DECISION — the values come
|
|
202
|
+
* from the address bar and anyone can type them. Use {@link parseCallback}.
|
|
203
|
+
*/
|
|
204
|
+
readCallbackParams(searchParams?: string | URLSearchParams): CallbackParams;
|
|
205
|
+
/**
|
|
206
|
+
* Verify a consent callback. Resolves `completed` ONLY when the stored
|
|
207
|
+
* session matches and the artifact was confirmed with the platform.
|
|
208
|
+
*/
|
|
209
|
+
parseCallback(searchParams?: string | URLSearchParams): Promise<CallbackResult>;
|
|
210
|
+
/**
|
|
211
|
+
* Read the artifact back FOR THIS SESSION, waiting while the platform says
|
|
212
|
+
* it is still being written.
|
|
213
|
+
*
|
|
214
|
+
* THE READ CARRIES ?session_id=, AND THAT DECIDES WHAT A 404 MEANS (WEB-033).
|
|
215
|
+
* With it the platform answers 202 + Retry-After while the projection is
|
|
216
|
+
* owed and 404 only when the id was never issued for this session (or will
|
|
217
|
+
* never be written). Until WEB-033 the read went out without it, so every
|
|
218
|
+
* absence was a 404, and this method polled every 404 as "maybe pending" — a
|
|
219
|
+
* forged artifact_id came back `pending` instead of refused.
|
|
220
|
+
*
|
|
221
|
+
* 200 the artifact. Then it must name the person this browser's session
|
|
222
|
+
* was created for (below). Then `completed`.
|
|
223
|
+
* 202 recorded, not readable yet: wait Retry-After inside the budget, else
|
|
224
|
+
* `pending`.
|
|
225
|
+
* 404 `unverified`, at once. Not polled: it is an answer, not a delay.
|
|
226
|
+
* else `unverified` (403, network, timeout — unproven is unproven).
|
|
227
|
+
*
|
|
228
|
+
* THE BINDING IS THE PERSON, NOT A RESPONSE FIELD (WEB-034). This method used
|
|
229
|
+
* to compare `consent_session_id` on the artifact with the callback's
|
|
230
|
+
* session. The platform's artifact carries no such field (measured on
|
|
231
|
+
* setup.consentera.in, fixtures/platform-wire/artifact-read.200.*.json), so
|
|
232
|
+
* the check was skipped on every real response and bound nothing. What the
|
|
233
|
+
* artifact does carry is `data_principal_id`, and the session create
|
|
234
|
+
* returned the same field for the person the session is about. They must be
|
|
235
|
+
* equal. This matters because the platform's 200 path does not check the
|
|
236
|
+
* session (walk finding F077, measured: the same artifact read with a random
|
|
237
|
+
* session_id is still 200), so without it a callback carrying someone
|
|
238
|
+
* else's artifact_id would confirm.
|
|
239
|
+
*/
|
|
240
|
+
private confirmArtifact;
|
|
241
|
+
/** Is this page a consent callback? Says nothing about whether it is genuine. */
|
|
242
|
+
isCallback(searchParams?: string): boolean;
|
|
243
|
+
/** Record the outcome for the popup flow to collect, and log it. */
|
|
244
|
+
private finish;
|
|
245
|
+
}
|
|
246
|
+
export {};
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ConsentEra Consent SDK — Consent Lifecycle Manager
|
|
3
|
+
* Update, withdraw, and renew consent decisions
|
|
4
|
+
*/
|
|
5
|
+
import { UpdateContextResponse, ConsentUpdate, WithdrawalContextResponse, RenewalContextResponse, RenewResponse, BulkRenewResponse, WithdrawalAnalytics } from '../types/consent-lifecycle';
|
|
6
|
+
import { type ContextMode } from '../utils/context';
|
|
7
|
+
import { Logger } from '../utils/Logger';
|
|
8
|
+
import { type RequestOptions, type TransportResponse } from '../core/http';
|
|
9
|
+
type RequestFn = <T>(method: 'GET' | 'POST' | 'PUT' | 'DELETE', path: string, body?: unknown, queryParams?: Record<string, string | number | boolean | undefined | null>, options?: RequestOptions) => Promise<T>;
|
|
10
|
+
/** Per-call knobs every mutation accepts. */
|
|
11
|
+
export interface MutationOptions {
|
|
12
|
+
/**
|
|
13
|
+
* The idempotency key for this LOGICAL consent change. Supply it and a repeat
|
|
14
|
+
* of the same user action — a double-clicked Save, a retried job — collapses
|
|
15
|
+
* into one write instead of two. Omitted, the SDK mints one per call and
|
|
16
|
+
* reuses it across its own retries.
|
|
17
|
+
*/
|
|
18
|
+
idempotencyKey?: string;
|
|
19
|
+
signal?: AbortSignal;
|
|
20
|
+
timeoutMs?: number;
|
|
21
|
+
}
|
|
22
|
+
export declare class ConsentManager {
|
|
23
|
+
private request;
|
|
24
|
+
private logger;
|
|
25
|
+
/**
|
|
26
|
+
* Called after every successful consent mutation with
|
|
27
|
+
* {dataPrincipalId, changes:[{purpose_id,status}], source}. The client wires this
|
|
28
|
+
* to its EventEmitter as the public `consent.changed` event — downstream
|
|
29
|
+
* code (tracker gates, Consent Mode bridges) subscribes instead of polling.
|
|
30
|
+
*/
|
|
31
|
+
onChanged?: (payload: {
|
|
32
|
+
dataPrincipalId: string;
|
|
33
|
+
changes: {
|
|
34
|
+
purpose_id: string;
|
|
35
|
+
status: string;
|
|
36
|
+
}[];
|
|
37
|
+
source: string;
|
|
38
|
+
}) => void;
|
|
39
|
+
private contextMode;
|
|
40
|
+
constructor(request: RequestFn, logger: Logger, options?: {
|
|
41
|
+
contextMode?: ContextMode;
|
|
42
|
+
});
|
|
43
|
+
/** The client context for a mutation, at whatever detail the host allowed. */
|
|
44
|
+
private context;
|
|
45
|
+
/** One key per logical operation, reused by the transport across its retries. */
|
|
46
|
+
private mutation;
|
|
47
|
+
private emitChanged;
|
|
48
|
+
/**
|
|
49
|
+
* Get the current consent context for a data principal.
|
|
50
|
+
* Returns all consents with their current status.
|
|
51
|
+
*
|
|
52
|
+
* ─── THIS ROAD TAKES THE ID AND NOTHING ELSE ──────────────────────────
|
|
53
|
+
*
|
|
54
|
+
* It is a GET, so the only place an identifier could go is the query string,
|
|
55
|
+
* and the platform refuses to put one there: a query string is written
|
|
56
|
+
* VERBATIM into the access log of every hop that sees the request line, kept
|
|
57
|
+
* in browser history, and sent onward in the Referer header
|
|
58
|
+
* (consent/lifecycle_identity.go:120-133). So this road was RESTRICTED to
|
|
59
|
+
* `data_principal_id`, not converted to identifiers the way the POST roads
|
|
60
|
+
* were — `?data_principal_ref=` is refused `DATA_PRINCIPAL_REF_REFUSED`
|
|
61
|
+
* even when `data_principal_id` is also present.
|
|
62
|
+
*
|
|
63
|
+
* IF YOU HOLD AN IDENTIFIER AND NOT THE ID: resolve it once with
|
|
64
|
+
* `validate.check({ data_principal_identifiers: … }, purpose)` and read
|
|
65
|
+
* `data_principal_id` off that response, then call this with the id.
|
|
66
|
+
*
|
|
67
|
+
* The parameter used to be `dataPrincipalIdOrRef` and guessed by UUID shape:
|
|
68
|
+
* anything not UUID-shaped went out as `data_principal_ref`, which this road
|
|
69
|
+
* now refuses. The guess is gone — a non-UUID is rejected here, by name.
|
|
70
|
+
*/
|
|
71
|
+
getUpdateContext(dataPrincipalId: string, queryParams?: {
|
|
72
|
+
language_code?: string;
|
|
73
|
+
}): Promise<UpdateContextResponse>;
|
|
74
|
+
/**
|
|
75
|
+
* Update consent decisions for a data principal.
|
|
76
|
+
* Pass an array of purpose updates (grant or deny).
|
|
77
|
+
*/
|
|
78
|
+
update(dataPrincipalId: string, updates: ConsentUpdate[], context: {
|
|
79
|
+
noticeVersionId: string;
|
|
80
|
+
noticeHash: string;
|
|
81
|
+
languageCode?: string;
|
|
82
|
+
}, uiEventId?: string, options?: MutationOptions): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Convenience: Grant specific purposes.
|
|
85
|
+
*/
|
|
86
|
+
grant(dataPrincipalId: string, purposeIds: string[], context: {
|
|
87
|
+
noticeVersionId: string;
|
|
88
|
+
noticeHash: string;
|
|
89
|
+
languageCode?: string;
|
|
90
|
+
}, uiEventId?: string, options?: MutationOptions): Promise<void>;
|
|
91
|
+
/**
|
|
92
|
+
* Convenience: Deny specific purposes.
|
|
93
|
+
*/
|
|
94
|
+
deny(dataPrincipalId: string, purposeIds: string[], context: {
|
|
95
|
+
noticeVersionId: string;
|
|
96
|
+
noticeHash: string;
|
|
97
|
+
languageCode?: string;
|
|
98
|
+
}, uiEventId?: string, options?: MutationOptions): Promise<void>;
|
|
99
|
+
/**
|
|
100
|
+
* Get the withdrawal context — which consents can be withdrawn.
|
|
101
|
+
*/
|
|
102
|
+
getWithdrawalContext(dataPrincipalId: string): Promise<WithdrawalContextResponse>;
|
|
103
|
+
/**
|
|
104
|
+
* Withdraw consent for specific purposes.
|
|
105
|
+
*/
|
|
106
|
+
withdraw(dataPrincipalId: string, purposeIds: string[], reason?: string, uiEventId?: string, options?: MutationOptions): Promise<void>;
|
|
107
|
+
/**
|
|
108
|
+
* Bulk withdraw consent for multiple purposes.
|
|
109
|
+
*/
|
|
110
|
+
withdrawBulk(dataPrincipalId: string, purposeIds: string[], reason?: string, uiEventId?: string, options?: MutationOptions): Promise<void>;
|
|
111
|
+
/**
|
|
112
|
+
* Get withdrawal analytics (reasons, trends).
|
|
113
|
+
*/
|
|
114
|
+
getWithdrawalAnalytics(): Promise<WithdrawalAnalytics>;
|
|
115
|
+
/**
|
|
116
|
+
* Get the renewal context — which consents are expiring and need renewal.
|
|
117
|
+
*/
|
|
118
|
+
getRenewalContext(dataPrincipalId: string): Promise<RenewalContextResponse>;
|
|
119
|
+
/**
|
|
120
|
+
* Renew consent for specific purposes.
|
|
121
|
+
*/
|
|
122
|
+
renew(dataPrincipalId: string, purposeIds: string[], noticeHash: string, uiEventId?: string, options?: MutationOptions): Promise<TransportResponse<RenewResponse>>;
|
|
123
|
+
/**
|
|
124
|
+
* Bulk renew all expiring consents.
|
|
125
|
+
*/
|
|
126
|
+
renewBulk(dataPrincipalId: string, purposeIds: string[], noticeHash: string, uiEventId?: string, options?: MutationOptions): Promise<TransportResponse<BulkRenewResponse>>;
|
|
127
|
+
}
|
|
128
|
+
export {};
|