You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I would like to know how can I add more endpoints, for example when visiting api/hello, I would like to automate something, for example call to greeting command.
I tried this:
import express, { Request, Response } from 'express'
import { startVercel } from '../src'
import { whey, casein } from '../src/scraper/scraper'
import { sendMessage, sendError } from '../src/scraper/telegram'
import { Product } from '../src/interfaces'
import { manage, insert, update } from '../src/scraper/postgres'
import { VercelRequest, VercelResponse } from '@vercel/node'
const app = express()
// enable JSON body parser
app.use(express.json())
// Handle requests to the root URL to check if the server is running
app.get('/', (req: Request, res: Response) => {
res.send('<h1>Server is running!</h1>')
})
// Handle requests to the root URL for Vercel function and other routes
app.all('*', async (req: Request | VercelRequest, res: Response | VercelResponse, next: Function) => {
try {
if ((req as VercelRequest).query !== undefined) {
// If it's a Vercel request, handle it using the startVercel function
await startVercel(req as VercelRequest, res as VercelResponse)
} else {
// If it's not a Vercel request, continue to the next middleware
next()
}
} catch (e: any) {
res.status(500).send('<h1>Server Error</h1><p>Sorry, there was a problem</p>')
console.error(e.message)
}
})
// Handle requests to /evowhey endpoint
app.get('/evowhey', async (req: Request, res: Response) => {
try {
const product: Product = await whey()
const message = `*HSN |* [${product.product}](${product.link}) *| ${product.price.replace('.', ',')}€*`
await manage(product).then(async result => {
if (result.rows.length === 0) {
await insert(product).then(() => {
void sendMessage(message)
}).catch((error: string) => {
console.log(error)
void sendError(error)
})
} else {
product.price = '26.10'
await update(product).then((result) => {
console.log(result)
const updatedMessage = `*HSN |* [${product.product}](${product.link}) *|* ${result.originalPrice} *➜ ${product.price.replace('.', ',')}€*${result.message}`
void sendMessage(updatedMessage)
}).catch((error: string) => {
console.log(error)
void sendError(error)
})
}
})
res.send(product)
} catch (error) {
console.error('Error fetching Evowhey:', error)
res.status(500).send('Error fetching Evowhey')
}
})
// Handle requests to /casein endpoint
app.get('/casein', async (req: Request, res: Response) => {
try {
const result = await casein()
res.send(result)
} catch (error) {
console.error('Error fetching Casein:', error)
res.status(500).send('Error fetching Casein')
}
})
export default app
But its not working, I dont know if maybe I have to add something to vercel.json or any other file.
Thanks.
The text was updated successfully, but these errors were encountered:
Hi, I would like to know how can I add more endpoints, for example when visiting api/hello, I would like to automate something, for example call to greeting command.
I tried this:
But its not working, I dont know if maybe I have to add something to vercel.json or any other file.
Thanks.
The text was updated successfully, but these errors were encountered: