You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Many coworking members store laptops, chargers, and personal belongings in physical lockers at the hub. Administrators currently have no platform tool to track locker assignments — this leads to double-assignments and uncollected contents.
Context
User entity: backend/src/users/entities/user.entity.ts
NotificationsModule: backend/src/notifications/ — notify member when a locker is assigned or released
Overview
Many coworking members store laptops, chargers, and personal belongings in physical lockers at the hub. Administrators currently have no platform tool to track locker assignments — this leads to double-assignments and uncollected contents.
Context
Userentity:backend/src/users/entities/user.entity.tsNotificationsModule:backend/src/notifications/— notify member when a locker is assigned or releasedTasks
Lockerentity:id,lockerNumber(string, unique),floor(string, e.g."Floor 2"),size(SMALL/MEDIUM/LARGE),assignedToUserId(nullable FK),assignedAt(nullable timestamptz),isActive(bool),notes(text, nullable),createdAt,updatedAtPOST /lockers— create a locker (admin only)PATCH /lockers/:id— update locker details or active status (admin only)DELETE /lockers/:id— soft-delete locker (admin only; only if unassigned)GET /lockers— list all lockers (admin: all; staff: all; member: only their own assigned locker)GET /lockers/mine— returns the locker assigned to the current member (ornull)POST /lockers/:id/assign— assign locker to a member (admin only); notify member viaNotificationsModulePOST /lockers/:id/unassign— release the locker assignment (admin only); notify former assigneeFiles to Modify / Create
backend/src/lockers/(module, entity, controller, service, providers)backend/src/app.module.ts