Skip to content

Commit ee966f1

Browse files
committed
refactor: refactored the routes
1 parent 5febb0e commit ee966f1

File tree

5 files changed

+73
-12
lines changed

5 files changed

+73
-12
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import { NextFunction, Request, Response } from "express";
2+
import { prisma } from "../../utils/prisma";
3+
4+
/**
5+
* Retrieves all Telegram users from the database and sends a JSON response.
6+
*
7+
* @param {Request} req - The request object.
8+
* @param {Response} res - The response object.
9+
* @param {NextFunction} next - The next middleware function.
10+
* @return {Promise<void>} - This function does not return anything.
11+
*/
12+
export const getAllTelegramUsers = async (req:Request,res:Response, next:NextFunction) => {
13+
try {
14+
15+
const allTelegramUsers = await prisma.telegram.findMany()
16+
res.json(allTelegramUsers)
17+
18+
}
19+
catch (err) {
20+
21+
console.log(err)
22+
23+
}
24+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
import { NextFunction, Request, Response } from "express";
2+
import { prisma } from "../../utils/prisma";
3+
4+
/**
5+
* Retrieves all users from the database and sends a JSON response.
6+
*
7+
* @param {Request} req - The request object.
8+
* @param {Response} res - The response object.
9+
* @param {NextFunction} next - The next middleware function.
10+
* @return {Promise<void>} - A promise that resolves to nothing.
11+
*/
12+
export const getAllUsers = async(req:Request,res:Response,next:NextFunction) => {
13+
try {
14+
const allUsers = await prisma.user.findMany()
15+
res.json(allUsers)
16+
}
17+
catch (err) {
18+
19+
console.log(err)
20+
21+
}
22+
}

server/src/expressRoutes/index.ts

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import { Router } from "express"
2+
import { getAllTelegramUsers } from "./getAllTelegramUsers"
3+
import { getAllUsers } from "./getAllUsers"
4+
import { TELEGRAM_BOT_TOKEN } from "../utils/telegram/config"
5+
import { webhookCallback } from "grammy"
6+
import { telegramBot } from "../telegramRoutes"
7+
8+
const router = Router()
9+
10+
router.get("/telegram", getAllTelegramUsers)
11+
12+
router.get("/user", getAllUsers)
13+
14+
router.use(`/bot/${TELEGRAM_BOT_TOKEN}`, webhookCallback(telegramBot, "express"));
15+
16+
export { router }

server/src/index.ts

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
console.time('express')
22
import "dotenv/config";
3-
import { telegramBot } from "./utils/telegram";
43
import { initRoutes } from "./telegramRoutes";
5-
import { Request, Response } from "express";
4+
import { NextFunction, Request, Response } from "express";
65
import express from "express";
7-
import { webhookCallback } from "grammy";
8-
import { TELEGRAM_BOT_TOKEN } from "./utils/telegram/config";
6+
import { router } from "./expressRoutes";
97

108
const port = process.env.PORT ?? 3000;
119
const app = express();
1210

1311
app.use(express.json());
1412

15-
initRoutes()
16-
// telegramBot.start()
17-
app.use(`/api/bot/${TELEGRAM_BOT_TOKEN}`, webhookCallback(telegramBot, "express"));
18-
app.use("/api", (req:Request, res:Response) => {
19-
res.json('Welcome to Fingu!')
20-
});
13+
app.use('/api',router)
2114

2215
app.use((req:Request, res:Response) => res.status(200).send());
16+
17+
app.use((err:Error, req:Request, res:Response, next:NextFunction) => {
18+
console.error(err.stack)
19+
res.status(500).json('Something broke!')
20+
})
21+
2322
app.listen(port, () => console.log(`listening on port ${port}`));
2423

2524
console.timeEnd('express')

server/src/telegramRoutes/index.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import { telegramQueueEndHandler, telegramQueueStartHandler } from "./telegramQu
1010
telegramBot.use(limit({
1111
limit: 100,
1212
timeFrame: 1000 * 60 * 60 * 24,
13-
onLimitExceeded: async(ctx: Context, next: NextFunction) => {
13+
onLimitExceeded: async (ctx: Context, next: NextFunction) => {
1414
ctx.reply("Fingu gotta go, see you tomorrow !")
1515
}
1616
}))
@@ -35,4 +35,4 @@ telegramBot.use((ctx: Context, next: NextFunction) => {
3535
ctx.reply("What's that ?", { reply_to_message_id: ctx.message.message_id })
3636
})
3737

38-
export const initRoutes = () => { }
38+
export { telegramBot }

0 commit comments

Comments
 (0)