merge dc/mount (network router mounts) into p7-wave1
This commit is contained in:
1 file changed
+81
@@ -81,6 +81,14 @@ const containerRoutes = require('../routes/containers');
|
||||
const serviceRoutes = require('../routes/services');
|
||||
const tailscaleRoutes = require('../routes/tailscale');
|
||||
const tailscaleAdminRoutes = require('../routes/tailscale-admin');
|
||||
|
||||
const networkPeopleRoutes = require('../routes/network-people');
|
||||
const networkAccessRoutes = require('../routes/network-access');
|
||||
const networkInvitesRoutes = require('../routes/network-invites');
|
||||
const networkLifecycleRoutes = require('../routes/network-lifecycle');
|
||||
const networkGroupsRoutes = require('../routes/network-groups');
|
||||
const networkResourcesRoutes = require('../routes/network-resources');
|
||||
const networkWizardRoutes = require('../routes/network-wizard');
|
||||
const sitesRoutes = require('../routes/sites');
|
||||
const credentialsRoutes = require('../routes/credentials');
|
||||
const arrRoutes = require('../routes/arr');
|
||||
@@ -702,6 +710,79 @@ async function createApp() {
|
||||
log: ctx.log,
|
||||
logError: ctx.logError,
|
||||
}));
|
||||
|
||||
// ── P7 Private Network mounts (DC-140..DC-152) ──────────────────────────
|
||||
// Shared stores; providers self-register via src/network/index.js when the
|
||||
// registry is required (tailscale + wireguard).
|
||||
require('./network/index');
|
||||
const { getActiveProvider } = require('./network/registry');
|
||||
const p7PeopleStore = require('./security/network-people-store').createPeopleStore({ log: ctx.log });
|
||||
const p7AccessStore = require('./security/network-access-store').createNetworkAccessStore({ log: ctx.log });
|
||||
const p7ResourcesStore = require('./security/network-resources').createResourcesStore({ log: ctx.log });
|
||||
const p7GroupsService = require('./security/network-groups').createGroupsService({
|
||||
peopleStore: p7PeopleStore, accessStore: p7AccessStore, log: ctx.log,
|
||||
});
|
||||
const p7LifecycleModule = require('./network/lifecycle');
|
||||
const p7LifecycleProxy = {
|
||||
blockPerson: async (id) => p7GetLifecycle().blockPerson(id),
|
||||
unblockPerson: async (id) => p7GetLifecycle().unblockPerson(id),
|
||||
removePerson: async (id) => p7GetLifecycle().removePerson(id),
|
||||
revokeDevice: async (pid, did) => p7GetLifecycle().revokeDevice(pid, did),
|
||||
};
|
||||
let p7LifecycleInstance = null;
|
||||
function p7GetLifecycle() {
|
||||
if (!p7LifecycleInstance) {
|
||||
p7LifecycleInstance = p7LifecycleModule.createNetworkLifecycle({
|
||||
provider: getActiveProvider(),
|
||||
peopleStore: p7PeopleStore,
|
||||
accessStore: p7AccessStore,
|
||||
logger: ctx.log,
|
||||
});
|
||||
}
|
||||
return p7LifecycleInstance;
|
||||
}
|
||||
|
||||
apiRouter.use('/network/people', networkPeopleRoutes({
|
||||
peopleStore: p7PeopleStore,
|
||||
networkRegistry: { getActiveProvider },
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network/access', networkAccessRoutes({
|
||||
accessStore: p7AccessStore,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network/invites', networkInvitesRoutes({
|
||||
networkRegistry: { getActiveProvider },
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network', networkLifecycleRoutes({
|
||||
lifecycle: p7LifecycleProxy,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network/groups', networkGroupsRoutes({
|
||||
groupsService: p7GroupsService,
|
||||
peopleStore: p7PeopleStore,
|
||||
accessStore: p7AccessStore,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network/resources', networkResourcesRoutes({
|
||||
resourcesStore: p7ResourcesStore,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
apiRouter.use('/network/wizard', networkWizardRoutes({
|
||||
registry: { getActiveProvider },
|
||||
peopleStore: p7PeopleStore,
|
||||
accessStore: p7AccessStore,
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
log: ctx.log,
|
||||
}));
|
||||
// ── end P7 mounts ───────────────────────────────────────────────────────
|
||||
apiRouter.use(sitesRoutes({
|
||||
asyncHandler: ctx.asyncHandler,
|
||||
ok: ctx.ok,
|
||||
|
||||
Reference in new issue
Block a user