juancarmore e6d04aca16 Migrate storage from S3 to MongoDB:
commit 7fc703b7a01c038cfff69c88fea5d681b3011ea1
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 17:45:06 2025 +0100

    backend: add E2EE configuration schema to MeetRoom

commit 3ad51133aaa696c36b9fc5dd1c271b5e09077e0b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 16:15:13 2025 +0100

    backend: enhance MongoDB configuration logging and validation

commit b5b52e97dd4a0e16dbb5cda53dc406aa5c739380
Author: cruizba <carlos.ruizbal@gmail.com>
Date:   Wed Nov 5 15:50:05 2025 +0100

    feat: add MongoDB configuration options for optional mongodb and configurable uri

commit c6f0c35435a18365c99f44c692d5d2f2a9bd53ab
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 13:59:10 2025 +0100

    ci: update backend integration test scripts and workflow

commit 19a1348f2f695a27694f1c5e80de696d039b6f4e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:05:38 2025 +0100

    frontend: replace AuthService with ApiKeyService for API key management

commit 9465e40bc1babfae1203dc317907dc86dc57cd0c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:05:07 2025 +0100

    test: refactor auth and api key tests structure to improve consistency

commit b154aa8186eaaa51e027fc1459b9175f87affbd8
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:02:42 2025 +0100

    openapi: move API key management endpoints to a dedicated file and update references

commit 6987d2b587d1cd6ba85f2ea38c408957e5f0de04
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:01:00 2025 +0100

    backend: move API key management endpoints to its own controller

commit 8c9452bb74887265920942e3253921a43504790b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:00:00 2025 +0100

    backend: comment out MigrationService import and related export to prevent initialization error

commit daa923fa9f6ee68cb4f4ebfa61ce16026fbdc374
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 23:09:18 2025 +0100

    backend: implement migration service

commit 058593fb9488ae00077e28a591c7ea2a8b8d96cc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 23:08:05 2025 +0100

    backend: add migration repository and model to handle database migrations

commit 4cbc9a9f48ede801333bfe37f0dba2993a79c29c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 19:41:01 2025 +0100

    backend: refactor update repository methods to throw errors instead of returning null for not found cases

commit 03496a733b9fa39776eb4bf70057459c7e567954
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:55:42 2025 +0100

    openapi: update roomName parameter description and reference in recordings path

commit 74293e04967fb1416b69324294ae864df9173f91
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:55:04 2025 +0100

    openapi: add analytics endpoint and schema for usage metrics

commit 8de171b0b340ffa787ef136a3e516f03f96b1938
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:40:24 2025 +0100

    test: add analytics API and corresponding security tests

commit aaa15acdda5f09c6c0e45d24385cc9ec5daca55b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 14:04:58 2025 +0100

    frontend: implement analytics service and update overview component to use new metrics

commit 13bad60bcc02e9d7aa46fc9bb96f7cc85ec818cc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 14:04:23 2025 +0100

    backend: add analytics endpoint for usage metrics

commit ee820bba27f421bb2f9d34130bc00b41aefad217
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 13:18:29 2025 +0100

    backend: replace z.enum with z.nativeEnum for improved type safety in validation schemas

commit 1d394d059e6beef47faddd2205482974ecc1860c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 11:50:03 2025 +0100

    backend: update MongoDB configuration to use new environment variables and improve connection string handling

commit 56c0c3a1bd19bbd2a5e0fdbe582fdf288c6f33d1
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 18:23:06 2025 +0100

    frontend: update room ID reference in recording lists component

commit 189d1b26ad18d29cf9f7c6f85c2524ed5ad33f72
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 18:12:07 2025 +0100

    tests: remove unused MeetStorageService references and related tests

commit fe3fcdba35afcf186b0ff05e9ec3b2ae05da1005
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 17:31:18 2025 +0100

    backend: rename MeetStorageService to LegacyStorageService and remove all unused methods

commit fa782f234d561b5f7f6d4a50e54e3278b9beaec4
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:56:31 2025 +0100

    backend: replace MeetStorageService with RecordingRepository and BlobStorageService for recording management

commit 51dea37c07e477bc7e447b2e57acd21b44deb5e4
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:53:48 2025 +0100

    frontend: add roomName filter to recording service and recordings component

commit fa283e7c51b3382300cb25fa5f8a9e144637c757
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:53:04 2025 +0100

    backend: add roomName filter in get recordings endpoint

commit d1dfb24cfda2e22d739f506bf0213275cd4b2bdd
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:51:00 2025 +0100

    backend: implement BlobStorageService for managing recording media files in object storage

commit ce293cf37545fa3aaad638eb25dfd9ae5fc8dd72
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:48:04 2025 +0100

    backend: add unique index for efficient querying on MeetApiKey and MeetGlobalConfig schemas

commit 3d999b4249e15f63ef086d2ab38485e0fbadb27e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:47:44 2025 +0100

    backend: add RecordingRepository and schema for managing recording entities

commit 757636c55254e76643b99a66bc583ab834c5eadd
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:05:12 2025 +0100

    tests: refactor list rooms with pagination test to create rooms sequentially and ensure correct ordering

