kolaente
5807f2e7b4
refactor(user): share user-search logic between v1 and v2
...
Extract the duplicated user-search business logic into two helpers both API
versions call, and refactor v1's handlers onto them:
- user.SearchUsers wraps ListUsers + email obfuscation (global search)
- models.SearchUsersForProject wraps the project read check + ListUsersFromProject
Each handler keeps its own forbidden mapping (v1 echo.ErrForbidden vs v2
huma) so v1 stays byte-identical on the wire.
2026-06-11 20:07:43 +00:00
..
2026-04-20 18:55:06 +00:00
2026-04-20 18:55:06 +00:00
2026-06-11 19:32:42 +00:00
2026-04-20 18:55:06 +00:00
2026-06-11 19:32:42 +00:00
2026-06-11 19:32:42 +00:00
2026-06-08 13:54:09 +00:00
2026-06-08 13:54:09 +00:00
2026-03-30 12:28:15 +00:00
2026-03-30 12:28:15 +00:00
2026-03-30 12:28:15 +00:00
2026-05-15 17:25:09 +02:00
2026-05-01 14:44:10 +00:00
2026-05-15 17:25:09 +02:00
2026-06-05 08:49:23 +00:00
2026-05-01 14:44:10 +00:00
2026-05-01 14:44:10 +00:00
2026-06-05 08:51:39 +00:00
2026-06-09 20:13:02 +00:00
2026-05-20 21:02:14 +00:00
2026-05-20 21:02:14 +00:00
2026-06-08 13:54:09 +00:00
2026-06-08 13:54:09 +00:00
2026-04-09 10:45:34 +00:00
2026-06-09 20:01:20 +00:00
2026-06-09 11:40:04 +00:00
2026-06-10 11:56:05 +02:00
2026-06-09 11:40:04 +00:00
2026-05-31 15:27:44 +02:00
2026-06-05 09:17:25 +00:00
2026-04-09 15:38:07 +00:00
2026-06-05 09:17:25 +00:00
2026-05-30 13:48:01 +00:00
2026-06-02 11:55:25 +00:00
2026-05-30 13:48:01 +00:00
2026-06-08 13:54:09 +00:00
2026-06-07 10:05:24 +00:00
2026-05-15 17:25:09 +02:00
2026-05-15 17:25:09 +02:00
2026-03-27 23:05:04 +00:00
2026-06-09 20:11:43 +00:00
2026-04-20 18:55:06 +00:00
2026-04-20 18:55:06 +00:00
2026-06-07 15:33:20 +00:00
2026-04-11 17:20:53 +00:00
2026-04-20 18:55:06 +00:00
2026-06-07 10:37:59 +00:00
2026-04-20 18:55:06 +00:00
2026-06-01 13:04:34 +00:00
2026-06-10 10:12:09 +00:00
2026-06-09 21:34:22 +00:00
2026-04-09 07:25:57 +00:00
2026-06-07 10:40:20 +00:00
2026-06-05 08:21:48 +00:00
2026-06-08 13:54:09 +00:00
2026-06-07 09:57:51 +00:00
2026-06-09 19:42:16 +00:00
2026-04-09 16:22:56 +00:00
2026-06-10 10:22:39 +00:00
2026-06-08 13:54:09 +00:00
2026-05-19 10:35:43 +02:00
2026-06-11 18:31:03 +00:00
2026-06-03 19:57:26 +00:00
2026-06-01 14:13:39 +02:00
2026-04-09 07:25:57 +00:00
2026-06-10 11:55:51 +02:00
2026-04-05 12:20:35 +00:00
2026-06-09 20:42:00 +00:00
2026-04-02 16:30:23 +00:00
2026-05-31 12:56:57 +00:00
2026-04-11 20:44:28 +00:00
2026-06-10 10:12:09 +00:00
2026-04-20 18:55:06 +00:00
2026-06-07 10:48:23 +00:00
2026-04-20 18:55:06 +00:00
2026-06-07 10:48:23 +00:00
2026-06-08 13:54:09 +00:00
2026-06-08 13:54:09 +00:00
2026-06-08 13:54:09 +00:00
2026-05-06 16:08:16 +02:00
2026-05-01 14:44:10 +00:00
2026-05-01 14:44:10 +00:00
2026-06-11 20:07:43 +00:00
2026-06-11 07:02:31 +00:00
2026-06-10 19:12:41 +00:00