Restrucure consumer + monorepo

This commit is contained in:
Emily
2024-11-15 23:36:40 +01:00
parent 5ac43dec6b
commit 41037a01a1
25 changed files with 11658 additions and 1479 deletions

View File

@@ -2,15 +2,18 @@ module.exports = {
apps: [
{
name: 'consumer',
exec_mode: 'fork',
exec_mode: 'cluster',
instances: '2',
script: './dist/consumer/src/index.js',
env: {
MONGO_CONNECTION_STRING: "",
EMAIL_SERVICE: '',
BREVO_API_KEY: '',
MONGO_CONNECTION_STRING: '',
REDIS_URL: "",
REDIS_USERNAME: "",
REDIS_PASSWORD: "",
STREAM_NAME: "",
GROUP_NAME: ""
GROUP_NAME: ''
}
}
]

View File

@@ -1,8 +1,5 @@
{
"dependencies": {
"@getbrevo/brevo": "^2.2.0",
"mongoose": "^8.3.2",
"redis": "^4.6.14",
"ua-parser-js": "^1.0.37"
},
"devDependencies": {
@@ -11,17 +8,17 @@
"ts-node": "^10.9.2",
"typescript": "^5.4.5"
},
"name": "consumer-database",
"name": "consumer",
"version": "1.0.0",
"main": "dist/index.js",
"scripts": {
"dev": "node scripts/start_dev.js",
"compile": "tsc",
"build": "node ../scripts/build.js",
"build_project": "node ../scripts/build.js",
"build": "npm run compile && npm run build_project && npm run create_db",
"create_db": "cd scripts && ts-node create_database.ts",
"build_all": "npm run compile && npm run build && npm run create_db",
"docker-build": "docker build -t litlyx-consumer -f Dockerfile ../",
"docker-inspect": "docker run -it litlyx-consumer sh"
"docker-inspect": "docker run -it litlyx-consumer sh"
},
"keywords": [],
"author": "Emily",

View File

@@ -1,9 +1,9 @@
import { ProjectModel } from "@schema/ProjectSchema";
import { ProjectModel } from "@schema/project/ProjectSchema";
import { UserModel } from "@schema/UserSchema";
import { LimitNotifyModel } from "@schema/broker/LimitNotifySchema";
import EmailService from '@services/EmailService';
import { requireEnv } from "@utils/requireEnv";
import { TProjectLimit } from "@schema/ProjectsLimits";
import { TProjectLimit } from "@schema/project/ProjectsLimits";
if (process.env.EMAIL_SERVICE) {
EmailService.init(requireEnv('BREVO_API_KEY'));

View File

@@ -1,6 +1,6 @@
import { ProjectLimitModel } from '@schema/ProjectsLimits';
import { ProjectLimitModel } from '@schema/project/ProjectsLimits';
import { MAX_LOG_LIMIT_PERCENT } from '@data/broker/Limits';
import { checkLimitsForEmail } from './EmailController';

View File

@@ -2,7 +2,7 @@
import { requireEnv } from '@utils/requireEnv';
import { connectDatabase } from '@services/DatabaseService';
import { RedisStreamService } from '@services/RedisStreamService';
import { ProjectModel } from "@schema/ProjectSchema";
import { ProjectModel } from "@schema/project/ProjectSchema";
import { VisitModel } from "@schema/metrics/VisitSchema";
import { SessionModel } from "@schema/metrics/SessionSchema";
import { EventModel } from "@schema/metrics/EventSchema";
@@ -10,8 +10,9 @@ import { lookup } from './lookup';
import { UAParser } from 'ua-parser-js';
import { checkLimits } from './LimitChecker';
import { ProjectLimitModel } from '@schema/ProjectsLimits';
import { ProjectCountModel } from '@schema/ProjectsCounts';
import { ProjectLimitModel } from '@schema/project/ProjectsLimits';
import { ProjectCountModel } from '@schema/project/ProjectsCounts';
connectDatabase(requireEnv('MONGO_CONNECTION_STRING'));
main();

View File

@@ -1,27 +1,10 @@
{
"extends": "../tsconfig.json",
"compilerOptions": {
"baseUrl": ".",
"module": "NodeNext",
"target": "ESNext",
"esModuleInterop": true,
"outDir": "dist",
"paths": {
"@schema/*": [
"../shared/schema/*"
],
"@services/*": [
"../shared/services/*"
],
"@data/*": [
"../shared/data/*"
],
"@functions/*": [
"../shared/functions/*"
],
"@utils/*": [
"../shared/utils/*"
]
}
"outDir": "dist"
},
"include": [
"src/**/*.ts"