54 Commits

Author SHA1 Message Date
juancarmore
eca3acbcf0 backend: refactor assistant creation and cancellation to use participant identity from session service 2026-03-05 11:03:32 +01:00
juancarmore
7607f134a0 Merge branch 'main' into feat/room-members-users 2026-03-04 18:17:05 +01:00
CSantosM
c808e98820 backend(ai-assistant): implement AI assistant creation and management
- Add OpenAPI components for creating and responding to AI assistant requests.
- Implement AI assistant service for managing live captions capability.
- Create routes and controllers for AI assistant operations (create and cancel).
- Introduce request validation middleware for AI assistant requests.
- Update Redis helper to manage AI assistant locks.
- Integrate AI assistant cleanup in webhook service.
- Enhance LiveKit service to manage agent dispatch for AI assistants.
- Update token service to remove unnecessary parameters related to captions.
- Add typings for AI assistant requests and responses.
2026-03-03 18:43:35 +01:00
juancarmore
e05dfdf001 backend: enhance room member token generation with support for recording access and update related tests 2026-03-03 10:02:39 +01:00
juancarmore
63d72c994b refactor: rename anonymous room access to access across all codebase
- Updated the MeetRoom interface to replace anonymous access configuration with a unified access configuration.
- Refactored RoomService to handle access configuration for both anonymous and registered users.
- Modified tests to reflect changes in access configuration structure.
- Updated frontend components to use the new access configuration for meeting URLs and permissions.
- Ensured backward compatibility by adjusting API endpoints and request/response types.
2026-03-02 17:37:25 +01:00
juancarmore
c6742fd5eb openapi: rename extraFields and X-ExtraFields files and update references in room API 2026-02-19 14:05:25 +01:00
juancarmore
761b205ed0 openapi: add sort field parameters for users, recordings, room members, and rooms 2026-02-19 14:05:25 +01:00
CSantosM
6c38d615ea backend: add enum values for sortField parameter in API 2026-02-17 14:47:22 +01:00
CSantosM
9dc4834edd backend: implement X-Fields header for recording responses, enhancing data retrieval flexibility 2026-02-16 14:09:14 +01:00
CSantosM
6ca1ace61e backend: add encoding parameter to recording response examples 2026-02-16 12:24:40 +01:00
CSantosM
61b10befec backend: update API documentation for room parameters and responses, enhancing clarity and consistency 2026-02-16 11:20:50 +01:00
juancarmore
2566219dd9 openapi: update success response messages for room deletion scenarios 2026-02-16 10:46:19 +01:00
CSantosM
c7e7674161 backend: update parameter references in rooms.yaml 2026-02-16 09:53:23 +01:00
CSantosM
d155846708 backend: enhance room deletion API to support field filtering
- Added support for `fields` and `extraFields` parameters in `deleteMeetRoom` and `bulkDeleteMeetRooms` methods to allow clients to specify which fields to include in the response.
- Updated the `RoomService` to handle field filtering logic when deleting rooms, ensuring only requested fields are returned in the response.
- Enhanced integration tests to verify that the API correctly filters responses based on `fields` and `extraFields` query parameters and headers during room deletion operations.
- Created new test cases to validate the behavior when some rooms fail to delete due to active meetings, ensuring the response includes the correct fields.
- Refactored existing tests to accommodate the new field filtering functionality and ensure comprehensive coverage.
2026-02-13 16:45:38 +01:00
CSantosM
f6dd80e8eb backend: update success response schema for room deletion to improve clarity and structure 2026-02-13 16:45:38 +01:00
CSantosM
28f4bf6b38 backend: add success responses for room deletion and scheduling 2026-02-13 16:45:38 +01:00
CSantosM
b8e7baf705 Renames expand to extraFields in room API
Updates the room API to use `extraFields` instead of `expand` for including additional data in responses.

This change improves clarity and consistency in the API design.
It also simplifies the filtering logic by explicitly differentiating between
base fields (controlled by `fields`) and extra fields (controlled by `extraFields`).

The changes include:
- Renaming the query parameter and header
- Updating the validation schemas
- Adjusting the filtering logic in the controller and service layers
- Updating the frontend components and services
2026-02-13 16:45:38 +01:00
CSantosM
d4a87f8a45 Enables response control via headers
Adds functionality to control the room creation and retrieval responses
using the `X-Fields` and `X-Expand` headers.

