Skip to content

Conversation

@havetisyan
Copy link
Collaborator

@havetisyan havetisyan commented Sep 22, 2025

Description

If for any reason the auth history record stored in the supported storage store (e.g. ddb) does not have all the fields specified, any application using the zms go client library will fail to retrieve and parse the result since all the fields in the record as set as required. To provide better flexibility, the fields have been set as optional.

Contribution Checklist:

  • The pull request does not introduce any breaking changes
  • I have read the contribution guidelines.
  • Create an issue and link to the pull request.

Attach Screenshots (Optional)

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @havetisyan, 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 robustness of the AuthHistory data model by making several of its fields optional. This modification addresses potential issues where AuthHistory records stored in various data stores might not contain all specified fields, which previously caused retrieval and parsing errors in the ZMS Go client library. By explicitly marking these fields as optional in the RDL schema, Go client, and Java core, the system gains greater flexibility and resilience when handling incomplete historical authorization data.

Highlights

  • AuthHistory Fields Optional: Key fields within the AuthHistory object (e.g., uriDomain, principalDomain, principalName, timestamp, endpoint) are now marked as optional across all relevant schema definitions and client implementations.
  • Improved Data Retrieval Flexibility: This change prevents parsing failures in the ZMS Go client library when AuthHistory records retrieved from storage (like DynamoDB) might be missing some of these fields.
  • Schema and Code Alignment: Updates were made to the RDL schema, Go client model, and Java ZMS core to ensure consistency in treating these fields as optional.
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

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 makes several fields in the AuthHistory object optional to improve flexibility when parsing records. The changes are applied consistently across the RDL schema, Go models, and Java models. The validation logic in Go has also been updated to reflect that these fields are no longer required. The changes look good, but I have one suggestion to improve consistency in the Go model's JSON serialization.

@havetisyan havetisyan merged commit b5b836c into master Sep 23, 2025
8 checks passed
@havetisyan havetisyan deleted the auth-history branch September 23, 2025 00:51
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.

3 participants