1
1
// @ts -check
2
2
import { imageMap } from "../images.js" ;
3
3
4
+ const mainImagesPromise = fetch (
5
+ "https://assets.gi-tcg.guyutongxue.site/api/v2/images" ,
6
+ ) . then ( ( r ) => r . json ( ) ) ;
7
+
4
8
/**
5
9
* @typedef {import("@vercel/node").VercelRequest } VercelRequest
6
10
* @typedef {import("@vercel/node").VercelResponse } VercelResponse
@@ -12,27 +16,28 @@ import { imageMap } from "../images.js";
12
16
* @param {VercelResponse } res
13
17
* @returns
14
18
*/
15
- export default function handler ( req , res ) {
19
+ export default async function handler ( req , res ) {
16
20
const { id, thumb } = req . query ;
17
21
if ( Array . isArray ( id ) ) {
18
- res . status ( 400 )
19
- . send ( "Bad request (multiple id)" ) ;
22
+ res . status ( 400 ) . send ( "Bad request (multiple id)" ) ;
20
23
return ;
21
24
}
22
25
const image = imageMap [ id ] ;
23
26
if ( ! image ) {
24
- res . status ( 404 )
25
- . send ( "Not found" ) ;
27
+ res . status ( 404 ) . send ( "Not found" ) ;
26
28
return ;
27
29
}
28
- const hakushinNotProvidedIds = [
29
- 300006
30
- ] ;
30
+ const mainImages = await mainImagesPromise ;
31
31
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`;
34
36
} else {
35
- url = `https://assets.gi-tcg.guyutongxue.site/assets/ ${ thumb ? 'thumbs/' : '' } ${ image } .webp` ;
37
+ url = `https://api.hakush.in/gi/UI/ ${ image } .webp` ;
36
38
}
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