Skip to content

Conversation

@verdverm
Copy link

Implements #340 for SessionService database implementation

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @verdverm, 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 session service by providing a new constructor that accepts an already initialized GORM database instance. This change allows for greater flexibility and efficiency in managing database connections, as applications can now share a single database across various services, thereby optimizing resource utilization and simplifying database setup.

Highlights

  • New Session Service Constructor: Introduced NewSessionServiceGorm function to create a session.Service instance using an already initialized GORM database connection.
  • Database Connection Reuse: This new constructor facilitates the reuse of existing database connections across multiple ADK services and applications, improving resource management.
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 NewSessionServiceGorm to allow creating a session service from an existing GORM database connection. This is a useful addition for reusing database connections. My review includes a suggestion to correct the function's documentation, which appears to be inaccurate, and to add a nil check to make the function more robust and align its implementation with its error-returning signature.

@kdroste-google
Copy link
Collaborator

/gemini review

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 a new constructor NewSessionServiceGorm for the database-backed session.Service. This is a useful addition as it allows reusing an existing *gorm.DB connection, which is great for integrating with applications that already manage their own database connections.

My review includes a couple of suggestions:

  • A high-severity recommendation to add a nil check for the database connection to prevent potential panics.
  • A medium-severity fix for a minor typo in the function's documentation.

Overall, the change is straightforward and beneficial. Addressing the feedback will make it more robust.

@verdverm
Copy link
Author

verdverm commented Dec 5, 2025

/gemini review

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 a new constructor NewSessionServiceGorm to allow creating a session service from an existing GORM database connection. The change is straightforward and useful for sharing database connections. My review includes a suggestion to correct a comment in the documentation and a recommendation to add unit tests for the new function to ensure its correctness and prevent future regressions.

Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
@baptmont baptmont requested a review from dpasiukevich December 5, 2025 09:44
@dpasiukevich
Copy link
Collaborator

@verdverm apologies for not coming to this earlier.

I'd suggest to just have one func NewSessionService(db *gorm.DB).
It's better long-term to have 1 constructor (which later can be extended with options), instead of supporting 2 almost identical ones.

I've talked with @mazas-google as he suggested to add a new func for backwards compatibility in #340 (comment). And he is also ok to keep only one.

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.

4 participants