Error handling
The application throws nested errors, ranging from functional to technical.
Example of an invalid KAS credential error during decryption:
bash
SdsdkError: ZTDF decryption failed
at Function.createWithCandidateCauseError (/home/***/src/shared/errors/sdsdk-error.ts:16:14)
at ztdfDecrypt (/home/***/src/sdsdk_core.ts:145:22)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
cause: FetchingError: fetching error
at HttpFetcher.queryWithJwtCredentials (/home/***/src/domain/ports/fetcher-port.ts:41:13)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at KmaasClient.decryptDek (/home/***/src/domain/value-objects/cse/kmaas-client.ts:80:20) {
cause: HttpError: HTTP Error 401: Unauthorized - {"code":401,"message":"Decrypt route call failed. Please contact your administrator.","details":"2001021,2006003,1014001,1003007"}
at HttpFetcher.sendRequest (/home/***/src/infrastructure/adapters/http-fetcher.adapter.ts:64:15)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at HttpFetcher.queryWithJwtCredentials (/home/***/src/domain/ports/fetcher-port.ts:39:14)
at KmaasClient.decryptDek (/home/***/src/domain/value-objects/cse/kmaas-client.ts:80:20)
at DecryptDataUseCase.execute (/home/***/src/domain/usecases/decrypt-data.usecase.ts:40:17)
at ztdfDecrypt (/home/***/src/sdsdk_core.ts:134:27) {
status: 401,
statusText: 'Unauthorized',
body: '{"code":401,"message":"Decrypt route call failed. Please contact your administrator.","details":"2001021,2006003,1014001,1003007"}'
}
}
}