Refactor arr routes: explicit dependency injection
- Updated all arr route modules to use destructured dependencies - Added JSDoc comments for factory functions - Replaced ctx. references with direct parameter access - Updated arr/index.js to extract and pass explicit dependencies - Maintained backward compatibility with context pattern - All files pass syntax validation Files refactored: - routes/arr/detect.js - routes/arr/credentials.js - routes/arr/config.js (579 lines) - routes/arr/smart-connect.js - routes/arr/plex.js - routes/arr/helpers.js - routes/arr/index.js (orchestrator)
This commit is contained in:
@@ -1,14 +1,34 @@
|
||||
const express = require('express');
|
||||
|
||||
/**
|
||||
* Arr routes aggregator
|
||||
* Assembles all arr sub-routes with their dependencies
|
||||
* @param {Object} ctx - Application context (for backward compatibility)
|
||||
* @returns {express.Router}
|
||||
*/
|
||||
module.exports = function(ctx) {
|
||||
const router = express.Router();
|
||||
const helpers = require('./helpers')(ctx);
|
||||
|
||||
router.use(require('./detect')(ctx, helpers));
|
||||
router.use(require('./credentials')(ctx, helpers));
|
||||
router.use(require('./config')(ctx, helpers));
|
||||
router.use(require('./smart-connect')(ctx, helpers));
|
||||
router.use(require('./plex')(ctx, helpers));
|
||||
// Extract dependencies from context
|
||||
const deps = {
|
||||
docker: ctx.docker,
|
||||
credentialManager: ctx.credentialManager,
|
||||
servicesStateManager: ctx.servicesStateManager,
|
||||
fetchT: ctx.fetchT,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
errorResponse: ctx.errorResponse,
|
||||
log: ctx.log
|
||||
};
|
||||
|
||||
// Initialize helpers with dependencies
|
||||
const helpers = require('./helpers')(deps);
|
||||
|
||||
// Mount sub-routes with explicit dependencies
|
||||
router.use(require('./detect')({ ...deps, helpers }));
|
||||
router.use(require('./credentials')({ ...deps, helpers }));
|
||||
router.use(require('./config')({ ...deps, helpers }));
|
||||
router.use(require('./smart-connect')({ ...deps, helpers }));
|
||||
router.use(require('./plex')({ ...deps, helpers }));
|
||||
|
||||
return router;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user