mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-09-04 13:38:46 +00:00
* feat: wire trusted agent trigger dispatch * feat: add durable agent trigger delivery * fix: annotate trigger envelope byte limit * test: isolate trigger startup in server specs * fix: fence trigger delivery during account deletion * test: isolate trigger service in user controller specs * fix: close trigger deletion admission race * fix: harden account deletion fences * fix: close durable trigger review gaps * fix: require offline stale-fence recovery * fix: type trigger lane sequence ids * fix: fence admin user deletion triggers * fix: make trigger deletion recovery durable * fix: harden offline user deletion * fix: serialize trigger lane publication * style: sort trigger delivery imports * fix: recover orphaned trigger publications * fix: preserve trigger recovery ordering * fix: fence trigger publication during purge * fix: defer remote trigger deletion fences * fix: close durable delivery cleanup races * fix: drain CLI generation owners before deletion
40 lines
1.5 KiB
JavaScript
40 lines
1.5 KiB
JavaScript
const express = require('express');
|
|
const { createAdminUsersHandlers } = require('@librechat/api');
|
|
const { SystemCapabilities } = require('@librechat/data-schemas');
|
|
const { requireCapability } = require('~/server/middleware/roles/capabilities');
|
|
const { requireJwtAuth } = require('~/server/middleware');
|
|
const {
|
|
drainAgentTriggerDeliveriesForUser,
|
|
prepareAgentTriggerUserPurge,
|
|
cancelAgentTriggerUserPurge,
|
|
purgeAgentTriggerDeliveriesForUser,
|
|
} = require('~/server/services/Agents/triggers');
|
|
const db = require('~/models');
|
|
|
|
const router = express.Router();
|
|
|
|
const requireAdminAccess = requireCapability(SystemCapabilities.ACCESS_ADMIN);
|
|
const requireReadUsers = requireCapability(SystemCapabilities.READ_USERS);
|
|
// const requireManageUsers = requireCapability(SystemCapabilities.MANAGE_USERS);
|
|
|
|
const handlers = createAdminUsersHandlers({
|
|
findUsers: db.findUsers,
|
|
countUsers: db.countUsers,
|
|
beginAgentTriggerUserDeletion: db.beginAgentTriggerUserDeletion,
|
|
cancelAgentTriggerUserDeletion: db.cancelAgentTriggerUserDeletion,
|
|
drainAgentTriggerDeliveriesForUser,
|
|
prepareAgentTriggerUserPurge,
|
|
cancelAgentTriggerUserPurge,
|
|
purgeAgentTriggerDeliveriesForUser,
|
|
deleteUserById: db.deleteUserById,
|
|
deleteConfig: db.deleteConfig,
|
|
deleteAclEntries: db.deleteAclEntries,
|
|
});
|
|
|
|
router.use(requireJwtAuth, requireAdminAccess);
|
|
|
|
router.get('/', requireReadUsers, handlers.listUsers);
|
|
router.get('/search', requireReadUsers, handlers.searchUsers);
|
|
// router.delete('/:id', requireManageUsers, handlers.deleteUser);
|
|
|
|
module.exports = router;
|