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

Dev #579

Closed
wants to merge 50 commits into from
Closed

Dev #579

wants to merge 50 commits into from

Conversation

kavi-egov
Copy link
Collaborator

@kavi-egov kavi-egov commented Nov 15, 2023

Summary by CodeRabbit

  • New Features
    • Introduced sequence diagrams for various operations in the health referral management system, including creation, deletion, update, and bulk operations for HFReferral, Referral, and Side Effect data.
    • Added functionality to search individuals by UUID.
    • Enhanced the health services models to support new functionalities such as bulk requests and responses for HF referrals, search capabilities, and validation improvements.
    • Improved stock management with new enums for ReferenceIdType and SenderReceiverType, and added validation constraints for stock quantities.
  • Documentation
    • Added comprehensive sequence diagrams to document the processes involved in referral management operations.
  • Refactor
    • Updated validation annotations in health services models to ensure data integrity and improved error handling.
    • Refactored individual search functionality to include search by UUID.
  • Chores
    • Updated change logs for health-services/household, health-services/individual, and health-services/libraries/health-services-models to document recent changes and improvements.
  • Bug Fixes
    • Fixed validation issues in the health services models to allow for more flexible and accurate data entry.

kanishq-egov and others added 30 commits October 12, 2023 15:08
* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names
* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter
* added downsync dummy api