- `X-Fields` allows clients to specify which fields to include in the
  response, optimizing bandwidth usage.
- `X-Expand` allows clients to request the full data of expandable
  properties, such as `config`, avoiding subsequent GET requests.

This change introduces new request validators, service methods, and
helper functions to handle the header logic and process the room objects accordingly.
2026-02-09 13:16:58 +01:00
CSantosM
85e4a5b8a6 Adds expandable properties to room responses
Implements expandable properties for room responses to reduce payload size.

Introduces an `expand` query parameter to control which complex properties, like `config`, are included in the response. By default, these properties are replaced with a stub containing a HATEOAS link to fetch the full data.

This change optimizes network bandwidth and improves API performance by preventing unnecessary data transfer, especially when clients only need a subset of room details.
2026-02-05 13:52:24 +01:00
juancarmore
07ac5b91c9 Merge remote-tracking branch 'origin/main' into feat/room-members-users 2026-02-03 13:16:40 +01:00
CSantosM
accb35c7e1 Adds recording encoding options to room config and start recording
Adds configuration options for recording encoding, including presets and advanced settings, allowing users to customize video and audio quality.

This enhancement introduces new schemas for recording encoding presets and advanced options, enabling users to select from predefined encoding profiles or fine-tune specific video and audio parameters.

A conversion helper is implemented to translate between the internal encoding configurations and the format required by the LiveKit SDK.

backend: Adds recording encoding configuration options

Allows users to specify custom audio and video encoding settings for recordings, overriding room defaults.

This enhancement provides greater flexibility in controlling recording quality and file size. It introduces new schema definitions for encoding options and validates these configurations through Zod schemas.

Enforces complete video/audio encoding options

Requires both video and audio configurations with all their properties
when using advanced encoding options for recordings. This change ensures
complete encoding setups and prevents potential recording failures due to
missing encoding parameters. It also corrects a typo of keyframeInterval.

Add video depth option to recording encoding settings
2026-02-02 17:00:01 +01:00
CSantosM
1add921ce0 backend: Allows overriding recording layout
Enables users to override the default recording layout for a room
when starting a recording. This allows customization of the recording
appearance on a per-recording basis, instead of being tied solely to the
room's configuration.
2026-01-28 18:14:29 +01:00
CSantosM
43f7ff5001 backend: Exposes captions config via internal API
Adds an internal API endpoint to retrieve the captions configuration,
allowing the frontend to determine whether captions are enabled.
The configuration is read from the MEET_CAPTIONS_ENABLED environment variable.
2026-01-28 15:21:00 +01:00
CSantosM
30bd4b5a41 Enable captions by default in room configurations and related tests 2026-01-28 14:50:32 +01:00
juancarmore
23a25c1c3d openapi: add error response for empty ZIP download and update recordings and rooms notes 2026-01-23 19:12:48 +01:00
CSantosM
215b11e93f Moves recording API to public endpoint
This commit refactors the recording API endpoints from the internal API to the public API.

This change allows users to start and stop recordings using API keys, enabling more secure and flexible access control for recording functionality. It also centralizes recording-related logic in the public API, simplifying the codebase and improving maintainability.
2026-01-23 17:32:18 +01:00
CSantosM
9ae27bf32a backend: Adds live captions functionality to rooms
Adds support for live captions in meet rooms.
This includes schema definitions, API configurations,
and LiveKit integration for dispatching captions agents.
Captions are disabled by default and can be enabled per room.
2026-01-22 18:24:50 +01:00
juancarmore
456e890ffe openapi: add user role update endpoint and request/response schemas 2026-01-22 11:39:26 +01:00
juancarmore
c0ecc826cb backend: update response schemas to remove 'allowAccessTo' and add layout options for recordings 2026-01-21 19:57:09 +01:00
juancarmore
c573cf802e Merge branch 'main' into feat/room-members-users 2026-01-19 09:43:56 +01:00
Carlos Santos
4ecd086f21 backend: Adds layout property to recording info
Adds the 'layout' property to recording information.

This allows tracking the layout used during a recording, enhancing recording metadata.

