plane/web/pages/api/unsplash.ts
2023-09-29 18:06:33 +05:30

27 lines
827 B
TypeScript

import axios from "axios";
import type { NextApiRequest, NextApiResponse } from "next";
const unsplashKey = process.env.UNSPLASH_ACCESS_KEY;
export default async function handler(req: NextApiRequest, res: NextApiResponse) {
try {
const { query, page, per_page = 20 } = req.query;
const url = query
? `https://api.unsplash.com/search/photos/?client_id=${unsplashKey}&query=${query}&page=${page}&per_page=${per_page}`
: `https://api.unsplash.com/photos/?client_id=${unsplashKey}&page=${page}&per_page=${per_page}`;
const response = await axios({
method: "GET",
url,
headers: {
"Content-Type": "application/json",
},
});
res.status(200).json(response?.data);
} catch (error) {
res.status(500).json({ message: "Failed to fetch unsplash", error });
}
}