Skip to content

Conversation

@jaskfla
Copy link
Contributor

@jaskfla jaskfla commented Nov 18, 2025

No description provided.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @jaskfla, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the database interaction layer by introducing findByIdOrThrow and findOneOrThrow helper methods to the DatabaseModel. These methods provide a concise and explicit way to retrieve database records, ensuring that an error is thrown if a record is not found, thus improving the overall reliability and readability of data access operations. The SurveyEditor has been refactored to adopt these new utilities, demonstrating their practical application and benefits.

Highlights

  • New findXOrThrow Helper Methods: Introduced findByIdOrThrow and findOneOrThrow methods in DatabaseModel to provide a more robust way to fetch database records, automatically throwing an error if a record is not found.
  • Improved Error Handling: The new helper methods leverage the ensure utility from @tupaia/tsutils to streamline error handling, reducing boilerplate code for checking null or undefined results after database queries.
  • Refactored SurveyEditor Logic: The SurveyEditor class has been updated to utilize the new findByIdOrThrow method and ensure utility, simplifying its logic for retrieving permission groups and making it more resilient to missing data.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces useful findByIdOrThrow and findOneOrThrow helper methods to the DatabaseModel, which helps simplify code that finds a database record and throws an error if it's not found. The implementation of these new methods looks good. In SurveyEditor.js, you've updated the logic to use these new helpers. However, I've noticed that the calls to findByIdOrThrow are wrapped in an unnecessary, redundant ensure() call. The ...OrThrow methods already perform this check internally. I've left a suggestion to simplify this. Overall, this is a good refactoring that improves code clarity and reduces boilerplate.

@jaskfla jaskfla marked this pull request as draft November 18, 2025 00:56
@jaskfla jaskfla force-pushed the find-or-throw branch 2 times, most recently from bb193cd to d60dcde Compare December 1, 2025 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant