File size: 3,317 Bytes
1377abf |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
import { Request, Response } from "express";
import {
handleSubmitCode,
handleLoginWithSession,
handleRequestCode,
handleAddTelegrafBot,
handleCreateTask,
handleCancelTask,
handleSendMessage,
startBots,
stopBots,
restartBots,
getBotsState,
} from "./services";
import { getActiveClients as getClients, getActiveTasks as getTasks, sendResponse } from "./utils";
export const submitCode = async (req: Request, res: Response) => {
const { phoneNumber, code } = req.body;
const result = await handleSubmitCode(phoneNumber, code);
sendResponse(res, result.status, result.data);
};
export const loginWithSession = async (req: Request, res: Response) => {
const { apiKey, hash, session, phoneNumber } = req.body;
const result = await handleLoginWithSession(apiKey, hash, session, phoneNumber);
sendResponse(res, result.status, result.data);
};
export const getActiveClients = (req: Request, res: Response) => {
const result = getClients();
sendResponse(res, 200, result);
};
export const requestCode = async (req: Request, res: Response) => {
const { apiKey, hash, phoneNumber } = req.body;
const result = await handleRequestCode(apiKey, hash, phoneNumber);
sendResponse(res, result.status, result.data);
};
export const addTelegrafBot = async (req: Request, res: Response) => {
const { botToken } = req.body;
const result = await handleAddTelegrafBot(botToken);
sendResponse(res, result.status, result.data);
};
export const createTask = async (req: Request, res: Response) => {
const { phoneNumber, taskType, taskData } = req.body;
const result = await handleCreateTask(phoneNumber,taskType, taskData);
sendResponse(res, result.status, result.data);
};
export const cancelTask = async (req: Request, res: Response) => {
const { taskId } = req.params;
const result = await handleCancelTask(taskId);
sendResponse(res, result.status, result.data);
};
export const getActiveTasks = (req: Request, res: Response) => {
const result = getTasks();
sendResponse(res, 200, result);
};
export const sendMessage = async (req: Request, res: Response) => {
const { botToken, chatId, text } = req.body;
const result = await handleSendMessage(botToken, chatId, text);
sendResponse(res, result.status, result.data);
};
export const startBotsEndpoint = async (req: Request, res: Response) => {
try {
await startBots();
sendResponse(res, 200, { message: "Bots started successfully" });
} catch (error: any) {
sendResponse(res, 500, { error: error.message });
}
};
export const stopBotsEndpoint = async (req: Request, res: Response) => {
try {
await stopBots();
sendResponse(res, 200, { message: "Bots stopped successfully" });
} catch (error: any) {
sendResponse(res, 500, { error: error.message });
}
};
export const restartBotsEndpoint = async (req: Request, res: Response) => {
try {
await restartBots();
sendResponse(res, 200, { message: "Bots restarted successfully" });
} catch (error: any) {
sendResponse(res, 500, { error: error.message });
}
};
export const getBotsStateEndpoint = async (req: Request, res: Response) => {
try {
const state = await getBotsState();
sendResponse(res, 200, state);
} catch (error: any) {
sendResponse(res, 500, { error: error.message });
}
}; |