-
Notifications
You must be signed in to change notification settings - Fork 2
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
Master test #9
base: master
Are you sure you want to change the base?
Master test #9
Conversation
Update WSCreateConfig.json for CPTPropertySearchNSummary --> WSPropertyDetails
Update WSCreateConfig.json for CPTPropertySearchNSummary
UM-6607 role action update
upyog mdms changes
Update CommonFieldsConfig.json
[SM-3610] - Enable villageHierarchyAvailable for GP
removed PT mdms for workbench testing
renamed backup folder for testing
Added Employee and Creator role to FSM Application Charge Payment Search
master data for workbench role actions, FSM URC config
WalkthroughThe pull request includes multiple changes across various JSON files in the project. Key modifications involve the addition of new actions, roles, and configurations in the access control and billing modules. New entries are added to the Changes
Possibly related PRs
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 using PR comments)
Other keywords and placeholders
CodeRabbit Configuration 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: 16
🧹 Outside diff range and nitpick comments (3)
data/pg/tenant/citymodule.json (1)
644-648
: Consider adding a bannerImage for consistencyWhile the module configuration is correct, consider adding a
bannerImage
field to maintain consistency with other modules like PGR, PT, TL, etc., which have banner images defined.data/pg/BillingService/TaxPeriod.json (1)
Line range hint
1-900
: Standardize service name formatting.Service names have inconsistent formatting patterns:
- Some use dots without spaces (e.g., "PT.MUTATION")
- Some have spaces after dots (e.g., "NKS. Malba_fees")
- Some use underscores (e.g., "TX.No_Dues_Certificate")
Standardize all service names to follow the same pattern. Recommend using dots without spaces and uppercase without underscores:
- "NKS. Malba_fees" → "NKS.MALBA.FEES"
- "TX.No_Dues_Certificate" → "TX.NO.DUES.CERTIFICATE"
data/pg/ACCESSCONTROL-ROLEACTIONS/roleactions.json (1)
29128-29829
: Maintain consistent indentationThe JSON entries have inconsistent indentation throughout the file. Some entries use 6 spaces while others use 2 or 4 spaces.
Consider using a JSON formatter to maintain consistent indentation throughout the file.
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
📒 Files selected for processing (9)
data/pg/ACCESSCONTROL-ACTIONS-TEST/actions-test.json
(4 hunks)data/pg/ACCESSCONTROL-ROLEACTIONS/roleactions.json
(1 hunks)data/pg/ACCESSCONTROL-ROLES/roles.json
(1 hunks)data/pg/BillingService/TaxPeriod.json
(1 hunks)data/pg/DataSecurity/SecurityTokenMapping.json
(1 hunks)data/pg/common-masters/IdFormat.json
(1 hunks)data/pg/common-masters/howItWorks.json
(1 hunks)data/pg/inbox-v2/InboxConfiguration.json
(1 hunks)data/pg/tenant/citymodule.json
(1 hunks)
🔥 Files not summarized due to errors (1)
- data/pg/ACCESSCONTROL-ROLEACTIONS/roleactions.json: Error: Server error: no LLM provider could handle the message
🧰 Additional context used
🪛 Gitleaks
data/pg/DataSecurity/SecurityTokenMapping.json
6-6: Detected a Generic API Key, potentially exposing access to various services and sensitive operations.
(generic-api-key)
🔇 Additional comments (11)
data/pg/common-masters/howItWorks.json (3)
55-57
: LGTM! Structure follows existing pattern
The new TQM module section maintains consistency with the existing module structure.
57-58
: Verify TQM module code consistency
The moduleCode "TQM" should be consistently used across other configuration files.
✅ Verification successful
TQM module code is consistently used
The moduleCode "TQM" is consistently used across the codebase:
- Correctly defined in
howItWorks.json
with all related configurations (help sections, labels, descriptions) - Properly configured in access control with matching service codes and display names in
actions-test.json
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for consistent usage of TQM module code across configs
# Search for TQM module references in JSON files
rg -t json '"moduleCode".*"TQM"'
# Search for TQM related configurations
rg -t json '"TQM.*"'
Length of output: 2463
96-96
: Verify the addition of screenHeader field
The screenHeader
field is present in the TQM module but not in PT or TL modules. Please confirm if:
- This is a new feature being rolled out starting with TQM
- The field should be added to other modules for consistency
✅ Verification successful
The previous search confirmed the screenHeader field in TQM, but let's check for similar patterns and compare the structure across modules to better understand if this is an inconsistency or a new feature.
The screenHeader
field is specific to TQM's help section structure
The screenHeader
field is intentionally present only in the TQM module as it follows a different help section structure with Q&A format, while PT and TL modules use a video-based tutorial structure. This is not an inconsistency but rather a module-specific design choice:
- PT and TL modules focus on video tutorials with process-based sections (add/modify/bifurcate)
- TQM module uses a Q&A format with 6 help questions, requiring a section header
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for screenHeader usage across configs
# Search for screenHeader field usage
rg -t json '"screenHeader"'
Length of output: 206
Script:
#!/bin/bash
# Search for any similar header or screen-related fields in other modules
rg -t json -i '(header|screen).*":' data/
# Check the structure of howItWorks.json files across modules
fd howItWorks.json --exec cat {}
Length of output: 37942
data/pg/inbox-v2/InboxConfiguration.json (3)
1-4
: LGTM! Root configuration structure is well-defined.
The configuration follows proper JSON structure with clear module identification and tenant specification.
58-66
: Review security implications and validate source filter paths.
- The configuration exposes internal data structure paths which might reveal implementation details. Consider using path aliases or abstractions.
- Verify if all source filter paths are necessary and don't expose sensitive information.
Also applies to: 141-151
✅ Verification successful
Source filter paths are appropriate and don't expose sensitive data
The verification shows that:
- The exposed paths are standard business fields (tenantId, applicationNo, locality, etc.) without any sensitive information
- All paths in
sourceFilterPathList
are consistently used across configurations and match the application's domain model - The paths align with the query configuration's search parameters, indicating they are necessary for the inbox functionality
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for sensitive information patterns in paths
rg -n "password|secret|key|token" | grep -i "path"
# List all unique source filter paths across configurations
fd -e json -x grep -l "sourceFilterPathList" {} \; | xargs jq -r '.InboxQueryConfiguration[].sourceFilterPathList[]' 2>/dev/null | sort -u
Length of output: 3982
8-53
: Verify if any search criteria should be mandatory.
All search criteria are marked as non-mandatory ("isMandatory": false
). Please verify if this is intentional, as typically some fields like tenantId
should be mandatory for proper data segregation.
✅ Verification successful
Non-mandatory search criteria is consistent with other inbox configurations
Based on the examination of the inbox configurations in the codebase, I can see that all other modules (fsm, pqm) also follow the same pattern of having non-mandatory search criteria, including the tenantId field. This appears to be an intentional design choice across the application to provide flexibility in search operations.
The current implementation allows for:
- Optional filtering on any field
- Consistent behavior across different modules
- Maximum flexibility in search operations
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check other inbox configurations in the codebase for mandatory field patterns
fd -e json -x grep -l "InboxQueryConfiguration" {} \; | xargs jq -r '.InboxQueryConfiguration[].allowedSearchCriteria[] | select(.isMandatory == true) | .name' 2>/dev/null
Length of output: 162
Script:
#!/bin/bash
# Let's first find all JSON files that might contain inbox configurations
fd -e json
# Then let's examine the content of these files for any search criteria patterns
fd -e json -x grep -l "allowedSearchCriteria" {} \; | xargs cat
Length of output: 22045
data/pg/tenant/citymodule.json (2)
649-665
: LGTM: Tenant configuration
The tenant configuration follows the established pattern and includes all the expected city codes.
647-647
: Verify module order sequence
The order value of 14 appears to be sequential after the Workbench module (order: 13). Let's verify there are no gaps or conflicts in the order sequence.
#!/bin/bash
# Extract and sort all order values to verify sequence
jq -r '.citymodule[] | select(.order != null) | .order' data/pg/tenant/citymodule.json | sort -n | uniq -c
data/pg/common-masters/IdFormat.json (1)
729-735
: LGTM! The new ID format entries are well-structured.
Both new entries follow the established patterns and maintain consistency with existing entries:
pqm.aplnumber
: Uses standard format with city code, module prefix (PQM), date, and sequenceindividual.id
: Uses appropriate format with module prefix (IND), date, and sequence
data/pg/ACCESSCONTROL-ACTIONS-TEST/actions-test.json (1)
19115-19125
: Review disabled PQM PDF download action
The PQM PDF download action (id: 2890) is disabled by default. Verify if this is intentional and if there are any dependencies that need to be in place before enabling it.
#!/bin/bash
# Check for related PDF generation configurations
echo "Checking for related PDF configurations:"
rg -l "downloadPdf"
data/pg/ACCESSCONTROL-ROLEACTIONS/roleactions.json (1)
29128-29829
: Verify action IDs and role assignments
Please verify that:
- All action IDs referenced in the mappings exist in the system
- The roles have appropriate permissions for their assigned actions
- The principle of least privilege is maintained
"headerLabel": "TQM_HELP_Q3", | ||
"description": "TQM_HELP_Q4_DESC", |
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.
Fix description key mismatch for Q3
There's an inconsistency in the Q3 entry where the description key is "TQM_HELP_Q4_DESC" instead of the expected "TQM_HELP_Q3_DESC".
Apply this fix:
"headerLabel": "TQM_HELP_Q3",
- "description": "TQM_HELP_Q4_DESC",
+ "description": "TQM_HELP_Q3_DESC",
📝 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.
"headerLabel": "TQM_HELP_Q3", | |
"description": "TQM_HELP_Q4_DESC", | |
"headerLabel": "TQM_HELP_Q3", | |
"description": "TQM_HELP_Q3_DESC", |
"en_IN": "https://media.w3.org/2010/05/sintel/trailer.mp4", | ||
"hi_IN": "https://media.w3.org/2010/05/sintel/trailer.mp4" |
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.
💡 Codebase verification
Replace placeholder video URLs with actual help videos
The verification confirms that all video URLs in howItWorks.json
are using the W3C sample video URL (https://media.w3.org/2010/05/sintel/trailer.mp4) as placeholders. This includes:
- 3 videos for Property Tax (PT) module
- 3 videos for Trade License (TL) module
- 6 videos for TQM module
These placeholder URLs should be replaced with actual help videos specific to each module and functionality.
🔗 Analysis chain
Verify if sample video URLs need to be updated
All video URLs currently point to the W3C sample video (https://media.w3.org/2010/05/sintel/trailer.mp4). Please confirm if these are intended to be placeholders and need to be updated with actual TQM help videos.
Also applies to: 68-69, 74-75, 80-81, 86-87, 92-93
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Description: Check for usage of sample video URLs across configs
# Search for sample video URL usage
rg -t json 'https://media.w3.org/2010/05/sintel/trailer.mp4'
Length of output: 206
Script:
#!/bin/bash
# Let's try a different approach to search for video URLs in JSON files
rg -t json "https.*\.mp4"
# Also check the specific file mentioned in the review
cat "data/pg/common-masters/howItWorks.json"
Length of output: 6863
"name": "assignee", | ||
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | ||
"isMandatory": false |
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.
Fix typo in assignee path (PQM module).
The same spelling error exists in the PQM module: assignes
should be assignees
.
- "path": "Data.currentProcessInstance.assignes.uuid.keyword",
+ "path": "Data.currentProcessInstance.assignees.uuid.keyword",
📝 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.
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | |
"isMandatory": false | |
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignees.uuid.keyword", | |
"isMandatory": false |
"name": "assignee", | ||
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | ||
"isMandatory": false | ||
}, |
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.
Fix typo in assignee path.
The path contains a spelling error: assignes
should be assignees
.
- "path": "Data.currentProcessInstance.assignes.uuid.keyword",
+ "path": "Data.currentProcessInstance.assignees.uuid.keyword",
📝 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.
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | |
"isMandatory": false | |
}, | |
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignees.uuid.keyword", | |
"isMandatory": false | |
}, |
{ | ||
"name": "scheduledDate", | ||
"path": "Data.scheduledDate.keyword", | ||
"isMandatory": false | ||
}, | ||
{ | ||
"name": "assignee", | ||
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | ||
"isMandatory": false | ||
}, | ||
{ | ||
"name": "testIds", | ||
"path": "Data.testId.keyword", | ||
"isMandatory": false, | ||
"operator": "WILDCARD" | ||
}, | ||
{ | ||
"name": "fromDate", | ||
"path": "Data.scheduledDate", | ||
"operator": "GTE", | ||
"isMandatory": false | ||
}, | ||
{ | ||
"name": "toDate", | ||
"path": "Data.scheduledDate", | ||
"operator": "LTE", | ||
"isMandatory": false | ||
} |
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.
Standardize date field handling.
There are inconsistencies in how date fields are handled:
scheduledDate
uses.keyword
suffix whilefromDate
/toDate
don't- The indentation is inconsistent in the date range section
{
"name": "scheduledDate",
- "path": "Data.scheduledDate.keyword",
+ "path": "Data.scheduledDate",
"isMandatory": false
},
{
"name": "fromDate",
"path": "Data.scheduledDate",
"operator": "GTE",
"isMandatory": false
- },
- {
+ },
+ {
"name": "toDate",
"path": "Data.scheduledDate",
"operator": "LTE",
"isMandatory": false
- }
+ }
📝 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.
{ | |
"name": "scheduledDate", | |
"path": "Data.scheduledDate.keyword", | |
"isMandatory": false | |
}, | |
{ | |
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | |
"isMandatory": false | |
}, | |
{ | |
"name": "testIds", | |
"path": "Data.testId.keyword", | |
"isMandatory": false, | |
"operator": "WILDCARD" | |
}, | |
{ | |
"name": "fromDate", | |
"path": "Data.scheduledDate", | |
"operator": "GTE", | |
"isMandatory": false | |
}, | |
{ | |
"name": "toDate", | |
"path": "Data.scheduledDate", | |
"operator": "LTE", | |
"isMandatory": false | |
} | |
{ | |
"name": "scheduledDate", | |
"path": "Data.scheduledDate", | |
"isMandatory": false | |
}, | |
{ | |
"name": "assignee", | |
"path": "Data.currentProcessInstance.assignes.uuid.keyword", | |
"isMandatory": false | |
}, | |
{ | |
"name": "testIds", | |
"path": "Data.testId.keyword", | |
"isMandatory": false, | |
"operator": "WILDCARD" | |
}, | |
{ | |
"name": "fromDate", | |
"path": "Data.scheduledDate", | |
"operator": "GTE", | |
"isMandatory": false | |
}, | |
{ | |
"name": "toDate", | |
"path": "Data.scheduledDate", | |
"operator": "LTE", | |
"isMandatory": false | |
} |
"id": 2822, | ||
"name": "Create PQM Application", | ||
"url": "/pqm-service/v1/_create", | ||
"displayName": "Apply PQM Appliacations", | ||
"orderNumber": 0, | ||
"enabled": 0, | ||
"serviceCode": "PQM", | ||
"code": "null" | ||
}, |
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.
Remove duplicate action entries
There are two actions with the name "Search PQM Application" (ids: 2822 and 2830) but with different URLs. This could cause confusion in access control.
Consider:
- Using unique names to differentiate the actions
- Consolidating them if they serve the same purpose
Also applies to: 18455-18463
{ | ||
"id": 2886, | ||
"name": "TQM", | ||
"url": "url", | ||
"displayName": "TQM", | ||
"orderNumber": 1, | ||
"parentModule": "tqm", | ||
"enabled": true, | ||
"serviceCode": "tqm", | ||
"code": "null", | ||
"path": "TQM", | ||
"navigationURL": "/digit-ui/employee/", | ||
"leftIcon": "dynamic:MuktaHomeIcon", | ||
"rightIcon": "" | ||
}, |
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 suggestion
Add missing parentModule for TQM module
The TQM module entry (id: 2886) has inconsistent module hierarchy:
- Sets
parentModule: "tqm"
but is itself a root module - Uses same value for
serviceCode
asparentModule
- "parentModule": "tqm",
+ "parentModule": "",
"enabled": true,
- "serviceCode": "tqm",
+ "serviceCode": "TQM",
📝 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.
{ | |
"id": 2886, | |
"name": "TQM", | |
"url": "url", | |
"displayName": "TQM", | |
"orderNumber": 1, | |
"parentModule": "tqm", | |
"enabled": true, | |
"serviceCode": "tqm", | |
"code": "null", | |
"path": "TQM", | |
"navigationURL": "/digit-ui/employee/", | |
"leftIcon": "dynamic:MuktaHomeIcon", | |
"rightIcon": "" | |
}, | |
{ | |
"id": 2886, | |
"name": "TQM", | |
"url": "url", | |
"displayName": "TQM", | |
"orderNumber": 1, | |
"parentModule": "", | |
"enabled": true, | |
"serviceCode": "TQM", | |
"code": "null", | |
"path": "TQM", | |
"navigationURL": "/digit-ui/employee/", | |
"leftIcon": "dynamic:MuktaHomeIcon", | |
"rightIcon": "" | |
}, |
"url":"/mdms-v2/v2/_create/RAINMAKER-PGR.ServiceDefs", | ||
"displayName": "Create RAINMAKER-PGR.ServiceDefs", | ||
"orderNumber": 1, | ||
"parentModule": "", | ||
"enabled": true, | ||
"serviceCode": "MDMS", | ||
"code": "null", | ||
"path": "" |
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 suggestion
Standardize boolean values for enabled flag
The enabled
field uses boolean true
in some entries but numeric 1/0
in others. For consistency, use boolean values throughout.
- "enabled": true,
+ "enabled": false,
Also, consider setting this to false
initially since it's a test configuration.
📝 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.
"url":"/mdms-v2/v2/_create/RAINMAKER-PGR.ServiceDefs", | |
"displayName": "Create RAINMAKER-PGR.ServiceDefs", | |
"orderNumber": 1, | |
"parentModule": "", | |
"enabled": true, | |
"serviceCode": "MDMS", | |
"code": "null", | |
"path": "" | |
"url":"/mdms-v2/v2/_create/RAINMAKER-PGR.ServiceDefs", | |
"displayName": "Create RAINMAKER-PGR.ServiceDefs", | |
"orderNumber": 1, | |
"parentModule": "", | |
"enabled": false, | |
"serviceCode": "MDMS", | |
"code": "null", | |
"path": "" |
"enabled": 1, | ||
"serviceCode": "MDMS", | ||
"code": "null", | ||
"navigationURL": "/workbench-ui/employee/workbench/mdms-search-v2?moduleName=PQM&masterName=WasteType", | ||
"path": "9MDMS.PQM.WasteType", | ||
"leftIcon": "dynamic:ContractIcon" | ||
}, | ||
{ | ||
"id": 2883, | ||
"name": "MDMS", | ||
"url": "/mdms-v2/v2/_create/PQM.WasteType", | ||
"displayName": "create PQM.WasteType", | ||
"orderNumber": 1, | ||
"enabled": 1, | ||
"serviceCode": "MDMS", | ||
"code": "null" | ||
}, | ||
{ | ||
"id": 2884, | ||
"name": "MDMS", | ||
"url": "/mdms-v2/v2/_update/PQM.WasteType", | ||
"displayName": "Update PQM.WasteType", | ||
"orderNumber": 1, | ||
"enabled": 1, | ||
"serviceCode": "MDMS", | ||
"code": "null" | ||
}, | ||
{ | ||
"id": 2885, | ||
"name": "Search PQM Application", | ||
"url": "/mdms-v2/v2/_search", | ||
"displayName": "Search PQM Applications", | ||
"orderNumber": 0, | ||
"enabled": 0, | ||
"serviceCode": "PQM", | ||
"code": "null" | ||
}, | ||
{ | ||
"id": 2886, | ||
"name": "TQM", | ||
"url": "url", | ||
"displayName": "TQM", | ||
"orderNumber": 1, | ||
"parentModule": "tqm", | ||
"enabled": true, | ||
"serviceCode": "tqm", | ||
"code": "null", | ||
"path": "TQM", | ||
"navigationURL": "/digit-ui/employee/", | ||
"leftIcon": "dynamic:MuktaHomeIcon", | ||
"rightIcon": "" | ||
}, | ||
{ | ||
"id": 2887, | ||
"name": "TQMTest", | ||
"url": "url", | ||
"displayName": "TQM Test Report", | ||
"orderNumber": 3, | ||
"parentModule": "", | ||
"enabled": true, | ||
"serviceCode": "", | ||
"code": "null", | ||
"path": "FSM.Reports.TQMTest", | ||
"navigationURL": "report/fsm/TQMTest", | ||
"leftIcon": "action:description", | ||
"rightIcon": "" | ||
}, | ||
{ | ||
"id": 2888, | ||
"name": "TQMTest-Metadata", | ||
"url": "/report/fsm/TQMTest/metadata/_get", | ||
"displayName": "TQM Metadata Report", | ||
"orderNumber": 1, | ||
"enabled": true, | ||
"serviceCode": "TQMTEST_METADATA", | ||
"code": "null", | ||
"path": "TQM Report" | ||
}, | ||
{ | ||
"id": 2889, | ||
"name": "TQMTest", | ||
"url": "/report/fsm/TQMTest/_get", | ||
"displayName": "TQM Report", | ||
"orderNumber": 0, | ||
"enabled": true, | ||
"serviceCode": "TQMTEST_METADATA", | ||
"code": "null", | ||
"path": "TQM Report" | ||
}, | ||
{ | ||
"id": 2890, | ||
"name": "Download Pdf for PQM Application", | ||
"url": "/pqm-service/v1/_downloadPdf", | ||
"displayName": "Download Pdf for PQM Application", | ||
"orderNumber": 0, | ||
"enabled": false, | ||
"serviceCode": "PQM", | ||
"code": "null", | ||
"path": "" | ||
}, |
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.
💡 Codebase verification
🛠️ Refactor suggestion
Based on the search results, I can now provide the final response:
Action required: Fix invalid URL and code values in PQM and TQM actions
The verification confirms issues in the actions configuration:
- Multiple entries have literal "url" string instead of actual URL paths
- All entries use "null" as string value for code field instead of proper JSON null
- Some entries have inconsistent path/navigationURL patterns
Please update:
- Replace all
"url": "url"
with proper URL paths matching the displayName - Change all
"code": "null"
to"code": null
- Ensure path and navigationURL values are consistently defined for menu navigation
🔗 Analysis chain
Verify URL patterns and standardize code values
Several issues found in the PQM and TQM action entries:
- Some URLs are set to literal "url" string
- Code is consistently set to "null" string instead of actual null
- Inconsistent usage of empty strings vs null for path
🏁 Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash
# Check for invalid URL patterns and verify consistency
# Find entries with literal "url" as URL
echo "Checking for invalid URLs:"
rg -l '"url": "url"'
# Check for string "null" vs actual null
echo "Checking for string null vs JSON null:"
rg -l '"code": "null"'
Length of output: 258
Script:
#!/bin/bash
# Let's try a different approach using grep patterns that are more resilient
# Check for entries with literal "url" as URL value
echo "=== Entries with 'url' as URL value ==="
rg --json '"url":\s*"url"' | jq -r '.data.lines.text'
# Check for entries with "null" as string
echo -e "\n=== Entries with 'null' as string value ==="
rg --json '"code":\s*"null"' | jq -r '.data.lines.text'
# Check for path/navigationURL consistency
echo -e "\n=== Entries with path/navigationURL patterns ==="
rg --json '"path":|"navigationURL":' | jq -r '.data.lines.text'
Length of output: 208464
"rolecode": "FSM_REPORT_VIEWER", | ||
"actionid": 2888, | ||
"actioncode": "", | ||
"tenantId": "pg" | ||
}, | ||
{ | ||
"rolecode": "PQM_TP_OPERATOR", | ||
"actionid": 2888, | ||
"actioncode": "", | ||
"tenantId": "pg" | ||
}, | ||
{ | ||
"rolecode": "FSM_REPORT_VIEWER", | ||
"actionid": 2888, | ||
"actioncode": "", | ||
"tenantId": "pg" | ||
}, |
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.
Remove duplicate role-action mapping
There's a duplicate mapping for FSM_REPORT_VIEWER role with actionid 2888. The same mapping appears twice in the configuration.
Remove one of the duplicate entries:
{
"rolecode": "FSM_REPORT_VIEWER",
"actionid": 2888,
"actioncode": "",
"tenantId": "pg"
},
- {
- "rolecode": "FSM_REPORT_VIEWER",
- "actionid": 2888,
- "actioncode": "",
- "tenantId": "pg"
- },
📝 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.
"rolecode": "FSM_REPORT_VIEWER", | |
"actionid": 2888, | |
"actioncode": "", | |
"tenantId": "pg" | |
}, | |
{ | |
"rolecode": "PQM_TP_OPERATOR", | |
"actionid": 2888, | |
"actioncode": "", | |
"tenantId": "pg" | |
}, | |
{ | |
"rolecode": "FSM_REPORT_VIEWER", | |
"actionid": 2888, | |
"actioncode": "", | |
"tenantId": "pg" | |
}, | |
"rolecode": "FSM_REPORT_VIEWER", | |
"actionid": 2888, | |
"actioncode": "", | |
"tenantId": "pg" | |
}, | |
{ | |
"rolecode": "PQM_TP_OPERATOR", | |
"actionid": 2888, | |
"actioncode": "", | |
"tenantId": "pg" | |
}, |
Summary by CodeRabbit
New Features
Bug Fixes