admin
ef1aa7cf24
feat(biometrics): enforce strict branch scoping on biometric attendance and sync
...
- Restrict biometric attendances query and grouped records strictly to employees of assigned branch
- Scope bulk sync (syncAll) to only sync biometric records for employees within the user's branch
- Guard individual sync and custom sync against processing employees from foreign branches
- Tighten attendance records query to strictly filter by employee assigned branch
- Add feature test verifying biometric attendance isolation and permission guards
2026-09-10 11:32:48 +08:00
..
2026-05-30 11:13:45 +08:00
2026-04-30 13:20:44 +08:00
2026-04-13 08:16:56 +08:00
2026-05-19 11:24:41 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:32:48 +08:00
2026-09-10 11:22:15 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:32:48 +08:00
2026-09-10 11:14:24 +08:00
2026-05-04 14:37:36 +08:00
2026-04-13 08:16:56 +08:00
2026-07-16 10:31:07 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-07-16 10:31:07 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-07-23 10:40:14 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-05-12 11:29:50 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:14:24 +08:00
2026-09-10 11:14:24 +08:00
2026-04-22 11:26:22 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 09:24:02 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:22:15 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-07-06 13:16:00 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-07-01 09:22:17 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-07-01 09:48:52 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-28 09:50:44 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:22:15 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-09-10 11:14:24 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00
2026-04-13 08:16:56 +08:00