NeahFront5/.next/server/app/api/calendars/route.js
2025-04-10 11:30:00 +02:00

226 lines
42 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 = "app/api/calendars/route";
exports.ids = ["app/api/calendars/route"];
exports.modules = {
/***/ "@prisma/client":
/*!*********************************!*\
!*** external "@prisma/client" ***!
\*********************************/
/***/ ((module) => {
module.exports = require("@prisma/client");
/***/ }),
/***/ "../../client/components/action-async-storage.external":
/*!*******************************************************************************!*\
!*** external "next/dist/client/components/action-async-storage.external.js" ***!
\*******************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/client/components/action-async-storage.external.js");
/***/ }),
/***/ "../../client/components/request-async-storage.external":
/*!********************************************************************************!*\
!*** external "next/dist/client/components/request-async-storage.external.js" ***!
\********************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/client/components/request-async-storage.external.js");
/***/ }),
/***/ "../../client/components/static-generation-async-storage.external":
/*!******************************************************************************************!*\
!*** external "next/dist/client/components/static-generation-async-storage.external.js" ***!
\******************************************************************************************/
/***/ ((module) => {
module.exports = require("next/dist/client/components/static-generation-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) => {
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) => {
module.exports = require("next/dist/compiled/next-server/app-route.runtime.dev.js");
/***/ }),
/***/ "assert":
/*!*************************!*\
!*** external "assert" ***!
\*************************/
/***/ ((module) => {
module.exports = require("assert");
/***/ }),
/***/ "buffer":
/*!*************************!*\
!*** external "buffer" ***!
\*************************/
/***/ ((module) => {
module.exports = require("buffer");
/***/ }),
/***/ "crypto":
/*!*************************!*\
!*** external "crypto" ***!
\*************************/
/***/ ((module) => {
module.exports = require("crypto");
/***/ }),
/***/ "events":
/*!*************************!*\
!*** external "events" ***!
\*************************/
/***/ ((module) => {
module.exports = require("events");
/***/ }),
/***/ "http":
/*!***********************!*\
!*** external "http" ***!
\***********************/
/***/ ((module) => {
module.exports = require("http");
/***/ }),
/***/ "https":
/*!************************!*\
!*** external "https" ***!
\************************/
/***/ ((module) => {
module.exports = require("https");
/***/ }),
/***/ "querystring":
/*!******************************!*\
!*** external "querystring" ***!
\******************************/
/***/ ((module) => {
module.exports = require("querystring");
/***/ }),
/***/ "url":
/*!**********************!*\
!*** external "url" ***!
\**********************/
/***/ ((module) => {
module.exports = require("url");
/***/ }),
/***/ "util":
/*!***********************!*\
!*** external "util" ***!
\***********************/
/***/ ((module) => {
module.exports = require("util");
/***/ }),
/***/ "zlib":
/*!***********************!*\
!*** external "zlib" ***!
\***********************/
/***/ ((module) => {
module.exports = require("zlib");
/***/ }),
/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fcalendars%2Froute&page=%2Fapi%2Fcalendars%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fcalendars%2Froute.ts&appDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!":
/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
!*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fcalendars%2Froute&page=%2Fapi%2Fcalendars%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fcalendars%2Froute.ts&appDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***!
\*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ patchFetch: () => (/* binding */ patchFetch),\n/* harmony export */ requestAsyncStorage: () => (/* binding */ requestAsyncStorage),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ serverHooks: () => (/* binding */ serverHooks),\n/* harmony export */ staticGenerationAsyncStorage: () => (/* binding */ staticGenerationAsyncStorage)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-route/module.compiled */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\");\n/* harmony import */ var next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/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 _Users_alma_Downloads_neah_front_app_api_calendars_route_ts__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./app/api/calendars/route.ts */ \"(rsc)/./app/api/calendars/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_future_route_modules_app_route_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppRouteRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_ROUTE,\n page: \"/api/calendars/route\",\n pathname: \"/api/calendars\",\n filename: \"route\",\n bundlePath: \"app/api/calendars/route\"\n },\n resolvedPagePath: \"/Users/alma/Downloads/neah/front/app/api/calendars/route.ts\",\n nextConfigOutput,\n userland: _Users_alma_Downloads_neah_front_app_api_calendars_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 { requestAsyncStorage, staticGenerationAsyncStorage, serverHooks } = routeModule;\nconst originalPathname = \"/api/calendars/route\";\nfunction patchFetch() {\n return (0,next_dist_server_lib_patch_fetch__WEBPACK_IMPORTED_MODULE_2__.patchFetch)({\n serverHooks,\n staticGenerationAsyncStorage\n });\n}\n\n\n//# sourceMappingURL=app-route.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZhcGklMkZjYWxlbmRhcnMlMkZyb3V0ZSZwYWdlPSUyRmFwaSUyRmNhbGVuZGFycyUyRnJvdXRlJmFwcFBhdGhzPSZwYWdlUGF0aD1wcml2YXRlLW5leHQtYXBwLWRpciUyRmFwaSUyRmNhbGVuZGFycyUyRnJvdXRlLnRzJmFwcERpcj0lMkZVc2VycyUyRmFsbWElMkZEb3dubG9hZHMlMkZuZWFoJTJGZnJvbnQlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRlVzZXJzJTJGYWxtYSUyRkRvd25sb2FkcyUyRm5lYWglMkZmcm9udCZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQXNHO0FBQ3ZDO0FBQ2M7QUFDVztBQUN4RjtBQUNBO0FBQ0E7QUFDQSx3QkFBd0IsZ0hBQW1CO0FBQzNDO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0EsWUFBWTtBQUNaLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQSxRQUFRLGlFQUFpRTtBQUN6RTtBQUNBO0FBQ0EsV0FBVyw0RUFBVztBQUN0QjtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ3VIOztBQUV2SCIsInNvdXJjZXMiOlsid2VicGFjazovL25lYWgvPzA2MDQiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwUm91dGVSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1yb3V0ZS9tb2R1bGUuY29tcGlsZWRcIjtcbmltcG9ydCB7IFJvdXRlS2luZCB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1raW5kXCI7XG5pbXBvcnQgeyBwYXRjaEZldGNoIGFzIF9wYXRjaEZldGNoIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvbGliL3BhdGNoLWZldGNoXCI7XG5pbXBvcnQgKiBhcyB1c2VybGFuZCBmcm9tIFwiL1VzZXJzL2FsbWEvRG93bmxvYWRzL25lYWgvZnJvbnQvYXBwL2FwaS9jYWxlbmRhcnMvcm91dGUudHNcIjtcbi8vIFdlIGluamVjdCB0aGUgbmV4dENvbmZpZ091dHB1dCBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgbmV4dENvbmZpZ091dHB1dCA9IFwiXCJcbmNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFJvdXRlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9ST1VURSxcbiAgICAgICAgcGFnZTogXCIvYXBpL2NhbGVuZGFycy9yb3V0ZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvYXBpL2NhbGVuZGFyc1wiLFxuICAgICAgICBmaWxlbmFtZTogXCJyb3V0ZVwiLFxuICAgICAgICBidW5kbGVQYXRoOiBcImFwcC9hcGkvY2FsZW5kYXJzL3JvdXRlXCJcbiAgICB9LFxuICAgIHJlc29sdmVkUGFnZVBhdGg6IFwiL1VzZXJzL2FsbWEvRG93bmxvYWRzL25lYWgvZnJvbnQvYXBwL2FwaS9jYWxlbmRhcnMvcm91dGUudHNcIixcbiAgICBuZXh0Q29uZmlnT3V0cHV0LFxuICAgIHVzZXJsYW5kXG59KTtcbi8vIFB1bGwgb3V0IHRoZSBleHBvcnRzIHRoYXQgd2UgbmVlZCB0byBleHBvc2UgZnJvbSB0aGUgbW9kdWxlLiBUaGlzIHNob3VsZFxuLy8gYmUgZWxpbWluYXRlZCB3aGVuIHdlJ3ZlIG1vdmVkIHRoZSBvdGhlciByb3V0ZXMgdG8gdGhlIG5ldyBmb3JtYXQuIFRoZXNlXG4vLyBhcmUgdXNlZCB0byBob29rIGludG8gdGhlIHJvdXRlLlxuY29uc3QgeyByZXF1ZXN0QXN5bmNTdG9yYWdlLCBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLCBzZXJ2ZXJIb29rcyB9ID0gcm91dGVNb2R1bGU7XG5jb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvYXBpL2NhbGVuZGFycy9yb3V0ZVwiO1xuZnVuY3Rpb24gcGF0Y2hGZXRjaCgpIHtcbiAgICByZXR1cm4gX3BhdGNoRmV0Y2goe1xuICAgICAgICBzZXJ2ZXJIb29rcyxcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZVxuICAgIH0pO1xufVxuZXhwb3J0IHsgcm91dGVNb2R1bGUsIHJlcXVlc3RBc3luY1N0b3JhZ2UsIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UsIHNlcnZlckhvb2tzLCBvcmlnaW5hbFBhdGhuYW1lLCBwYXRjaEZldGNoLCAgfTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fcalendars%2Froute&page=%2Fapi%2Fcalendars%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fcalendars%2Froute.ts&appDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n");
/***/ }),
/***/ "(rsc)/./app/api/auth/[...nextauth]/route.ts":
/*!*********************************************!*\
!*** ./app/api/auth/[...nextauth]/route.ts ***!
\*********************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GET: () => (/* binding */ handler),\n/* harmony export */ POST: () => (/* binding */ handler),\n/* harmony export */ authOptions: () => (/* binding */ authOptions)\n/* harmony export */ });\n/* harmony import */ var next_auth__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next-auth */ \"(rsc)/./node_modules/next-auth/index.js\");\n/* harmony import */ var next_auth__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_auth__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_auth_providers_keycloak__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-auth/providers/keycloak */ \"(rsc)/./node_modules/next-auth/providers/keycloak.js\");\n\n\nconst authOptions = {\n providers: [\n (0,next_auth_providers_keycloak__WEBPACK_IMPORTED_MODULE_1__[\"default\"])({\n clientId: process.env.KEYCLOAK_CLIENT_ID,\n clientSecret: process.env.KEYCLOAK_CLIENT_SECRET,\n issuer: process.env.KEYCLOAK_ISSUER\n })\n ],\n callbacks: {\n async jwt ({ token, account, profile }) {\n if (account) {\n token.accessToken = account.access_token;\n token.refreshToken = account.refresh_token;\n token.accessTokenExpires = account.expires_at * 1000;\n token.role = profile?.groups || [];\n return token;\n }\n // Return previous token if not expired\n if (Date.now() < token.accessTokenExpires) {\n return token;\n }\n try {\n const response = await fetch(`${process.env.KEYCLOAK_BASE_URL}/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/token`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n },\n body: new URLSearchParams({\n grant_type: \"refresh_token\",\n client_id: process.env.KEYCLOAK_CLIENT_ID,\n client_secret: process.env.KEYCLOAK_CLIENT_SECRET,\n refresh_token: token.refreshToken\n })\n });\n const tokens = await response.json();\n if (!response.ok) throw tokens;\n return {\n ...token,\n accessToken: tokens.access_token,\n refreshToken: tokens.refresh_token ?? token.refreshToken,\n accessTokenExpires: Date.now() + tokens.expires_in * 1000\n };\n } catch (error) {\n console.error(\"Error refreshing token:\", error);\n return {\n ...token,\n error: \"RefreshAccessTokenError\"\n };\n }\n },\n async session ({ session, token }) {\n if (token.error) {\n throw new Error(\"RefreshAccessTokenError\");\n }\n session.accessToken = token.accessToken;\n session.user = {\n ...session.user,\n id: token.sub,\n first_name: token.first_name,\n last_name: token.last_name,\n username: token.username,\n role: token.role || []\n };\n return session;\n }\n },\n events: {\n async signOut ({ token }) {\n if (token.refreshToken) {\n try {\n await fetch(`${process.env.KEYCLOAK_BASE_URL}/realms/${process.env.KEYCLOAK_REALM}/protocol/openid-connect/logout`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n },\n body: new URLSearchParams({\n client_id: process.env.KEYCLOAK_CLIENT_ID,\n client_secret: process.env.KEYCLOAK_CLIENT_SECRET,\n refresh_token: token.refreshToken\n })\n });\n } catch (error) {\n console.error(\"Error during logout:\", error);\n }\n }\n }\n }\n};\nconst handler = next_auth__WEBPACK_IMPORTED_MODULE_0___default()(authOptions);\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvYXBpL2F1dGgvWy4uLm5leHRhdXRoXS9yb3V0ZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBc0Q7QUFDTTtBQUVyRCxNQUFNRSxjQUErQjtJQUMxQ0MsV0FBVztRQUNURix3RUFBZ0JBLENBQUM7WUFDZkcsVUFBVUMsUUFBUUMsR0FBRyxDQUFDQyxrQkFBa0I7WUFDeENDLGNBQWNILFFBQVFDLEdBQUcsQ0FBQ0csc0JBQXNCO1lBQ2hEQyxRQUFRTCxRQUFRQyxHQUFHLENBQUNLLGVBQWU7UUFDckM7S0FDRDtJQUNEQyxXQUFXO1FBQ1QsTUFBTUMsS0FBSSxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsT0FBTyxFQUFFO1lBQ25DLElBQUlELFNBQVM7Z0JBQ1hELE1BQU1HLFdBQVcsR0FBR0YsUUFBUUcsWUFBWTtnQkFDeENKLE1BQU1LLFlBQVksR0FBR0osUUFBUUssYUFBYTtnQkFDMUNOLE1BQU1PLGtCQUFrQixHQUFHTixRQUFRTyxVQUFVLEdBQUk7Z0JBQ2pEUixNQUFNUyxJQUFJLEdBQUdQLFNBQVNRLFVBQVUsRUFBRTtnQkFDbEMsT0FBT1Y7WUFDVDtZQUVBLHVDQUF1QztZQUN2QyxJQUFJVyxLQUFLQyxHQUFHLEtBQU1aLE1BQU1PLGtCQUFrQixFQUFhO2dCQUNyRCxPQUFPUDtZQUNUO1lBRUEsSUFBSTtnQkFDRixNQUFNYSxXQUFXLE1BQU1DLE1BQ3JCLENBQUMsRUFBRXZCLFFBQVFDLEdBQUcsQ0FBQ3VCLGlCQUFpQixDQUFDLFFBQVEsRUFBRXhCLFFBQVFDLEdBQUcsQ0FBQ3dCLGNBQWMsQ0FBQyw4QkFBOEIsQ0FBQyxFQUNyRztvQkFDRUMsUUFBUTtvQkFDUkMsU0FBUzt3QkFDUCxnQkFBZ0I7b0JBQ2xCO29CQUNBQyxNQUFNLElBQUlDLGdCQUFnQjt3QkFDeEJDLFlBQVk7d0JBQ1pDLFdBQVcvQixRQUFRQyxHQUFHLENBQUNDLGtCQUFrQjt3QkFDekM4QixlQUFlaEMsUUFBUUMsR0FBRyxDQUFDRyxzQkFBc0I7d0JBQ2pEVyxlQUFlTixNQUFNSyxZQUFZO29CQUNuQztnQkFDRjtnQkFHRixNQUFNbUIsU0FBUyxNQUFNWCxTQUFTWSxJQUFJO2dCQUVsQyxJQUFJLENBQUNaLFNBQVNhLEVBQUUsRUFBRSxNQUFNRjtnQkFFeEIsT0FBTztvQkFDTCxHQUFHeEIsS0FBSztvQkFDUkcsYUFBYXFCLE9BQU9wQixZQUFZO29CQUNoQ0MsY0FBY21CLE9BQU9sQixhQUFhLElBQUlOLE1BQU1LLFlBQVk7b0JBQ3hERSxvQkFBb0JJLEtBQUtDLEdBQUcsS0FBS1ksT0FBT0csVUFBVSxHQUFHO2dCQUN2RDtZQUNGLEVBQUUsT0FBT0MsT0FBTztnQkFDZEMsUUFBUUQsS0FBSyxDQUFDLDJCQUEyQkE7Z0JBQ3pDLE9BQU87b0JBQUUsR0FBRzVCLEtBQUs7b0JBQUU0QixPQUFPO2dCQUEwQjtZQUN0RDtRQUNGO1FBRUEsTUFBTUUsU0FBUSxFQUFFQSxPQUFPLEVBQUU5QixLQUFLLEVBQUU7WUFDOUIsSUFBSUEsTUFBTTRCLEtBQUssRUFBRTtnQkFDZixNQUFNLElBQUlHLE1BQU07WUFDbEI7WUFFQUQsUUFBUTNCLFdBQVcsR0FBR0gsTUFBTUcsV0FBVztZQUN2QzJCLFFBQVFFLElBQUksR0FBRztnQkFDYixHQUFHRixRQUFRRSxJQUFJO2dCQUNmQyxJQUFJakMsTUFBTWtDLEdBQUc7Z0JBQ2JDLFlBQVluQyxNQUFNbUMsVUFBVTtnQkFDNUJDLFdBQVdwQyxNQUFNb0MsU0FBUztnQkFDMUJDLFVBQVVyQyxNQUFNcUMsUUFBUTtnQkFDeEI1QixNQUFNVCxNQUFNUyxJQUFJLElBQUksRUFBRTtZQUN4QjtZQUNBLE9BQU9xQjtRQUNUO0lBQ0Y7SUFDQVEsUUFBUTtRQUNOLE1BQU1DLFNBQVEsRUFBRXZDLEtBQUssRUFBRTtZQUNyQixJQUFJQSxNQUFNSyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUk7b0JBQ0YsTUFBTVMsTUFDSixDQUFDLEVBQUV2QixRQUFRQyxHQUFHLENBQUN1QixpQkFBaUIsQ0FBQyxRQUFRLEVBQUV4QixRQUFRQyxHQUFHLENBQUN3QixjQUFjLENBQUMsK0JBQStCLENBQUMsRUFDdEc7d0JBQ0VDLFFBQVE7d0JBQ1JDLFNBQVM7NEJBQ1AsZ0JBQWdCO3dCQUNsQjt3QkFDQUMsTUFBTSxJQUFJQyxnQkFBZ0I7NEJBQ3hCRSxXQUFXL0IsUUFBUUMsR0FBRyxDQUFDQyxrQkFBa0I7NEJBQ3pDOEIsZUFBZWhDLFFBQVFDLEdBQUcsQ0FBQ0csc0JBQXNCOzRCQUNqRFcsZUFBZU4sTUFBTUssWUFBWTt3QkFDbkM7b0JBQ0Y7Z0JBRUosRUFBRSxPQUFPdUIsT0FBTztvQkFDZEMsUUFBUUQsS0FBSyxDQUFDLHdCQUF3QkE7Z0JBQ3hDO1lBQ0Y7UUFDRjtJQUNGO0FBQ0YsRUFBRTtBQUVGLE1BQU1ZLFVBQVV0RCxnREFBUUEsQ0FBQ0U7QUFDa0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZWFoLy4vYXBwL2FwaS9hdXRoL1suLi5uZXh0YXV0aF0vcm91dGUudHM/YzhhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTmV4dEF1dGgsIHsgTmV4dEF1dGhPcHRpb25zIH0gZnJvbSBcIm5leHQtYXV0aFwiO1xuaW1wb3J0IEtleWNsb2FrUHJvdmlkZXIgZnJvbSBcIm5leHQtYXV0aC9wcm92aWRlcnMva2V5Y2xvYWtcIjtcblxuZXhwb3J0IGNvbnN0IGF1dGhPcHRpb25zOiBOZXh0QXV0aE9wdGlvbnMgPSB7XG4gIHByb3ZpZGVyczogW1xuICAgIEtleWNsb2FrUHJvdmlkZXIoe1xuICAgICAgY2xpZW50SWQ6IHByb2Nlc3MuZW52LktFWUNMT0FLX0NMSUVOVF9JRCEsXG4gICAgICBjbGllbnRTZWNyZXQ6IHByb2Nlc3MuZW52LktFWUNMT0FLX0NMSUVOVF9TRUNSRVQhLFxuICAgICAgaXNzdWVyOiBwcm9jZXNzLmVudi5LRVlDTE9BS19JU1NVRVIhLFxuICAgIH0pLFxuICBdLFxuICBjYWxsYmFja3M6IHtcbiAgICBhc3luYyBqd3QoeyB0b2tlbiwgYWNjb3VudCwgcHJvZmlsZSB9KSB7XG4gICAgICBpZiAoYWNjb3VudCkge1xuICAgICAgICB0b2tlbi5hY2Nlc3NUb2tlbiA9IGFjY291bnQuYWNjZXNzX3Rva2VuO1xuICAgICAgICB0b2tlbi5yZWZyZXNoVG9rZW4gPSBhY2NvdW50LnJlZnJlc2hfdG9rZW47XG4gICAgICAgIHRva2VuLmFjY2Vzc1Rva2VuRXhwaXJlcyA9IGFjY291bnQuZXhwaXJlc19hdCEgKiAxMDAwO1xuICAgICAgICB0b2tlbi5yb2xlID0gcHJvZmlsZT8uZ3JvdXBzIHx8IFtdO1xuICAgICAgICByZXR1cm4gdG9rZW47XG4gICAgICB9XG5cbiAgICAgIC8vIFJldHVybiBwcmV2aW91cyB0b2tlbiBpZiBub3QgZXhwaXJlZFxuICAgICAgaWYgKERhdGUubm93KCkgPCAodG9rZW4uYWNjZXNzVG9rZW5FeHBpcmVzIGFzIG51bWJlcikpIHtcbiAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKFxuICAgICAgICAgIGAke3Byb2Nlc3MuZW52LktFWUNMT0FLX0JBU0VfVVJMfS9yZWFsbXMvJHtwcm9jZXNzLmVudi5LRVlDTE9BS19SRUFMTX0vcHJvdG9jb2wvb3BlbmlkLWNvbm5lY3QvdG9rZW5gLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYm9keTogbmV3IFVSTFNlYXJjaFBhcmFtcyh7XG4gICAgICAgICAgICAgIGdyYW50X3R5cGU6IFwicmVmcmVzaF90b2tlblwiLFxuICAgICAgICAgICAgICBjbGllbnRfaWQ6IHByb2Nlc3MuZW52LktFWUNMT0FLX0NMSUVOVF9JRCEsXG4gICAgICAgICAgICAgIGNsaWVudF9zZWNyZXQ6IHByb2Nlc3MuZW52LktFWUNMT0FLX0NMSUVOVF9TRUNSRVQhLFxuICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiB0b2tlbi5yZWZyZXNoVG9rZW4gYXMgc3RyaW5nLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIGNvbnN0IHRva2VucyA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTtcblxuICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyB0b2tlbnM7XG5cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAuLi50b2tlbixcbiAgICAgICAgICBhY2Nlc3NUb2tlbjogdG9rZW5zLmFjY2Vzc190b2tlbixcbiAgICAgICAgICByZWZyZXNoVG9rZW46IHRva2Vucy5yZWZyZXNoX3Rva2VuID8/IHRva2VuLnJlZnJlc2hUb2tlbixcbiAgICAgICAgICBhY2Nlc3NUb2tlbkV4cGlyZXM6IERhdGUubm93KCkgKyB0b2tlbnMuZXhwaXJlc19pbiAqIDEwMDAsXG4gICAgICAgIH07XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiRXJyb3IgcmVmcmVzaGluZyB0b2tlbjpcIiwgZXJyb3IpO1xuICAgICAgICByZXR1cm4geyAuLi50b2tlbiwgZXJyb3I6IFwiUmVmcmVzaEFjY2Vzc1Rva2VuRXJyb3JcIiB9O1xuICAgICAgfVxuICAgIH0sXG5cbiAgICBhc3luYyBzZXNzaW9uKHsgc2Vzc2lvbiwgdG9rZW4gfSkge1xuICAgICAgaWYgKHRva2VuLmVycm9yKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlJlZnJlc2hBY2Nlc3NUb2tlbkVycm9yXCIpO1xuICAgICAgfVxuXG4gICAgICBzZXNzaW9uLmFjY2Vzc1Rva2VuID0gdG9rZW4uYWNjZXNzVG9rZW4gYXMgc3RyaW5nO1xuICAgICAgc2Vzc2lvbi51c2VyID0ge1xuICAgICAgICAuLi5zZXNzaW9uLnVzZXIsXG4gICAgICAgIGlkOiB0b2tlbi5zdWIsXG4gICAgICAgIGZpcnN0X25hbWU6IHRva2VuLmZpcnN0X25hbWUsXG4gICAgICAgIGxhc3RfbmFtZTogdG9rZW4ubGFzdF9uYW1lLFxuICAgICAgICB1c2VybmFtZTogdG9rZW4udXNlcm5hbWUsXG4gICAgICAgIHJvbGU6IHRva2VuLnJvbGUgfHwgW10sXG4gICAgICB9O1xuICAgICAgcmV0dXJuIHNlc3Npb247XG4gICAgfSxcbiAgfSxcbiAgZXZlbnRzOiB7XG4gICAgYXN5bmMgc2lnbk91dCh7IHRva2VuIH0pIHtcbiAgICAgIGlmICh0b2tlbi5yZWZyZXNoVG9rZW4pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBhd2FpdCBmZXRjaChcbiAgICAgICAgICAgIGAke3Byb2Nlc3MuZW52LktFWUNMT0FLX0JBU0VfVVJMfS9yZWFsbXMvJHtwcm9jZXNzLmVudi5LRVlDTE9BS19SRUFMTX0vcHJvdG9jb2wvb3BlbmlkLWNvbm5lY3QvbG9nb3V0YCxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCIsXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGJvZHk6IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgICAgICAgICAgIGNsaWVudF9pZDogcHJvY2Vzcy5lbnYuS0VZQ0xPQUtfQ0xJRU5UX0lEISxcbiAgICAgICAgICAgICAgICBjbGllbnRfc2VjcmV0OiBwcm9jZXNzLmVudi5LRVlDTE9BS19DTElFTlRfU0VDUkVUISxcbiAgICAgICAgICAgICAgICByZWZyZXNoX3Rva2VuOiB0b2tlbi5yZWZyZXNoVG9rZW4gYXMgc3RyaW5nLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBkdXJpbmcgbG9nb3V0OlwiLCBlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LFxuICB9LFxufTtcblxuY29uc3QgaGFuZGxlciA9IE5leHRBdXRoKGF1dGhPcHRpb25zKTtcbmV4cG9ydCB7IGhhbmRsZXIgYXMgR0VULCBoYW5kbGVyIGFzIFBPU1QgfTtcbiJdLCJuYW1lcyI6WyJOZXh0QXV0aCIsIktleWNsb2FrUHJvdmlkZXIiLCJhdXRoT3B0aW9ucyIsInByb3ZpZGVycyIsImNsaWVudElkIiwicHJvY2VzcyIsImVudiIsIktFWUNMT0FLX0NMSUVOVF9JRCIsImNsaWVudFNlY3JldCIsIktFWUNMT0FLX0NMSUVOVF9TRUNSRVQiLCJpc3N1ZXIiLCJLRVlDTE9BS19JU1NVRVIiLCJjYWxsYmFja3MiLCJqd3QiLCJ0b2tlbiIsImFjY291bnQiLCJwcm9maWxlIiwiYWNjZXNzVG9rZW4iLCJhY2Nlc3NfdG9rZW4iLCJyZWZyZXNoVG9rZW4iLCJyZWZyZXNoX3Rva2VuIiwiYWNjZXNzVG9rZW5FeHBpcmVzIiwiZXhwaXJlc19hdCIsInJvbGUiLCJncm91cHMiLCJEYXRlIiwibm93IiwicmVzcG9uc2UiLCJmZXRjaCIsIktFWUNMT0FLX0JBU0VfVVJMIiwiS0VZQ0xPQUtfUkVBTE0iLCJtZXRob2QiLCJoZWFkZXJzIiwiYm9keSIsIlVSTFNlYXJjaFBhcmFtcyIsImdyYW50X3R5cGUiLCJjbGllbnRfaWQiLCJjbGllbnRfc2VjcmV0IiwidG9rZW5zIiwianNvbiIsIm9rIiwiZXhwaXJlc19pbiIsImVycm9yIiwiY29uc29sZSIsInNlc3Npb24iLCJFcnJvciIsInVzZXIiLCJpZCIsInN1YiIsImZpcnN0X25hbWUiLCJsYXN0X25hbWUiLCJ1c2VybmFtZSIsImV2ZW50cyIsInNpZ25PdXQiLCJoYW5kbGVyIiwiR0VUIiwiUE9TVCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./app/api/auth/[...nextauth]/route.ts\n");
/***/ }),
/***/ "(rsc)/./app/api/calendars/route.ts":
/*!************************************!*\
!*** ./app/api/calendars/route.ts ***!
\************************************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GET: () => (/* binding */ GET),\n/* harmony export */ POST: () => (/* binding */ POST)\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 next_auth_next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next-auth/next */ \"(rsc)/./node_modules/next-auth/next/index.js\");\n/* harmony import */ var _app_api_auth_nextauth_route__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/app/api/auth/[...nextauth]/route */ \"(rsc)/./app/api/auth/[...nextauth]/route.ts\");\n/* harmony import */ var _lib_prisma__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/lib/prisma */ \"(rsc)/./lib/prisma.ts\");\n\n\n\n\n/**\n * Handles the GET request to retrieve calendars for the authenticated user.\n *\n * @param {NextRequest} req - The incoming request object.\n * @returns {Promise<NextResponse>} - A promise that resolves to a JSON response containing the calendars or an error message.\n *\n * The function performs the following steps:\n * 1. Retrieves the server session using `getServerSession`.\n * 2. Checks if the user is authenticated by verifying the presence of `session.user.username`.\n * - If not authenticated, returns a 401 response with an error message.\n * 3. Attempts to fetch the calendars associated with the authenticated user from the database.\n * - If successful, returns the calendars in a JSON response.\n * - If an error occurs during the database query, logs the error and returns a 500 response with an error message.\n */ async function GET(req) {\n const session = await (0,next_auth_next__WEBPACK_IMPORTED_MODULE_1__.getServerSession)(_app_api_auth_nextauth_route__WEBPACK_IMPORTED_MODULE_2__.authOptions);\n if (!session?.user?.username) {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: \"Non authentifi\\xe9\"\n }, {\n status: 401\n });\n }\n try {\n const calendars = await _lib_prisma__WEBPACK_IMPORTED_MODULE_3__.prisma.calendar.findMany({\n where: {\n userId: session.user.username\n },\n orderBy: {\n createdAt: \"desc\"\n }\n });\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json(calendars);\n } catch (error) {\n console.error(\"Erreur lors de la r\\xe9cup\\xe9ration des calendriers:\", error);\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: \"Erreur serveur\"\n }, {\n status: 500\n });\n }\n}\n/**\n * Handles the POST request to create a new calendar.\n *\n * @param {NextRequest} req - The incoming request object.\n * @returns {Promise<NextResponse>} The response object containing the created calendar or an error message.\n *\n * @throws {Error} If there is an issue with the request or server.\n *\n * The function performs the following steps:\n * 1. Retrieves the server session using `getServerSession`.\n * 2. Checks if the user is authenticated by verifying the presence of `session.user.username`.\n * 3. Parses the request body to extract `name`, `color`, and `description`.\n * 4. Validates that the `name` field is provided.\n * 5. Creates a new calendar entry in the database using Prisma.\n * 6. Returns the created calendar with a 201 status code.\n * 7. Catches and logs any errors, returning a 500 status code with an error message.\n */ async function POST(req) {\n const session = await (0,next_auth_next__WEBPACK_IMPORTED_MODULE_1__.getServerSession)(_app_api_auth_nextauth_route__WEBPACK_IMPORTED_MODULE_2__.authOptions);\n if (!session?.user?.username) {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: \"Non authentifi\\xe9\"\n }, {\n status: 401\n });\n }\n try {\n const { name, color, description } = await req.json();\n // Validation\n if (!name) {\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: \"Le nom du calendrier est requis\"\n }, {\n status: 400\n });\n }\n const calendar = await _lib_prisma__WEBPACK_IMPORTED_MODULE_3__.prisma.calendar.create({\n data: {\n name,\n color: color || \"#0082c9\",\n description,\n userId: session.user.username\n }\n });\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json(calendar, {\n status: 201\n });\n } catch (error) {\n console.error(\"Erreur lors de la cr\\xe9ation du calendrier:\", error);\n return next_server__WEBPACK_IMPORTED_MODULE_0__.NextResponse.json({\n error: \"Erreur serveur\"\n }, {\n status: 500\n });\n }\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvYXBpL2NhbGVuZGFycy9yb3V0ZS50cyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBd0Q7QUFDTjtBQUNlO0FBQzNCO0FBRXRDOzs7Ozs7Ozs7Ozs7O0NBYUMsR0FDTSxlQUFlSSxJQUFJQyxHQUFnQjtJQUN4QyxNQUFNQyxVQUFVLE1BQU1MLGdFQUFnQkEsQ0FBQ0MscUVBQVdBO0lBRWxELElBQUksQ0FBQ0ksU0FBU0MsTUFBTUMsVUFBVTtRQUM1QixPQUFPUixxREFBWUEsQ0FBQ1MsSUFBSSxDQUFDO1lBQUVDLE9BQU87UUFBa0IsR0FBRztZQUFFQyxRQUFRO1FBQUk7SUFDdkU7SUFFQSxJQUFJO1FBQ0YsTUFBTUMsWUFBWSxNQUFNVCwrQ0FBTUEsQ0FBQ1UsUUFBUSxDQUFDQyxRQUFRLENBQUM7WUFDL0NDLE9BQU87Z0JBQ0xDLFFBQVFWLFFBQVFDLElBQUksQ0FBQ0MsUUFBUTtZQUMvQjtZQUNBUyxTQUFTO2dCQUNQQyxXQUFXO1lBQ2I7UUFDRjtRQUVBLE9BQU9sQixxREFBWUEsQ0FBQ1MsSUFBSSxDQUFDRztJQUMzQixFQUFFLE9BQU9GLE9BQU87UUFDZFMsUUFBUVQsS0FBSyxDQUFDLHlEQUFtREE7UUFDakUsT0FBT1YscURBQVlBLENBQUNTLElBQUksQ0FBQztZQUFFQyxPQUFPO1FBQWlCLEdBQUc7WUFBRUMsUUFBUTtRQUFJO0lBQ3RFO0FBQ0Y7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNNLGVBQWVTLEtBQUtmLEdBQWdCO0lBQ3pDLE1BQU1DLFVBQVUsTUFBTUwsZ0VBQWdCQSxDQUFDQyxxRUFBV0E7SUFFbEQsSUFBSSxDQUFDSSxTQUFTQyxNQUFNQyxVQUFVO1FBQzVCLE9BQU9SLHFEQUFZQSxDQUFDUyxJQUFJLENBQUM7WUFBRUMsT0FBTztRQUFrQixHQUFHO1lBQUVDLFFBQVE7UUFBSTtJQUN2RTtJQUVBLElBQUk7UUFDRixNQUFNLEVBQUVVLElBQUksRUFBRUMsS0FBSyxFQUFFQyxXQUFXLEVBQUUsR0FBRyxNQUFNbEIsSUFBSUksSUFBSTtRQUVuRCxhQUFhO1FBQ2IsSUFBSSxDQUFDWSxNQUFNO1lBQ1QsT0FBT3JCLHFEQUFZQSxDQUFDUyxJQUFJLENBQ3RCO2dCQUFFQyxPQUFPO1lBQWtDLEdBQzNDO2dCQUFFQyxRQUFRO1lBQUk7UUFFbEI7UUFFQSxNQUFNRSxXQUFXLE1BQU1WLCtDQUFNQSxDQUFDVSxRQUFRLENBQUNXLE1BQU0sQ0FBQztZQUM1Q0MsTUFBTTtnQkFDSko7Z0JBQ0FDLE9BQU9BLFNBQVM7Z0JBQ2hCQztnQkFDQVAsUUFBUVYsUUFBUUMsSUFBSSxDQUFDQyxRQUFRO1lBQy9CO1FBQ0Y7UUFFQSxPQUFPUixxREFBWUEsQ0FBQ1MsSUFBSSxDQUFDSSxVQUFVO1lBQUVGLFFBQVE7UUFBSTtJQUNuRCxFQUFFLE9BQU9ELE9BQU87UUFDZFMsUUFBUVQsS0FBSyxDQUFDLGdEQUE2Q0E7UUFDM0QsT0FBT1YscURBQVlBLENBQUNTLElBQUksQ0FBQztZQUFFQyxPQUFPO1FBQWlCLEdBQUc7WUFBRUMsUUFBUTtRQUFJO0lBQ3RFO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZWFoLy4vYXBwL2FwaS9jYWxlbmRhcnMvcm91dGUudHM/Zjc2ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXh0UmVxdWVzdCwgTmV4dFJlc3BvbnNlIH0gZnJvbSBcIm5leHQvc2VydmVyXCI7XG5pbXBvcnQgeyBnZXRTZXJ2ZXJTZXNzaW9uIH0gZnJvbSBcIm5leHQtYXV0aC9uZXh0XCI7XG5pbXBvcnQgeyBhdXRoT3B0aW9ucyB9IGZyb20gXCJAL2FwcC9hcGkvYXV0aC9bLi4ubmV4dGF1dGhdL3JvdXRlXCI7XG5pbXBvcnQgeyBwcmlzbWEgfSBmcm9tIFwiQC9saWIvcHJpc21hXCI7XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgR0VUIHJlcXVlc3QgdG8gcmV0cmlldmUgY2FsZW5kYXJzIGZvciB0aGUgYXV0aGVudGljYXRlZCB1c2VyLlxuICpcbiAqIEBwYXJhbSB7TmV4dFJlcXVlc3R9IHJlcSAtIFRoZSBpbmNvbWluZyByZXF1ZXN0IG9iamVjdC5cbiAqIEByZXR1cm5zIHtQcm9taXNlPE5leHRSZXNwb25zZT59IC0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYSBKU09OIHJlc3BvbnNlIGNvbnRhaW5pbmcgdGhlIGNhbGVuZGFycyBvciBhbiBlcnJvciBtZXNzYWdlLlxuICpcbiAqIFRoZSBmdW5jdGlvbiBwZXJmb3JtcyB0aGUgZm9sbG93aW5nIHN0ZXBzOlxuICogMS4gUmV0cmlldmVzIHRoZSBzZXJ2ZXIgc2Vzc2lvbiB1c2luZyBgZ2V0U2VydmVyU2Vzc2lvbmAuXG4gKiAyLiBDaGVja3MgaWYgdGhlIHVzZXIgaXMgYXV0aGVudGljYXRlZCBieSB2ZXJpZnlpbmcgdGhlIHByZXNlbmNlIG9mIGBzZXNzaW9uLnVzZXIudXNlcm5hbWVgLlxuICogICAgLSBJZiBub3QgYXV0aGVudGljYXRlZCwgcmV0dXJucyBhIDQwMSByZXNwb25zZSB3aXRoIGFuIGVycm9yIG1lc3NhZ2UuXG4gKiAzLiBBdHRlbXB0cyB0byBmZXRjaCB0aGUgY2FsZW5kYXJzIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXV0aGVudGljYXRlZCB1c2VyIGZyb20gdGhlIGRhdGFiYXNlLlxuICogICAgLSBJZiBzdWNjZXNzZnVsLCByZXR1cm5zIHRoZSBjYWxlbmRhcnMgaW4gYSBKU09OIHJlc3BvbnNlLlxuICogICAgLSBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIHRoZSBkYXRhYmFzZSBxdWVyeSwgbG9ncyB0aGUgZXJyb3IgYW5kIHJldHVybnMgYSA1MDAgcmVzcG9uc2Ugd2l0aCBhbiBlcnJvciBtZXNzYWdlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gR0VUKHJlcTogTmV4dFJlcXVlc3QpIHtcbiAgY29uc3Qgc2Vzc2lvbiA9IGF3YWl0IGdldFNlcnZlclNlc3Npb24oYXV0aE9wdGlvbnMpO1xuXG4gIGlmICghc2Vzc2lvbj8udXNlcj8udXNlcm5hbWUpIHtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oeyBlcnJvcjogXCJOb24gYXV0aGVudGlmacOpXCIgfSwgeyBzdGF0dXM6IDQwMSB9KTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgY2FsZW5kYXJzID0gYXdhaXQgcHJpc21hLmNhbGVuZGFyLmZpbmRNYW55KHtcbiAgICAgIHdoZXJlOiB7XG4gICAgICAgIHVzZXJJZDogc2Vzc2lvbi51c2VyLnVzZXJuYW1lLFxuICAgICAgfSxcbiAgICAgIG9yZGVyQnk6IHtcbiAgICAgICAgY3JlYXRlZEF0OiBcImRlc2NcIixcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLmpzb24oY2FsZW5kYXJzKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiRXJyZXVyIGxvcnMgZGUgbGEgcsOpY3Vww6lyYXRpb24gZGVzIGNhbGVuZHJpZXJzOlwiLCBlcnJvcik7XG4gICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKHsgZXJyb3I6IFwiRXJyZXVyIHNlcnZldXJcIiB9LCB7IHN0YXR1czogNTAwIH0pO1xuICB9XG59XG5cbi8qKlxuICogSGFuZGxlcyB0aGUgUE9TVCByZXF1ZXN0IHRvIGNyZWF0ZSBhIG5ldyBjYWxlbmRhci5cbiAqXG4gKiBAcGFyYW0ge05leHRSZXF1ZXN0fSByZXEgLSBUaGUgaW5jb21pbmcgcmVxdWVzdCBvYmplY3QuXG4gKiBAcmV0dXJucyB7UHJvbWlzZTxOZXh0UmVzcG9uc2U+fSBUaGUgcmVzcG9uc2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNyZWF0ZWQgY2FsZW5kYXIgb3IgYW4gZXJyb3IgbWVzc2FnZS5cbiAqXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlcmUgaXMgYW4gaXNzdWUgd2l0aCB0aGUgcmVxdWVzdCBvciBzZXJ2ZXIuXG4gKlxuICogVGhlIGZ1bmN0aW9uIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgc3RlcHM6XG4gKiAxLiBSZXRyaWV2ZXMgdGhlIHNlcnZlciBzZXNzaW9uIHVzaW5nIGBnZXRTZXJ2ZXJTZXNzaW9uYC5cbiAqIDIuIENoZWNrcyBpZiB0aGUgdXNlciBpcyBhdXRoZW50aWNhdGVkIGJ5IHZlcmlmeWluZyB0aGUgcHJlc2VuY2Ugb2YgYHNlc3Npb24udXNlci51c2VybmFtZWAuXG4gKiAzLiBQYXJzZXMgdGhlIHJlcXVlc3QgYm9keSB0byBleHRyYWN0IGBuYW1lYCwgYGNvbG9yYCwgYW5kIGBkZXNjcmlwdGlvbmAuXG4gKiA0LiBWYWxpZGF0ZXMgdGhhdCB0aGUgYG5hbWVgIGZpZWxkIGlzIHByb3ZpZGVkLlxuICogNS4gQ3JlYXRlcyBhIG5ldyBjYWxlbmRhciBlbnRyeSBpbiB0aGUgZGF0YWJhc2UgdXNpbmcgUHJpc21hLlxuICogNi4gUmV0dXJucyB0aGUgY3JlYXRlZCBjYWxlbmRhciB3aXRoIGEgMjAxIHN0YXR1cyBjb2RlLlxuICogNy4gQ2F0Y2hlcyBhbmQgbG9ncyBhbnkgZXJyb3JzLCByZXR1cm5pbmcgYSA1MDAgc3RhdHVzIGNvZGUgd2l0aCBhbiBlcnJvciBtZXNzYWdlLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gUE9TVChyZXE6IE5leHRSZXF1ZXN0KSB7XG4gIGNvbnN0IHNlc3Npb24gPSBhd2FpdCBnZXRTZXJ2ZXJTZXNzaW9uKGF1dGhPcHRpb25zKTtcblxuICBpZiAoIXNlc3Npb24/LnVzZXI/LnVzZXJuYW1lKSB7XG4gICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKHsgZXJyb3I6IFwiTm9uIGF1dGhlbnRpZmnDqVwiIH0sIHsgc3RhdHVzOiA0MDEgfSk7XG4gIH1cblxuICB0cnkge1xuICAgIGNvbnN0IHsgbmFtZSwgY29sb3IsIGRlc2NyaXB0aW9uIH0gPSBhd2FpdCByZXEuanNvbigpO1xuXG4gICAgLy8gVmFsaWRhdGlvblxuICAgIGlmICghbmFtZSkge1xuICAgICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKFxuICAgICAgICB7IGVycm9yOiBcIkxlIG5vbSBkdSBjYWxlbmRyaWVyIGVzdCByZXF1aXNcIiB9LFxuICAgICAgICB7IHN0YXR1czogNDAwIH1cbiAgICAgICk7XG4gICAgfVxuXG4gICAgY29uc3QgY2FsZW5kYXIgPSBhd2FpdCBwcmlzbWEuY2FsZW5kYXIuY3JlYXRlKHtcbiAgICAgIGRhdGE6IHtcbiAgICAgICAgbmFtZSxcbiAgICAgICAgY29sb3I6IGNvbG9yIHx8IFwiIzAwODJjOVwiLFxuICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgdXNlcklkOiBzZXNzaW9uLnVzZXIudXNlcm5hbWUsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIE5leHRSZXNwb25zZS5qc29uKGNhbGVuZGFyLCB7IHN0YXR1czogMjAxIH0pO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJldXIgbG9ycyBkZSBsYSBjcsOpYXRpb24gZHUgY2FsZW5kcmllcjpcIiwgZXJyb3IpO1xuICAgIHJldHVybiBOZXh0UmVzcG9uc2UuanNvbih7IGVycm9yOiBcIkVycmV1ciBzZXJ2ZXVyXCIgfSwgeyBzdGF0dXM6IDUwMCB9KTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIk5leHRSZXNwb25zZSIsImdldFNlcnZlclNlc3Npb24iLCJhdXRoT3B0aW9ucyIsInByaXNtYSIsIkdFVCIsInJlcSIsInNlc3Npb24iLCJ1c2VyIiwidXNlcm5hbWUiLCJqc29uIiwiZXJyb3IiLCJzdGF0dXMiLCJjYWxlbmRhcnMiLCJjYWxlbmRhciIsImZpbmRNYW55Iiwid2hlcmUiLCJ1c2VySWQiLCJvcmRlckJ5IiwiY3JlYXRlZEF0IiwiY29uc29sZSIsIlBPU1QiLCJuYW1lIiwiY29sb3IiLCJkZXNjcmlwdGlvbiIsImNyZWF0ZSIsImRhdGEiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/api/calendars/route.ts\n");
/***/ }),
/***/ "(rsc)/./lib/prisma.ts":
/*!***********************!*\
!*** ./lib/prisma.ts ***!
\***********************/
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ prisma: () => (/* binding */ prisma)\n/* harmony export */ });\n/* harmony import */ var _prisma_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @prisma/client */ \"@prisma/client\");\n/* harmony import */ var _prisma_client__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_prisma_client__WEBPACK_IMPORTED_MODULE_0__);\n// front/lib/prisma.ts\n\nconst globalForPrisma = global;\nconst prisma = globalForPrisma.prisma || new _prisma_client__WEBPACK_IMPORTED_MODULE_0__.PrismaClient({\n log: [\n \"query\"\n ]\n});\nif (true) globalForPrisma.prisma = prisma;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9saWIvcHJpc21hLnRzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHNCQUFzQjtBQUN1QjtBQUU3QyxNQUFNQyxrQkFBa0JDO0FBRWpCLE1BQU1DLFNBQ1hGLGdCQUFnQkUsTUFBTSxJQUN0QixJQUFJSCx3REFBWUEsQ0FBQztJQUNmSSxLQUFLO1FBQUM7S0FBUTtBQUNoQixHQUFFO0FBRUosSUFBSUMsSUFBeUIsRUFBY0osZ0JBQWdCRSxNQUFNLEdBQUdBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmVhaC8uL2xpYi9wcmlzbWEudHM/OTgyMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBmcm9udC9saWIvcHJpc21hLnRzXG5pbXBvcnQgeyBQcmlzbWFDbGllbnQgfSBmcm9tICdAcHJpc21hL2NsaWVudCdcblxuY29uc3QgZ2xvYmFsRm9yUHJpc21hID0gZ2xvYmFsIGFzIHVua25vd24gYXMgeyBwcmlzbWE6IFByaXNtYUNsaWVudCB9XG5cbmV4cG9ydCBjb25zdCBwcmlzbWEgPVxuICBnbG9iYWxGb3JQcmlzbWEucHJpc21hIHx8XG4gIG5ldyBQcmlzbWFDbGllbnQoe1xuICAgIGxvZzogWydxdWVyeSddLFxuICB9KVxuXG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09ICdwcm9kdWN0aW9uJykgZ2xvYmFsRm9yUHJpc21hLnByaXNtYSA9IHByaXNtYVxuIl0sIm5hbWVzIjpbIlByaXNtYUNsaWVudCIsImdsb2JhbEZvclByaXNtYSIsImdsb2JhbCIsInByaXNtYSIsImxvZyIsInByb2Nlc3MiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./lib/prisma.ts\n");
/***/ })
};
;
// 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/jose","vendor-chunks/next-auth","vendor-chunks/openid-client","vendor-chunks/@babel","vendor-chunks/oauth","vendor-chunks/preact","vendor-chunks/uuid","vendor-chunks/yallist","vendor-chunks/preact-render-to-string","vendor-chunks/cookie","vendor-chunks/oidc-token-hash","vendor-chunks/@panva"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fapi%2Fcalendars%2Froute&page=%2Fapi%2Fcalendars%2Froute&appPaths=&pagePath=private-next-app-dir%2Fapi%2Fcalendars%2Froute.ts&appDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Falma%2FDownloads%2Fneah%2Ffront&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!")));
module.exports = __webpack_exports__;
})();