mirror of
https://github.com/hanzoai/next.js.git
synced 2026-10-30 14:46:38 +00:00
## Description This PR ensures that the default prettier config is used for examples and templates. This config is compatible with `prettier@3` as well (upgrading prettier is bigger change that can be a future PR). ## Changes - Updated `.prettierrc.json` in root with `"trailingComma": "es5"` (will be needed upgrading to prettier@3) - Added `examples/.prettierrc.json` with default config (this will change every example) - Added `packages/create-next-app/templates/.prettierrc.json` with default config (this will change every template) ## Related - Fixes #54402 - Closes #54409
47 lines
1.1 KiB
TypeScript
47 lines
1.1 KiB
TypeScript
import { NextApiRequest, NextApiResponse } from "next";
|
|
import Unsplash, { toJson } from "unsplash-js";
|
|
import fetch from "node-fetch";
|
|
global.fetch = fetch;
|
|
|
|
export default function download(req: NextApiRequest, res: NextApiResponse) {
|
|
const {
|
|
query: { id },
|
|
} = req;
|
|
|
|
const u = new Unsplash({ accessKey: process.env.UNSPLASH_ACCESS_KEY });
|
|
|
|
return new Promise((resolve) => {
|
|
u.photos
|
|
.getPhoto(id.toString())
|
|
.then(toJson)
|
|
.then((json) => {
|
|
u.photos.downloadPhoto(json);
|
|
|
|
const filePath = json.links.download;
|
|
const fileName = id + ".jpg";
|
|
|
|
res.setHeader(
|
|
"content-disposition",
|
|
"attachment; filename=" + fileName,
|
|
);
|
|
|
|
fetch(filePath)
|
|
.then((r) => r.buffer())
|
|
.then((buff) => {
|
|
res.end(buff);
|
|
resolve();
|
|
})
|
|
.catch((error) => {
|
|
res.json(error);
|
|
res.status(405).end();
|
|
resolve();
|
|
});
|
|
})
|
|
.catch((error) => {
|
|
res.json(error);
|
|
res.status(405).end();
|
|
resolve();
|
|
});
|
|
});
|
|
}
|