279 Commits

Author SHA1 Message Date
juancarmore
b2eb0b5439 backend: add MEET_COOKIE_SECURE env var for cookie security settings 2025-06-24 18:36:17 +02:00
Juan Carlos Moreno García
98764597e2
Add Azure Blob Storage integration (#3)
* azure-features: added azure blob support for meet

* azure-feature: removed variables of .env files

* azure-features: added azure blob support for meet

* azure-feature: removed variables of .env files

* azure-features: fix to pass the boundary ranges test

* ci update Azure storage configuration in egress.yaml using yq

* ci: update yq command for modifying egress.yaml to use correct syntax

* ci: add logging for current storage provider in backend integration tests

* ci: update conditional syntax for Azure storage provider in backend integration tests

* feature-azure: modified package-lock

* ci: remove logging of current storage provider in backend integration tests

* ci: add pre-startup script execution for Azure setup in backend integration tests

* fix: streamline pre-startup command execution for Azure storage provider

* fix: update pre-startup command script for Azure storage provider

* fix: improve pre-startup command script for Azure storage provider

* fix: remove commented instruction for modifying egress.yaml in Azure setup

* fix: streamline pre-startup command execution in backend integration tests

* fix: correct command execution syntax in backend integration tests

* fix: add container name for Azure storage provider configuration

* fix: add container name and environment variables for Azure storage configuration

* ci: enhance recordings API tests to support Azure storage provider configuration

* ci: add support for Azure storage provider in webhook, security, global preferences, participants, meetings, and users API tests

* ci: add Azure container names for various API tests in backend integration workflow

* fix: update Azure storage container names for various API tests

* backend: fix - ensure all recordings are deleted after room security tests

* ci: remove MEET_WEBHOOK_ENABLED environment variable from OpenVidu Meet setup in all jobs

* backend: refactor storage services exports

* backend: update Azure Blob Storage references and error messages for consistency

* ci: add matrix strategy for Rooms API Tests to support multiple storage providers

* backend: rename ABS services for consistency

* backend: ensure maxResults is a number in listObjectsPaginated method

* ci: update storage provider from azure to abs in integration tests

---------

Co-authored-by: Piwccle <sergiosergi11@hotmail.com>
Co-authored-by: Carlos Santos <4a.santos@gmail.com>
2025-06-23 18:34:53 +02:00
juancarmore
49926459cd backend: add missing description for buildAccessRecordingSecretsKey method 2025-06-23 13:54:56 +02:00
juancarmore
fd7260863f backend: enhance bulk room deletion logic to ensure proper handling of active meetings and update tests for consistency 2025-06-20 15:00:05 +02:00
Carlos Santos
eba801bcec backend: enhance logging in webhookEventBelongsToOpenViduMeet to track room metadata retrieval and existence checks 2025-06-20 10:55:31 +02:00
juancarmore
ee1e1e34d2 backend: enhance error handling in apiKeyValidator to handle unexpected errors 2025-06-19 17:40:14 +02:00
juancarmore
6e235d6fa7 backend: improve error handling in API key validation to handle retrieval failures and rename .env for development 2025-06-19 17:17:42 +02:00
juancarmore
5dcde7a153 backend: enhance API key handling and validation, including error handling for missing keys 2025-06-19 12:19:54 +02:00
juancarmore
f5718d0da4 backend: update archiveRoomMetadata method to conditionally update existing metadata 2025-06-18 13:48:16 +02:00
juancarmore
419aaecc57 backend: update API key handling to use numeric creation date and improve method signatures 2025-06-18 13:37:53 +02:00
Carlos Santos
f732ddbe67 WIP: Added api-keys endpoints, openapi docs and tests 2025-06-18 09:19:28 +02:00
juancarmore
acd9a4c880 backend: remove public option from MeetRecordingAccess and refactor related code 2025-06-13 17:18:18 +02:00
Carlos Santos
0acf064976 backend: set maxRetriesPerRequest to null for infinite retries in Redis configuration 2025-06-13 16:51:28 +02:00
Carlos Santos
12c4813264 backend: migrate Redlock dependency to @sesamecare-oss/redlock
- Updated package.json to replace the Redlock dependency with @sesamecare-oss/redlock version 1.4.0.
- Modified imports in mutex.service.ts, redis.service.ts, and garbage-collector.test.ts to reflect the new Redlock package.
2025-06-11 10:45:10 +02:00
juancarmore
d017e13d63 backend: update recording URL format in getRecordingUrl endpoint 2025-06-10 16:25:51 +02:00
juancarmore
e1b0b144e8 backend: add check for same room access middleware to getRoomPreferences endpoint 2025-06-10 12:47:29 +02:00
Carlos Santos
eb6427eb99 backend: add internal API endpoint and functionality to retrieve room preferences 2025-06-10 12:09:50 +02:00
Carlos Santos
66d63378fb backend: update recording location header to use API_BASE_PATH_V1 and update test for validating location header 2025-06-10 11:15:42 +02:00
juancarmore
ada76e5c2a backend: update recording URLs to include the host in responses 2025-06-10 11:02:52 +02:00
juancarmore
129be42152 test: add integration tests for change password and get profile functionalities 2025-06-09 22:35:44 +02:00
juancarmore
a64f48bc5b backend: implement password change functionality and move user profile retrieval to users endpoints 2025-06-09 21:42:47 +02:00
juancarmore
7efe31f8f4 backend: add getRecordingUrl endpoint and extend getRecordingMedia endpoint to be accesible using recording access secrets 2025-06-09 21:03:14 +02:00
juancarmore
409d7af0f9 backend: add missing template for user data in MeetStorageService documentation 2025-06-06 16:44:54 +02:00
Carlos Santos
be7a37a004 refactor: update file paths for frontend resources resources 2025-06-06 12:20:13 +02:00
Carlos Santos
a718243409 backend: implement batch deletion of rooms 2025-06-06 10:18:21 +02:00
Carlos Santos
7532b44043 backend: Fixed typo 2025-06-04 12:59:17 +02:00
Carlos Santos
5089df16a7 backend: implement access recording secrets management in storage service 2025-06-04 12:44:48 +02:00
Carlos Santos
cf27433e2d backend: rename buildDefaultPreferences to getDefaultPreferences for clarity 2025-06-04 11:56:02 +02:00
Carlos Santos
8aa1bbc64b Refactor storage service and interfaces for improved separation of concerns
- Updated StorageFactory to create basic storage providers and key builders.
- Simplified StorageProvider interface to focus on basic CRUD operations.
- Enhanced MeetStorageService to handle domain-specific logic while delegating storage operations.
- Implemented Redis caching for room data to improve performance.
- Added error handling and logging improvements throughout the service.
- Removed deprecated methods and streamlined object retrieval processes.
refactor: update storage service and interfaces to include user key handling and improve initialization logic

refactor: update beforeAll hooks in recording tests to clear rooms and recordings

refactor: optimize integration recordings test command

Revert "refactor: optimize integration recordings test command"

This reverts commit d517a44fa282b91613f8c55130916c2af5f07267.

refactor: enhance Redis cache storage operations

refactor: streamline test setup and teardown for security and recordings APIs
2025-06-04 11:14:04 +02:00
juancarmore
a118b5cf92 backend: remove default user, update user interface to include password hash and a list of roles, and refactor associated code 2025-05-31 00:10:03 +02:00
juancarmore
7d128ed699 backend: extend storage provider to manage user data with new methods for retrieving and saving users 2025-05-31 00:05:39 +02:00
juancarmore
55bc8726d0 backend: update security preferences structure to remove unused attributes and refactor associated code 2025-05-31 00:03:18 +02:00
Carlos Santos
0d19028b46 backend: fixed recordiing timeout handling for returning expected error 2025-05-30 16:55:45 +02:00
Carlos Santos
333c7da5b2 backend: refactor RecordingService to use StorageProvider for listing objects and remove S3Service dependency 2025-05-30 11:06:48 +02:00
Carlos Santos
2872383b01 backend: update S3 bucket name to 'openvidu-appdata' in environment configuration 2025-05-29 16:39:37 +02:00
Carlos Santos
0fc8c203dd backend: add getRecordingMetadataByPath method to StorageProvider and implement in S3StorageProvider and MeetStorageService 2025-05-29 16:19:27 +02:00
Carlos Santos
52ef54311a backend: remove unused getMeetRecordingInfoFromMetadata method from RecordingService 2025-05-29 14:07:54 +02:00
Carlos Santos
37ed8003f5 backend: implement getRecordingMedia method in StorageProvider and S3StorageProvider, refactor RecordingService to use it 2025-05-29 14:07:29 +02:00
Carlos Santos
e4b77eb2f6 backend: add getObjectHeaders method to StorageProvider and implement in S3StorageProvider and MeetStorageService 2025-05-29 13:57:31 +02:00
Carlos Santos
5295d6326e backend: implement deleteRecordingBinaryFilesByPaths method in StorageProvider and S3StorageProvider 2025-05-29 13:41:13 +02:00
Carlos Santos
2c03ecdd9a backend: implement bulk deletion of recording metadata files in StorageProvider and S3StorageProvider 2025-05-29 13:29:42 +02:00
Carlos Santos
616222fb73 backend: implement deletion of archived room metadata in MeetStorageService and S3StorageProvider 2025-05-28 16:41:22 +02:00
Carlos Santos
325fb90550 backend: refactor recording metadata retrieval to use MeetStorageService and update StorageProvider interface 2025-05-28 16:11:12 +02:00
Carlos Santos
2e51681cd9 backend: refactor recording metadata handling to use MeetStorageService 2025-05-28 14:09:08 +02:00
Carlos Santos
b6ace8d4ad backend: optimize webhook notification methods for asynchronous execution 2025-05-28 13:15:00 +02:00
Carlos Santos
b9a11dd45d backend: enhance StorageProvider interface with recording metadata methods and type parameters 2025-05-28 11:56:41 +02:00
Carlos Santos
172e8edcfd backend: update type parameters for storage interfaces and methods to improve clarity and consistency 2025-05-28 11:46:13 +02:00
Carlos Santos
2168279baf backend: optimize room deletion logic in LivekitWebhookService for finished meetings 2025-05-26 18:42:14 +02:00
Carlos Santos
48c0133504 backend: enhance signal sending methods in RecordingService and RoomService with error handling and logging 2025-05-26 11:58:43 +02:00
juancarmore
738c7cb878 backend: remove unused 406 status code from StatusError type in error model 2025-05-21 21:43:44 +02:00