Commit Graph

381 Commits

Author SHA1 Message Date
11f234522b chore: fix order and schedule creation logic 2024-12-16 16:26:18 +07:00
07158bef3a feat: streamline schema definitions and enhance service logic
- Refactored package.json to consolidate Jest configuration for improved readability.
- Cleaned up launch.json by removing unnecessary whitespace for better formatting.
- Updated CronService to refine service disabling logic based on recent activity, ensuring more accurate service management.
- Enhanced MeetingRoom and WorkshopMeetingRoom schemas with consistent formatting and improved field descriptions for clarity.
- Improved error handling in MeetingRoom schema to provide clearer feedback for unauthorized access and missing resources.
- Updated pothos.generated.ts to reflect recent schema changes, ensuring type consistency across the application.

These changes enhance the overall structure and maintainability of the codebase, improving service management and user experience.
2024-12-15 21:50:32 +07:00
c886d9a02f feat: enhance DocumentSchema and DocumentService with Redis integration and background processing
- Updated DocumentSchema to include RedisService for improved background processing of grammar checks.
- Refactored checkGrammarForPage method in DocumentService to utilize Promise.all for parallel processing and error handling.
- Introduced background grammar check functionality with a low probability trigger, enhancing performance and user experience.
- Added new utility methods for better time management and error logging.

These changes improve the efficiency and responsiveness of the grammar checking feature, leveraging Redis for state management and background processing.
2024-12-14 21:54:43 +07:00
114998ea7e feat: enhance QuizSchema with schedule integration and validation
- Added scheduleId and schedule relation to QuizSchema, allowing quizzes to be associated with specific schedules.
- Implemented validation to ensure that both quiz ID and schedule ID are provided during quiz attempt creation, improving data integrity.
- Updated related types in pothos.generated.ts to reflect the new schedule relationship, enhancing the overall schema structure.

These changes improve the functionality of the Quiz feature by integrating schedule management and ensuring proper validation during quiz attempts.
2024-12-13 22:39:57 +07:00
612945c79d feat: add deletePersonalMilestone mutation to PersonalMilestoneSchema
- Introduced a new mutation to delete personal milestones, including necessary authorization checks to ensure that only mentors of the associated schedule can perform the deletion.
- Enhanced error handling to provide clear feedback for unauthorized access and missing user information.

These changes improve the management of personal milestones within the GraphQL API, ensuring proper access control and user experience.
2024-12-13 20:30:23 +07:00
70ff392d2e feat: enhance RefundTicketSchema with additional role checks for refund requests
- Updated RefundTicketSchema to include CENTER_OWNER in the authorization check for refund requests, ensuring that only authorized roles can request refunds.
- Improved error handling to provide clearer feedback for unauthorized access attempts.

These changes enhance the security and functionality of the refund ticket process, ensuring proper role validation and user experience.
2024-12-13 20:22:29 +07:00
8051ae9442 feat: enhance QuizSchema with improved filtering for quiz attempts
- Refactored the query for retrieving quiz attempts to utilize an AND condition for better filtering based on center mentor ID and additional filters.
- Improved the structure of the query to enhance readability and maintainability.

These changes enhance the data retrieval capabilities of the Quiz feature, ensuring more precise and efficient access to quiz attempts based on user and quiz criteria.
2024-12-13 20:20:02 +07:00
b709bec583 feat: enhance CronService and OrderSchema with new scheduling and authorization features
- Removed unnecessary logging from CronService methods to streamline execution.
- Introduced a new cron job in CronService to check if all schedule dates are completed and update the schedule status accordingly.
- Added a new query in OrderSchema to retrieve completed orders for moderators, including authorization checks for user roles.
- Updated PersonalMilestoneSchema to allow for creating multiple personal milestones with necessary input fields.

These changes improve the scheduling logic and enhance the GraphQL API's authorization mechanisms, ensuring better user experience and state management.
2024-12-13 20:14:18 +07:00
0a1b42f908 feat: update refund ticket handling and enhance service schemas
- Removed the taskRefundTicket method from CronService to streamline scheduling logic.
- Updated PayosService to include MessageContextType for chat messages, improving message context handling.
- Enhanced RefundTicketSchema with additional fields for requester and improved error handling for unauthorized access.
- Implemented logic to update order and schedule statuses upon refund ticket approval, ensuring proper state management.
- Modified ServiceSchema to utilize createManyAndReturn for message creation, enhancing notification efficiency.