Updates recording schema and adds layout information to API responses.
2026-01-14 18:46:38 +01:00
juancarmore
4689c866d6 openapi: add currentParticipantIdentity to room member schema and response 2026-01-14 17:08:25 +01:00
juancarmore
c60cb244a7 openapi: add reset user password endpoint specification 2026-01-12 17:26:15 +01:00
juancarmore
14d10838d6 openapi: add room member conflict error response for existing members and role restrictions 2026-01-12 11:55:52 +01:00
juancarmore
33fd9eabfc openapi: add missing responses and remove unused ones 2026-01-12 11:55:25 +01:00
Carlos Santos
6f841eb254 Adds recording layout configuration
Enables configuration of recording layouts.

Specifies the recording layout in the room configuration.
Now supports different layouts, such as grid, speaker, and single-speaker.
Updated zod validation schemas
Updated integration tests
2026-01-08 19:51:04 +01:00
juancarmore
0deae8ad29 openapi: enhance user and room member schemas with registration and membership dates; update API documentation for clarity 2026-01-07 19:01:43 +01:00
juancarmore
92b99764b9 openapi: update users and room members get enpoints to include sorting options 2026-01-07 12:30:09 +01:00
juancarmore
5abd106641 openapi: add bulk delete endpoints to room members and users API, and add more query params to get all endpoints 2026-01-07 10:14:59 +01:00
juancarmore
450aa85b88 Revert "Revert commits 6c7bfd4 5638025 da7759d ba374ce cf84de4 39a9b7d e990c19"
This reverts commit 0ab6a48e13ec15267de4373f2647745cc184bb87.
2026-01-07 10:13:08 +01:00
juancarmore
113dbe4f88 openapi: add query parameters for status, sort field, and sort order in get all endpoints 2025-12-22 17:21:57 +01:00
juancarmore
0ab6a48e13 Revert commits 6c7bfd4 5638025 da7759d ba374ce cf84de4 39a9b7d e990c19 2025-12-19 12:48:22 +01:00
juancarmore
6c7bfd4d3f openapi: add accessUrl field to room schema and update success responses that include room info 2025-12-02 14:18:39 +01:00
juancarmore
5638025211 Refactor OpenAPI components for user and room management
- Updated user login request body to define username and password directly instead of referencing an external schema.
- Removed obsolete recording token request schema.
- Added new request body for updating room anonymous access configuration.
- Deleted outdated room guests request body.
- Enhanced room member request body documentation for clarity on custom permissions.
- Introduced new request body for updating room roles configuration.
- Added error response schema for user ID already exists.
- Created success response schema for retrieving authenticated user info.
- Modified success response for retrieving multiple users to use userId instead of username.
- Updated success response for room members to reflect changes in memberId and access URLs.
- Adjusted success response for room details to include roles instead of guests.
- Created success response for updating room anonymous access configuration.
- Created success response for updating room roles configuration.
- Revised meet-user schema to use userId instead of username and simplified role representation.
- Deleted obsolete user-credentials schema.
- Introduced meet-room-anonymous-config schema for anonymous access configuration.
- Removed obsolete meet-room-guests schema.
- Updated meet-room-member schema to clarify memberId and name usage.
- Revised meet-room schema to replace guests with roles and added anonymous access configuration.
- Updated OpenAPI paths to reflect changes in user and room management endpoints.
2025-12-01 13:50:27 +01:00
juancarmore
da7759d249 openapi: add specification for user management API with create, retrieve and delete user endpoints 2025-11-28 13:31:37 +01:00
juancarmore
ba374ce229 openapi: standardize 'username' field naming and update related descriptions for room member APIs 2025-11-28 12:41:22 +01:00
juancarmore
cf84de4221 openapi: remove deprecated room member roles and permissions endpoints and related schemas 2025-11-28 12:30:43 +01:00
juancarmore
39a9b7da02 openapi: add room guests management API with update permissions for moderator and speaker roles 2025-11-28 12:17:24 +01:00
juancarmore
e990c19672 openapi: add specification for room member management API with add, update, delete, and retrieve endpoints 2025-11-28 11:19:59 +01:00
juancarmore
6eb33c6198 Delete participant and recording tokens and implement room member token. Remove unused cookie transport mode for tokens 2025-11-14 11:23:25 +01:00