commit cda25543e30883431962bef8617cb245eade8a1d
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:04:32 2025 +0100

    tests: centralize method restoreDefaultGlobalConfig and refactor code

commit 726d128d7471ad4abbaabda086304f22705ddf82
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:01:17 2025 +0100

    backend: enhance GlobalConfig schema with authentication, security, webhook, and room configuration sub-schemas

commit fd49fbb03cd8d70f29cc5781a0e0b9b5244f4747
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 11:02:34 2025 +0100

    backend: add StorageInitService for managing storage initialization and refactor dependency injection

commit 783f480337e61bfc19ad6d19f3b84c523577c309
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 11:01:58 2025 +0100

    backend: refactor middleware and services to use GlobalConfigService for configuration management

commit d28247647c2e0712c0575faa8a85a8c67a75f343
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:23:40 2025 +0100

    backend: move authenticateUser method to UserService and rename AuthService to ApiKeyService

commit c8f98391a178da4f9525069203fe4e3d2aecfaaa
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:21:37 2025 +0100

    backend: implement GlobalConfigService for managing global configuration and update related controllers

commit 08421feffc8cd4cadb8f2df3b4c41169d4776572
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:20:23 2025 +0100

    backend: add GlobalConfigRepository and schema for managing global configuration

commit e1e1b0dda511fb5fbdd8fc88f8a691bc974866c9
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:53:52 2025 +0100

    backend: refactor AuthService and MeetStorageService to use ApiKeyRepository for API key management

commit c46fd1669d0923a63195ef95ddf3105584fc18fc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:52:56 2025 +0100

    backend: add ApiKeyRepository and schema for managing API keys

commit c1220eb89b98e842009fd16d95ddd87fd87ae02c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:52:27 2025 +0100

    backend: rename UserDocument and UserModel to MeetUserDocument and MeetUserModel for consistency

commit 331e4ca264086e4fd0e947f2c8adc04dbfe7f831
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:27:43 2025 +0100

    backend: replace MeetStorageService usage with UserRepository in UserService

commit ec074307c3cd8c30f4babef5194fc4ebbe7ea7c0
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:05:15 2025 +0100

    test: update startTestServer calls to await for asynchronous initialization

commit 3bba2e2822824a1855e6691c0c3b456c9ac5dd3a
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:04:39 2025 +0100

    test: initialize eager services in startTestServer and update calls to await for asynchronous initialization

commit e52f7353515f95835c9d15dba41ff33a2e26d367
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:40:04 2025 +0200

    backend: add User schema and repository for user management

commit 10c548afa9e45dd72d0fb86c9dab0a601c08e652
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:39:38 2025 +0200

    backend: add findAll method to BaseRepository and findExpiredRooms method to RoomRepository

commit cbe467e0e5475311f8aea4b4ff99a481007537c0
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:39:09 2025 +0200

    backend: optimize MeetRoom schema by adding indexes for efficient querying

commit fb95ef3248e64721e107c3c019e6a61a210ad6ce
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 18:07:38 2025 +0200

    backend: enhance cursor-based pagination to handle null/undefined values in MongoDB queries

commit bf709bb8e4a301a5738e44c7d7fb2f219846c3ce
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 18:07:25 2025 +0200

    ci: update integration test paths to reflect new directory structure

commit 67ce9da156dccded23eb2b9b9a8a34c835d7f27b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:09:21 2025 +0200

    backend: replace storage service with RoomRepository for room management

commit 25dcd057d6597910fa4992dc45934e85edbd6a3e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:07:55 2025 +0200

    backend: implement RoomRepository to manage MeetRoom objects in MongoDB

commit 42e6036741871b964d9d7a644210eedeaf1ad543
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:05:31 2025 +0200

    backend: add mongoose dependecy and create MongoDBService
2025-11-05 17:48:38 +01:00

120 lines
6.6 KiB
JSON

