NeahNew/.next/server/app/api/news/route.js
2025-05-03 14:17:46 +02:00

133 lines
33 KiB
JavaScript

/*
* 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 = "app/api/news/route";
exports.ids = ["app/api/news/route"];
exports.modules = {
/***/ "(rsc)/./app/api/news/route.ts":
/*!*******************************!*\
!*** ./app/api/news/route.ts ***!
\*******************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GET: () => (/* binding */ GET)\n/* harmony export */ });\n/* harmony import */ var next_server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/server */ \"(rsc)/./node_modules/next/dist/api/server.js\");\n/* harmony import */ var _lib_env__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @/lib/env */ \"(rsc)/./lib/env.ts\");\n\n\n// Helper function to clean HTML content\nfunction cleanHtmlContent(text) {\n if (!text) return '';\n return text.replace(/<[^>]*>/g, '') // Remove HTML tags\n .replace(/&nbsp;/g, ' ') // Replace &nbsp; with space\n .replace(/\\s+/g, ' ') // Replace multiple spaces with single space\n .trim();\n}\n// Helper function to format time\nfunction formatDateTime(dateStr) {\n try {\n const date = new Date(dateStr);\n // Format like \"17 avr.\" to match the Duties widget style\n const day = date.getDate();\n const month = date.toLocaleString('fr-FR', {\n month: 'short'\n }).toLowerCase().replace('.', ''); // Remove the dot that comes with French locale\n return {\n displayDate: `${day} ${month}.`,\n timestamp: date.toLocaleString('fr-FR', {\n day: '2-digit',\n month: 'short',\n hour: '2-digit',\n minute: '2-digit',\n hour12: false\n }).replace(',', ' à')\n };\n } catch (error) {\n return {\n displayDate: 'N/A',\n timestamp: 'N/A'\n };\n }\n}\n// Helper function to truncate text\nfunction truncateText(text, maxLength) {\n if (!text) return '';\n const cleaned = cleanHtmlContent(text);\n if (cleaned.length <= maxLength) return cleaned;\n const lastSpace = cleaned.lastIndexOf(' ', maxLength);\n const truncated = cleaned.substring(0, lastSpace > 0 ? lastSpace : maxLength).trim();\n return truncated.replace(/[.,!?]$/, '') + '...';\n}\n// Helper function to format category\nfunction formatCategory(category) {\n if (!category) return null;\n // Return null for all categories to remove the labels completely\n return null;\n}\n// Helper function to format source\nfunction formatSource(source) {\n if (!source) return '';\n const sourceName = source.replace(/^(https?:\\/\\/)?(www\\.)?/i, '').split('.')[0].toLowerCase().replace(/[^a-z0-9]/g, ' ').trim();\n return sourceName.charAt(0).toUpperCase() + sourceName.slice(1);\n}\nasync function GET() {\n try {\n console.log('Fetching news from FastAPI server...');\n const response = await fetch(`${_lib_env__WEBPACK_IMPORTED_MODULE_1__.env.NEWS_API_URL}/news?limit=12`, {\n method: 'GET',\n headers: {\n 'Accept': 'application/json'\n },\n // Add timeout to prevent hanging\n signal: AbortSignal.timeout(5000)\n });\n if (!response.ok) {\n console.error(`News API error: ${response.status} ${response.statusText}`);\n const contentType = response.headers.get('content-type');\n if (contentType && !contentType.includes('application/json')) {\n console.error('News API returned non-JSON response');\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: 'News API returned invalid response format',\n status: response.status\n }, {\n status: 502\n });\n }\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: 'Failed to fetch news',\n status: response.status\n }, {\n status: 502\n });\n }\n let articles;\n try {\n articles = await response.json();\n } catch (error) {\n console.error('Failed to parse news API response:', error);\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: 'Failed to parse news API response',\n details: error instanceof Error ? error.message : 'Unknown error'\n }, {\n status: 502\n });\n }\n const formattedNews = articles.map((article)=>({\n id: article.id,\n title: article.title,\n displayDate: formatDateTime(article.date).displayDate,\n timestamp: formatDateTime(article.date).timestamp,\n source: formatSource(article.source),\n description: truncateText(article.description || '', 200),\n category: formatCategory(article.category),\n url: article.url\n }));\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json(formattedNews);\n } catch (error) {\n console.error('News API error:', error);\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: 'Failed to fetch news',\n details: error instanceof Error ? error.message : 'Unknown error'\n }, {\n status: 500\n });\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDLG1CQUFtQkE7UUFDakMsT0FBT3BCLHFEQUFZQSxDQUFDdUQsSUFBSSxDQUN0QjtZQUFFbkMsT0FBTztZQUF3QnFDLFNBQVNyQyxpQkFBaUJzQyxRQUFRdEMsTUFBTXVDLE9BQU8sR0FBRztRQUFnQixHQUNuRztZQUFFVCxRQUFRO1FBQUk7SUFFbEI7QUFDRiIsInNvdXJjZXMiOlsiL2hvbWUvYWxtYS9uZXh0Z2VuL05lYWgtbWFpbC9hcHAvYXBpL25ld3Mvcm91dGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmV4dFJlc3BvbnNlIH0gZnJvbSAnbmV4dC9zZXJ2ZXInO1xuaW1wb3J0IHsgZW52IH0gZnJvbSAnQC9saWIvZW52JztcblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGNsZWFuIEhUTUwgY29udGVudFxuZnVuY3Rpb24gY2xlYW5IdG1sQ29udGVudCh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcge1xuICBpZiAoIXRleHQpIHJldHVybiAnJztcbiAgcmV0dXJuIHRleHRcbiAgICAucmVwbGFjZSgvPFtePl0qPi9nLCAnJykgLy8gUmVtb3ZlIEhUTUwgdGFnc1xuICAgIC5yZXBsYWNlKC8mbmJzcDsvZywgJyAnKSAvLyBSZXBsYWNlICZuYnNwOyB3aXRoIHNwYWNlXG4gICAgLnJlcGxhY2UoL1xccysvZywgJyAnKSAvLyBSZXBsYWNlIG11bHRpcGxlIHNwYWNlcyB3aXRoIHNpbmdsZSBzcGFjZVxuICAgIC50cmltKCk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbiB0byBmb3JtYXQgdGltZVxuZnVuY3Rpb24gZm9ybWF0RGF0ZVRpbWUoZGF0ZVN0cjogc3RyaW5nKTogeyBkaXNwbGF5RGF0ZTogc3RyaW5nLCB0aW1lc3RhbXA6IHN0cmluZyB9IHtcbiAgdHJ5IHtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoZGF0ZVN0cik7XG4gICAgXG4gICAgLy8gRm9ybWF0IGxpa2UgXCIxNyBhdnIuXCIgdG8gbWF0Y2ggdGhlIER1dGllcyB3aWRnZXQgc3R5bGVcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERhdGUoKTtcbiAgICBjb25zdCBtb250aCA9IGRhdGUudG9Mb2NhbGVTdHJpbmcoJ2ZyLUZSJywgeyBtb250aDogJ3Nob3J0JyB9KVxuICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgIC5yZXBsYWNlKCcuJywgJycpOyAvLyBSZW1vdmUgdGhlIGRvdCB0aGF0IGNvbWVzIHdpdGggRnJlbmNoIGxvY2FsZVxuICAgIFxuICAgIHJldHVybiB7XG4gICAgICBkaXNwbGF5RGF0ZTogYCR7ZGF5fSAke21vbnRofS5gLCAvLyBBZGQgdGhlIGRvdCBiYWNrIGZvciBjb25zaXN0ZW50IHN0eWxpbmdcbiAgICAgIHRpbWVzdGFtcDogZGF0ZS50b0xvY2FsZVN0cmluZygnZnItRlInLCB7XG4gICAgICAgIGRheTogJzItZGlnaXQnLFxuICAgICAgICBtb250aDogJ3Nob3J0JyxcbiAgICAgICAgaG91cjogJzItZGlnaXQnLFxuICAgICAgICBtaW51dGU6ICcyLWRpZ2l0JyxcbiAgICAgICAgaG91cjEyOiBmYWxzZVxuICAgICAgfSkucmVwbGFjZSgnLCcsICcgw6AnKVxuICAgIH07XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgcmV0dXJuIHsgZGlzcGxheURhdGU6ICdOL0EnLCB0aW1lc3RhbXA6ICdOL0EnIH07XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIHRydW5jYXRlIHRleHRcbmZ1bmN0aW9uIHRydW5jYXRlVGV4dCh0ZXh0OiBzdHJpbmcsIG1heExlbmd0aDogbnVtYmVyKTogc3RyaW5nIHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gJyc7XG4gIGNvbnN0IGNsZWFuZWQgPSBjbGVhbkh0bWxDb250ZW50KHRleHQpO1xuICBpZiAoY2xlYW5lZC5sZW5ndGggPD0gbWF4TGVuZ3RoKSByZXR1cm4gY2xlYW5lZDtcbiAgXG4gIGNvbnN0IGxhc3RTcGFjZSA9IGNsZWFuZWQubGFzdEluZGV4T2YoJyAnLCBtYXhMZW5ndGgpO1xuICBjb25zdCB0cnVuY2F0ZWQgPSBjbGVhbmVkLnN1YnN0cmluZygwLCBsYXN0U3BhY2UgPiAwID8gbGFzdFNwYWNlIDogbWF4TGVuZ3RoKS50cmltKCk7XG4gIHJldHVybiB0cnVuY2F0ZWQucmVwbGFjZSgvWy4sIT9dJC8sICcnKSArICcuLi4nO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZm9ybWF0IGNhdGVnb3J5XG5mdW5jdGlvbiBmb3JtYXRDYXRlZ29yeShjYXRlZ29yeTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gIGlmICghY2F0ZWdvcnkpIHJldHVybiBudWxsO1xuICAvLyBSZXR1cm4gbnVsbCBmb3IgYWxsIGNhdGVnb3JpZXMgdG8gcmVtb3ZlIHRoZSBsYWJlbHMgY29tcGxldGVseVxuICByZXR1cm4gbnVsbDtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGZvcm1hdCBzb3VyY2VcbmZ1bmN0aW9uIGZvcm1hdFNvdXJjZShzb3VyY2U6IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmICghc291cmNlKSByZXR1cm4gJyc7XG4gIGNvbnN0IHNvdXJjZU5hbWUgPSBzb3VyY2VcbiAgICAucmVwbGFjZSgvXihodHRwcz86XFwvXFwvKT8od3d3XFwuKT8vaSwgJycpXG4gICAgLnNwbGl0KCcuJylbMF1cbiAgICAudG9Mb3dlckNhc2UoKVxuICAgIC5yZXBsYWNlKC9bXmEtejAtOV0vZywgJyAnKVxuICAgIC50cmltKCk7XG4gIHJldHVybiBzb3VyY2VOYW1lLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgc291cmNlTmFtZS5zbGljZSgxKTtcbn1cblxuaW50ZXJmYWNlIE5ld3NJdGVtIHtcbiAgaWQ6IG51bWJlcjtcbiAgdGl0bGU6IHN0cmluZztcbiAgZGlzcGxheURhdGU6IHN0cmluZztcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIHNvdXJjZTogc3RyaW5nO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcbiAgY2F0ZWdvcnk6IHN0cmluZyB8IG51bGw7XG4gIHVybDogc3RyaW5nO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gR0VUKCkge1xuICB0cnkge1xuICAgIGNvbnNvbGUubG9nKCdGZXRjaGluZyBuZXdzIGZyb20gRmFzdEFQSSBzZXJ2ZXIuLi4nKTtcbiAgICBcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2Vudi5ORVdTX0FQSV9VUkx9L25ld3M/bGltaXQ9MTJgLCB7XG4gICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgaGVhZGVyczoge1xuICAgICAgICAnQWNjZXB0JzogJ2FwcGxpY2F0aW9uL2pzb24nLFxuICAgICAgfSxcbiAgICAgIC8vIEFkZCB0aW1lb3V0IHRvIHByZXZlbnQgaGFuZ2luZ1xuICAgICAgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KDUwMDApXG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBOZXdzIEFQSSBlcnJvcjogJHtyZXNwb25zZS5zdGF0dXN9ICR7cmVzcG9uc2Uuc3RhdHVzVGV4dH1gKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpO1xuICAgICAgaWYgKGNvbnRlbnRUeXBlICYmICFjb250ZW50VHlwZS5pbmNsdWRlcygnYXBwbGljYXRpb24vanNvbicpKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ05ld3MgQVBJIHJldHVybmVkIG5vbi1KU09OIHJlc3BvbnNlJyk7XG4gICAgICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihcbiAgICAgICAgICB7IGVycm9yOiAnTmV3cyBBUEkgcmV0dXJuZWQgaW52YWxpZCByZXNwb25zZSBmb3JtYXQnLCBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyB9LFxuICAgICAgICAgIHsgc3RhdHVzOiA1MDIgfVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKFxuICAgICAgICB7IGVycm9yOiAnRmFpbGVkIHRvIGZldGNoIG5ld3MnLCBzdGF0dXM6IHJlc3BvbnNlLnN0YXR1cyB9LFxuICAgICAgICB7IHN0YXR1czogNTAyIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgbGV0IGFydGljbGVzO1xuICAgIHRyeSB7XG4gICAgICBhcnRpY2xlcyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIHBhcnNlIG5ld3MgQVBJIHJlc3BvbnNlOicsIGVycm9yKTtcbiAgICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihcbiAgICAgICAgeyBlcnJvcjogJ0ZhaWxlZCB0byBwYXJzZSBuZXdzIEFQSSByZXNwb25zZScsIGRldGFpbHM6IGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvci5tZXNzYWdlIDogJ1Vua25vd24gZXJyb3InIH0sXG4gICAgICAgIHsgc3RhdHVzOiA1MDIgfVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBmb3JtYXR0ZWROZXdzOiBOZXdzSXRlbVtdID0gYXJ0aWNsZXMubWFwKChhcnRpY2xlOiBhbnkpID0+ICh7XG4gICAgICBpZDogYXJ0aWNsZS5pZCxcbiAgICAgIHRpdGxlOiBhcnRpY2xlLnRpdGxlLFxuICAgICAgZGlzcGxheURhdGU6IGZvcm1hdERhdGVUaW1lKGFydGljbGUuZGF0ZSkuZGlzcGxheURhdGUsXG4gICAgICB0aW1lc3RhbXA6IGZvcm1hdERhdGVUaW1lKGFydGljbGUuZGF0ZSkudGltZXN0YW1wLFxuICAgICAgc291cmNlOiBmb3JtYXRTb3VyY2UoYXJ0aWNsZS5zb3VyY2UpLFxuICAgICAgZGVzY3JpcHRpb246IHRydW5jYXRlVGV4dChhcnRpY2xlLmRlc2NyaXB0aW9uIHx8ICcnLCAyMDApLFxuICAgICAgY2F0ZWdvcnk6IGZvcm1hdENhdGVnb3J5KGFydGljbGUuY2F0ZWdvcnkpLFxuICAgICAgdXJsOiBhcnRpY2xlLnVybFxuICAgIH0pKTtcblxuICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbihmb3JtYXR0ZWROZXdzKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKCdOZXdzIEFQSSBlcnJvcjonLCBlcnJvcik7XG4gICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKFxuICAgICAgeyBlcnJvcjogJ0ZhaWxlZCB0byBmZXRjaCBuZXdzJywgZGV0YWlsczogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnVW5rbm93biBlcnJvcicgfSxcbiAgICAgIHsgc3RhdHVzOiA1MDAgfVxuICAgICk7XG4gIH1cbn0gIl0sIm5hbWVzIjpbIk5leHRSZXNwb25zZSIsImVudiIsImNsZWFuSHRtbENvbnRlbnQiLCJ0ZXh0IiwicmVwbGFjZSIsInRyaW0iLCJmb3JtYXREYXRlVGltZSIsImRhdGVTdHIiLCJkYXRlIiwiRGF0ZSIsImRheSIsImdldERhdGUiLCJtb250aCIsInRvTG9jYWxlU3RyaW5nIiwidG9Mb3dlckNhc2UiLCJkaXNwbGF5RGF0ZSIsInRpbWVzdGFtcCIsImhvdXIiLCJtaW51dGUiLCJob3VyMTIiLCJlcnJvciIsInRydW5jYXRlVGV4dCIsIm1heExlbmd0aCIsImNsZWFuZWQiLCJsZW5ndGgiLCJsYXN0U3BhY2UiLCJsYXN0SW5kZXhPZiIsInRydW5jYXRlZCIsInN1YnN0cmluZyIsImZvcm1hdENhdGVnb3J5IiwiY2F0ZWdvcnkiLCJmb3JtYXRTb3VyY2UiLCJzb3VyY2UiLCJzb3VyY2VOYW1lIiwic3BsaXQiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiR0VUIiwiY29uc29sZSIsImxvZyIsInJlc3BvbnNlIiwiZmV0Y2giLCJORVdTX0FQSV9VUkwiLCJtZXRob2QiLCJoZWFkZXJzIiwic2lnbmFsIiwiQWJvcnRTaWduYWwiLCJ0aW1lb3V0Iiwib2siLCJzdGF0dXMiLCJzdGF0dXNUZXh0IiwiY29udGVudFR5cGUiLCJnZXQiLCJpbmNsdWRlcyIsImpzb24iLCJhcnRpY2xlcyIsImRldGFpbHMiLCJFcnJvciIsIm1lc3NhZ2UiLCJmb3JtYXR0ZWROZXdzIiwibWFwIiwiYXJ0aWNsZSIsImlkIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsInVybCJdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/api/news/route.ts\n");
/***/ }),
/***/ "(rsc)/./lib/env.ts":
/*!********************!*\
!*** ./lib/env.ts ***!
\********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ env: () => (/* binding */ env)\n/* harmony export */ });\n/* harmony import */ var zod__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! zod */ \"(rsc)/./node_modules/zod/lib/index.mjs\");\n\nconst envSchema = zod__WEBPACK_IMPORTED_MODULE_0__.z.object({\n NODE_ENV: zod__WEBPACK_IMPORTED_MODULE_0__.z.enum([\n \"development\",\n \"test\",\n \"production\"\n ]).default(\"development\"),\n DATABASE_URL: zod__WEBPACK_IMPORTED_MODULE_0__.z.string().url(),\n NEWSDB_URL: zod__WEBPACK_IMPORTED_MODULE_0__.z.string().regex(/^postgresql:\\/\\//, \"Must be a valid PostgreSQL URL\"),\n NEWS_API_URL: zod__WEBPACK_IMPORTED_MODULE_0__.z.string().url(),\n KEYCLOAK_CLIENT_ID: zod__WEBPACK_IMPORTED_MODULE_0__.z.string(),\n KEYCLOAK_CLIENT_SECRET: zod__WEBPACK_IMPORTED_MODULE_0__.z.string(),\n KEYCLOAK_REALM: zod__WEBPACK_IMPORTED_MODULE_0__.z.string(),\n KEYCLOAK_ISSUER: zod__WEBPACK_IMPORTED_MODULE_0__.z.string().url(),\n LEANTIME_TOKEN: zod__WEBPACK_IMPORTED_MODULE_0__.z.string(),\n LEANTIME_API_URL: zod__WEBPACK_IMPORTED_MODULE_0__.z.string().url(),\n ROCKET_CHAT_TOKEN: zod__WEBPACK_IMPORTED_MODULE_0__.z.string(),\n ROCKET_CHAT_USER_ID: zod__WEBPACK_IMPORTED_MODULE_0__.z.string()\n});\nconst env = envSchema.parse(process.env);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9saWIvZW52LnRzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQXdCO0FBRXhCLE1BQU1DLFlBQVlELGtDQUFDQSxDQUFDRSxNQUFNLENBQUM7SUFDekJDLFVBQVVILGtDQUFDQSxDQUFDSSxJQUFJLENBQUM7UUFBQztRQUFlO1FBQVE7S0FBYSxFQUFFQyxPQUFPLENBQUM7SUFDaEVDLGNBQWNOLGtDQUFDQSxDQUFDTyxNQUFNLEdBQUdDLEdBQUc7SUFDNUJDLFlBQVlULGtDQUFDQSxDQUFDTyxNQUFNLEdBQUdHLEtBQUssQ0FBQyxvQkFBb0I7SUFDakRDLGNBQWNYLGtDQUFDQSxDQUFDTyxNQUFNLEdBQUdDLEdBQUc7SUFDNUJJLG9CQUFvQlosa0NBQUNBLENBQUNPLE1BQU07SUFDNUJNLHdCQUF3QmIsa0NBQUNBLENBQUNPLE1BQU07SUFDaENPLGdCQUFnQmQsa0NBQUNBLENBQUNPLE1BQU07SUFDeEJRLGlCQUFpQmYsa0NBQUNBLENBQUNPLE1BQU0sR0FBR0MsR0FBRztJQUMvQlEsZ0JBQWdCaEIsa0NBQUNBLENBQUNPLE1BQU07SUFDeEJVLGtCQUFrQmpCLGtDQUFDQSxDQUFDTyxNQUFNLEdBQUdDLEdBQUc7SUFDaENVLG1CQUFtQmxCLGtDQUFDQSxDQUFDTyxNQUFNO0lBQzNCWSxxQkFBcUJuQixrQ0FBQ0EsQ0FBQ08sTUFBTTtBQUMvQjtBQUVPLE1BQU1hLE1BQU1uQixVQUFVb0IsS0FBSyxDQUFDQyxRQUFRRixHQUFHLEVBQUUiLCJzb3VyY2VzIjpbIi9ob21lL2FsbWEvbmV4dGdlbi9OZWFoLW1haWwvbGliL2Vudi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5jb25zdCBlbnZTY2hlbWEgPSB6Lm9iamVjdCh7XG4gIE5PREVfRU5WOiB6LmVudW0oW1wiZGV2ZWxvcG1lbnRcIiwgXCJ0ZXN0XCIsIFwicHJvZHVjdGlvblwiXSkuZGVmYXVsdChcImRldmVsb3BtZW50XCIpLFxuICBEQVRBQkFTRV9VUkw6IHouc3RyaW5nKCkudXJsKCksXG4gIE5FV1NEQl9VUkw6IHouc3RyaW5nKCkucmVnZXgoL15wb3N0Z3Jlc3FsOlxcL1xcLy8sIFwiTXVzdCBiZSBhIHZhbGlkIFBvc3RncmVTUUwgVVJMXCIpLFxuICBORVdTX0FQSV9VUkw6IHouc3RyaW5nKCkudXJsKCksXG4gIEtFWUNMT0FLX0NMSUVOVF9JRDogei5zdHJpbmcoKSxcbiAgS0VZQ0xPQUtfQ0xJRU5UX1NFQ1JFVDogei5zdHJpbmcoKSxcbiAgS0VZQ0xPQUtfUkVBTE06IHouc3RyaW5nKCksXG4gIEtFWUNMT0FLX0lTU1VFUjogei5zdHJpbmcoKS51cmwoKSxcbiAgTEVBTlRJTUVfVE9LRU46IHouc3RyaW5nKCksXG4gIExFQU5USU1FX0FQSV9VUkw6IHouc3RyaW5nKCkudXJsKCksXG4gIFJPQ0tFVF9DSEFUX1RPS0VOOiB6LnN0cmluZygpLFxuICBST0NLRVRfQ0hBVF9VU0VSX0lEOiB6LnN0cmluZygpLFxufSk7XG5cbmV4cG9ydCBjb25zdCBlbnYgPSBlbnZTY2hlbWEucGFyc2UocHJvY2Vzcy5lbnYpOyAiXSwibmFtZXMiOlsieiIsImVudlNjaGVtYSIsIm9iamVjdCIsIk5PREVfRU5WIiwiZW51bSIsImRlZmF1bHQiLCJEQVRBQkFTRV9VUkwiLCJzdHJpbmciLCJ1cmwiLCJORVdTREJfVVJMIiwicmVnZXgiLCJORVdTX0FQSV9VUkwiLCJLRVlDTE9BS19DTElFTlRfSUQiLCJLRVlDTE9BS19DTElFTlRfU0VDUkVUIiwiS0VZQ0xPQUtfUkVBTE0iLCJLRVlDTE9BS19JU1NVRVIiLCJMRUFOVElNRV9UT0tFTiIsIkxFQU5USU1FX0FQSV9VUkwiLCJST0NLRVRfQ0hBVF9UT0tFTiIsIlJPQ0tFVF9DSEFUX1VTRVJfSUQiLCJlbnYiLCJwYXJzZSIsInByb2Nlc3MiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./lib/env.ts\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapi%2Fnews%2Froute&page=%2Fapi%2Fnews%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fnews%2Froute.ts&appDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapi%2Fnews%2Froute&page=%2Fapi%2Fnews%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fnews%2Froute.ts&appDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
\**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ patchFetch: () => (/* binding */ patchFetch),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ serverHooks: () => (/* binding */ serverHooks),\n/* harmony export */ workAsyncStorage: () => (/* binding */ workAsyncStorage),\n/* harmony export */ workUnitAsyncStorage: () => (/* binding */ workUnitAsyncStorage)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/route-modules/app-route/module.compiled */ \"(rsc)/./node_modules/next/dist/server/route-modules/app-route/module.compiled.js\");\n/* harmony import */ var next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/route-kind */ \"(rsc)/./node_modules/next/dist/server/route-kind.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/server/lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n/* harmony import */ var next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _home_alma_nextgen_Neah_mail_app_api_news_route_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app/api/news/route.ts */ \"(rsc)/./app/api/news/route.ts\");\n\n\n\n\n// We inject the nextConfigOutput here so that we can use them in the route\n// module.\nconst nextConfigOutput = \"\"\nconst routeModule = new next_dist_server_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({\n definition: {\n kind: next_dist_server_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,\n page: \"/api/news/route\",\n pathname: \"/api/news\",\n filename: \"route\",\n bundlePath: \"app/api/news/route\"\n },\n resolvedPagePath: \"/home/alma/nextgen/Neah-mail/app/api/news/route.ts\",\n nextConfigOutput,\n userland: _home_alma_nextgen_Neah_mail_app_api_news_route_ts__WEBPACK_IMPORTED_MODULE_3__\n});\n// Pull out the exports that we need to expose from the module. This should\n// be eliminated when we've moved the other routes to the new format. These\n// are used to hook into the route.\nconst { workAsyncStorage, workUnitAsyncStorage, serverHooks } = routeModule;\nfunction patchFetch() {\n return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({\n workAsyncStorage,\n workUnitAsyncStorage\n });\n}\n\n\n//# sourceMappingURL=app-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIvaW5kZXguanM/bmFtZT1hcHAlMkZhcGklMkZuZXdzJTJGcm91dGUmcGFnZT0lMkZhcGklMkZuZXdzJTJGcm91dGUmYXBwUGF0aHM9JnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGYXBpJTJGbmV3cyUyRnJvdXRlLnRzJmFwcERpcj0lMkZob21lJTJGYWxtYSUyRm5leHRnZW4lMkZOZWFoLW1haWwlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRmhvbWUlMkZhbG1hJTJGbmV4dGdlbiUyRk5lYWgtbWFpbCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBK0Y7QUFDdkM7QUFDcUI7QUFDRTtBQUMvRTtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IseUdBQW1CO0FBQzNDO0FBQ0EsY0FBYyxrRUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWTtBQUNaLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxRQUFRLHNEQUFzRDtBQUM5RDtBQUNBLFdBQVcsNEVBQVc7QUFDdEI7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUMwRjs7QUFFMUYiLCJzb3VyY2VzIjpbIiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcHBSb3V0ZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9yb3V0ZS1raW5kXCI7XG5pbXBvcnQgeyBwYXRjaEZldGNoIGFzIF9wYXRjaEZldGNoIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvbGliL3BhdGNoLWZldGNoXCI7XG5pbXBvcnQgKiBhcyB1c2VybGFuZCBmcm9tIFwiL2hvbWUvYWxtYS9uZXh0Z2VuL05lYWgtbWFpbC9hcHAvYXBpL25ld3Mvcm91dGUudHNcIjtcbi8vIFdlIGluamVjdCB0aGUgbmV4dENvbmZpZ091dHB1dCBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgbmV4dENvbmZpZ091dHB1dCA9IFwiXCJcbmNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFJvdXRlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9ST1VURSxcbiAgICAgICAgcGFnZTogXCIvYXBpL25ld3Mvcm91dGVcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2FwaS9uZXdzXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcInJvdXRlXCIsXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiYXBwL2FwaS9uZXdzL3JvdXRlXCJcbiAgICB9LFxuICAgIHJlc29sdmVkUGFnZVBhdGg6IFwiL2hvbWUvYWxtYS9uZXh0Z2VuL05lYWgtbWFpbC9hcHAvYXBpL25ld3Mvcm91dGUudHNcIixcbiAgICBuZXh0Q29uZmlnT3V0cHV0LFxuICAgIHVzZXJsYW5kXG59KTtcbi8vIFB1bGwgb3V0IHRoZSBleHBvcnRzIHRoYXQgd2UgbmVlZCB0byBleHBvc2UgZnJvbSB0aGUgbW9kdWxlLiBUaGlzIHNob3VsZFxuLy8gYmUgZWxpbWluYXRlZCB3aGVuIHdlJ3ZlIG1vdmVkIHRoZSBvdGhlciByb3V0ZXMgdG8gdGhlIG5ldyBmb3JtYXQuIFRoZXNlXG4vLyBhcmUgdXNlZCB0byBob29rIGludG8gdGhlIHJvdXRlLlxuY29uc3QgeyB3b3JrQXN5bmNTdG9yYWdlLCB3b3JrVW5pdEFzeW5jU3RvcmFnZSwgc2VydmVySG9va3MgfSA9IHJvdXRlTW9kdWxlO1xuZnVuY3Rpb24gcGF0Y2hGZXRjaCgpIHtcbiAgICByZXR1cm4gX3BhdGNoRmV0Y2goe1xuICAgICAgICB3b3JrQXN5bmNTdG9yYWdlLFxuICAgICAgICB3b3JrVW5pdEFzeW5jU3RvcmFnZVxuICAgIH0pO1xufVxuZXhwb3J0IHsgcm91dGVNb2R1bGUsIHdvcmtBc3luY1N0b3JhZ2UsIHdvcmtVbml0QXN5bmNTdG9yYWdlLCBzZXJ2ZXJIb29rcywgcGF0Y2hGZXRjaCwgIH07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1yb3V0ZS5qcy5tYXAiXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapi%2Fnews%2Froute&page=%2Fapi%2Fnews%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fnews%2Froute.ts&appDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true!":
/*!******************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true! ***!
\******************************************************************************************************/
/***/ (() => {
/***/ }),
/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true!":
/*!******************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?server=true! ***!
\******************************************************************************************************/
/***/ (() => {
/***/ }),
/***/ "../app-render/after-task-async-storage.external":
/*!***********************************************************************************!*\
!*** external "next/dist/server/app-render/after-task-async-storage.external.js" ***!
\***********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/after-task-async-storage.external.js");
/***/ }),
/***/ "../app-render/work-async-storage.external":
/*!*****************************************************************************!*\
!*** external "next/dist/server/app-render/work-async-storage.external.js" ***!
\*****************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-async-storage.external.js");
/***/ }),
/***/ "./work-unit-async-storage.external":
/*!**********************************************************************************!*\
!*** external "next/dist/server/app-render/work-unit-async-storage.external.js" ***!
\**********************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/server/app-render/work-unit-async-storage.external.js");
/***/ }),
/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js":
/*!*************************************************************************!*\
!*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***!
\*************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js");
/***/ }),
/***/ "next/dist/compiled/next-server/app-route.runtime.dev.js":
/*!**************************************************************************!*\
!*** external "next/dist/compiled/next-server/app-route.runtime.dev.js" ***!
\**************************************************************************/
/***/ ((module) => {
"use strict";
module.exports = require("next/dist/compiled/next-server/app-route.runtime.dev.js");
/***/ })
};
;
// load runtime
var __webpack_require__ = require("../../../webpack-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","vendor-chunks/zod"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.js?name=app%2Fapi%2Fnews%2Froute&page=%2Fapi%2Fnews%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fnews%2Froute.ts&appDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2Fhome%2Falma%2Fnextgen%2FNeah-mail&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
module.exports = __webpack_exports__;
})();