1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | var dotenv_1 = require("dotenv");
|
4 | dotenv_1.config();
|
5 | var lodash_1 = require("lodash");
|
6 | var os = require("os");
|
7 | var getBooleanOption_1 = require("jscommons/dist/config/getBooleanOption");
|
8 | var getNumberOption_1 = require("jscommons/dist/config/getNumberOption");
|
9 | var getStringOption_1 = require("jscommons/dist/config/getStringOption");
|
10 | var storageDir = process.cwd() + "/storage";
|
11 | var expressPort = getNumberOption_1.default(process.env.EXPRESS_PORT, 80);
|
12 | exports.default = {
|
13 | llClientInfoEndpoint: getStringOption_1.default(process.env.LL_CLIENT_INFO_ENDPOINT, "http://localhost:" + expressPort + "/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 |
|
\ | No newline at end of file |