Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ojoi): Add involved party to #16200

Merged
merged 7 commits into from
Sep 30, 2024
Merged

feat(ojoi): Add involved party to #16200

merged 7 commits into from
Sep 30, 2024

Conversation

jonbjarnio
Copy link
Member

@jonbjarnio jonbjarnio commented Sep 27, 2024

What

Adding involved party integration for user tied to many institutions. Stopping users who have no access to application to go further into the application process.

Why

To allow users to go on behalf of their institutions

Screenshots / Gifs

image

Checklist:

  • I have performed a self-review of my own code
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • [] I have added tests that prove my fix is effective or that my feature works
  • Formatting passes locally with my changes
  • I have rebased against main before asking for a review

Summary by CodeRabbit

Release Notes

  • New Features

    • Introduced a new GraphQL structure for fetching user-involved parties.
    • Implemented a new InvolvedPartyScreen component for selecting involved parties, featuring improved loading and error handling.
    • Added a method to retrieve user-involved parties within the application service.
  • Bug Fixes

    • Updated submission process identifiers for clarity.
  • Documentation

    • Enhanced internationalized messages for the involved party screen.

These updates enhance user experience by providing more dynamic and responsive interactions within the application.

@jonbjarnio jonbjarnio requested a review from a team as a code owner September 27, 2024 15:02
Copy link
Contributor

coderabbitai bot commented Sep 27, 2024

Walkthrough

The changes introduce new TypeScript models and a React component to manage user-involved parties in the Official Journal of Iceland application. A GraphQL response type for involved parties is defined, alongside a service method to fetch these parties. The new React component handles the display and selection of involved parties, incorporating state management and error handling. These updates facilitate user interactions and improve the application's ability to present user-specific data.

Changes

Files Change Summary
libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts Added InvolvedParty and GetUserInvolvedPartiesResponse object types for handling involved parties data.
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx Introduced InvolvedPartyScreen component to manage the display and selection of involved parties, including loading states and error handling.
libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts Added getUserInvolvedParties method to fetch involved parties based on parameters and authentication.

Possibly related PRs

  • feat(income-plan): Update updateValueObj in incomeType #15999: The changes in this PR involve modifications to the valueModifier functions in the IncomePlanForm.ts, which may relate to how involved parties are handled in the context of user applications, similar to the GetUserInvolvedPartiesResponse structure introduced in the main PR.

Suggested labels

automerge

Suggested reviewers

  • Toti91
  • veronikasif

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 9

🧹 Outside diff range and nitpick comments (11)
libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.input.ts (2)

5-6: LGTM: Field declaration is correct. Consider adding a comment for the definite assignment assertion.

The @Field decorator is correctly used with ID type, which is appropriate for an identifier. The field name and type are well-chosen. The use of the definite assignment assertion (!) ensures the field is always initialized, which is good for type safety.

Consider adding a brief comment explaining why the definite assignment assertion is used, to improve code readability:

@Field(() => ID)
applicationId!: string; // Non-nullable: must be provided when creating an instance

1-7: LGTM: Code adheres to coding guidelines. Consider adding a brief class description.

The code follows the guidelines for libs/**/* files:

  1. It defines a reusable input type that can be used across different NextJS apps.
  2. TypeScript is effectively used for defining and exporting the type.
  3. The single-responsibility nature of this class supports effective tree-shaking and bundling.

To further improve documentation, consider adding a brief class description using JSDoc:

/**
 * Input type for retrieving user involved parties for a specific application.
 */
@InputType('GetUserInvolvedPartiesInput')
export class GetUserInvolvedPartiesInput {
  // ... existing code
}
libs/application/templates/official-journal-of-iceland/src/hooks/useInvolvedParties.ts (2)

1-13: LGTM! Consider exporting types for reusability.

The imports and type definitions are well-structured and use TypeScript effectively. This adheres to the coding guidelines for TypeScript usage in defining props and types.

Consider exporting the Props and InvolvedPartiesResponse types to enhance reusability across different components or hooks that might need these types:

-type Props = {
+export type Props = {
   applicationId?: string
   onComplete?: (data: InvolvedPartiesResponse) => void
   onError?: (error: Error) => void
 }

-type InvolvedPartiesResponse = {
+export type InvolvedPartiesResponse = {
   officialJournalOfIcelandApplicationGetUserInvolvedParties: OfficialJournalOfIcelandApplicationGetUserInvolvedPartiesResponse
 }

14-36: LGTM! Consider optimizing callback invocations.

The hook is well-structured and follows React best practices. The query setup with Apollo Client is correct and includes proper error handling.

Consider optimizing the callback invocations using optional chaining as suggested by the static analysis tool:

-      onCompleted: (data) => {
-        onComplete && onComplete(data)
-      },
+      onCompleted: (data) => {
+        onComplete?.(data)
+      },
-      onError: (error) => {
-        onError && onError(error)
-      },
+      onError: (error) => {
+        onError?.(error)
+      },

This change improves code readability and follows modern JavaScript best practices.

🧰 Tools
🪛 Biome

[error] 30-30: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

libs/application/templates/official-journal-of-iceland/src/components/form/FormScreen.tsx (1)

68-77: LGTM: Render logic updated with loading state handling.

The conditional rendering for the loading state is well-implemented, providing clear visual feedback using the SkeletonLoader when loading is true. This change aligns with the PR objective and maintains component reusability.

Consider handling the case when the loading prop is undefined to ensure consistent behavior:

-      {loading ? (
+      {loading === true ? (
         <SkeletonLoader
           height={OJOI_INPUT_HEIGHT}
           repeat={3}
           borderRadius="standard"
           space={2}
         />
       ) : (
         <Box className={styles.childrenWrapper}>{children}</Box>
       )}

This change ensures that the children are rendered when loading is undefined, maintaining backwards compatibility if the prop is not provided.

libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts (3)

4-21: LGTM: Well-structured general messages with a minor suggestion.

The general section is well-organized with clear identifiers, default messages, and helpful descriptions. This structure promotes maintainability and ease of translation.

Consider adding a period at the end of the title default message for consistency with other messages:

-      defaultMessage: 'Stofnun ',
+      defaultMessage: 'Stofnun.',

22-30: LGTM: Input messages are correctly defined.

The inputs section is properly structured and follows the same pattern as the general section, maintaining consistency throughout the file.

As the application grows, consider:

  1. Adding more input-related messages (e.g., labels, help texts) to this section.
  2. Creating a separate file for input-related messages if they become numerous, to improve maintainability.

32-56: LGTM: Comprehensive error messages with a minor suggestion for consistency.

The errors section is well-structured and covers various error scenarios, providing clear information to users. The messages follow the same pattern as other sections, maintaining consistency throughout the file.

For consistency with other message objects, consider wrapping the errors object with defineMessages:

-  errors: defineMessages({
+  errors: {
+    ...defineMessages({
       // ... existing error messages ...
+    }),
   }),

This change would make the errors object structure consistent with general and inputs.

libs/application/templates/official-journal-of-iceland/src/lib/types.ts (1)

22-22: LGTM! Consider adding a comment for clarity.

The addition of the involvedPartyId field is consistent with the existing code structure and aligns with the PR objective. It maintains type safety and follows the established naming conventions.

Consider adding a brief comment explaining the purpose of this new field for better documentation. For example:

// Identifier for the involved party associated with the advertisement
involvedPartyId: 'advert.involvedPartyId',
libs/application/templates/official-journal-of-iceland/src/forms/Requirements.ts (1)

Line range hint 43-67: LGTM: New section for Involved Party is well-structured.

The new section for Involved Party is correctly implemented and follows the existing pattern in the form. It uses appropriate building blocks (buildSection, buildMultiField, buildCustomField) and includes the custom InvolvedPartyScreen component, which aligns with the PR objective.

Consider moving the submit field (buildSubmitField) outside of the buildMultiField to maintain consistency with other sections and potentially improve the form flow. This would involve adjusting the structure slightly:

buildSection({
  id: Routes.INVOLVED_PARTY,
  title: involvedParty.general.section,
  children: [
    buildMultiField({
      id: Routes.INVOLVED_PARTY,
      title: '',
      children: [
        buildCustomField({
          id: 'involvedParty',
          title: '',
          component: 'InvolvedPartyScreen',
        }),
      ],
    }),
    buildSubmitField({
      id: 'toComments',
      title: '',
      refetchApplicationAfterSubmit: true,
      actions: [
        {
          event: DefaultEvents.SUBMIT,
          name: general.continue,
          type: 'primary',
        },
      ],
    }),
  ],
}),

This structure would be more consistent with other sections in the form.

libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.resolver.ts (1)

116-125: LGTM: New query method is well-implemented.

The getUserInvolvedParties method is correctly implemented as a GraphQL query. It follows the structure of other methods in the file, uses appropriate decorators, and maintains separation of concerns by delegating to the service layer.

For consistency with other methods in this file, consider using an object literal for the @Query decorator options:

@Query(() => GetUserInvolvedPartiesResponse, {
  name: 'officialJournalOfIcelandApplicationGetUserInvolvedParties',
})
📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 9095b02 and f76e177.

📒 Files selected for processing (16)
  • libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.resolver.ts (2 hunks)
  • libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.service.ts (2 hunks)
  • libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.input.ts (1 hunks)
  • libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/components/form/FormScreen.tsx (4 hunks)
  • libs/application/templates/official-journal-of-iceland/src/forms/Requirements.ts (2 hunks)
  • libs/application/templates/official-journal-of-iceland/src/graphql/queries.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/hooks/useInvolvedParties.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/lib/constants.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/lib/messages/index.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/lib/types.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/screens/index.ts (1 hunks)
  • libs/clients/official-journal-of-iceland/application/src/clientConfig.json (4 hunks)
  • libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (2 hunks)
🧰 Additional context used
📓 Path-based instructions (16)
libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.resolver.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.input.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/components/form/FormScreen.tsx (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/forms/Requirements.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/graphql/queries.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/hooks/useInvolvedParties.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/lib/constants.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/lib/messages/index.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/lib/types.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/application/templates/official-journal-of-iceland/src/screens/index.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/clients/official-journal-of-iceland/application/src/clientConfig.json (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
🪛 Biome
libs/application/templates/official-journal-of-iceland/src/hooks/useInvolvedParties.ts

[error] 30-30: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx

[error] 25-25: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 101-101: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

🔇 Additional comments (30)
libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.input.ts (2)

1-1: LGTM: Import statement is correct and follows best practices.

The import statement correctly imports the necessary decorators from '@nestjs/graphql' and follows best practices by using destructuring.


3-4: LGTM: Class declaration and decorator are well-implemented.

The @InputType decorator is correctly used with an explicit name, which is a good practice. The class name is descriptive, follows PascalCase convention, and is properly exported for use in other parts of the application.

libs/application/templates/official-journal-of-iceland/src/screens/index.ts (1)

10-10: LGTM! Verify the existence of InvolvedPartyScreen.

The addition of the InvolvedPartyScreen export aligns with the PR objectives and follows the established pattern in the file. This change enhances reusability across NextJS apps and supports effective tree-shaking.

Let's verify the existence of the InvolvedPartyScreen file:

✅ Verification successful

Verified: 'InvolvedPartyScreen.tsx' exists in the specified path.

The new export aligns with the PR objectives and adheres to the established file patterns. No issues found.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Verify the existence of InvolvedPartyScreen.ts or InvolvedPartyScreen.tsx

fd -e ts -e tsx InvolvedPartyScreen libs/application/templates/official-journal-of-iceland/src/screens

Length of output: 195

libs/application/templates/official-journal-of-iceland/src/lib/messages/index.ts (1)

14-14: LGTM! Verify the new module.

The addition of the 'involved-parties' export aligns with the PR objectives and follows the existing pattern in the file. This change promotes reusability and allows for effective tree-shaking, which is in line with our coding guidelines.

Let's verify the existence of the new module:

✅ Verification successful

Verified the 'involved-parties' module exists and exports correctly.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify the existence of the 'involved-parties' module

# Test: Check if the 'involved-parties.ts' file exists
fd -p "libs/application/templates/official-journal-of-iceland/src/lib/messages" -t f "involved-parties.ts"

# Test: Ensure the new module exports something
rg -t typescript "export" "libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts"

Length of output: 364


Script:

#!/bin/bash
# Description: Corrected script to verify the existence and exports of the 'involved-parties' module

# Test: Check if the 'involved-parties.ts' file exists
fd -t f "involved-parties.ts" "libs/application/templates/official-journal-of-iceland/src/lib/messages"

# Test: Ensure the new module exports something
rg "export" "libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts"

Length of output: 328

libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts (2)

1-1: Imports and decorators are correctly used.

The necessary decorators from @nestjs/graphql are imported, and @ObjectType decorators are used with descriptive names, which enhances schema clarity.

Also applies to: 3-3, 15-15


1-19: Code adheres to coding guidelines for libs/**/* files.

The implementation meets the following criteria:

  • Defines reusable types that can be used across different NextJS apps.
  • Effectively uses TypeScript for defining and exporting types.
  • Supports tree-shaking and efficient bundling by only containing type definitions.
libs/application/templates/official-journal-of-iceland/src/hooks/useInvolvedParties.ts (2)

38-45: LGTM! Well-structured return value.

The hook's return value is well-structured, providing all necessary information (involvedParties, loading state, and error) in a clear and accessible manner. The use of optional chaining when accessing the nested involvedParties property is a good practice that prevents potential runtime errors.


1-45: Great job! The hook is well-implemented and follows best practices.

This custom hook, useInvolvedParties, is well-structured and adheres to the coding guidelines:

  1. It's located in the libs directory, promoting reusability across different NextJS apps.
  2. It effectively uses TypeScript for type definitions and prop typing.
  3. The code structure supports effective tree-shaking and bundling.

The hook provides a clean and reusable way to fetch involved parties data, with proper error handling and loading state management. It's a valuable addition to the shared library.

🧰 Tools
🪛 Biome

[error] 30-30: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

libs/application/templates/official-journal-of-iceland/src/components/form/FormScreen.tsx (3)

5-5: LGTM: New imports for loading state functionality.

The addition of SkeletonLoader and OJOI_INPUT_HEIGHT imports aligns with the new loading state feature and follows the project's structure. This change supports the reusability guideline for components across different NextJS apps.

Also applies to: 11-11


25-25: LGTM: Props type updated with loading state.

The addition of the loading?: boolean prop to the Props type is well-defined and follows TypeScript best practices. This change supports the TypeScript usage guideline for defining props and exporting types.


34-34: LGTM: Component parameter updated.

The loading prop is correctly added to the destructured parameters of the FormScreen component, maintaining consistency with other props and reflecting the Props type update.

libs/application/templates/official-journal-of-iceland/src/lib/constants.ts (1)

27-27: LGTM! Verify usage in related components.

The addition of INVOLVED_PARTY to the Routes enum is consistent with the existing pattern and aligns with the PR objective. The naming follows TypeScript conventions, and being part of a constants file promotes reusability across components.

To ensure proper integration, please run the following script to check for usage of the new route:

This script will help identify where the new route is being used and where it might need to be added to existing logic.

✅ Verification successful

Further Verification Required:

The previous script encountered an issue recognizing the typescript file type. Please run the following script to search for Routes.INVOLVED_PARTY within .ts and .tsx files directly:


Verification Successful!

The INVOLVED_PARTY route is correctly used in Requirements.ts, and there are no switch statements or if-else blocks that require updates. The addition adheres to the coding standards and integrates seamlessly with the existing routing logic.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for usage of the new INVOLVED_PARTY route and potential places where it should be added.

# Search for usage of the new INVOLVED_PARTY route
echo "Searching for usage of INVOLVED_PARTY route:"
rg --type typescript "Routes\.INVOLVED_PARTY" libs/application/templates/official-journal-of-iceland/

# Search for switch statements or if-else blocks that might need updating
echo "\nSearching for switch statements or if-else blocks using Routes:"
rg --type typescript -e "switch.*Routes" -e "if.*Routes" libs/application/templates/official-journal-of-iceland/

Length of output: 528


Script:

#!/bin/bash
# Description: Check for usage of the new INVOLVED_PARTY route by targeting .ts and .tsx files directly.

# Search for usage of the new INVOLVED_PARTY route in .ts and .tsx files
echo "Searching for usage of INVOLVED_PARTY route in .ts and .tsx files:"
rg "Routes\.INVOLVED_PARTY" --glob "*.ts" --glob "*.tsx" libs/application/templates/official-journal-of-iceland/

# Search for switch statements or if-else blocks using Routes in .ts and .tsx files
echo "\nSearching for switch statements or if-else blocks using Routes in .ts and .tsx files:"
rg "switch\s*\(.*Routes" --glob "*.ts" --glob "*.tsx" libs/application/templates/official-journal-of-iceland/
rg "if\s*\(.*Routes" --glob "*.ts" --glob "*.tsx" libs/application/templates/official-journal-of-iceland/

Length of output: 894

libs/application/templates/official-journal-of-iceland/src/lib/messages/involved-parties.ts (2)

1-3: LGTM: Import and export declarations are correct.

The import of defineMessages and the export of involvedParty are properly structured, allowing for easy usage of these internationalized messages across different components.


1-56: Great job: File adheres to coding guidelines and best practices.

This file demonstrates excellent adherence to the coding guidelines for libs/**/* files:

  1. Reusability: The structured message definitions can be easily imported and used across different NextJS apps.
  2. TypeScript usage: The file correctly uses TypeScript for defining and exporting types.
  3. Tree-shaking and bundling: The modular structure of message definitions allows for effective tree-shaking and bundling.

The use of react-intl and the clear organization of messages promote good internationalization practices. The file is well-structured, maintainable, and follows consistent patterns throughout.

libs/application/templates/official-journal-of-iceland/src/forms/Requirements.ts (2)

19-19: LGTM: Import addition is correct and follows guidelines.

The addition of involvedParty to the imports is consistent with the existing pattern and aligns with the PR objective of integrating involved party functionality. This change adheres to the coding guidelines for TypeScript usage and effective tree-shaking.


57-57: Verify the impact of submit field ID change on form flow.

The change of the submit field's ID from 'toDraft' to 'toComments' is noted. This modification likely affects the form's workflow and aligns with the PR objective of managing user access in the application process.

Please confirm that this ID change:

  1. Correctly redirects users to the comments section instead of saving as a draft.
  2. Doesn't break any existing functionality or data flow in the application.
  3. Is consistently applied across all relevant components and handlers.

You can use the following script to verify the usage of 'toComments' ID:

libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.resolver.ts (2)

26-27: LGTM: Import statements are correctly added.

The new import statements for GetUserInvolvedPartiesResponse and GetUserInvolvedPartiesInput are properly placed and follow TypeScript naming conventions. This approach maintains good modularity by keeping type definitions in separate files.


Line range hint 1-125: Coding guidelines compliance: Good adherence to libs/**/* pattern.

The implementation follows the coding guidelines for libs/**/*:

  1. The resolver is structured for potential reuse across different NextJS apps.
  2. TypeScript is effectively used for defining props and exporting types.
  3. The modular structure supports effective tree-shaking and bundling practices.
libs/api/domains/official-journal-of-iceland-application/src/lib/ojoiApplication.service.ts (3)

20-20: LGTM: New import statement is correct and necessary.

The import statement for GetUserInvolvedPartiesInput is correctly implemented and follows TypeScript naming conventions. It's appropriately used in the new method.


171-178: LGTM: New method getUserInvolvedParties is implemented correctly.

The new method is consistent with the class structure and correctly uses async/await syntax. It properly delegates the call to the underlying service.


171-178: Verify implementation against PR objectives.

The PR objectives mention that this feature is related to users associated with multiple institutions and preventing users without access from progressing. However, the current implementation doesn't seem to include any specific logic for these requirements.

Please confirm if additional logic is needed in this method or if the requirements are handled elsewhere in the system. You may want to run the following script to check for related implementations:

libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (2)

18-18: LGTM: Import added correctly

The new import GetInvolvedPartiesRequest is correctly added to the existing import statement. It follows the TypeScript usage guideline and is necessary for the new method, adhering to the reusability guideline.


Line range hint 1-189: Overall assessment: Good addition with minor improvements needed

The new getUserInvolvedParties method aligns well with the PR objective of integrating involved party functionality. It follows TypeScript usage and reusability guidelines. However, to make it production-ready, please address the suggested improvements in the previous comment regarding error handling, console.log removal, and documentation.

The changes adhere to the coding guidelines for files in the libs/**/* pattern, ensuring reusability across different NextJS apps and proper TypeScript usage. Once the minor issues are addressed, this addition will be a valuable enhancement to the service.

libs/application/templates/official-journal-of-iceland/src/graphql/queries.ts (1)

193-203: LGTM! Consider adding TypeScript interface for response.

The new INVOLVED_PARTIES_QUERY is well-structured and consistent with the existing patterns in the file. It's focused and specific, which is good for tree-shaking and bundling practices.

To improve type safety and adhere to TypeScript best practices, consider adding a TypeScript interface for the query response. This will enhance the reusability of the query across different NextJS apps.

Here's an example of how you could add a TypeScript interface:

interface InvolvedPartiesResponse {
  officialJournalOfIcelandApplicationGetUserInvolvedParties: {
    involvedParties: Array<{
      id: string;
      title: string;
      slug: string;
    }>;
  };
}

export const INVOLVED_PARTIES_QUERY = gql<
  InvolvedPartiesResponse,
  { input: GetUserInvolvedPartiesInput }
>`
  query InvolvedParties($input: GetUserInvolvedPartiesInput!) {
    officialJournalOfIcelandApplicationGetUserInvolvedParties(input: $input) {
      involvedParties {
        id
        title
        slug
      }
    }
  }
`;

To ensure the query name matches the backend resolver, run the following command:

This will help confirm that the query name is correctly aligned with the backend implementation.

✅ Verification successful

The previous command failed due to an unrecognized file type. Please run the following script without specifying the file type to search across all files:


Verified Query Name Alignment

The INVOLVED_PARTIES_QUERY correctly matches the backend resolver officialJournalOfIcelandApplicationGetUserInvolvedParties. All references are consistent across the codebase.

🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Verify if the query name matches the backend resolver

# Test: Search for the backend resolver definition
rg --type typescript "officialJournalOfIcelandApplicationGetUserInvolvedParties"

Length of output: 115


Script:

#!/bin/bash
# Description: Verify if the query name matches the backend resolver

# Test: Search for the backend resolver definition without specifying file type
rg "officialJournalOfIcelandApplicationGetUserInvolvedParties"

Length of output: 1243

libs/clients/official-journal-of-iceland/application/src/clientConfig.json (5)

275-299: New endpoint for retrieving involved parties looks good.

The new GET endpoint /api/v1/applications/{id}/involved-parties is well-structured and consistent with other endpoints in the file. It follows RESTful conventions and uses appropriate parameter and response schema.


651-657: Application state enum update looks good.

The state enum in the Application schema has been expanded to include more comprehensive states: "requirements", "draft_retry", "submitted", and "complete". These additions provide a more detailed representation of an application's lifecycle, which aligns well with the PR objectives.


987-987: ApplicationAttachmentType title enum update is appropriate.

The title enum in the ApplicationAttachmentType schema has been updated to include "Frumrit" and "Fylgiskjöl". This change appears to be a localization update, which is consistent with the context of the Official Journal of Iceland.


1049-1080: New Institution and ApplicationUserInvolvedPartiesResponse schemas look good.

The newly added Institution and ApplicationUserInvolvedPartiesResponse schemas are well-structured and consistent with the PR objectives. The Institution schema includes all necessary fields (id, title, and slug) with appropriate descriptions and examples. The ApplicationUserInvolvedPartiesResponse schema correctly references the Institution schema for the involvedParties array.


Line range hint 1-1080: Overall, the changes to clientConfig.json are well-implemented and align with the PR objectives.

The additions and modifications in this file successfully implement the involved party functionality. The new endpoint, schema updates, and additions are well-structured, consistent with the existing codebase, and adhere to OpenAPI specifications. Good job on maintaining consistency and following best practices throughout the changes.

libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1)

46-46: Verify the availability of structuredClone

The structuredClone function used in line 46 may not be supported in all JavaScript environments, particularly in older Node.js versions or certain browsers. Ensure that your runtime environment supports structuredClone. If it doesn't, consider using an alternative like lodash.cloneDeep.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🧹 Outside diff range and nitpick comments (2)
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1)

57-103: Well-structured UI with room for minor improvement.

The component effectively prepares options for the select input and handles different states (loading, error, no data) with appropriate UI components. The use of AlertMessage for warnings and errors is a good practice.

However, there's a minor improvement we can make in the onChange handler of the OJOISelectController.

Apply this diff to improve the code:

-          onChange={() =>
-            setSubmitButtonDisabled && setSubmitButtonDisabled(false)
-          }
+          onChange={() => setSubmitButtonDisabled?.(false)}

This change simplifies the code and follows modern JavaScript practices by using optional chaining.

🧰 Tools
🪛 Biome

[error] 99-99: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (1)

183-198: Excellent improvements, consider adding JSDoc and minor refactoring

Great job implementing the getUserInvolvedParties method! The error handling and removal of the console.log statement align well with the class's overall structure. To further enhance the code:

  1. Add a JSDoc comment to document the method's purpose and parameters.
  2. Consider returning the data directly without assigning it to a variable for consistency with other methods in the class.

Here's a suggested improvement:

/**
 * Retrieves involved parties for a user
 * @param params - The request parameters for getting involved parties
 * @param auth - The authentication object
 * @returns A promise that resolves to the involved parties data
 */
async getUserInvolvedParties(params: GetInvolvedPartiesRequest, auth: Auth) {
  try {
    return await this.ojoiApplicationApiWithAuth(auth).getInvolvedParties(params);
  } catch (error) {
    this.logger.warn('Failed to get involved parties', {
      error,
      applicationId: params.id,
      category: LOG_CATEGORY,
    });
    throw error;
  }
}

This change improves documentation and maintains consistency with other methods in the class.

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between f76e177 and 1047eef.

📒 Files selected for processing (3)
  • libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts (1 hunks)
  • libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1 hunks)
  • libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (2 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • libs/api/domains/official-journal-of-iceland-application/src/models/getUserInvolvedParties.response.ts
🧰 Additional context used
📓 Path-based instructions (2)
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
libs/clients/official-journal-of-iceland/application/src/lib/ojoiApplicationClient.service.ts (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
🪛 Biome
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx

[error] 25-25: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 99-99: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

🔇 Additional comments (2)
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (2)

1-15: Imports and component declaration look good.

The necessary dependencies are imported, and the component is properly declared with TypeScript types. This follows good practices for reusability and type safety.


1-105: Overall, excellent implementation of the InvolvedPartyScreen component.

The component is well-structured, follows React and TypeScript best practices, and effectively manages the display and selection of involved parties for an application. It handles various scenarios and states, including loading, errors, and different numbers of involved parties.

Key strengths:

  1. Proper use of hooks for state management and side effects.
  2. Effective error handling and user feedback through AlertMessage components.
  3. TypeScript usage for prop types and improved type safety.
  4. Reusable design that can be integrated into different NextJS apps.

The component adheres to the coding guidelines and demonstrates good practices for reusability and maintainability.

🧰 Tools
🪛 Biome

[error] 25-25: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 99-99: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

Copy link
Member

@thordurhhh thordurhhh left a comment

Choose a reason for hiding this comment

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

Nice 🙌

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 3

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Files that changed from the base of the PR and between 1047eef and 6218644.

📒 Files selected for processing (1)
  • libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1 hunks)
🧰 Additional context used
📓 Path-based instructions (1)
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (1)

Pattern libs/**/*: "Confirm that the code adheres to the following:

  • Reusability of components and hooks across different NextJS apps.
  • TypeScript usage for defining props and exporting types.
  • Effective tree-shaking and bundling practices."
🪛 Biome
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx

[error] 25-25: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 96-96: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

🔇 Additional comments (3)
libs/application/templates/official-journal-of-iceland/src/screens/InvolvedPartyScreen.tsx (3)

1-15: Imports and component declaration look good.

The imports are appropriate for the component's functionality, and the component declaration follows TypeScript practices. Good job on using typed props with OJOIFieldBaseProps.


54-62: Options and select input setup look good.

The creation of options for the select input, setting up the default value, and determining when to disable the select input are all implemented correctly. Good job on handling these aspects of the component.


1-102: Overall, the InvolvedPartyScreen component is well-implemented.

The component effectively manages the display and selection of involved parties for the Official Journal of Iceland application. It adheres to React best practices, uses TypeScript for type safety, and follows the coding guidelines for reusability and modularity.

Key strengths:

  1. Proper use of custom hooks for state management and data fetching.
  2. Effective error handling and loading state management.
  3. Conditional rendering based on different scenarios.
  4. Use of localization for internationalization support.

The suggested improvements are minor and focus on code modernization:

  1. Using optional chaining for setSubmitButtonDisabled calls.
  2. Simplifying condition checks and variable usage.

These changes will enhance code readability and maintainability without affecting the overall functionality. Great job on implementing this feature!

🧰 Tools
🪛 Biome

[error] 25-25: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 33-33: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)


[error] 96-96: Change to an optional chain.

Unsafe fix: Change to an optional chain.

(lint/complexity/useOptionalChain)

Copy link
Contributor

coderabbitai bot commented Sep 30, 2024

✅ Actions performed

Comments resolved and changes approved.

Copy link

codecov bot commented Sep 30, 2024

Codecov Report

Attention: Patch coverage is 50.00000% with 14 lines in your changes missing coverage. Please review.

Project coverage is 36.70%. Comparing base (50e0899) to head (5b2f2d4).
Report is 1 commits behind head on main.

Files with missing lines Patch % Lines
...plication/src/lib/ojoiApplicationClient.service.ts 0.00% 6 Missing ⚠️
...nd-application/src/lib/ojoiApplication.resolver.ts 50.00% 4 Missing ⚠️
...and-application/src/lib/ojoiApplication.service.ts 0.00% 2 Missing ⚠️
...ication/src/models/getUserInvolvedParties.input.ts 75.00% 1 Missing ⚠️
...tion/src/models/getUserInvolvedParties.response.ts 87.50% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main   #16200   +/-   ##
=======================================
  Coverage   36.70%   36.70%           
=======================================
  Files        6779     6781    +2     
  Lines      139692   139720   +28     
  Branches    39724    39725    +1     
=======================================
+ Hits        51270    51282   +12     
- Misses      88422    88438   +16     
Flag Coverage Δ
air-discount-scheme-backend 54.23% <ø> (ø)
air-discount-scheme-web 0.00% <ø> (ø)
api 3.39% <ø> (ø)
api-domains-air-discount-scheme 36.91% <ø> (ø)
api-domains-assets 26.71% <ø> (ø)
api-domains-auth-admin 48.77% <ø> (ø)
api-domains-communications 40.01% <ø> (ø)
api-domains-criminal-record 47.85% <ø> (ø)
api-domains-driving-license 44.47% <ø> (ø)
api-domains-education 31.67% <ø> (ø)
api-domains-health-insurance 34.68% <ø> (ø)
api-domains-mortgage-certificate 35.70% <ø> (ø)
api-domains-payment-schedule 41.20% <ø> (ø)
application-api-files 57.86% <ø> (ø)
application-core 71.62% <ø> (+0.32%) ⬆️
application-system-api 41.64% <50.00%> (+<0.01%) ⬆️
application-template-api-modules 23.74% <ø> (+0.01%) ⬆️
application-templates-accident-notification 22.14% <ø> (ø)
application-templates-car-recycling 3.12% <ø> (ø)
application-templates-criminal-record 26.63% <ø> (ø)
application-templates-driving-license 18.70% <ø> (ø)
application-templates-estate 12.34% <ø> (ø)
application-templates-example-payment 25.41% <ø> (ø)
application-templates-financial-aid 14.34% <ø> (ø)
application-templates-general-petition 23.68% <ø> (ø)
application-templates-health-insurance 26.62% <ø> (ø)
application-templates-inheritance-report 6.45% <ø> (ø)
application-templates-marriage-conditions 15.23% <ø> (ø)
application-templates-mortgage-certificate 43.96% <ø> (ø)
application-templates-parental-leave 30.15% <ø> (ø)
application-types 6.71% <ø> (ø)
application-ui-components 1.28% <ø> (ø)
application-ui-shell 21.29% <ø> (ø)
auth-react 22.80% <ø> (ø)
clients-charge-fjs-v2 24.11% <ø> (ø)
clients-driving-license 40.65% <ø> (ø)
clients-driving-license-book 43.91% <ø> (ø)
clients-financial-statements-inao 49.17% <ø> (ø)
clients-license-client 1.83% <ø> (ø)
clients-middlewares 72.77% <ø> (-0.26%) ⬇️
clients-regulations 42.63% <ø> (ø)
clients-rsk-company-registry 29.76% <ø> (ø)
clients-syslumenn 49.66% <ø> (ø)
cms 0.43% <ø> (ø)
cms-translations 39.14% <ø> (+0.05%) ⬆️
contentful-apps 5.76% <ø> (ø)
download-service 44.75% <ø> (ø)
financial-aid-backend 56.54% <ø> (ø)
financial-aid-shared 19.03% <ø> (ø)
island-ui-core 28.47% <ø> (ø)
judicial-system-api 18.46% <ø> (ø)
judicial-system-backend 54.84% <ø> (ø)
judicial-system-web 28.16% <ø> (ø)
license-api 42.61% <ø> (ø)
portals-admin-regulations-admin 1.88% <ø> (ø)
portals-core 16.17% <ø> (ø)
services-auth-admin-api 51.98% <ø> (ø)
services-auth-delegation-api 57.87% <ø> (-0.07%) ⬇️
services-auth-ids-api 51.86% <ø> (-0.03%) ⬇️
services-auth-personal-representative 45.51% <ø> (-0.04%) ⬇️
services-auth-personal-representative-public 41.63% <ø> (+0.04%) ⬆️
services-auth-public-api 49.37% <ø> (ø)
services-endorsements-api 55.23% <ø> (ø)
services-university-gateway 48.51% <ø> (-0.06%) ⬇️
services-user-notification 47.17% <ø> (ø)
services-user-profile 62.37% <ø> (ø)
shared-components 27.68% <ø> (ø)
shared-form-fields 31.61% <ø> (ø)
shared-utils 28.01% <ø> (ø)
web 1.83% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...ication/src/models/getUserInvolvedParties.input.ts 75.00% <75.00%> (ø)
...tion/src/models/getUserInvolvedParties.response.ts 87.50% <87.50%> (ø)
...and-application/src/lib/ojoiApplication.service.ts 20.51% <0.00%> (-1.11%) ⬇️
...nd-application/src/lib/ojoiApplication.resolver.ts 56.52% <50.00%> (-0.86%) ⬇️
...plication/src/lib/ojoiApplicationClient.service.ts 12.50% <0.00%> (-1.30%) ⬇️

... and 1 file with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 50e0899...5b2f2d4. Read the comment docs.

@datadog-island-is
Copy link

datadog-island-is bot commented Sep 30, 2024

Datadog Report

All test runs 50925b0 🔗

68 Total Test Services: 0 Failed, 66 Passed
🔻 Test Sessions change in coverage: 3 decreased, 2 increased, 195 no change

Test Services
This report shows up to 10 services
Service Name Failed Known Flaky New Flaky Passed Skipped Total Time Code Coverage Change Test Service View
air-discount-scheme-backend 0 0 0 81 0 20.44s N/A Link
air-discount-scheme-web 0 0 0 2 0 7.71s N/A Link
api 0 0 0 4 0 3.1s N/A Link
api-domains-air-discount-scheme 0 0 0 6 0 19.31s 1 no change Link
api-domains-assets 0 0 0 3 0 12.15s 1 no change Link
api-domains-auth-admin 0 0 0 18 0 14.18s N/A Link
api-domains-communications 0 0 0 5 0 33.13s 1 no change Link
api-domains-criminal-record 0 0 0 5 0 9.98s 1 no change Link
api-domains-driving-license 0 0 0 23 0 32.63s 1 no change Link
api-domains-education 0 0 0 8 0 22.28s 1 no change Link

🔻 Code Coverage Decreases vs Default Branch (3)

  • clients-middlewares - jest 75.5% (-0.1%) - Details
  • services-university-gateway - jest 44.88% (-0.02%) - Details
  • services-auth-personal-representative - jest 44.05% (-0.01%) - Details

@jonbjarnio jonbjarnio added the automerge Merge this PR as soon as all checks pass label Sep 30, 2024
@kodiakhq kodiakhq bot merged commit 306033d into main Sep 30, 2024
196 checks passed
@kodiakhq kodiakhq bot deleted the feat/ojoi-involved-parties branch September 30, 2024 15:53
thoreyjona pushed a commit that referenced this pull request Oct 2, 2024
* Involved party client / graphql

* WIP: setting up involved party screen

* Involved parties now ready

* Fixed PR comments.

* Fixed more PR comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
automerge Merge this PR as soon as all checks pass
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants