mirror of
https://github.com/MedzikUser/gatsby-pingbot
synced 2024-08-15 03:20:27 +00:00
37 lines
754 B
TypeScript
37 lines
754 B
TypeScript
|
import { VercelResponse } from '@vercel/node'
|
||
|
import axios from 'axios'
|
||
|
|
||
|
import dbConnect from '../dbConnect'
|
||
|
import URLModel from '../schema'
|
||
|
|
||
|
export default async function addURL(url: string, response: VercelResponse) {
|
||
|
// fetch url (e.g. check domain exist)
|
||
|
try {
|
||
|
await axios.get(url)
|
||
|
} catch (err) {
|
||
|
return response.status(400).json({
|
||
|
success: false,
|
||
|
message: 'Invalid URL'
|
||
|
})
|
||
|
}
|
||
|
|
||
|
await dbConnect()
|
||
|
|
||
|
try {
|
||
|
const dbURL = new URLModel({ url })
|
||
|
|
||
|
await dbURL.save()
|
||
|
|
||
|
return response.status(200).json({
|
||
|
success: true,
|
||
|
message: `Added ${url}`
|
||
|
})
|
||
|
} catch (err) {
|
||
|
console.error(err)
|
||
|
return response.status(400).json({
|
||
|
success: false,
|
||
|
message: 'Already exist?'
|
||
|
})
|
||
|
}
|
||
|
}
|