UNPKG

n8n-bookstack-agent-tool

Version:

Comprehensive BookStack API integration tool for n8n AI Agent with MCP framework compatibility

50 lines 2.07 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UsersResource = void 0; const client_js_1 = require("../auth/client.js"); const zod_1 = require("zod"); const UserSchema = zod_1.z.object({ id: zod_1.z.number().optional(), name: zod_1.z.string().min(1, 'User name is required'), email: zod_1.z.string().email('Valid email is required'), password: zod_1.z.string().min(6, 'Password must be at least 6 characters').optional(), roles: zod_1.z.array(zod_1.z.number()).optional(), send_invite: zod_1.z.boolean().optional() }); const ListUsersParamsSchema = zod_1.z.object({ count: zod_1.z.number().min(1).max(500).optional(), offset: zod_1.z.number().min(0).optional(), sort: zod_1.z.string().optional() }); const UserIdParamsSchema = zod_1.z.object({ id: zod_1.z.number().min(1, 'User ID is required') }); class UsersResource { constructor(config) { this.client = new client_js_1.BookStackClient(config); } async listUsers(params = {}) { const validatedParams = ListUsersParamsSchema.parse(params); return await this.client.get('/api/users', validatedParams); } async getUser(params) { const validatedParams = UserIdParamsSchema.parse(params); return await this.client.get('/api/users/{id}', validatedParams); } async createUser(params) { const validatedParams = UserSchema.parse(params); return await this.client.post('/api/users', validatedParams); } async updateUser(params) { const { id, ...userData } = params; const validatedId = UserIdParamsSchema.parse({ id }); const validatedData = UserSchema.partial().parse(userData); return await this.client.put('/api/users/{id}', { ...validatedId, ...validatedData }); } async deleteUser(params) { const validatedParams = UserIdParamsSchema.parse(params); return await this.client.delete('/api/users/{id}', validatedParams); } } exports.UsersResource = UsersResource; //# sourceMappingURL=users.js.map