11// @ts -check
22import { imageMap } from "../images.js" ;
33
4+ const mainImagesPromise = fetch (
5+ "https://assets.gi-tcg.guyutongxue.site/api/v2/images" ,
6+ ) . then ( ( r ) => r . json ( ) ) ;
7+
48/**
59 * @typedef {import("@vercel/node").VercelRequest } VercelRequest
610 * @typedef {import("@vercel/node").VercelResponse } VercelResponse
@@ -12,27 +16,28 @@ import { imageMap } from "../images.js";
1216 * @param {VercelResponse } res
1317 * @returns
1418 */
15- export default function handler ( req , res ) {
19+ export default async function handler ( req , res ) {
1620 const { id, thumb } = req . query ;
1721 if ( Array . isArray ( id ) ) {
18- res . status ( 400 )
19- . send ( "Bad request (multiple id)" ) ;
22+ res . status ( 400 ) . send ( "Bad request (multiple id)" ) ;
2023 return ;
2124 }
2225 const image = imageMap [ id ] ;
2326 if ( ! image ) {
24- res . status ( 404 )
25- . send ( "Not found" ) ;
27+ res . status ( 404 ) . send ( "Not found" ) ;
2628 return ;
2729 }
28- const hakushinNotProvidedIds = [
29- 300006
30- ] ;
30+ const mainImages = await mainImagesPromise ;
3131 let url ;
32- if ( ! hakushinNotProvidedIds . includes ( Number ( id ) ) && image . includes ( "CardFace" ) ) {
33- url = `https://api.hakush.in/gi/UI/${ image } .webp` ;
32+ if ( mainImages [ id ] ) {
33+ url = `https://assets.gi-tcg.guyutongxue.site/assets/${
34+ thumb ? "thumbs/" : ""
35+ } ${ image } .webp`;
3436 } else {
35- url = `https://assets.gi-tcg.guyutongxue.site/assets/ ${ thumb ? 'thumbs/' : '' } ${ image } .webp` ;
37+ url = `https://api.hakush.in/gi/UI/ ${ image } .webp` ;
3638 }
37- res . status ( 307 ) . setHeader ( "Location" , url ) . send ( void 0 ) ;
38- }
39+ res
40+ . status ( 307 )
41+ . setHeader ( "Location" , url )
42+ . send ( void 0 ) ;
43+ }
0 commit comments