Skip to content

feat(cntr): add password history, seat map, audit trail, and IP whitelist guard (BE-28–31)#1074

Merged
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
JoeX17:feature/JoeX17-issues-967-968-969-970
Jun 2, 2026
Merged

feat(cntr): add password history, seat map, audit trail, and IP whitelist guard (BE-28–31)#1074
yusuftomilola merged 1 commit into
DistinctCodes:mainfrom
JoeX17:feature/JoeX17-issues-967-968-969-970

Conversation

@JoeX17
Copy link
Copy Markdown
Contributor

@JoeX17 JoeX17 commented Jun 2, 2026

Summary

  • [BE-28] Add password history tracker using bcrypt to prevent reuse of last N passwords
  • [BE-29] Add workspace seat map generator distributing seats evenly across rows with booked status tracking
  • [BE-30] Add audit trail logger using crypto.randomUUID() with deep-cloned metadata for sensitive admin actions
  • [BE-31] Add IP whitelist NestJS guard reading ADMIN_IP_WHITELIST env var; fail-open when unset or empty

Closes

Closes #967
Closes #968
Closes #969
Closes #970

@vercel
Copy link
Copy Markdown

vercel Bot commented Jun 2, 2026

@JoeX17 is attempting to deploy a commit to the naijabuz's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 2, 2026

@JoeX17 Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

Copy link
Copy Markdown
Collaborator

@yusuftomilola yusuftomilola left a comment

Choose a reason for hiding this comment

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

LGTM. Let's go

@yusuftomilola yusuftomilola merged commit bbc780e into DistinctCodes:main Jun 2, 2026
1 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants