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

Redis integration #940

Merged
merged 4 commits into from
Jun 19, 2024
Merged

Redis integration #940

merged 4 commits into from
Jun 19, 2024

Conversation

ashish-egov
Copy link
Contributor

No description provided.

Copy link
Contributor

coderabbitai bot commented Jun 19, 2024

Warning

Review failed

The pull request is closed.

Walkthrough

Walkthrough

The recent updates entail significant enhancements, including refactoring various functions to streamline role processing and HTTP request handling. Key improvements involve the integration of Redis for caching, better error handling, and the introduction of a more dynamic header system across multiple modules. These changes collectively enhance the efficiency and maintainability of the project, ensuring improved performance and consistency in API interactions.

Changes

File Path Change Summary
.../campaignApis.ts Refactored convertUserRoles, adjusted handleResouceDetailsError indentation, added HTTP request header
.../genericApis.ts Introduced defaultheader, updated HTTP request headers in confirmBoundaryParentCreation and createBoundaryRelationship functions
.../config/constants.ts Corrected typo in SCHEMA_ERROR, removed export of userRoles
.../config/index.ts Added configurations for Redis caching: cacheEnabled, resetCache, redisPort, redisHost, maxHttpRetries
.../campaignUtils.ts Added cache key header using defaultheader in addBoundariesForData and reorderBoundaries functions
.../genericUtils.ts Added cache key header in getBoundaryRelationshipData function
.../redisUtils.ts Introduced Redis instance creation, connection logic
.../request.ts Updated caching logic to use Redis, added cacheKey, cacheTTL variables, removed old caching imports

Poem

In code we trust, with changes vast,
A cache anew, to make it fast.
Headers aligned, roles redefined,
With Redis set, our paths are twined.
To future bright, we now embark,
Together strong, we leave our mark.


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>.
    • 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 generate interesting stats about this repository and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @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 as 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.

Additionally, you can add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.

CodeRabbit Configration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

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: 4

Outside diff range and nitpick comments (25)
utilities/project-factory/src/server/config/constants.ts (1)

Line range hint 1-1: Rename the Error import to avoid shadowing the global Error object, which can lead to confusion and bugs.

- import Error from "./error.interface"
+ import CustomError from "./error.interface"
utilities/project-factory/src/server/utils/genericUtils.ts (7)

2-2: Consider organizing imports for better readability and maintainability.

Organizing imports by grouping similar imports or separating third-party imports from local imports can enhance readability and maintainability of the code.


Line range hint 46-51: Remove unnecessary else clause to simplify control flow.

- else {
-   let error: any = new Error(message);
-   error = Object.assign(error, { status: 500 });
-   logger.error("Error : " + error);
-   throw error;
- }

This else clause is redundant as the previous if condition either throws an error or breaks out of the flow, making this segment unreachable under normal conditions.


Line range hint 338-338: Address potential TypeError from unsafe optional chaining.

+ Add null checks before using optional chaining to ensure that the evaluation does not result in a `TypeError`.

In cases where optional chaining (?.) might result in undefined which could lead to runtime errors when attempting to access properties/methods on undefined.

Also applies to: 531-531, 780-780


Line range hint 677-677: Avoid using the comma operator as it can lead to confusing code.

- var a = (b = 1, c = 2);
+ var b = 1;
+ var c = 2;

Using the comma operator in this way can obscure the intention of the code and lead to potential bugs or maintenance issues. It is clearer and more maintainable to separate these into distinct statements.


Line range hint 761-762: Declare variables at the top of the function scope.

+ Move variable declarations to the top of the function to avoid confusion and potential hoisting issues.

Variables declared with var should be placed at the top of the function scope to avoid issues related to variable hoisting and to enhance readability.


Line range hint 764-764: Replace hasOwnProperty with Object.hasOwn.