These changes improve the handling of refund tickets and enhance the overall functionality of the service schemas, ensuring better user experience and state management.
2024-12-13 19:35:23 +07:00
2eb2919965 feat: enhance PersonalMilestone and Service schemas with new functionalities
- Added a new mutation to update personal milestones and change schedule status to IN_PROGRESS in PersonalMilestoneSchema.
- Refactored service notification logic to send messages to moderators upon service approval in ServiceSchema, improving communication flow.
- Cleaned up commented-out code for better readability and maintainability.

These changes enhance the GraphQL API by improving milestone management and service notification processes, ensuring better user experience and state management.
2024-12-13 19:08:15 +07:00
bbe0d34cdb feat: enhance GraphQL schemas and service logic
- Added support for creating relation inputs in PrismaCrudGenerator for object types.
- Implemented unauthorized access checks in OrderSchema to ensure user authentication.
- Added logic to prevent duplicate service registrations for users in OrderSchema.
- Updated PayosService to change order status from IN_PROGRESS to WAITING_QUIZ.
- Introduced a new mutation for creating multiple personal milestones in PersonalMilestoneSchema with necessary validation.
- Enhanced QuizSchema to update schedule status to WAITING_INTERVIEW upon quiz attempt creation.

These changes improve the robustness of the GraphQL API by adding necessary validations, enhancing user experience, and ensuring proper state management across various schemas.
2024-12-13 18:52:16 +07:00
ed8df7a1bc feat: enhance grammar checking functionality in DocumentSchema and DocumentService
- Updated the 'testCheckGrammar' field in DocumentSchema to accept additional arguments: documentId, pageId, and promptType, allowing for more flexible grammar checking options.
- Modified the checkGrammarForPage method in DocumentService to utilize the new promptType argument, enabling different processing types (CHECK_GRAMMAR, REWRITE_TEXT, etc.) for grammar checks.
- Improved logging for better debugging and tracking of grammar check results.

These changes enhance the document editing experience by providing more robust grammar checking capabilities and leveraging AI for various text processing tasks.
2024-12-13 18:07:20 +07:00
68353d8985 feat: implement AI suggestion 2024-12-12 21:22:50 +07:00
3652fda7d3 feat: add grammar check functionality and enhance quiz schema
- Introduced a new 'testCheckGrammar' field in DocumentSchema to facilitate grammar checking for documents, leveraging the document service for processing.
- Updated DocumentService to implement grammar checking logic, including caching results and publishing suggestions.
- Enhanced QuizSchema by adding filter arguments for quiz attempts, allowing for more flexible data retrieval based on user and quiz IDs.
- Cleaned up whitespace and improved error handling in quiz attempt creation to ensure better user feedback.

These changes improve the document editing experience and enhance the quiz feature's data handling capabilities.
2024-12-11 22:36:35 +07:00
4168bff1e8 feat: enhance quiz schema with JsonList type and add quiz attempt fields
- Introduced a new 'JsonList' scalar type in the GraphQL schema to handle lists of JSON values, improving data structure flexibility.
- Updated the Quiz schema to replace 'Json' type with 'JsonList' for user input and questions, ensuring consistent data handling.
- Added new fields for retrieving quiz attempts, including individual and multiple attempts, with appropriate authorization checks for user roles.
- Enhanced error handling for quiz attempt retrieval to ensure proper access control and user feedback.

These changes improve the overall functionality and maintainability of the quiz feature, providing a more robust data model and user experience.
2024-12-11 17:26:28 +07:00
c437022d41 chore: update subproject reference in epess-database to latest commit
- Updated the subproject reference in the epess-database to the latest commit (54cb097) for consistency in project dependencies.
- This change ensures alignment with the most recent updates in the subproject, maintaining the integrity of the overall project structure.
2024-12-11 16:31:32 +07:00
871f24edb0 chore: update dependencies and enhance document schema
- Updated package.json and package-lock.json to include the new dependency 'quill-to-pdf' for improved document export functionality.
- Modified DocumentSchema to introduce a new 'DocumentExportObject' type, facilitating document export operations.
- Cleaned up commented-out code in document.service.ts and minio.service.ts for better readability and maintainability.
- Adjusted quiz schema to expose user input and questions as JSON types, enhancing data flexibility.
- Updated workshop subscription logic to maintain accurate participant counts upon new subscriptions.

