mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-15 20:30:33 +00:00
feat(nestjs): migrate to NestJS
This commit is contained in:
6
packages/server/src/common/config/gotenberg.ts
Normal file
6
packages/server/src/common/config/gotenberg.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('gotenberg', () => ({
|
||||
url: process.env.GOTENBERG_URL,
|
||||
docsUrl: process.env.GOTENBERG_DOCS_URL,
|
||||
}));
|
||||
33
packages/server/src/common/config/index.ts
Normal file
33
packages/server/src/common/config/index.ts
Normal file
@@ -0,0 +1,33 @@
|
||||
import systemDatabase from './system-database';
|
||||
import tenantDatabase from './tenant-database';
|
||||
import signup from './signup';
|
||||
import gotenberg from './gotenberg';
|
||||
import plaid from './plaid';
|
||||
import lemonsqueezy from './lemonsqueezy';
|
||||
import s3 from './s3';
|
||||
import openExchange from './open-exchange';
|
||||
import posthog from './posthog';
|
||||
import stripePayment from './stripe-payment';
|
||||
import signupConfirmation from './signup-confirmation';
|
||||
import signupRestrictions from './signup-restrictions';
|
||||
import jwt from './jwt';
|
||||
import mail from './mail';
|
||||
import loops from './loops';
|
||||
|
||||
export const config = [
|
||||
systemDatabase,
|
||||
tenantDatabase,
|
||||
signup,
|
||||
gotenberg,
|
||||
plaid,
|
||||
lemonsqueezy,
|
||||
s3,
|
||||
openExchange,
|
||||
posthog,
|
||||
stripePayment,
|
||||
signupConfirmation,
|
||||
signupRestrictions,
|
||||
jwt,
|
||||
mail,
|
||||
loops
|
||||
];
|
||||
5
packages/server/src/common/config/inventory.ts
Normal file
5
packages/server/src/common/config/inventory.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { registerAs } from "@nestjs/config";
|
||||
|
||||
export default registerAs('inventory', () => ({
|
||||
scheduleComputeItemCost: process.env.INVENTORY_SCHEDULE_COMPUTE_ITEM_COST,
|
||||
}));
|
||||
5
packages/server/src/common/config/jwt.ts
Normal file
5
packages/server/src/common/config/jwt.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('jwt', () => ({
|
||||
secret: process.env.APP_JWT_SECRET || '123123',
|
||||
}));
|
||||
7
packages/server/src/common/config/lemonsqueezy.ts
Normal file
7
packages/server/src/common/config/lemonsqueezy.ts
Normal file
@@ -0,0 +1,7 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('lemonsqueezy', () => ({
|
||||
apiKey: process.env.LEMONSQUEEZY_API_KEY,
|
||||
storeId: process.env.LEMONSQUEEZY_STORE_ID,
|
||||
webhookSecret: process.env.LEMONSQUEEZY_WEBHOOK_SECRET,
|
||||
}));
|
||||
6
packages/server/src/common/config/loops.ts
Normal file
6
packages/server/src/common/config/loops.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('loops', () => ({
|
||||
apiKey: process.env.LOOPS_API_KEY,
|
||||
}));
|
||||
13
packages/server/src/common/config/mail.ts
Normal file
13
packages/server/src/common/config/mail.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('mail', () => ({
|
||||
host: process.env.MAIL_HOST,
|
||||
username: process.env.MAIL_USERNAME,
|
||||
password: process.env.MAIL_PASSWORD,
|
||||
port: parseInt(process.env.MAIL_PORT, 10),
|
||||
secure: process.env.MAIL_SECURE === 'true',
|
||||
from: {
|
||||
name: process.env.MAIL_FROM_NAME,
|
||||
address: process.env.MAIL_FROM_ADDRESS,
|
||||
},
|
||||
}));
|
||||
5
packages/server/src/common/config/open-exchange.ts
Normal file
5
packages/server/src/common/config/open-exchange.ts
Normal file
@@ -0,0 +1,5 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('openExchange', () => ({
|
||||
appId: process.env.OPEN_EXCHANGE_RATE_APP_ID,
|
||||
}));
|
||||
8
packages/server/src/common/config/plaid.ts
Normal file
8
packages/server/src/common/config/plaid.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('plaid', () => ({
|
||||
env: process.env.PLAID_ENV || 'sandbox',
|
||||
clientId: process.env.PLAID_CLIENT_ID,
|
||||
secret: process.env.PLAID_SECRET,
|
||||
linkWebhook: process.env.PLAID_LINK_WEBHOOK,
|
||||
}));
|
||||
6
packages/server/src/common/config/posthog.ts
Normal file
6
packages/server/src/common/config/posthog.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('posthog', () => ({
|
||||
apiKey: process.env.POSTHOG_API_KEY,
|
||||
host: process.env.POSTHOG_HOST || 'https://us.i.posthog.com',
|
||||
}));
|
||||
8
packages/server/src/common/config/redis.ts
Normal file
8
packages/server/src/common/config/redis.ts
Normal file
@@ -0,0 +1,8 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('redis', () => ({
|
||||
host: process.env.REDIS_HOST || 'localhost',
|
||||
port: parseInt(process.env.REDIS_PORT, 10) || 6379,
|
||||
password: process.env.REDIS_PASSWORD || undefined,
|
||||
db: parseInt(process.env.REDIS_DB, 10) || 0,
|
||||
}));
|
||||
9
packages/server/src/common/config/s3.ts
Normal file
9
packages/server/src/common/config/s3.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('s3', () => ({
|
||||
region: process.env.S3_REGION || 'US',
|
||||
accessKeyId: process.env.S3_ACCESS_KEY_ID,
|
||||
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
|
||||
endpoint: process.env.S3_ENDPOINT,
|
||||
bucket: process.env.S3_BUCKET,
|
||||
}));
|
||||
6
packages/server/src/common/config/signup-confirmation.ts
Normal file
6
packages/server/src/common/config/signup-confirmation.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { parseBoolean } from '@/utils/parse-boolean';
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('signupConfirmation', () => ({
|
||||
enabled: parseBoolean<boolean>(process.env.SIGNUP_EMAIL_CONFIRMATION, false),
|
||||
}));
|
||||
11
packages/server/src/common/config/signup-restrictions.ts
Normal file
11
packages/server/src/common/config/signup-restrictions.ts
Normal file
@@ -0,0 +1,11 @@
|
||||
import { castCommaListEnvVarToArray } from '@/utils/cast-comma-list-envvar-Array';
|
||||
import { parseBoolean } from '@/utils/parse-boolean';
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('signupRestrictions', () => ({
|
||||
disabled: parseBoolean<boolean>(process.env.SIGNUP_DISABLED, false),
|
||||
allowedDomains: castCommaListEnvVarToArray(
|
||||
process.env.SIGNUP_ALLOWED_DOMAINS,
|
||||
),
|
||||
allowedEmails: castCommaListEnvVarToArray(process.env.SIGNUP_ALLOWED_EMAILS),
|
||||
}));
|
||||
12
packages/server/src/common/config/signup.ts
Normal file
12
packages/server/src/common/config/signup.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('signup', () => ({
|
||||
disabled: process.env.SIGNUP_DISABLED === 'true',
|
||||
allowedDomains: process.env.SIGNUP_ALLOWED_DOMAINS
|
||||
? process.env.SIGNUP_ALLOWED_DOMAINS.split(',')
|
||||
: [],
|
||||
allowedEmails: process.env.SIGNUP_ALLOWED_EMAILS
|
||||
? process.env.SIGNUP_ALLOWED_EMAILS.split(',')
|
||||
: [],
|
||||
emailConfirmation: process.env.SIGNUP_EMAIL_CONFIRMATION === 'true',
|
||||
}));
|
||||
9
packages/server/src/common/config/stripe-payment.ts
Normal file
9
packages/server/src/common/config/stripe-payment.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('stripePayment', () => ({
|
||||
secretKey: process.env.STRIPE_PAYMENT_SECRET_KEY,
|
||||
publishableKey: process.env.STRIPE_PAYMENT_PUBLISHABLE_KEY,
|
||||
clientId: process.env.STRIPE_PAYMENT_CLIENT_ID,
|
||||
webhooksSecret: process.env.STRIPE_PAYMENT_WEBHOOKS_SECRET,
|
||||
redirectUrl: process.env.STRIPE_PAYMENT_REDIRECT_URL,
|
||||
}));
|
||||
10
packages/server/src/common/config/system-database.ts
Normal file
10
packages/server/src/common/config/system-database.ts
Normal file
@@ -0,0 +1,10 @@
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('systemDatabase', () => ({
|
||||
client: 'mysql',
|
||||
host: process.env.SYSTEM_DB_HOST || process.env.DB_HOST,
|
||||
port: process.env.SYSTEM_DB_PORT || process.env.DB_PORT || 5432,
|
||||
user: process.env.SYSTEM_DB_USER || process.env.DB_USER,
|
||||
password: process.env.SYSTEM_DB_PASSWORD || process.env.DB_PASSWORD,
|
||||
databaseName: process.env.SYSTEM_DB_NAME || process.env.DB_NAME,
|
||||
}));
|
||||
13
packages/server/src/common/config/tenant-database.ts
Normal file
13
packages/server/src/common/config/tenant-database.ts
Normal file
@@ -0,0 +1,13 @@
|
||||
import * as path from 'path';
|
||||
import { registerAs } from '@nestjs/config';
|
||||
|
||||
export default registerAs('tenantDatabase', () => ({
|
||||
client: 'mysql',
|
||||
host: process.env.TENANT_DB_HOST || process.env.DB_HOST,
|
||||
port: process.env.TENANT_DB_PORT || process.env.DB_PORT || 5432,
|
||||
user: process.env.TENANT_DB_USER || process.env.DB_USER,
|
||||
password: process.env.TENANT_DB_PASSWORD || process.env.DB_PASSWORD,
|
||||
dbNamePrefix: process.env.TENANT_DB_NAME_PERFIX || 'bigcapital_tenant_',
|
||||
migrationsDir: path.join(__dirname, '../../database/migrations'),
|
||||
seedsDir: path.join(__dirname, '../../database/seeds/core'),
|
||||
}));
|
||||
Reference in New Issue
Block a user