@nestarc/data-subject
Classes
DataSubjectError
Defined in: src/errors.ts:32
Extends
Error
Constructors
Constructor
new DataSubjectError(code, reason?): DataSubjectError;Defined in: src/errors.ts:36
Parameters
| Parameter | Type |
|---|---|
code | DataSubjectErrorCode |
reason? | string |
Returns
Overrides
Error.constructorProperties
cause?
optional cause?: unknown;Defined in: node_modules/typescript/lib/lib.es2022.error.d.ts:26
Inherited from
Error.causecode
readonly code: DataSubjectErrorCode;Defined in: src/errors.ts:33
httpStatus
readonly httpStatus: number;Defined in: src/errors.ts:34
message
message: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1077
Inherited from
Error.messagename
name: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1076
Inherited from
Error.namestack?
optional stack?: string;Defined in: node_modules/typescript/lib/lib.es5.d.ts:1078
Inherited from
Error.stackstackTraceLimit
static stackTraceLimit: number;Defined in: node_modules/@types/node/globals.d.ts:68
The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Inherited from
Error.stackTraceLimitMethods
captureStackTrace()
static captureStackTrace(targetObject, constructorOpt?): void;Defined in: node_modules/@types/node/globals.d.ts:52
Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.
The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();Parameters
| Parameter | Type |
|---|---|
targetObject | object |
constructorOpt? | Function |
Returns
void
Inherited from
Error.captureStackTraceprepareStackTrace()
static prepareStackTrace(err, stackTraces): any;Defined in: node_modules/@types/node/globals.d.ts:56
Parameters
| Parameter | Type |
|---|---|
err | Error |
stackTraces | CallSite[] |
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Error.prepareStackTraceDataSubjectModule
Defined in: src/data-subject.module.ts:25
Constructors
Constructor
new DataSubjectModule(): DataSubjectModule;Returns
Methods
forRoot()
static forRoot(options): DynamicModule;Defined in: src/data-subject.module.ts:26
Parameters
| Parameter | Type |
|---|---|
options | DataSubjectModuleOptions |
Returns
DynamicModule
DataSubjectService
Defined in: src/data-subject.service.ts:30
Constructors
Constructor
new DataSubjectService(deps): DataSubjectService;Defined in: src/data-subject.service.ts:43
Parameters
| Parameter | Type |
|---|---|
deps | DataSubjectServiceDeps |
Returns
Methods
erase()
erase(subjectId, tenantId): Promise<DataSubjectRequest>;Defined in: src/data-subject.service.ts:111
Parameters
| Parameter | Type |
|---|---|
subjectId | string |
tenantId | string |
Returns
Promise<DataSubjectRequest>
export()
export(subjectId, tenantId): Promise<DataSubjectRequest>;Defined in: src/data-subject.service.ts:51
Parameters
| Parameter | Type |
|---|---|
subjectId | string |
tenantId | string |
Returns
Promise<DataSubjectRequest>
getRequest()
getRequest(id): Promise<DataSubjectRequest>;Defined in: src/data-subject.service.ts:201
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<DataSubjectRequest>
listByTenant()
listByTenant(tenantId, opts?): Promise<DataSubjectRequest[]>;Defined in: src/data-subject.service.ts:205
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
opts | { state?: RequestState; } |
opts.state? | RequestState |
Returns
Promise<DataSubjectRequest[]>
listOverdue()
listOverdue(): Promise<DataSubjectRequest[]>;Defined in: src/data-subject.service.ts:212
Returns
Promise<DataSubjectRequest[]>
InMemoryArtifactStorage
Defined in: src/storage/in-memory-artifact-storage.ts:3
Implements
Constructors
Constructor
new InMemoryArtifactStorage(): InMemoryArtifactStorage;Returns
Methods
get()
get(key): Promise<
| {
body: Buffer;
contentType: string;
}
| null>;Defined in: src/storage/in-memory-artifact-storage.ts:14
Parameters
| Parameter | Type |
|---|---|
key | string |
Returns
Promise< | { body: Buffer; contentType: string; } | null>
Implementation of
put()
put(
key,
body,
contentType): Promise<string>;Defined in: src/storage/in-memory-artifact-storage.ts:9
Parameters
| Parameter | Type |
|---|---|
key | string |
body | Buffer |
contentType | string |
Returns
Promise<string>
Implementation of
InMemoryRequestStorage
Defined in: src/storage/in-memory-request-storage.ts:7
Implements
Constructors
Constructor
new InMemoryRequestStorage(): InMemoryRequestStorage;Returns
Methods
findById()
findById(id): Promise<DataSubjectRequest | null>;Defined in: src/storage/in-memory-request-storage.ts:33
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<DataSubjectRequest | null>
Implementation of
insert()
insert(req): Promise<void>;Defined in: src/storage/in-memory-request-storage.ts:10
Parameters
| Parameter | Type |
|---|---|
req | DataSubjectRequest |
Returns
Promise<void>
Implementation of
listByTenant()
listByTenant(tenantId, opts?): Promise<DataSubjectRequest[]>;Defined in: src/storage/in-memory-request-storage.ts:38
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
opts | { state?: RequestState; } |
opts.state? | RequestState |
Returns
Promise<DataSubjectRequest[]>
Implementation of
listOverdue()
listOverdue(now): Promise<DataSubjectRequest[]>;Defined in: src/storage/in-memory-request-storage.ts:48
Parameters
| Parameter | Type |
|---|---|
now | Date |
Returns
Promise<DataSubjectRequest[]>
Implementation of
update()
update(id, patch): Promise<void>;Defined in: src/storage/in-memory-request-storage.ts:21
Parameters
| Parameter | Type |
|---|---|
id | string |
patch | Partial<DataSubjectRequest> |
Returns
Promise<void>
Implementation of
PrismaRequestStorage
Defined in: src/storage/prisma-request-storage.ts:21
Implements
Constructors
Constructor
new PrismaRequestStorage(opts): PrismaRequestStorage;Defined in: src/storage/prisma-request-storage.ts:22
Parameters
| Parameter | Type |
|---|---|
opts | PrismaRequestStorageOptions |
Returns
Methods
findById()
findById(id): Promise<DataSubjectRequest | null>;Defined in: src/storage/prisma-request-storage.ts:58
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<DataSubjectRequest | null>
Implementation of
insert()
insert(req): Promise<void>;Defined in: src/storage/prisma-request-storage.ts:24
Parameters
| Parameter | Type |
|---|---|
req | DataSubjectRequest |
Returns
Promise<void>
Implementation of
listByTenant()
listByTenant(tenantId, opts?): Promise<DataSubjectRequest[]>;Defined in: src/storage/prisma-request-storage.ts:63
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
opts | { state?: RequestState; } |
opts.state? | RequestState |
Returns
Promise<DataSubjectRequest[]>
Implementation of
listOverdue()
listOverdue(now): Promise<DataSubjectRequest[]>;Defined in: src/storage/prisma-request-storage.ts:77
Parameters
| Parameter | Type |
|---|---|
now | Date |
Returns
Promise<DataSubjectRequest[]>
Implementation of
update()
update(id, patch): Promise<void>;Defined in: src/storage/prisma-request-storage.ts:38
Parameters
| Parameter | Type |
|---|---|
id | string |
patch | Partial<DataSubjectRequest> |
Returns
Promise<void>
Implementation of
Registry
Defined in: src/registry.ts:10
Constructors
Constructor
new Registry(opts?): Registry;Defined in: src/registry.ts:13
Parameters
| Parameter | Type |
|---|---|
opts | CompileOptions |
Returns
Methods
get()
get(name): RegisteredEntity | undefined;Defined in: src/registry.ts:28
Parameters
| Parameter | Type |
|---|---|
name | string |
Returns
RegisteredEntity | undefined
list()
list(): RegisteredEntity[];Defined in: src/registry.ts:32
Returns
register()
register(input): void;Defined in: src/registry.ts:15
Parameters
| Parameter | Type |
|---|---|
input | RegisterInput |
Returns
void
Interfaces
ArtifactStorage
Defined in: src/storage/artifact-storage.interface.ts:1
Methods
get()
get(key): Promise<
| {
body: Buffer;
contentType: string;
}
| null>;Defined in: src/storage/artifact-storage.interface.ts:3
Parameters
| Parameter | Type |
|---|---|
key | string |
Returns
Promise< | { body: Buffer; contentType: string; } | null>
put()
put(
key,
body,
contentType): Promise<string>;Defined in: src/storage/artifact-storage.interface.ts:2
Parameters
| Parameter | Type |
|---|---|
key | string |
body | Buffer |
contentType | string |
Returns
Promise<string>
CompileOptions
Defined in: src/policy-compiler.ts:5
Properties
strictLegalBasis?
optional strictLegalBasis?: boolean;Defined in: src/policy-compiler.ts:6
DataSubjectModuleOptions
Defined in: src/data-subject.module.ts:13
Properties
artifactStorage
artifactStorage: ArtifactStorage;Defined in: src/data-subject.module.ts:15
entities?
optional entities?: RegisterInput[];Defined in: src/data-subject.module.ts:18
publishAudit?
optional publishAudit?: (event, data) => Promise<void>;Defined in: src/data-subject.module.ts:20
Parameters
| Parameter | Type |
|---|---|
event | string |
data | Record<string, unknown> |
Returns
Promise<void>
publishOutbox?
optional publishOutbox?: (type, payload) => Promise<void>;Defined in: src/data-subject.module.ts:19
Parameters
| Parameter | Type |
|---|---|
type | string |
payload | unknown |
Returns
Promise<void>
requestStorage
requestStorage: RequestStorage;Defined in: src/data-subject.module.ts:14
runInTransaction?
optional runInTransaction?: <T>(work) => Promise<T>;Defined in: src/data-subject.module.ts:21
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
work | () => Promise<T> |
Returns
Promise<T>
slaDays?
optional slaDays?: number;Defined in: src/data-subject.module.ts:16
strictLegalBasis?
optional strictLegalBasis?: boolean;Defined in: src/data-subject.module.ts:17
DataSubjectRequest
Defined in: src/types.ts:42
Properties
artifactHash
artifactHash: string | null;Defined in: src/types.ts:53
artifactUrl
artifactUrl: string | null;Defined in: src/types.ts:54
completedAt
completedAt: Date | null;Defined in: src/types.ts:50
createdAt
createdAt: Date;Defined in: src/types.ts:48
dueAt
dueAt: Date;Defined in: src/types.ts:49
failedAt
failedAt: Date | null;Defined in: src/types.ts:51
failureReason
failureReason: string | null;Defined in: src/types.ts:52
id
id: string;Defined in: src/types.ts:43
requestedBy
requestedBy: string | null;Defined in: src/types.ts:56
state
state: RequestState;Defined in: src/types.ts:47
stats
stats: RequestStats | null;Defined in: src/types.ts:55
subjectId
subjectId: string;Defined in: src/types.ts:45
tenantId
tenantId: string;Defined in: src/types.ts:44
type
type: RequestType;Defined in: src/types.ts:46
DataSubjectServiceDeps
Defined in: src/data-subject.service.ts:18
Properties
artifactStorage
artifactStorage: ArtifactStorage;Defined in: src/data-subject.service.ts:21
clock?
optional clock?: () => Date;Defined in: src/data-subject.service.ts:24
Returns
Date
idFactory?
optional idFactory?: () => string;Defined in: src/data-subject.service.ts:23
Returns
string
publishAudit?
optional publishAudit?: (event, data) => Promise<void>;Defined in: src/data-subject.service.ts:26
Parameters
| Parameter | Type |
|---|---|
event | string |
data | Record<string, unknown> |
Returns
Promise<void>
publishOutbox?
optional publishOutbox?: (type, payload) => Promise<void>;Defined in: src/data-subject.service.ts:25
Parameters
| Parameter | Type |
|---|---|
type | string |
payload | unknown |
Returns
Promise<void>
registry
registry: Registry;Defined in: src/data-subject.service.ts:19
requestStorage
requestStorage: RequestStorage;Defined in: src/data-subject.service.ts:20
runInTransaction?
optional runInTransaction?: <T>(work) => Promise<T>;Defined in: src/data-subject.service.ts:27
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type |
|---|---|
work | () => Promise<T> |
Returns
Promise<T>
slaDays
slaDays: number;Defined in: src/data-subject.service.ts:22
EntityExecutor
Defined in: src/types.ts:28
Methods
anonymize()
anonymize(
subjectId,
tenantId,
replacements): Promise<number>;Defined in: src/types.ts:31
Parameters
| Parameter | Type |
|---|---|
subjectId | string |
tenantId | string |
replacements | Record<string, unknown> |
Returns
Promise<number>
erase()
erase(
subjectId,
tenantId,
plan): Promise<number>;Defined in: src/types.ts:30
Parameters
| Parameter | Type |
|---|---|
subjectId | string |
tenantId | string |
plan | ErasePlan |
Returns
Promise<number>
select()
select(subjectId, tenantId): Promise<Record<string, unknown>[]>;Defined in: src/types.ts:29
Parameters
| Parameter | Type |
|---|---|
subjectId | string |
tenantId | string |
Returns
Promise<Record<string, unknown>[]>
EntityPolicy
Defined in: src/types.ts:16
Properties
entityName
entityName: string;Defined in: src/types.ts:17
fields
fields: Record<string, PolicyEntry>;Defined in: src/types.ts:20
rowLevel
rowLevel: RowLevel;Defined in: src/types.ts:19
subjectField
subjectField: string;Defined in: src/types.ts:18
ErasePlan
Defined in: src/types.ts:23
Properties
deleteFields
deleteFields: string[];Defined in: src/types.ts:25
rowLevel
rowLevel: RowLevel;Defined in: src/types.ts:24
ErasureEvidenceAction
Defined in: src/types.ts:82
Properties
affected
affected: number;Defined in: src/types.ts:85
anonymizedFields?
optional anonymizedFields?: string[];Defined in: src/types.ts:88
deleteFields?
optional deleteFields?: string[];Defined in: src/types.ts:87
entityName
entityName: string;Defined in: src/types.ts:83
retainedFields?
optional retainedFields?: {
count: number;
field: string;
legalBasis: string;
until?: string;
}[];Defined in: src/types.ts:89
count
count: number;field
field: string;legalBasis
legalBasis: string;until?
optional until?: string;rowLevel
rowLevel: RowLevel;Defined in: src/types.ts:86
strategy
strategy: Strategy | "mixed";Defined in: src/types.ts:84
ErasureEvidenceArtifact
Defined in: src/types.ts:97
Properties
actions
actions: ErasureEvidenceAction[];Defined in: src/types.ts:105
artifactHashAlgorithm
artifactHashAlgorithm: "sha256";Defined in: src/types.ts:108
generatedAt
generatedAt: string;Defined in: src/types.ts:102
postScan
postScan: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:106
count
count: number;entityName
entityName: string;preScan
preScan: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:104
count
count: number;entityName
entityName: string;requestId
requestId: string;Defined in: src/types.ts:99
requestType
requestType: "erase";Defined in: src/types.ts:101
schemaVersion
schemaVersion: "data-subject.erasure-evidence.v1";Defined in: src/types.ts:98
state
state: "completed";Defined in: src/types.ts:103
tenantId
tenantId: string;Defined in: src/types.ts:100
verificationResidual
verificationResidual: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:107
count
count: number;entityName
entityName: string;FromPrismaOptions
Defined in: src/prisma/from-prisma.ts:16
Properties
delegate
delegate: PrismaDelegate;Defined in: src/prisma/from-prisma.ts:17
subjectField
subjectField: string;Defined in: src/prisma/from-prisma.ts:18
tenantField?
optional tenantField?: string;Defined in: src/prisma/from-prisma.ts:19
LegalBasisOptions
Defined in: src/legal-basis.ts:1
Properties
strict?
optional strict?: boolean;Defined in: src/legal-basis.ts:2
PolicySpec
Defined in: src/policy-compiler.ts:9
Properties
entityName
entityName: string;Defined in: src/policy-compiler.ts:10
fields
fields: Record<string, PolicyEntry>;Defined in: src/policy-compiler.ts:13
rowLevel?
optional rowLevel?: "delete-row" | "delete-fields";Defined in: src/policy-compiler.ts:12
subjectField
subjectField: string;Defined in: src/policy-compiler.ts:11
PrismaDataSubjectRequestDelegate
Defined in: src/storage/prisma-request-storage.ts:7
Methods
create()
create(args): Promise<unknown>;Defined in: src/storage/prisma-request-storage.ts:8
Parameters
| Parameter | Type |
|---|---|
args | { data: Record<string, unknown>; } |
args.data | Record<string, unknown> |
Returns
Promise<unknown>
findMany()
findMany(args): Promise<unknown[]>;Defined in: src/storage/prisma-request-storage.ts:14
Parameters
| Parameter | Type |
|---|---|
args | Record<string, unknown> |
Returns
Promise<unknown[]>
findUnique()
findUnique(args): Promise<unknown>;Defined in: src/storage/prisma-request-storage.ts:13
Parameters
| Parameter | Type |
|---|---|
args | { where: { id: string; }; } |
args.where | { id: string; } |
args.where.id | string |
Returns
Promise<unknown>
update()
update(args): Promise<unknown>;Defined in: src/storage/prisma-request-storage.ts:9
Parameters
| Parameter | Type |
|---|---|
args | { data: Record<string, unknown>; where: { id: string; }; } |
args.data | Record<string, unknown> |
args.where | { id: string; } |
args.where.id | string |
Returns
Promise<unknown>
PrismaDelegate
Defined in: src/prisma/from-prisma.ts:3
Methods
deleteMany()
deleteMany(args): Promise<{
count: number;
}>;Defined in: src/prisma/from-prisma.ts:7
Parameters
| Parameter | Type |
|---|---|
args | { where: Record<string, unknown>; } |
args.where | Record<string, unknown> |
Returns
Promise<{ count: number; }>
findMany()
findMany(args): Promise<Record<string, unknown>[]>;Defined in: src/prisma/from-prisma.ts:4
Parameters
| Parameter | Type |
|---|---|
args | { where: Record<string, unknown>; } |
args.where | Record<string, unknown> |
Returns
Promise<Record<string, unknown>[]>
updateMany()
updateMany(args): Promise<{
count: number;
}>;Defined in: src/prisma/from-prisma.ts:10
Parameters
| Parameter | Type |
|---|---|
args | { data: Record<string, unknown>; where: Record<string, unknown>; } |
args.data | Record<string, unknown> |
args.where | Record<string, unknown> |
Returns
Promise<{ count: number; }>
PrismaRequestStorageOptions
Defined in: src/storage/prisma-request-storage.ts:17
Properties
delegate
delegate: PrismaDataSubjectRequestDelegate;Defined in: src/storage/prisma-request-storage.ts:18
RegisteredEntity
Defined in: src/types.ts:34
Properties
executor
executor: EntityExecutor;Defined in: src/types.ts:36
policy
policy: EntityPolicy;Defined in: src/types.ts:35
RegisterInput
Defined in: src/registry.ts:5
Properties
executor
executor: EntityExecutor;Defined in: src/registry.ts:7
policy
policy: PolicySpec;Defined in: src/registry.ts:6
RegistryValidationReport
Defined in: src/registry-validation.ts:4
Properties
findings
findings: DataSubjectLintFinding[];Defined in: src/registry-validation.ts:6
ok
ok: boolean;Defined in: src/registry-validation.ts:5
RequestStats
Defined in: src/types.ts:59
Properties
entities
entities: {
affected: number;
entityName: string;
strategy: RequestEntityStrategy;
}[];Defined in: src/types.ts:60
affected
affected: number;entityName
entityName: string;strategy
strategy: RequestEntityStrategy;evidence?
optional evidence?: {
artifactHash: string;
artifactUrl: string;
schemaVersion: "data-subject.evidence.v1";
};Defined in: src/types.ts:75
artifactHash
artifactHash: string;artifactUrl
artifactUrl: string;schemaVersion
schemaVersion: "data-subject.evidence.v1";postScan?
optional postScan?: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:74
count
count: number;entityName
entityName: string;preScan?
optional preScan?: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:73
count
count: number;entityName
entityName: string;retained?
optional retained?: {
count: number;
entityName: string;
field: string;
legalBasis: string;
until?: string;
}[];Defined in: src/types.ts:65
count
count: number;entityName
entityName: string;field
field: string;legalBasis
legalBasis: string;until?
optional until?: string;verificationResidual?
optional verificationResidual?: {
count: number;
entityName: string;
}[];Defined in: src/types.ts:72
count
count: number;entityName
entityName: string;RequestStorage
Defined in: src/storage/request-storage.interface.ts:3
Methods
findById()
findById(id): Promise<DataSubjectRequest | null>;Defined in: src/storage/request-storage.interface.ts:6
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<DataSubjectRequest | null>
insert()
insert(req): Promise<void>;Defined in: src/storage/request-storage.interface.ts:4
Parameters
| Parameter | Type |
|---|---|
req | DataSubjectRequest |
Returns
Promise<void>
listByTenant()
listByTenant(tenantId, opts?): Promise<DataSubjectRequest[]>;Defined in: src/storage/request-storage.interface.ts:7
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
opts? | { state?: RequestState; } |
opts.state? | RequestState |
Returns
Promise<DataSubjectRequest[]>
listOverdue()
listOverdue(now): Promise<DataSubjectRequest[]>;Defined in: src/storage/request-storage.interface.ts:11
Parameters
| Parameter | Type |
|---|---|
now | Date |
Returns
Promise<DataSubjectRequest[]>
update()
update(id, patch): Promise<void>;Defined in: src/storage/request-storage.interface.ts:5
Parameters
| Parameter | Type |
|---|---|
id | string |
patch | Partial<DataSubjectRequest> |
Returns
Promise<void>
Type Aliases
DataSubjectErrorCode
type DataSubjectErrorCode = typeof DataSubjectErrorCode[keyof typeof DataSubjectErrorCode];Defined in: src/errors.ts:1
DataSubjectOutboxEvent
type DataSubjectOutboxEvent =
| {
payload: {
requestId: string;
requestType: RequestType;
subjectId: string;
tenantId: string;
};
type: "data_subject.request_created";
}
| {
payload: {
requestedAt: string;
requestId: string;
subjectId: string;
tenantId: string;
};
type: "data_subject.erasure_requested";
}
| {
payload: {
artifactHash: string;
requestId: string;
requestType: RequestType;
state: "completed";
tenantId: string;
};
type: "data_subject.request_completed";
}
| {
payload: {
failureReason: string;
requestId: string;
requestType: RequestType;
tenantId: string;
};
type: "data_subject.request_failed";
};Defined in: src/types.ts:111
PolicyEntry
type PolicyEntry =
| "delete"
| {
strategy: "delete";
}
| {
replacement: string | number | null;
strategy: "anonymize";
}
| {
legalBasis: string;
pseudonymize?: "hmac" | "none";
strategy: "retain";
until?: string;
};Defined in: src/types.ts:5
RequestEntityStrategy
type RequestEntityStrategy = Strategy | "mixed" | "export";Defined in: src/types.ts:2
RequestState
type RequestState = "created" | "validating" | "processing" | "completed" | "failed";Defined in: src/types.ts:40
RequestType
type RequestType = "export" | "erase";Defined in: src/types.ts:39
RowLevel
type RowLevel = "delete-row" | "delete-fields";Defined in: src/types.ts:3
Strategy
type Strategy = "delete" | "anonymize" | "retain";Defined in: src/types.ts:1
Variables
DATA_SUBJECT_REGISTRY
const DATA_SUBJECT_REGISTRY: typeof DATA_SUBJECT_REGISTRY;Defined in: src/data-subject.module.ts:11
DataSubjectErrorCode
const DataSubjectErrorCode: {
AnonymizeDynamicReplacement: "dsr_anonymize_dynamic_replacement";
ArtifactWriteFailed: "dsr_artifact_write_failed";
EntityAlreadyRegistered: "dsr_entity_already_registered";
EvidenceReportInvalid: "dsr_evidence_report_invalid";
InvalidPolicy: "dsr_invalid_policy";
InvalidStateTransition: "dsr_invalid_state_transition";
RequestConflict: "dsr_request_conflict";
RequestNotFound: "dsr_request_not_found";
SubjectNotFound: "dsr_subject_not_found";
UnregisteredEntity: "dsr_unregistered_entity";
VerificationFailed: "dsr_verification_failed";
};Defined in: src/errors.ts:1
Type Declaration
| Name | Type | Default value | Defined in |
|---|---|---|---|
AnonymizeDynamicReplacement | "dsr_anonymize_dynamic_replacement" | 'dsr_anonymize_dynamic_replacement' | src/errors.ts:6 |
ArtifactWriteFailed | "dsr_artifact_write_failed" | 'dsr_artifact_write_failed' | src/errors.ts:10 |
EntityAlreadyRegistered | "dsr_entity_already_registered" | 'dsr_entity_already_registered' | src/errors.ts:7 |
EvidenceReportInvalid | "dsr_evidence_report_invalid" | 'dsr_evidence_report_invalid' | src/errors.ts:12 |
InvalidPolicy | "dsr_invalid_policy" | 'dsr_invalid_policy' | src/errors.ts:4 |
InvalidStateTransition | "dsr_invalid_state_transition" | 'dsr_invalid_state_transition' | src/errors.ts:11 |
RequestConflict | "dsr_request_conflict" | 'dsr_request_conflict' | src/errors.ts:8 |
RequestNotFound | "dsr_request_not_found" | 'dsr_request_not_found' | src/errors.ts:9 |
SubjectNotFound | "dsr_subject_not_found" | 'dsr_subject_not_found' | src/errors.ts:2 |
UnregisteredEntity | "dsr_unregistered_entity" | 'dsr_unregistered_entity' | src/errors.ts:3 |
VerificationFailed | "dsr_verification_failed" | 'dsr_verification_failed' | src/errors.ts:5 |
Functions
buildErasureEvidenceArtifact()
function buildErasureEvidenceArtifact(input): ErasureEvidenceArtifact;Defined in: src/erasure-evidence.ts:15
Parameters
| Parameter | Type |
|---|---|
input | BuildErasureEvidenceInput |
Returns
compilePolicy()
function compilePolicy(spec, opts?): EntityPolicy;Defined in: src/policy-compiler.ts:16
Parameters
| Parameter | Type |
|---|---|
spec | PolicySpec |
opts | CompileOptions |
Returns
erasureEvidenceArtifactKey()
function erasureEvidenceArtifactKey(tenantId, requestId): string;Defined in: src/artifacts.ts:11
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
requestId | string |
Returns
string
exportArtifactKey()
function exportArtifactKey(tenantId, requestId): string;Defined in: src/artifacts.ts:7
Parameters
| Parameter | Type |
|---|---|
tenantId | string |
requestId | string |
Returns
string
formatLintReport()
function formatLintReport(report): string;Defined in: src/lint/lint.ts:157
Parameters
| Parameter | Type |
|---|---|
report | DataSubjectLintReport |
Returns
string
fromPrisma()
function fromPrisma(opts): EntityExecutor;Defined in: src/prisma/from-prisma.ts:22
Parameters
| Parameter | Type |
|---|---|
opts | FromPrismaOptions |
Returns
lintPrismaSchema()
function lintPrismaSchema(schemaSource, config?): DataSubjectLintReport;Defined in: src/lint/lint.ts:23
Parameters
| Parameter | Type |
|---|---|
schemaSource | string |
config | DataSubjectLintConfig |
Returns
parsePrismaSchema()
function parsePrismaSchema(source): PrismaSchemaModel[];Defined in: src/lint/prisma-schema.ts:13
Parameters
| Parameter | Type |
|---|---|
source | string |
Returns
PrismaSchemaModel[]
sha256Hex()
function sha256Hex(body): string;Defined in: src/artifacts.ts:3
Parameters
| Parameter | Type |
|---|---|
body | string | Buffer<ArrayBufferLike> |
Returns
string
shouldFailLint()
function shouldFailLint(report, failOn): boolean;Defined in: src/lint/lint.ts:173
Parameters
| Parameter | Type |
|---|---|
report | DataSubjectLintReport |
failOn | DataSubjectLintSeverity |
Returns
boolean
validateLegalBasis()
function validateLegalBasis(value, opts?): string | null;Defined in: src/legal-basis.ts:7
Parameters
| Parameter | Type |
|---|---|
value | string |
opts | LegalBasisOptions |
Returns
string | null
validateRegistry()
function validateRegistry(registry, opts?): RegistryValidationReport;Defined in: src/registry-validation.ts:9
Parameters
| Parameter | Type |
|---|---|
registry | Registry |
opts | { requireTenantField?: boolean; } |
opts.requireTenantField? | boolean |
Returns
References
DataSubjectLintCode
Re-exports DataSubjectLintCode
DataSubjectLintConfig
Re-exports DataSubjectLintConfig
DataSubjectLintFinding
Re-exports DataSubjectLintFinding
DataSubjectLintRegistryEntry
Re-exports DataSubjectLintRegistryEntry
DataSubjectLintReport
Re-exports DataSubjectLintReport
DataSubjectLintSeverity
Re-exports DataSubjectLintSeverity
DataSubjectLintSuppression
Re-exports DataSubjectLintSuppression