These changes improve the overall functionality and maintainability of the project, ensuring better document handling and schema consistency.
2024-12-11 16:31:16 +07:00
1fcc7b9a5f refactor: enhance DocumentSchema with detailed field descriptions and adjust random sync logic
- Updated DocumentSchema to include detailed descriptions for fields, improving API documentation and usability.
- Adjusted the random sync logic threshold from 0.05 to 0.005 to reduce the frequency of sync requests, optimizing performance.
- Added new fields for collaboration session management, enhancing document interaction capabilities.
2024-12-11 14:43:21 +07:00
c1d21cb1a8 fix: remove unnecessary whitespace in document.service.ts
- Cleaned up whitespace in document.service.ts to improve code readability and maintainability.
- This change enhances the overall quality of the codebase by ensuring consistent formatting.
2024-12-11 02:16:11 +07:00
c6482b16f2 chore: update Node.js version and refine launch configuration
- Updated the Node.js version in .nvmrc from 22.6.0 to 24.0.0-nightly for compatibility with the latest features.
- Modified the launch.json configuration to reflect the new Node.js runtime path, ensuring the development environment is aligned with the updated version.
- Cleaned up whitespace in document.service.ts for improved code readability.

These changes ensure the project is using the latest Node.js version and maintain a clean and efficient development setup.
2024-12-11 01:15:02 +07:00
9500471faf feat: enhance document processing with AI suggestions and preview image support
- Added AI_SUGGESTION event to DocumentEvent enum for improved document interaction.
- Implemented updateDocumentPreviewImage mutation in DocumentSchema to allow updating of document preview images.
- Integrated grammar checking functionality in DocumentService, utilizing OpenAI for real-time suggestions and caching results in Redis.
- Enhanced MinioService with methods for file upsert and document content retrieval.
- Updated PrismaTypes to include new relations and fields for better data structure alignment.
- Commented out unused RESTful service methods for future cleanup.

