@unito/integration-sdk 2.4.1 → 2.4.2
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/dist/src/index.cjs
CHANGED
|
@@ -179,7 +179,12 @@ class Logger {
|
|
|
179
179
|
for (const key in value) {
|
|
180
180
|
let deepValue;
|
|
181
181
|
if (Array.isArray(value[key])) {
|
|
182
|
-
|
|
182
|
+
if (value[key].every(v => typeof v === 'object')) {
|
|
183
|
+
deepValue = value[key].map(item => this.snakifyKeys(item));
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
deepValue = value[key];
|
|
187
|
+
}
|
|
183
188
|
}
|
|
184
189
|
else if (typeof value[key] === 'object' && value[key] !== null) {
|
|
185
190
|
deepValue = this.snakifyKeys(value[key]);
|
|
@@ -200,7 +205,12 @@ class Logger {
|
|
|
200
205
|
(topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
|
|
201
206
|
}
|
|
202
207
|
else if (Array.isArray(metadata[key])) {
|
|
203
|
-
|
|
208
|
+
if (metadata[key].every(value => typeof value === 'object')) {
|
|
209
|
+
prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
|
|
210
|
+
}
|
|
211
|
+
else {
|
|
212
|
+
prunedMetadata[key] = metadata[key];
|
|
213
|
+
}
|
|
204
214
|
}
|
|
205
215
|
else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
|
|
206
216
|
prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key], topLevelMeta ?? prunedMetadata);
|
|
@@ -151,7 +151,12 @@ export default class Logger {
|
|
|
151
151
|
for (const key in value) {
|
|
152
152
|
let deepValue;
|
|
153
153
|
if (Array.isArray(value[key])) {
|
|
154
|
-
|
|
154
|
+
if (value[key].every(v => typeof v === 'object')) {
|
|
155
|
+
deepValue = value[key].map(item => this.snakifyKeys(item));
|
|
156
|
+
}
|
|
157
|
+
else {
|
|
158
|
+
deepValue = value[key];
|
|
159
|
+
}
|
|
155
160
|
}
|
|
156
161
|
else if (typeof value[key] === 'object' && value[key] !== null) {
|
|
157
162
|
deepValue = this.snakifyKeys(value[key]);
|
|
@@ -172,7 +177,12 @@ export default class Logger {
|
|
|
172
177
|
(topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
|
|
173
178
|
}
|
|
174
179
|
else if (Array.isArray(metadata[key])) {
|
|
175
|
-
|
|
180
|
+
if (metadata[key].every(value => typeof value === 'object')) {
|
|
181
|
+
prunedMetadata[key] = metadata[key].map(value => Logger.pruneSensitiveMetadata(value, topLevelMeta ?? prunedMetadata));
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
prunedMetadata[key] = metadata[key];
|
|
185
|
+
}
|
|
176
186
|
}
|
|
177
187
|
else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
|
|
178
188
|
prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key], topLevelMeta ?? prunedMetadata);
|
|
@@ -113,6 +113,7 @@ describe('Logger', () => {
|
|
|
113
113
|
{ id: 1, organizationId: 'a' },
|
|
114
114
|
{ id: 2, organizationId: 'b' },
|
|
115
115
|
],
|
|
116
|
+
traceId: ['a', 'b'],
|
|
116
117
|
};
|
|
117
118
|
const logger = new Logger(metadata);
|
|
118
119
|
logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
|
|
@@ -128,6 +129,7 @@ describe('Logger', () => {
|
|
|
128
129
|
{ id: 1, organization_id: 'a' },
|
|
129
130
|
{ id: 2, organization_id: 'b' },
|
|
130
131
|
]);
|
|
132
|
+
assert.deepEqual(actual['trace_id'], ['a', 'b']);
|
|
131
133
|
});
|
|
132
134
|
it('prunes sensitive Metadata', testContext => {
|
|
133
135
|
const logSpy = testContext.mock.method(global.console, 'log', () => { });
|
|
@@ -141,6 +143,7 @@ describe('Logger', () => {
|
|
|
141
143
|
{ id: 1, organizationId: 'a' },
|
|
142
144
|
{ id: 2, organizationId: 'b' },
|
|
143
145
|
],
|
|
146
|
+
trace_id: ['a', 'b'],
|
|
144
147
|
};
|
|
145
148
|
const logger = new Logger(metadata);
|
|
146
149
|
logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
|
|
@@ -158,6 +161,7 @@ describe('Logger', () => {
|
|
|
158
161
|
{ id: 1, organization_id: 'a' },
|
|
159
162
|
{ id: 2, organization_id: 'b' },
|
|
160
163
|
]);
|
|
164
|
+
assert.deepEqual(actual['trace_id'], ['a', 'b']);
|
|
161
165
|
});
|
|
162
166
|
it(`NULL_LOGGER should not log`, testContext => {
|
|
163
167
|
const logger = NULL_LOGGER;
|
package/package.json
CHANGED
package/src/resources/logger.ts
CHANGED
|
@@ -187,7 +187,11 @@ export default class Logger {
|
|
|
187
187
|
let deepValue;
|
|
188
188
|
|
|
189
189
|
if (Array.isArray(value[key])) {
|
|
190
|
-
|
|
190
|
+
if (value[key].every(v => typeof v === 'object')) {
|
|
191
|
+
deepValue = value[key].map(item => this.snakifyKeys(item as Value));
|
|
192
|
+
} else {
|
|
193
|
+
deepValue = value[key];
|
|
194
|
+
}
|
|
191
195
|
} else if (typeof value[key] === 'object' && value[key] !== null) {
|
|
192
196
|
deepValue = this.snakifyKeys(value[key] as Value);
|
|
193
197
|
} else {
|
|
@@ -209,9 +213,13 @@ export default class Logger {
|
|
|
209
213
|
prunedMetadata[key] = '[REDACTED]';
|
|
210
214
|
(topLevelMeta ?? prunedMetadata).has_sensitive_attribute = true;
|
|
211
215
|
} else if (Array.isArray(metadata[key])) {
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
216
|
+
if (metadata[key].every(value => typeof value === 'object')) {
|
|
217
|
+
prunedMetadata[key] = metadata[key].map(value =>
|
|
218
|
+
Logger.pruneSensitiveMetadata(value as Value, topLevelMeta ?? prunedMetadata),
|
|
219
|
+
);
|
|
220
|
+
} else {
|
|
221
|
+
prunedMetadata[key] = metadata[key];
|
|
222
|
+
}
|
|
215
223
|
} else if (typeof metadata[key] === 'object' && metadata[key] !== null) {
|
|
216
224
|
prunedMetadata[key] = Logger.pruneSensitiveMetadata(metadata[key] as Value, topLevelMeta ?? prunedMetadata);
|
|
217
225
|
} else {
|
|
@@ -136,7 +136,9 @@ describe('Logger', () => {
|
|
|
136
136
|
{ id: 1, organizationId: 'a' },
|
|
137
137
|
{ id: 2, organizationId: 'b' },
|
|
138
138
|
],
|
|
139
|
+
traceId: ['a', 'b'],
|
|
139
140
|
};
|
|
141
|
+
|
|
140
142
|
const logger = new Logger(metadata);
|
|
141
143
|
logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
|
|
142
144
|
assert.strictEqual(logSpy.mock.calls.length, 1);
|
|
@@ -153,6 +155,7 @@ describe('Logger', () => {
|
|
|
153
155
|
{ id: 1, organization_id: 'a' },
|
|
154
156
|
{ id: 2, organization_id: 'b' },
|
|
155
157
|
]);
|
|
158
|
+
assert.deepEqual(actual['trace_id'], ['a', 'b']);
|
|
156
159
|
});
|
|
157
160
|
|
|
158
161
|
it('prunes sensitive Metadata', testContext => {
|
|
@@ -168,6 +171,7 @@ describe('Logger', () => {
|
|
|
168
171
|
{ id: 1, organizationId: 'a' },
|
|
169
172
|
{ id: 2, organizationId: 'b' },
|
|
170
173
|
],
|
|
174
|
+
trace_id: ['a', 'b'],
|
|
171
175
|
};
|
|
172
176
|
const logger = new Logger(metadata);
|
|
173
177
|
logger.log('test', { errorContext: { errorCode: 200, errorMessage: 'Page Not Found' } });
|
|
@@ -186,6 +190,7 @@ describe('Logger', () => {
|
|
|
186
190
|
{ id: 1, organization_id: 'a' },
|
|
187
191
|
{ id: 2, organization_id: 'b' },
|
|
188
192
|
]);
|
|
193
|
+
assert.deepEqual(actual['trace_id'], ['a', 'b']);
|
|
189
194
|
});
|
|
190
195
|
|
|
191
196
|
it(`NULL_LOGGER should not log`, testContext => {
|