Commit Graph
100 Commits
Author SHA1 Message Date
tuankiet2s 8b36e7d05a chore: update GraphQL module configuration and enhance server plugins
- Added ApolloServerPluginLandingPageLocalDefault for improved GraphQL playground experience.
- Disabled playground in production by setting it to false for better security.
- Updated logger configuration for clearer debugging and error handling in the GraphQL module.
2024-12-08 21:25:42 +07:00
tuankiet2s 45dca51990 chore: update biome configuration and enhance error handling in schema files
- Enabled useIgnoreFile in biome.json for better file management.
- Updated various correctness and style rules in biome.json to enforce stricter coding standards.
- Added new biome lint command in package.json for improved code quality checks.
- Refactored error handling in multiple schema files to use consistent error throwing patterns, enhancing readability and maintainability.
- Improved user authentication checks across various schemas to ensure proper access control.
2024-12-08 21:01:26 +07:00
tuankiet2s 10e20092ab chore: update configuration and improve schema imports
- Updated biome.json to include "graphql.d.ts" in the ignored files list.
- Updated subproject commit reference in epess-database to the latest version.
- Removed unused script from package.json and streamlined module file extensions in tsconfig.json.
- Consolidated exclude patterns in tsconfig.build.json for clarity.
- Refactored imports across multiple schema files for consistency and improved readability.
- Enhanced various schema files by ensuring proper import order and removing redundant code.
- Improved error handling and data integrity checks in several service and schema files.
2024-12-08 20:49:52 +07:00
tuankiet2s 9e6d62e4be chore: update package dependencies and improve pub/sub iterator usage
- Updated various package dependencies in package-lock.json and package.json for enhanced stability and performance.
- Changed pub/sub iterator methods from `asyncIterator` to `asyncIterableIterator` in multiple schema files for better compatibility with the latest GraphQL subscriptions.
- Added `moduleResolution` option in tsconfig.json to support Node.js-style module resolution.
2024-12-08 20:38:09 +07:00
tuankiet2s 16f6f8a629 chore: update package dependencies and adjust GraphQL upload imports
- Updated various package dependencies in package-lock.json and package.json for improved stability and performance.
- Changed import paths for graphql-upload to use .mjs extensions, ensuring compatibility with ES modules.
- Added @types/graphql-upload to package.json for better TypeScript support.
- Adjusted Jest configuration for improved readability and maintainability.
2024-12-07 19:54:37 +07:00
tuankiet2s 14a91a1885 chore: update subproject commit reference and enhance Quiz schema
- Updated the subproject commit reference in epess-database to the latest version.
- Enhanced QuizSchema by adding quizAttempt relation and submitQuiz mutation for improved quiz attempt handling.
- Updated Prisma types to include QuizAttempt, ensuring consistency across the application.
2024-12-07 19:39:16 +07:00
tuankiet2s 636be21a4c chore: update subproject commit reference in epess-database to latest version 2024-12-07 19:05:35 +07:00
tuankiet2s 7a0a404081 chore: update subproject commit and enhance PersonalMilestone schema
- Updated the subproject commit reference in epess-database to the latest version.
- Added milestoneOrder field to PersonalMilestoneSchema for improved milestone ordering.
- Ensured consistency in Prisma types with the latest schema changes.
2024-12-07 18:47:43 +07:00
tuankiet2s ae537d40f6 feat: integrate PersonalMilestoneModule into GraphQL module and update its configuration
- Added PersonalMilestoneModule to the GraphQL module imports, enhancing the overall functionality and data management.
- Updated PersonalMilestoneModule to use providers and exports for PersonalMilestoneSchema, improving module encapsulation and reusability.
2024-12-07 18:21:02 +07:00
tuankiet2s bb88d6ed00 feat: enhance QuizSchema and related schemas with new fields and relations
- Updated QuizSchema to expose correctAnswer as a field with a resolver, improving data retrieval for quizzes.
- Introduced new object types for correctAnswer, allowing for flexible data structures (StringType and StringListType).
- Modified createQuiz mutation to automatically associate the current user as centerMentorId, enhancing data integrity.
- Added personalMilestone relation to ScheduleSchema, linking schedules to personal milestones for better tracking.
- Included quiz relation in ServiceSchema, establishing a connection between services and their associated quizzes.
- Updated Prisma types to reflect the new relationships and fields, ensuring consistency across the application.
2024-12-07 18:18:33 +07:00
tuankiet2s d59df7d2ab feat: update collaboration session handling and schedule date status
- Removed redundant code for adding current user ID to collaborators in collaboration sessions.
- Implemented updates to schedule date status based on collaboration session conditions, enhancing the workflow for both customers and mentors.
- Improved error handling to ensure only authorized users can access collaboration sessions, maintaining data integrity and user experience.
2024-12-07 16:28:44 +07:00
tuankiet2s 77e3526564 feat: add scheduleDates field to ScheduleSchema for retrieving schedule dates
- Introduced a new `scheduleDates` field in the ScheduleSchema to allow users to fetch a list of schedule dates.
- Implemented argument handling for pagination and filtering, ensuring efficient data retrieval.
- Added error handling to prevent access during subscriptions and ensure user authentication before data access.
- Enhanced the overall functionality of the ScheduleSchema, improving user experience and data management.
2024-12-07 16:05:12 +07:00
tuankiet2s d72c647acd feat: add QuizModule to GraphQL module imports
- Integrated QuizModule into the GraphQL module to enhance quiz-related functionalities.
- Updated module imports to ensure proper dependency management and maintainability of the codebase.
2024-12-07 15:56:19 +07:00
tuankiet2s 429c6f9073 chore: remove Milestone module and update related schemas
- Deleted the MilestoneModule and its associated schema to streamline the codebase.
- Updated QuizSchema to replace scheduleId with serviceId, enhancing the relationship structure.
- Removed references to Milestone in ServiceSchema, improving clarity and focus on relevant entities.
- Updated Prisma types to reflect the removal of Milestone, ensuring data integrity across the application.
2024-12-07 15:33:28 +07:00
tuankiet2s 4af2e848b8 feat: implement Quiz and Question schemas with GraphQL integration
- Introduced QuizSchema and QuestionSchema extending PothosSchema for enhanced GraphQL capabilities.
- Added methods to expose Quiz and Question fields, including relations and various attributes.
- Implemented query and mutation fields for creating, updating, and retrieving quizzes, ensuring proper authentication and error handling.
- Enhanced the overall structure of the schema to improve data integrity and access control.
2024-12-06 21:52:11 +07:00
tuankiet2s 5e68b1e11a feat: add PersonalMilestone and Quiz relations to Prisma types
- Introduced PersonalMilestone entity to the Prisma types, enhancing the schema with new relationships.
- Updated existing relations in various schemas to include PersonalMilestone and Quiz, improving data structure and integrity.
- Modified relation names and lists to accommodate the new entities, ensuring comprehensive coverage of the data model.
2024-12-06 21:26:51 +07:00
tuankiet2s 6cbaf44c7f chore: update subproject commit and enhance ServiceFeedback schema
- Updated the subproject commit reference in epess-database to the latest version.
- Added Logger to the ServiceFeedback schema for improved logging of arguments during feedback submission.
- Modified the Prisma types to include new Quiz and Question entities, enhancing the schema's capabilities and data structure.
2024-12-06 21:25:25 +07:00
tuankiet2s 59b221a6ee chore: update subproject commit and modify prisma studio command
- Updated the subproject commit reference in epess-database to the latest version.
- Modified the prisma studio command in package.json to use dotenv for environment variable management, enhancing configuration flexibility.
2024-12-06 19:06:27 +07:00
tuankiet2s 46074c89b0 feat: enhance WorkshopMeetingRoomSchema with join info and LiveKit integration
- Added a new method `workshopMeetingRoomJoinInfo` to provide details for joining a workshop meeting room, including ID, token, and server URL.
- Integrated LiveKitService to generate tokens and retrieve server URLs, improving the functionality of the workshop meeting room.
- Updated the `init` method to include the new join info field, ensuring proper resolution and access control for users.
- Enhanced error handling to ensure unauthorized access is properly managed during the join process.
2024-12-06 17:03:45 +07:00
tuankiet2s 4931f382b3 feat: implement createServiceFeedback mutation in ServiceFeedbackSchema
- Added a new mutation field `createServiceFeedback` to allow users to submit feedback for services.
- Implemented validation checks to ensure only authorized users (CUSTOMER role) can submit feedback for completed orders.
- Included error handling for invalid ratings and comment length, enhancing data integrity and user experience.
- Improved the overall structure and clarity of the ServiceFeedbackSchema by integrating the new mutation.
2024-12-06 16:57:04 +07:00
tuankiet2s db2b3e9dd4 fix: enhance collaborator access check in DocumentSchema
- Updated the collaborator access check in the DocumentSchema to ensure that a user must have both writable and readable permissions to access a document.
- Improved error handling by providing a more precise condition for user access, enhancing security and clarity in document collaboration.
2024-12-06 16:34:49 +07:00
tuankiet2s 6d28d74351 refactor: unify logging messages in CronService for consistency
- Updated log messages in the CronService to use a consistent logger context ('CronService') across all scheduled tasks.
- Improved traceability and readability of log outputs by standardizing the log context, enhancing debugging capabilities.
2024-12-05 22:56:22 +07:00
tuankiet2s eb05610b23 refactor: streamline import statements in GraphQL service and ServiceSchema
- Consolidated import paths in graphql.service.ts and service.schema.ts to use relative paths for improved organization and consistency.
- Enhanced code readability by reducing unnecessary line breaks in import statements.
2024-12-05 22:51:48 +07:00
tuankiet2s bbec8aba03 refactor: update import paths in GraphQL module for consistency
- Changed import paths in graphql.module.ts to use relative paths for better organization and consistency.
- Enhanced logging in the GraphQL module by adding the module name to log messages, improving traceability during debugging.
2024-12-05 22:49:53 +07:00
tuankiet2s 6eafc6d5ef fix: improve error handling in GraphQL connection parameters
- Replaced error throws with logging for missing connection parameters in the GraphQL module.
- Enhanced the logging mechanism to provide better insights during connection failures, improving overall debugging and monitoring capabilities.
2024-12-05 22:47:26 +07:00
tuankiet2s de46499288 feat: add notification messaging for service approval and rejection in ServiceSchema
- Implemented user notification system by creating messages in the database when a service is approved or rejected.
- Utilized the new Message and PubSubEvent classes to handle notifications effectively.
- Enhanced user experience by informing users of service status changes through direct messages.
2024-12-05 22:41:25 +07:00
tuankiet2s 37b0086b4d feat: update file output paths and add feedback tracking to service schema
- Modified file output paths in LiveKitRoomService to utilize the BUCKET_NAME environment variable for dynamic S3 storage.
- Introduced a new `feedbacked` field in ServiceSchema to track whether a user has provided feedback for a service, enhancing user interaction capabilities.
- Cleaned up the ServiceFeedback schema by refining the resolve function for better clarity and consistency.
2024-12-05 22:11:40 +07:00
tuankiet2s 1b7329bb44 feat: add completedOrders field to Order schema and enhance workshop subscription error handling
- Introduced a new `completedOrders` field in the Order schema to retrieve a list of completed orders for the authenticated user, filtering by order status and schedule dates.
- Enhanced error handling in the WorkshopSubscription schema to prevent retrieval in subscription context, improving the robustness of the API.
- Updated imports in order.schema.ts to include additional status types from Prisma for better functionality.
2024-12-05 21:31:38 +07:00
tuankiet2s 0d973a6544 refactor: update getRoomRecordUrl method in MinioService for improved promise handling
- Changed the implementation of the `getRoomRecordUrl` method to use `await` with the Promise constructor for better readability and consistency.
- This adjustment enhances the asynchronous handling of the method, ensuring a more straightforward promise resolution process.
2024-12-05 21:14:00 +07:00
tuankiet2s 10df93d534 feat: add record URL retrieval to MeetingRoom schema and enhance MinioService
- Introduced a new field `recordUrl` in the MeetingRoom schema to fetch the presigned URL for meeting room recordings.
- Implemented `getRoomRecordUrl` method in MinioService to retrieve the recording URL from Minio, enhancing the service's functionality.
- Updated imports in MeetingRoom schema to include MinioService for the new functionality.
2024-12-05 21:10:45 +07:00
tuankiet2s 62662b0256 chore: clean up workshop subscription schema and add subscribed workshops field
- Removed unnecessary line breaks in the workshop subscription schema for improved readability.
- Consolidated import statements for better organization.
- Added a new field `subscribedWorkshops` to retrieve a list of workshops the current user is subscribed to, enhancing the schema's functionality.
- Streamlined error handling in the subscription logic for clarity.
2024-12-05 19:56:20 +07:00
tuankiet2s 9d64a199e2 refactor: update LiveKit egress service and module structure
- Removed the `livekit.egress.ts` file and replaced it with `livekit.egress.service.ts` for better clarity and consistency in naming.
- Updated `livekit.module.ts` to reflect the new import path for the `LiveKitEgressService`.
- Enhanced `livekit.room.service.ts` to utilize the new egress service structure, including improved egress configuration for recording sessions with dynamic file output settings.
- Removed the `rootDir` property from `tsconfig.json` to streamline the TypeScript configuration.
2024-12-05 19:35:17 +07:00
tuankiet2s 7699a07d1d chore: remove redundant Docker Compose down command in CI workflow
- Eliminated the `docker compose down` command from the CI workflow to streamline the build and deployment process. This change simplifies the CI configuration and enhances efficiency by reducing unnecessary steps.
2024-12-05 18:47:31 +07:00
tuankiet2s 253dbc783b chore: simplify Docker Compose commands in CI workflow
- Updated the CI workflow to streamline Docker Compose commands by replacing separate build and up commands with a single `docker compose up --build -d` command. This change enhances the efficiency of the CI process by reducing the number of steps required to start the services.
2024-12-05 18:46:28 +07:00
tuankiet2s 14edf629bd chore: update Dockerfile to include .nvmrc and .npmrc files
- Added .nvmrc and .npmrc files to the Docker image for consistent Node.js versioning and npm configuration.
- Removed the direct copy of the prisma directory to streamline the build process.
2024-12-05 18:42:16 +07:00
tuankiet2s 2033d0ec26 feat: enhance Docker configuration and update environment variables
- Updated .dockerignore to include additional files and directories for better Docker build context management.
- Modified compose.yaml to add BASE_URL and change BUCKET_NAME to improve environment configuration.
- Refactored Dockerfile to implement a multi-stage build for optimized image size and performance.
- Updated package.json to include a new script for production Prisma generation.
- Adjusted tsconfig files to refine project structure and exclude unnecessary directories.
- Removed delta.mdx.txt file from OpenAI instructions to streamline the service.
- Updated package-lock.json and package.json to upgrade Prisma and related dependencies for improved functionality.
2024-12-05 18:37:34 +07:00
tuankiet2s ac2014079f feat: add listRecords method to MinioService and update start:dev script in package.json
- Introduced a new method `listRecords` in MinioService for listing objects in a specified room's records.
- Updated the `start:dev` script in package.json to remove debugging options for a cleaner development experience.
2024-12-05 17:13:11 +07:00
tuankiet2s 74656dd4d9 chore: update subproject commit reference for epess-database 2024-12-05 16:51:53 +07:00
tuankiet2s 0b3f4d6728 feat: update LiveKit configuration and enhance collaboration session handling
- Updated the `livekit-server-sdk` version to 2.9.2 for improved functionality.
- Refactored `LiveKitEgressService` to include validation for required environment variables and added a method to stop recording.
- Enhanced `LiveKitRoomService` to validate environment variables and dynamically set egress configurations for recording sessions.
- Modified `CollaborationSessionSchema` to correct the relation name for `chatRoom` and updated the schema to reflect the new structure.
- Improved error logging for better traceability during collaboration session creation.
2024-12-05 16:51:19 +07:00
tuankiet2s 7248ea257f feat: update collaborator assignment in CollaborationSessionSchema
- Changed the logic for assigning collaborators in the CollaborationSessionSchema to use participant IDs from the scheduleDate instead of the current user's ID.
- This update enhances the collaboration functionality by ensuring that all relevant participants are included in the session.
2024-12-04 14:00:07 +07:00
tuankiet2s 3d670ad0fc feat: add recording bucket configuration and update LiveKit credentials in compose.yaml
- Introduced RECORDING_BUCKET_NAME environment variable for managing recordings.
- Updated LiveKit API key and secret for enhanced security and access control.
2024-12-04 13:58:05 +07:00
tuankiet2s afebc411af feat: enhance session management and improve webhook handling in ClerkService
- Made webhook and dispatchEvent methods asynchronous for better event processing.
- Integrated Redis for session invalidation, ensuring sessions are deleted upon specific Clerk events.
- Improved overall responsiveness and reliability of session management in ClerkService.
2024-12-04 13:54:55 +07:00
tuankiet2s a516dce800 chore: update Node version and enhance debugging capabilities
- Removed .nvmrc file to eliminate version locking.
- Updated Dockerfile to use Node 22.6.0-alpine for improved performance and security.
- Modified package.json to enhance the 'start:dev' script with debugging options.
- Added new launch configuration in VSCode for attaching to Node processes by PID.
- Cleaned up settings.json by removing unused configurations.
- Refactored main.ts to simplify the bootstrap process.
- Enhanced logging in OrderSchema and ScheduleSchema for better traceability of operations.
2024-12-03 22:46:23 +07:00
tuankiet2s 951d61f3ac feat: improve schedule querying with flexible filtering and pagination
- Updated ScheduleSchema to enhance the querying logic for schedules by allowing dynamic filtering, ordering, and pagination.
- Replaced static customerId filtering with flexible arguments for filtering, ordering, skipping, and taking results.
- This change increases the versatility of schedule retrieval based on user-defined criteria.
2024-12-03 21:10:14 +07:00
tuankiet2s 6f5db20324 feat: enhance schedule querying logic based on user roles in ScheduleSchema
- Updated ScheduleSchema to implement role-based querying for schedules.
- Added logic to handle different user roles: CUSTOMER, CENTER_MENTOR, and CENTER_OWNER.
- Improved error handling for cases where the center is not found for mentors and owners.
- This change enhances the flexibility and usability of the schedule querying functionality.
2024-12-03 21:06:22 +07:00
tuankiet2s 84a9f7dd4f feat: enhance order description handling with lodash utility
- Added lodash to the OrderSchema for improved string manipulation.
- Updated the payment creation logic to use lodash for generating a cleaner description from the service name, limiting it to the first 10 words and removing diacritics.
- This change enhances the readability and consistency of order descriptions in payment processing.
2024-12-03 20:43:19 +07:00
tuankiet2s 367fc09c6c feat: enhance user validation and center owner checks in CenterMentorSchema
- Updated the CenterMentorSchema to include user validation by fetching user information based on email.
- Implemented error handling to throw an error if the user is not found.
- Modified the logic to block center owners from being invited as mentors by checking against the user's ID instead of the email.
- Improved overall error messaging for better clarity when invitation conditions are not met.
2024-12-03 19:53:59 +07:00
tuankiet2s aaffb0c26b feat: make webhook and dispatchEvent methods asynchronous in ClerkService
- Updated the webhook method to be asynchronous, allowing for better handling of asynchronous operations.
- Changed the dispatchEvent method to be asynchronous to improve event processing and ensure proper handling of event data.
- These changes enhance the responsiveness and reliability of the ClerkService when processing webhooks and dispatching events.
2024-12-03 19:35:58 +07:00
tuankiet2s 9f9f595fee feat: integrate Redis for session invalidation in ClerkService
- Added RedisService to ClerkService for managing session invalidation.
- Updated event handlers (eventSessionRevoked, eventSessionRemoved, eventSessionEnded, eventEmailCreated) to asynchronously delete sessions from Redis upon specific events.
- Enhanced session management by ensuring sessions are properly invalidated in response to Clerk events.
2024-12-03 19:35:12 +07:00
tuankiet2s 029f21645b chore: remove Realtime module and related files
- Deleted RealtimeModule, RealtimeService, and RealtimeSchema to streamline the codebase and remove unused functionality.
- This cleanup helps improve maintainability and reduces complexity in the project.
2024-12-03 19:18:30 +07:00
tuankiet2s b0317b0660 refactor: update configuration constants and clean up package scripts
- Modified time configuration constants in appconfig.constant.ts to reflect new operational hours.
- Removed linting and prettier scripts from package.json to streamline the build process.
2024-12-03 18:19:08 +07:00
tuankiet2s 81e6192974 feat: add room egress functionality to LiveKitRoomService
- Introduced RoomEgress to enable recording of meeting rooms with S3 storage configuration.
- Updated createServiceMeetingRoom method to include egress settings for room recording.
- Enhanced integration with LiveKit by allowing dynamic file path generation for recordings.
2024-12-03 17:42:18 +07:00
tuankiet2s a6c511a2de feat: enhance collaboration session and LiveKit integration
- Added LiveKitRoomService to manage meeting room creation and recording functionalities.
- Updated CollaborationSessionSchema to create a LiveKit room upon new collaboration session creation.
- Introduced meetingRoomJoinInfo field in MeetingRoomSchema to provide join tokens and server URLs for meeting rooms.
- Improved LiveKitService to include user metadata in token generation and added a method to retrieve the server URL.
- Enhanced error handling and authorization checks across schemas to ensure proper access control for collaboration sessions and meeting rooms.
2024-12-03 17:37:47 +07:00
tuankiet2s 2b92f3bf5f feat: add validation to prevent center owners and mentors from being invited to their own centers
- Implemented checks in CenterMentorSchema to block center owners from being invited as mentors.
- Added validation to prevent mentors from being invited to their own centers or centers they already mentor.
- Enhanced error handling to provide clear feedback when invitation conditions are not met.
2024-12-03 16:18:26 +07:00
tuankiet2s 7021aa7f20 refactor: update README and document schema for improved clarity and functionality
- Revised README.md to provide a clearer project overview, installation instructions, and service descriptions, enhancing onboarding for new developers.
- Removed unnecessary comments in document.schema.ts to streamline the code and improve readability.
- Updated the LiveKit service descriptions in the README to reflect the integration of new functionalities and services.
2024-12-02 22:52:41 +07:00
tuankiet2s c94f47f28c feat: add removeCollaborator mutation to DocumentSchema
- Introduced a new mutation to allow document owners to remove collaborators from a document.
- Implemented authorization checks to ensure only the document owner can perform this action.
- Enhanced error handling for cases where the document is not found or the user is not the owner.
2024-12-02 22:46:46 +07:00
tuankiet2s e937330398 refactor: improve document access validation in DocumentSchema
- Enhanced authorization checks in DocumentSchema to ensure users must either be the document owner or a writable collaborator.
- Consolidated validation logic for better readability and maintainability, improving error handling for unauthorized access.
2024-12-02 21:36:08 +07:00
tuankiet2s 02bc5fe691 refactor: enhance authorization checks and update meeting room collaboration logic
- Updated error messages in DocumentSchema to use 'Unauthorized' for better clarity on access issues.
- Removed the deprecated testUpdateDocument field from DocumentSchema to streamline the schema.
- Introduced a new updateMeetingRoomCollaborators field in MeetingRoomSchema to manage collaborator additions and removals, ensuring proper authorization checks are in place.
- Improved overall error handling for unauthorized access in both DocumentSchema and MeetingRoomSchema.
2024-12-02 21:25:07 +07:00
tuankiet2s 542312b7d8 fix: improve error handling in DocumentSchema for document page retrieval
- Updated the document page retrieval logic to handle errors gracefully by using a try-catch block, preventing the application from throwing an error if the document page is not found.
- Simplified the validation check for document ownership and collaboration access by consolidating conditions into a single line for better readability.
2024-12-02 17:32:49 +07:00
tuankiet2s 4b5ccc4bb7 Merge branch 'main' of https://github.com/EPESS/epess-web-backend 2024-12-02 17:29:10 +07:00
tuankiet2s b10d0cdde7 refactor: update LiveKit integration and clean up unused services
- Changed the base image in Dockerfile to use a lighter node:alpine version.
- Removed unused dependencies from package-lock.json and package.json, including @turbodocx/html-to-docx and jsdom.
- Simplified LiveKit module by removing unnecessary services (LiveKitParticipantService, LiveKitRoomService) and adjusting related schemas and services for better maintainability.
- Updated CollaborationSessionSchema to streamline access token creation and room management.
- Commented out unused imports and services in various modules to enhance code clarity and reduce complexity.
2024-12-02 17:29:07 +07:00
tuankiet2s 174290c9fb chore: update subproject commit reference in epess-database
- Updated the subproject commit reference from 58abaa2 to 1a89260, reflecting the latest changes in the epess-database submodule.
2024-12-01 19:18:36 +07:00
tuankiet2s 561823225d feat: integrate LiveKit services into Collaboration and Meeting Room modules
- Added LiveKitModule to CollaborationSession and MeetingRoom modules for enhanced real-time collaboration features.
- Updated CollaborationSessionSchema to include LiveKit services for managing participant access and room permissions.
- Implemented a new cron job in CronService to disable services without schedules for over 30 days, improving service management.
- Enhanced GraphQL schema generation with improved filtering logic for better performance and readability.
- Refactored LiveKit services to streamline access token creation and room management functionalities.
2024-12-01 19:18:20 +07:00
tuankiet2s 111acacf2d refactor: simplify schedule filtering logic in ScheduleSchema
- Replace complex where clause with a direct reference to args.filter for schedule retrieval.
- This change enhances code readability and maintainability by streamlining the filtering process.
2024-12-01 14:29:39 +07:00
tuankiet2s 37330e7ab1 fix collaboration session 2024-11-30 23:45:51 +07:00
tuankiet2s f99ad899c0 refactor: enhance user validation in CollaborationSessionSchema
- Update user participation check to allow access for a specific user ID while maintaining restrictions for others.
- This change aims to refine access control within collaboration sessions, ensuring that only authorized users can participate while allowing for specific exceptions.
2024-11-30 23:44:46 +07:00
tuankiet2s 05a8ebcebf refactor: comment out user validation in CollaborationSessionSchema and error handling in DateTimeUtils
- Temporarily disable the check for user participation in collaboration sessions to allow for further review of session management logic.
- Comment out the error handling for invalid date times in DateTimeUtils, simplifying the date conversion process for now.
- These changes aim to enhance code maintainability while preserving existing functionality.
2024-11-30 23:28:17 +07:00
tuankiet2s bb56b7b61c refactor: comment out collaborator ID update logic in CollaborationSessionSchema
- Temporarily disable the logic that adds the current user's ID to the collaboratorsIds array if not already included.
- This change is aimed at revisiting the collaboration session management without altering the existing functionality for customer role access.
2024-11-30 23:12:34 +07:00
tuankiet2s 2c38110183 refactor: enhance schedule retrieval logic in ScheduleSchema
- Update schedule retrieval to restrict access to authorized centers based on center ownership and mentorship.
- Implement checks to ensure that schedules are only fetched for approved centers.
- Improve error handling for user and center validation during schedule queries, preventing access in subscription contexts.
2024-11-30 21:02:03 +07:00
tuankiet2s c26bf36084 refactor: enhance schedule and document handling in schemas
- Simplify schedule expiration logic in CronService by removing unnecessary date checks.
- Improve error handling in DocumentSchema for document page retrieval, ensuring graceful failure.
- Add validation in ScheduleSchema to restrict schedule retrieval to authorized centers and prevent subscription-based access.
- Implement checks to reject schedules with start dates in the past or today, enhancing data integrity.
2024-11-30 20:35:34 +07:00
tuankiet2s 7729d3ce63 refactor: improve code readability and logging in GraphQL builder
- Reformat plugin array for better readability in the Builder class constructor.
- Enhance unused query handling by adding logging for unused queries in development.
- Update TypeScript error comment for clarity in GraphqlModule, specifying that the request is not typed.
2024-11-30 17:00:34 +07:00
tuankiet2s af81874793 chore: update @nestjs-modules/mailer and @css-inline dependencies
- Upgrade @nestjs-modules/mailer from version 1.6.1 to 2.0.2 for improved functionality.
- Update @css-inline/css-inline and related packages to version 0.14.1, enhancing compatibility and features across various platforms.
- Refactor package.json and package-lock.json for consistency in dependency management.
2024-11-30 16:51:52 +07:00
tuankiet2s c432b71735 feat: add logging and notification creation in NotificationService
- Implement logging for notification sending process.
- Create a new message entry in the database when a notification is sent, specifying recipient, content, type, and context. This enhances the notification handling capabilities of the service.
2024-11-30 16:49:35 +07:00
tuankiet2s 1e9d3cfbb4 fix: check schedule date start 2024-11-30 16:41:59 +07:00
tuankiet2s a619c95efc Update dependencies in package.json and package-lock.json, refactor CronService to include notification handling for schedule expirations, and enhance DocumentSchema with OpenAI integration for document editing suggestions. Additionally, modify GraphqlModule to include PubSubModule for real-time notifications and improve datetime utility functions for better date formatting. Update epess-database subproject reference to indicate a dirty state. 2024-11-30 16:41:47 +07:00
tuankiet2s 7cff5069de Update RefundTicket schema to rename 'reason' field to 'rejectedReason' for clarity in status updates. Update subproject reference in epess-database. Enhance generated types in pothos.generated.ts for improved schema management. 2024-11-29 13:56:57 +07:00
tuankiet2s abb7e38df3 Enhance DocumentSchema and MinioService to support document folder creation. Update document creation logic to include folder setup in Minio after document creation. Refactor createDocumentFolder method to initialize a default page in the document folder. This improves document management and organization within the Minio storage system. 2024-11-28 20:09:37 +07:00
tuankiet2s e546c348cc Enhance CollaborationSessionSchema by adding collaboratorsIds field to expose a list of collaborator IDs. This update improves the schema's clarity and functionality for collaboration management. 2024-11-28 19:47:13 +07:00
tuankiet2s f2edc9fa8d Refactor ResumeSchema to streamline file upload and resume management logic. Consolidate description formatting for resume and resume file retrieval fields. Enhance error handling during file upload and resume creation, ensuring robust handling of existing resumes. This update improves code clarity and maintains functionality for resume file management. 2024-11-28 19:44:40 +07:00
tuankiet2s ed7ec9a368 Merge branch 'main' of https://github.com/EPESS/epess-web-backend 2024-11-28 19:21:09 +07:00
tuankiet2s 7911d7f0bd Refactor CronService to utilize DateTimeUtils for date handling. Update schedule and payment checks to use current time instead of new Date(), enhancing accuracy in scheduling logic. This change improves the reliability of cron job operations by ensuring consistent date management. 2024-11-28 19:21:06 +07:00
tuankiet2s a6788345ce Refactor DocumentSchema to remove fileUrl retrieval logic and set default value for fileUrl. This change simplifies the document creation process by eliminating unnecessary error handling related to file retrieval, while maintaining user ownership assignment. 2024-11-27 08:56:29 +07:00
tuankiet2s 0bfdd3812d Enhance DocumentSchema and MinioService for improved error handling and functionality. Update page index validation to check for undefined or null values. Introduce total page count retrieval in DocumentSchema and adjust senderId handling. Refactor MinioService to correctly read and parse document pages, ensuring robust object management. This update improves clarity and reliability in document synchronization processes. 2024-11-27 07:50:51 +07:00
tuankiet2s 8fba48ed0f Update order schema to limit payment description length to 10 words for improved clarity and consistency in payment processing. 2024-11-27 06:52:53 +07:00
tuankiet2s 77f44a891f Refactor CollaborationSession and Document schemas to improve code clarity and functionality. Enhance error handling in collaboration session retrieval and update logic. Introduce new request sync events in Document schema and update Minio service for document page management. Adjust cron job to use current date for future schedule date checks. Update user schema for better error handling and improve service descriptions in order schema. Remove global decorators from Workshop modules for better module encapsulation. 2024-11-27 06:48:49 +07:00
tuankiet2s 51bafcfe29 Change cron job frequency to check payment status every minute instead of every 10 minutes for improved responsiveness. 2024-11-27 02:33:54 +07:00
tuankiet2s cdf7e7febd Update CenterMentorSchema to include 'active' field for mentor status and adjust role assignment to use Role enum. Enhance payment cancellation logic in CronService to update associated order status to 'FAILED'. Bump epess-database subproject commit reference to reflect recent changes. 2024-11-27 02:32:55 +07:00
tuankiet2s 12ec345f5b Refactor CenterMentorSchema to streamline code and improve clarity. Consolidate import statements, enhance query field descriptions, and optimize token generation logic. Integrate Redis service for session management, ensuring cache invalidation for active Clerk sessions. Update email sending logic for mentor invitations to improve readability. 2024-11-27 01:32:18 +07:00
tuankiet2s ddaab3eb0a Update CENTER_BASE_URL in compose.yaml to use production URL and comment out local development URL 2024-11-27 01:21:30 +07:00
tuankiet2s 0fc95eab73 Update epess-database subproject commit reference to 6b4dece, reflecting recent changes in the database structure. 2024-11-27 01:09:41 +07:00
tuankiet2s 2581ca396f Refactor Category and Center schemas to improve field descriptions and code clarity; update email templates for consistency in messaging. Add Redis service to CenterSchema for session management. Bump epess-database subproject commit reference to indicate changes. Clean up logging in ClerkService and ServiceSchema. 2024-11-27 01:09:13 +07:00
tuankiet2s c9435a6e04 Enhance ServiceSchema by adding commission and descriptions for approve and adminNote arguments. Implement default commission logic when service is approved without a specified commission. 2024-11-27 00:41:54 +07:00
tuankiet2s 01aede0b09 Update RefundTicketSchema to include additional fields for bank details and refund reasons; modify refund logic to enhance validation and error handling. Update TypeScript configuration to resolve JSON modules and bump subproject commit reference in epess-database. 2024-11-26 23:55:39 +07:00
tuankiet2s c9f03f251d update commission validate 2024-11-26 21:30:26 +07:00
tuankiet2s 346f287699 bump db 2024-11-26 21:06:55 +07:00
tuankiet2s 12b1e8e764 update refund ticket 2024-11-26 21:02:14 +07:00
tuankiet2s e63f900cf4 expose workshop metric 2024-11-26 18:07:03 +07:00
tuankiet2s 1062f5944d update sth :) 2024-11-26 17:55:34 +07:00
tuankiet2s 8b01df2111 update db def 2024-11-26 17:31:53 +07:00
tuankiet2s 3ac8c3fd39 implement cron mechanic for refund strageries and make workshop reliable 2024-11-26 17:31:40 +07:00