forked from MergeFi/backend
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfiguration.ts
More file actions
80 lines (79 loc) · 2.41 KB
/
Copy pathconfiguration.ts
File metadata and controls
80 lines (79 loc) · 2.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
export interface AppConfig {
env: string;
port: number;
appUrl: string;
frontendUrl: string;
database: {
url: string;
synchronize: boolean;
logging: boolean;
};
jwt: {
secret: string;
expiresIn: string;
};
github: {
clientId: string;
clientSecret: string;
oauthCallbackUrl: string;
apiToken: string;
webhookSecret: string;
};
stellar: {
network: string;
horizonUrl: string;
sorobanRpcUrl: string;
networkPassphrase: string;
escrowContractId: string;
maintenancePoolContractId: string;
treasuryAddress: string;
treasurySecret: string;
usdcAssetCode: string;
usdcAssetIssuer: string;
};
}
export default (): AppConfig => ({
env: process.env.NODE_ENV ?? 'development',
port: parseInt(process.env.PORT ?? '3000', 10),
appUrl: process.env.APP_URL ?? 'http://localhost:3000',
frontendUrl: process.env.FRONTEND_URL ?? 'http://localhost:3001',
database: {
url:
process.env.DATABASE_URL ??
'postgresql://postgres:postgres@localhost:5432/mergefi',
synchronize: process.env.DATABASE_SYNCHRONIZE === 'true',
logging: process.env.DATABASE_LOGGING === 'true',
},
jwt: {
secret: process.env.JWT_SECRET ?? 'insecure-dev-secret',
expiresIn: process.env.JWT_EXPIRES_IN ?? '7d',
},
github: {
clientId: process.env.GITHUB_CLIENT_ID ?? '',
clientSecret: process.env.GITHUB_CLIENT_SECRET ?? '',
oauthCallbackUrl:
process.env.GITHUB_OAUTH_CALLBACK_URL ??
'http://localhost:3000/api/auth/github/callback',
apiToken: process.env.GITHUB_API_TOKEN ?? '',
webhookSecret: process.env.GITHUB_WEBHOOK_SECRET ?? '',
},
stellar: {
network: process.env.STELLAR_NETWORK ?? 'testnet',
horizonUrl:
process.env.HORIZON_URL ?? 'https://horizon-testnet.stellar.org',
sorobanRpcUrl:
process.env.SOROBAN_RPC_URL ?? 'https://soroban-testnet.stellar.org',
networkPassphrase:
process.env.STELLAR_NETWORK_PASSPHRASE ??
'Test SDF Network ; September 2015',
escrowContractId: process.env.ESCROW_CONTRACT_ID ?? '',
maintenancePoolContractId:
process.env.MAINTENANCE_POOL_CONTRACT_ID ??
process.env.ESCROW_CONTRACT_ID ??
'',
treasuryAddress: process.env.TREASURY_ADDRESS ?? '',
treasurySecret: process.env.TREASURY_SECRET ?? '',
usdcAssetCode: process.env.USDC_ASSET_CODE ?? 'USDC',
usdcAssetIssuer: process.env.USDC_ASSET_ISSUER ?? '',
},
});