Skip to content

feat(AMM-2496): Stop TB team (van) on Work Location Mapping and faster Nikshay lookups - #155

Merged
SauravBizbRolly merged 6 commits into
release-3.12.0from
vb/stoptb-bulk-upload-fixes
Oct 21, 2026
Merged

SauravBizbRolly merged 6 commits into
release-3.12.0from
vb/stoptb-bulk-upload-fixes

Conversation

@vishwab1

Copy link
Copy Markdown
Member

📋 Description

JIRA ID:

Please provide a summary of the change and the motivation behind it. Include relevant context and details.


✅ Type of Change

  • 🐞 Bug fix (non-breaking change which resolves an issue)
  • ✨ New feature (non-breaking change which adds functionality)
  • 🔥 Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • 🛠 Refactor (change that is neither a fix nor a new feature)
  • ⚙️ Config change (configuration file or build script updates)
  • 📚 Documentation (updates to docs or readme)
  • 🧪 Tests (adding new or updating existing tests)
  • 🎨 UI/UX (changes that affect the user interface)
  • 🚀 Performance (improves performance)
  • 🧹 Chore (miscellaneous changes that don't modify src or test files)

ℹ️ Additional Information

Please describe how the changes were tested, and include any relevant screenshots, logs, or other information that provides additional context.

vishwab1 and others added 6 commits September 28, 2026 09:49
…ge lookups

A single district can return thousands of rows (Pune MC: 5,327
facilities, Ganganagar: 3,058 villages), and each full entity carried
audit fields and codes the Admin UI never reads. Map each row to its
ID, name and parent ID before serializing. Field names are unchanged,
so older Admin UI builds keep working. Pune MC facilities response
drops from ~1.4 MB to ~490 kB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
UAT districts hold 1 lakh+ village rows (the same village repeated under
each facility). Loading full NikshayVillage entities for that was most of
the response time. Select the three columns the Admin UI uses instead.

Alluri Sitharama Raju at UAT scale (171,003 villages, local test copy):
1.5-2.0 s -> 0.8-1.1 s, same rows and fields. Order is now name, then
village ID, so villages with the same name always come back in one order.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Brings in the villageMapping/updateVillage endpoint and the bulk
registration changes. No Nikshay lookup or mapping save files change.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…MM-2496)

In AMRIT a team is a van. Stop TB teams are the MMU vans of the user's
state (the camp laptops already use them). A team has many users and a
user is in one team per Stop TB service line.

- GET  /stoptb/team/vans?stateID&serviceProviderID  teams of a state
- GET  /stoptb/team/user?userID&providerServiceMapID  user's team
- GET  /stoptb/team/members?vanID&providerServiceMapID  team members
- POST /stoptb/team/assign {userID, providerServiceMapID, vanID|null,
  modifiedBy}  moves the user into the team (or out of it) in one
  transaction

Membership is stored the way AMRIT already links users to vans
(m_userparkingplacemap -> m_uservanmapping), so van-based logins see the
team. No schema change. Rejects non-Stop TB service lines and vans of
another state.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…MM-2496)

The team now lives on m_userservicerolemapping.VanID (AMRIT-DB V127)
instead of m_userparkingplacemap/m_uservanmapping, which belong to MMU's
AMRIT parking-place setup. The future Stop TB service (Nikshay-based)
reads location and van from the same mapping row.

- Create/Update save vanID with the mapping. All of a user's active Stop
  TB rows always get the same VanID; a new role without a team takes the
  user's current team. Deactivating a role leaves the team as is.
- A team is only accepted on a Stop TB mapping, and must be a van of
  that state (checked before saving).
- Team vans come from stoptb.team.van-service (default MMU).
- /stoptb/team/user and /members read the column; /assign is removed.
- nikshay/location/userMapping also returns vanID.

Requires the VanID column (AMRIT-DB V127) before deploying.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Bulk registration API improvements (AMM-2469, 2352, 2415): Employee Id
required and unique, create-only uploads, duplicate checks in a file,
designation validated.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Oct 21, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 89bfe196-3eda-4d66-bb40-34a241973a6b
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@SauravBizbRolly
SauravBizbRolly merged commit 2dd2336 into release-3.12.0 Oct 21, 2026
2 checks passed
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
C Security Rating on New Code (required ≥ A)

See analysis details on SonarQube Cloud

Catch issues before they fail your Quality Gate with our IDE extension SonarQube for IDE

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants