UNPKG

@takashito/linode-mcp-server

Version:

MCP server for Linode API

186 lines 7.96 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createAccountClient = createAccountClient; function createAccountClient(axiosInstance) { return { // Account operations getAccount: async () => { const response = await axiosInstance.get('/account'); return response.data; }, updateAccount: async (data) => { const response = await axiosInstance.put('/account', data); return response.data; }, // Agreements operations getAgreements: async () => { const response = await axiosInstance.get('/account/agreements'); return response.data; }, acknowledgeAgreements: async (data) => { const response = await axiosInstance.post('/account/agreements', data); return response.data; }, // Service availability operations getServiceAvailability: async () => { const response = await axiosInstance.get('/account/availability'); return response.data; }, getRegionServiceAvailability: async (regionId) => { const response = await axiosInstance.get(`/account/availability/${regionId}`); return response.data; }, // Account cancellation cancelAccount: async (data) => { const response = await axiosInstance.post('/account/cancel', data); return response.data; }, // Child account operations getChildAccounts: async (params) => { const response = await axiosInstance.get('/account/child-accounts', { params }); return response.data; }, getChildAccount: async (euuid) => { const response = await axiosInstance.get(`/account/child-accounts/${euuid}`); return response.data; }, createProxyToken: async (euuid, data) => { const response = await axiosInstance.post(`/account/child-accounts/${euuid}/token`, data); return response.data; }, // Event operations getEvents: async (params) => { const response = await axiosInstance.get('/account/events', { params }); return response.data; }, getEvent: async (eventId) => { const response = await axiosInstance.get(`/account/events/${eventId}`); return response.data; }, markEventAsRead: async (eventId) => { const response = await axiosInstance.post(`/account/events/${eventId}/read`); return response.data; }, markEventAsSeen: async (eventId) => { const response = await axiosInstance.post(`/account/events/${eventId}/seen`); return response.data; }, // Invoice operations getInvoices: async (params) => { const response = await axiosInstance.get('/account/invoices', { params }); return response.data; }, getInvoice: async (invoiceId) => { const response = await axiosInstance.get(`/account/invoices/${invoiceId}`); return response.data; }, getInvoiceItems: async (invoiceId, params) => { const response = await axiosInstance.get(`/account/invoices/${invoiceId}/items`, { params }); return response.data; }, // Login operations getLogins: async (params) => { const response = await axiosInstance.get('/account/logins', { params }); return response.data; }, getLogin: async (loginId) => { const response = await axiosInstance.get(`/account/logins/${loginId}`); return response.data; }, // Maintenance operations getMaintenances: async (params) => { const response = await axiosInstance.get('/account/maintenance', { params }); return response.data; }, // Notification operations getNotifications: async () => { const response = await axiosInstance.get('/account/notifications'); return response.data; }, // OAuth client operations getOAuthClients: async (params) => { const response = await axiosInstance.get('/account/oauth-clients', { params }); return response.data; }, createOAuthClient: async (data) => { const response = await axiosInstance.post('/account/oauth-clients', data); return response.data; }, deleteOAuthClient: async (clientId) => { await axiosInstance.delete(`/account/oauth-clients/${clientId}`); }, getOAuthClient: async (clientId) => { const response = await axiosInstance.get(`/account/oauth-clients/${clientId}`); return response.data; }, updateOAuthClient: async (clientId, data) => { const response = await axiosInstance.put(`/account/oauth-clients/${clientId}`, data); return response.data; }, resetOAuthClientSecret: async (clientId) => { const response = await axiosInstance.post(`/account/oauth-clients/${clientId}/reset-secret`); return response.data; }, getOAuthClientThumbnail: async (clientId) => { const response = await axiosInstance.get(`/account/oauth-clients/${clientId}/thumbnail`, { responseType: 'arraybuffer' }); return response.data; }, updateOAuthClientThumbnail: async (clientId, thumbnailData) => { const response = await axiosInstance.put(`/account/oauth-clients/${clientId}/thumbnail`, thumbnailData, { headers: { 'Content-Type': 'image/png' // Assuming PNG format, adjust as needed } }); return response.data; }, // Account settings operations getAccountSettings: async () => { const response = await axiosInstance.get('/account/settings'); return response.data; }, updateAccountSettings: async (data) => { const response = await axiosInstance.put('/account/settings', data); return response.data; }, enableManagedService: async () => { const response = await axiosInstance.post('/account/settings/managed-enable'); return response.data; }, // Network transfer operations getNetworkTransfer: async () => { const response = await axiosInstance.get('/account/transfer'); return response.data; }, // User operations getUsers: async (params) => { const response = await axiosInstance.get('/account/users', { params }); return response.data; }, createUser: async (data) => { const response = await axiosInstance.post('/account/users', data); return response.data; }, deleteUser: async (username) => { await axiosInstance.delete(`/account/users/${username}`); }, getUser: async (username) => { const response = await axiosInstance.get(`/account/users/${username}`); return response.data; }, updateUser: async (username, data) => { const response = await axiosInstance.put(`/account/users/${username}`, data); return response.data; }, getUserGrants: async (username) => { const response = await axiosInstance.get(`/account/users/${username}/grants`); return response.data; }, updateUserGrants: async (username, data) => { const response = await axiosInstance.put(`/account/users/${username}/grants`, data); return response.data; } }; } //# sourceMappingURL=account.js.map