|
1 | 1 | /**
|
2 | 2 | * The configuration file.
|
3 | 3 | */
|
4 |
| -const _ = require('lodash') |
5 |
| -require('dotenv').config() |
| 4 | +const _ = require("lodash"); |
| 5 | +require("dotenv").config(); |
6 | 6 | module.exports = {
|
7 |
| - READONLY: process.env.READONLY === 'true' || false, |
8 |
| - LOG_LEVEL: process.env.LOG_LEVEL || 'debug', |
| 7 | + READONLY: process.env.READONLY === "true" || false, |
| 8 | + LOG_LEVEL: process.env.LOG_LEVEL || "debug", |
9 | 9 | PORT: process.env.PORT || 3000,
|
10 | 10 | // used to properly set the header response to api calls for services behind a load balancer
|
11 | 11 | API_BASE_URL: process.env.API_BASE_URL || `http://localhost:3000`,
|
12 |
| - API_VERSION: process.env.API_VERSION || 'v5', |
13 |
| - AUTH_SECRET: process.env.AUTH_SECRET || 'mysecret', |
14 |
| - VALID_ISSUERS: process.env.VALID_ISSUERS || '["https://api.topcoder-dev.com", "https://api.topcoder.com", "https://topcoder-dev.auth0.com/"]', |
| 12 | + API_VERSION: process.env.API_VERSION || "v5", |
| 13 | + AUTH_SECRET: process.env.AUTH_SECRET || "mysecret", |
| 14 | + VALID_ISSUERS: |
| 15 | + process.env.VALID_ISSUERS || |
| 16 | + '["https://api.topcoder-dev.com", "https://api.topcoder.com", "https://topcoder-dev.auth0.com/"]', |
15 | 17 |
|
16 | 18 | // used to get M2M token
|
17 | 19 | AUTH0_URL: process.env.AUTH0_URL,
|
18 | 20 | AUTH0_PROXY_SERVER_URL: process.env.AUTH0_PROXY_SERVER_URL,
|
19 |
| - AUTH0_AUDIENCE: process.env.AUTH0_AUDIENCE || 'https://www.topcoder-dev.com', |
| 21 | + AUTH0_AUDIENCE: process.env.AUTH0_AUDIENCE || "https://www.topcoder-dev.com", |
20 | 22 | TOKEN_CACHE_TIME: process.env.TOKEN_CACHE_TIME,
|
21 | 23 | AUTH0_CLIENT_ID: process.env.AUTH0_CLIENT_ID,
|
22 | 24 | AUTH0_CLIENT_SECRET: process.env.AUTH0_CLIENT_SECRET,
|
23 | 25 |
|
24 | 26 | // bus API config params
|
25 |
| - BUSAPI_URL: process.env.BUSAPI_URL || 'https://api.topcoder-dev.com/v5', |
26 |
| - KAFKA_ERROR_TOPIC: process.env.KAFKA_ERROR_TOPIC || 'common.error.reporting', |
27 |
| - SCHEDULING_TOPIC: process.env.SCHEDULING_TOPIC || 'challenge.notification.schedule.update', |
| 27 | + BUSAPI_URL: process.env.BUSAPI_URL || "https://api.topcoder-dev.com/v5", |
| 28 | + KAFKA_ERROR_TOPIC: process.env.KAFKA_ERROR_TOPIC || "common.error.reporting", |
| 29 | + SCHEDULING_TOPIC: process.env.SCHEDULING_TOPIC || "challenge.notification.schedule.update", |
28 | 30 |
|
29 | 31 | AMAZON: {
|
30 | 32 | // AWS_ACCESS_KEY_ID: process.env.AWS_FAKE_ID || 'FAKE_ACCESS_KEY',
|
31 | 33 | // AWS_SECRET_ACCESS_KEY: process.env.AWS_FAKE_KEY || 'FAKE_SECRET_ACCESS_KEY',
|
32 |
| - AWS_REGION: process.env.AWS_REGION || 'ap-northeast-1', |
| 34 | + AWS_REGION: process.env.AWS_REGION || "ap-northeast-1", |
33 | 35 | IS_LOCAL_DB: process.env.IS_LOCAL_DB || true,
|
34 |
| - DYNAMODB_URL: process.env.DYNAMODB_URL || 'http://localhost:7777', |
35 |
| - S3_API_VERSION: process.env.S3_API_VERSION || '2006-03-01', |
36 |
| - BUCKET_WHITELIST: process.env.BUCKET_WHITELIST || 'topcoder_01, topcoder_02' |
| 36 | + DYNAMODB_URL: process.env.DYNAMODB_URL || "http://localhost:7777", |
| 37 | + S3_API_VERSION: process.env.S3_API_VERSION || "2006-03-01", |
| 38 | + BUCKET_WHITELIST: process.env.BUCKET_WHITELIST || "topcoder_01, topcoder_02", |
37 | 39 | },
|
38 | 40 |
|
39 | 41 | ES: {
|
40 | 42 | // above AWS_REGION is used if we use AWS ES
|
41 |
| - HOST: process.env.ES_HOST || 'localhost:9200', |
42 |
| - API_VERSION: process.env.ES_API_VERSION || '6.8', |
43 |
| - ES_INDEX: process.env.ES_INDEX || 'challenge', |
44 |
| - ES_TYPE: process.env.ES_TYPE || '_doc', // ES 6.x accepts only 1 Type per index and it's mandatory to define it |
45 |
| - ES_REFRESH: process.env.ES_REFRESH || 'true', |
46 |
| - TEMP_REINDEXING: process.env.TEMP_REINDEXING || true // if true, it won't delete the existing index when reindexing data |
| 43 | + HOST: process.env.ES_HOST || "localhost:9200", |
| 44 | + API_VERSION: process.env.ES_API_VERSION || "6.8", |
| 45 | + ES_INDEX: process.env.ES_INDEX || "challenge", |
| 46 | + ES_TYPE: process.env.ES_TYPE || "_doc", // ES 6.x accepts only 1 Type per index and it's mandatory to define it |
| 47 | + ES_REFRESH: process.env.ES_REFRESH || "true", |
| 48 | + TEMP_REINDEXING: process.env.TEMP_REINDEXING || true, // if true, it won't delete the existing index when reindexing data |
47 | 49 | },
|
48 | 50 |
|
49 | 51 | // in bytes
|
50 | 52 | FILE_UPLOAD_SIZE_LIMIT: process.env.FILE_UPLOAD_SIZE_LIMIT
|
51 |
| - ? Number(process.env.FILE_UPLOAD_SIZE_LIMIT) : 50 * 1024 * 1024, // 50M |
| 53 | + ? Number(process.env.FILE_UPLOAD_SIZE_LIMIT) |
| 54 | + : 50 * 1024 * 1024, // 50M |
52 | 55 | // TODO: change this to localhost
|
53 |
| - SUBMISSIONS_API_URL: process.env.SUBMISSIONS_API_URL || 'https://api.topcoder-dev.com/v5/submissions', |
54 |
| - MEMBERS_API_URL: process.env.MEMBERS_API_URL || 'https://api.topcoder-dev.com/v5/members', |
55 |
| - RESOURCES_API_URL: process.env.RESOURCES_API_URL || 'http://localhost:4000/v5/resources', |
| 56 | + SUBMISSIONS_API_URL: |
| 57 | + process.env.SUBMISSIONS_API_URL || "https://api.topcoder-dev.com/v5/submissions", |
| 58 | + MEMBERS_API_URL: process.env.MEMBERS_API_URL || "https://api.topcoder-dev.com/v5/members", |
| 59 | + RESOURCES_API_URL: process.env.RESOURCES_API_URL || "http://localhost:4000/v5/resources", |
56 | 60 | // TODO: change this to localhost
|
57 |
| - RESOURCE_ROLES_API_URL: process.env.RESOURCE_ROLES_API_URL || 'http://api.topcoder-dev.com/v5/resource-roles', |
58 |
| - GROUPS_API_URL: process.env.GROUPS_API_URL || 'http://localhost:4000/v5/groups', |
59 |
| - PROJECTS_API_URL: process.env.PROJECTS_API_URL || 'http://localhost:4000/v5/projects', |
60 |
| - TERMS_API_URL: process.env.TERMS_API_URL || 'http://localhost:4000/v5/terms', |
61 |
| - CUSTOMER_PAYMENTS_URL: process.env.CUSTOMER_PAYMENTS_URL || 'https://api.topcoder-dev.com/v5/customer-payments', |
62 |
| - CHALLENGE_MIGRATION_APP_URL: process.env.CHALLENGE_MIGRATION_APP_URL || 'https://api.topcoder.com/v5/challenge-migration', |
| 61 | + RESOURCE_ROLES_API_URL: |
| 62 | + process.env.RESOURCE_ROLES_API_URL || "http://api.topcoder-dev.com/v5/resource-roles", |
| 63 | + GROUPS_API_URL: process.env.GROUPS_API_URL || "http://localhost:4000/v5/groups", |
| 64 | + PROJECTS_API_URL: process.env.PROJECTS_API_URL || "http://localhost:4000/v5/projects", |
| 65 | + TERMS_API_URL: process.env.TERMS_API_URL || "http://localhost:4000/v5/terms", |
| 66 | + CUSTOMER_PAYMENTS_URL: |
| 67 | + process.env.CUSTOMER_PAYMENTS_URL || "https://api.topcoder-dev.com/v5/customer-payments", |
| 68 | + CHALLENGE_MIGRATION_APP_URL: |
| 69 | + process.env.CHALLENGE_MIGRATION_APP_URL || "https://api.topcoder.com/v5/challenge-migration", |
63 | 70 | // copilot resource role ids allowed to upload attachment
|
64 | 71 | COPILOT_RESOURCE_ROLE_IDS: process.env.COPILOT_RESOURCE_ROLE_IDS
|
65 |
| - ? process.env.COPILOT_RESOURCE_ROLE_IDS.split(',') : ['10ba038e-48da-487b-96e8-8d3b99b6d18b'], |
66 |
| - SUBMITTER_ROLE_ID: process.env.SUBMITTER_ROLE_ID || '732339e7-8e30-49d7-9198-cccf9451e221', |
| 72 | + ? process.env.COPILOT_RESOURCE_ROLE_IDS.split(",") |
| 73 | + : ["10ba038e-48da-487b-96e8-8d3b99b6d18b"], |
| 74 | + SUBMITTER_ROLE_ID: process.env.SUBMITTER_ROLE_ID || "732339e7-8e30-49d7-9198-cccf9451e221", |
67 | 75 |
|
68 |
| - MANAGER_ROLE_ID: process.env.MANAGER_ROLE_ID || '0e9c6879-39e4-4eb6-b8df-92407890faf1', |
69 |
| - OBSERVER_ROLE_ID: process.env.OBSERVER_ROLE_ID || '2a4dc376-a31c-4d00-b173-13934d89e286', |
70 |
| - CLIENT_MANAGER_ROLE_ID: process.env.OBSERVER_ROLE_ID || '9b2f1905-8128-42da-85df-ed64410f4781', |
| 76 | + MANAGER_ROLE_ID: process.env.MANAGER_ROLE_ID || "0e9c6879-39e4-4eb6-b8df-92407890faf1", |
| 77 | + OBSERVER_ROLE_ID: process.env.OBSERVER_ROLE_ID || "2a4dc376-a31c-4d00-b173-13934d89e286", |
| 78 | + CLIENT_MANAGER_ROLE_ID: process.env.OBSERVER_ROLE_ID || "9b2f1905-8128-42da-85df-ed64410f4781", |
71 | 79 |
|
72 | 80 | // health check timeout in milliseconds
|
73 | 81 | HEALTH_CHECK_TIMEOUT: process.env.HEALTH_CHECK_TIMEOUT || 3000,
|
74 | 82 |
|
75 | 83 | SCOPES: {
|
76 |
| - READ: process.env.SCOPE_CHALLENGES_READ || 'read:challenges', |
77 |
| - CREATE: process.env.SCOPE_CHALLENGES_CREATE || 'create:challenges', |
78 |
| - UPDATE: process.env.SCOPE_CHALLENGES_UPDATE || 'update:challenges', |
79 |
| - DELETE: process.env.SCOPE_CHALLENGES_DELETE || 'delete:challenges', |
80 |
| - ALL: process.env.SCOPE_CHALLENGES_ALL || 'all:challenges' |
| 84 | + READ: process.env.SCOPE_CHALLENGES_READ || "read:challenges", |
| 85 | + CREATE: process.env.SCOPE_CHALLENGES_CREATE || "create:challenges", |
| 86 | + UPDATE: process.env.SCOPE_CHALLENGES_UPDATE || "update:challenges", |
| 87 | + DELETE: process.env.SCOPE_CHALLENGES_DELETE || "delete:challenges", |
| 88 | + ALL: process.env.SCOPE_CHALLENGES_ALL || "all:challenges", |
81 | 89 | },
|
82 | 90 |
|
83 |
| - DEFAULT_CONFIDENTIALITY_TYPE: process.env.DEFAULT_CONFIDENTIALITY_TYPE || 'public', |
| 91 | + DEFAULT_CONFIDENTIALITY_TYPE: process.env.DEFAULT_CONFIDENTIALITY_TYPE || "public", |
84 | 92 |
|
85 |
| - M2M_AUDIT_HANDLE: process.env.M2M_AUDIT_HANDLE || 'tcwebservice', |
| 93 | + M2M_AUDIT_HANDLE: process.env.M2M_AUDIT_HANDLE || "tcwebservice", |
86 | 94 |
|
87 | 95 | FORUM_TITLE_LENGTH_LIMIT: process.env.FORUM_TITLE_LENGTH_LIMIT || 90,
|
88 | 96 |
|
89 |
| - NEW_SELF_SERVICE_PROJECT_TYPE: process.env.NEW_SELF_SERVICE_PROJECT_TYPE || 'self-service', |
| 97 | + NEW_SELF_SERVICE_PROJECT_TYPE: process.env.NEW_SELF_SERVICE_PROJECT_TYPE || "self-service", |
90 | 98 |
|
91 | 99 | SENDGRID_TEMPLATES: {
|
92 |
| - WORK_REQUEST_SUBMITTED: process.env.WORK_REQUEST_SUBMITTED || '', |
93 |
| - WORK_REQUEST_STARTED: process.env.WORK_REQUEST_STARTED || '', |
94 |
| - WORK_REQUEST_REDIRECTED: process.env.WORK_REQUEST_REDIRECTED || '', |
95 |
| - WORK_COMPLETED: process.env.WORK_COMPLETED || '' |
| 100 | + WORK_REQUEST_SUBMITTED: process.env.WORK_REQUEST_SUBMITTED || "", |
| 101 | + WORK_REQUEST_STARTED: process.env.WORK_REQUEST_STARTED || "", |
| 102 | + WORK_REQUEST_REDIRECTED: process.env.WORK_REQUEST_REDIRECTED || "", |
| 103 | + WORK_COMPLETED: process.env.WORK_COMPLETED || "", |
96 | 104 | },
|
97 | 105 |
|
98 |
| - EMAIL_FROM: process.env.EMAIL_FROM || '[email protected]', |
99 |
| - SELF_SERVICE_EMAIL_CC_ACCOUNTS: process.env.SELF_SERVICE_EMAIL_CC_ACCOUNTS ? _.map(process.env.SELF_SERVICE_EMAIL_CC_ACCOUNTS.split(','), email => ({ email })) : [{ email: '[email protected]' }], |
100 |
| - SELF_SERVICE_WHITELIST_HANDLES: process.env.SELF_SERVICE_WHITELIST_HANDLES ? process.env.SELF_SERVICE_WHITELIST_HANDLES.split(',') : ['TCConnCopilot', 'sstestcopilot'], |
101 |
| - SELF_SERVICE_APP_URL: process.env.SELF_SERVICE_APP_URL || 'https://platform.topcoder-dev.com/self-service', |
102 |
| - ZENDESK_API_TOKEN: process.env.ZENDESK_API_TOKEN || '', |
103 |
| - ZENDESK_API_URL: process.env.ZENDESK_API_URL || '', |
| 106 | + EMAIL_FROM: process.env.EMAIL_FROM || "[email protected]", |
| 107 | + SELF_SERVICE_EMAIL_CC_ACCOUNTS: process.env.SELF_SERVICE_EMAIL_CC_ACCOUNTS |
| 108 | + ? _.map(process.env.SELF_SERVICE_EMAIL_CC_ACCOUNTS.split(","), (email) => ({ email })) |
| 109 | + : [{ email: "[email protected]" }], |
| 110 | + SELF_SERVICE_WHITELIST_HANDLES: process.env.SELF_SERVICE_WHITELIST_HANDLES |
| 111 | + ? process.env.SELF_SERVICE_WHITELIST_HANDLES.split(",") |
| 112 | + : ["TCConnCopilot", "sstestcopilot"], |
| 113 | + SELF_SERVICE_APP_URL: |
| 114 | + process.env.SELF_SERVICE_APP_URL || "https://platform.topcoder-dev.com/self-service", |
| 115 | + ZENDESK_API_TOKEN: process.env.ZENDESK_API_TOKEN || "", |
| 116 | + ZENDESK_API_URL: process.env.ZENDESK_API_URL || "", |
104 | 117 | ZENDESK_CUSTOM_FIELD_TAG_ID: process.env.ZENDESK_CUSTOM_FIELD_TAG_ID,
|
105 |
| - ZENDESK_DEFAULT_PRIORITY: process.env.ZENDESK_DEFAULT_PRIORITY || 'high', |
106 |
| - INTERNAL_CACHE_TTL: process.env.INTERNAL_CACHE_TTL || 1800 |
107 |
| -} |
| 118 | + ZENDESK_DEFAULT_PRIORITY: process.env.ZENDESK_DEFAULT_PRIORITY || "high", |
| 119 | + INTERNAL_CACHE_TTL: process.env.INTERNAL_CACHE_TTL || 1800, |
| 120 | +}; |
0 commit comments