@takashito/linode-mcp-server
Version:
MCP server for Linode API
53 lines • 2.13 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSupportClient = createSupportClient;
const axios_1 = __importDefault(require("axios"));
function createSupportClient(baseURL, token) {
const axiosInstance = axios_1.default.create({
baseURL,
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
},
});
return {
listTickets: async (params) => {
const response = await axiosInstance.get('/support/tickets', { params });
return response.data;
},
getTicket: async (ticketId) => {
const response = await axiosInstance.get(`/support/tickets/${ticketId}`);
return response.data;
},
createTicket: async (data) => {
const response = await axiosInstance.post('/support/tickets', data);
return response.data;
},
closeTicket: async (ticketId) => {
const response = await axiosInstance.post(`/support/tickets/${ticketId}/close`);
return response.data;
},
listReplies: async (ticketId, params) => {
const response = await axiosInstance.get(`/support/tickets/${ticketId}/replies`, { params });
return response.data;
},
createReply: async (ticketId, data) => {
const response = await axiosInstance.post(`/support/tickets/${ticketId}/replies`, data);
return response.data;
},
uploadAttachment: async (ticketId, file) => {
const formData = new FormData();
formData.append('file', file);
const response = await axiosInstance.post(`/support/tickets/${ticketId}/attachments`, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
});
return response.data;
},
};
}
//# sourceMappingURL=support.js.map