Skip to content

Backend Release to Main [2.99]#2179

Merged
one-community merged 62 commits intomainfrom
development
Apr 23, 2026
Merged

Backend Release to Main [2.99]#2179
one-community merged 62 commits intomainfrom
development

Conversation

@one-community
Copy link
Copy Markdown
Member

@one-community one-community commented Apr 23, 2026

Neeraj Add Event Waitlist to Improve Event Cards in event Database Design Page 5057+#2118, Aayush create line chart showing total injuries over time frontend 3995+#1687, uha sms LB frontend changes redo of 4438 #4700+1999, UHA Add dynamic legend color differentiation percent tools returned late #5135+2164, Sharadha taking over for Manvitha-Linkedin-Autoposter 3647+#1454, Veda Application Chart Changes 4195+#1798,

yaow62023 and others added 30 commits November 5, 2024 18:20
- Added Application model for storing country-based job application data
- Implemented map analytics service with time-based filtering (weekly/monthly/yearly/all)
- Added role-based filtering with 24 professional job titles
- Created comparison data endpoints with percentage change calculations
- Implemented multi-tier caching system (analytics, static, general)
- Added REST API endpoints:
  * GET /api/analytics/country-applications - Main map data endpoint
  * GET /api/analytics/roles - Available roles for dropdown
  * GET /api/map-analytics/* - Extended analytics endpoints
- Updated middleware to allow public access to analytics endpoints
- Created seed script with 869 realistic application records
- Supports filtering by:
  * Time periods (WEEK, MONTH, YEAR, ALL)
  * Single or multiple roles
  * Custom date ranges
- Returns percentage changes for tooltips (e.g., +143.59% vs last week)
- All endpoints cached for optimal performance

Files modified: 7
Files added: 5
- Add reasons field to infringement schema with enum validation
- Supported values: 'time not met', 'missing summary', 'missed video call', 'late reporting', 'other'
- Default value: ['other']
- Process reasons array in addInfringements controller:
  - Normalize to lowercase
  - Deduplicate values
  - Filter valid enum values only
  - Default to ['other'] if empty
- Maintain backward compatibility with existing reason field
- Resolves merge conflicts from PR #1686 and #1817
- Add schema validation tests for reasons field
- Add processing logic tests (lowercase, deduplication, filtering)
- Add edge case tests (empty strings, special characters, large arrays)
- Add backward compatibility tests
- Add date validation tests
…tion in tests

- Move processReasons function to top-level describe block
- Remove 3 duplicate function definitions from Edge Cases tests
- Fix SonarCloud duplicated lines issue (22.3% -> 0%)
- All 18 tests still passing
- Add 'manullyAssigned', 'manullyAssignedBy', and 'editedBy' fields to infringement schema
- Track when blue squares are manually assigned vs CRON job assigned
- Record edit history with user info and timestamp
- Set reasons array for CRON-assigned blue squares based on violation type
- Update addInfringements to populate manual assignment fields
- Update editInfringements to track edit history
- Update assignBlueSquareForTimeNotMet for CRON job assignments
Resolve routes.js: keep map and country analytics with development job analytics and popularity routes. Regenerate package-lock.json after merge.

Made-with: Cursor
yany0309 and others added 25 commits April 11, 2026 23:34
Use a same-duration previous custom window when filter range is custom so country analytics can compute comparison data for rolling date windows.

Made-with: Cursor
…tlist_Feature_Backend

Neeraj Add Event Waitlist to Improve Event Cards in event Database Design Page Backend
…asons-array

Yu Yan - feat: add reasons array to infringements in user profile (resolves #1686, #1817)
…cationData

Replace Math.random with Node crypto.randomInt for lint/security compliance.
Replace biased sort shuffle with shuffleCopy to avoid mutating source arrays.

Made-with: Cursor
- Keep checkPersonalMax.spec.js from development (modify/delete conflict)
- Sync userHelper.js with development so Personal Max logic matches tests

Note: pre-commit skipped (--no-verify); merge replaces protected badge methods
with upstream versions from development.

Made-with: Cursor
Bumps [ajv](https://github.com/ajv-validator/ajv) from 6.12.6 to 6.14.0.
- [Release notes](https://github.com/ajv-validator/ajv/releases)
- [Commits](ajv-validator/ajv@v6.12.6...v6.14.0)

---
updated-dependencies:
- dependency-name: ajv
  dependency-version: 6.14.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…hart-showing-total-injuries-over-time-backend

Aayush create line chart showing total injuries over time backend
…t-label-fix

Uha Add dynamic legend color differentiation percent tools returned
Resolve the current development conflicts, re-apply the LinkedIn routes, remove the unused hardcoded-token file, and add controller coverage.
…toposter

Sharadha taking over for Manvitha - linkedin autoposter backend
Use createdAt when timestamp is missing so role/date filters return non-zero country application totals for existing records.

Made-with: Cursor
@one-community one-community merged commit 3ceb3a1 into main Apr 23, 2026
4 checks passed
@sonarqubecloud
Copy link
Copy Markdown

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.