You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
958 B
31 lines
958 B
3 weeks ago
|
import {appSettings} from 'app/server/lib/AppSettings';
|
||
|
import {GristAuditLogger} from 'app/server/lib/GristAuditLogger';
|
||
|
|
||
|
export function configureGristAuditLogger() {
|
||
|
const options = checkGristAuditLogger();
|
||
|
if (!options) { return undefined; }
|
||
|
|
||
|
return new GristAuditLogger(options);
|
||
|
}
|
||
|
|
||
|
export function checkGristAuditLogger() {
|
||
|
const settings = appSettings.section('auditLogger').section('http');
|
||
|
const endpoint = settings.flag('endpoint').readString({
|
||
|
envVar: 'GRIST_AUDIT_HTTP_ENDPOINT',
|
||
|
});
|
||
|
if (!endpoint) { return undefined; }
|
||
|
|
||
|
const payloadFormat = settings.flag('payloadFormat').readString({
|
||
|
envVar: 'GRIST_AUDIT_HTTP_PAYLOAD_FORMAT',
|
||
|
defaultValue: 'grist',
|
||
|
});
|
||
|
if (payloadFormat !== 'grist') { return undefined; }
|
||
|
|
||
|
const authorizationHeader = settings.flag('authorizationHeader').readString({
|
||
|
envVar: 'GRIST_AUDIT_HTTP_AUTHORIZATION_HEADER',
|
||
|
censor: true,
|
||
|
});
|
||
|
|
||
|
return {endpoint, authorizationHeader};
|
||
|
}
|