Устранить дублирование isAdmin() — вынести в middleware #54

Closed
opened 2026-06-17 19:39:32 +00:00 by NW · 1 comment
Owner

Проблема

Идентичная функция isAdmin() дублируется в 7 файлах:

  • adminHandler.js, adminProductHandler.js, adminWalletsHandler.js, adminUserHandler.js, adminUserLocationHandler.js, adminDumpHandler.js, adminLocationHandler.js

Решение

  • Создать src/middleware/auth.js с единственной функцией isAdmin(userId)
  • Добавить middleware-подход: router.on('admin_*', auth.isAdmin, handler)
  • Удалить isAdmin() из всех 7 файлов
  • Импортировать из middleware

Приоритет: СРЕДНИЙ

## Проблема Идентичная функция `isAdmin()` дублируется в 7 файлах: - adminHandler.js, adminProductHandler.js, adminWalletsHandler.js, adminUserHandler.js, adminUserLocationHandler.js, adminDumpHandler.js, adminLocationHandler.js ## Решение - [ ] Создать `src/middleware/auth.js` с единственной функцией `isAdmin(userId)` - [ ] Добавить middleware-подход: `router.on('admin_*', auth.isAdmin, handler)` - [ ] Удалить isAdmin() из всех 7 файлов - [ ] Импортировать из middleware ## Приоритет: СРЕДНИЙ
NW added this to the Phase 2: Architecture & Refactoring milestone 2026-06-17 19:39:32 +00:00
NW added the priority::mediumtype::refactorphase::2 labels 2026-06-17 19:39:32 +00:00
NW closed this issue 2026-06-17 21:10:02 +00:00
Author
Owner

Реализовано

  • Создать src/middleware/auth.js с единственной функцией isAdmin(userId)
  • Добавить middleware-подход: router.on('admin_*', isAdmin, handler) (в future)
  • Удалить isAdmin() из всех 7 файлов admin handlers
  • Импортировать из middleware

Файлы: src/middleware/auth.js (новый), все 7 admin handlers

Примечание: В AdminHandler добавлен static метод-делегат для совместимости с index.js.

## ✅ Реализовано - [x] Создать `src/middleware/auth.js` с единственной функцией `isAdmin(userId)` - [x] Добавить middleware-подход: `router.on('admin_*', isAdmin, handler)` (в future) - [x] Удалить isAdmin() из всех 7 файлов admin handlers - [x] Импортировать из middleware **Файлы**: `src/middleware/auth.js` (новый), все 7 admin handlers Примечание: В AdminHandler добавлен static метод-делегат для совместимости с index.js.
Sign in to join this conversation.