Skip to content

Conversation

@R-Sourabh
Copy link
Contributor

Related Issues

#1441

Short Description and Why It's Useful

  • Added support to fetch the inventory count of an item using facilityId when adding it from the modal, which is previously using the orderFacilityId.

Screenshots of Visual Changes before/after (If There Are Any)

Contribution and Currently Important Rules Acceptance

@gemini-code-assist
Copy link

Summary of Changes

Hello @R-Sourabh, 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 addresses an issue where inventory counts and product average costs were being incorrectly determined when adding items through a modal. By switching the facility ID reference from a general order facility to the specific facility associated with the first ship group, the changes ensure that accurate stock levels and pricing information are retrieved and applied.

Highlights

  • Inventory Accuracy: The logic for fetching the quantity on hand (QOH) for products added through the modal has been updated to correctly use the "facilityId" from the first ship group, rather than the general "orderFacilityId".
  • Product Cost Calculation: The average cost calculation for products added via the modal now also correctly references the "facilityId" of the first ship group, ensuring more accurate pricing.
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

@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 correctly changes the source of the facilityId from orderFacilityId to the one in shipGroups. However, the new implementation introduces a potential for runtime errors by directly accessing shipGroups[0] without checking if it exists. My review includes suggestions to add safety checks to prevent crashes and make the code more robust.

Comment on lines 91 to 95
const resp: any = await StockService.getInventoryAvailableByFacility({
productId,
facilityId: currentOrder.value.orderFacilityId
facilityId: currentOrder.value.shipGroups[0].facilityId
});
if(!hasError(resp)) return resp.data;

Choose a reason for hiding this comment

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

high

Accessing currentOrder.value.shipGroups[0] directly is unsafe as shipGroups could be an empty array or undefined, which would cause a runtime error. It's better to safely access the facilityId and handle the case where it's not found before making the API call.

    const facilityId = currentOrder.value.shipGroups?.[0]?.facilityId;
    if (!facilityId) {
      logger.error("Facility ID not found in the order's ship group.");
      return null;
    }
    const resp: any = await StockService.getInventoryAvailableByFacility({
      productId,
      facilityId
    });
    if(!hasError(resp)) return resp.data;

const unitPrice = await ProductService.fetchProductAverageCost(
newItem.productId,
currentOrder.value.orderFacilityId
currentOrder.value.shipGroups[0].facilityId

Choose a reason for hiding this comment

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

high

Accessing currentOrder.value.shipGroups[0] directly is unsafe as shipGroups could be an empty array or undefined, which would cause a runtime error. Use optional chaining to safely access the facilityId.

      currentOrder.value.shipGroups?.[0]?.facilityId

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