UNPKG

4.89 kBJavaScriptView Raw
1"use strict";
2Object.defineProperty(exports, "__esModule", { value: true });
3var dotenv_1 = require("dotenv");
4dotenv_1.config();
5var lodash_1 = require("lodash");
6var os = require("os");
7var getBooleanOption_1 = require("jscommons/dist/config/getBooleanOption");
8var getNumberOption_1 = require("jscommons/dist/config/getNumberOption");
9var getStringOption_1 = require("jscommons/dist/config/getStringOption");
10var storageDir = process.cwd() + "/storage";
11var expressPort = getNumberOption_1.default(process.env.EXPRESS_PORT, 80);
12exports.default = {
13 llClientInfoEndpoint: getStringOption_1.default(process.env.LL_CLIENT_INFO_ENDPOINT, "http://localhost:" + expressPort + "/auth" // Defaults to the demo auth.
14 ),
15 lang: getStringOption_1.default(process.env.LANG, 'en'),
16 defaultTimeout: getNumberOption_1.default(process.env.DEFAULT_TIMEOUT_MS, 300000),
17 redis: {
18 url: getStringOption_1.default(process.env.REDIS_URL, 'redis://127.0.0.1:6379/0'),
19 prefix: getStringOption_1.default(process.env.REDIS_PREFIX, 'xapistatements'),
20 },
21 repoFactory: {
22 eventsRepoName: getStringOption_1.default(process.env.EVENTS_REPO, 'redis'),
23 authRepoName: getStringOption_1.default(process.env.AUTH_REPO, 'mongo'),
24 modelsRepoName: getStringOption_1.default(process.env.MODELS_REPO, 'memory'),
25 storageRepoName: getStringOption_1.default(process.env.STORAGE_REPO, 'memory'),
26 },
27 winston: {
28 console: {
29 level: getStringOption_1.default(process.env.WINSTON_CONSOLE_LEVEL, 'info'),
30 },
31 cloudWatch: {
32 enabled: getBooleanOption_1.default(process.env.WINSTON_CLOUDWATCH_ENABLED, false),
33 level: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_LEVEL, 'info'),
34 logGroupName: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_LOG_GROUP_NAME, 'xapi-statements'),
35 logStreamName: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_LOG_STREAM_NAME, os.hostname()),
36 awsConfig: {
37 accessKeyId: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_ACCESS_KEY_ID),
38 secretAccessKey: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_SECRET_ACCESS_KEY),
39 region: getStringOption_1.default(process.env.WINSTON_CLOUDWATCH_REGION),
40 },
41 },
42 },
43 express: {
44 port: getNumberOption_1.default(process.env.EXPRESS_PORT, 80),
45 customRoute: getStringOption_1.default(process.env.EXPRESS_CUSTOM_ROUTE, 'status'),
46 customRouteText: getStringOption_1.default(process.env.EXPRESS_CUSTOM_ROUTE_TEXT, 'ok'),
47 morganDirectory: getStringOption_1.default(process.env.EXPRESS_MORGAN_DIRECTORY, storageDir + "/accessLogs"),
48 bodyParserLimit: getStringOption_1.default(process.env.EXPRESS_BODY_PARSER_LIMIT, '5mb'),
49 },
50 service: {
51 enableConflictChecks: getBooleanOption_1.default(process.env.SERVICE_CHECK_CONFLICTS, true),
52 enableAttachmentValidation: getBooleanOption_1.default(process.env.SERVICE_CHECK_ATTACHMENTS, true),
53 enableVoidingChecks: getBooleanOption_1.default(process.env.SERVICE_CHECK_VOIDS, true),
54 enableStatementCreation: getBooleanOption_1.default(process.env.SERVICE_CREATE_STATEMENTS, true),
55 enableAttachmentCreation: getBooleanOption_1.default(process.env.SERVICE_CREATE_ATTACHMENTS, true),
56 enableVoiding: getBooleanOption_1.default(process.env.SERVICE_UPDATE_VOIDS, true),
57 enableNullRemoval: getBooleanOption_1.default(process.env.SERVICE_REMOVE_NULLS, false),
58 enableReferencing: getBooleanOption_1.default(process.env.SERVICE_UPDATE_REFS, true),
59 enableActivityUpdates: getBooleanOption_1.default(process.env.SERVICE_UPDATE_ACTIVITIES, true),
60 awaitUpdates: getBooleanOption_1.default(lodash_1.defaultTo(process.env.SERVICE_AWAIT_UPDATES, process.env.SERVICE_AWAIT_UODATES), false),
61 },
62 storage: {
63 local: {
64 storageDir: getStringOption_1.default(process.env.FS_LOCAL_STORAGE_DIR, storageDir),
65 },
66 s3: {
67 bucketName: getStringOption_1.default(process.env.FS_S3_BUCKET, 'xapi-server'),
68 subFolder: getStringOption_1.default(process.env.FS_S3_BUCKET_SUBFOLDER, '/storage'),
69 awsConfig: {
70 accessKeyId: getStringOption_1.default(process.env.FS_S3_ACCESS_KEY_ID),
71 secretAccessKey: getStringOption_1.default(process.env.FS_S3_SECRET_ACCESS_KEY),
72 region: getStringOption_1.default(process.env.FS_S3_REGION),
73 sslEnabled: true,
74 apiVersion: '2006-03-01',
75 signatureVersion: 'v4',
76 },
77 },
78 },
79 mongo: {
80 url: getStringOption_1.default(process.env.MONGO_URL, 'mongodb://127.0.0.1:27017/xapiserver')
81 },
82};
83//# sourceMappingURL=config.js.map
\No newline at end of file