* added downsync dummy api with res

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Dev (#537)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* rebased project-persister.yml from configs

* updated pom.xml: update common model version to 1.0.10

* updated db script, added unique constraint to tag column

* updated referral-management.yml

* updated db script

* project beneficiary voucher tag uniqueness validator and search support

* updated PbVoucherTagUniqueValidator.java

* Added and updated for unique field voucher tag create and update scenario

* project beneficiary bug fix

* removed unused import

* project beneficiary : voucherTag renamed to tag

* Hlm 4062 count api (#547) (#548)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

Co-authored-by: kanishq-egov <[email protected]>

* referral management project beneficiary validation fix

* deleted persister and indexer file from project module resource folder

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: Vishal <[email protected]>
* adding clientRefId, Models version change, migration file

* adding clientRefId for HouseholdMemberSearch as List

* updated migration

* adding Notnull for clientrefId

---------

Co-authored-by: Vishal <[email protected]>
* added downsync dummy api

* added downsync dummy api with res

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Dev (#537)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* Hlm 4062 count api (#547) (#548)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

Co-authored-by: kanishq-egov <[email protected]>

* Project beneficiary tag cherrypick (#549)

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* rebased project-persister.yml from configs

* updated pom.xml: update common model version to 1.0.10

* updated db script, added unique constraint to tag column

* updated referral-management.yml

* updated db script

* project beneficiary voucher tag uniqueness validator and search support

* updated PbVoucherTagUniqueValidator.java

* Added and updated for unique field voucher tag create and update scenario

* project beneficiary bug fix

* removed unused import

* project beneficiary : voucherTag renamed to tag

* referral management project beneficiary validation fix

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: Vishal <[email protected]>

* dummy api with same pagination response

* dummy api with same pagination response

* dummy api with same pagination response

* downsync data test

* data integrated till beneficiary

* Update CHANGELOG.md

* Delete health-services/project/src/main/resources/project-persistor.yml

* skip on empty result added

* skip on empty result added

* beneficary searhc based on individual clientref id added

* sideeffetc, ref, task fetch added

* tasks earch fix

* referral search fix

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: Vishal <[email protected]>
naveen-egov and others added 20 commits November 9, 2023 14:47
* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>
* HLM-3069: updated build.config.yml

* HLM-3069: updated build-config.yml renamed adrm to referralmanagement

* HLM-3372: increased stock version from 1.1.0 to 1.1.1-beta and project version from 1.1.0 to 1.1.1-beta

* referralmanagement version 1.0.0-beta, added changelog, localsetup

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* HLM-3069: null project beneficiary validation error fix

* HLM-3069: added comments and splitted validation condition

* Dev to master (#550)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Hlm 4062 count api (#547)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>
* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kanishq-egov <[email protected]>
* HLM-3069: updated build.config.yml

* HLM-3069: updated build-config.yml renamed adrm to referralmanagement

* HLM-3372: increased stock version from 1.1.0 to 1.1.1-beta and project version from 1.1.0 to 1.1.1-beta

* referralmanagement version 1.0.0-beta, added changelog, localsetup

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* HLM-3069: null project beneficiary validation error fix

* HLM-3069: added comments and splitted validation condition

* Dev to master (#550)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Hlm 4062 count api (#547)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>
* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kanishq-egov <[email protected]>
* updated the version, and added the changelog

* updated ReferralManagement CHANGELOG

* Update CHANGELOG.md

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>
…n-patch

HLM-4062: removed pagination from fields excluding household api call
* HLM-4062: missed in implementation

* HLM-4062: default max is set to 1000 for not null limit value and 0 for offset value

* project beneficiary tag update failed fix HLM-4444

* HLM-4444: added code review comments

* sownsync bug fix for limit

---------

Co-authored-by: kavi_elrey <[email protected]>
* HLM-4501: Added changes for HFReferral flow

* updated comments for common models

* updated comments for common models removed ini file

This reverts commit c1e226f.

* HLM-4501: updated topics and hfreferal constants

* HLM-4501: updated HFReferralService.java

* HLM-4501: Added changes in project id validator

* HLM-4501: updated HFReferralService.java

* HLM-4501: fixed hfreferral changes

* HLM-4501: added project facility id validator for hf_referral

* HLM-4501: missing link for validator added

* HLM-4501: updated HfrProjectFacilityIdValidator for NPE

* HLM-4501 : updated hf referral symtoms character length to 256

* HLM-4501: updated additionalFields field value size from 2 to 1
* HLM-3372: added changes required to fix quantity, Sender Receiver enum

* HLM-3372: Sender and Receiver id validator

* HLM-3372: updated all reference for SenderType and Receiver Type enum

* HLM-3372: stock model updated, removed size annotations from referenceidtype enum field

* HLM-3372: Min validation added for integer type of quantity

* HLM-3372: test cases updated

* HLM-5004 Added max value and decimal condition for quantity in stock, added component and order annotation for SSenderIdReceiverIdEqualsValidator

* HLM-5004 Custom JsonDeserializer validator IntegerValidator added in health-services-models

* hlm-5004 added custom exception and a custom exception handler to handle the integer validator exception

* hlm-5004 optimized imports and added code comments

* hlm-5004 CustomIntegerSerializer added and unnecessary validators removed

* hlm-5004 Registered the CustomIntegerDeserializer with objectMapper for Integer class

* hlm-5004 Removed line of code that was removing all the invalid entities from the list in SSenderIdReceiverIdEqualsValidator

* hlm-5004 changes in test configurations and optimized imports

* hlm-5004 added row version validator for stock delete

* hlm-5004 dateOfEntry field was handled in StockRowMapper to return null if no value is present and description was added to stock contact for transactionReason

* updated pom.xml for health campaign models

* Revert "updated pom.xml for health campaign models"

This reverts commit 035c787.

---------

Co-authored-by: syed-egov <[email protected]>
* Dev to master : beneficiary tag bug fix, downsync pagination fix (#576)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Hlm 4062 count api (#547)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

* Project beneficiary tag cherrypick (#539)

* added downsync dummy api

* added downsync dummy api with res

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Dev (#537)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* rebased project-persister.yml from configs

* updated pom.xml: update common model version to 1.0.10

* updated db script, added unique constraint to tag column

* updated referral-management.yml

* updated db script

* project beneficiary voucher tag uniqueness validator and search support

* updated PbVoucherTagUniqueValidator.java

* Added and updated for unique field voucher tag create and update scenario

* project beneficiary bug fix

* removed unused import

* project beneficiary : voucherTag renamed to tag

* Hlm 4062 count api (#547) (#548)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

Co-authored-by: kanishq-egov <[email protected]>

* referral management project beneficiary validation fix

* deleted persister and indexer file from project module resource folder

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: Vishal <[email protected]>

* HH member clientrefid (#551)

* adding clientRefId, Models version change, migration file

* adding clientRefId for HouseholdMemberSearch as List

* updated migration

* adding Notnull for clientrefId

---------

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

* Downsync smc referral module (#556)

* added downsync dummy api

* added downsync dummy api with res

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Dev (#537)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* Hlm 4062 count api (#547) (#548)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

Co-authored-by: kanishq-egov <[email protected]>

* Project beneficiary tag cherrypick (#549)

* Added project beneficiary tag field

* renamed project beneficiary tag to voucher tag

* rebased project-persister.yml from configs

* updated pom.xml: update common model version to 1.0.10

* updated db script, added unique constraint to tag column

* updated referral-management.yml

* updated db script

* project beneficiary voucher tag uniqueness validator and search support

* updated PbVoucherTagUniqueValidator.java

* Added and updated for unique field voucher tag create and update scenario

* project beneficiary bug fix

* removed unused import

* project beneficiary : voucherTag renamed to tag

* referral management project beneficiary validation fix

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: Vishal <[email protected]>

* dummy api with same pagination response

* dummy api with same pagination response

* dummy api with same pagination response

* downsync data test

* data integrated till beneficiary

* Update CHANGELOG.md

* Delete health-services/project/src/main/resources/project-persistor.yml

* skip on empty result added

* skip on empty result added

* beneficary searhc based on individual clientref id added

* sideeffetc, ref, task fetch added

* tasks earch fix

* referral search fix

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: Vishal <[email protected]>

* Dev downsync fix smc (#561)

* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kavi_elrey <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Dev master conflict fix (#562)

* HLM-3069: updated build.config.yml

* HLM-3069: updated build-config.yml renamed adrm to referralmanagement

* HLM-3372: increased stock version from 1.1.0 to 1.1.1-beta and project version from 1.1.0 to 1.1.1-beta

* referralmanagement version 1.0.0-beta, added changelog, localsetup

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* HLM-3069: null project beneficiary validation error fix

* HLM-3069: added comments and splitted validation condition

* Dev to master (#550)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Hlm 4062 count api (#547)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Dev downsync fix smc (#563)

* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kanishq-egov <[email protected]>

* Dev master conflict fix (#565)

* HLM-3069: updated build.config.yml

* HLM-3069: updated build-config.yml renamed adrm to referralmanagement

* HLM-3372: increased stock version from 1.1.0 to 1.1.1-beta and project version from 1.1.0 to 1.1.1-beta

* referralmanagement version 1.0.0-beta, added changelog, localsetup

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* Update CHANGELOG.md

* HLM-3069: null project beneficiary validation error fix

* HLM-3069: added comments and splitted validation condition

* Dev to master (#550)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-4062: added count api changes for household

* HLM-4062: Updated findbyid references

* HLM-4062: Updated pom.xml of household

* Hlm 3376 reviewcomments (#524)

* HLM-3376: review comments commit

* HLM-3069: side effect code comments, code refactor

* HLM-3376: code review comments and code refactoring

* updated the common-models version to 1.0.10, and updated in dependent service

* HLM-3376 : Added additional field in side effect, referral.

* HLM-3376: missing column fix

* HLM-3372: constants type changed

* HLM-3376: removed not used validators

* code refactor and code comments

* hlm-3376: added test cases

* hlm-3376: referralmanagement context in test cases

* hlm-3376: changed parameters for find by id

* HLM-3372: typo fix

* hlm-3376: persister changes, removed invalid parameters

* hlm-3372: added changes as per code review, removed unused properties

* hlm-3376: recipient validator for faciliy not working fix

* HLM-3376: throwing exception on invalid recipient type

* HLM-3376: added comments as per review comments

* HLM-3376 : added changes as per code review comments, each column's name included in query

* HLM-3376: query column names

* Hlm 4062 count api (#547)

* hlm-4062: updated household

* HLM-4062: added  count api support using cte for household

* HLM-4062: updated HouseholdRepository.java

* updated householdrowmapper.java

* HLM-4062:code refactor, removed useCTE parameter

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>

---------

Co-authored-by: kanishq-egov <[email protected]>
Co-authored-by: kanishq-egov <[email protected]>

* Dev downsync fix smc (#566)

* household model reverse

* Update CHANGELOG.md

* Added changes for includeDeleted for downsync

* not null added

---------

Co-authored-by: kanishq-egov <[email protected]>

* Added fix for testcases for householdmember (#570)

Co-authored-by: kanishq-egov <[email protected]>

* updated the version, and added the changelog (#571)

* updated the version, and added the changelog

* updated ReferralManagement CHANGELOG

* Update CHANGELOG.md

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>

* HLM-4062: removed pagination from fields excluding household api call

* HLM-4062: missed in implementation (#574)

* HLM-4062: missed in implementation

* HLM-4062: default max is set to 1000 for not null limit value and 0 for offset value

* project beneficiary tag update failed fix HLM-4444

* HLM-4444: added code review comments

* sownsync bug fix for limit

---------

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

* HLM-4444: project beneficiary update fix (#575)

* Update CHANGELOG.md

* updated changelog with dates (#577)

* updated stock module changelog (#578)

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>
Co-authored-by: Vishal <[email protected]>
Co-authored-by: bhanu prakash <[email protected]>
Co-authored-by: Naveen J <[email protected]>
Co-authored-by: talele08 <[email protected]>

* Referral and Side effect sequence diagram

* HLM-4501: Added changes for HFReferral flow

* updated comments for common models

* updated comments for common models removed ini file

This reverts commit c1e226f.

* HLM-4501: updated topics and hfreferal constants

* HLM-4501: updated HFReferralService.java

* HLM-4501: Added changes in project id validator

* HLM-4501: updated HFReferralService.java

* HLM-4501: fixed hfreferral changes

* HLM-4501: added project facility id validator for hf_referral

* HLM-4501: missing link for validator added

* HLM-4501: updated HfrProjectFacilityIdValidator for NPE

* HLM-4501 : updated hf referral symtoms character length to 256

* HLM-4501: updated additionalFields field value size from 2 to 1

* HLM-4501: added code comments for all hf referral related classes

* HLM-4501: hf-referral sequence diagram

---------

Co-authored-by: kavi_elrey@1993 <[email protected]>
Co-authored-by: Vishal <[email protected]>
Co-authored-by: bhanu prakash <[email protected]>
Co-authored-by: Naveen J <[email protected]>
Co-authored-by: talele08 <[email protected]>
* HLM-4496: Added attendance module in HCM

* HLM-4496: updated attendance directory, removed target folder and imi file

* buil config added for hlm-4496 in feature branch

* HLM-4207: offline enablement in attendance log

* HLM-4207: added db migration script

* HLM-4207: updated db migration script

* HLM-4207: updated incorrect statements

* HLM-4207: bulk api support, without redis cache

* HLM-4207: updated Attendancelog consumer for bulk api

* HLM-4207: consumer fix

* HLM-4207: cache support added for attendance log create and update

* HLM-4207: added health-individual endpoint

* HLM-4207: added radis host

* HLM-4207: updated qualified for objectmapper in attendance module

* HLM-4496,HLM-4207: updated application.properties for redis config

* HLM-4207: updated kafka listener topics

* HLM-4207: changed kafka config

* HLM-4894 adding hrms related flag to Individual object, adding another ApiOperation

* HLM-4894 adding hrms related flag to Individual object, adding another ApiOperation

* HLM-4207, HLM-4986, HLM-4987 : bug fix

* HLM-4894 adding changes related to linking of HRMS Employee with Individual

* HLM-4894 adding changes related to linking of HRMS Employee with Individual

* HLM-4207: added clientreferenceid search, null check for document id

* HLM-4894 reverting changes related to linking of HRMS Employee with Individual

* HLM-4894 reverting changes related to linking of HRMS Employee with Individual from libraries, common-models

* HLM-4207: code re-format

* HLM-4894 adding changes for managing attendees while enrollment

* HLM-4207: updated attendance search, register id or clientreference id are mandatory

* hlm-5009 staffId in ProjectStaffSearch changed to list from string

* HLM-4894 updating build config

* HLM-4207: clientReferenceIds is changed to clientReferenceId for Attendance Log search criteria

* HLM-4207: removed staff validation for search without register id

* HLM-4894 adding changes for project staff validation

* HLM-4894 adding @qualifier annotation for object mapper

* HLM-4894 fixing hrms url

* HLM-4771: added changes for updating the registers on project date update

* HLM-4771: project update changes

* HLM-4771: updated the project start date update validation, can not update start date if it is already started

* HLM-4771: updated attendance register consumer and service with comments

* HLM-4771: updated the tenant id

* HLM-4894 updating environment variables.

* HLM-4894 updating code changes

* HLM-4894 adding code changes

* HLM-4894 adding code changes

* HLM-4894 adding code changes

* HLM-4771: updated the project validators, validation for start and end date of project

* HLM-4894 adding useruuid as search param in individual search

* HLM-4894 adding useruuid as search param in individual search

* HLM-4894 adding useruuid as search param in individual search

* HLM-4894 adding changes for registry creation when supervisor enrolls

* HLM-4496, HLM-4894: first staff enrollment on attendance register creation is optional

* HLM-4894 adding changes attendee enrollment

* HLM-4894 adding changes for making staffId as list of staffId in ProjectStaffSearch

* HLM-4894 adding changes for making staffId as list of staffId in ProjectStaffSearch

* HLM-4894 adding changes for making staffId as list of staffId in ProjectStaffSearch

* HLM-4894 removing staff-bulk-create-topic

* HLM-4894 removing staff-bulk-create-topic

* HLM-4894 removing staff-bulk-create-topic

* HLM-4894 removing staff-bulk-create-topic

* HLM-4894 changing health-attendance consumer group-id

* HLM-4894 adding changes for projectstaff consumer

* HLM-4894 adding changes for projectstaff consumer

* HLM-4894 adding changes for projectstaff consumer

* HLM-4894 adding changes for projectstaff consumer

* HLM-4894 adding changes for projectstaff consumer

* HLM-5045: added changes, project start date and end date difference should at least be 1 day.

* HLM-4894 adding comments

* HLM-4894 adding additional Details during attendance register creation

* HLM-4894 adding additional Details during attendance register creation

* hlm-4496 : bug fix on adding staff on updation of register

* HLM-4894 increasing limit to 1000

* Added changelog for individual, health-services-models, project, stock

* HLM-4496 : remove attendance module as it is moved to DIGIT-Works repository.

* HLM-5076: added changes related to project module

* updated individual user uuid search field for hlm-4496, hlm-4207

* changed common models build to 1.0.19-SNAPSHOT

---------

Co-authored-by: Priyanka-eGov <[email protected]>
Co-authored-by: syed-egov <[email protected]>
Co-authored-by: kavi_elrey@1993 <[email protected]>
@kavi-egov kavi-egov closed this Feb 28, 2024
Copy link
Contributor

coderabbitai bot commented Feb 28, 2024

Walkthrough

This update focuses on enhancing the referral management system within a healthcare context, introducing bulk operations for creating, updating, and deleting referrals, HFReferrals, and side effects. It also improves individual and household services by adding new functionalities and refining existing ones. Notably, the update brings better validation, search capabilities, and model adjustments across various services, ensuring more robust and efficient data handling.

Changes

File Path Change Summary
docs/health-api-specs/sequence-diagrams/referralmanagement/.../bulk_create.puml, .../bulk_delete.puml, .../bulk_update.puml Introduced sequence diagrams for bulk operations in referral and HFReferral management.
docs/health-api-specs/sequence-diagrams/referralmanagement/.../create.puml, .../delete.puml, .../update.puml Added sequence diagrams for creating, deleting, and updating referrals and HFReferrals.
docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/... Sequence diagrams for side effect management operations (create, delete, bulk create, bulk delete, bulk update).
health-services/household/CHANGELOG.md, health-services/individual/CHANGELOG.md, .../individual/src/..., health-services/libraries/health-services-models/CHANGELOG.md Enhanced individual and household services with search by UUID, added total count and clientReferenceId, and updated validation rules.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/... Adjusted validation annotations, introduced new enums and model classes for referrals, HFReferrals, and stock management.
health-services/project/CHANGELOG.md, .../project/src/main/java/org/egov/project/config/ProjectConfiguration.java Improved project service with date validation, added tags for beneficiaries, and configured project staff attendance topic.

"In the land of code and data, where the bits and bytes do chatter,
Came a wave of changes vast, to make healthcare matters faster.
🐇 With a hop, skip, and a leap, CodeRabbit watched with glee,
As the systems grew robust, for you and for me.
Let's celebrate the work, with a carrot cake so fine,
For progress marches on, in this digital design."
🥕🎉✨

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-tests for this file.
  • 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 tests 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 from git and render them as a table.
    • @coderabbitai show all the console.log statements in this repository.
    • @coderabbitai read src/utils.ts and generate unit tests.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

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 a review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @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.
  • The JSON schema for the configuration file is available here.
  • 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/coderabbit-overrides.v2.json

CodeRabbit Discord Community

Join our Discord Community to get help, request features, and share feedback.

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.

Review Status

Actionable comments generated: 18

Configuration used: CodeRabbit UI

Commits Files that changed from the base of the PR and between b78923b and 9a489b0.
Files ignored due to path filters (5)
  • build/build-config.yml is excluded by: !**/*.yml
  • docs/health-api-specs/contracts/stock.yml is excluded by: !**/*.yml
  • health-services/libraries/health-services-models/pom.xml is excluded by: !**/*.xml
  • health-services/referralmanagement/pom.xml is excluded by: !**/*.xml
  • health-services/stock/pom.xml is excluded by: !**/*.xml
Files selected for processing (85)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_update.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/update.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/bulk_create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/bulk_delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/bulk_update.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/referral/update.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/bulk_create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/bulk_delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/bulk_update.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/create.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/delete.puml (1 hunks)
  • docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/update.puml (1 hunks)
  • health-services/household/CHANGELOG.md (1 hunks)
  • health-services/individual/CHANGELOG.md (1 hunks)
  • health-services/individual/src/main/java/org/egov/individual/repository/IndividualRepository.java (1 hunks)
  • health-services/individual/src/main/java/org/egov/individual/web/models/IndividualSearch.java (1 hunks)
  • health-services/individual/src/test/java/org/egov/individual/helper/IndividualSearchTestBuilder.java (1 hunks)
  • health-services/individual/src/test/java/org/egov/individual/repository/IndividualRepositoryTest.java (2 hunks)
  • health-services/libraries/health-services-models/CHANGELOG.md (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/core/validator/CustomIntegerDeserializer.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/facility/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/household/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/household/HouseholdSearch.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/individual/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/individual/IndividualSearch.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/product/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/project/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/project/ProjectStaffSearch.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferral.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralBulkRequest.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralBulkResponse.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralRequest.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralResponse.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralSearch.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralSearchRequest.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/Field.java (3 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/ReferenceIdType.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/SenderReceiverType.java (1 hunks)
  • health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/Stock.java (3 hunks)
  • health-services/project/CHANGELOG.md (1 hunks)
  • health-services/project/src/main/java/org/egov/project/config/ProjectConfiguration.java (1 hunks)
  • health-services/project/src/main/java/org/egov/project/service/ProjectStaffService.java (5 hunks)
  • health-services/project/src/main/java/org/egov/project/util/MDMSUtils.java (4 hunks)
  • health-services/project/src/main/java/org/egov/project/util/ProjectConstants.java (2 hunks)
  • health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbVoucherTagUniqueForUpdateValidator.java (3 hunks)
  • health-services/project/src/main/java/org/egov/project/validator/project/ProjectValidator.java (10 hunks)
  • health-services/project/src/main/java/org/egov/project/web/models/ProjectStaffSearch.java (1 hunks)
  • health-services/project/src/main/resources/application.properties (1 hunks)
  • health-services/project/src/test/java/org/egov/project/service/ProjectStaffServiceSearchTest.java (1 hunks)
  • health-services/referralmanagement/CHANGELOG.md (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/Constants.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/config/ReferralManagementConfiguration.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/consumer/HFReferralConsumer.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/repository/HFReferralRepository.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/repository/rowmapper/HFReferralRowMapper.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/service/DownsyncService.java (10 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/service/HFReferralService.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/service/enrichment/HFReferralEnrichmentService.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrIsDeletedValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNullIdValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrProjectFacilityIdValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrProjectIdValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrRowVersionValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrUniqueEntityValidator.java (1 hunks)
  • health-services/referralmanagement/src/main/java/org/egov/referralmanagement/web/controllers/HFReferralApiController.java (1 hunks)
  • health-services/referralmanagement/src/main/resources/application.properties (2 hunks)
  • health-services/referralmanagement/src/main/resources/db/migration/main/V20231214113400__hf_referral_create_ddl.sql (1 hunks)
  • health-services/referralmanagement/src/main/resources/db/migration/main/V20240103142200__hf_referral_project_facility_rename_ddl.sql (1 hunks)
  • health-services/stock/CHANGELOG.md (1 hunks)
  • health-services/stock/src/main/java/org/egov/stock/config/MainConfiguration.java (2 hunks)
  • health-services/stock/src/main/java/org/egov/stock/repository/rowmapper/StockRowMapper.java (3 hunks)
  • health-services/stock/src/main/java/org/egov/stock/service/FacilityService.java (2 hunks)
  • health-services/stock/src/main/java/org/egov/stock/service/StockService.java (3 hunks)
  • health-services/stock/src/main/java/org/egov/stock/util/ValidatorUtil.java (8 hunks)
  • health-services/stock/src/main/java/org/egov/stock/validator/stock/SReferenceIdValidator.java (2 hunks)
  • health-services/stock/src/main/java/org/egov/stock/validator/stock/SSenderIdReceiverIdEqualsValidator.java (1 hunks)
  • health-services/stock/src/test/java/org/egov/stock/TestConfiguration.java (2 hunks)
  • health-services/stock/src/test/java/org/egov/stock/helper/StockTestBuilder.java (2 hunks)
Files skipped from review due to trivial changes (2)
  • health-services/referralmanagement/CHANGELOG.md
  • health-services/referralmanagement/src/main/resources/db/migration/main/V20240103142200__hf_referral_project_facility_rename_ddl.sql
Additional comments: 88
health-services/individual/CHANGELOG.md (1)
  • 3-5: The addition of search by UUID functionality for individual search in version 1.1.3 is clearly documented and aligns with the PR objectives. Good job maintaining clarity and adherence to standard CHANGELOG formatting.
health-services/household/CHANGELOG.md (1)
  • 3-6: The additions in version 1.1.1, including the total count for households and the new field clientReferenceId for HouseholdMember, are clearly documented and align with the PR objectives to enhance household services. Well done on maintaining clarity and adherence to standard CHANGELOG formatting.
health-services/project/CHANGELOG.md (1)
  • 3-6: The updates in version 1.1.2, including the addition of validation for project start and end date updates and the addition of a tag in project beneficiaries, are clearly documented and align with the PR objectives for general enhancements. Excellent adherence to standard CHANGELOG formatting.
health-services/stock/CHANGELOG.md (1)
  • 3-8: The enhancements to the inventory flow documented in versions 1.1.2 and 1.1.1, including the addition of sender id and receiver id, and the introduction of QR code for last mile delivery, are clearly documented and align with the PR objectives to improve health services models. Excellent job maintaining clarity and adherence to standard CHANGELOG formatting.
health-services/libraries/health-services-models/CHANGELOG.md (1)
  • 3-10: The documented changes in versions 1.0.11, 1.0.18, and 1.0.19, including the alteration of search functionality for project staff, the addition of sender and receiver IDs for stock, the inclusion of user UUID in individual search, and the addition of a client reference ID for household members, are clearly documented and align with the PR objectives to enhance various aspects of the health services models. Great adherence to standard CHANGELOG formatting.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/Constants.java (1)
  • 8-9: The addition of SET_HF_REFERRALS and GET_HF_REFERRALS constants aligns with the PR objectives of enhancing referral management and is consistent with the existing pattern of constants in the file. Good job ensuring consistency and alignment with project goals.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralSearchRequest.java (1)
  • 1-26: The HFReferralSearchRequest class is well-structured and uses appropriate validation annotations, aligning with the PR objectives of enhancing referral management. Good job following Java best practices and ensuring alignment with project goals.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralRequest.java (1)
  • 1-27: The HFReferralRequest class is well-structured and uses appropriate validation annotations, aligning with the PR objectives of enhancing referral management. Excellent job following Java best practices and ensuring alignment with project goals.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralResponse.java (1)
  • 1-27: The HFReferralResponse class is well-structured and uses appropriate validation annotations, aligning with the PR objectives of enhancing referral management. Excellent job following Java best practices and ensuring alignment with project goals.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/facility/Field.java (1)
  • 33-33: The modification of the @Size annotation for the value field to allow a minimum size of 1 enhances data validation flexibility. This change aligns with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to validation best practices.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/project/Field.java (1)
  • 33-33: The modification of the @Size annotation for the value field to allow a minimum size of 1 enhances data validation flexibility. This change aligns with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to validation best practices.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/ReferenceIdType.java (1)
  • 1-32: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-33]

The introduction of the ReferenceIdType enum with values PROJECT and OTHER enhances type safety and clarity in the code, aligning with the PR objectives of enhancing data handling and validation. Good job following Java best practices.

health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/Field.java (1)
  • 26-33: The adjustments made to the import statements and the placement of validation annotations for the key and value fields in the Field class contribute to the code's readability and maintainability. These changes align with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to best practices.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/product/Field.java (1)
  • 33-33: The modification of the @Size annotation for the value field to allow a minimum size of 1, along with the reordering of import statements, enhances data validation flexibility and code readability. These changes align with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to validation best practices.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/household/Field.java (1)
  • 33-33: The modification of the @Size annotation for the value field to allow a minimum size of 1 and a maximum size of 10000, along with the reordering of import statements, enhances data validation flexibility and code readability. These changes align with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to validation best practices.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/individual/Field.java (1)
  • 33-33: The modification of the @Size constraint for the value field to allow a minimum size of 1 and a maximum size of 10000, along with the reordering of import statements, enhances data validation flexibility and code readability. These changes align with the PR objectives of enhancing data validation and handling. Good job ensuring adherence to validation best practices.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNullIdValidator.java (1)
  • 1-37: The implementation of HfrNullIdValidator uses a utility method validateForNullId for validating null IDs in HFReferral entities, which is a good practice for code reuse and maintainability. Ensure that the validateForNullId method is correctly implemented and thoroughly tested to guarantee the validation logic's correctness.
health-services/project/src/main/java/org/egov/project/web/models/ProjectStaffSearch.java (1)
  • 40-40: Changing staffId from String to List<String> in ProjectStaffSearch enhances search capabilities by allowing multiple staff IDs. Ensure all parts of the system that use staffId are updated to handle a list of IDs correctly.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/referralmanagement/hfreferral/HFReferralBulkRequest.java (1)
  • 1-45: The HFReferralBulkRequest class correctly uses annotations for validation and introduces a utility method addHFReferralItem for adding HFReferral items to the bulk request. This method enhances the class's usability and maintainability by providing a convenient way to build up the request. Ensure that the rest of the system correctly utilizes this method when constructing bulk requests.
health-services/stock/src/main/java/org/egov/stock/validator/stock/SSenderIdReceiverIdEqualsValidator.java (2)
  • 22-25: The class documentation provides a clear overview of its purpose. It's concise and directly related to the functionality implemented within the class.
  • 33-61: The validate method correctly iterates through each Stock entity, checks if senderId and receiverId are equal, and if so, adds an error to the errorDetailsMap. The method is logically sound and follows best practices for error handling and logging.
health-services/libraries/health-services-models/src/main/java/org/egov/common/models/stock/Stock.java (3)
  • 54-55: The addition of @Min and @Max validation constraints on the quantity field is a good practice to ensure data integrity. It prevents invalid data from being persisted and provides clear error messages for out-of-range values.
  • 63-65: Changing referenceIdType from String to ReferenceIdType with additional validation is a significant improvement. It ensures that only valid enum values are accepted, enhancing type safety and data integrity.
  • 83-85: The addition of validation messages for senderType and receiverType fields is beneficial for providing more informative error messages. Ensuring these fields are not null and are valid enum values improves data validation and integrity.

Also applies to: 93-95

health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrRowVersionValidator.java (2)
  • 28-33: The class documentation clearly explains the purpose of the validator, which is to check for row version mismatches in HFReferral entities during bulk processing. This is crucial for maintaining data consistency.
  • 53-72: The validate method effectively fetches existing HFReferral entities and compares their row versions with those in the request. It properly handles cases where entities have mismatched row versions by adding appropriate errors. This method follows best practices for error handling and logging.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/config/ReferralManagementConfiguration.java (1)
  • 64-90: The addition of configuration properties for Kafka topics related to HF referrals and project searches is a positive change. It ensures that the application can correctly publish and consume messages related to these entities, facilitating asynchronous processing and integration.
health-services/stock/src/main/java/org/egov/stock/repository/rowmapper/StockRowMapper.java (2)
  • 38-41: The refactored assignment of dateOfEntry to explicitly handle null values is a good practice. It ensures that dateOfEntry is set to null when the database value is null, avoiding potential issues with primitive types.
  • 50-56: The updated usage of referenceIdType, senderType, and receiverType to use enum conversion methods is a significant improvement. It ensures type safety and data integrity by enforcing the use of valid enum values.
docs/health-api-specs/sequence-diagrams/referralmanagement/referral/delete.puml (1)
  • 1-124: The sequence diagram for the Referral - Delete operation is well-structured and provides a clear overview of the process. It includes all necessary interactions and conditional flows, making it easy to understand the deletion process.
docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/delete.puml (1)
  • 1-123: The sequence diagram for the Side Effect - Delete operation is well-structured and provides a clear overview of the process. It includes all necessary interactions and conditional flows, making it easy to understand the deletion process for side effects.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrNonExistentEntityValidator.java (2)
  • 31-35: The class documentation clearly explains the purpose of the validator, which is to check for the existence of entities referred in HFReferral entities. This is crucial for maintaining data integrity and consistency.
  • 57-78: The validate method effectively fetches existing HFReferral entities and checks for non-existent referrals. It properly handles cases where referred entities do not exist by adding appropriate errors. This method follows best practices for error handling and logging.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/repository/rowmapper/HFReferralRowMapper.java (1)
  • 36-76: The HFReferralRowMapper class is well-implemented, providing a clear mapping from a ResultSet to an HFReferral object. A few points to consider:
  • Error Handling: The catch block for JsonProcessingException wraps the exception in a RuntimeException. While this simplifies error handling, consider logging the error or using a more specific custom exception to provide more context about the failure.
  • ObjectMapper Usage: The use of ObjectMapper for deserializing additionalFields is appropriate. Ensure that the ObjectMapper is configured correctly elsewhere in your application to handle any custom deserialization needs for AdditionalFields.
  • AuditDetails Mapping: The mapping of AuditDetails and clientAuditDetails is clear and concise. Ensure that all fields required for AuditDetails are always present in the ResultSet to avoid NullPointerExceptions.

Overall, the class is well-structured and serves its purpose effectively.

health-services/stock/src/main/java/org/egov/stock/config/MainConfiguration.java (1)
  • 47-52: The addition of a custom integer deserializer to the ObjectMapper configuration in the MainConfiguration class is a good practice for handling specific deserialization needs, such as parsing integers from JSON that may not conform to the default expectations. A few points to consider:
  • Custom Deserializer Registration: The registration of the custom deserializer using a SimpleModule is correctly implemented. Ensure that the CustomIntegerDeserializer is thoroughly tested to handle all expected formats.
  • ObjectMapper Configuration: The disabling of DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES is a common practice to allow for more flexible JSON structures. Just ensure that this does not inadvertently ignore important data that should be validated.
  • Time Zone Configuration: Setting the time zone on the ObjectMapper is a thoughtful touch for consistency in date/time parsing. Ensure that this time zone setting aligns with the overall application requirements and any other systems that interact with this service.

Overall, the configuration changes are well-implemented and should enhance the application's robustness in handling integer values.

docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_create.puml (1)
  • 1-140: The sequence diagram for HFReferral - Bulk Create is well-structured and covers the entire flow from the client request to the final response. It includes error handling and async operations with Kafka, which is good for performance and scalability. However, ensure that the error handling mechanism (/error_topic and /error_table) is implemented as described, and manual intervention processes are clearly documented for unrecoverable errors. Also, consider adding more details in the notes for clarity on specific operations, especially around cache and database interactions.
docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/bulk_create.puml (1)
  • 1-141: The sequence diagram for Side Effect - Bulk Create is comprehensive and follows a similar pattern to the HFReferral bulk creation, which is good for consistency. The inclusion of projectTaskId and projectBeneficiaryId validation steps is a good practice for data integrity. Ensure that the error handling for BAD_REQUEST and DEPENDENCY_ERROR is implemented correctly and that there are clear processes for manual intervention in case of unrecoverable errors. Additionally, consider adding explicit notes for cache interactions for better clarity.
docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_delete.puml (1)
  • 1-153: The sequence diagram for HFReferral - Bulk Delete accurately depicts the process, including validation checks for null IDs and record existence. The use of cache and database for record existence checks before deletion is a good practice. However, ensure that the error handling for NULL_ID, RECORD_NOT_FOUND, and other errors is implemented as described. Also, the diagram should clarify the async operations with Kafka, especially how errors are handled asynchronously. Adding more detailed notes on specific operations, especially around cache and database interactions, would enhance clarity.
docs/health-api-specs/sequence-diagrams/referralmanagement/side-effect/update.puml (1)
  • 1-175: The sequence diagram for Side Effect - Update is comprehensive, detailing the update process including validation for null IDs, deletion status, and dependency checks. The inclusion of projectTaskId and projectBeneficiaryId validation steps is crucial for maintaining data integrity. Ensure that the error handling for NULL_ID, IS_DELETED_TRUE, RECORD_NOT_FOUND, BAD_REQUEST, and DEPENDENCY_ERROR is implemented as described. Additionally, consider adding explicit notes for cache interactions and async operations with Kafka for better clarity and understanding of the process.
health-services/project/src/test/java/org/egov/project/service/ProjectStaffServiceSearchTest.java (1)
  • 53-53: The modification to assign a list of values to the staffId field in the ProjectStaffSearch object is a significant change that aligns with the need to support searching by multiple staff IDs. This change enhances the flexibility of the search functionality. Ensure that all relevant tests are updated to reflect this change and consider adding additional tests to cover scenarios involving multiple staff IDs.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/consumer/HFReferralConsumer.java (1)
  • 1-110: The HFReferralConsumer class is well-structured and follows best practices for Kafka consumers. It correctly handles bulk create, update, and delete operations for HFReferrals. The use of ObjectMapper to convert Kafka message payloads is appropriate. Ensure that the error handling mechanism, including logging and throwing CustomException, is thoroughly tested, especially for scenarios where the Kafka message payload might not be correctly formatted. Additionally, consider adding more detailed logging for successful operations to aid in monitoring and debugging.
health-services/project/src/main/java/org/egov/project/config/ProjectConfiguration.java (1)
  • 186-188: The addition of the projectStaffAttendanceTopic configuration property is correctly implemented and follows the established pattern for configuration properties in this class. Ensure that the corresponding property is defined in the application's properties file and is correctly documented.
health-services/referralmanagement/src/main/resources/application.properties (1)
  • 122-135: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [100-132]

The updates to the application.properties file, including new host URLs, search URLs for project entities, and Kafka topics for HF referrals, are correctly implemented and align with the PR's objectives to enhance referral management and other system functionalities. Ensure that these new configurations are documented and that their values are validated in the corresponding environments.

health-services/stock/src/main/java/org/egov/stock/service/FacilityService.java (2)
  • 101-101: Using SenderReceiverType.WAREHOUSE.equals(stock.getSenderType()) enhances type safety and readability by avoiding direct string comparisons. This is a good practice as it leverages the benefits of enums in Java, such as type safety and easier maintenance.
  • 104-104: Similarly, using SenderReceiverType.WAREHOUSE.equals(stock.getReceiverType()) for comparison is a good practice for the same reasons mentioned previously. It ensures type safety and improves code readability.
health-services/project/src/main/resources/application.properties (1)
  • 168-168: The addition of project.staff.attendance.topic=project-staff-attendance-health-topic introduces a new Kafka topic configuration for staff attendance in health services. Ensure that this new topic is properly configured in your Kafka setup and that the naming convention aligns with your project's standards.
health-services/project/src/main/java/org/egov/project/util/MDMSUtils.java (1)
  • 130-143: The method getAttendanceModuleRequestData correctly fetches attendance module details from the MDMS service. It's well-implemented, following the pattern established by other similar methods in this class. Ensure that the MASTER_ATTENDANCE_SESSION and MDMS_HCM_ATTENDANCE_MODULE_NAME constants are correctly defined and match the MDMS configuration.
docs/health-api-specs/sequence-diagrams/referralmanagement/referral/bulk_create.puml (1)
  • 1-204: The sequence diagram for Referral - Bulk Create provides a comprehensive overview of the process flow for bulk creating referrals. It correctly outlines the interactions between the client, ReferralManagement, various services (FacilityService, HouseholdService, IndividualService, ProjectService, UserService), RedisCache, Kafka, PersisterService, IndexerService, ErrorService, ElasticSearch, and the Database. Ensure that all the services and steps depicted in the diagram accurately reflect the actual implementation and that the error handling and async processes are correctly managed in your system.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrProjectIdValidator.java (1)
  • 52-130: The HfrProjectIdValidator class is well-implemented, focusing on validating project IDs within HFReferral entities. It correctly groups referrals by tenantId, fetches existing projects from the Project Service, and populates errors for invalid entities. Ensure that the Project Service endpoint used (referralManagementConfiguration.getProjectHost() + referralManagementConfiguration.getProjectSearchUrl()) is correctly configured and that the error handling aligns with your system's standards. Additionally, verify that the getErrorForNonExistentEntity method provides meaningful error messages for better debugging and user feedback.
docs/health-api-specs/sequence-diagrams/referralmanagement/referral/update.puml (4)
  • 1-3: The title and theme setup are correctly defined, ensuring clarity and visual appeal for the diagram.
  • 4-17: All necessary participants for the referral update process are declared, covering a comprehensive range of services involved in the operation.
  • 19-44: The initial steps, including request validation and error handling for validation failures, are well-documented. The use of Kafka for error logging and the detailed note explaining the unrecoverable nature of the error enhance understanding.
  • 46-234: The main logic for updating a referral, including checks for null IDs, deletion status, record existence, and dependency validations, is clearly outlined. The diagram also covers async operations for data persistence and indexing, concluding with a successful response to the client. However, ensure that the async group's interaction with Kafka, PersisterService, and IndexerService is correctly implemented in the actual system to avoid data races or inconsistencies.
docs/health-api-specs/sequence-diagrams/referralmanagement/hfreferral/bulk_update.puml (4)
  • 1-3: The title and theme setup for the bulk update of HFReferrals are correctly defined, ensuring clarity and visual appeal for the diagram.
  • 4-17: All necessary participants for the bulk update process of HFReferrals are declared, covering a comprehensive range of services involved in the operation.
  • 19-44: The initial steps, including request validation and error handling for validation failures, are well-documented. The use of Kafka for error logging and the detailed note explaining the unrecoverable nature of the error enhance understanding.
  • 46-202: The main logic for bulk updating HFReferrals, including checks for null IDs, deletion status, record existence, and dependency validations, is clearly outlined. The diagram also covers async operations for data persistence and indexing, concluding with a successful response to the client. However, ensure that the async group's interaction with Kafka, PersisterService, and IndexerService is correctly implemented in the actual system to avoid data races or inconsistencies.
health-services/referralmanagement/src/main/java/org/egov/referralmanagement/validator/hfreferral/HfrProjectFacilityIdValidator.java (3)
  • 1-34: The package and import declarations are appropriate for the class functionality. The class documentation provides a clear overview of its purpose.
  • 35-45: The class is correctly annotated with @Component and @Order, ensuring it is recognized as a Spring Bean with a specific load order. The constructor is properly defined to inject dependencies.
  • 71-74: The helper method addIgnoreNull is a good practice for clean code, ensuring null items are not added to the list.
health-services/individual/src/test/java/org/egov/individual/repository/IndividualRepositoryTest.java (3)
  • 88-94: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [1-90]

The setup for the IndividualRepositoryTest class is correctly done, including mock injections and initial setup in the setUp method. The test cases are well-organized and named for clarity.

  • 91-91: The addition of the byUserUUID search parameter in the test case is consistent with the PR objectives to enhance individual and household services. Ensure that the corresponding implementation in the repository supports this new parameter effectively.
  • 149-149: Similar to the previous comment, the inclusion of byUserUUID in this test case aligns with the PR's goal. Verification of the implementation detail is recommended to ensure full support for this new search parameter.
docs/health-api-specs/sequence-diagrams/referralmanagement/referral/bulk_update.puml (1)
  • 1-245: The sequence diagram for the Referral - Bulk Update process is comprehensive and covers various scenarios, including request validation, record existence checks, and handling of different recipient types. It's important to ensure that all participating components (Client, ReferralManagement, RedisCache, Kafka, Database, FacilityService, HouseholdService, IndividualService, ProjectService, UserService, PersisterService, IndexerService, ErrorService, ElasticSearch) are accurately represented and that the interactions between them are logically consistent. Additionally, consider adding more detailed comments or notes for complex interactions or decisions to enhance understanding for future maintainers.
health-services/project/src/main/java/org/egov/project/validator/beneficiary/PbVoucherTagUniqueForUpdateValidator.java (2)
  • 113-117: The addition of existingProjectBeneficiaryVoucherTagMap and the isUpdated method in PbVoucherTagUniqueForUpdateValidator enhances the efficiency of the validation process by using maps instead of lists. This approach reduces the complexity from O(n^2) to O(n), significantly improving performance for large datasets. Ensure that the isUpdated method accurately reflects the business logic for determining if a ProjectBeneficiary entity is considered updated.
  • 145-173: The isInvalid and isUpdated methods provide clear logic for validating the uniqueness of voucher tags and determining if a ProjectBeneficiary entity is updated. However, ensure that the logic in isUpdated correctly handles all scenarios, especially edge cases where the tag might change from null to a non-null value or vice versa. Adding unit tests for these methods could help verify their correctness across various scenarios.
// Suggest adding unit tests to cover various scenarios for isInvalid and isUpdated methods.
health-services/stock/src/main/java/org/egov/stock/service/StockService.java (1)
  • 58-64: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [37-73]

The integration of SSenderIdReceiverIdEqualsValidator into the StockService class enhances the validation logic by ensuring sender and receiver IDs are not equal in certain contexts. This addition is correctly applied to both the create and update operations, aligning with the business logic requirements. Ensure that this new validation rule is clearly documented and communicated to the team, as it affects the data integrity checks during stock transactions.

health-services/referralmanagement/src/main/java/org/egov/referralmanagement/web/controllers/HFReferralApiController.java (6)
  • 89-97: The method referralBulkV1CreatePost for bulk creation of HFReferrals is implemented well, with validation and appropriate use of Kafka for asynchronous processing. The HTTP status code 202 Accepted is correctly used here, indicating that the request has been accepted for processing but the processing has not been completed.
  • 111-123: The search functionality in referralV1SearchPost method is implemented correctly, with comprehensive parameter validation and the correct HTTP status code 200 OK for successful searches. It's good to see the use of @NotNull, @Min, and @Max annotations for parameter validation.
  • 132-142: The method referralV1UpdatePost for updating a single HFReferral is implemented correctly. It uses appropriate annotations and validates the request body. The HTTP status code 202 Accepted is suitable here, considering the operation might involve asynchronous processing.
  • 151-158: The bulk update method referralV1BulkUpdatePost is correctly implemented, with validation and appropriate use of Kafka for asynchronous processing. The HTTP status code 202 Accepted is correctly used, indicating that the request has been accepted for processing but the processing has not been completed.
  • 166-176: The method referralV1DeletePost for deleting a single HFReferral uses the correct HTTP status code 202 Accepted, which is suitable for operations that are accepted but might not be immediately completed. The implementation is correct and follows best practices.
  • 185-192: The bulk delete method referralV1BulkDeletePost is correctly implemented, with validation and appropriate use of Kafka for asynchronous processing. The HTTP status code 202 Accepted is correctly used, indicating that the request has been accepted for processing but the processing has not been completed.
health-services/project/src/main/java/org/egov/project/service/ProjectStaffService.java (4)
  • 9-9: The import of org.egov.common.producer.Producer is correctly added to support Kafka messaging within the service. This change aligns with the PR objectives to enhance the system's capabilities.
  • 66-67: The declaration of the Producer instance is correctly added to enable Kafka messaging. This change is necessary for the new functionality introduced in the PR.
  • 94-103: The modification to the constructor to include Producer producer as a parameter and assign it to the class field is correctly implemented. This change is essential for integrating Kafka messaging within the service.
  • 127-127: The call to producer.push within the create method correctly publishes messages to a Kafka topic. This addition aligns with the PR objectives to enhance system capabilities through asynchronous processing. Ensure the topic name (projectConfiguration.getProjectStaffAttendanceTopic()) is correctly configured and exists in the Kafka cluster.
health-services/stock/src/main/java/org/egov/stock/util/ValidatorUtil.java (6)
  • 24-24: The import of org.egov.common.models.stock.SenderReceiverType is correctly added to support the new validation logic based on sender/receiver types. This change is necessary for the enhanced validation functionality introduced in the PR.
  • 68-72: The method validateStockTransferParties has been updated to include SenderReceiverType in its validation logic. The method signature and implementation appear to be correct, ensuring that stock transfer parties are validated against the appropriate entity types (facility or staff).
  • 94-101: The method validateAndEnrichInvalidPartyIds correctly separates the validation of facility and staff IDs based on the SenderReceiverType. This refactoring improves the clarity and maintainability of the validation logic.
  • 155-166: The logic within enrichFaciltyAndStaffIdsFromStock method has been refactored to use SenderReceiverType for determining whether the sender/receiver is a warehouse or staff. This change correctly aligns with the PR objectives to enhance validation based on sender/receiver types.
  • 192-201: The method enrichErrorMapFromInvalidPartyIds has been updated to include SenderReceiverType in its error enrichment logic. This update ensures that errors are correctly associated with the appropriate sender/receiver type, improving error reporting and handling.
  • 276-280: The validation logic in enrichErrorForStock method now correctly checks the SenderReceiverType before populating errors for invalid facility IDs. This change ensures that errors are only populated for relevant sender/receiver types, enhancing the accuracy of validation.
health-services/individual/src/main/java/org/egov/individual/repository/IndividualRepository.java (1)
  • 273-276: The addition of the userUuid condition in the getQueryForIndividual method enhances the query's filtering capabilities. This change aligns with the PR's objective of improving individual and household services by allowing searches based on userUuid. Ensure that searchObject.getUserUuid() always returns sanitized and validated UUIDs to prevent SQL injection vulnerabilities.
health-services/project/src/main/java/org/egov/project/validator/project/ProjectValidator.java (4)
  • 3-11: Added imports for java.time, java.util.stream.Collectors, com.fasterxml.jackson.databind, and com.fasterxml.jackson.databind.ObjectMapper are appropriate for the new functionalities introduced in this file. These imports are necessary for handling date-time operations, stream operations, and JSON processing which are used in the validation logic.
  • 28-28: The @Qualifier("objectMapper") annotation is correctly used to specify which ObjectMapper bean should be autowired in case there are multiple beans of the same type. This ensures that the specific ObjectMapper configured for this context is injected, which is crucial for consistent JSON processing across the application.
  • 197-201: The validation logic added for ensuring that the start date and end date difference should at least be 1 day is a good practice for data integrity. This prevents the creation or update of projects with invalid date ranges. The logic correctly compares the start and end dates and adds an error message if the condition is not met. This is a crucial check for maintaining the consistency and validity of project data.
  • 440-496: > 📝 NOTE

This review was outside the diff hunks and was mapped to the diff hunk with the greatest overlap. Original lines [414-491]

The method validateStartDateAndEndDateAgainstDB introduces logic for validating start and end dates against the current and next date timestamps. This method is well-structured and includes detailed comments explaining its purpose and logic. The validation ensures that project dates are not set inappropriately in relation to the current time, which is important for maintaining the integrity of project timelines. However, consider the following:

  • The logic for comparing dates (lines 458, 460, 477, and 480) is sound, but ensure that the business requirements explicitly require these specific checks. For instance, the requirement that project start dates should be at least 24 hours in advance from the current time might need clarification or confirmation.
  • The repeated instantiation of error messages and the checks for empty error messages could be streamlined for clarity and efficiency.

Overall, the validation logic is robust and aligns with best practices for date validation in project management contexts.

Comment on lines +285 to +286
log.info("query-------------------------->");
log.info(query);
Copy link
Contributor

Choose a reason for hiding this comment

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

The logging of the constructed query can be helpful for debugging purposes. However, logging sensitive information, such as queries that might contain personal identifiers or other PII, can pose security risks. Consider masking sensitive data or using a debug log level to minimize exposure in production environments.

Comment on lines +68 to +104
public List<HFReferral> find(HFReferralSearch searchObject, Integer limit, Integer offset, String tenantId,
Long lastChangedSince, Boolean includeDeleted) {
// Initial query to select HFReferral fields from the table.
String query = "SELECT hf.id, hf.clientreferenceid, hf.tenantid, hf.projectid, hf.projectfacilityid, hf.symptom, hf.symptomsurveyid, hf.beneficiaryid, hf.referralcode, hf.nationallevelid, hf.createdby, hf.createdtime, hf.lastmodifiedby, hf.lastmodifiedtime, hf.clientcreatedby, hf.clientcreatedtime, hf.clientlastmodifiedby, hf.clientlastmodifiedtime, hf.rowversion, hf.isdeleted, hf.additionaldetails from hf_referral hf";
Map<String, Object> paramsMap = new HashMap<>();

// Generate WHERE conditions based on non-null fields in the search object.
List<String> whereFields = GenericQueryBuilder.getFieldsWithCondition(searchObject,
QueryFieldChecker.isNotNull, paramsMap);

// Apply the WHERE conditions to the query.
query = GenericQueryBuilder.generateQuery(query, whereFields).toString();
query = query.replace("id IN (:id)", "hf.id IN (:id)");
query = query.replace("clientReferenceId IN (:clientReferenceId)", "hf.clientReferenceId IN (:clientReferenceId)");

// Add additional conditions based on tenant ID, includeDeleted, and lastChangedSince.
query = query + " and hf.tenantId=:tenantId ";
if (Boolean.FALSE.equals(includeDeleted)) {
query = query + "and hf.isDeleted=:isDeleted ";
}

if (lastChangedSince != null) {
query = query + "and hf.lastModifiedTime>=:lastModifiedTime ";
}

// Add ORDER BY, LIMIT, and OFFSET clauses to the query.
query = query + "ORDER BY hf.id ASC LIMIT :limit OFFSET :offset";
paramsMap.put("tenantId", tenantId);
paramsMap.put("isDeleted", includeDeleted);
paramsMap.put("lastModifiedTime", lastChangedSince);
paramsMap.put("limit", limit);
paramsMap.put("offset", offset);

// Execute the query and retrieve the list of HFReferral entities.
List<HFReferral> hfReferralList = this.namedParameterJdbcTemplate.query(query, paramsMap, this.rowMapper);
return hfReferralList;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

The find method in HFReferralRepository is well-structured and follows good practices for building dynamic queries based on search criteria. However, consider optimizing the query construction process to avoid potential performance issues with large datasets. Specifically, using StringBuilder for query manipulation and preparing the query with conditions before applying pagination (LIMIT and OFFSET) could enhance performance.

// Use StringBuilder for query manipulation for better performance.
StringBuilder queryBuilder = new StringBuilder(query);
// Apply conditions before pagination for clarity and potential performance benefits.

Comment on lines +114 to +150
public List<HFReferral> findById(List<String> ids, Boolean includeDeleted, String columnName) {
// Find objects in the cache based on the provided IDs.
List<HFReferral> objFound = findInCache(ids).stream()
.filter(entity -> entity.getIsDeleted().equals(includeDeleted))
.collect(Collectors.toList());

// If objects are found in the cache, check if there are any IDs remaining to be retrieved.
if (!objFound.isEmpty()) {
Method idMethod = getIdMethod(objFound, columnName);
ids.removeAll(objFound.stream()
.map(obj -> (String) ReflectionUtils.invokeMethod(idMethod, obj))
.collect(Collectors.toList()));

// If no IDs are remaining, return the objects found in the cache.
if (ids.isEmpty()) {
return objFound;
}
}

// Generate a SELECT query based on the provided IDs and column name.
String query = String.format("SELECT hf.id, hf.clientreferenceid, hf.tenantid, hf.projectid, hf.projectfacilityid, hf.symptom, hf.symptomsurveyid, hf.beneficiaryid, hf.referralcode, hf.nationallevelid, hf.createdby, hf.createdtime, hf.lastmodifiedby, hf.lastmodifiedtime, hf.clientcreatedby, hf.clientcreatedtime, hf.clientlastmodifiedby, hf.clientlastmodifiedtime, hf.rowversion, hf.isdeleted, hf.additionaldetails from hf_referral hf WHERE hf.%s IN (:ids) ", columnName);

// Add conditions to exclude deleted records if includeDeleted is false.
if (includeDeleted == null || !includeDeleted) {
query += " AND hf.isDeleted = false ";
}

// Create parameter map for the query and execute it to retrieve HFReferral entities.
Map<String, Object> paramMap = new HashMap<>();
paramMap.put("ids", ids);
List<HFReferral> hfReferralList = this.namedParameterJdbcTemplate.query(query, paramMap, this.rowMapper);

// Add the retrieved entities to the cache.
objFound.addAll(hfReferralList);
putInCache(objFound);
return objFound;
}
Copy link
Contributor

Choose a reason for hiding this comment

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

The findById method efficiently retrieves HFReferral entities based on a list of IDs and handles caching. To further improve the method, consider adding error handling for database operations and cache interactions. This ensures robustness and reliability, especially in scenarios where database access might fail or cache operations encounter issues.

// Add try-catch blocks around database and cache operations for improved error handling.

@@ -129,24 +129,46 @@ private void validateAndPopulateErrors(List<ProjectBeneficiary> validProjectBene
private void populateErrors(List<ProjectBeneficiary> invalidEntities, Map<ProjectBeneficiary, List<Error>> errorDetailsMap) {
// For each invalid entity, create an error and populate error details
invalidEntities.forEach(projectBeneficiary -> {
Error error = getErrorForUniqueEntity();
Error error = Error.builder().errorMessage("Project Beneficiary Tag Validation Failed").errorCode("INVALID_TAG").type(Error.ErrorType.NON_RECOVERABLE).exception(new CustomException("INVALID_TAG", "Project Beneficiary Tag Validation Failed")).build();
Copy link
Contributor

Choose a reason for hiding this comment

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

The error creation in populateErrors method uses a hardcoded error message and code. Consider externalizing these strings to a properties file or constants class. This facilitates easier updates and localization if needed in the future.

// Consider using a constants class or properties file for error messages and codes.

Comment on lines +78 to +79
|| validator.getClass().equals(SNullIdValidator.class)
|| validator.getClass().equals(SRowVersionValidator.class);
Copy link
Contributor

Choose a reason for hiding this comment

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

The inclusion of SSenderIdReceiverIdEqualsValidator in the delete operation's applicable validators seems unnecessary, as sender and receiver ID equality checks are typically not relevant to deletion scenarios. Review the business logic to confirm if this validator is indeed needed for deletions, and consider removing it from isApplicableForDelete if it's not applicable.

- || validator.getClass().equals(SSenderIdReceiverIdEqualsValidator.class)

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.

Suggested change
|| validator.getClass().equals(SNullIdValidator.class)
|| validator.getClass().equals(SRowVersionValidator.class);
|| validator.getClass().equals(SNullIdValidator.class)
|| validator.getClass().equals(SRowVersionValidator.class);

Comment on lines +18 to +137
end
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: REQUEST_VALIDATION_FAILED
end note
end
rm -> rm: Request validation successful
alt record already exists
alt record found in cache
rm -> rc: Check using clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 1 row
deactivate rc
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: RECORD_ALREADY_EXISTS
end note
end
rm -> rc: Check using clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 0 rows
deactivate rc
rm -> db: Check if record already exists
activate db
db -> rm: 1 row
deactivate db
rm -> rc: Put data in cache using clientReferenceId/serverGeneratedId
activate rc
deactivate rc
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: RECORD_ALREADY_EXISTS
end note
end
alt projectTaskId invalid
rm -> ps: Check if projectTaskId exists
activate ps
ps -> db: Check if projectTaskId exists
activate db
db -> ps: 0 rows
deactivate db
ps -> rm: 0 rows
deactivate ps
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: BAD_REQUEST
end note
end
rm -> ps: Check if projectTaskId exists
activate ps
ps -> db: Check if projectTaskId exists
activate db
db -> ps: 1 row
deactivate db
ps -> rm: 1 row
deactivate ps
alt projectBeneficiaryId invalid
rm -> ps: Check if projectBeneficiaryId exists
activate ps
ps -> db: Check if projectBeneficiaryId exists
activate db
db -> ps: 0 rows
deactivate db
ps -> rm: 0 rows
deactivate ps
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: DEPENDENCY_ERROR
end note
end
rm -> ps: Check if projectBeneficiaryId exists
activate ps
ps -> db: Check if projectBeneficiaryId exists
activate db
db -> ps: 1 row
deactivate db
ps -> rm: 1 row
deactivate ps
rm -> k: Side Effect Data /persist_topic
activate k
rm -> rc: Put Side Effect Data against clientReferenceId/serverGeneratedId in cache
activate rc
deactivate rc
group async
prs -> k: Consume Side Effect Data
activate prs
idx -> k: Consume Side Effect Data
activate idx
idx -> el: Store Side Effect Data
activate el
deactivate el
deactivate idx
prs -> db: Persist Side Effect Data
activate db
deactivate db
deactivate prs
end
deactivate k

rm -> c : HttpStatus: 202 ACCEPTED
Copy link
Contributor

Choose a reason for hiding this comment

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

The sequence diagram for Side Effect - Create operation is comprehensive and well-structured, covering the essential steps involved in creating a side effect. Suggestions for improvement include:

  • Validation and Error Handling: The diagram effectively details the validation process and error handling for various scenarios. Ensure consistency in error handling across all steps for better maintainability.
  • Cache and Database Checks: The diagram shows the process of checking both the cache and the database for record existence. Clarifying the precedence of these checks could enhance efficiency, typically by checking the cache first.
  • Async Operations: The async operations for consuming Side Effect Data from Kafka and persisting it in ElasticSearch and the database are well-represented. Clarifying the conditions under which these operations are triggered would improve understanding.
  • Final Response: The use of HttpStatus: 202 ACCEPTED for successful operations is appropriate. Ensure that all potential error scenarios are covered with the correct status codes and messages for comprehensive client-side handling.

Enhancing these areas could make the diagram even more informative and easier to follow.

Comment on lines +19 to +130
group async
es -> k: Consume Referral Data
activate es
deactivate k
es -> db: Persist Referral Data /error_table
activate db
deactivate db
deactivate es
end
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: REQUEST_VALIDATION_FAILED
end note
end
rm -> rm: Request validation successful
loop for each referral
alt id is null
rm -> rm: Check if Referral object id is null
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: NULL_ID
end note
end
rm -> rm: Check if Referral id is not null
alt record doesn't exist
rm -> rc: Search record based on clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 0 rows
deactivate rc
rm -> db: Search record based on clientReferenceId/serverGeneratedId
activate db
db -> rm: 0 row
deactivate db
note left
This will be marked as unrecoverable right away
and require manual intervention
end note
rm -> k: Referral Data /error_topic
activate k
group async
es -> k: Consume Referral Data
activate es
deactivate k
es -> db: Persist Referral Data /error_table
activate db
deactivate db
deactivate es
end
s -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: RECORD_NOT_FOUND
end note
end
alt record doesn't exists in cache
rm -> rc: Search record based on clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 0 rows
deactivate rc
rm -> db: Search record based on clientReferenceId/serverGeneratedId
activate db
db -> rm: 1 row
deactivate db
rm -> rc: 1 record
activate rc
deactivate rc
end
rm -> rc: Fetch the existing record
activate rc
rc -> rm: 1 row
deactivate rc
alt Duplicate Entry is present [Unique entity validation failed]
rm -> rm: Check if Side Effect object isDeleted is true
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: IS_DELETED_TRUE
end note
end
rm -> rm: Duplicate Entry is not present [Unique entity validation successful]
rm -> k: Referral Data /persist_topic
activate k
rm -> rc: Put Referral Data against clientReferenceId/serverGeneratedId in cache
activate rc
deactivate rc
group async
prs -> k: Consume Referral Data
activate prs
idx -> k: Consume Referral Data
activate idx
idx -> el: Store Referral Data
activate el
deactivate el
deactivate idx
prs -> db: Persist Referral Data
activate db
deactivate db
deactivate prs
end
deactivate k
end
rm -> c : HttpStatus: 202 ACCEPTED
Copy link
Contributor

Choose a reason for hiding this comment

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

The sequence diagram for Referral - Bulk Delete operation is comprehensive, covering the key steps involved in the bulk deletion process. A few suggestions for improvement:

  • Loop Handling: The loop for handling each referral deletion is a critical part of the diagram. Ensure that the diagram clearly indicates the start and end of the loop for better readability.
  • Error Handling: The detailed error handling for request validation and record existence checks is commendable. It's important to ensure that all potential error scenarios are similarly detailed to provide a complete picture of the error handling strategy.
  • Cache and Database Interactions: The diagram shows interactions with both the cache and the database. Clarifying the conditions under which the cache is checked and updated, as well as the conditions for database interactions, would enhance understanding.
  • Async Operations: The async group for consuming Referral Data from Kafka and persisting it in ElasticSearch and the database is well-represented. Clarifying the triggers for these async operations could further improve the diagram's clarity.

Improving these areas could make the diagram even more informative and easier to follow.

Comment on lines +19 to +140
note left
Error Code: REQUEST_VALIDATION_FAILED
end note
end
rm -> rm: Request validation successful
alt id is null
rm -> rm: Check if HFReferral object id is null
rm -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: NULL_ID
end note
end
rm -> rm: Check if HFReferral id is not null
alt record doesn't exist
rm -> rc: Search record based on clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 0 rows
deactivate rc
rm -> db: Search record based on clientReferenceId/serverGeneratedId
activate db
db -> rm: 0 row
deactivate db
note left
This will be marked as unrecoverable right away
and require manual intervention
end note
rm -> k: HFReferral Data /error_topic
activate k
group async
es -> k: Consume HFReferral Data
activate es
deactivate k
es -> db: Persist HFReferral Data /error_table
activate db
deactivate db
deactivate es
end
s -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: RECORD_NOT_FOUND
end note
end
alt record doesn't exists in cache
rm -> rc: Search record based on clientReferenceId/serverGeneratedId
activate rc
rc -> rm: 0 rows
deactivate rc
rm -> db: Search record based on clientReferenceId/serverGeneratedId
activate db
db -> rm: 1 row
deactivate db
rm -> rc: 1 record
activate rc
deactivate rc
end
rm -> rc: Fetch the existing record
activate rc
rc -> rm: 1 row
deactivate rc
alt incorrect rowVersion
s -> s: Compare rowVersion between request and db
s -> s: Incorrect rowVersion [request: should be +1 only]
s -> k: HFReferral Data /error_topic
group async
es -> k: Consume HFReferral Data
activate es
deactivate k
es -> db: Persist HFReferral Data /error_table
activate db
deactivate db
deactivate es
end
s -> c: HttpStatus: 400 with appropriate error code
note left
Error Code: BAD_REQUEST
end note
end
s -> s: Compare rowVersion between request and db
s -> s: rowVersion in request = rowVersion in db + 1
rm -> k: HFReferral Data /persist_topic
activate k
rm -> rc: Put HFReferral Data against clientReferenceId/serverGeneratedId in cache
activate rc
deactivate rc
group async
prs -> k: Consume HFReferral Data
activate prs
idx -> k: Consume HFReferral Data
activate idx
idx -> el: Store HFReferral Data
activate el
deactivate el
deactivate idx
prs -> db: Persist HFReferral Data
activate db
deactivate db
deactivate prs
end
deactivate k
rm -> c : HttpStatus: 202 ACCEPTED
Copy link
Contributor

Choose a reason for hiding this comment

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

The sequence diagram for HFReferral - Delete operation is well-structured and covers the essential steps involved in deleting an HFReferral. Suggestions for improvement include:

  • Validation and Error Handling: The diagram effectively details the validation process and error handling for various scenarios. Ensure consistency in error handling across all steps for better maintainability.
  • Cache and Database Checks: The diagram shows the process of checking both the cache and the database for record existence. Clarifying the precedence of these checks could enhance efficiency, typically by checking the cache first.
  • Async Operations: The async operations for consuming HFReferral Data from Kafka and persisting it in ElasticSearch and the database are well-represented. Clarifying the conditions under which these operations are triggered would improve understanding.
  • Final Response: The use of HttpStatus: 202 ACCEPTED for successful operations is appropriate. Ensure that all potential error scenarios are covered with the correct status codes and messages for comprehensive client-side handling.

Enhancing these areas could make the diagram even more informative and easier to follow.

Comment on lines +30 to +32
import java.lang.reflect.Type;
import java.util.Collections;
import java.util.HashMap;
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 script output indicates that the only occurrences of Type and HashMap in the ProjectStaffService.java file are the import statements themselves, suggesting that these imports might not be utilized within the class. This supports the concern raised in the review comment about the potential for unnecessary imports cluttering the codebase.

Analysis chain

The addition of imports for java.lang.reflect.Type and java.util.HashMap is noted. Ensure these imports are utilized within the class to avoid unnecessary imports that could clutter the codebase.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Verify the usage of Type and HashMap within the class
rg --type java 'Type|HashMap' health-services/project/src/main/java/org/egov/project/service/ProjectStaffService.java

Length of output: 176

Comment on lines +47 to +133
/**
* Validates whether project facilities exist in the database or not using project facility IDs for HFReferral objects.
*
* @param request The HFReferralBulkRequest containing a list of HFReferral entities
* @return A Map containing HFReferral entities as keys and lists of errors as values
*/
@Override
public Map<HFReferral, List<Error>> validate(HFReferralBulkRequest request) {
log.info("Validating project facility IDs");
Map<HFReferral, List<Error>> errorDetailsMap = new HashMap<>();
List<HFReferral> entities = request.getHfReferrals();

// Grouping HFReferrals by tenantId to fetch project facilities for each tenant
Map<String, List<HFReferral>> tenantIdReferralMap = entities.stream().collect(Collectors.groupingBy(HFReferral::getTenantId));
tenantIdReferralMap.forEach((tenantId, hfReferralList) -> {
// Get all the existing project facilities in the HFReferral list from Project Service
List<ProjectFacility> existingProjectFacilities = getExistingProjects(tenantId, hfReferralList, request);
// Validate project facilities and populate error map if invalid entities are found
validateAndPopulateErrors(existingProjectFacilities, entities, errorDetailsMap);
});

return errorDetailsMap;
}

// Helper method to add an item to a list if it is not null
private void addIgnoreNull(List<String> list, String item) {
if(Objects.nonNull(item)) list.add(item);
}

// Fetches existing project facilities from Project Service based on their IDs
private List<ProjectFacility> getExistingProjects(String tenantId, List<HFReferral> hfReferrals, HFReferralBulkRequest request) {
List<ProjectFacility> existingProjectFacilities = new ArrayList<>();
final List<String> projectFacilityIdList = new ArrayList<>();

// Collecting project facility IDs from HFReferrals
hfReferrals.forEach(hfReferral -> {
addIgnoreNull(projectFacilityIdList, hfReferral.getProjectFacilityId());
});

if(!projectFacilityIdList.isEmpty()) {
ProjectFacilitySearch projectFacilitySearch = ProjectFacilitySearch.builder()
.id(!projectFacilityIdList.isEmpty()? projectFacilityIdList : null)
.tenantId(tenantId)
.build();

try {
// Using project facility search and fetching the valid IDs.
ProjectFacilityBulkResponse projectFacilityBulkResponse = serviceRequestClient.fetchResult(
new StringBuilder(referralManagementConfiguration.getProjectHost()
+ referralManagementConfiguration.getProjectFacilitySearchUrl()
+"?limit=" + hfReferrals.size()
+ "&offset=0&tenantId=" + tenantId),
ProjectFacilitySearchRequest.builder()
.requestInfo(request.getRequestInfo())
.projectFacility(projectFacilitySearch)
.build(),
ProjectFacilityBulkResponse.class
);
existingProjectFacilities = projectFacilityBulkResponse.getProjectFacilities();
} catch (Exception e) {
throw new CustomException("Project Facilities failed to fetch", "Exception : "+e.getMessage());
}
}

return existingProjectFacilities;
}

// Validates project facilities and populates the error map if invalid entities are found
private void validateAndPopulateErrors(List<ProjectFacility> existingProjectFacilities, List<HFReferral> entities, Map<HFReferral, List<Error>> errorDetailsMap) {
final List<String> existingProjectFacilityIds = new ArrayList<>();

// Extracting IDs from existing project facilities
existingProjectFacilities.forEach(projectFacility -> {
existingProjectFacilityIds.add(projectFacility.getId());
});

// Filtering invalid entities
List<HFReferral> invalidEntities = entities.stream().filter(notHavingErrors()).filter(entity ->
Objects.nonNull(entity.getProjectFacilityId()) && !existingProjectFacilityIds.contains(entity.getProjectFacilityId())
).collect(Collectors.toList());

// Populating error details for invalid entities
invalidEntities.forEach(hfReferral -> {
Error error = getErrorForNonExistentEntity();
populateErrorDetails(hfReferral, error, errorDetailsMap);
});
}
Copy link
Contributor

Choose a reason for hiding this comment

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

The validate method implements the logic to validate project facility IDs in HFReferral objects. It uses a combination of streaming operations and external service calls to perform the validation. The error handling and population mechanisms are correctly implemented. However, consider handling potential exceptions from the service call more gracefully to ensure that the application can recover from transient errors without impacting the user experience.

try {
    // Existing service call logic
} catch (Exception e) {
    log.error("Error fetching project facilities: {}", e.getMessage());
    // Consider adding a more user-friendly error message to the errorDetailsMap
}

jagankumar-egov pushed a commit that referenced this pull request May 27, 2024
* no of cycle and deivery drafted changes

* fixes

* add localisation code for boundaries

* fixes

* fixes

* Value localise in summary screen, api error change

---------

Co-authored-by: nabeelmd-eGov <[email protected]>
kavi-egov pushed a commit that referenced this pull request May 29, 2024
* Updated the error logging logic and other utils

* added validation toast after file check (#533)

* Removed other unwanted logs ::cleaned up the code

* campaign search by type fix (#538)

* upload draft fixes

* campaign type search fix

---------

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

* Added basic Loggers to  know the API Behaviours

* Added     In Progress to show in mycamapign screen

* updated version (#541)

* Hlm 5855 (#544)

* upload draft fixes

* campaign type search fix

* fixes

---------

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

* Feat : added today's date logic in search

* Revert kafka changes

* Added campaignsIncludesDates in schema

* Refactored

* Feat : added today's date logic in search (#546)

* Feat : added today's date logic in search

* Revert kafka changes

* Added campaignsIncludesDates in schema

* Refactored

* formatted and corrected few logs

* Added localisation on create of boundary data

* HLM-5830 refreshing page is retaining values (#547)

* target validation (#548)

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

* selecting boudaries fixes

* Feat : added campaign mapping check

* summary date format fix (#550)

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

* Update campaignUtils.ts

* HLM 5848 (#553)

* summary date format fix

* product error fix, draft calls fix

---------

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

* added upcoming tab in my campaign (#555)

* summary date format fix

* product error fix, draft calls fix

* added upcoming tab in my campaign

---------

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

* fixed selection from the draft issue (#556)

* Updated the loggers logic

* validate upload data in summary (#557)

* summary date format fix

* product error fix, draft calls fix

* added upcoming tab in my campaign

* validate upload data in summary

---------

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

* Feat : added codes and mapping check (#559)

* added log level environment config

* fixed HLM-5879 toast message (#561)

* Feat : user mapping for all boundaries (#562)

* no of cycle and deivery drafted changes (#564)

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

* changes for boundary bulk localization HLM-5874 (#560)

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

* made toast message time longer (#566)

* Fixed the project mapping issue during campaign create

* retaining api message (#567)

* HLM 5791 (#569)

* no of cycle and deivery drafted changes

* fixes

---------

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

* add localisation code for boundaries (#570)

* no of cycle and deivery drafted changes

* fixes

* add localisation code for boundaries

* fixes

* fixes

---------

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

* made the delivery conditions as dynamic

* fixed message in target upload (#572)

* fixed HLM-5871 selection of children (#571)

* fixed HLM-5871 selection of children

* corrected includeAllChildren

* Update SelectingBoundaries.js

* Added health master

* Feat : added validations and keys reorder

* Differenttab (#574)

* changes for boundary bulk localization HLM-5874

* localized boundary tab on which split happens

* config

---------

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

* changed filters to true (#575)

* Patch 1 (#578)

* changes for boundary bulk localization HLM-5874

* localized generateDifferentTabsOnBasisOf

---------

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

* Bhavya filter (#577)

* changed filters to true

* fixed includeAllChildren for the lowest

* Update micro-ui/web/micro-ui-internals/packages/modules/campaign-manager/src/components/SelectingBoundaries.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>

* Project type object key updated for condition

* API Error localisation change, Gender localisation in summary (#579)

* no of cycle and deivery drafted changes

* fixes

* add localisation code for boundaries

* fixes

* fixes

* Value localise in summary screen, api error change

---------

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

* HLM 5791 (#581)

* no of cycle and deivery drafted changes

* fixes

* add localisation code for boundaries

* fixes

* fixes

* Value localise in summary screen, api error change

* fixes

---------

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

* Fixed the boundary filtered logic for different types of data injestions (#583)

* making generate api to fetch filters from campaign id

commit ca425591b1d1ec91a05facb6e2bdf9b5100e9570
Merge: 3ba4c5ddac b491428
Author: Jagankumar <[email protected]>
Date:   Wed May 15 16:13:32 2024 +0530

    Merge branch 'campaign' into boundary-upload-bulk

commit 3ba4c5ddac8a9d13145892bfd7c772a8853d6e7b
Author: nitiman7765 <[email protected]>
Date:   Tue May 14 12:24:53 2024 +0530

    COMMIT

commit f775e17aa68cffa622a038b22119082486f064fe
Author: nitiman7765 <[email protected]>
Date:   Mon May 13 18:36:28 2024 +0530

    changes for boundary bulk localization HLM-5874

* Fixed the boundary filtered logic for different types of data injestions

* updated comments

* Readme config (#582)

* Feat : initialised readme

* Feat : added readme

* Feat : added readMe Config for target

* Feat : added localisation for sheetName

* Feat : updated columnwidth in boundary

---------

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

* Bhavya check (#585)

* changes

* Update UploadData.js

* Generate API call fix (#584)

* 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

---------

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

* Capital error (#586)

* Feat : initialised readme

* Feat : added readme

* Feat : added readMe Config for target

* Feat : added localisation for sheetName

* Feat : updated columnwidth in boundary

* Feat : capital name in error

* Target (#587)

* changes for boundary bulk localization HLM-5874

* refactored localization logic

---------

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

* generate api fixes, user generate fixes (#588)

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

* Updated the status in camapign API

* added info card (#589)

* changes in card (#593)

* Corrected the project type condition logic

* generate api call fix (#595)

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

* Update campaignMappingUtils.ts

* Update genericApis.ts

* Fixed the conditions logic for delivery

* Update genericUtils.ts (#599)

* Update genericUtils.ts

* Update constants.ts

* HLM 5872 (#600)

* generate api fix, user generate file fix

* remove console

---------

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

* updated the condition logic according to the parsing logic

* HLM 5872 (#601)

* generate api fix, user generate file fix

* remove console

* downlaod pop up fixes

---------

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

* addded toast for extra parent (#603)

* HLM 5872 (#604)

* generate api fix, user generate file fix

* remove console

* downlaod pop up fixes

* localisation update

---------

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

* updated info css and fetching according to type (#605)

* Target nitish (#607)

* upated target validaton

* updated target vaidation

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

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

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

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

* Update utilities/project-factory/src/server/utils/validators/campaignValidators.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>

* upated target validaton

* updated target vaidation

* added one condition for target

* added some chage in condition for valdiate target

* Feat : added boundary code mandatory

* download with filename fixes (#610)

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

* fixed localistion (#611)

* Update campaignValidators.ts

* Update campaignValidators.ts

* core/css version update & revert filedownload changes (#614)

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

* Update campaignValidators.ts

* HLM-5908 Genrate issue fix (#616)

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

* change && to and (#620)

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

* toast back issue fix (#621)

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

* toast error fix (#622)

* toast back issue fix

* version update

---------

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

* localization logic update

* Update campaignValidators.ts

* Update campaignValidators.ts

* core/css version update & revert filedownload changes (#614)

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

* Update campaignValidators.ts

* HLM-5908 Genrate issue fix (#616)

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

* change && to and (#620)

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

* toast back issue fix (#621)

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

* toast error fix (#622)

* toast back issue fix

* version update

---------

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

* fixed random error (#626)

* download file in summary screen fix (#627)

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

* fix rerender (#628)

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

* Fixed the boundary localisation issue in user and facility generation, Added few logs

* Added few logs in boundary generation

* Update genericApis.ts

* generate fix (#629)

* fix rerender

* generate api and download error fix

---------

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

* localisation fetch logic updated and made singleton class

* remove filter from boudary (#632)

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

* Removed filter validation in the generate API

* toast message fix (#635)

* Cleaned up few file structures

* updated the loggers

* Updated the campaign cycles conditions for App Integration

* Service layer (#631)

* Feat : service layer implementation

* Feat : service layer implementation

* Feat : refactor

* updated

---------

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

* Changed imports of kafka

* Feat : updated kafka name (#637)

* Generate API response time reduced and optimized

* Update campaignValidators.ts (#639)

* page size fix to 10 (#638)

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

* summary to back screen redirection fix

* summary to back screen redirection fix (#640)

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

* preview params fix

* formatted the code and removed few loggers

* auto redirection fix & auto uploaded deleted file fix (#642)

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

* Generationlogic (#630)

* changes for boundary bulk localization HLM-5874

* commit for bulk boundary

* commiting the changes fot boundary code generation

* upated target validaton

* updated target vaidation

* commmit

* code generation

* updary boundary bulk upload logic

* generate fix (#629)

* fix rerender

* generate api and download error fix

---------

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

* localisation fetch logic updated and made singleton class

* updated logic for update boundary data

* remove filter from boudary (#632)

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

* Removed filter validation in the generate API

* toast message fix (#635)

* Cleaned up few file structures

* updated the loggers

* Updated the campaign cycles conditions for App Integration

* Service layer (#631)

* Feat : service layer implementation

* Feat : service layer implementation

* Feat : refactor

* updated

---------

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

* Changed imports of kafka

* Feat : updated kafka name (#637)

* Generate API response time reduced and optimized

* Update campaignValidators.ts (#639)

* page size fix to 10 (#638)

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

* summary to back screen redirection fix

* preview params fix

* commit suggested by jagan

---------

Co-authored-by: nitiman7765 <[email protected]>
Co-authored-by: nabeelmd-eGov <[email protected]>
Co-authored-by: nabeelmd-eGov <[email protected]>
Co-authored-by: Jagankumar <[email protected]>
Co-authored-by: Bhavya-egov <[email protected]>
Co-authored-by: ashish-egov <[email protected]>
Co-authored-by: ashish-egov <[email protected]>

* 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)

* updated the folder structure

* Create CHANGELOG.md (#717)

* updated the versions

---------

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

5 participants