- if (obj.hasOwnProperty(key)) {
+ if (Object.hasOwn(obj, key)) {

Using Object.hasOwn() is recommended over obj.hasOwnProperty() as it works directly on the object itself without looking up the prototype chain, which can prevent potential issues with objects that do not have hasOwnProperty as a method.

Also applies to: 808-808


Line range hint 148-148: Use primitive type 'number' instead of 'Number'.

- const getResponseInfo = (code: Number) => ({
+ const getResponseInfo = (code: number) => ({

Using lowercase primitives (like number) instead of object types (like Number) in TypeScript is recommended for consistency and performance reasons.

utilities/project-factory/src/server/api/genericApis.ts (2)

Line range hint 567-567: Remove the unnecessary continue statement as it does not alter the flow of the loop.

- continue;

Line range hint 245-245: Replace the String type with the lowercase string to maintain consistency and follow TypeScript best practices.

- idFormat: String,
+ idFormat: string,

- idFormat: String,
+ idFormat: string,

Also applies to: 286-286

utilities/project-factory/src/server/api/campaignApis.ts (5)

Line range hint 27-27: Consider handling the potential undefined value from optional chaining to prevent runtime errors.

- if (Array.isArray(response?.Facilities)) {
+ if (response && Array.isArray(response.Facilities)) {

Line range hint 37-37: Ensure that the optional chaining does not result in undefined which can lead to runtime errors.

- tenantId: tenantId?.split('.')?.[0]
+ tenantId: tenantId && tenantId.split('.')?.[0]

Line range hint 39-42: The else clause can be omitted as previous branches break early, simplifying the control flow.

- } else {
-   throwError("FACILITY", 500, "FACILITY_SEARCH_FAILED");
-   return false;
- }

Line range hint 232-232: Avoid using the delete operator on properties; it can degrade performance. Consider setting the property to undefined instead.

- delete element[uid];
+ element[uid] = undefined;

Line range hint 847-847: Ensure that the optional chaining operation does not short-circuit to undefined, which could cause runtime errors.

- const projectTypeSearchResponse: any = await searchProjectTypeCampaignService(req);
+ const projectTypeSearchResponse: any = req && await searchProjectTypeCampaignService(req);
utilities/project-factory/src/server/validators/campaignValidators.ts (5)

4-4: Ensure consistent import paths and module structure.

Consider organizing utility functions, API functions, and configurations into separate directories to improve modularity and readability.


Line range hint 307-307: Declare variables at the root of the function to avoid hoisting issues.

- var response = await httpRequest(config.host.boundaryHost + config.paths.boundaryRelationship, request.body, params, undefined, undefined, header);
+ let response;
+ response = await httpRequest(config.host.boundaryHost + config.paths.boundaryRelationship, request.body, params, undefined, undefined, header);

Line range hint 456-456: Replace hasOwnProperty with Object.hasOwn for safer property checks.

- if (!obj.hasOwnProperty(fieldName)) {
+ if (!Object.hasOwn(obj, fieldName)) {

Also applies to: 466-466, 481-481


Line range hint 730-730: Move variable declarations to the top of the function scope.

+ let errors = [];
- var errors = [];

Line range hint 754-760: Declare variables at the function's top to avoid potential hoisting issues.

+ let errors = [];
- var errors = [];
utilities/project-factory/src/server/utils/campaignUtils.ts (5)

Line range hint 1088-1171: Refactor duplicate code for HTTP request headers.

The header construction code in addBoundariesForData and reorderBoundaries functions is identical. Consider extracting this into a separate helper function to adhere to the DRY principle. Here's a suggested refactor:

function createBoundaryRequestHeader(params: any): any {
    return {
        ...defaultheader,
        cachekey: `boundaryRelationShipSearch${params?.hierarchyType}${params?.tenantId}${params.codes || ''}${params?.includeChildren || ''}`,
    };
}

Then replace the duplicate header code in both functions with a call to this new function.


Line range hint 413-413: Declare variable at the root of the enclosing function.

The variable var is declared inside a loop or conditional block. To improve clarity and prevent potential hoisting issues, move this declaration to the top of the function.


Line range hint 542-542: Consider alternatives to the delete operator for performance.

Using the delete operator can lead to performance issues due to deoptimization of the object. Consider setting the properties to undefined or restructuring the objects if feasible.

Also applies to: 571-571, 573-573, 609-609, 611-611, 612-612, 868-868, 875-875, 876-876, 877-877, 878-878


Line range hint 626-629: Move variable declarations to the function root.

Variables are declared within loops or conditionals, which can lead to confusion and potential bugs due to JavaScript's variable hoisting behavior. Declare these variables at the start of the function to enhance clarity and maintainability.

Also applies to: 643-643, 1094-1097, 1098-1098


Line range hint 753-755: Remove unnecessary else clause.

The else clause after an if that contains a return statement is unnecessary and can be omitted to reduce nesting and improve code readability.

Review details

Configuration used: CodeRabbit UI
Review profile: CHILL

Commits

Files that changed from the base of the PR and between 9e66851 and ac0f558.

Files ignored due to path filters (2)
  • utilities/project-factory/package.json is excluded by !**/*.json
  • utilities/project-factory/yarn.lock is excluded by !**/yarn.lock, !**/*.lock, !**/*.lock
Files selected for processing (9)
  • utilities/project-factory/src/server/api/campaignApis.ts (3 hunks)
  • utilities/project-factory/src/server/api/genericApis.ts (3 hunks)
  • utilities/project-factory/src/server/config/constants.ts (2 hunks)
  • utilities/project-factory/src/server/config/index.ts (3 hunks)
  • utilities/project-factory/src/server/utils/campaignUtils.ts (3 hunks)
  • utilities/project-factory/src/server/utils/genericUtils.ts (2 hunks)
  • utilities/project-factory/src/server/utils/redisUtils.ts (1 hunks)
  • utilities/project-factory/src/server/utils/request.ts (6 hunks)
  • utilities/project-factory/src/server/validators/campaignValidators.ts (3 hunks)
Additional context used
Biome
utilities/project-factory/src/server/config/constants.ts

[error] 1-1: Do not shadow the global "Error" property. (lint/suspicious/noShadowRestrictedNames)

Consider renaming this variable. It's easy to confuse the origin of variables when they're named after a known global.

utilities/project-factory/src/server/utils/request.ts

[error] 28-28: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.


[error] 44-44: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.


[error] 75-75: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.


[error] 158-160: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.

utilities/project-factory/src/server/utils/genericUtils.ts

[error] 46-51: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 338-338: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 531-531: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 555-558: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 677-677: The comma operator is disallowed. (lint/style/noCommaOperator)

Its use is often confusing and obscures side effects.


[error] 761-761: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 762-762: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 764-764: Do not access Object.prototype method 'hasOwnProperty' from target object. (lint/suspicious/noPrototypeBuiltins)

It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.


[error] 780-780: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 801-804: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 808-808: Do not access Object.prototype method 'hasOwnProperty' from target object. (lint/suspicious/noPrototypeBuiltins)

It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.


[error] 148-148: Don't use 'Number' as a type. (lint/complexity/noBannedTypes)

Use lowercase primitives for consistency.
Safe fix: Use 'number' instead

utilities/project-factory/src/server/api/genericApis.ts

[error] 66-68: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.


[error] 567-567: Unnecessary continue statement (lint/correctness/noUnnecessaryContinue)

Unsafe fix: Delete the unnecessary continue statement


[error] 639-657: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 654-656: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 808-808: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 837-837: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 839-839: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 843-843: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 931-931: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 932-932: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 245-245: Don't use 'String' as a type. (lint/complexity/noBannedTypes)

Use lowercase primitives for consistency.
Safe fix: Use 'string' instead


[error] 286-286: Don't use 'String' as a type. (lint/complexity/noBannedTypes)

Use lowercase primitives for consistency.
Safe fix: Use 'string' instead

utilities/project-factory/src/server/api/campaignApis.ts

[error] 27-27: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 37-37: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 39-42: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 232-232: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 238-238: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 242-242: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 266-266: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 345-345: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 468-468: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.


[error] 542-542: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 661-661: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 675-675: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 682-682: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 707-707: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 708-708: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 847-847: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:

utilities/project-factory/src/server/validators/campaignValidators.ts

[error] 124-124: The assignment should not be in an expression. (lint/suspicious/noAssignInExpressions)

The use of assignments in expressions is confusing.
Expressions are often considered as side-effect free.


[error] 307-307: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 429-429: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 456-456: Do not access Object.prototype method 'hasOwnProperty' from target object. (lint/suspicious/noPrototypeBuiltins)

It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.


[error] 466-466: Do not access Object.prototype method 'hasOwnProperty' from target object. (lint/suspicious/noPrototypeBuiltins)

It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.


[error] 481-481: Do not access Object.prototype method 'hasOwnProperty' from target object. (lint/suspicious/noPrototypeBuiltins)

It's recommended using Object.hasOwn() instead of using Object.hasOwnProperty().
See MDN web docs for more details.


[error] 491-491: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 730-730: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 739-739: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 754-760: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 892-892: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:

utilities/project-factory/src/server/utils/campaignUtils.ts

[error] 413-413: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 449-449: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 500-500: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 542-542: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 571-571: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 573-573: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 609-609: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 611-611: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 612-612: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 626-629: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 643-643: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 753-755: This else clause can be omitted because previous branches break early. (lint/style/noUselessElse)

Unsafe fix: Omit the else clause.


[error] 868-868: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 875-875: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 876-876: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 877-877: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 878-878: Avoid the delete operator which can impact performance. (lint/performance/noDelete)

Unsafe fix: Use an undefined assignment instead.


[error] 1072-1072: Unsafe usage of optional chaining. (lint/correctness/noUnsafeOptionalChaining)

If it short-circuits with 'undefined' the evaluation will throw TypeError here:


[error] 1094-1097: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.


[error] 1098-1098: This var should be declared at the root of the enclosing function. (lint/correctness/noInnerDeclarations)

The var is accessible in the whole body of the enclosing function.
To avoid confusion, it should be declared at the root of the enclosing function.

Additional comments not posted (9)
utilities/project-factory/src/server/utils/redisUtils.ts (1)

1-8: Ensure that the host and port configuration keys are appropriately set in the config object, as they are critical for the Redis connection.

utilities/project-factory/src/server/utils/request.ts (1)

Line range hint 46-126: The caching logic in httpRequest function seems well-integrated. However, ensure that the cacheEnabled configuration is properly set and that Redis operations (get, set, expire) are correctly handled.

Tools
Biome

[error] 75-75: Change to an optional chain. (lint/complexity/useOptionalChain)

Unsafe fix: Change to an optional chain.

utilities/project-factory/src/server/config/index.ts (1)

39-43: The new caching configurations are correctly set using environment variables. Ensure that these values are properly documented and validated to avoid runtime errors.

utilities/project-factory/src/server/api/genericApis.ts (3)

976-979: The header object with a cachekey is correctly configured here as well. Repeat the same verification as the previous function to ensure consistency and security.


Line range hint 639-657: This else clause is unnecessary as the previous branches of the conditional structure ensure that the flow does not continue beyond them. Removing it can simplify the code.
[REFACTOR_Suggestion]

- else {
-   // Code inside else
- }

933-936: Introduced a new header object with a cachekey. Ensure that the cache key construction logic is consistent and that no sensitive data is inadvertently included in the cache key.

Verification successful

The shell script results show that the variables params?.hierarchyType, params?.tenantId, params.codes, and params?.includeChildren are used consistently in the cache key construction across multiple files. However, the results do not provide information about the nature of these variables and whether they contain sensitive data.

To ensure thorough verification, we need to check the definitions and types of these variables to confirm they do not hold sensitive information.


The shell script results show that the variables params?.hierarchyType, params?.tenantId, params.codes, and params?.includeChildren are used extensively across the codebase. The definitions and usages of these variables indicate they are related to hierarchical structures, tenant identification, boundary codes, and inclusion of children in boundary relationships, respectively. There is no indication that these variables contain sensitive information such as user IDs, passwords, or tokens.

Based on this analysis, the cache key construction logic does not include any sensitive data.

  • The variables used in the cache key (params?.hierarchyType, params?.tenantId, params.codes, and params?.includeChildren) are related to hierarchical structures and tenant identification, which are not sensitive data.
Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that no sensitive data is included in the cache key.

# Test: Search for occurrences of sensitive data types in the cache key construction logic. Expect: No occurrences.
ast-grep --lang typescript --pattern $'const header = {
  $$$,
  cachekey: $_,
  $$$
}' | grep -P '(userId|password|token)'

Length of output: 124



Script:

#!/bin/bash
# Description: Verify the definitions and usages of variables used in the cache key construction to ensure they are not sensitive.

# Search for the definition and usage of `params?.hierarchyType`
rg 'params\?.hierarchyType' --type=ts

# Search for the definition and usage of `params?.tenantId`
rg 'params\?.tenantId' --type=ts

# Search for the definition and usage of `params.codes`
rg 'params.codes' --type=ts

# Search for the definition and usage of `params?.includeChildren`
rg 'params\?.includeChildren' --type=ts

Length of output: 5900



Script:

#!/bin/bash
# Description: Verify the definitions and types of variables used in the cache key construction to ensure they are not sensitive.

# Search for the definition of `params?.hierarchyType`
rg 'hierarchyType' --type=ts

# Search for the definition of `params?.tenantId`
rg 'tenantId' --type=ts

# Search for the definition of `params.codes`
rg 'codes' --type=ts

# Search for the definition of `params?.includeChildren`
rg 'includeChildren' --type=ts

Length of output: 62857

utilities/project-factory/src/server/api/campaignApis.ts (1)

Line range hint 238-238: Move variable declarations to the root of the enclosing function to avoid potential confusion and enhance readability.
[REFACTOR_Suggestion]

+ var errors: any[] = [];
+ var count = 0;
+ var userNameAndPassword: any = [];
+ var matchingSearchData = [];
+ var creationTime = Date.now();
+ var activities: any[] = [];
+ var Employees: any[] = [];
+ var responsePayload;
+ var activity;

Also applies to: 242-242, 345-345, 468-468, 661-661, 675-675, 682-682, 707-707, 708-708

utilities/project-factory/src/server/validators/campaignValidators.ts (1)

Line range hint 892-892: Handle potential undefined values gracefully when using optional chaining.

Ensure that the optional chaining operations are safe and won't lead to runtime errors. Consider adding null checks or default values.

utilities/project-factory/src/server/utils/campaignUtils.ts (1)

Line range hint 449-449: Check the use of optional chaining to prevent runtime errors.

There are multiple instances where optional chaining might result in a TypeError if it short-circuits to undefined. Please verify that the objects being accessed will always exist when the code runs, or add appropriate null checks.

Also applies to: 500-500, 1072-1072

Comment on lines +44 to +48
const header = {
...defaultheader,
cachekey: `boundaryRelationShipSearch${params?.hierarchyType}${params?.tenantId}${params.codes || ''}${params?.includeChildren || ''}`,
}
var response = await httpRequest(config.host.boundaryHost + config.paths.boundaryRelationship, request.body, params, undefined, undefined, header);
Copy link
Contributor

Choose a reason for hiding this comment

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

Refactor to use destructuring for cleaner code.

- var response = await httpRequest(config.host.boundaryHost + config.paths.boundaryRelationship, request.body, params, undefined, undefined, header);
+ const { TenantBoundary } = await httpRequest(config.host.boundaryHost + config.paths.boundaryRelationship, request.body, params, undefined, undefined, header);

Committable suggestion was skipped due to low confidence.

@@ -1,7 +1,7 @@
// Import necessary modules and libraries
import config from "../config"; // Import configuration settings
import FormData from "form-data"; // Import FormData for handling multipart/form-data requests
import { httpRequest } from "../utils/request"; // Import httpRequest function for making HTTP requests
import { defaultheader, httpRequest } from "../utils/request"; // Import httpRequest function for making HTTP requests
Copy link
Contributor

Choose a reason for hiding this comment

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

Tip

Codebase Verification

The correct path for the request.ts file is utilities/project-factory/src/server/utils/request.ts. Therefore, the import statement in genericApis.ts should be updated to reflect this path.

  • Update the import path in genericApis.ts to import { defaultheader, httpRequest } from "../utils/request";.
Analysis chain

Ensure the relative import path in the newly added import statement is correct.

Scripts executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify the relative path for the request module.

# Test: Check if the file exists at the specified path. Expect: File exists.
if [ -f "../utils/request.ts" ]; then
  echo "Request module found."
else
  echo "Request module not found at '../utils/request.ts'. Check the relative path."
fi

Length of output: 199



Script:

#!/bin/bash
# Description: Locate the `request.ts` file in the repository.

# Search for the `request.ts` file to determine its correct location.
fd request.ts

Length of output: 69

Comment on lines +838 to +842
const header = {
...defaultheader,
cachekey: `boundaryRelationShipSearch${params?.hierarchyType}${params?.tenantId}${params.codes || ''}${params?.includeChildren || ''}`,
}
const boundaryRelationshipResponse = await httpRequest(url, request.body, params, undefined, undefined, header);
Copy link
Contributor

Choose a reason for hiding this comment

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

Enhance caching logic by confirming header usage in HTTP requests.

+ Ensure that the `header` object is consistently used across all relevant HTTP requests to maintain caching integrity.

The addition of a cachekey to the header object is a good practice for caching, but ensure that this pattern is consistently applied across all HTTP requests where caching is beneficial.

Committable suggestion was skipped due to low confidence.

@@ -9,7 +9,7 @@ export const CONSTANTS: any = {
INTERNAL_SERVER_ERROR: "Internal server error",
INVALID_PAGINATION: "Invalid pagination",
KAFKA_ERROR: "Some error occured in kafka",
SCHEMA_ERROR : " Schema related error",
SCHEMA_ERROR: " Schema related error",
Copy link
Contributor

Choose a reason for hiding this comment

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

Ensure the space before "Schema related error" is intentional; it might cause inconsistencies in error handling.

Consider trimming the space for consistency.

-            SCHEMA_ERROR: " Schema related error",
+            SCHEMA_ERROR: "Schema related error",
Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
SCHEMA_ERROR: " Schema related error",
SCHEMA_ERROR: "Schema related error",

@jagankumar-egov jagankumar-egov merged commit c519505 into campaign Jun 19, 2024
3 of 4 checks passed
@jagankumar-egov jagankumar-egov deleted the redis-Integration branch June 19, 2024 12:20
jagankumar-egov added a commit that referenced this pull request Jun 26, 2024
* Updates the delivery rules logic for gender

* * info message for status creating (#644)

* success message if user cred sheet
* send id with key resourceid
* Send variant in sku also

Co-authored-by: nabeelmd-eGov <[email protected]>

* Feat : added boundary validation (#643)

Co-authored-by: Jagankumar <[email protected]>

* Update campaignValidators.ts (#645)

* added delay in download (#646)

* Update campaignValidators.ts (#647)

* fixes (#649)

Co-authored-by: nabeelmd-eGov <[email protected]>

* fixed header validation (#648)

* change in filter recursive (#650)

* Update genericUtils.ts (#652)

* fix (#651)

Co-authored-by: nabeelmd-eGov <[email protected]>

* updated lowest level hierarchy validation for target HLM -5948 (#654)

* Update campaignValidators.ts (#655)

* fixes-> cyclenumber issue, hover issue, dropdown height issue,

* css

* fixes-> cyclenumber issue, hover issue, dropdown height issue, (#656)

* fixes-> cyclenumber issue, hover issue, dropdown height issue,

* css

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Update campaignUtils.ts

* fixed HLM-5970

* Feat : added boundary validation at data level

* fixes

* local add

* Added boundary validation

* Refactor

* fixed HLM-5935 and HLM-5749

* Refactor

* Feat : updated table

* change campaignid in payload

* Feat : added campaignId

* Update campaignApis.ts

* Update campaignValidators.ts

* refactored

* Refactor

* assigned campaignId

* Refactor

* updated createRequest Schema

* Feat : invalid Status Persist

* status fix

* version-fix

* Update CODEOWNERS

* core version updated and css fix for language dropdown

* refactor (#676)

* Uat signoff (#678)

* change in filter recursive

* lowest level

* added validation related to target sheet headers

* HLM-5916

* download button fixes in summary (#682)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Hlm 5927 (#687)

* change in filter recursive

* lowest level

* added validation for boundary codes to be invalid other than that selected from UI in target upload

* Added Delivery and cycle config for LLIN and SMC both (#688)

* no of cycle and deivery drafted changes

* fixes

* add localisation code for boundaries

* fixes

* fixes

* Value localise in summary screen, api error change

* fixes

* genarate api call fix

* font size change for summary

* login css change

* HLM-5718: SMC delivery config enhancement

* config update

* added config for in between

* fix config for llin

* added mdms integration

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Fixed HLM-5988_warning message (#689)

Co-authored-by: nabeelmd-eGov <[email protected]>

* download filename fixes (#693)

* download button fixes in summary

* download filename with custom name changes added

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* download filename fixes (#694)

* download button fixes in summary

* download filename with custom name changes added

* config fix for llin

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* successful toast message is fixed (#695)

* successful toast message is fixed

* Update UploadData.js

* HLM-5991: Alert Pop UP CR (#696)

Co-authored-by: nabeelmd-eGov <[email protected]>

* HLM-5718 changes (#703)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Localization cache (#706)

* change in filter recursive

* lowest level

* refactored  localization cache logic

* Update README.md (#707)

* Update README.md

* Update README.md

* Update utilities/project-factory/README.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update README.md

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* HLM-5985_made lowest level changes (#708)

* HLM-5985_made lowest level changes

* resolved codeRabbit comments

* Create LOCALSETUP.md (#709)

* Create LOCALSETUP.md

* Refactored config

* Update LOCALSETUP.md

* Update utilities/project-factory/LOCALSETUP.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/LOCALSETUP.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/LOCALSETUP.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/LOCALSETUP.md

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update LOCALSETUP.md

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* updated the localisation module config

* Refactor config (#713)

* Refactor config

* Update utilities/project-factory/src/server/validators/campaignValidators.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/validators/campaignValidators.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/validators/campaignValidators.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update postman_collection.json (#714)

* Update postman_collection.json

* Update postman_collection.json

* Delete utilities/project-factory/project_factory_swagger.yml (#715)

* Feat : removed campaignId validation for boundary upload (#718)

* updated the delay for boundary relationship

* added logger for request TODO TEST

will be reverted

* Revert "added logger for request TODO TEST"

This reverts commit d5c2bf5.

* Schema validation (#719)

* Feat : removed campaignId validation for boundary upload

* Feat : added schema validation

* Fixed mdms host

* updated the logger messages

* updated the loggers

* delivery new changes, toast fix, error fix (#716)

* delivery new changes, toast fix, error fix

* new fixes

* fixes

* change text component to field component

* added hierarchy

* fix

* fix

* fix

* fix

* passing hierarchy from props

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Schema validation2 (#721)

* Feat : removed campaignId validation for boundary upload

* Feat : added schema validation

* Fixed mdms host

* Feat : added boundary validation

* Feat : optimized product search

* Fix : project mapping fixed (#722)

* Fixed project search (#723)

* smc fixes (#724)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Feat : added boundary confirmation (#727)

* Fix: fixed processing boundary

* Refactor

* fixed HLM-6109 (#729)

* gate fixes validation, ui ux (#731)

Co-authored-by: nabeelmd-eGov <[email protected]>

* integrated panelcard component (#732)

* integrated panelcard component

* Update micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/pages/employee/Response.js

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Jagankumar <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update genericUtils.ts (#733)

* Create CHANGELOG.md (#717)

* Update request.ts (#735)

* fixed generate api issue (#734)

Co-authored-by: Jagankumar <[email protected]>

* Create CHANGELOG.md

* gate fixes (#736)

* gate fixes validation, ui ux

* gate fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* added loader in the selecting boundaries (#737)

* Update createAndSearch.ts (#738)

* fix (#739)

* fix

* fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Patch 3 (#740)

* change in filter recursive

* lowest level

* trimmed underscore and empty spaces

* boundary fix (#742)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Update genericUtils.ts (#746)

* fixed the delivery products issue

* Fixed delivery conditions issue

* Update campaignApis.ts (#747)

* fixed warning toast (#748)

* fixed warning toast

* Update UploadData.js

* fix (#749)

* fix

* fx

* fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* core -update (#751)

Co-authored-by: nabeelmd-eGov <[email protected]>

* fixed stepper issue (#752)

* fixed stepper issue

* Update index.html

* Feat : added user validation via individual (#753)

* fixes (#754)

Co-authored-by: nabeelmd-eGov <[email protected]>

* code fix nabeel (#756)

* fixes

* fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Updated few loggers (#759)

* updated few loggers flow

* Update utilities/project-factory/src/server/api/campaignApis.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/utils/campaignMappingUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/utils/campaignUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/validators/campaignValidators.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/api/campaignApis.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/utils/campaignMappingUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update utilities/project-factory/src/server/utils/genericUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Updated the user Password generation logic #761

* Update Listener.ts (#730)

* Update Listener.ts

* added try catch logic in producer

* Feat : added parallel batch execution (#767)

* Feat : added parallel batch execution

* Refactor

* Update utilities/project-factory/src/server/validators/campaignValidators.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* fixed the stepper (#765)

* changes config (#769)

* Project type config and added loggers for process of campaign (#772)

* Feat : added themes in generate template (#773)

* fixed the ajv package version for build issue

* Feat : removed xlsx (#776)

* HLM-6177: PARALLEL SEARCH IMPLEMENT, DELIVERY TYPE IMPLEMENT (#778)

Co-authored-by: nabeelmd-eGov <[email protected]>

* css update (#780)

Co-authored-by: nabeelmd-eGov <[email protected]>

* HLM-6179 and HLM-6180 (#777)

* HLM-6179 and HLM-6180

* campaign name changes

---------

Co-authored-by: Jagankumar <[email protected]>

* Feat : fixed target generation (#781)

* fixed tenantId issue (#784)

* fix: resolved AJV-related Jenkins build issue reference #783 #786 (#787)

* module ui fix

* updated all the package version for build fixes

* fixed kafka-error at target generation (#789)

* updated core version (#791)

* updated core version

* updated css also

* Update campaignValidators.ts (#794)

* Updated the excel generation logic and files

* added changes for configurable column in target sheet (#779)

* change in filter recursive

* lowest level

* made target headers  genearte through mdms schema

* changed config index.ts

* changed config index.ts

* changes for now

* added configurable column logic from schema HLM-6169

* updated validate of target columns through schema

* added masterForColumnSchema in index.ts

* formatted dataManageService

* refactored lock TargetFields func

* removed console.log

* User creation performance improved (#800)

* Feat : Improved user creation performance

* Change status color

* Update utilities/project-factory/src/server/utils/campaignUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Jagankumar <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update genericUtils.ts (#801)

* Hlm 6170 (#802)

* change in filter recursive

* lowest level

* HLM -6170 added logic for only village level data in target sheet and some refactoring

* updated css (#804)

* fixed button issue (#805)

* HLM 6177: Error card implementation in summary screen (#806)

* HLM-6177: PARALLEL SEARCH IMPLEMENT, DELIVERY TYPE IMPLEMENT

* Added Error Cards in summary screen and redirection

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* added error button styles (#807)

Co-authored-by: nabeelmd-eGov <[email protected]>

* updated popUp css (#808)

* HLM 6178: Implementing New Pop up screen in boundaries (#809)

* added error button styles

* Implementing New Pop up screen in boundaries

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Facility changes (#812)

* Feat : changed facility Template

* Feat : locked target templates

* fixed colour issue (#813)

* Updated the project type conversion logic for the             "deliveryType" dont1 and n config

* Unique field added (#814)

* Feat : changed facility Template

* Feat : locked target templates

* Feat : added unique check logic

* Target schema update (#815)

* change in filter recursive

* lowest level

* updated shcema of target columns to be configurable

* removed empty spaces from config index.ts

* Active mapping (#817)

* Feat : changed facility Template

* Feat : locked target templates

* Feat : added unique check logic

* Feat : added mapping via active field

* changes in the schema validation (#816)

* Updated the workbench and css module version

* Feat : added active inactive boundary check (#818)

* Update campaignValidators.ts (#819)

* added active inactive validation (#820)

* changed api call time (#826)

* Feat : added target sum mapping (#825)

* added campaign type as filter (#827)

* Update genericApis.ts (#828)

* Update excelUtils.ts (#829)

* UI issue fixes, icon fix in summary error (#831)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Target columns (#830)

* change in filter recursive

* lowest level

* commit

* Feat : target flow fixed for LLIN-mz

* uat to dev

---------

Co-authored-by: admin1 <[email protected]>

* Feat : freezed target columns (#833)

* Target mr dn (#834)

* change in filter recursive

* lowest level

* Feat : skipped validation temporarily

* changes in the target validation (#835)

* fixed error info (#837)

* Added roboto font (#840)

* Feat : added roboto font

* Fixed config

* target validation based on diff campaign types (#843)

* change in filter recursive

* lowest level

* updated validation of target based on campaign type

* fixed validation issue (#844)

* Updated the workbench package version

* fixed validation logic (#846)

* fixed validation logic

* Update micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/UploadData.js

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: Jagankumar <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Error messages improved (#848)

* Feat : imporved error messages and initilised utils for tracking process

* Fix ; unused variables fixed

* Feat : improved error messages

* Fix : download error fix (#850)

* Update campaignUtils.ts (#851)

* Update campaignUtils.ts

* Update utilities/project-factory/src/server/utils/campaignUtils.ts

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

---------

Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>

* Update campaignValidators.ts (#853)

* HLM 6210: Toast, error focus fix and project type reset delivery data fix  (#854)

* HLM-6210: campaign type change reset delivery data fix, summary error focus fix

* summary error focus fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* HLM-6225_added time out according to data (#855)

* Update campaignValidators.ts (#859)

* HLM 6210 (#858)

* HLM-6210: campaign type change reset delivery data fix, summary error focus fix

* summary error focus fix

* parallel search fixes

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Remove validation (#852)

* change in filter recursive

* lowest level

* removed unnecessary validation for target

* spacing refactor

* Update campaignValidators.ts (#863)

* Header validation (#861)

* change in filter recursive

* lowest level

* removed unnecessary validation for target

* changed the logic of header validation

* space refactor

* Update campaignUtils.ts (#864)

* fixed ui error (#865)

* Read me (#867)

* change in filter recursive

* lowest level

* removed unnecessary validation for target

* changed the logic of header validation

* fixed portugese language error

* space refactoring

* Update Dockerfile

* Update Dockerfile

* Update migrate.sh

* Update Dockerfile

* Update campaignValidators.ts (#868)

* HLM 6210:campaign type change reset fix (#869)

* HLM-6210: campaign type change reset delivery data fix, summary error focus fix

* summary error focus fix

* parallel search fixes

* campaign type change reset fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Update excelUtils.ts for sheetHeaders wraping (#870)

* Update package.json

* updated error messages (#871)

* feat : added jaeger-client tracing (#872)

* updated the table config

* Update campaignApis.ts (#875)

* removed the schema and updated the db name

* fixing generate API call, file auto delete, date error (#877)

Co-authored-by: nabeelmd-eGov <[email protected]>

* Trim resource (#878)

* Feat : trimmed resource persist message

* Refactor

* Removed reject error in produce message

* fixed min time, draft logic (#879)

* Update index.ts (#880)

* added min ui error and facility usage (#883)

* added min ui error and facility usage

* changes

* Update campaignUtils.ts (#884)

* HLM 6007 (#885)

* fixing generate API call, file auto delete, date error

* generate api fix

---------

Co-authored-by: nabeelmd-eGov <[email protected]>

* Update Dockerfile

* Feat : docker config update (#886)

* Update Dockerfile (#887)

* Create buildWorkbenchUI.yml

* Update README.md (#917)

* Update buildWorkbenchUI.yml

* Update README.md

* Updated the DB Schema issue of Project-factory

* fixed hierarchy order (#919)

* User flag hcm (#920)

* Feat : docker config update

* Feat : added user create flag

* Refactored

* Update campaignUtils.ts

* Update campaignMappingUtils.ts (#922)

* Ashish egov patch 2 (#921)

* Update index.ts

* Update campaignApis.ts

* Fixed the project type conversion and product duplicate issue

* Update campaignApis.ts (#924)

* Update campaignMappingUtils.ts (#925)

* Update campaignMappingUtils.ts

* Refactored

* Update publishProjectFactory.yml

* Update buildWorkbenchUI.yml

* Update campaignMappingUtils.ts (#926)

* Update request.ts (#928)

* Update request.ts

* Feat : updated httprequest

* Feat : warning response added

* Refactor

* added start and enddate in cycles

* Update campaignApis.ts (#930)

* Update request.ts (#932)

* fixed generate issue (#933)

* Fixed project-type resources duplication

* updated target error messages (#936)

* fixed stepper from draft (#937)

* Update Listener.ts

* delivery type disable fix, product sku name change (#939)

Co-authored-by: nabeelmd-eGov <[email protected]>

* fixed error message issue (#941)

* Redis integration (#940)

* Feat : added redis

* Feat : added redis retry

* removed templates folder

* updated the folder structure for health ui and removed utilties

* Update publishAllPackages.yml

* Update buildWorkbenchUI.yml

---------

Co-authored-by: nabeelmd-eGov <[email protected]>
Co-authored-by: nabeelmd-eGov <[email protected]>
Co-authored-by: ashish-egov <[email protected]>
Co-authored-by: Bhavya-egov <[email protected]>
Co-authored-by: nitish-egov <[email protected]>
Co-authored-by: Bhavya-egov <[email protected]>
Co-authored-by: ashish-egov <[email protected]>
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Co-authored-by: Swathi-eGov <[email protected]>
Co-authored-by: admin1 <[email protected]>
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.

2 participants