[grade=B] DC-104: App catalog API — browse 38 curated templates
GET /api/v1/catalog — list all apps with category filter, sort options GET /api/v1/catalog/search?q=plex — search by name/category GET /api/v1/catalog/:appId — get app details (image, ports, env, volumes) Uses existing app-templates.js (38 templates). Auto-categorizes into: media, productivity, development, database, network, smart-home, monitoring. Popular badges for Plex, Jellyfin, Sonarr, Radarr, Nextcloud, Gitea, qBittorrent. Auth required (behind login). 1633 tests pass.
This commit is contained in:
@@ -63,6 +63,7 @@ const shareRoutes = require('../routes/share');
|
||||
const i18nRoutes = require('../routes/i18n');
|
||||
const discoverRoutes = require('../routes/discover');
|
||||
const discoverAdoptRoutes = require('../routes/discover-adopt');
|
||||
const catalogRoutes = require('../routes/catalog');
|
||||
const configRoutes = require('../routes/config');
|
||||
const dnsRoutes = require('../routes/dns');
|
||||
const notificationRoutes = require('../routes/notifications');
|
||||
@@ -618,6 +619,12 @@ async function createApp() {
|
||||
siteConfig: ctx.config,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
}));
|
||||
|
||||
// DC-104: App catalog — browse curated templates
|
||||
apiRouter.use(catalogRoutes({
|
||||
APP_TEMPLATES: require('./docker/app-templates'),
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
}));
|
||||
apiRouter.use(updatesRoutes({
|
||||
updateManager: ctx.updateManager,
|
||||
selfUpdater: ctx.selfUpdater,
|
||||
|
||||
Reference in New Issue
Block a user