-
Notifications
You must be signed in to change notification settings - Fork 19
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
Redis integration #940
Conversation
Warning Review failedThe pull request is closed. WalkthroughWalkthroughThe 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
Poem
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? TipsChatThere are 3 ways to chat with CodeRabbit:
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)
Additionally, you can add CodeRabbit Configration File (
|
There was a problem hiding this 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 theError
import to avoid shadowing the globalError
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 unnecessaryelse
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 previousif
condition either throws an error or breaks out of the flow, making this segment unreachable under normal conditions.
Line range hint
338-338
: Address potentialTypeError
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 inundefined
which could lead to runtime errors when attempting to access properties/methods onundefined
.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
: ReplacehasOwnProperty
withObject.hasOwn
.- if (obj.hasOwnProperty(key)) { + if (Object.hasOwn(obj, key)) {Using
Object.hasOwn()
is recommended overobj.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 havehasOwnProperty
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 (likeNumber
) 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 unnecessarycontinue
statement as it does not alter the flow of the loop.- continue;
Line range hint
245-245
: Replace theString
type with the lowercasestring
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 potentialundefined
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 inundefined
which can lead to runtime errors.- tenantId: tenantId?.split('.')?.[0] + tenantId: tenantId && tenantId.split('.')?.[0]
Line range hint
39-42
: Theelse
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 thedelete
operator on properties; it can degrade performance. Consider setting the property toundefined
instead.- delete element[uid]; + element[uid] = undefined;
Line range hint
847-847
: Ensure that the optional chaining operation does not short-circuit toundefined
, 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
: ReplacehasOwnProperty
withObject.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
andreorderBoundaries
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 thedelete
operator for performance.Using the
delete
operator can lead to performance issues due to deoptimization of the object. Consider setting the properties toundefined
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 unnecessaryelse
clause.The
else
clause after anif
that contains areturn
statement is unnecessary and can be omitted to reduce nesting and improve code readability.
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
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' insteadutilities/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' insteadutilities/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 thehost
andport
configuration keys are appropriately set in theconfig
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 inhttpRequest
function seems well-integrated. However, ensure that thecacheEnabled
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
: Theheader
object with acachekey
is correctly configured here as well. Repeat the same verification as the previous function to ensure consistency and security.
Line range hint
639-657
: Thiselse
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 newheader
object with acachekey
. 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
, andparams?.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
, andparams?.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
, andparams?.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=tsLength 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=tsLength 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 potentialundefined
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 toundefined
. 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
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); |
There was a problem hiding this comment.
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 |
There was a problem hiding this comment.
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
toimport { 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
const header = { | ||
...defaultheader, | ||
cachekey: `boundaryRelationShipSearch${params?.hierarchyType}${params?.tenantId}${params.codes || ''}${params?.includeChildren || ''}`, | ||
} | ||
const boundaryRelationshipResponse = await httpRequest(url, request.body, params, undefined, undefined, header); |
There was a problem hiding this comment.
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", |
There was a problem hiding this comment.
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.
SCHEMA_ERROR: " Schema related error", | |
SCHEMA_ERROR: "Schema related error", |
* 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]>
No description provided.