deckhearth/.next/server/pages/api/cards/import-pokemon.js
Randall Stillwell e75a4a6649 Major redesign: Enhanced card display with particle effects, improved filters, and search functionality
- Redesigned card display with 2.5:3.5 aspect ratio and image-only view
- Added infinite scroll to replace pagination
- Implemented authentic card back placeholders for MTG, Pokemon, and Lorcana
- Added rarity-based particle effects with tiered intensity (mythic/enchanted/rare/uncommon)
- Enhanced hover details panel with structured card information
- Fixed search functionality with debouncing and Enter key support
- Improved filter system with working TCG, rarity, set, and price filters
- Added favorite system for cards in both hover and detail views
- Updated card detail page with comprehensive metadata and actions
- Fixed API filtering with proper Vercel Postgres implementation
- Added particle animations and rarity glow effects
- Improved overall UX with better visual hierarchy and interactions
2025-07-23 21:26:54 -05:00

66 lines
No EOL
34 KiB
JavaScript

"use strict";
/*
* ATTENTION: An "eval-source-map" devtool has been used.
* This devtool is neither made for production nor for readable output files.
* It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools.
* If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/)
* or disable the default devtool with "devtool: false".
* If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/).
*/
(() => {
var exports = {};
exports.id = "pages/api/cards/import-pokemon";
exports.ids = ["pages/api/cards/import-pokemon"];
exports.modules = {
/***/ "(api-node)/./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES_API&page=%2Fapi%2Fcards%2Fimport-pokemon&preferredRegion=&absolutePagePath=.%2Fpages%2Fapi%2Fcards%2Fimport-pokemon.js&middlewareConfigBase64=e30%3D!":
/*!**************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES_API&page=%2Fapi%2Fcards%2Fimport-pokemon&preferredRegion=&absolutePagePath=.%2Fpages%2Fapi%2Fcards%2Fimport-pokemon.js&middlewareConfigBase64=e30%3D! ***!
\**************************************************************************************************************************************************************************************************************************************************/
/***/ ((module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.a(module, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ config: () => (/* binding */ config),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__),\n/* harmony export */ handler: () => (/* binding */ handler)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_api_utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/api-utils */ \"(api-node)/./node_modules/next/dist/server/api-utils/index.js\");\n/* harmony import */ var next_dist_server_api_utils__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_api_utils__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(api-node)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_server_route_modules_pages_api_module_compiled__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/route-modules/pages-api/module.compiled */ \"(api-node)/./node_modules/next/dist/server/route-modules/pages-api/module.compiled.js\");\n/* harmony import */ var next_dist_server_route_modules_pages_api_module_compiled__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_pages_api_module_compiled__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/build/templates/helpers */ \"(api-node)/./node_modules/next/dist/build/templates/helpers.js\");\n/* harmony import */ var _pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./pages/api/cards/import-pokemon.js */ \"(api-node)/./pages/api/cards/import-pokemon.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! next/dist/server/lib/trace/tracer */ \"(api-node)/./node_modules/next/dist/server/lib/trace/tracer.js\");\n/* harmony import */ var next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! next/dist/server/lib/trace/constants */ \"(api-node)/./node_modules/next/dist/server/lib/trace/constants.js\");\n/* harmony import */ var next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_6__);\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__]);\n_pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n\n\n\n\n// Import the userland code.\n\n\n\n// Re-export the handler (should be the default export).\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_3__.hoist)(_pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__, 'default'));\n// Re-export config.\nconst config = (0,next_dist_build_templates_helpers__WEBPACK_IMPORTED_MODULE_3__.hoist)(_pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__, 'config');\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_route_modules_pages_api_module_compiled__WEBPACK_IMPORTED_MODULE_2__.PagesAPIRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.PAGES_API,\n page: \"/api/cards/import-pokemon\",\n pathname: \"/api/cards/import-pokemon\",\n // The following aren't used in production.\n bundlePath: '',\n filename: ''\n },\n userland: _pages_api_cards_import_pokemon_js__WEBPACK_IMPORTED_MODULE_4__,\n distDir: \".next\" || 0,\n projectDir: false || ''\n});\nasync function handler(req, res, ctx) {\n let srcPage = \"/api/cards/import-pokemon\";\n // turbopack doesn't normalize `/index` in the page name\n // so we need to to process dynamic routes properly\n // TODO: fix turbopack providing differing value from webpack\n if (false) {}\n const prepareResult = await routeModule.prepare(req, res, {\n srcPage\n });\n if (!prepareResult) {\n res.statusCode = 400;\n res.end('Bad Request');\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n return;\n }\n const { query, params, prerenderManifest } = prepareResult;\n try {\n const method = req.method || 'GET';\n const tracer = (0,next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_5__.getTracer)();\n const activeSpan = tracer.getActiveScopeSpan();\n const onRequestError = routeModule.instrumentationOnRequestError.bind(routeModule);\n const invokeRouteModule = async (span)=>routeModule.render(req, res, {\n query: {\n ...query,\n ...params\n },\n params,\n allowedRevalidateHeaderKeys: undefined,\n multiZoneDraftMode: Boolean(\"false\"),\n trustHostHeader: undefined,\n // TODO: get this from from runtime env so manifest\n // doesn't need to load\n previewProps: prerenderManifest.preview,\n propagateError: false,\n dev: routeModule.isDev,\n page: \"/api/cards/import-pokemon\",\n projectDir: false || '',\n onError: (...args)=>onRequestError(req, ...args)\n }).finally(()=>{\n if (!span) return;\n span.setAttributes({\n 'http.status_code': res.statusCode,\n 'next.rsc': false\n });\n const rootSpanAttributes = tracer.getRootSpanAttributes();\n // We were unable to get attributes, probably OTEL is not enabled\n if (!rootSpanAttributes) {\n return;\n }\n if (rootSpanAttributes.get('next.span_type') !== next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_6__.BaseServerSpan.handleRequest) {\n console.warn(`Unexpected root span type '${rootSpanAttributes.get('next.span_type')}'. Please report this Next.js issue https://github.com/vercel/next.js`);\n return;\n }\n const route = rootSpanAttributes.get('next.route');\n if (route) {\n const name = `${method} ${route}`;\n span.setAttributes({\n 'next.route': route,\n 'http.route': route,\n 'next.span_name': name\n });\n span.updateName(name);\n } else {\n span.updateName(`${method} ${req.url}`);\n }\n });\n // TODO: activeSpan code path is for when wrapped by\n // next-server can be removed when this is no longer used\n if (activeSpan) {\n await invokeRouteModule(activeSpan);\n } else {\n await tracer.withPropagatedContext(req.headers, ()=>tracer.trace(next_dist_server_lib_trace_constants__WEBPACK_IMPORTED_MODULE_6__.BaseServerSpan.handleRequest, {\n spanName: `${method} ${req.url}`,\n kind: next_dist_server_lib_trace_tracer__WEBPACK_IMPORTED_MODULE_5__.SpanKind.SERVER,\n attributes: {\n 'http.method': method,\n 'http.target': req.url\n }\n }, invokeRouteModule));\n }\n } catch (err) {\n // we re-throw in dev to show the error overlay\n if (routeModule.isDev) {\n throw err;\n }\n // this is technically an invariant as error handling\n // should be done inside of api-resolver onError\n (0,next_dist_server_api_utils__WEBPACK_IMPORTED_MODULE_0__.sendError)(res, 500, 'Internal Server Error');\n } finally{\n // We don't allow any waitUntil work in pages API routes currently\n // so if callback is present return with resolved promise since no\n // pending work\n ctx.waitUntil == null ? void 0 : ctx.waitUntil.call(ctx, Promise.resolve());\n }\n}\n\n//# sourceMappingURL=pages-api.js.map\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwaS1ub2RlKS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtcm91dGUtbG9hZGVyL2luZGV4LmpzP2tpbmQ9UEFHRVNfQVBJJnBhZ2U9JTJGYXBpJTJGY2FyZHMlMkZpbXBvcnQtcG9rZW1vbiZwcmVmZXJyZWRSZWdpb249JmFic29sdXRlUGFnZVBhdGg9LiUyRnBhZ2VzJTJGYXBpJTJGY2FyZHMlMkZpbXBvcnQtcG9rZW1vbi5qcyZtaWRkbGV3YXJlQ29uZmlnQmFzZTY0PWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUQ7QUFDQztBQUN1QztBQUNyQztBQUMxRDtBQUNnRTtBQUNRO0FBQ0Y7QUFDdEU7QUFDQSxpRUFBZSx3RUFBSyxDQUFDLCtEQUFRLFlBQVksRUFBQztBQUMxQztBQUNPLGVBQWUsd0VBQUssQ0FBQywrREFBUTtBQUNwQztBQUNBLHdCQUF3Qix5R0FBbUI7QUFDM0M7QUFDQSxjQUFjLGtFQUFTO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsWUFBWTtBQUNaLGFBQWEsT0FBb0MsSUFBSSxDQUFFO0FBQ3ZELGdCQUFnQixNQUF1QztBQUN2RCxDQUFDO0FBQ007QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBLFFBQVEsS0FBcUIsRUFBRSxFQUUxQjtBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsWUFBWSxtQ0FBbUM7QUFDL0M7QUFDQTtBQUNBLHVCQUF1Qiw0RUFBUztBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQSw2Q0FBNkMsU0FBNkM7QUFDMUYsNENBQTRDLE9BQXdDO0FBQ3BGLGlDQUFpQyxTQUFvQztBQUNyRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsTUFBdUM7QUFDbkU7QUFDQSxhQUFhO0FBQ2I7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlFQUFpRSxnRkFBYztBQUMvRSwrREFBK0QseUNBQXlDO0FBQ3hHO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLFFBQVEsRUFBRSxNQUFNO0FBQ3BEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCO0FBQ3JCO0FBQ0Esa0JBQWtCO0FBQ2xCLHVDQUF1QyxRQUFRLEVBQUUsUUFBUTtBQUN6RDtBQUNBLGFBQWE7QUFDYjtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDViw2RUFBNkUsZ0ZBQWM7QUFDM0YsaUNBQWlDLFFBQVEsRUFBRSxRQUFRO0FBQ25ELDBCQUEwQix1RUFBUTtBQUNsQztBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQjtBQUNqQjtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLHFFQUFTO0FBQ2pCLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUMiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzZW5kRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcGktdXRpbHNcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL3JvdXRlLWtpbmRcIjtcbmltcG9ydCB7IFBhZ2VzQVBJUm91dGVNb2R1bGUgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1tb2R1bGVzL3BhZ2VzLWFwaS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IGhvaXN0IH0gZnJvbSBcIm5leHQvZGlzdC9idWlsZC90ZW1wbGF0ZXMvaGVscGVyc1wiO1xuLy8gSW1wb3J0IHRoZSB1c2VybGFuZCBjb2RlLlxuaW1wb3J0ICogYXMgdXNlcmxhbmQgZnJvbSBcIi4vcGFnZXMvYXBpL2NhcmRzL2ltcG9ydC1wb2tlbW9uLmpzXCI7XG5pbXBvcnQgeyBnZXRUcmFjZXIsIFNwYW5LaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvbGliL3RyYWNlL3RyYWNlclwiO1xuaW1wb3J0IHsgQmFzZVNlcnZlclNwYW4gfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzXCI7XG4vLyBSZS1leHBvcnQgdGhlIGhhbmRsZXIgKHNob3VsZCBiZSB0aGUgZGVmYXVsdCBleHBvcnQpLlxuZXhwb3J0IGRlZmF1bHQgaG9pc3QodXNlcmxhbmQsICdkZWZhdWx0Jyk7XG4vLyBSZS1leHBvcnQgY29uZmlnLlxuZXhwb3J0IGNvbnN0IGNvbmZpZyA9IGhvaXN0KHVzZXJsYW5kLCAnY29uZmlnJyk7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IFBhZ2VzQVBJUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLlBBR0VTX0FQSSxcbiAgICAgICAgcGFnZTogXCIvYXBpL2NhcmRzL2ltcG9ydC1wb2tlbW9uXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9hcGkvY2FyZHMvaW1wb3J0LXBva2Vtb25cIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiAnJyxcbiAgICAgICAgZmlsZW5hbWU6ICcnXG4gICAgfSxcbiAgICB1c2VybGFuZCxcbiAgICBkaXN0RGlyOiBwcm9jZXNzLmVudi5fX05FWFRfUkVMQVRJVkVfRElTVF9ESVIgfHwgJycsXG4gICAgcHJvamVjdERpcjogcHJvY2Vzcy5lbnYuX19ORVhUX1JFTEFUSVZFX1BST0pFQ1RfRElSIHx8ICcnXG59KTtcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBoYW5kbGVyKHJlcSwgcmVzLCBjdHgpIHtcbiAgICBsZXQgc3JjUGFnZSA9IFwiL2FwaS9jYXJkcy9pbXBvcnQtcG9rZW1vblwiO1xuICAgIC8vIHR1cmJvcGFjayBkb2Vzbid0IG5vcm1hbGl6ZSBgL2luZGV4YCBpbiB0aGUgcGFnZSBuYW1lXG4gICAgLy8gc28gd2UgbmVlZCB0byB0byBwcm9jZXNzIGR5bmFtaWMgcm91dGVzIHByb3Blcmx5XG4gICAgLy8gVE9ETzogZml4IHR1cmJvcGFjayBwcm92aWRpbmcgZGlmZmVyaW5nIHZhbHVlIGZyb20gd2VicGFja1xuICAgIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgc3JjUGFnZSA9IHNyY1BhZ2UucmVwbGFjZSgvXFwvaW5kZXgkLywgJycpIHx8ICcvJztcbiAgICB9XG4gICAgY29uc3QgcHJlcGFyZVJlc3VsdCA9IGF3YWl0IHJvdXRlTW9kdWxlLnByZXBhcmUocmVxLCByZXMsIHtcbiAgICAgICAgc3JjUGFnZVxuICAgIH0pO1xuICAgIGlmICghcHJlcGFyZVJlc3VsdCkge1xuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwMDtcbiAgICAgICAgcmVzLmVuZCgnQmFkIFJlcXVlc3QnKTtcbiAgICAgICAgY3R4LndhaXRVbnRpbCA9PSBudWxsID8gdm9pZCAwIDogY3R4LndhaXRVbnRpbC5jYWxsKGN0eCwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgcXVlcnksIHBhcmFtcywgcHJlcmVuZGVyTWFuaWZlc3QgfSA9IHByZXBhcmVSZXN1bHQ7XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWV0aG9kID0gcmVxLm1ldGhvZCB8fCAnR0VUJztcbiAgICAgICAgY29uc3QgdHJhY2VyID0gZ2V0VHJhY2VyKCk7XG4gICAgICAgIGNvbnN0IGFjdGl2ZVNwYW4gPSB0cmFjZXIuZ2V0QWN0aXZlU2NvcGVTcGFuKCk7XG4gICAgICAgIGNvbnN0IG9uUmVxdWVzdEVycm9yID0gcm91dGVNb2R1bGUuaW5zdHJ1bWVudGF0aW9uT25SZXF1ZXN0RXJyb3IuYmluZChyb3V0ZU1vZHVsZSk7XG4gICAgICAgIGNvbnN0IGludm9rZVJvdXRlTW9kdWxlID0gYXN5bmMgKHNwYW4pPT5yb3V0ZU1vZHVsZS5yZW5kZXIocmVxLCByZXMsIHtcbiAgICAgICAgICAgICAgICBxdWVyeToge1xuICAgICAgICAgICAgICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgICAgICAgICAgICAgLi4ucGFyYW1zXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBwYXJhbXMsXG4gICAgICAgICAgICAgICAgYWxsb3dlZFJldmFsaWRhdGVIZWFkZXJLZXlzOiBwcm9jZXNzLmVudi5fX05FWFRfQUxMT1dFRF9SRVZBTElEQVRFX0hFQURFUlMsXG4gICAgICAgICAgICAgICAgbXVsdGlab25lRHJhZnRNb2RlOiBCb29sZWFuKHByb2Nlc3MuZW52Ll9fTkVYVF9NVUxUSV9aT05FX0RSQUZUX01PREUpLFxuICAgICAgICAgICAgICAgIHRydXN0SG9zdEhlYWRlcjogcHJvY2Vzcy5lbnYuX19ORVhUX1RSVVNUX0hPU1RfSEVBREVSLFxuICAgICAgICAgICAgICAgIC8vIFRPRE86IGdldCB0aGlzIGZyb20gZnJvbSBydW50aW1lIGVudiBzbyBtYW5pZmVzdFxuICAgICAgICAgICAgICAgIC8vIGRvZXNuJ3QgbmVlZCB0byBsb2FkXG4gICAgICAgICAgICAgICAgcHJldmlld1Byb3BzOiBwcmVyZW5kZXJNYW5pZmVzdC5wcmV2aWV3LFxuICAgICAgICAgICAgICAgIHByb3BhZ2F0ZUVycm9yOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBkZXY6IHJvdXRlTW9kdWxlLmlzRGV2LFxuICAgICAgICAgICAgICAgIHBhZ2U6IFwiL2FwaS9jYXJkcy9pbXBvcnQtcG9rZW1vblwiLFxuICAgICAgICAgICAgICAgIHByb2plY3REaXI6IHByb2Nlc3MuZW52Ll9fTkVYVF9SRUxBVElWRV9QUk9KRUNUX0RJUiB8fCAnJyxcbiAgICAgICAgICAgICAgICBvbkVycm9yOiAoLi4uYXJncyk9Pm9uUmVxdWVzdEVycm9yKHJlcSwgLi4uYXJncylcbiAgICAgICAgICAgIH0pLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXNwYW4pIHJldHVybjtcbiAgICAgICAgICAgICAgICBzcGFuLnNldEF0dHJpYnV0ZXMoe1xuICAgICAgICAgICAgICAgICAgICAnaHR0cC5zdGF0dXNfY29kZSc6IHJlcy5zdGF0dXNDb2RlLFxuICAgICAgICAgICAgICAgICAgICAnbmV4dC5yc2MnOiBmYWxzZVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvb3RTcGFuQXR0cmlidXRlcyA9IHRyYWNlci5nZXRSb290U3BhbkF0dHJpYnV0ZXMoKTtcbiAgICAgICAgICAgICAgICAvLyBXZSB3ZXJlIHVuYWJsZSB0byBnZXQgYXR0cmlidXRlcywgcHJvYmFibHkgT1RFTCBpcyBub3QgZW5hYmxlZFxuICAgICAgICAgICAgICAgIGlmICghcm9vdFNwYW5BdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHJvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJykgIT09IEJhc2VTZXJ2ZXJTcGFuLmhhbmRsZVJlcXVlc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBVbmV4cGVjdGVkIHJvb3Qgc3BhbiB0eXBlICcke3Jvb3RTcGFuQXR0cmlidXRlcy5nZXQoJ25leHQuc3Bhbl90eXBlJyl9Jy4gUGxlYXNlIHJlcG9ydCB0aGlzIE5leHQuanMgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzYCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3Qgcm91dGUgPSByb290U3BhbkF0dHJpYnV0ZXMuZ2V0KCduZXh0LnJvdXRlJyk7XG4gICAgICAgICAgICAgICAgaWYgKHJvdXRlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSBgJHttZXRob2R9ICR7cm91dGV9YDtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGVzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICduZXh0LnJvdXRlJzogcm91dGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnaHR0cC5yb3V0ZSc6IHJvdXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ25leHQuc3Bhbl9uYW1lJzogbmFtZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgc3Bhbi51cGRhdGVOYW1lKG5hbWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW4udXBkYXRlTmFtZShgJHttZXRob2R9ICR7cmVxLnVybH1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgLy8gVE9ETzogYWN0aXZlU3BhbiBjb2RlIHBhdGggaXMgZm9yIHdoZW4gd3JhcHBlZCBieVxuICAgICAgICAvLyBuZXh0LXNlcnZlciBjYW4gYmUgcmVtb3ZlZCB3aGVuIHRoaXMgaXMgbm8gbG9uZ2VyIHVzZWRcbiAgICAgICAgaWYgKGFjdGl2ZVNwYW4pIHtcbiAgICAgICAgICAgIGF3YWl0IGludm9rZVJvdXRlTW9kdWxlKGFjdGl2ZVNwYW4pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXdhaXQgdHJhY2VyLndpdGhQcm9wYWdhdGVkQ29udGV4dChyZXEuaGVhZGVycywgKCk9PnRyYWNlci50cmFjZShCYXNlU2VydmVyU3Bhbi5oYW5kbGVSZXF1ZXN0LCB7XG4gICAgICAgICAgICAgICAgICAgIHNwYW5OYW1lOiBgJHttZXRob2R9ICR7cmVxLnVybH1gLFxuICAgICAgICAgICAgICAgICAgICBraW5kOiBTcGFuS2luZC5TRVJWRVIsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLm1ldGhvZCc6IG1ldGhvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwLnRhcmdldCc6IHJlcS51cmxcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIGludm9rZVJvdXRlTW9kdWxlKSk7XG4gICAgICAgIH1cbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gd2UgcmUtdGhyb3cgaW4gZGV2IHRvIHNob3cgdGhlIGVycm9yIG92ZXJsYXlcbiAgICAgICAgaWYgKHJvdXRlTW9kdWxlLmlzRGV2KSB7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgICAgLy8gdGhpcyBpcyB0ZWNobmljYWxseSBhbiBpbnZhcmlhbnQgYXMgZXJyb3IgaGFuZGxpbmdcbiAgICAgICAgLy8gc2hvdWxkIGJlIGRvbmUgaW5zaWRlIG9mIGFwaS1yZXNvbHZlciBvbkVycm9yXG4gICAgICAgIHNlbmRFcnJvcihyZXMsIDUwMCwgJ0ludGVybmFsIFNlcnZlciBFcnJvcicpO1xuICAgIH0gZmluYWxseXtcbiAgICAgICAgLy8gV2UgZG9uJ3QgYWxsb3cgYW55IHdhaXRVbnRpbCB3b3JrIGluIHBhZ2VzIEFQSSByb3V0ZXMgY3VycmVudGx5XG4gICAgICAgIC8vIHNvIGlmIGNhbGxiYWNrIGlzIHByZXNlbnQgcmV0dXJuIHdpdGggcmVzb2x2ZWQgcHJvbWlzZSBzaW5jZSBub1xuICAgICAgICAvLyBwZW5kaW5nIHdvcmtcbiAgICAgICAgY3R4LndhaXRVbnRpbCA9PSBudWxsID8gdm9pZCAwIDogY3R4LndhaXRVbnRpbC5jYWxsKGN0eCwgUHJvbWlzZS5yZXNvbHZlKCkpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFnZXMtYXBpLmpzLm1hcCJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(api-node)/./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES_API&page=%2Fapi%2Fcards%2Fimport-pokemon&preferredRegion=&absolutePagePath=.%2Fpages%2Fapi%2Fcards%2Fimport-pokemon.js&middlewareConfigBase64=e30%3D!\n");
/***/ }),
/***/ "(api-node)/./pages/api/cards/import-pokemon.js":
/*!*******************************************!*\
!*** ./pages/api/cards/import-pokemon.js ***!
\*******************************************/
/***/ ((__webpack_module__, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.a(__webpack_module__, async (__webpack_handle_async_dependencies__, __webpack_async_result__) => { try {\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ handler)\n/* harmony export */ });\n/* harmony import */ var _vercel_postgres__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vercel/postgres */ \"@vercel/postgres\");\nvar __webpack_async_dependencies__ = __webpack_handle_async_dependencies__([_vercel_postgres__WEBPACK_IMPORTED_MODULE_0__]);\n_vercel_postgres__WEBPACK_IMPORTED_MODULE_0__ = (__webpack_async_dependencies__.then ? (await __webpack_async_dependencies__)() : __webpack_async_dependencies__)[0];\n\nasync function handler(req, res) {\n if (req.method !== 'POST') {\n return res.status(405).json({\n error: 'Method not allowed'\n });\n }\n try {\n const { setCode } = req.body;\n if (!setCode) {\n return res.status(400).json({\n error: 'Set code is required'\n });\n }\n // Fetch cards from Pokemon TCG API\n const response = await fetch(`https://api.pokemontcg.io/v2/cards?q=set.id:${setCode}&pageSize=250`);\n if (!response.ok) {\n throw new Error(`Pokemon TCG API error: ${response.status}`);\n }\n const data = await response.json();\n const cards = data.data || [];\n let importedCount = 0;\n let skippedCount = 0;\n for (const card of cards){\n try {\n // Check if card already exists\n const existingCard = await (0,_vercel_postgres__WEBPACK_IMPORTED_MODULE_0__.sql)`\n SELECT id FROM cards WHERE scryfall_id = ${card.id}\n `;\n if (existingCard.rows.length > 0) {\n skippedCount++;\n continue;\n }\n // Extract price data from TCGPlayer\n let currentPrice = null;\n if (card.tcgplayer?.prices?.normal?.market) {\n currentPrice = parseFloat(card.tcgplayer.prices.normal.market);\n } else if (card.tcgplayer?.prices?.holofoil?.market) {\n currentPrice = parseFloat(card.tcgplayer.prices.holofoil.market);\n }\n // Determine rarity\n let rarity = card.rarity || 'Unknown';\n if (rarity.includes('Holo')) {\n rarity = 'Holographic';\n } else if (rarity.includes('Secret')) {\n rarity = 'Secret Rare';\n } else if (rarity.includes('Ultra')) {\n rarity = 'Ultra Rare';\n }\n // Insert card into database\n await (0,_vercel_postgres__WEBPACK_IMPORTED_MODULE_0__.sql)`\n INSERT INTO cards (\n name, set_name, set_code, card_number, rarity, game,\n mana_cost, cmc, card_type, colors, oracle_text,\n power, toughness, image_url, stock_image_url,\n current_price, market_price, scryfall_id, verified\n ) VALUES (\n ${card.name}, ${card.set.name}, ${card.set.id}, ${card.number},\n ${rarity}, 'Pokemon', null, null, ${card.supertype || 'Pokemon'},\n ${JSON.stringify(card.types || [])}, ${card.flavorText || null},\n ${card.attacks?.[0]?.damage || null}, null,\n ${card.images?.small || null}, ${card.images?.large || null},\n ${currentPrice}, null, ${card.id}, true\n )\n `;\n importedCount++;\n } catch (error) {\n console.error(`Error importing card ${card.name}:`, error);\n skippedCount++;\n }\n }\n res.status(200).json({\n success: true,\n message: `Import completed for set ${setCode}`,\n imported: importedCount,\n skipped: skippedCount,\n total: cards.length\n });\n } catch (error) {\n console.error('Card import error:', error);\n res.status(500).json({\n error: 'Import failed',\n details: error.message\n });\n }\n}\n\n__webpack_async_result__();\n} catch(e) { __webpack_async_result__(e); } });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwaS1ub2RlKS8uL3BhZ2VzL2FwaS9jYXJkcy9pbXBvcnQtcG9rZW1vbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUF1QztBQUV4QixlQUFlQyxRQUFRQyxHQUFHLEVBQUVDLEdBQUc7SUFDNUMsSUFBSUQsSUFBSUUsTUFBTSxLQUFLLFFBQVE7UUFDekIsT0FBT0QsSUFBSUUsTUFBTSxDQUFDLEtBQUtDLElBQUksQ0FBQztZQUFFQyxPQUFPO1FBQXFCO0lBQzVEO0lBRUEsSUFBSTtRQUNGLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUdOLElBQUlPLElBQUk7UUFFNUIsSUFBSSxDQUFDRCxTQUFTO1lBQ1osT0FBT0wsSUFBSUUsTUFBTSxDQUFDLEtBQUtDLElBQUksQ0FBQztnQkFBRUMsT0FBTztZQUF1QjtRQUM5RDtRQUVBLG1DQUFtQztRQUNuQyxNQUFNRyxXQUFXLE1BQU1DLE1BQU0sQ0FBQyw0Q0FBNEMsRUFBRUgsUUFBUSxhQUFhLENBQUM7UUFFbEcsSUFBSSxDQUFDRSxTQUFTRSxFQUFFLEVBQUU7WUFDaEIsTUFBTSxJQUFJQyxNQUFNLENBQUMsdUJBQXVCLEVBQUVILFNBQVNMLE1BQU0sRUFBRTtRQUM3RDtRQUVBLE1BQU1TLE9BQU8sTUFBTUosU0FBU0osSUFBSTtRQUNoQyxNQUFNUyxRQUFRRCxLQUFLQSxJQUFJLElBQUksRUFBRTtRQUU3QixJQUFJRSxnQkFBZ0I7UUFDcEIsSUFBSUMsZUFBZTtRQUVuQixLQUFLLE1BQU1DLFFBQVFILE1BQU87WUFDeEIsSUFBSTtnQkFDRiwrQkFBK0I7Z0JBQy9CLE1BQU1JLGVBQWUsTUFBTW5CLHFEQUFHLENBQUM7bURBQ1ksRUFBRWtCLEtBQUtFLEVBQUUsQ0FBQztRQUNyRCxDQUFDO2dCQUVELElBQUlELGFBQWFFLElBQUksQ0FBQ0MsTUFBTSxHQUFHLEdBQUc7b0JBQ2hDTDtvQkFDQTtnQkFDRjtnQkFFQSxvQ0FBb0M7Z0JBQ3BDLElBQUlNLGVBQWU7Z0JBQ25CLElBQUlMLEtBQUtNLFNBQVMsRUFBRUMsUUFBUUMsUUFBUUMsUUFBUTtvQkFDMUNKLGVBQWVLLFdBQVdWLEtBQUtNLFNBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNLENBQUNDLE1BQU07Z0JBQy9ELE9BQU8sSUFBSVQsS0FBS00sU0FBUyxFQUFFQyxRQUFRSSxVQUFVRixRQUFRO29CQUNuREosZUFBZUssV0FBV1YsS0FBS00sU0FBUyxDQUFDQyxNQUFNLENBQUNJLFFBQVEsQ0FBQ0YsTUFBTTtnQkFDakU7Z0JBRUEsbUJBQW1CO2dCQUNuQixJQUFJRyxTQUFTWixLQUFLWSxNQUFNLElBQUk7Z0JBQzVCLElBQUlBLE9BQU9DLFFBQVEsQ0FBQyxTQUFTO29CQUMzQkQsU0FBUztnQkFDWCxPQUFPLElBQUlBLE9BQU9DLFFBQVEsQ0FBQyxXQUFXO29CQUNwQ0QsU0FBUztnQkFDWCxPQUFPLElBQUlBLE9BQU9DLFFBQVEsQ0FBQyxVQUFVO29CQUNuQ0QsU0FBUztnQkFDWDtnQkFFQSw0QkFBNEI7Z0JBQzVCLE1BQU05QixxREFBRyxDQUFDOzs7Ozs7O1lBT04sRUFBRWtCLEtBQUtjLElBQUksQ0FBQyxFQUFFLEVBQUVkLEtBQUtlLEdBQUcsQ0FBQ0QsSUFBSSxDQUFDLEVBQUUsRUFBRWQsS0FBS2UsR0FBRyxDQUFDYixFQUFFLENBQUMsRUFBRSxFQUFFRixLQUFLZ0IsTUFBTSxDQUFDO1lBQzlELEVBQUVKLE9BQU8seUJBQXlCLEVBQUVaLEtBQUtpQixTQUFTLElBQUksVUFBVTtZQUNoRSxFQUFFQyxLQUFLQyxTQUFTLENBQUNuQixLQUFLb0IsS0FBSyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUVwQixLQUFLcUIsVUFBVSxJQUFJLEtBQUs7WUFDL0QsRUFBRXJCLEtBQUtzQixPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUVDLFVBQVUsS0FBSztZQUNwQyxFQUFFdkIsS0FBS3dCLE1BQU0sRUFBRUMsU0FBUyxLQUFLLEVBQUUsRUFBRXpCLEtBQUt3QixNQUFNLEVBQUVFLFNBQVMsS0FBSztZQUM1RCxFQUFFckIsYUFBYSxRQUFRLEVBQUVMLEtBQUtFLEVBQUUsQ0FBQzs7UUFFckMsQ0FBQztnQkFFREo7WUFDRixFQUFFLE9BQU9ULE9BQU87Z0JBQ2RzQyxRQUFRdEMsS0FBSyxDQUFDLENBQUMscUJBQXFCLEVBQUVXLEtBQUtjLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRXpCO2dCQUNwRFU7WUFDRjtRQUNGO1FBRUFkLElBQUlFLE1BQU0sQ0FBQyxLQUFLQyxJQUFJLENBQUM7WUFDbkJ3QyxTQUFTO1lBQ1RDLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRXZDLFNBQVM7WUFDOUN3QyxVQUFVaEM7WUFDVmlDLFNBQVNoQztZQUNUaUMsT0FBT25DLE1BQU1PLE1BQU07UUFDckI7SUFFRixFQUFFLE9BQU9mLE9BQU87UUFDZHNDLFFBQVF0QyxLQUFLLENBQUMsc0JBQXNCQTtRQUNwQ0osSUFBSUUsTUFBTSxDQUFDLEtBQUtDLElBQUksQ0FBQztZQUNuQkMsT0FBTztZQUNQNEMsU0FBUzVDLE1BQU13QyxPQUFPO1FBQ3hCO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsiL1VzZXJzL3JzdGlsbHcvRG9jdW1lbnRzL3RjZy12YXVsdC9wYWdlcy9hcGkvY2FyZHMvaW1wb3J0LXBva2Vtb24uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3FsIH0gZnJvbSAnQHZlcmNlbC9wb3N0Z3Jlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGhhbmRsZXIocmVxLCByZXMpIHtcbiAgaWYgKHJlcS5tZXRob2QgIT09ICdQT1NUJykge1xuICAgIHJldHVybiByZXMuc3RhdHVzKDQwNSkuanNvbih7IGVycm9yOiAnTWV0aG9kIG5vdCBhbGxvd2VkJyB9KTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgeyBzZXRDb2RlIH0gPSByZXEuYm9keTtcbiAgICBcbiAgICBpZiAoIXNldENvZGUpIHtcbiAgICAgIHJldHVybiByZXMuc3RhdHVzKDQwMCkuanNvbih7IGVycm9yOiAnU2V0IGNvZGUgaXMgcmVxdWlyZWQnIH0pO1xuICAgIH1cblxuICAgIC8vIEZldGNoIGNhcmRzIGZyb20gUG9rZW1vbiBUQ0cgQVBJXG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgaHR0cHM6Ly9hcGkucG9rZW1vbnRjZy5pby92Mi9jYXJkcz9xPXNldC5pZDoke3NldENvZGV9JnBhZ2VTaXplPTI1MGApO1xuICAgIFxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUG9rZW1vbiBUQ0cgQVBJIGVycm9yOiAke3Jlc3BvbnNlLnN0YXR1c31gKTtcbiAgICB9XG5cbiAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpO1xuICAgIGNvbnN0IGNhcmRzID0gZGF0YS5kYXRhIHx8IFtdO1xuXG4gICAgbGV0IGltcG9ydGVkQ291bnQgPSAwO1xuICAgIGxldCBza2lwcGVkQ291bnQgPSAwO1xuXG4gICAgZm9yIChjb25zdCBjYXJkIG9mIGNhcmRzKSB7XG4gICAgICB0cnkge1xuICAgICAgICAvLyBDaGVjayBpZiBjYXJkIGFscmVhZHkgZXhpc3RzXG4gICAgICAgIGNvbnN0IGV4aXN0aW5nQ2FyZCA9IGF3YWl0IHNxbGBcbiAgICAgICAgICBTRUxFQ1QgaWQgRlJPTSBjYXJkcyBXSEVSRSBzY3J5ZmFsbF9pZCA9ICR7Y2FyZC5pZH1cbiAgICAgICAgYDtcblxuICAgICAgICBpZiAoZXhpc3RpbmdDYXJkLnJvd3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHNraXBwZWRDb3VudCsrO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRXh0cmFjdCBwcmljZSBkYXRhIGZyb20gVENHUGxheWVyXG4gICAgICAgIGxldCBjdXJyZW50UHJpY2UgPSBudWxsO1xuICAgICAgICBpZiAoY2FyZC50Y2dwbGF5ZXI/LnByaWNlcz8ubm9ybWFsPy5tYXJrZXQpIHtcbiAgICAgICAgICBjdXJyZW50UHJpY2UgPSBwYXJzZUZsb2F0KGNhcmQudGNncGxheWVyLnByaWNlcy5ub3JtYWwubWFya2V0KTtcbiAgICAgICAgfSBlbHNlIGlmIChjYXJkLnRjZ3BsYXllcj8ucHJpY2VzPy5ob2xvZm9pbD8ubWFya2V0KSB7XG4gICAgICAgICAgY3VycmVudFByaWNlID0gcGFyc2VGbG9hdChjYXJkLnRjZ3BsYXllci5wcmljZXMuaG9sb2ZvaWwubWFya2V0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERldGVybWluZSByYXJpdHlcbiAgICAgICAgbGV0IHJhcml0eSA9IGNhcmQucmFyaXR5IHx8ICdVbmtub3duJztcbiAgICAgICAgaWYgKHJhcml0eS5pbmNsdWRlcygnSG9sbycpKSB7XG4gICAgICAgICAgcmFyaXR5ID0gJ0hvbG9ncmFwaGljJztcbiAgICAgICAgfSBlbHNlIGlmIChyYXJpdHkuaW5jbHVkZXMoJ1NlY3JldCcpKSB7XG4gICAgICAgICAgcmFyaXR5ID0gJ1NlY3JldCBSYXJlJztcbiAgICAgICAgfSBlbHNlIGlmIChyYXJpdHkuaW5jbHVkZXMoJ1VsdHJhJykpIHtcbiAgICAgICAgICByYXJpdHkgPSAnVWx0cmEgUmFyZSc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJbnNlcnQgY2FyZCBpbnRvIGRhdGFiYXNlXG4gICAgICAgIGF3YWl0IHNxbGBcbiAgICAgICAgICBJTlNFUlQgSU5UTyBjYXJkcyAoXG4gICAgICAgICAgICBuYW1lLCBzZXRfbmFtZSwgc2V0X2NvZGUsIGNhcmRfbnVtYmVyLCByYXJpdHksIGdhbWUsXG4gICAgICAgICAgICBtYW5hX2Nvc3QsIGNtYywgY2FyZF90eXBlLCBjb2xvcnMsIG9yYWNsZV90ZXh0LFxuICAgICAgICAgICAgcG93ZXIsIHRvdWdobmVzcywgaW1hZ2VfdXJsLCBzdG9ja19pbWFnZV91cmwsXG4gICAgICAgICAgICBjdXJyZW50X3ByaWNlLCBtYXJrZXRfcHJpY2UsIHNjcnlmYWxsX2lkLCB2ZXJpZmllZFxuICAgICAgICAgICkgVkFMVUVTIChcbiAgICAgICAgICAgICR7Y2FyZC5uYW1lfSwgJHtjYXJkLnNldC5uYW1lfSwgJHtjYXJkLnNldC5pZH0sICR7Y2FyZC5udW1iZXJ9LFxuICAgICAgICAgICAgJHtyYXJpdHl9LCAnUG9rZW1vbicsIG51bGwsIG51bGwsICR7Y2FyZC5zdXBlcnR5cGUgfHwgJ1Bva2Vtb24nfSxcbiAgICAgICAgICAgICR7SlNPTi5zdHJpbmdpZnkoY2FyZC50eXBlcyB8fCBbXSl9LCAke2NhcmQuZmxhdm9yVGV4dCB8fCBudWxsfSxcbiAgICAgICAgICAgICR7Y2FyZC5hdHRhY2tzPy5bMF0/LmRhbWFnZSB8fCBudWxsfSwgbnVsbCxcbiAgICAgICAgICAgICR7Y2FyZC5pbWFnZXM/LnNtYWxsIHx8IG51bGx9LCAke2NhcmQuaW1hZ2VzPy5sYXJnZSB8fCBudWxsfSxcbiAgICAgICAgICAgICR7Y3VycmVudFByaWNlfSwgbnVsbCwgJHtjYXJkLmlkfSwgdHJ1ZVxuICAgICAgICAgIClcbiAgICAgICAgYDtcblxuICAgICAgICBpbXBvcnRlZENvdW50Kys7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBFcnJvciBpbXBvcnRpbmcgY2FyZCAke2NhcmQubmFtZX06YCwgZXJyb3IpO1xuICAgICAgICBza2lwcGVkQ291bnQrKztcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXMuc3RhdHVzKDIwMCkuanNvbih7XG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgICAgbWVzc2FnZTogYEltcG9ydCBjb21wbGV0ZWQgZm9yIHNldCAke3NldENvZGV9YCxcbiAgICAgIGltcG9ydGVkOiBpbXBvcnRlZENvdW50LFxuICAgICAgc2tpcHBlZDogc2tpcHBlZENvdW50LFxuICAgICAgdG90YWw6IGNhcmRzLmxlbmd0aFxuICAgIH0pO1xuXG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc29sZS5lcnJvcignQ2FyZCBpbXBvcnQgZXJyb3I6JywgZXJyb3IpO1xuICAgIHJlcy5zdGF0dXMoNTAwKS5qc29uKHsgXG4gICAgICBlcnJvcjogJ0ltcG9ydCBmYWlsZWQnLCBcbiAgICAgIGRldGFpbHM6IGVycm9yLm1lc3NhZ2UgXG4gICAgfSk7XG4gIH1cbn0gIl0sIm5hbWVzIjpbInNxbCIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJtZXRob2QiLCJzdGF0dXMiLCJqc29uIiwiZXJyb3IiLCJzZXRDb2RlIiwiYm9keSIsInJlc3BvbnNlIiwiZmV0Y2giLCJvayIsIkVycm9yIiwiZGF0YSIsImNhcmRzIiwiaW1wb3J0ZWRDb3VudCIsInNraXBwZWRDb3VudCIsImNhcmQiLCJleGlzdGluZ0NhcmQiLCJpZCIsInJvd3MiLCJsZW5ndGgiLCJjdXJyZW50UHJpY2UiLCJ0Y2dwbGF5ZXIiLCJwcmljZXMiLCJub3JtYWwiLCJtYXJrZXQiLCJwYXJzZUZsb2F0IiwiaG9sb2ZvaWwiLCJyYXJpdHkiLCJpbmNsdWRlcyIsIm5hbWUiLCJzZXQiLCJudW1iZXIiLCJzdXBlcnR5cGUiLCJKU09OIiwic3RyaW5naWZ5IiwidHlwZXMiLCJmbGF2b3JUZXh0IiwiYXR0YWNrcyIsImRhbWFnZSIsImltYWdlcyIsInNtYWxsIiwibGFyZ2UiLCJjb25zb2xlIiwic3VjY2VzcyIsIm1lc3NhZ2UiLCJpbXBvcnRlZCIsInNraXBwZWQiLCJ0b3RhbCIsImRldGFpbHMiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(api-node)/./pages/api/cards/import-pokemon.js\n");
/***/ }),
/***/ "@vercel/postgres":
/*!***********************************!*\
!*** external "@vercel/postgres" ***!
\***********************************/
/***/ ((module) => {
module.exports = import("@vercel/postgres");;
/***/ }),
/***/ "next/dist/compiled/next-server/pages-api.runtime.dev.js":
/*!**************************************************************************!*\
!*** external "next/dist/compiled/next-server/pages-api.runtime.dev.js" ***!
\**************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/compiled/next-server/pages-api.runtime.dev.js");
/***/ })
};
;
// load runtime
var __webpack_require__ = require("../../../webpack-api-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next"], () => (__webpack_exec__("(api-node)/./node_modules/next/dist/build/webpack/loaders/next-route-loader/index.js?kind=PAGES_API&page=%2Fapi%2Fcards%2Fimport-pokemon&preferredRegion=&absolutePagePath=.%2Fpages%2Fapi%2Fcards%2Fimport-pokemon.js&middlewareConfigBase64=e30%3D!")));
module.exports = __webpack_exports__;
})();