These changes improve the document editing experience by leveraging AI capabilities and enhancing the schema for better data management.
2024-12-10 23:27:05 +07:00
e1cfd55502 chore: update user schema and database reference
- Removed the 'packageValue' field from the User schema to streamline user data representation.
- Updated the subproject reference in the epess-database to the latest commit for consistency in project dependencies.
- These changes enhance the clarity of the user schema and ensure alignment with the latest database structure.
2024-12-10 17:23:07 +07:00
c8f4abd670 refactor: enhance message creation logic by adding context
- Updated the message creation logic to include a default context of 'CHAT' in the data being saved, ensuring that all messages have a defined context.
- This change improves the consistency of message data and enhances the overall functionality of the messaging system.
2024-12-10 17:17:35 +07:00
45c7b6d5b9 chore: update .gitignore to remove pothos generated types declaration
- Removed 'pothos.generated.ts' from .gitignore as it is no longer relevant to the project.
- This change helps maintain a cleaner project structure by ensuring only necessary files are ignored.
2024-12-10 17:13:03 +07:00
b46da5fbad refactor: enhance quiz retrieval and schema consistency
- Improved quiz retrieval logic by ensuring a valid random index is calculated, preventing errors when no quizzes are available.
- Updated the Quiz schema to streamline field names and enhance clarity, replacing existing fields with more descriptive alternatives.
- Reformatted code for better readability and consistency, adhering to style guidelines for improved maintainability.
2024-12-10 17:06:30 +07:00
2dbe5c589b refactor: simplify quiz retrieval logic by removing unnecessary schedule validation
- Removed the requirement for 'scheduleId' in the quiz retrieval process, streamlining the logic and improving code clarity.
- Consolidated the quiz retrieval query to enhance maintainability while ensuring it still functions correctly with the existing data structure.
- Updated the .gitignore to clarify the purpose of the 'pothos.generated.ts' file, improving project documentation.
2024-12-10 16:57:04 +07:00
0d39f053bb chore: update .gitignore to include pothos generated file
- Added 'pothos.generated.ts' to .gitignore to prevent tracking of generated files, improving project cleanliness and reducing unnecessary clutter in version control.
2024-12-10 16:48:50 +07:00
313dc8d32f refactor: remove unused PrismaTypes interface and related file
- Deleted the `pothos.generated.ts` file, which contained the PrismaTypes interface and related type definitions, as it was no longer needed in the project.
- This cleanup improves project maintainability by removing obsolete code and reducing clutter in the codebase.
2024-12-10 16:48:40 +07:00
14a69aba10 refactor: update Quiz schema and Prisma types for enhanced data structure
- Replaced existing score and answers fields in the Quiz schema with more descriptive fields: numberOfCorrectAnswers, numberOfIncorrectAnswers, numberOfQuestions, correctPoints, totalPoints, and userInput.
- Updated the PrismaTypes interface to remove the questions relation and streamline the data model, ensuring better clarity and maintainability.
- Updated the subproject reference in the epess-database to the latest commit for consistency in project dependencies.
2024-12-10 16:46:46 +07:00
431e478f21 refactor: streamline quiz schema formatting and improve readability
- Reformatted the quiz schema for consistent indentation and spacing, enhancing overall code clarity.
- Consolidated the random index calculation into a single line for improved readability.
- Maintained existing functionality while ensuring the code adheres to style guidelines for better maintainability.
2024-12-10 16:37:53 +07:00
d18258f81a refactor: improve quiz retrieval logic with schedule validation
- Added validation to ensure 'scheduleId' is provided when retrieving quizzes, enhancing error handling.
- Implemented a check for the existence of the schedule before proceeding with quiz retrieval, improving robustness.
- Reformatted code for better readability and consistency in the Quiz schema.
2024-12-10 16:37:36 +07:00
4435bc0804 refactor: standardize code formatting and improve readability in User schema
- Reformatted import statements and method calls to use consistent line endings and spacing, enhancing code clarity.
- Updated error handling messages to maintain uniformity across the schema.
- Improved overall readability by ensuring consistent use of semicolons and line breaks, making the code easier to navigate and maintain.
2024-12-10 16:37:10 +07:00
An Vu
d242c39e2e commit expose quizAttempt 2024-12-10 13:05:15 +07:00
Tyranno
8b40c9ada5 Update quiz.schema.ts 2024-12-09 20:44:39 +07:00
f1f5918a65 refactor: improve quiz retrieval logic in Quiz schema
- Enhanced the quiz retrieval logic to ensure a valid random index is calculated based on the number of available quizzes, preventing potential errors when no quizzes are present.
- Updated the logic to use 'nrOfQuestions' from the quiz object for slicing the quizzes array, ensuring consistent behavior in quiz selection.
- Improved code clarity by refining comments related to the quiz selection process.
2024-12-09 20:37:04 +07:00
ed50f33322 feat: enhance Quiz schema with schedule-based quiz retrieval and error handling
- Added logic to require 'scheduleId' for customers when retrieving quizzes, ensuring proper association with schedules.
- Implemented error handling for missing 'scheduleId' and non-existent schedules, improving robustness and user feedback.
- Refactored quiz retrieval logic for customers and center mentors to utilize the correct center mentor ID from the schedule, enhancing data integrity.
- Updated comments for clarity regarding the quiz selection process based on user roles.
2024-12-09 20:19:10 +07:00
aa9ce7a235 refactor: remove 'amount' argument from Quiz schema and update quiz retrieval logic
- Removed the 'amount' argument from the quiz retrieval query to streamline the schema.
- Updated the quiz retrieval logic to use 'nrOfQuestions' from the quiz object instead of the removed 'amount' argument, ensuring consistent behavior in quiz selection.
- Improved code clarity by refining comments related to quiz selection logic.
2024-12-09 20:08:17 +07:00
30f56747f7 feat: enhance Quiz schema with random quiz retrieval and amount argument
- Added a new 'amount' argument to the quiz retrieval query, allowing users to specify the number of quizzes to return.
- Implemented a seeded randomization mechanism to select quizzes based on the user's ID, improving the randomness of quiz selection.
- Refactored the quiz retrieval logic to utilize the new randomization and amount features, enhancing user experience and engagement.
2024-12-09 20:07:22 +07:00
4151bb6afe chore: update subproject commit and modify datamodel retrieval function
- Updated the subproject reference in the epess-database to the latest commit.
- Refactored the getDatamodel function in pothos.generated.ts to ensure it returns the latest datamodel structure, enhancing data retrieval consistency.
2024-12-09 19:50:51 +07:00
13e525e92f feat: enhance workshop notification system for customers
- Updated WorkshopSchema to notify customers when a workshop is scheduled, improving engagement and communication.
- Added logic to fetch active services and include center information in the notification process.
- Implemented message creation for customers with the role of CUSTOMER, ensuring they receive timely updates about workshops.
- Utilized PubSub for real-time notifications, enhancing user experience and interaction with the platform.
2024-12-09 19:45:49 +07:00
f5ee243dc7 feat: enhance resume submission notifications for moderators
- Updated ResumeSchema to notify moderators when a new resume is submitted, improving communication and response times.
- Refactored notification logic to streamline the process of sending messages to all relevant moderators, ensuring timely updates.
- Removed redundant checks for center owner notifications, simplifying the code while maintaining functionality.
2024-12-09 19:40:54 +07:00
092a15753b feat: enhance notification system and role-based access across schemas
- Updated MessageSchema to include context-aware filtering for notifications, allowing retrieval based on recipientId for NOTIFICATION and SYSTEM contexts.
- Enhanced RefundTicketSchema to notify moderators upon refund requests, improving communication and response times.
- Modified ResumeSchema to send notifications to mentors and center owners when a new resume is submitted, ensuring timely updates.
- Improved ServiceSchema to notify center owners and mentors about service approvals, enhancing user engagement and awareness.
- Implemented role-based access control checks across schemas to ensure only authorized users can perform specific actions, enhancing security and user experience.
2024-12-09 19:38:36 +07:00
9732d7b904 feat: enhance message retrieval logic with context-based filtering
- Updated the MessageSchema to include context-aware filtering for notifications, allowing retrieval of messages based on recipientId when the context is NOTIFICATION.
- Improved the resolve function to handle subscription checks, ensuring that unauthorized access is properly managed.
- Added error handling for cases where the context is not allowed, enhancing overall robustness of the message retrieval process.
2024-12-09 19:08:25 +07:00
4ba3077a9b refactor: enhance refund ticket logic and role-based access control
- Updated the RefundTicket schema to allow both customers and center mentors to request refunds, improving flexibility in refund processing.
- Refined bank detail checks to differentiate between customers and center mentors, ensuring appropriate handling of bank information.
- Implemented special handling for center mentors to always allow full refunds, enhancing user experience.
- Improved error messages and validation checks throughout the refund process for better clarity and user guidance.
2024-12-09 18:43:03 +07:00
e3a06f1ba9 feat: add scheduled quiz notification task and enhance Quiz schema with scheduleId
- Introduced a new cron job in CronService to check for schedules with status WAITING_QUIZ and notify customers to complete their quizzes.
- Enhanced the Quiz schema by adding an optional 'scheduleId' argument to facilitate quiz retrieval based on specific schedules, improving user experience and data association.
- Updated role-based access control logic to ensure proper handling of quiz queries for customers and center mentors.
2024-12-09 18:35:01 +07:00
5ab89d5cfa fix: update centerMentorId reference in Quiz schema query
- Changed the centerMentorId reference in the Quiz schema to use centerMentor.mentorId instead of the current user's ID.
- This adjustment ensures that the correct mentor association is maintained in the query logic, enhancing data integrity and access control.
2024-12-09 17:55:09 +07:00
269563555f fix: extend role-based access control in Quiz schema
- Updated authorization logic to allow both CENTER_MENTOR and CENTER_OWNER roles access to Quiz queries and mutations.
- Enhanced security by refining user role checks to ensure proper access control.
2024-12-09 17:54:17 +07:00
2edd7c18e5 refactor: enhance Quiz schema with role-based access control and service ID requirement
- Added role-based access control to restrict access to Quiz queries and mutations for users with the CENTER_MENTOR role.
- Updated error messages for unauthorized access to improve clarity.
- Introduced a required 'serviceId' argument in the quizzes query to ensure proper filtering and association with the center mentor.
- Refactored existing authentication checks to maintain consistent error handling across the Quiz schema.
2024-12-09 17:53:47 +07:00
342fea041f feat: add service field to Quiz creation and enforce service ID requirement
- Introduced 'service' field in the Quiz creation input to enhance data structure.
- Added validation to ensure 'service ID' is provided during Quiz creation, improving data integrity.
- Updated centerMentor association logic to connect the current user as the center mentor for the Quiz.
2024-12-09 17:45:52 +07:00
b8d7c52d63 chore: update subproject commit reference and enhance Prisma types
- Updated the subproject commit reference in epess-database to the latest version.
- Modified Prisma types in pothos.generated.ts to include 'Quiz' in relation names and list relations.
- Removed the 'TempOrder' type definition from PrismaTypes for improved clarity and maintainability.
2024-12-09 17:30:02 +07:00