{
"name": "@openvidu-meet/backend",
"version": "3.4.1",
"description": "OpenVidu Meet Backend",
"author": "OpenVidu",
"license": "Apache-2.0",
"homepage": "https://github.com/OpenVidu/openvidu-meet#readme",
"repository": {
"type": "git",
"url": "git+https://github.com/OpenVidu/openvidu-meet.git"
},
"bugs": {
"url": "https://github.com/OpenVidu/openvidu-meet/issues"
},
"keywords": [
"openvidu",
"webrtc",
"openvidu-meet"
],
"main": "dist/index.js",
"types": "dist/index.d.ts",
"type": "module",
"files": [
"dist",
"src",
"openapi",
"package.json"
],
"scripts": {
"build": "tsc -p tsconfig.prod.json",
"build:watch": "tsc -p tsconfig.prod.json --watch",
"doc:api": "mkdir -p public/openapi && cd openapi && openapi-generate-html -i openvidu-meet-api.yaml --ui=stoplight --theme=light --title 'OpenVidu Meet REST API' --description 'OpenVidu Meet REST API' -o ../public/openapi/public.html",
"doc:internal-api": "mkdir -p public/openapi && cd openapi && openapi-generate-html -i openvidu-meet-internal-api.yaml --ui=stoplight --theme=dark --title 'OpenVidu Meet Internal REST API' --description 'OpenVidu Meet Internal REST API' -o ../public/openapi/internal.html",
"start": "node dist/src/server.js",
"start:dev": "NODE_ENV=development concurrently -k -n server,typecheck -c cyan,yellow \"pnpm tsx watch --clear-screen=false --include src ./src/server.ts\" \"pnpm run dev:typecheck\"",
"dev:typecheck": "node ../../scripts/dev/backend-type-checker.mjs",
"package:build": "pnpm run build:prod && pnpm pack",
"test:integration-room-management": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js --runInBand --forceExit --testPathPattern \"tests/integration/api/(rooms|meetings|participants)\" --ci --reporters=default --reporters=jest-junit",
"test:integration-rooms": "node --experimental-vm-modules ../../node_modules/jest/bin/jest.js --runInBand --forceExit --testPathPattern 'tests/integration/api/rooms' --ci --reporters=default --reporters=jest-junit",
"test:integration-meetings": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/meetings\" --ci --reporters=default --reporters=jest-junit",
"test:integration-participants": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/participants\" --ci --reporters=default --reporters=jest-junit",
"test:integration-webhooks": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/webhooks\" --ci --reporters=default --reporters=jest-junit",
"test:integration-auth-security": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/(security|auth|api-keys|users)\" --ci --reporters=default --reporters=jest-junit",
"test:integration-security": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/security\" --ci --reporters=default --reporters=jest-junit",
"test:integration-auth": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/auth\" --ci --reporters=default --reporters=jest-junit",
"test:integration-api-keys": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/api-keys\" --ci --reporters=default --reporters=jest-junit",
"test:integration-users": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/users\" --ci --reporters=default --reporters=jest-junit",
"test:integration-config-analytics": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/(global-config|analytics)\" --ci --reporters=default --reporters=jest-junit",
"test:integration-global-config": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/global-config\" --ci --reporters=default --reporters=jest-junit",
"test:integration-analytics": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/integration/api/analytics\" --ci --reporters=default --reporters=jest-junit",
"test:integration-recordings": "node --experimental-vm-modules ../../node_modules/.bin/jest --maxWorkers=1 --maxConcurrency=1 --forceExit --testPathPattern \"tests/integration/api/recordings\" --ci --reporters=default --reporters=jest-junit",
"test:unit": "node --experimental-vm-modules ../../node_modules/.bin/jest --runInBand --forceExit --testPathPattern \"tests/unit\" --ci --reporters=default --reporters=jest-junit",
"lint:fix": "eslint src --fix",
"format:code": "prettier --ignore-path .gitignore --write '**/*.{ts,js,json,md}'",
"clean": "rm -rf node_modules dist public test-results"
},
"dependencies": {
"@aws-sdk/client-s3": "3.846.0",
"@azure/storage-blob": "12.27.0",
"@google-cloud/storage": "7.17.1",
"@openvidu-meet/typings": "workspace:*",
"@sesamecare-oss/redlock": "1.4.0",
"archiver": "7.0.1",
"bcrypt": "5.1.1",
"body-parser": "2.2.0",
"chalk": "5.6.2",
"cookie-parser": "1.4.7",
"cors": "2.8.5",
"cron": "4.3.3",
"dotenv": "16.6.1",
"express": "4.21.2",
"express-rate-limit": "7.5.1",
"inversify": "6.2.2",
"ioredis": "5.6.1",
"jwt-decode": "4.0.0",
"livekit-server-sdk": "2.13.1",
"mongoose": "8.19.2",
"ms": "2.1.3",
"uid": "2.0.2",
"winston": "3.18.3",
"yamljs": "0.3.0",
"zod": "3.25.76"
},
"devDependencies": {
"@types/archiver": "6.0.3",
"@types/bcrypt": "5.0.2",
"@types/cookie-parser": "1.4.9",
"@types/cors": "2.8.19",
"@types/express": "4.17.23",
"@types/jest": "29.5.14",
"@types/ms": "2.1.0",
"@types/node": "22.16.4",
"@types/supertest": "6.0.3",
"@types/unzipper": "0.10.11",
"@types/validator": "13.15.2",
"@types/yamljs": "0.2.34",
"@typescript-eslint/eslint-plugin": "6.21.0",
"@typescript-eslint/parser": "6.21.0",
"cross-env": "7.0.3",
"eslint": "8.57.1",
"eslint-config-prettier": "9.1.0",
"jest": "29.7.0",
"jest-fetch-mock": "3.0.3",
"jest-junit": "16.0.0",
"nodemon": "3.1.10",
"openapi-generate-html": "0.5.3",
"prettier": "3.6.2",
"supertest": "7.1.3",
"ts-jest": "29.4.0",
"ts-jest-resolver": "2.0.1",
"tsx": "4.20.3",
"typescript": "5.9.2",
"unzipper": "0.12.3"
},
"jest-junit": {
"outputDirectory": "test-results",
"outputName": "junit.xml"
}
}