From f43342df83e228a1e0f6b527dffa8d8beb2c9827 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 1 Jul 2025 16:59:18 +0530 Subject: [PATCH 01/91] setting up dev --- Frontend/components/PostCard.tsx | 224 ++++++++++++++++--------------- 1 file changed, 115 insertions(+), 109 deletions(-) diff --git a/Frontend/components/PostCard.tsx b/Frontend/components/PostCard.tsx index 8b75022..5fca819 100644 --- a/Frontend/components/PostCard.tsx +++ b/Frontend/components/PostCard.tsx @@ -1,110 +1,116 @@ -import { View, Text, StyleSheet, Image, TouchableOpacity, Alert } from 'react-native'; -import React from 'react'; -import { Post } from '@/models/Post'; -import { useAuth } from '@/context/AuthContext'; -import { Ionicons } from '@expo/vector-icons'; -import Toast from 'react-native-toast-message'; - -interface PostCardProps { - post: Post; - onDelete?: (postId: string) => void; - onEdit?: (post: Post) => void; // Placeholder for edit -} - -const PostCard: React.FC = ({ - post, - onDelete, - onEdit, -}) => { - const { user } = useAuth(); - const isMyPost = user?.phone === post.phone; - - const handleDelete = () => { - Alert.alert( - 'Delete Post', - 'Are you sure you want to delete this post?', - [ - { text: 'Cancel', style: 'cancel' }, - { text: 'Delete', style: 'destructive', onPress: () => onDelete && post._id && onDelete(post._id.toString()) }, - ] - ); - }; - - // Placeholder for edit action - const handleEdit = () => { - onEdit && onEdit(post); - }; - - return ( - - {post.images && post.images.length > 0 && post.images[0] && ( - - )} - {post.title} - {post.content} - - {isMyPost && ( - - - - Edit - - - - Delete - - - )} - - ); -}; - -const styles = StyleSheet.create({ - card: { - backgroundColor: '#fff', - borderRadius: 10, - padding: 15, - marginBottom: 15, - borderWidth: 1, - borderColor: '#ddd', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 3, - elevation: 3, - }, - image: { - width: '100%', - height: 200, - borderRadius: 8, - marginBottom: 10, - }, - title: { - fontSize: 18, - fontWeight: 'bold', - marginBottom: 5, - color: '#333', - }, - content: { - fontSize: 16, - color: '#555', - marginBottom: 10, - }, - actionsContainer: { - flexDirection: 'row', - justifyContent: 'flex-end', - marginTop: 10, - }, - actionButton: { - flexDirection: 'row', - alignItems: 'center', - marginLeft: 15, - }, - actionButtonText: { - marginLeft: 5, - fontSize: 14, - color: '#007BFF', - }, -}); - +import { View, Text, StyleSheet, Image, TouchableOpacity, Alert } from 'react-native'; +import React from 'react'; +import { Post } from '@/models/Post'; +import { useAuth } from '@/context/AuthContext'; +import { Ionicons } from '@expo/vector-icons'; +import Toast from 'react-native-toast-message'; + +interface PostCardProps { + post: Post; + onDelete?: (postId: string) => void; + onEdit?: (post: Post) => void; // Placeholder for edit +} + +const PostCard: React.FC = ({ + post, + onDelete, + onEdit, +}) => { + const { user } = useAuth(); + const isMyPost = user?.phone === post.phone; + + const handleDelete = () => { + Alert.alert( + 'Delete Post', + 'Are you sure you want to delete this post?', + [ + { text: 'Cancel', style: 'cancel' }, + { text: 'Delete', style: 'destructive', onPress: () => onDelete && post._id && onDelete(post._id.toString()) }, + ] + ); + }; + + // Placeholder for edit action + // Placeholder for edit action + // Placeholder for edit action + const handleAccess = () => { + + }; + + const handleEdit = () => { + onEdit && onEdit(post); + }; + + return ( + + {post.images && post.images.length > 0 && post.images[0] && ( + + )} + {post.title} + {post.content} + + {isMyPost && ( + + + + Edit + + + + Delete + + + )} + + ); +}; + +const styles = StyleSheet.create({ + card: { + backgroundColor: '#fff', + borderRadius: 10, + padding: 15, + marginBottom: 15, + borderWidth: 1, + borderColor: '#ddd', + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 3, + elevation: 3, + }, + image: { + width: '100%', + height: 200, + borderRadius: 8, + marginBottom: 10, + }, + title: { + fontSize: 18, + fontWeight: 'bold', + marginBottom: 5, + color: '#333', + }, + content: { + fontSize: 16, + color: '#555', + marginBottom: 10, + }, + actionsContainer: { + flexDirection: 'row', + justifyContent: 'flex-end', + marginTop: 10, + }, + actionButton: { + flexDirection: 'row', + alignItems: 'center', + marginLeft: 15, + }, + actionButtonText: { + marginLeft: 5, + fontSize: 14, + color: '#007BFF', + }, +}); + export default PostCard; \ No newline at end of file From d68462d3d2ec0b8b15253faa5ba8eee8c72dda5d Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 2 Jul 2025 15:12:08 +0530 Subject: [PATCH 02/91] added simple socket.io connection for notification and chat feature --- Backend/index.js | 129 ---------- Backend/package-lock.json | 223 ++++++++++++++++++ Backend/package.json | 5 +- Backend/src/app.js | 49 ++++ Backend/{ => src}/config/db.js | 5 +- Backend/src/config/passport.js | 19 ++ .../{ => src}/controllers/postController.js | 0 .../{ => src}/controllers/userController.js | 0 Backend/src/index.js | 12 + .../{ => src}/middleware/errorMiddleware.js | 7 +- Backend/{ => src}/models/Post.js | 0 Backend/{ => src}/models/User.js | 0 Backend/src/routes/authRoutes.js | 24 ++ Backend/{ => src}/routes/postRoutes.js | 0 Backend/{ => src}/routes/userRoutes.js | 0 Backend/{ => src}/scripts/dropIndexes.js | 0 Backend/src/services/socket.js | 63 +++++ Backend/src/sockets/chat.socket.js | 6 + Backend/src/sockets/index.js | 25 ++ Backend/src/sockets/notification.socket.js | 6 + Backend/{ => src}/utils/logger.js | 0 Frontend/app/(tabs)/chat.tsx | 37 +-- Frontend/app/(tabs)/notifications.tsx | 21 +- Frontend/context/SocketContext.tsx | 61 +++++ Frontend/package-lock.json | 137 +++++++++++ Frontend/package.json | 3 +- 26 files changed, 667 insertions(+), 165 deletions(-) delete mode 100644 Backend/index.js create mode 100644 Backend/src/app.js rename Backend/{ => src}/config/db.js (94%) create mode 100644 Backend/src/config/passport.js rename Backend/{ => src}/controllers/postController.js (100%) rename Backend/{ => src}/controllers/userController.js (100%) create mode 100644 Backend/src/index.js rename Backend/{ => src}/middleware/errorMiddleware.js (94%) rename Backend/{ => src}/models/Post.js (100%) rename Backend/{ => src}/models/User.js (100%) create mode 100644 Backend/src/routes/authRoutes.js rename Backend/{ => src}/routes/postRoutes.js (100%) rename Backend/{ => src}/routes/userRoutes.js (100%) rename Backend/{ => src}/scripts/dropIndexes.js (100%) create mode 100644 Backend/src/services/socket.js create mode 100644 Backend/src/sockets/chat.socket.js create mode 100644 Backend/src/sockets/index.js create mode 100644 Backend/src/sockets/notification.socket.js rename Backend/{ => src}/utils/logger.js (100%) create mode 100644 Frontend/context/SocketContext.tsx diff --git a/Backend/index.js b/Backend/index.js deleted file mode 100644 index 61bf49d..0000000 --- a/Backend/index.js +++ /dev/null @@ -1,129 +0,0 @@ -require("dotenv").config(); - -const express = require("express"); -const passport = require("passport"); -const session = require("express-session"); -const GoogleStrategy = require("passport-google-oauth20").Strategy; -const cors = require('cors'); -const connectDB = require('./config/db'); -const postRoutes = require('./routes/postRoutes'); -const userRoutes = require('./routes/userRoutes'); -// const storyRoutes = require('./routes/storyRoutes'); -// const commentRoutes = require('./routes/commentRoutes'); -// const likeRoutes = require('./routes/likeRoutes'); -// const viewRoutes = require('./routes/viewRoutes'); -// const notificationRoutes = require('./routes/notificationRoutes'); -// const searchRoutes = require('./routes/searchRoutes'); -// const reportRoutes = require('./routes/reportRoutes'); -// const feedbackRoutes = require('./routes/feedbackRoutes'); -// const analyticsRoutes = require('./routes/analyticsRoutes'); -// const adminRoutes = require('./routes/adminRoutes'); -// const authRoutes = require('./routes/authRoutes'); -const { errorHandler } = require('./middleware/errorMiddleware'); -const { logger } = require('./utils/logger'); - -const app = express(); -// Basic JSON parsing -app.use(express.json()) -app.use(express.urlencoded({extended: false})) - -// Connect to MongoDB -connectDB(); - -// Middleware -app.use(cors()); - -// Debug middleware to log raw request -app.use((req, res, next) => { - logger.info('šŸ“„ Raw Request:', { - method: req.method, - url: req.url, - headers: req.headers, - body: req.body - }); - next(); -}); - -// Debug middleware to log parsed request -app.use((req, res, next) => { - logger.info('šŸ“¦ Parsed Request:', { - method: req.method, - url: req.url, - body: req.body - }); - next(); -}); - -app.use(express.urlencoded({ extended: true })); - -app.use( - session({ - secret: process.env.SESSION_SECRET || "secret", - resave: false, - saveUninitialized: true, - }) -); - -app.use(passport.initialize()); -app.use(passport.session()); - -passport.use( - new GoogleStrategy( - { - clientID: process.env.GOOGLE_CLIENT_ID, - clientSecret: process.env.GOOGLE_CLIENT_SECRET, - callbackURL: "https://mayacodebackend.onrender.com/auth/google/callback", - }, - (accessToken, refreshToken, profile, done) => { - return done(null, profile); - } - ) -); - -passport.serializeUser((user, done) => done(null, user)); -passport.deserializeUser((user, done) => done(null, user)); - -// Routes -app.use('/api/posts', postRoutes); -app.use('/api/users', userRoutes); - -app.get("/", (req, res) => { - res.send("Login with Google"); -}); - -app.get( - "/auth/google", - passport.authenticate("google", { scope: ["profile", "email"] }) -); - -app.get( - "/auth/google/callback", - passport.authenticate("google", { failureRedirect: "/" }), - (req, res) => { - res.redirect("/profile"); - } -); - -app.get("/profile", (req, res) => { - res.send(`Welcome ${req.user.displayName}`); -}); - -app.get("/logout", (req, res) => { - req.logout(() => { - res.redirect("/"); - }); -}); - -// Add error handling middleware -app.use(errorHandler); - -// Handle unhandled promise rejections -process.on('unhandledRejection', (err) => { - logger.error('Unhandled Promise Rejection:', err); - process.exit(1); -}); - -const PORT = process.env.PORT || 8000; -app.listen(PORT, () => { - logger.info(`Server is running at port ${PORT}`); -}); diff --git a/Backend/package-lock.json b/Backend/package-lock.json index 89bf2a8..fa9ae4a 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -17,6 +17,7 @@ "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", + "socket.io": "^4.8.1", "winston": "^3.17.0" }, "devDependencies": { @@ -52,6 +53,30 @@ "sparse-bitfield": "^3.0.3" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/node": { + "version": "24.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz", + "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, "node_modules/@types/triple-beam": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", @@ -119,6 +144,15 @@ "dev": true, "license": "MIT" }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, "node_modules/base64url": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", @@ -515,6 +549,58 @@ "node": ">= 0.8" } }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -1779,6 +1865,116 @@ "node": ">=10" } }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-adapter/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -1925,6 +2121,12 @@ "dev": true, "license": "MIT" }, + "node_modules/undici-types": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", + "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", + "license": "MIT" + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -2015,6 +2217,27 @@ "engines": { "node": ">= 12.0.0" } + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } } } } diff --git a/Backend/package.json b/Backend/package.json index 086b1c7..727f0a1 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -7,8 +7,8 @@ "type": "commonjs", "main": "index.js", "scripts": { - "start": "node index.js", - "dev": "nodemon index.js" + "start": "node src/index.js", + "dev": "nodemon src/index.js" }, "dependencies": { "body-parser": "^2.2.0", @@ -19,6 +19,7 @@ "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", + "socket.io": "^4.8.1", "winston": "^3.17.0" }, "devDependencies": { diff --git a/Backend/src/app.js b/Backend/src/app.js new file mode 100644 index 0000000..1ce8d74 --- /dev/null +++ b/Backend/src/app.js @@ -0,0 +1,49 @@ +const express = require("express"); +const session = require("express-session"); +const cors = require("cors"); +const passport = require("passport"); + +const connectDB = require("./config/db.js"); +const { errorHandler } = require("./middleware/errorMiddleware.js"); +const logger = require("./utils/logger.js"); +require("./config/passport.js"); // Load passport config + +const postRoutes = require("./routes/postRoutes.js"); +const userRoutes = require("./routes/userRoutes.js"); +const authRoutes = require("./routes/authRoutes.js"); + +require("dotenv").config() +// console.log("Client ID:", process.env.GOOGLE_CLIENT_ID); +connectDB(); + +const app = express(); + +app.use(cors()); +app.use(express.json()); +app.use(express.urlencoded({ extended: false })); + +app.use((req, res, next) => { + logger.info(`${req.method} ${req.url}`, req.body); + next(); +}); + +app.use( + session({ + secret: process.env.SESSION_SECRET || "secret", + resave: false, + saveUninitialized: true, + }) +); + +app.use(passport.initialize()); +app.use(passport.session()); + +// API routes +app.use("/api/posts", postRoutes); +app.use("/api/users", userRoutes); +app.use("/auth", authRoutes); + +// Error middleware +app.use(errorHandler); + +module.exports = app; diff --git a/Backend/config/db.js b/Backend/src/config/db.js similarity index 94% rename from Backend/config/db.js rename to Backend/src/config/db.js index f8095fd..2a809c4 100644 --- a/Backend/config/db.js +++ b/Backend/src/config/db.js @@ -4,12 +4,13 @@ const connectDB = async () => { try { console.log('Attempting to connect to MongoDB...'); console.log('Connection Details:', { - dbUri: process.env.MONGO_URI ? '' : 'N/A' + dbUri: process.env.MONGODB_URI ? '' : 'N/A' }); const conn = await mongoose.connect(process.env.MONGODB_URI, { useNewUrlParser: true, useUnifiedTopology: true, + dbName: 'mayacode', }); console.log('MongoDB Connection Details:', { @@ -52,4 +53,4 @@ const connectDB = async () => { } }; -module.exports = connectDB; \ No newline at end of file +module.exports = connectDB; \ No newline at end of file diff --git a/Backend/src/config/passport.js b/Backend/src/config/passport.js new file mode 100644 index 0000000..67baa46 --- /dev/null +++ b/Backend/src/config/passport.js @@ -0,0 +1,19 @@ +require("dotenv").config() +const passport = require("passport"); +const GoogleStrategy = require("passport-google-oauth20").Strategy; + +passport.use( + new GoogleStrategy( + { + clientID: process.env.GOOGLE_CLIENT_ID, + clientSecret: process.env.GOOGLE_CLIENT_SECRET, + callbackURL: `${process.env.BACKEND_URI}/auth/google/callback`, + }, + (accessToken, refreshToken, profile, done) => { + return done(null, profile); + } + ) +); + +passport.serializeUser((user, done) => done(null, user)); +passport.deserializeUser((user, done) => done(null, user)); diff --git a/Backend/controllers/postController.js b/Backend/src/controllers/postController.js similarity index 100% rename from Backend/controllers/postController.js rename to Backend/src/controllers/postController.js diff --git a/Backend/controllers/userController.js b/Backend/src/controllers/userController.js similarity index 100% rename from Backend/controllers/userController.js rename to Backend/src/controllers/userController.js diff --git a/Backend/src/index.js b/Backend/src/index.js new file mode 100644 index 0000000..4cb6b71 --- /dev/null +++ b/Backend/src/index.js @@ -0,0 +1,12 @@ +const http = require("http"); +const app = require("./app.js"); +const { setupSocket } = require("./sockets/index.js"); +require("dotenv").config() +const PORT = process.env.PORT || 8000; +const server = http.createServer(app); + +setupSocket(server); // Attach socket logic + +server.listen(PORT, () => + console.log(`Server running on PORT:${PORT}`) +); diff --git a/Backend/middleware/errorMiddleware.js b/Backend/src/middleware/errorMiddleware.js similarity index 94% rename from Backend/middleware/errorMiddleware.js rename to Backend/src/middleware/errorMiddleware.js index 28bd9c2..8931e4f 100644 --- a/Backend/middleware/errorMiddleware.js +++ b/Backend/src/middleware/errorMiddleware.js @@ -49,7 +49,7 @@ const errorHandler = (err, req, res, next) => { } // Programming or other unknown error: don't leak error details else { - logger.error('ERROR šŸ’„', err); + logger.error('ERROR:', err); res.status(500).json({ status: 'error', message: 'Something went wrong!' @@ -58,7 +58,4 @@ const errorHandler = (err, req, res, next) => { } }; -module.exports = { - AppError, - errorHandler -}; \ No newline at end of file +module.exports = { AppError, errorHandler }; \ No newline at end of file diff --git a/Backend/models/Post.js b/Backend/src/models/Post.js similarity index 100% rename from Backend/models/Post.js rename to Backend/src/models/Post.js diff --git a/Backend/models/User.js b/Backend/src/models/User.js similarity index 100% rename from Backend/models/User.js rename to Backend/src/models/User.js diff --git a/Backend/src/routes/authRoutes.js b/Backend/src/routes/authRoutes.js new file mode 100644 index 0000000..30f75c0 --- /dev/null +++ b/Backend/src/routes/authRoutes.js @@ -0,0 +1,24 @@ +const express = require("express"); +const passport = require("passport"); + +const router = express.Router(); + +router.get("/", (req, res) => { + res.send("Login with Google"); +}); + +router.get("/google", passport.authenticate("google", { scope: ["profile", "email"] })); + +router.get("/google/callback", passport.authenticate("google", { failureRedirect: "/" }), (req, res) => { + res.redirect("/auth/profile"); +}); + +router.get("/profile", (req, res) => { + res.send(`Welcome ${req.user.displayName}`); +}); + +router.get("/logout", (req, res) => { + req.logout(() => res.redirect("/")); +}); + +module.exports = router; diff --git a/Backend/routes/postRoutes.js b/Backend/src/routes/postRoutes.js similarity index 100% rename from Backend/routes/postRoutes.js rename to Backend/src/routes/postRoutes.js diff --git a/Backend/routes/userRoutes.js b/Backend/src/routes/userRoutes.js similarity index 100% rename from Backend/routes/userRoutes.js rename to Backend/src/routes/userRoutes.js diff --git a/Backend/scripts/dropIndexes.js b/Backend/src/scripts/dropIndexes.js similarity index 100% rename from Backend/scripts/dropIndexes.js rename to Backend/src/scripts/dropIndexes.js diff --git a/Backend/src/services/socket.js b/Backend/src/services/socket.js new file mode 100644 index 0000000..a8f77fa --- /dev/null +++ b/Backend/src/services/socket.js @@ -0,0 +1,63 @@ +const { Server } = require("socket.io"); +// const Redis = require("ioredis"); +// const prismaClient = require("./prisma"); +// const { produceMessage } = require("./kafka"); + +// const pub = new Redis({ +// host: "", +// port: 0, +// username: "default", +// password: "", +// }); + +// const sub = new Redis({ +// host: "", +// port: 0, +// username: "", +// password: "", +// }); + +class SocketService { + + constructor() { + console.log("Init Socket Service..."); + this._io = new Server( + { + cors: { + allowedHeaders: ["*"], + origin: "*", + }, + } + ); + sub.subscribe("MESSAGES"); + } + + initListeners() { + const io = this.io; + console.log("Init Socket Listeners..."); + + io.on("connect", (socket) => { + console.log(`New Socket Connected`, socket.id); + socket.on("event:message", async ({ message }) => { + console.log("New Message Rec.", message); + // publish this message to redis + // await pub.publish("MESSAGES", JSON.stringify({ message })); + }); + }); + + sub.on("message", async (channel, message) => { + if (channel === "MESSAGES") { + console.log("new message from redis", message); + io.emit("message", message); + await produceMessage(message); + console.log("Message Produced to Kafka Broker"); + } + }); + } + + get io() { + return this._io; + } +} + +module.exports = SocketService; \ No newline at end of file diff --git a/Backend/src/sockets/chat.socket.js b/Backend/src/sockets/chat.socket.js new file mode 100644 index 0000000..1ec1549 --- /dev/null +++ b/Backend/src/sockets/chat.socket.js @@ -0,0 +1,6 @@ +module.exports = (io, socket) => { + socket.on("chat:send", (data) => { + console.log("Received chat:", data); + io.emit("chat:receive", data); // Broadcast to all + }); +}; diff --git a/Backend/src/sockets/index.js b/Backend/src/sockets/index.js new file mode 100644 index 0000000..d148786 --- /dev/null +++ b/Backend/src/sockets/index.js @@ -0,0 +1,25 @@ +const { Server } = require("socket.io"); +const chatSocket = require("./chat.socket.js"); +const notificationSocket = require("./notification.socket.js"); + +const setupSocket = (httpServer) => { + const io = new Server(httpServer, { + cors: { + origin: "*", + methods: ["GET", "POST"] + } + }); + + io.on("connection", (socket) => { + console.log(`⚔ Socket connected: ${socket.id}`); + + chatSocket(io, socket); + notificationSocket(io, socket); + + socket.on("disconnect", () => { + console.log(`āš ļø Socket disconnected: ${socket.id}`); + }); + }); +}; + +module.exports = { setupSocket }; diff --git a/Backend/src/sockets/notification.socket.js b/Backend/src/sockets/notification.socket.js new file mode 100644 index 0000000..27aee1a --- /dev/null +++ b/Backend/src/sockets/notification.socket.js @@ -0,0 +1,6 @@ +module.exports = (io, socket) => { + socket.on("notification:send", (data) => { + console.log("Received notification:", data); + io.emit("notification:receive", data); // Broadcast to all + }); +}; diff --git a/Backend/utils/logger.js b/Backend/src/utils/logger.js similarity index 100% rename from Backend/utils/logger.js rename to Backend/src/utils/logger.js diff --git a/Frontend/app/(tabs)/chat.tsx b/Frontend/app/(tabs)/chat.tsx index b8fad95..8bcf0ea 100644 --- a/Frontend/app/(tabs)/chat.tsx +++ b/Frontend/app/(tabs)/chat.tsx @@ -2,6 +2,7 @@ import { View, Text, StyleSheet, ScrollView, TouchableOpacity } from 'react-nati import React from 'react'; import { useRouter } from 'expo-router'; import { SafeAreaView } from 'react-native-safe-area-context'; +import { SocketProvider } from "../../context/SocketContext"; // Sample data for chat contacts const sampleContacts = [ @@ -21,23 +22,25 @@ const Chat = () => { }; return ( - - - Chats - - {sampleContacts.map((contact) => ( - handleContactPress(contact.id, contact.name)} - > - {contact.name} - {/* Add a placeholder for last message or time if needed */} - - ))} - - - + + + + Chats + + {sampleContacts.map((contact) => ( + handleContactPress(contact.id, contact.name)} + > + {contact.name} + {/* Add a placeholder for last message or time if needed */} + + ))} + + + + ); }; diff --git a/Frontend/app/(tabs)/notifications.tsx b/Frontend/app/(tabs)/notifications.tsx index be17555..7806e92 100644 --- a/Frontend/app/(tabs)/notifications.tsx +++ b/Frontend/app/(tabs)/notifications.tsx @@ -1,5 +1,6 @@ import React from 'react'; import { View, Text, StyleSheet, FlatList } from 'react-native'; +import { SocketProvider } from "../../context/SocketContext"; // Sample data for notifications const sampleNotifications = [ @@ -21,15 +22,17 @@ const NotificationsPage = () => { ); return ( - - Notifications - item.id} - contentContainerStyle={styles.listContent} - /> - + + + Notifications + item.id} + contentContainerStyle={styles.listContent} + /> + + ); }; diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx new file mode 100644 index 0000000..350b960 --- /dev/null +++ b/Frontend/context/SocketContext.tsx @@ -0,0 +1,61 @@ +"use client"; +import React, { useCallback, useContext, useEffect, useState } from "react"; +import { io, Socket } from "socket.io-client"; + +interface SocketProviderProps { + children?: React.ReactNode; +} + +interface ISocketContext { + sendMessage: (msg: string) => any; + messages: string[]; +} + +const SocketContext = React.createContext(null); + +export const useSocket = () => { + const state = useContext(SocketContext); + if (!state) throw new Error(`state is undefined`); + + return state; +}; + +export const SocketProvider: React.FC = ({ children }) => { + const [socket, setSocket] = useState(); + const [messages, setMessages] = useState([]); + + const sendMessage: ISocketContext["sendMessage"] = useCallback( + (msg) => { + console.log("Send Message", msg); + if (socket) { + socket.emit("event:message", { message: msg }); + } + }, + [socket] + ); + + const onMessageRec = useCallback((msg: string) => { + console.log("From Server Msg Rec", msg); + const { message } = JSON.parse(msg) as { message: string }; + setMessages((prev) => [...prev, message]); + }, []); + + useEffect(() => { + const _socket = io("http://localhost:8000"); + _socket.on("message", onMessageRec); + + setSocket(_socket); + + return () => { + _socket.off("message", onMessageRec); + _socket.disconnect(); + setSocket(undefined); + }; + }, []); + + return ( + + {children} + + ); +}; \ No newline at end of file diff --git a/Frontend/package-lock.json b/Frontend/package-lock.json index acb1154..401a335 100644 --- a/Frontend/package-lock.json +++ b/Frontend/package-lock.json @@ -54,6 +54,7 @@ "react-native-vector-icons": "^10.2.0", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", + "socket.io-client": "^4.8.1", "tailwindcss": "^3.4.17" }, "devDependencies": { @@ -3562,6 +3563,12 @@ "@sinonjs/commons": "^3.0.0" } }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -6719,6 +6726,66 @@ "node": ">= 0.8" } }, + "node_modules/engine.io-client": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", + "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/enhanced-resolve": { "version": "5.18.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", @@ -14706,6 +14773,68 @@ "node": ">=8.0.0" } }, + "node_modules/socket.io-client": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", + "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -16622,6 +16751,14 @@ "dev": true, "license": "MIT" }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/Frontend/package.json b/Frontend/package.json index 1913f02..28e890c 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -5,7 +5,7 @@ "scripts": { "start": "expo start" }, - "dependencies": { + "dependencies": { "@expo/vector-icons": "^14.1.0", "@react-native-async-storage/async-storage": "^2.1.2", "@react-native-community/datetimepicker": "^8.3.0", @@ -52,6 +52,7 @@ "react-native-vector-icons": "^10.2.0", "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", + "socket.io-client": "^4.8.1", "tailwindcss": "^3.4.17" }, "devDependencies": { From 9ef72a11892b73784c3dd3cfe235fc4a8fadb6af Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 2 Jul 2025 15:21:08 +0530 Subject: [PATCH 03/91] remove logger feature --- Backend/src/app.js | 2 -- Backend/src/controllers/postController.js | 23 ------------ Backend/src/middleware/errorMiddleware.js | 15 -------- Backend/src/routes/postRoutes.js | 11 ------ Backend/src/utils/logger.js | 44 ----------------------- 5 files changed, 95 deletions(-) delete mode 100644 Backend/src/utils/logger.js diff --git a/Backend/src/app.js b/Backend/src/app.js index 1ce8d74..328794d 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -5,7 +5,6 @@ const passport = require("passport"); const connectDB = require("./config/db.js"); const { errorHandler } = require("./middleware/errorMiddleware.js"); -const logger = require("./utils/logger.js"); require("./config/passport.js"); // Load passport config const postRoutes = require("./routes/postRoutes.js"); @@ -23,7 +22,6 @@ app.use(express.json()); app.use(express.urlencoded({ extended: false })); app.use((req, res, next) => { - logger.info(`${req.method} ${req.url}`, req.body); next(); }); diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 506061e..af6877a 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -1,16 +1,12 @@ const Post = require('../models/Post'); -const { logger } = require('../utils/logger'); // Create a new post exports.createPost = async (req, res) => { try { - logger.info('Create Post - Request:', req.body); const post = new Post(req.body); await post.save(); - logger.info('Create Post - Success:', post); res.status(201).json(post); } catch (error) { - logger.error('Create Post - Error:', error); res.status(400).json({ message: error.message }); } }; @@ -18,21 +14,17 @@ exports.createPost = async (req, res) => { // Get all posts exports.getPosts = async (req, res) => { try { - logger.info('Get Posts - Request received'); const { type } = req.query; // Get the type from query parameters let query = {}; if (type) { // Add type filter to the query if type is provided query.type = type; - logger.info('Get Posts - Filtering by type:', type); } const posts = await Post.find(query).sort({ createdAt: -1 }); // Apply the query - logger.info('Get Posts - Success:', { count: posts.length, query }); res.json(posts); } catch (error) { - logger.error('Get Posts - Error:', error); res.status(500).json({ message: error.message }); } }; @@ -41,18 +33,14 @@ exports.getPosts = async (req, res) => { exports.getPost = async (req, res) => { try { const { id } = req.params; - logger.info('Get Post - Request:', { id }); const post = await Post.findById(id); if (!post) { - logger.warn('Get Post - Not found:', id); return res.status(404).json({ message: 'Post not found' }); } - logger.info('Get Post - Success:', post); res.json(post); } catch (error) { - logger.error('Get Post - Error:', error); res.status(500).json({ message: error.message }); } }; @@ -61,7 +49,6 @@ exports.getPost = async (req, res) => { exports.updatePost = async (req, res) => { try { const { id } = req.params; - logger.info('Update Post - Request:', { id, body: req.body }); const post = await Post.findByIdAndUpdate( id, @@ -70,14 +57,11 @@ exports.updatePost = async (req, res) => { ); if (!post) { - logger.warn('Update Post - Not found:', id); return res.status(404).json({ message: 'Post not found' }); } - logger.info('Update Post - Success:', post); res.json(post); } catch (error) { - logger.error('Update Post - Error:', error); res.status(400).json({ message: error.message }); } }; @@ -86,18 +70,14 @@ exports.updatePost = async (req, res) => { exports.deletePost = async (req, res) => { try { const { id } = req.params; - logger.info('Delete Post - Request:', { id }); const post = await Post.findByIdAndDelete(id); if (!post) { - logger.warn('Delete Post - Not found:', id); return res.status(404).json({ message: 'Post not found' }); } - logger.info('Delete Post - Success:', post); res.json({ message: 'Post deleted successfully' }); } catch (error) { - logger.error('Delete Post - Error:', error); res.status(500).json({ message: error.message }); } }; @@ -106,13 +86,10 @@ exports.deletePost = async (req, res) => { exports.getUserPosts = async (req, res) => { try { const { phone } = req.params; - logger.info('Get User Posts - Request:', { phone }); const posts = await Post.find({ phone }).sort({ createdAt: -1 }); - logger.info('Get User Posts - Success:', { count: posts.length }); res.json(posts); } catch (error) { - logger.error('Get User Posts - Error:', error); res.status(500).json({ message: error.message }); } }; \ No newline at end of file diff --git a/Backend/src/middleware/errorMiddleware.js b/Backend/src/middleware/errorMiddleware.js index 8931e4f..fcfbf09 100644 --- a/Backend/src/middleware/errorMiddleware.js +++ b/Backend/src/middleware/errorMiddleware.js @@ -1,5 +1,3 @@ -const { logger } = require('../utils/logger'); - // Custom error class class AppError extends Error { constructor(message, statusCode) { @@ -17,18 +15,6 @@ const errorHandler = (err, req, res, next) => { err.statusCode = err.statusCode || 500; err.status = err.status || 'error'; - // Log error - logger.error('Error:', { - message: err.message, - stack: err.stack, - statusCode: err.statusCode, - path: req.originalUrl, - method: req.method, - body: req.body, - params: req.params, - query: req.query - }); - // Development error response if (process.env.NODE_ENV === 'development') { res.status(err.statusCode).json({ @@ -49,7 +35,6 @@ const errorHandler = (err, req, res, next) => { } // Programming or other unknown error: don't leak error details else { - logger.error('ERROR:', err); res.status(500).json({ status: 'error', message: 'Something went wrong!' diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index 2a3ea7d..a057f19 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -1,25 +1,14 @@ const express = require('express'); const router = express.Router(); const postController = require('../controllers/postController'); -const { logger } = require('../utils/logger'); // Add detailed logging middleware router.use((req, res, next) => { - logger.info('Post Route Request:', { - timestamp: new Date().toISOString(), - method: req.method, - url: req.originalUrl, - params: req.params, - query: req.query, - headers: req.headers, - body: req.body - }); next(); }); // Error handling middleware router.use((err, req, res, next) => { - logger.error('Post Route Error:', err); res.status(500).json({ message: 'Internal server error', error: err.message diff --git a/Backend/src/utils/logger.js b/Backend/src/utils/logger.js deleted file mode 100644 index 8d5abca..0000000 --- a/Backend/src/utils/logger.js +++ /dev/null @@ -1,44 +0,0 @@ -const winston = require('winston'); - -// Define log format -const logFormat = winston.format.combine( - winston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss' }), - winston.format.errors({ stack: true }), - winston.format.splat(), - winston.format.json() -); - -// Create logger instance -const logger = winston.createLogger({ - level: process.env.NODE_ENV === 'production' ? 'info' : 'debug', - format: logFormat, - transports: [ - // Write all logs to console - new winston.transports.Console({ - format: winston.format.combine( - winston.format.colorize(), - winston.format.simple() - ) - }), - // Write all logs with level 'error' and below to error.log - new winston.transports.File({ - filename: 'logs/error.log', - level: 'error', - maxsize: 5242880, // 5MB - maxFiles: 5 - }), - // Write all logs with level 'info' and below to combined.log - new winston.transports.File({ - filename: 'logs/combined.log', - maxsize: 5242880, // 5MB - maxFiles: 5 - }) - ] -}); - -// Create a stream object for Morgan -logger.stream = { - write: (message) => logger.info(message.trim()) -}; - -module.exports = { logger }; \ No newline at end of file From cc400fc9580a59c336b69265289b03c6ac398a3f Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 2 Jul 2025 21:38:48 +0530 Subject: [PATCH 04/91] added console logs --- Backend/src/controllers/postController.js | 6 ++++++ Backend/src/controllers/userController.js | 1 + Frontend/context/SocketContext.tsx | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index af6877a..b8bc14f 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -2,6 +2,7 @@ const Post = require('../models/Post'); // Create a new post exports.createPost = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Create Post`, req.body); try { const post = new Post(req.body); await post.save(); @@ -13,6 +14,7 @@ exports.createPost = async (req, res) => { // Get all posts exports.getPosts = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get Posts`, req.query); try { const { type } = req.query; // Get the type from query parameters let query = {}; @@ -31,6 +33,7 @@ exports.getPosts = async (req, res) => { // Get a single post exports.getPost = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get Post`, req.params); try { const { id } = req.params; @@ -47,6 +50,7 @@ exports.getPost = async (req, res) => { // Update a post exports.updatePost = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Update Post`, req.params, req.body); try { const { id } = req.params; @@ -68,6 +72,7 @@ exports.updatePost = async (req, res) => { // Delete a post exports.deletePost = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Delete Post`, req.params); try { const { id } = req.params; @@ -84,6 +89,7 @@ exports.deletePost = async (req, res) => { // Get posts by phone exports.getUserPosts = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get User Posts`, req.params); try { const { phone } = req.params; diff --git a/Backend/src/controllers/userController.js b/Backend/src/controllers/userController.js index 6d97e17..ef11b49 100644 --- a/Backend/src/controllers/userController.js +++ b/Backend/src/controllers/userController.js @@ -2,6 +2,7 @@ const UserProfile = require('../models/User'); // Get user profile by phone exports.getUserByPhone = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get User By Phone`, req.params); try { const { phone } = req.params; console.log('Get User - Request:', { phone }); diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 350b960..83b1b1e 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -41,7 +41,8 @@ export const SocketProvider: React.FC = ({ children }) => { }, []); useEffect(() => { - const _socket = io("http://localhost:8000"); + console.log("process.env.EXPO_PUBLIC_BASE_URL", process.env.EXPO_PUBLIC_BASE_URL); + const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); _socket.on("message", onMessageRec); setSocket(_socket); From 0d448c32f7d52accabfd2aa56ba8bca1d8745d5b Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 2 Jul 2025 21:52:30 +0530 Subject: [PATCH 05/91] update --- Backend/src/config/db.js | 10 +++++----- Frontend/context/SocketContext.tsx | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Backend/src/config/db.js b/Backend/src/config/db.js index 2a809c4..884d616 100644 --- a/Backend/src/config/db.js +++ b/Backend/src/config/db.js @@ -25,22 +25,22 @@ const connectDB = async () => { for (const collection of collections) { const collectionName = collection.name; const indexes = await mongoose.connection.db.collection(collectionName).listIndexes().toArray(); - console.log('Current indexes:', indexes); + // console.log('Current indexes:', indexes); // Check and drop userId_1 index if it exists const userIdIndex = indexes.find(index => index.name === 'userId_1'); if (userIdIndex) { - console.log('Dropping userId_1 index...'); + // console.log('Dropping userId_1 index...'); await mongoose.connection.db.collection(collectionName).dropIndex('userId_1'); - console.log('userId_1 index dropped successfully'); + // console.log('userId_1 index dropped successfully'); } // Check and create phone_1 index if it doesn't exist and the collection is UserProfile const phoneIndex = indexes.find(index => index.name === 'phone_1'); if (!phoneIndex && collectionName === 'userprofiles') { - console.log('Creating phone_1 index...'); + // console.log('Creating phone_1 index...'); await mongoose.connection.db.collection(collectionName).createIndex({ phone: 1 }); - console.log('phone_1 index created successfully'); + // console.log('phone_1 index created successfully'); } } } catch (indexError) { diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 83b1b1e..c77cac1 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -41,7 +41,7 @@ export const SocketProvider: React.FC = ({ children }) => { }, []); useEffect(() => { - console.log("process.env.EXPO_PUBLIC_BASE_URL", process.env.EXPO_PUBLIC_BASE_URL); + // console.log("process.env.EXPO_PUBLIC_BASE_URL", process.env.EXPO_PUBLIC_BASE_URL); const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); _socket.on("message", onMessageRec); From 778db73d682f41f60d96885377a7fba82d8fbd8b Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Thu, 3 Jul 2025 12:52:19 +0530 Subject: [PATCH 06/91] added pub/sub architecture to communicate b/w multiple servers --- Backend/package-lock.json | 111 +++++++ Backend/package.json | 1 + Backend/src/services/socket.js | 28 +- Backend/src/sockets/chat.socket.js | 4 +- Backend/src/sockets/index.js | 31 +- Backend/src/sockets/notification.socket.js | 4 +- Frontend/app/(tabs)/chat.tsx | 182 +++++++---- Frontend/app/(tabs)/individual-chat.tsx | 354 +++++++++------------ Frontend/context/SocketContext.tsx | 2 +- 9 files changed, 444 insertions(+), 273 deletions(-) diff --git a/Backend/package-lock.json b/Backend/package-lock.json index fa9ae4a..c5e8c82 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -14,6 +14,7 @@ "dotenv": "^16.3.1", "express": "^4.18.2", "express-session": "^1.18.1", + "ioredis": "^5.6.1", "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", @@ -44,6 +45,12 @@ "kuler": "^2.0.0" } }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", + "license": "MIT" + }, "node_modules/@mongodb-js/saslprep": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.2.tgz", @@ -373,6 +380,15 @@ "fsevents": "~2.3.2" } }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/color": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", @@ -483,6 +499,15 @@ "ms": "2.0.0" } }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, "node_modules/depd": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", @@ -999,6 +1024,53 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ioredis": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.6.1.tgz", + "integrity": "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/ioredis/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ioredis/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -1087,6 +1159,18 @@ "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", "license": "MIT" }, + "node_modules/lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", + "license": "MIT" + }, + "node_modules/lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", + "license": "MIT" + }, "node_modules/logform": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", @@ -1657,6 +1741,27 @@ "node": ">=8.10.0" } }, + "node_modules/redis-errors": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", + "integrity": "sha512-1qny3OExCf0UvUV/5wpYKf2YwPcOqXzkwKKSmKHiE6ZMQs5heeE/c8eXK+PNllPvmjgAbfnsbpkGZWy8cBpn9w==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/redis-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", + "integrity": "sha512-DJnGAeenTdpMEH6uAJRK/uiyEIH9WVsUmoLwzudwGJUwZPp80PDBWPHXSAGNPwNvIXAbe7MSUB1zQFugFml66A==", + "license": "MIT", + "dependencies": { + "redis-errors": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -1993,6 +2098,12 @@ "node": "*" } }, + "node_modules/standard-as-callback": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", + "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==", + "license": "MIT" + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", diff --git a/Backend/package.json b/Backend/package.json index 727f0a1..8f0ebbe 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -16,6 +16,7 @@ "dotenv": "^16.3.1", "express": "^4.18.2", "express-session": "^1.18.1", + "ioredis": "^5.6.1", "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", diff --git a/Backend/src/services/socket.js b/Backend/src/services/socket.js index a8f77fa..9cd03a7 100644 --- a/Backend/src/services/socket.js +++ b/Backend/src/services/socket.js @@ -1,21 +1,21 @@ const { Server } = require("socket.io"); -// const Redis = require("ioredis"); +const Redis = require("ioredis"); // const prismaClient = require("./prisma"); // const { produceMessage } = require("./kafka"); -// const pub = new Redis({ -// host: "", -// port: 0, -// username: "default", -// password: "", -// }); +const pub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, +}); -// const sub = new Redis({ -// host: "", -// port: 0, -// username: "", -// password: "", -// }); +const sub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, +}); class SocketService { @@ -41,7 +41,7 @@ class SocketService { socket.on("event:message", async ({ message }) => { console.log("New Message Rec.", message); // publish this message to redis - // await pub.publish("MESSAGES", JSON.stringify({ message })); + await pub.publish("MESSAGES", JSON.stringify({ message })); }); }); diff --git a/Backend/src/sockets/chat.socket.js b/Backend/src/sockets/chat.socket.js index 1ec1549..5a2070e 100644 --- a/Backend/src/sockets/chat.socket.js +++ b/Backend/src/sockets/chat.socket.js @@ -1,6 +1,6 @@ -module.exports = (io, socket) => { +module.exports = (io, socket, pub) => { socket.on("chat:send", (data) => { console.log("Received chat:", data); - io.emit("chat:receive", data); // Broadcast to all + pub.publish("CHAT_MESSAGES", JSON.stringify(data)); }); }; diff --git a/Backend/src/sockets/index.js b/Backend/src/sockets/index.js index d148786..4921bf9 100644 --- a/Backend/src/sockets/index.js +++ b/Backend/src/sockets/index.js @@ -1,7 +1,22 @@ const { Server } = require("socket.io"); +const Redis = require("ioredis"); const chatSocket = require("./chat.socket.js"); const notificationSocket = require("./notification.socket.js"); +const pub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, +}); + +const sub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, +}); + const setupSocket = (httpServer) => { const io = new Server(httpServer, { cors: { @@ -10,11 +25,23 @@ const setupSocket = (httpServer) => { } }); + // Subscribe to both chat and notification channels + sub.subscribe("CHAT_MESSAGES"); + sub.subscribe("NOTIFICATION_MESSAGES"); + + sub.on("message", (channel, message) => { + if (channel === "CHAT_MESSAGES") { + io.emit("chat:receive", JSON.parse(message)); + } else if (channel === "NOTIFICATION_MESSAGES") { + io.emit("notification:receive", JSON.parse(message)); + } + }); + io.on("connection", (socket) => { console.log(`⚔ Socket connected: ${socket.id}`); - chatSocket(io, socket); - notificationSocket(io, socket); + chatSocket(io, socket, pub); + notificationSocket(io, socket, pub); socket.on("disconnect", () => { console.log(`āš ļø Socket disconnected: ${socket.id}`); diff --git a/Backend/src/sockets/notification.socket.js b/Backend/src/sockets/notification.socket.js index 27aee1a..f158401 100644 --- a/Backend/src/sockets/notification.socket.js +++ b/Backend/src/sockets/notification.socket.js @@ -1,6 +1,6 @@ -module.exports = (io, socket) => { +module.exports = (io, socket, pub) => { socket.on("notification:send", (data) => { console.log("Received notification:", data); - io.emit("notification:receive", data); // Broadcast to all + pub.publish("NOTIFICATION_MESSAGES", JSON.stringify(data)); }); }; diff --git a/Frontend/app/(tabs)/chat.tsx b/Frontend/app/(tabs)/chat.tsx index 8bcf0ea..45ab537 100644 --- a/Frontend/app/(tabs)/chat.tsx +++ b/Frontend/app/(tabs)/chat.tsx @@ -1,85 +1,157 @@ -import { View, Text, StyleSheet, ScrollView, TouchableOpacity } from 'react-native'; -import React from 'react'; -import { useRouter } from 'expo-router'; +import { View, Text, StyleSheet, ScrollView, TextInput, TouchableOpacity, Platform, KeyboardAvoidingView } from 'react-native'; +import React, { useState, useRef, useEffect } from 'react'; +import { Ionicons } from '@expo/vector-icons'; import { SafeAreaView } from 'react-native-safe-area-context'; -import { SocketProvider } from "../../context/SocketContext"; +import { SocketProvider, useSocket } from '../../context/SocketContext'; -// Sample data for chat contacts -const sampleContacts = [ - { id: 'contact1', name: 'Volunteer for Food Delivery' }, - { id: 'contact2', name: 'Person Asking for Math Help' }, - { id: 'contact3', name: 'Offering Help with Gardening' }, - { id: 'contact4', name: 'Admin - Regarding Your Post' }, -]; +// Message bubble component for each message +const MessageBubble = ({ text }: { text: string }) => ( + + {text} + +); -const Chat = () => { - const router = useRouter(); +const ChatScreen = () => { + const { sendMessage, messages } = useSocket(); + const [messageInput, setMessageInput] = useState(''); + const scrollViewRef = useRef(null); - const handleContactPress = (contactId: string, contactName: string) => { - // Navigate to a new screen for individual chat - // We will create individual-chat.tsx next - router.push({ pathname: '/individual-chat', params: { chatId: contactId, name: contactName } }); + const handleSendMessage = () => { + if (messageInput.trim()) { + sendMessage(messageInput); + setMessageInput(''); + } }; + useEffect(() => { + if (scrollViewRef.current) { + scrollViewRef.current.scrollToEnd({ animated: true }); + } + }, [messages]); + return ( - - - - Chats - - {sampleContacts.map((contact) => ( - handleContactPress(contact.id, contact.name)} - > - {contact.name} - {/* Add a placeholder for last message or time if needed */} - - ))} - + + + + Chat + + + {messages.map((msg, idx) => ( + + ))} + + + + + + - + ); }; +const Chat = () => ( + + + +); + const styles = StyleSheet.create({ - safeArea: { - flex: 1, - backgroundColor: '#FDFDE3', // Match app background - }, container: { flex: 1, padding: 10, + backgroundColor: '#FDFDE3', + paddingBottom: 70, + }, + headerContainer: { + flexDirection: 'row', + alignItems: 'center', + paddingHorizontal: 10, + marginBottom: 20, + }, + backButton: { + marginRight: 10, + padding: 5, }, - header: { + headerTitle: { fontSize: 28, fontWeight: 'bold', - textAlign: 'left', - marginBottom: 20, color: '#2C3E50', + flex: 1, }, - contactsList: { + messagesList: { flex: 1, + padding: 0, }, - contactItem: { - backgroundColor: '#fff', - padding: 15, + messagesContent: { + paddingBottom: 100, + }, + messageContainer: { + padding: 10, borderRadius: 8, - marginBottom: 10, - borderWidth: 1, - borderColor: '#ddd', + marginBottom: 5, + maxWidth: '80%', shadowColor: '#000', shadowOffset: { width: 0, height: 1 }, - shadowOpacity: 0.05, - shadowRadius: 2, - elevation: 1, + shadowOpacity: 0.1, + shadowRadius: 1.5, + elevation: 2, }, - contactName: { - fontSize: 18, - fontWeight: 'bold', + myMessage: { + alignSelf: 'flex-end', + backgroundColor: '#DCF8C6', + }, + otherMessage: { + alignSelf: 'flex-start', + backgroundColor: '#FFFFFF', + }, + messageText: { + fontSize: 16, + }, + inputContainer: { + flexDirection: 'row', + padding: 10, + borderRadius: 8, + alignItems: 'center', + backgroundColor: '#f0f0f0', + shadowColor: '#000', + shadowOffset: { width: 0, height: -1 }, + shadowOpacity: 0.1, + shadowRadius: 1.5, + elevation: 2, + }, + input: { + flex: 1, + backgroundColor: '#fff', + borderRadius: 20, + paddingHorizontal: 15, + paddingVertical: 10, + marginRight: 10, + }, + sendButton: { + backgroundColor: '#075E54', + borderRadius: 20, + padding: 8, + justifyContent: 'center', + alignItems: 'center', }, }); -export default Chat; \ No newline at end of file +export default Chat; \ No newline at end of file diff --git a/Frontend/app/(tabs)/individual-chat.tsx b/Frontend/app/(tabs)/individual-chat.tsx index 52d2e36..23599f8 100644 --- a/Frontend/app/(tabs)/individual-chat.tsx +++ b/Frontend/app/(tabs)/individual-chat.tsx @@ -1,197 +1,157 @@ -import { View, Text, StyleSheet, ScrollView, TextInput, TouchableOpacity, Platform } from 'react-native'; -import React, { useState } from 'react'; -import { useLocalSearchParams, useRouter } from 'expo-router'; -import { Ionicons } from '@expo/vector-icons'; - -// Sample chat data for different chat IDs -const allSampleMessages: { [key: string]: { id: number; text: string; sender: string }[] } = { - contact1: [ - { id: 1, text: 'Hi there, I\'m available for food delivery assistance.', sender: 'other' }, - { id: 2, text: 'That\'s great! Where are you located?', sender: 'me' }, - { id: 3, text: 'I\'m in the downtown area, happy to help within a 5-mile radius.', sender: 'other' }, - { id: 4, text: 'Okay, perfect. I need a few items from the grocery store.', sender: 'me' }, - { id: 5, text: 'Sure, send me the list whenever you\'re ready.', sender: 'other' }, - { id: 6, text: 'Will do. Is there a preferred payment method?', sender: 'me' }, - { id: 7, text: 'Cash is fine, or I can accept payment apps too.', sender: 'other' }, - { id: 8, text: 'Great. I\'ll send you the list and my address shortly.', sender: 'me' }, - { id: 9, text: 'Sounds good. I\'ll head out as soon as I get it.', sender: 'other' }, - { id: 10, text: 'Thanks again for doing this!', sender: 'me' }, - { id: 11, text: 'Happy to help!', sender: 'other' }, - { id: 12, text: 'Just sent the list.', sender: 'me' }, - { id: 13, text: 'Got it, on my way now.', sender: 'other' }, - { id: 14, text: 'Okay, let me know when you\'re close.', sender: 'me' }, - { id: 15, text: 'Will do. Traffic seems okay.', sender: 'other' }, - { id: 16, text: 'Alright, stay safe!', sender: 'me' }, - { id: 17, text: 'Thanks, almost there.', sender: 'other' }, - { id: 18, text: 'Just arrived.', sender: 'other' }, - { id: 19, text: 'Coming down now!', sender: 'me' }, - { id: 20, text: 'Got the groceries, everything looks good. Thanks a million!', sender: 'me' }, - { id: 21, text: 'Glad I could help! Let me know if you need anything else.', sender: 'other' }, - { id: 22, text: 'Will do. Have a great day!', sender: 'me' }, - { id: 23, text: 'You too!', sender: 'other' }, - // Add more messages for contact1 - ], - contact2: [ - { id: 1, text: 'Hello, I saw your math help request. What level are you studying?', sender: 'other' }, - { id: 2, text: 'Hi! It\'s for high school algebra.', sender: 'me' }, - { id: 3, text: 'Okay, I can help with that. Do you have specific topics?', sender: 'other' }, - // Add more messages for contact2 - ], - contact3: [ - { id: 1, text: 'Hey, I\'m offering help with gardening for elderly neighbors.', sender: 'other' }, - { id: 2, text: 'That\'s a wonderful initiative! My grandmother could use some help.', sender: 'me' }, - { id: 3, text: 'Great! What kind of help does she need?', sender: 'other' }, - // Add more messages for contact3 - ], - contact4: [ - { id: 1, text: 'Hello, this is Maya from admin regarding your recent post.', sender: 'other' }, - { id: 2, text: 'Hi Maya, is there an issue with my post?', sender: 'me' }, - { id: 3, text: 'No issue, just a quick question about the location you specified.', sender: 'other' }, - // Add more messages for contact4 - ], - // Add more chat IDs and their sample messages here -}; - -// Basic ChatMessage component (moved from chat.tsx) -interface ChatMessageProps { - message: { id: number; text: string; sender: string }; -} - -const ChatMessage: React.FC = ({ message }) => { - return ( - - {message.text} - - ); -}; - -const IndividualChatScreen = () => { - const { chatId, name } = useLocalSearchParams(); - const router = useRouter(); - const [messageInput, setMessageInput] = useState(''); - - // Get messages for the current chat ID, or an empty array if not found - const currentChatMessages = chatId && typeof chatId === 'string' ? allSampleMessages[chatId] || [] : []; - - const handleSendMessage = () => { - if (messageInput.trim()) { - // In a real app, send the message via API and add to state - console.log(`Sending message to ${name} (chat ID: ${chatId}): ${messageInput}`); - setMessageInput(''); - // Note: For this static example, messages won't appear in the UI after sending. - // A real implementation would update a state variable holding the messages. - } - }; - - return ( - - - router.push('/chat')} style={styles.backButton}> - - - - {typeof name === 'string' ? name : 'Chat'} - - - - {currentChatMessages.map((message) => ( - - ))} - - - - - - - - - ); -}; - -const styles = StyleSheet.create({ - container: { - flex: 1, - padding: 10, - backgroundColor: '#FDFDE3', - paddingBottom: 70, - }, - headerContainer: { - flexDirection: 'row', - alignItems: 'center', - paddingHorizontal: 10, - marginBottom: 20, - }, - backButton: { - marginRight: 10, - padding: 5, - }, - headerTitle: { - fontSize: 28, - fontWeight: 'bold', - color: '#2C3E50', - flex: 1, - }, - messagesList: { - flex: 1, - padding: 0, - }, - messagesContent: { - paddingBottom: 100, - }, - messageContainer: { - padding: 10, - borderRadius: 8, - marginBottom: 5, - maxWidth: '80%', - shadowColor: '#000', - shadowOffset: { width: 0, height: 1 }, - shadowOpacity: 0.1, - shadowRadius: 1.5, - elevation: 2, - }, - myMessage: { - alignSelf: 'flex-end', - backgroundColor: '#DCF8C6', - }, - otherMessage: { - alignSelf: 'flex-start', - backgroundColor: '#FFFFFF', - }, - messageText: { - fontSize: 16, - }, - inputContainer: { - flexDirection: 'row', - padding: 10, - borderRadius: 8, - alignItems: 'center', - backgroundColor: '#f0f0f0', - shadowColor: '#000', - shadowOffset: { width: 0, height: -1 }, - shadowOpacity: 0.1, - shadowRadius: 1.5, - elevation: 2, - }, - input: { - flex: 1, - backgroundColor: '#fff', - borderRadius: 20, - paddingHorizontal: 15, - paddingVertical: 10, - marginRight: 10, - }, - sendButton: { - backgroundColor: '#075E54', - borderRadius: 20, - padding: 8, - justifyContent: 'center', - alignItems: 'center', - }, -}); - -export default IndividualChatScreen; \ No newline at end of file +import { View, Text, StyleSheet, ScrollView, TextInput, TouchableOpacity, Platform, KeyboardAvoidingView } from 'react-native'; +import React, { useState, useRef, useEffect } from 'react'; +import { Ionicons } from '@expo/vector-icons'; +import { SafeAreaView } from 'react-native-safe-area-context'; +import { SocketProvider, useSocket } from '../../context/SocketContext'; + +// Message bubble component for each message +const MessageBubble = ({ text }: { text: string }) => ( + + {text} + +); + +const IndividualChatScreen = () => { + const { sendMessage, messages } = useSocket(); + const [messageInput, setMessageInput] = useState(''); + const scrollViewRef = useRef(null); + + const handleSendMessage = () => { + if (messageInput.trim()) { + sendMessage(messageInput); + setMessageInput(''); + } + }; + + useEffect(() => { + if (scrollViewRef.current) { + scrollViewRef.current.scrollToEnd({ animated: true }); + } + }, [messages]); + + return ( + + + + Chat + + + {messages.map((msg, idx) => ( + + ))} + + + + + + + + + + ); +}; + +const IndividualChat = () => ( + + + +); + +const styles = StyleSheet.create({ + container: { + flex: 1, + padding: 10, + backgroundColor: '#FDFDE3', + paddingBottom: 70, + }, + headerContainer: { + flexDirection: 'row', + alignItems: 'center', + paddingHorizontal: 10, + marginBottom: 20, + }, + backButton: { + marginRight: 10, + padding: 5, + }, + headerTitle: { + fontSize: 28, + fontWeight: 'bold', + color: '#2C3E50', + flex: 1, + }, + messagesList: { + flex: 1, + padding: 0, + }, + messagesContent: { + paddingBottom: 100, + }, + messageContainer: { + padding: 10, + borderRadius: 8, + marginBottom: 5, + maxWidth: '80%', + shadowColor: '#000', + shadowOffset: { width: 0, height: 1 }, + shadowOpacity: 0.1, + shadowRadius: 1.5, + elevation: 2, + }, + myMessage: { + alignSelf: 'flex-end', + backgroundColor: '#DCF8C6', + }, + otherMessage: { + alignSelf: 'flex-start', + backgroundColor: '#FFFFFF', + }, + messageText: { + fontSize: 16, + }, + inputContainer: { + flexDirection: 'row', + padding: 10, + borderRadius: 8, + alignItems: 'center', + backgroundColor: '#f0f0f0', + shadowColor: '#000', + shadowOffset: { width: 0, height: -1 }, + shadowOpacity: 0.1, + shadowRadius: 1.5, + elevation: 2, + }, + input: { + flex: 1, + backgroundColor: '#fff', + borderRadius: 20, + paddingHorizontal: 15, + paddingVertical: 10, + marginRight: 10, + }, + sendButton: { + backgroundColor: '#075E54', + borderRadius: 20, + padding: 8, + justifyContent: 'center', + alignItems: 'center', + }, +}); + +export default IndividualChat; \ No newline at end of file diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index c77cac1..1e88e0c 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -28,7 +28,7 @@ export const SocketProvider: React.FC = ({ children }) => { (msg) => { console.log("Send Message", msg); if (socket) { - socket.emit("event:message", { message: msg }); + socket.emit("chat:send", { message: msg }); } }, [socket] From 345a19ff025ecc7ea549a7dab072ddcc7bc5ffbd Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Thu, 3 Jul 2025 13:16:00 +0530 Subject: [PATCH 07/91] configured redis pub/sub architecture with free valkey service to scale chat feature --- Frontend/context/SocketContext.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 1e88e0c..299b4ae 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -43,12 +43,15 @@ export const SocketProvider: React.FC = ({ children }) => { useEffect(() => { // console.log("process.env.EXPO_PUBLIC_BASE_URL", process.env.EXPO_PUBLIC_BASE_URL); const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); - _socket.on("message", onMessageRec); + _socket.on("chat:receive", (data) => { + // data is already an object with a 'message' property + setMessages((prev) => [...prev, data.message]); + }); setSocket(_socket); return () => { - _socket.off("message", onMessageRec); + _socket.off("chat:receive"); _socket.disconnect(); setSocket(undefined); }; From feb26847fa7db81dd88d8b57f57c935ca7cc4624 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Fri, 4 Jul 2025 12:37:30 +0530 Subject: [PATCH 08/91] moved socket connection and disconnect events to AppStateListner to ensure socket disconnection when app is in background --- Frontend/app/(tabs)/chat.tsx | 8 +--- Frontend/app/(tabs)/notifications.tsx | 21 +++++------ Frontend/app/_layout.tsx | 13 +++++-- Frontend/components/AppStateListener.tsx | 38 +++++++++++++++++++ Frontend/context/SocketContext.tsx | 47 +++++++++++------------- 5 files changed, 79 insertions(+), 48 deletions(-) create mode 100644 Frontend/components/AppStateListener.tsx diff --git a/Frontend/app/(tabs)/chat.tsx b/Frontend/app/(tabs)/chat.tsx index 45ab537..0a03e95 100644 --- a/Frontend/app/(tabs)/chat.tsx +++ b/Frontend/app/(tabs)/chat.tsx @@ -11,7 +11,7 @@ const MessageBubble = ({ text }: { text: string }) => ( ); -const ChatScreen = () => { +const Chat = () => { const { sendMessage, messages } = useSocket(); const [messageInput, setMessageInput] = useState(''); const scrollViewRef = useRef(null); @@ -67,12 +67,6 @@ const ChatScreen = () => { ); }; -const Chat = () => ( - - - -); - const styles = StyleSheet.create({ container: { flex: 1, diff --git a/Frontend/app/(tabs)/notifications.tsx b/Frontend/app/(tabs)/notifications.tsx index 7806e92..be17555 100644 --- a/Frontend/app/(tabs)/notifications.tsx +++ b/Frontend/app/(tabs)/notifications.tsx @@ -1,6 +1,5 @@ import React from 'react'; import { View, Text, StyleSheet, FlatList } from 'react-native'; -import { SocketProvider } from "../../context/SocketContext"; // Sample data for notifications const sampleNotifications = [ @@ -22,17 +21,15 @@ const NotificationsPage = () => { ); return ( - - - Notifications - item.id} - contentContainerStyle={styles.listContent} - /> - - + + Notifications + item.id} + contentContainerStyle={styles.listContent} + /> + ); }; diff --git a/Frontend/app/_layout.tsx b/Frontend/app/_layout.tsx index d0a7cf4..b6dac28 100644 --- a/Frontend/app/_layout.tsx +++ b/Frontend/app/_layout.tsx @@ -4,16 +4,21 @@ import { AuthProvider } from '../context/AuthContext'; import { View } from 'react-native'; import { StatusBar } from 'expo-status-bar'; import Toast from 'react-native-toast-message'; +import { SocketProvider } from '@/context/SocketContext'; +import AppStateListener from '@/components/AppStateListener'; export default function RootLayout() { return ( ); diff --git a/Frontend/components/AppStateListener.tsx b/Frontend/components/AppStateListener.tsx new file mode 100644 index 0000000..38f3bda --- /dev/null +++ b/Frontend/components/AppStateListener.tsx @@ -0,0 +1,38 @@ +import React, { useEffect, useRef, useContext } from 'react'; +import { AppState, AppStateStatus } from 'react-native'; +import { SocketContext } from '@/context/SocketContext'; + +const AppStateListener: React.FC = () => { + const appState = useRef(AppState.currentState); + const socketContext = useContext(SocketContext); + + useEffect(() => { + if (!socketContext) return; + // Connect socket on mount if app is active + if (appState.current === 'active') { + socketContext.connectSocket?.(); + } + const handleAppStateChange = (nextAppState: AppStateStatus) => { + if ( + appState.current.match(/active/) && + nextAppState.match(/inactive|background/) + ) { + socketContext.disconnectSocket?.(); + } + if ( + appState.current.match(/inactive|background/) && + nextAppState === 'active' + ) { + socketContext.connectSocket?.(); + } + appState.current = nextAppState; + }; + const subscription = AppState.addEventListener('change', handleAppStateChange); + return () => { + subscription.remove(); + }; + }, [socketContext]); + return null; +}; + +export default AppStateListener; \ No newline at end of file diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 299b4ae..a380436 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -9,9 +9,11 @@ interface SocketProviderProps { interface ISocketContext { sendMessage: (msg: string) => any; messages: string[]; + connectSocket: () => void; + disconnectSocket: () => void; } -const SocketContext = React.createContext(null); +export const SocketContext = React.createContext(null); export const useSocket = () => { const state = useContext(SocketContext); @@ -24,6 +26,24 @@ export const SocketProvider: React.FC = ({ children }) => { const [socket, setSocket] = useState(); const [messages, setMessages] = useState([]); + const connectSocket = useCallback(() => { + if (!socket) { + const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); + _socket.on("chat:receive", (data) => { + setMessages((prev) => [...prev, data.message]); + }); + setSocket(_socket); + } + }, [socket]); + + const disconnectSocket = useCallback(() => { + if (socket) { + socket.off("chat:receive"); + socket.disconnect(); + setSocket(undefined); + } + }, [socket]); + const sendMessage: ISocketContext["sendMessage"] = useCallback( (msg) => { console.log("Send Message", msg); @@ -34,31 +54,8 @@ export const SocketProvider: React.FC = ({ children }) => { [socket] ); - const onMessageRec = useCallback((msg: string) => { - console.log("From Server Msg Rec", msg); - const { message } = JSON.parse(msg) as { message: string }; - setMessages((prev) => [...prev, message]); - }, []); - - useEffect(() => { - // console.log("process.env.EXPO_PUBLIC_BASE_URL", process.env.EXPO_PUBLIC_BASE_URL); - const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); - _socket.on("chat:receive", (data) => { - // data is already an object with a 'message' property - setMessages((prev) => [...prev, data.message]); - }); - - setSocket(_socket); - - return () => { - _socket.off("chat:receive"); - _socket.disconnect(); - setSocket(undefined); - }; - }, []); - return ( - + {children} ); From 3000e258f95493e07d17b9e392e8a05fac5b42f6 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Fri, 4 Jul 2025 12:53:51 +0530 Subject: [PATCH 09/91] added notifications of successful message delivery --- Backend/src/sockets/chat.socket.js | 5 +++++ Frontend/app/(tabs)/notifications.tsx | 21 +++++++++------------ Frontend/context/SocketContext.tsx | 14 +++++++++++++- 3 files changed, 27 insertions(+), 13 deletions(-) diff --git a/Backend/src/sockets/chat.socket.js b/Backend/src/sockets/chat.socket.js index 5a2070e..0a32207 100644 --- a/Backend/src/sockets/chat.socket.js +++ b/Backend/src/sockets/chat.socket.js @@ -2,5 +2,10 @@ module.exports = (io, socket, pub) => { socket.on("chat:send", (data) => { console.log("Received chat:", data); pub.publish("CHAT_MESSAGES", JSON.stringify(data)); + console.log("Emitting message:delivered", data); + socket.emit("message:delivered", { + message: data.message, + timestamp: new Date().toISOString(), + }); }); }; diff --git a/Frontend/app/(tabs)/notifications.tsx b/Frontend/app/(tabs)/notifications.tsx index be17555..dc315f2 100644 --- a/Frontend/app/(tabs)/notifications.tsx +++ b/Frontend/app/(tabs)/notifications.tsx @@ -1,17 +1,13 @@ -import React from 'react'; +import React, { useEffect } from 'react'; import { View, Text, StyleSheet, FlatList } from 'react-native'; - -// Sample data for notifications -const sampleNotifications = [ - { id: '1', message: 'You have a new message from John Doe.', timestamp: '2023-10-27T10:00:00Z' }, - { id: '2', message: 'Your help offer for gardening has been accepted.', timestamp: '2023-10-27T09:30:00Z' }, - { id: '3', message: 'New help request posted near your location.', timestamp: '2023-10-27T08:00:00Z' }, - { id: '4', message: 'Reminder: Community cleanup tomorrow.', timestamp: '2023-10-26T18:00:00Z' }, -]; +import { useSocket } from '../../context/SocketContext'; const NotificationsPage = () => { - // In a real app, you would fetch notifications from an API - const notifications = sampleNotifications; + const { notifications, clearNotifications } = useSocket(); + + useEffect(() => { + // clearNotifications(); // Clear notifications on mount (commented for debugging) + }, [clearNotifications]); const renderNotificationItem = ({ item }: { item: any }) => ( @@ -26,8 +22,9 @@ const NotificationsPage = () => { item.id} + keyExtractor={(_, idx) => idx.toString()} contentContainerStyle={styles.listContent} + ListEmptyComponent={No notifications yet.} /> ); diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index a380436..5b29ad9 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -11,6 +11,8 @@ interface ISocketContext { messages: string[]; connectSocket: () => void; disconnectSocket: () => void; + notifications: { message: string; timestamp: string }[]; + clearNotifications: () => void; } export const SocketContext = React.createContext(null); @@ -25,6 +27,7 @@ export const useSocket = () => { export const SocketProvider: React.FC = ({ children }) => { const [socket, setSocket] = useState(); const [messages, setMessages] = useState([]); + const [notifications, setNotifications] = useState<{ message: string; timestamp: string }[]>([]); const connectSocket = useCallback(() => { if (!socket) { @@ -32,6 +35,10 @@ export const SocketProvider: React.FC = ({ children }) => { _socket.on("chat:receive", (data) => { setMessages((prev) => [...prev, data.message]); }); + _socket.on("message:delivered", (data) => { + console.log("Received message:delivered", data); + setNotifications((prev) => [data, ...prev]); + }); setSocket(_socket); } }, [socket]); @@ -39,6 +46,7 @@ export const SocketProvider: React.FC = ({ children }) => { const disconnectSocket = useCallback(() => { if (socket) { socket.off("chat:receive"); + socket.off("message:delivered"); socket.disconnect(); setSocket(undefined); } @@ -54,8 +62,12 @@ export const SocketProvider: React.FC = ({ children }) => { [socket] ); + const clearNotifications = useCallback(() => { + setNotifications([]); + }, []); + return ( - + {children} ); From 31f11c894af4489aae02033f2ea74d7f5e4795ab Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Fri, 4 Jul 2025 13:14:21 +0530 Subject: [PATCH 10/91] error handling and console logs for socket connection and disconnect events in socket context --- Frontend/context/SocketContext.tsx | 54 ++++++++++++++++++++++++++++-- 1 file changed, 52 insertions(+), 2 deletions(-) diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 5b29ad9..73d056a 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -1,6 +1,7 @@ "use client"; import React, { useCallback, useContext, useEffect, useState } from "react"; import { io, Socket } from "socket.io-client"; +import Toast from 'react-native-toast-message'; interface SocketProviderProps { children?: React.ReactNode; @@ -13,6 +14,7 @@ interface ISocketContext { disconnectSocket: () => void; notifications: { message: string; timestamp: string }[]; clearNotifications: () => void; + connectionStatus: string; } export const SocketContext = React.createContext(null); @@ -28,10 +30,43 @@ export const SocketProvider: React.FC = ({ children }) => { const [socket, setSocket] = useState(); const [messages, setMessages] = useState([]); const [notifications, setNotifications] = useState<{ message: string; timestamp: string }[]>([]); + const [connectionStatus, setConnectionStatus] = useState('disconnected'); + const isActiveRef = React.useRef(true); // Track if app is active const connectSocket = useCallback(() => { if (!socket) { - const _socket = io(process.env.EXPO_PUBLIC_BASE_URL); + const _socket = io(process.env.EXPO_PUBLIC_BASE_URL, { + autoConnect: true, + reconnection: true, + reconnectionAttempts: 5, + reconnectionDelay: 1000, + }); + _socket.on("connect", () => { + console.log("[Socket] Connected"); + setConnectionStatus('connected'); + }); + _socket.on("disconnect", (reason) => { + console.log("[Socket] Disconnected", reason); + setConnectionStatus('disconnected'); + }); + _socket.on("reconnect_attempt", (attempt) => { + console.log("[Socket] Reconnecting, attempt", attempt); + setConnectionStatus('reconnecting'); + }); + _socket.on("error", (err) => { + console.log("[Socket] Error", err); + setConnectionStatus('error'); + if (Toast && Toast.show) { + Toast.show({ type: 'error', text1: 'Socket Error', text2: err?.message || String(err) }); + } + }); + _socket.on("connect_error", (err) => { + console.log("[Socket] Connect Error", err); + setConnectionStatus('error'); + if (Toast && Toast.show) { + Toast.show({ type: 'error', text1: 'Socket Connect Error', text2: err?.message || String(err) }); + } + }); _socket.on("chat:receive", (data) => { setMessages((prev) => [...prev, data.message]); }); @@ -40,16 +75,31 @@ export const SocketProvider: React.FC = ({ children }) => { setNotifications((prev) => [data, ...prev]); }); setSocket(_socket); + } else { + // If socket exists but is not connected, and app is active, reconnect + if (socket && socket.disconnected && isActiveRef.current) { + socket.io.opts.autoConnect = true; + socket.connect(); + } } + isActiveRef.current = true; }, [socket]); const disconnectSocket = useCallback(() => { if (socket) { socket.off("chat:receive"); socket.off("message:delivered"); + socket.off("connect"); + socket.off("disconnect"); + socket.off("reconnect_attempt"); + socket.off("error"); + // Prevent auto-reconnect when app is backgrounded + socket.io.opts.autoConnect = false; socket.disconnect(); + setConnectionStatus('disconnected'); setSocket(undefined); } + isActiveRef.current = false; }, [socket]); const sendMessage: ISocketContext["sendMessage"] = useCallback( @@ -67,7 +117,7 @@ export const SocketProvider: React.FC = ({ children }) => { }, []); return ( - + {children} ); From facfd8d3443c4fe04ed05e1db41eb3bd42b38370 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Fri, 10 Oct 2025 17:03:29 +0530 Subject: [PATCH 11/91] update --- .gitignore | 55 +++--- Backend/.gitignore | 2 - Backend/KAFKA_SETUP.md | 205 ++++++++++++++++++++++ Backend/package-lock.json | 93 ++++++++++ Backend/package.json | 2 + Backend/src/app.js | 2 + Backend/src/config/kafka.js | 113 ++++++++++++ Backend/src/index.js | 62 ++++++- Backend/src/models/Message.js | 62 +++++++ Backend/src/routes/messageRoutes.js | 171 ++++++++++++++++++ Backend/src/services/kafkaConsumer.js | 128 ++++++++++++++ Backend/src/services/messageService.js | 230 +++++++++++++++++++++++++ Backend/src/sockets/chat.socket.js | 149 +++++++++++++++- Backend/test-db.js | 44 +++++ Backend/test-kafka.js | 65 +++++++ Backend/test-websocket.js | 52 ++++++ 16 files changed, 1395 insertions(+), 40 deletions(-) delete mode 100644 Backend/.gitignore create mode 100644 Backend/KAFKA_SETUP.md create mode 100644 Backend/src/config/kafka.js create mode 100644 Backend/src/models/Message.js create mode 100644 Backend/src/routes/messageRoutes.js create mode 100644 Backend/src/services/kafkaConsumer.js create mode 100644 Backend/src/services/messageService.js create mode 100644 Backend/test-db.js create mode 100644 Backend/test-kafka.js create mode 100644 Backend/test-websocket.js diff --git a/.gitignore b/.gitignore index 96072dd..2add8cc 100644 --- a/.gitignore +++ b/.gitignore @@ -1,26 +1,29 @@ -# Root-level .env file -.env - -# Frontend -/Frontend/node_modules -Frontend/.env - -# Backend -/Backend/node_modules -Backend/.env - -# Optional: ignore build artifacts if you're building React -Frontend/build/ - -# Optional: logs -*.log -logs/ -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# OS / Editor specific -.DS_Store -.vscode/ -.idea/ -*.swp +# Root-level .env file +.env + +# Frontend +/Frontend/node_modules +Frontend/.env + +# Backend +/Backend/node_modules +Backend/.env + +# Optional: ignore build artifacts if you're building React +Frontend/build/ + +# Optional: logs +*.log +logs/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# OS / Editor specific +.DS_Store +.vscode/ +.idea/ +*.swp + +# CA certificate Kafka +Backend/src/config/ca.pem diff --git a/Backend/.gitignore b/Backend/.gitignore deleted file mode 100644 index 1dcef2d..0000000 --- a/Backend/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -.env \ No newline at end of file diff --git a/Backend/KAFKA_SETUP.md b/Backend/KAFKA_SETUP.md new file mode 100644 index 0000000..fbf49a4 --- /dev/null +++ b/Backend/KAFKA_SETUP.md @@ -0,0 +1,205 @@ +# Kafka Setup Guide for MayaCode Chat + +## Prerequisites + +1. **Kafka Cluster** - You need a running Kafka cluster +2. **MongoDB** - Already configured in your project +3. **Redis/Valkey** - Already configured in your project + +## Environment Variables + +Add these to your `.env` file based on your Kafka setup: + +### **Local Kafka (Default)** +```env +# Kafka Configuration +KAFKA_BROKERS=localhost:9092 +``` + +### **Confluent Cloud** +```env +# Kafka Configuration +KAFKA_BROKERS=pkc-xxxxx.us-east-1.aws.confluent.cloud:9092 +KAFKA_SASL_USERNAME=your_api_key +KAFKA_SASL_PASSWORD=your_api_secret +KAFKA_SASL_MECHANISM=plain +KAFKA_SSL_ENABLED=true +KAFKA_SSL_REJECT_UNAUTHORIZED=false +``` + +### **AWS MSK** +```env +# Kafka Configuration +KAFKA_BROKERS=b-1.xxxxx.kafka.us-east-1.amazonaws.com:9092,b-2.xxxxx.kafka.us-east-1.amazonaws.com:9092 +KAFKA_SASL_USERNAME=AWS +KAFKA_SASL_PASSWORD=your_aws_credentials +KAFKA_SASL_MECHANISM=aws_msk_iam +KAFKA_SSL_ENABLED=true +``` + +### **Azure Event Hubs** +```env +# Kafka Configuration +KAFKA_BROKERS=your-namespace.servicebus.windows.net:9093 +KAFKA_SASL_USERNAME=$ConnectionString +KAFKA_SASL_PASSWORD=Endpoint=sb://your-namespace.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=your-key +KAFKA_SASL_MECHANISM=plain +KAFKA_SSL_ENABLED=true +``` + +### **Custom Topics (Optional)** +```env +# Custom topic names (optional) +KAFKA_TOPIC_CHAT_MESSAGES=your-chat-messages-topic +KAFKA_TOPIC_MESSAGE_PERSISTENCE=your-message-persistence-topic +KAFKA_CONSUMER_GROUP_ID=your-consumer-group +``` + +## Kafka Installation Options + +### Option 1: Local Kafka Setup + +1. **Install Kafka locally:** + ```bash + # Download Kafka + wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz + tar -xzf kafka_2.13-3.6.1.tgz + cd kafka_2.13-3.6.1 + + # Start Zookeeper + bin/zookeeper-server-start.sh config/zookeeper.properties + + # Start Kafka (in new terminal) + bin/kafka-server-start.sh config/server.properties + ``` + +2. **Create topics:** + ```bash + bin/kafka-topics.sh --create --topic chat-messages --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1 + ``` + +### Option 2: Docker Kafka Setup + +1. **Create docker-compose.yml:** + ```yaml + version: '3' + services: + zookeeper: + image: confluentinc/cp-zookeeper:latest + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + ports: + - "2181:2181" + + kafka: + image: confluentinc/cp-kafka:latest + depends_on: + - zookeeper + ports: + - "9092:9092" + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_AUTO_CREATE_TOPICS_ENABLE: true + ``` + +2. **Start services:** + ```bash + docker-compose up -d + ``` + +### Option 3: Cloud Kafka (Recommended for Production) + +- **Confluent Cloud** +- **AWS MSK** +- **Azure Event Hubs** + +## Installation + +1. **Install dependencies:** + ```bash + cd Backend + npm install + ``` + +2. **Start the server:** + ```bash + npm run dev + ``` + +## Architecture Overview + +``` +ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” +│ Mobile │ │ Backend │ │ Kafka │ │ MongoDB │ +│ Client │◄──►│ Server │◄──►│ (Buffer) │◄──►│ (Storage) │ +ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ + │ + ā–¼ + ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā” + │ Redis │ + │ (Online) │ + ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜ +``` + +## Message Flow + +1. **User sends message** → Backend receives via Socket.IO +2. **Backend** → Sends to Kafka for persistence (async) +3. **Backend** → Sends to Redis for immediate delivery to online users +4. **Kafka Consumer** → Processes messages and stores in MongoDB +5. **Offline users** → Get messages when they come online via HTTP API + +## API Endpoints + +- `GET /api/messages/room/:roomId` - Get messages for a room +- `GET /api/messages/unread/:userId` - Get unread messages for a user +- `POST /api/messages/delivered` - Mark messages as delivered +- `PUT /api/messages/:messageId/status` - Update message status +- `GET /api/messages/stats/:roomId` - Get message statistics + +## Testing + +1. **Start Kafka and MongoDB** +2. **Start the backend server** +3. **Connect a client via Socket.IO** +4. **Send messages and verify they're stored in MongoDB** + +## Monitoring + +Check the console logs for: +- āœ… Kafka producer/consumer connection status +- šŸ“¤ Messages sent to Kafka +- šŸ“„ Messages received from Kafka +- šŸ’¾ Messages saved to MongoDB +- šŸ“ Message status updates + +## Troubleshooting + +1. **Kafka connection issues:** + - Check if Kafka is running + - Verify KAFKA_BROKERS environment variable + - Check network connectivity + - Verify authentication credentials (if using cloud) + +2. **MongoDB connection issues:** + - Verify MONGODB_URI + - Check MongoDB is running + +3. **Message not persisting:** + - Check Kafka consumer logs + - Verify MongoDB connection + - Check message buffer flushing + +4. **SSL/TLS issues:** + - Verify SSL certificates + - Check KAFKA_SSL_ENABLED setting + - Ensure proper SSL configuration for your provider + +5. **Authentication issues:** + - Verify SASL credentials + - Check KAFKA_SASL_MECHANISM + - Ensure proper authentication setup for your provider \ No newline at end of file diff --git a/Backend/package-lock.json b/Backend/package-lock.json index c5e8c82..cbbb3af 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -15,10 +15,12 @@ "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", + "kafkajs": "^2.2.4", "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "socket.io": "^4.8.1", + "socket.io-client": "^4.8.1", "winston": "^3.17.0" }, "devDependencies": { @@ -594,6 +596,42 @@ "node": ">=10.2.0" } }, + "node_modules/engine.io-client": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", + "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/engine.io-parser": { "version": "5.2.3", "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", @@ -1144,6 +1182,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/kafkajs": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/kafkajs/-/kafkajs-2.2.4.tgz", + "integrity": "sha512-j/YeapB1vfPT2iOIUn/vxdyKEuhuY2PxMBvf5JWux6iSaukAccrMtXEY/Lb7OvavDhOWME589bpLrEdnVHjfjA==", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, "node_modules/kareem": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", @@ -2021,6 +2068,44 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/socket.io-client": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.8.1.tgz", + "integrity": "sha512-hJVXfu3E28NmzGk8o1sHhN3om52tRvwYeidbj7xKy2eIIse5IoKX3USlS6Tqt3BHAtflLIkCQBkzVrEEfWUyYQ==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.6.1", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, "node_modules/socket.io-parser": { "version": "4.2.4", "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", @@ -2349,6 +2434,14 @@ "optional": true } } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", + "integrity": "sha512-TEU+nJVUUnA4CYJFLvK5X9AOeH4KvDvhIfm0vV1GaQRtchnG0hgK5p8hw/xjv8cunWYCsiPCSDzObPyhEwq3KQ==", + "engines": { + "node": ">=0.4.0" + } } } } diff --git a/Backend/package.json b/Backend/package.json index 8f0ebbe..8d580db 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -17,10 +17,12 @@ "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", + "kafkajs": "^2.2.4", "mongoose": "^8.15.1", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "socket.io": "^4.8.1", + "socket.io-client": "^4.8.1", "winston": "^3.17.0" }, "devDependencies": { diff --git a/Backend/src/app.js b/Backend/src/app.js index 328794d..3fde3b1 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -10,6 +10,7 @@ require("./config/passport.js"); // Load passport config const postRoutes = require("./routes/postRoutes.js"); const userRoutes = require("./routes/userRoutes.js"); const authRoutes = require("./routes/authRoutes.js"); +const messageRoutes = require("./routes/messageRoutes.js"); require("dotenv").config() // console.log("Client ID:", process.env.GOOGLE_CLIENT_ID); @@ -40,6 +41,7 @@ app.use(passport.session()); app.use("/api/posts", postRoutes); app.use("/api/users", userRoutes); app.use("/auth", authRoutes); +app.use("/api/messages", messageRoutes); // Error middleware app.use(errorHandler); diff --git a/Backend/src/config/kafka.js b/Backend/src/config/kafka.js new file mode 100644 index 0000000..7acc476 --- /dev/null +++ b/Backend/src/config/kafka.js @@ -0,0 +1,113 @@ +const { Kafka } = require('kafkajs'); +const fs = require('fs'); +const path = require('path'); + +// Create Kafka instance +const kafka = new Kafka({ + brokers: [process.env.KAFKA_BROKERS], + ssl: { + ca: [process.env.KAFKA_CA_CERTIFICATE], + rejectUnauthorized: false, + }, + sasl: { + mechanism: "plain", + username: process.env.KAFKA_SASL_USERNAME, + password: process.env.KAFKA_SASL_PASSWORD + } +}); + +// Producer for sending messages to Kafka +const producer = kafka.producer({ + allowAutoTopicCreation: true, + transactionTimeout: 30000 +}); + +// Consumer for processing messages from Kafka +const consumer = kafka.consumer({ + groupId: process.env.KAFKA_CONSUMER_GROUP_ID || 'mayacode-chat-group', + retry: { + initialRetryTime: 100, + retries: 8 + } +}); + +// Topic names +const TOPICS = { + CHAT_MESSAGES: process.env.KAFKA_TOPIC_CHAT_MESSAGES || 'chat-messages', + MESSAGE_PERSISTENCE: process.env.KAFKA_TOPIC_MESSAGE_PERSISTENCE || 'message-persistence' +}; + +// Initialize producer +const initializeProducer = async () => { + try { + await producer.connect(); + console.log('āœ… Kafka producer connected successfully'); + console.log(`šŸ“” Kafka brokers: ${process.env.KAFKA_BROKERS || 'localhost:9092'}`); + if (process.env.KAFKA_SASL_USERNAME) { + console.log(`šŸ” Kafka authentication: ${process.env.KAFKA_SASL_USERNAME}`); + } + } catch (error) { + console.error('āŒ Failed to connect Kafka producer:', error); + throw error; + } +}; + +// Initialize consumer +const initializeConsumer = async () => { + try { + await consumer.connect(); + console.log('āœ… Kafka consumer connected successfully'); + } catch (error) { + console.error('āŒ Failed to connect Kafka consumer:', error); + throw error; + } +}; + +// Send message to Kafka +const sendMessage = async (topic, message, key = null) => { + try { + await producer.send({ + topic, + messages: [{ + key: key || message.roomId || 'default', + value: JSON.stringify(message) + }] + }); + console.log(`šŸ“¤ Message sent to Kafka topic: ${topic}`); + } catch (error) { + console.error('āŒ Failed to send message to Kafka:', error); + throw error; + } +}; + +// Disconnect producer +const disconnectProducer = async () => { + try { + await producer.disconnect(); + console.log('āœ… Kafka producer disconnected'); + } catch (error) { + console.error('āŒ Failed to disconnect Kafka producer:', error); + } +}; + +// Disconnect consumer +const disconnectConsumer = async () => { + try { + await consumer.disconnect(); + console.log('āœ… Kafka consumer disconnected'); + } catch (error) { + console.error('āŒ Failed to disconnect Kafka consumer:', error); + } +}; + +module.exports = { + kafka, + producer, + consumer, + TOPICS, + initializeProducer, + initializeConsumer, + sendMessage, + disconnectProducer, + disconnectConsumer +}; \ No newline at end of file diff --git a/Backend/src/index.js b/Backend/src/index.js index 4cb6b71..a440b6e 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,12 +1,66 @@ const http = require("http"); const app = require("./app.js"); const { setupSocket } = require("./sockets/index.js"); +const { initializeProducer, initializeConsumer } = require("./config/kafka"); +const kafkaConsumerService = require("./services/kafkaConsumer"); require("dotenv").config() + const PORT = process.env.PORT || 8000; const server = http.createServer(app); -setupSocket(server); // Attach socket logic +// Initialize Kafka and start services +async function initializeServices() { + try { + console.log("šŸš€ Initializing MayaCode Chat Services..."); + + // Initialize Kafka producer + await initializeProducer(); + + // Initialize Kafka consumer + await initializeConsumer(); + + // Start Kafka consumer service + await kafkaConsumerService.startConsuming(); + + // Start message service buffer flushing + const messageService = require("./services/messageService"); + messageService.startBufferFlushing(); + + console.log("āœ… All services initialized successfully"); + + // Setup socket after services are ready + setupSocket(server); + + } catch (error) { + console.error("āŒ Failed to initialize services:", error); + process.exit(1); + } +} + +// Graceful shutdown +process.on('SIGINT', async () => { + console.log("\nšŸ›‘ Shutting down gracefully..."); + + try { + // Stop Kafka consumer + await kafkaConsumerService.stopConsuming(); + + // Flush any remaining messages + const messageService = require("./services/messageService"); + await messageService.flushBuffer(); + + console.log("āœ… Graceful shutdown completed"); + process.exit(0); + } catch (error) { + console.error("āŒ Error during shutdown:", error); + process.exit(1); + } +}); + +// Start the server +server.listen(PORT, () => { + console.log(`🌐 Server running on PORT: ${PORT}`); +}); -server.listen(PORT, () => - console.log(`Server running on PORT:${PORT}`) -); +// Initialize all services +initializeServices(); diff --git a/Backend/src/models/Message.js b/Backend/src/models/Message.js new file mode 100644 index 0000000..e4f0e2b --- /dev/null +++ b/Backend/src/models/Message.js @@ -0,0 +1,62 @@ +const mongoose = require('mongoose'); + +const messageSchema = new mongoose.Schema({ + messageId: { + type: String, + required: true, + unique: true, + index: true + }, + roomId: { + type: String, + required: true, + index: true + }, + senderId: { + type: String, + required: true, + index: true + }, + content: { + type: String, + required: true + }, + messageType: { + type: String, + enum: ['text', 'image', 'file', 'audio'], + default: 'text' + }, + status: { + type: String, + enum: ['pending', 'sent', 'delivered', 'read', 'failed'], + default: 'pending' + }, + recipients: [{ + type: String, + index: true + }], + metadata: { + requiresDelivery: { + type: Boolean, + default: true + }, + priority: { + type: String, + enum: ['normal', 'high', 'urgent'], + default: 'normal' + } + } +}, { + timestamps: true +}); + +// Indexes for better query performance +messageSchema.index({ roomId: 1, createdAt: -1 }); +messageSchema.index({ senderId: 1, createdAt: -1 }); +messageSchema.index({ status: 1, createdAt: -1 }); +messageSchema.index({ recipients: 1, status: 1 }); + +// TTL index to automatically delete old messages (90 days) +messageSchema.index({ createdAt: 1 }, { expireAfterSeconds: 7776000 }); + +module.exports = mongoose.model('Message', messageSchema); \ No newline at end of file diff --git a/Backend/src/routes/messageRoutes.js b/Backend/src/routes/messageRoutes.js new file mode 100644 index 0000000..0fc4796 --- /dev/null +++ b/Backend/src/routes/messageRoutes.js @@ -0,0 +1,171 @@ +const express = require('express'); +const router = express.Router(); +const messageService = require('../services/messageService'); + +// Get messages for a specific room +router.get('/room/:roomId', async (req, res) => { + try { + const { roomId } = req.params; + const { limit = 50, offset = 0 } = req.query; + + console.log(`šŸ“„ Getting messages for room: ${roomId}, limit: ${limit}, offset: ${offset}`); + + const messages = await messageService.getMessagesByRoom( + roomId, + parseInt(limit), + parseInt(offset) + ); + + res.json({ + success: true, + data: messages, + pagination: { + limit: parseInt(limit), + offset: parseInt(offset), + count: messages.length + } + }); + + } catch (error) { + console.error('āŒ Error getting room messages:', error); + res.status(500).json({ + success: false, + message: 'Failed to get messages', + error: error.message + }); + } +}); + +// Get unread messages for a user +router.get('/unread/:userId', async (req, res) => { + try { + const { userId } = req.params; + const { limit = 100 } = req.query; + + console.log(`šŸ“„ Getting unread messages for user: ${userId}`); + + const messages = await messageService.getUnreadMessages(userId, parseInt(limit)); + + res.json({ + success: true, + data: messages, + count: messages.length + }); + + } catch (error) { + console.error('āŒ Error getting unread messages:', error); + res.status(500).json({ + success: false, + message: 'Failed to get unread messages', + error: error.message + }); + } +}); + +// Mark messages as delivered for a user +router.post('/delivered', async (req, res) => { + try { + const { userId, messageIds } = req.body; + + if (!userId || !messageIds || !Array.isArray(messageIds)) { + return res.status(400).json({ + success: false, + message: 'userId and messageIds array are required' + }); + } + + console.log(`šŸ“ Marking ${messageIds.length} messages as delivered for user: ${userId}`); + + await messageService.markMessagesAsDelivered(userId, messageIds); + + res.json({ + success: true, + message: `Marked ${messageIds.length} messages as delivered` + }); + + } catch (error) { + console.error('āŒ Error marking messages as delivered:', error); + res.status(500).json({ + success: false, + message: 'Failed to mark messages as delivered', + error: error.message + }); + } +}); + +// Update message status +router.put('/:messageId/status', async (req, res) => { + try { + const { messageId } = req.params; + const { status } = req.body; + + if (!status) { + return res.status(400).json({ + success: false, + message: 'status is required' + }); + } + + console.log(`šŸ“ Updating message status: ${messageId} -> ${status}`); + + await messageService.updateMessageStatus(messageId, status); + + res.json({ + success: true, + message: 'Message status updated successfully' + }); + + } catch (error) { + console.error('āŒ Error updating message status:', error); + res.status(500).json({ + success: false, + message: 'Failed to update message status', + error: error.message + }); + } +}); + +// Get message statistics +router.get('/stats/:roomId', async (req, res) => { + try { + const { roomId } = req.params; + const Message = require('../models/Message'); + + const stats = await Message.aggregate([ + { $match: { roomId } }, + { + $group: { + _id: null, + totalMessages: { $sum: 1 }, + totalDelivered: { + $sum: { $cond: [{ $eq: ['$status', 'delivered'] }, 1, 0] } + }, + totalRead: { + $sum: { $cond: [{ $eq: ['$status', 'read'] }, 1, 0] } + } + } + } + ]); + + const result = stats[0] || { + totalMessages: 0, + totalDelivered: 0, + totalRead: 0 + }; + + res.json({ + success: true, + data: result + }); + + } catch (error) { + console.error('āŒ Error getting message stats:', error); + res.status(500).json({ + success: false, + message: 'Failed to get message statistics', + error: error.message + }); + } +}); + +module.exports = router; \ No newline at end of file diff --git a/Backend/src/services/kafkaConsumer.js b/Backend/src/services/kafkaConsumer.js new file mode 100644 index 0000000..e40600f --- /dev/null +++ b/Backend/src/services/kafkaConsumer.js @@ -0,0 +1,128 @@ +const { consumer, TOPICS } = require('../config/kafka'); +const messageService = require('./messageService'); + +class KafkaConsumerService { + constructor() { + this.isRunning = false; + this.messageBuffer = []; + this.batchSize = 50; + this.flushInterval = 2000; // 2 seconds + } + + // Start consuming messages from Kafka + async startConsuming() { + if (this.isRunning) { + console.log('āš ļø Kafka consumer is already running'); + return; + } + + try { + // Subscribe to chat messages topic + await consumer.subscribe({ + topic: TOPICS.CHAT_MESSAGES, + fromBeginning: false // Start from latest messages + }); + + console.log(`šŸ“„ Subscribed to Kafka topic: ${TOPICS.CHAT_MESSAGES}`); + + // Start consuming messages + await consumer.run({ + eachMessage: async ({ topic, partition, message }) => { + try { + console.log(`šŸ“„ Raw Kafka message received:`, message.value.toString()); + const messageData = JSON.parse(message.value.toString()); + console.log(`šŸ“„ Parsed message from Kafka: ${messageData.id}`); + + // Add to buffer for batch processing + this.addToBuffer(messageData); + } catch (error) { + console.error('āŒ Error processing Kafka message:', error); + } + } + }); + + this.isRunning = true; + console.log('āœ… Kafka consumer started successfully'); + + // Start periodic buffer flushing + this.startBufferFlushing(); + + } catch (error) { + console.error('āŒ Failed to start Kafka consumer:', error); + throw error; + } + } + + // Stop consuming messages + async stopConsuming() { + if (!this.isRunning) { + console.log('āš ļø Kafka consumer is not running'); + return; + } + + try { + // Flush any remaining messages + await this.flushBuffer(); + + // Disconnect consumer + await consumer.disconnect(); + + this.isRunning = false; + console.log('āœ… Kafka consumer stopped successfully'); + } catch (error) { + console.error('āŒ Failed to stop Kafka consumer:', error); + throw error; + } + } + + // Add message to buffer + addToBuffer(messageData) { + this.messageBuffer.push(messageData); + + // Flush if buffer is full + if (this.messageBuffer.length >= this.batchSize) { + this.flushBuffer(); + } + } + + // Flush message buffer to MongoDB + async flushBuffer() { + if (this.messageBuffer.length === 0) return; + + const messagesToProcess = [...this.messageBuffer]; + this.messageBuffer = []; + + try { + console.log(`šŸ’¾ Processing ${messagesToProcess.length} messages from buffer`); + + // Use batch processing for better performance + await messageService.batchProcessMessages(messagesToProcess); + + console.log(`āœ… Successfully processed ${messagesToProcess.length} messages`); + } catch (error) { + console.error('āŒ Failed to process message buffer:', error); + + // Could implement retry logic or dead letter queue here + // For now, we'll log the error and continue + } + } + + // Start periodic buffer flushing + startBufferFlushing() { + setInterval(() => { + this.flushBuffer(); + }, this.flushInterval); + } + + // Get consumer status + getStatus() { + return { + isRunning: this.isRunning, + bufferSize: this.messageBuffer.length, + batchSize: this.batchSize, + flushInterval: this.flushInterval + }; + } +} + +module.exports = new KafkaConsumerService(); \ No newline at end of file diff --git a/Backend/src/services/messageService.js b/Backend/src/services/messageService.js new file mode 100644 index 0000000..2a69b0a --- /dev/null +++ b/Backend/src/services/messageService.js @@ -0,0 +1,230 @@ +const Message = require('../models/Message'); +const { sendMessage, TOPICS } = require('../config/kafka'); + +class MessageService { + constructor() { + this.messageBuffer = []; + this.batchSize = 50; + this.flushInterval = 2000; // 2 seconds + } + + // Send message to Kafka for processing + async sendMessageToKafka(messageData) { + try { + const message = { + id: this.generateMessageId(), + roomId: messageData.roomId || 'general', + senderId: messageData.senderId || 'anonymous', + content: messageData.message, + messageType: messageData.messageType || 'text', + status: 'pending', + recipients: messageData.recipients || [], + metadata: { + requiresDelivery: true, + priority: messageData.priority || 'normal' + }, + timestamp: new Date().toISOString() + }; + + // Send to Kafka for persistence + await sendMessage(TOPICS.CHAT_MESSAGES, message, message.roomId); + + console.log(`šŸ“¤ Message sent to Kafka: ${message.id}`); + return message; + } catch (error) { + console.error('āŒ Failed to send message to Kafka:', error); + throw error; + } + } + + // Process messages from Kafka and store in MongoDB + async processMessageFromKafka(messageData) { + try { + console.log(`šŸ’¾ Processing message for MongoDB:`, messageData); + const message = new Message({ + _id: messageData.id, + roomId: messageData.roomId, + senderId: messageData.senderId, + content: messageData.content, + messageType: messageData.messageType, + status: messageData.status, + recipients: messageData.recipients, + metadata: messageData.metadata + }); + + await message.save(); + console.log(`šŸ’¾ Message saved to MongoDB: ${messageData.id}`); + return message; + } catch (error) { + console.error('āŒ Failed to save message to MongoDB:', error); + throw error; + } + } + + // Batch process messages for better performance + async batchProcessMessages(messages) { + if (messages.length === 0) return; + + try { + console.log(`šŸ’¾ Starting batch processing for ${messages.length} messages`); + console.log(`šŸ’¾ First message data:`, messages[0]); + + const bulkOps = messages.map(msg => ({ + insertOne: { + document: { + messageId: msg.id, // Use messageId instead of _id + roomId: msg.roomId, + senderId: msg.senderId, + content: msg.content, + messageType: msg.messageType, + status: msg.status, + recipients: msg.recipients, + metadata: msg.metadata, + createdAt: new Date(msg.timestamp), + updatedAt: new Date(msg.timestamp) + } + } + })); + + console.log(`šŸ’¾ Bulk operations prepared:`, bulkOps.length); + + const result = await Message.bulkWrite(bulkOps, { ordered: false }); + console.log(`šŸ’¾ Batch write result:`, result); + + // Check for validation errors + if (result.mongoose && result.mongoose.validationErrors) { + console.error('āŒ Validation errors:', result.mongoose.validationErrors); + } + + if (result.insertedCount === 0) { + console.error('āŒ No messages were inserted!'); + // Try individual save to see the exact error + try { + const testMessage = new Message({ + messageId: messages[0].id, + roomId: messages[0].roomId, + senderId: messages[0].senderId, + content: messages[0].content, + messageType: messages[0].messageType, + status: messages[0].status, + recipients: messages[0].recipients, + metadata: messages[0].metadata + }); + await testMessage.save(); + console.log('āœ… Individual save succeeded'); + } catch (individualError) { + console.error('āŒ Individual save failed:', individualError.message); + } + } + + console.log(`šŸ’¾ Batch saved ${messages.length} messages to MongoDB`); + } catch (error) { + console.error('āŒ Failed to batch save messages:', error); + console.error('āŒ Error details:', error.message); + if (error.writeErrors) { + console.error('āŒ Write errors:', error.writeErrors); + } + throw error; + } + } + + // Get messages for a room + async getMessagesByRoom(roomId, limit = 50, offset = 0) { + try { + const messages = await Message.find({ roomId }) + .sort({ createdAt: -1 }) + .skip(offset) + .limit(limit) + .lean(); + + return messages.reverse(); // Return in chronological order + } catch (error) { + console.error('āŒ Failed to get messages by room:', error); + throw error; + } + } + + // Get unread messages for a user + async getUnreadMessages(userId, limit = 100) { + try { + const messages = await Message.find({ + recipients: userId, + status: { $ne: 'delivered' } + }) + .sort({ createdAt: 1 }) + .limit(limit) + .lean(); + + return messages; + } catch (error) { + console.error('āŒ Failed to get unread messages:', error); + throw error; + } + } + + // Update message status + async updateMessageStatus(messageId, status) { + try { + await Message.findByIdAndUpdate(messageId, { status }); + console.log(`šŸ“ Updated message status: ${messageId} -> ${status}`); + } catch (error) { + console.error('āŒ Failed to update message status:', error); + throw error; + } + } + + // Mark messages as delivered for a user + async markMessagesAsDelivered(userId, messageIds) { + try { + await Message.updateMany( + { + _id: { $in: messageIds }, + recipients: userId + }, + { status: 'delivered' } + ); + console.log(`šŸ“ Marked ${messageIds.length} messages as delivered for user: ${userId}`); + } catch (error) { + console.error('āŒ Failed to mark messages as delivered:', error); + throw error; + } + } + + // Generate unique message ID + generateMessageId() { + return `msg_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; + } + + // Add message to buffer for batch processing + addToBuffer(message) { + this.messageBuffer.push(message); + + if (this.messageBuffer.length >= this.batchSize) { + this.flushBuffer(); + } + } + + // Flush message buffer + async flushBuffer() { + if (this.messageBuffer.length === 0) return; + + const messagesToProcess = [...this.messageBuffer]; + this.messageBuffer = []; + + try { + await this.batchProcessMessages(messagesToProcess); + } catch (error) { + console.error('āŒ Failed to flush message buffer:', error); + // Could implement retry logic or dead letter queue here + } + } + + // Start periodic buffer flushing + startBufferFlushing() { + setInterval(() => { + this.flushBuffer(); + }, this.flushInterval); + } +} + +module.exports = new MessageService(); \ No newline at end of file diff --git a/Backend/src/sockets/chat.socket.js b/Backend/src/sockets/chat.socket.js index 0a32207..a8f95c9 100644 --- a/Backend/src/sockets/chat.socket.js +++ b/Backend/src/sockets/chat.socket.js @@ -1,11 +1,144 @@ +const messageService = require('../services/messageService'); + module.exports = (io, socket, pub) => { - socket.on("chat:send", (data) => { - console.log("Received chat:", data); - pub.publish("CHAT_MESSAGES", JSON.stringify(data)); - console.log("Emitting message:delivered", data); - socket.emit("message:delivered", { - message: data.message, - timestamp: new Date().toISOString(), - }); + socket.on("chat:send", async (data) => { + try { + console.log("šŸ“Ø Received chat message:", data); + + // Create message data with additional context + const messageData = { + message: data.message, + roomId: data.roomId || 'general', + senderId: data.senderId || socket.id, + messageType: data.messageType || 'text', + recipients: data.recipients || [], + priority: data.priority || 'normal' + }; + + // Send to Kafka for persistence (async, non-blocking) + const kafkaMessage = await messageService.sendMessageToKafka(messageData); + + // Send to Redis for immediate delivery to online users + pub.publish("CHAT_MESSAGES", JSON.stringify({ + ...data, + id: kafkaMessage.id, + timestamp: kafkaMessage.timestamp + })); + + // Send delivery confirmation to sender + console.log("Message processed and sent to Kafka:", kafkaMessage.id); + socket.emit("message:delivered", { + id: kafkaMessage.id, + message: data.message, + timestamp: kafkaMessage.timestamp, + status: 'sent' + }); + + } catch (error) { + console.error("Error processing chat message:", error); + + // Send error notification to sender + socket.emit("message:error", { + message: "Failed to send message", + error: error.message + }); + } + }); + + // Handle message status updates + socket.on("message:status", async (data) => { + try { + const { messageId, status } = data; + await messageService.updateMessageStatus(messageId, status); + console.log(`Updated message status: ${messageId} -> ${status}`); + } catch (error) { + console.error("Error updating message status:", error); + } + }); + + // Handle user joining a room + socket.on("room:join", async (data) => { + try { + const { roomId, userId } = data; + + // Join the socket room + socket.join(roomId); + + // Store user's room info in socket + socket.roomId = roomId; + socket.userId = userId; + + console.log(`User ${userId} joined room ${roomId}`); + + // Notify others in the room + socket.to(roomId).emit("user:joined", { + userId, + roomId, + timestamp: new Date().toISOString() + }); + + } catch (error) { + console.error("Error joining room:", error); + } + }); + + // Handle user leaving a room + socket.on("room:leave", async (data) => { + try { + const { roomId, userId } = data; + + // Leave the socket room + socket.leave(roomId); + + console.log(`User ${userId} left room ${roomId}`); + + // Notify others in the room + socket.to(roomId).emit("user:left", { + userId, + roomId, + timestamp: new Date().toISOString() + }); + + } catch (error) { + console.error("Error leaving room:", error); + } + }); + + // Handle user coming online + socket.on("user:online", async (data) => { + try { + const { userId } = data; + + // Store user's online status + socket.userId = userId; + + console.log(`User ${userId} is online`); + + // Get unread messages for this user + const unreadMessages = await messageService.getUnreadMessages(userId); + + if (unreadMessages.length > 0) { + console.log(`Sending ${unreadMessages.length} unread messages to user ${userId}`); + + // Send unread messages to user + unreadMessages.forEach(msg => { + socket.emit("chat:receive", { + id: msg._id, + message: msg.content, + senderId: msg.senderId, + roomId: msg.roomId, + timestamp: msg.createdAt, + status: 'delivered' + }); + }); + + // Mark messages as delivered + const messageIds = unreadMessages.map(msg => msg._id); + await messageService.markMessagesAsDelivered(userId, messageIds); + } + + } catch (error) { + console.error("Error handling user online:", error); + } }); }; diff --git a/Backend/test-db.js b/Backend/test-db.js new file mode 100644 index 0000000..22d0288 --- /dev/null +++ b/Backend/test-db.js @@ -0,0 +1,44 @@ +const mongoose = require('mongoose'); +require('dotenv').config(); + +// Connect to MongoDB +mongoose.connect(process.env.MONGODB_URI) + .then(() => console.log('āœ… Connected to MongoDB')) + .catch(err => console.error('āŒ MongoDB connection error:', err)); + +// Import Message model +const Message = require('./src/models/Message'); + +async function testDatabase() { + try { + console.log('🧪 Testing database...'); + + // Get all messages + const allMessages = await Message.find({}).lean(); + console.log(`šŸ“Š Total messages in database: ${allMessages.length}`); + + if (allMessages.length > 0) { + console.log('šŸ“ Sample message:', JSON.stringify(allMessages[0], null, 2)); + } + + // Get messages for test-room-1 + const roomMessages = await Message.find({ roomId: 'test-room-1' }).lean(); + console.log(`šŸ“Š Messages in test-room-1: ${roomMessages.length}`); + + if (roomMessages.length > 0) { + console.log('šŸ“ Room message:', JSON.stringify(roomMessages[0], null, 2)); + } + + // Check for any messages with different roomId + const otherRooms = await Message.distinct('roomId'); + console.log('šŸ  All room IDs in database:', otherRooms); + + } catch (error) { + console.error('āŒ Database test failed:', error); + } finally { + await mongoose.disconnect(); + console.log('šŸ”Œ Disconnected from MongoDB'); + } +} + +testDatabase(); \ No newline at end of file diff --git a/Backend/test-kafka.js b/Backend/test-kafka.js new file mode 100644 index 0000000..aad8123 --- /dev/null +++ b/Backend/test-kafka.js @@ -0,0 +1,65 @@ +const { producer, consumer, TOPICS, initializeProducer, initializeConsumer } = require('./src/config/kafka'); + +async function testKafka() { + try { + console.log('🧪 Testing Kafka connection...'); + + // Initialize producer and consumer + await initializeProducer(); + await initializeConsumer(); + + // Subscribe to topic + await consumer.subscribe({ + topic: TOPICS.CHAT_MESSAGES, + fromBeginning: false + }); + + console.log(`šŸ“„ Subscribed to topic: ${TOPICS.CHAT_MESSAGES}`); + + // Start consuming + await consumer.run({ + eachMessage: async ({ topic, partition, message }) => { + console.log(`šŸ“„ Received message:`, message.value.toString()); + } + }); + + console.log('āœ… Consumer started'); + + // Send a test message + const testMessage = { + id: 'test_msg_123', + roomId: 'test-room', + senderId: 'test-user', + content: 'Test message from Kafka test', + messageType: 'text', + status: 'pending', + recipients: ['user1'], + metadata: { requiresDelivery: true, priority: 'normal' }, + timestamp: new Date().toISOString() + }; + + await producer.send({ + topic: TOPICS.CHAT_MESSAGES, + messages: [{ + key: 'test-key', + value: JSON.stringify(testMessage) + }] + }); + + console.log('šŸ“¤ Test message sent'); + + // Wait a bit for the message to be consumed + setTimeout(async () => { + console.log('šŸ›‘ Stopping test...'); + await consumer.disconnect(); + await producer.disconnect(); + process.exit(0); + }, 3000); + + } catch (error) { + console.error('āŒ Kafka test failed:', error); + process.exit(1); + } +} + +testKafka(); \ No newline at end of file diff --git a/Backend/test-websocket.js b/Backend/test-websocket.js new file mode 100644 index 0000000..b8952dc --- /dev/null +++ b/Backend/test-websocket.js @@ -0,0 +1,52 @@ +const io = require('socket.io-client'); + +// Connect to the WebSocket server +const socket = io('http://localhost:8000', { + transports: ['websocket'] +}); + +console.log('šŸ”Œ Connecting to WebSocket server...'); + +socket.on('connect', () => { + console.log('āœ… Connected to WebSocket server!'); + console.log('Socket ID:', socket.id); + + // Test sending a chat message + const testMessage = { + message: "Hello from test script!", + roomId: "test-room-1", + senderId: "test-user-1", + messageType: "text", + recipients: ["user-2", "user-3"] + }; + + console.log('šŸ“¤ Sending test message:', testMessage); + socket.emit('chat:send', testMessage); +}); + +socket.on('message:delivered', (data) => { + console.log('āœ… Message delivered:', data); +}); + +socket.on('message:error', (data) => { + console.log('āŒ Message error:', data); +}); + +socket.on('chat:receive', (data) => { + console.log('šŸ“Ø Received message:', data); +}); + +socket.on('disconnect', () => { + console.log('šŸ”Œ Disconnected from WebSocket server'); +}); + +socket.on('connect_error', (error) => { + console.log('āŒ Connection error:', error); +}); + +// Disconnect after 5 seconds +setTimeout(() => { + console.log('šŸ”Œ Disconnecting...'); + socket.disconnect(); + process.exit(0); +}, 5000); \ No newline at end of file From 1797385d21849ac86396faf3dea67146c7e67fc6 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 17:15:05 +0530 Subject: [PATCH 12/91] updated the auth method --- Backend/package-lock.json | 118 +++++++++- Backend/package.json | 2 + Backend/src/app.js | 7 +- Backend/src/controllers/authController.js | 271 ++++++++++++++++++++++ Backend/src/index.js | 5 + Backend/src/models/Otp.js | 30 +++ Backend/src/models/User.js | 16 +- Backend/src/routes/authRoutes.js | 37 ++- 8 files changed, 459 insertions(+), 27 deletions(-) create mode 100644 Backend/src/controllers/authController.js create mode 100644 Backend/src/models/Otp.js diff --git a/Backend/package-lock.json b/Backend/package-lock.json index cbbb3af..6ec6dfa 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -15,8 +15,10 @@ "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", + "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", + "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "socket.io": "^4.8.1", @@ -319,6 +321,12 @@ "node": ">=16.20.1" } }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -555,6 +563,15 @@ "node": ">= 0.4" } }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -1182,6 +1199,55 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "license": "MIT", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/jwa": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.2.tgz", + "integrity": "sha512-eeH5JO+21J78qMvTIDdBXidBd6nG2kZjg5Ohz/1fpa28Z4CcsWUzJ1ZZyFq/3z3N17aZy+ZuBoHljASbL1WfOw==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "license": "MIT", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, "node_modules/kafkajs": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/kafkajs/-/kafkajs-2.2.4.tgz", @@ -1212,12 +1278,54 @@ "integrity": "sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==", "license": "MIT" }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==", + "license": "MIT" + }, "node_modules/lodash.isarguments": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", "integrity": "sha512-chi4NHZlZqZD18a0imDHnZPrDeBbTtVN7GXMwuGdRH9qotxAjYs3aVLKc7zNOG9eddR5Ksd8rvFEBc9SsggPpg==", "license": "MIT" }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==", + "license": "MIT" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==", + "license": "MIT" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==", + "license": "MIT" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", + "license": "MIT" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==", + "license": "MIT" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "license": "MIT" + }, "node_modules/logform": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", @@ -1472,6 +1580,15 @@ "node": ">= 0.6" } }, + "node_modules/nodemailer": { + "version": "6.10.1", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.10.1.tgz", + "integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/nodemon": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", @@ -1848,7 +1965,6 @@ "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" diff --git a/Backend/package.json b/Backend/package.json index 8d580db..4b5989d 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -17,8 +17,10 @@ "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", + "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", + "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "socket.io": "^4.8.1", diff --git a/Backend/src/app.js b/Backend/src/app.js index 3fde3b1..9436ec0 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -13,7 +13,12 @@ const authRoutes = require("./routes/authRoutes.js"); const messageRoutes = require("./routes/messageRoutes.js"); require("dotenv").config() -// console.log("Client ID:", process.env.GOOGLE_CLIENT_ID); + +// Set environment variables if not already set +process.env.SMTP_USER = process.env.SMTP_USER || 'rohitgami2003@gmail.com'; +process.env.SMTP_PASS = process.env.SMTP_PASS || 'lfxcczjulqajfxxh'; +process.env.JWT_SECRET_VERIFY = process.env.JWT_SECRET_VERIFY || '8d4e0de1dc4adfkbmf919d3328394d15c96ca'; + connectDB(); const app = express(); diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js new file mode 100644 index 0000000..c874972 --- /dev/null +++ b/Backend/src/controllers/authController.js @@ -0,0 +1,271 @@ +const Otp = require('../models/Otp'); +const nodemailer = require('nodemailer'); +const jwt = require('jsonwebtoken'); +const UserProfile = require('../models/User'); + +const OTP_EXPIRY_MINUTES = 10; + +// Configure nodemailer (use your SMTP credentials) +const transporter = nodemailer.createTransport({ + service: 'gmail', + auth: { + user: process.env.SMTP_USER, + pass: process.env.SMTP_PASS, + }, +}); + +// Check if email is already in use by another user +const checkEmailInUse = async (req, res) => { + const { email } = req.body; + const currentUserId = req.user?.id; // From JWT token if authenticated + + if (!email) { + return res.status(400).json({ message: 'Email is required' }); + } + + try { + const existingUser = await UserProfile.findOne({ email: email.toLowerCase() }); + + if (existingUser) { + // If the user is checking their own email, it's not "in use" + if (currentUserId && existingUser._id.toString() === currentUserId) { + return res.json({ + inUse: false, + message: 'This is your own email address' + }); + } + + return res.json({ + inUse: true, + message: 'Email is already in use by another account' + }); + } + + return res.json({ + inUse: false, + message: 'Email is available' + }); + } catch (err) { + console.error('checkEmailInUse error:', err); + res.status(500).json({ message: 'Failed to check email availability' }); + } +}; + +const requestOtp = async (req, res) => { + const { email } = req.body; + + if (!email) { + return res.status(400).json({ message: 'Email is required' }); + } + + try { + const otp = Math.floor(100000 + Math.random() * 900000).toString(); + const expiresAt = new Date(Date.now() + OTP_EXPIRY_MINUTES * 60000); + + await Otp.findOneAndUpdate( + { email: email.toLowerCase() }, + { otp, expiresAt }, + { upsert: true, new: true } + ); + + await transporter.sendMail({ + from: process.env.SMTP_USER, + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, + }); + + res.json({ message: 'OTP sent to email' }); + } catch (err) { + console.error('requestOtp error:', err); + res.status(500).json({ message: 'Failed to send OTP' }); + } +}; + +const verifyOtp = async (req, res) => { + const { email, otp, verifyOnly } = req.body; + + if (!email || !otp) { + return res.status(400).json({ message: 'Email and OTP are required' }); + } + + try { + // Check OTP from database + const record = await Otp.findOne({ email: email.toLowerCase() }); + if (!record || record.otp !== otp || record.expiresAt < new Date()) { + return res.status(400).json({ message: 'Invalid or expired OTP' }); + } + + // If verifyOnly is true, just return success without creating account + if (verifyOnly) { + return res.json({ + message: 'Email verified successfully', + email: email, + verified: true, + status: 'success' + }); + } + + let user = await UserProfile.findOne({ email: email.toLowerCase() }); + + if (!user) { + // Create new user with minimal required fields + try { + const userData = { + email: email.toLowerCase(), + name: 'Guest User', + userType: 'Other' // Default user type + }; + + console.log('Creating user with data:', userData); + user = await UserProfile.create(userData); + console.log('User created successfully:', user._id); + } catch (createError) { + console.error('User creation error:', createError); + return res.status(500).json({ + message: 'Account creation failed. Please contact support.', + error: 'User creation validation failed' + }); + } + } + + // Delete the used OTP + await Otp.deleteOne({ email: email.toLowerCase() }); + + const token = jwt.sign( + { email: user.email, id: user._id }, + process.env.JWT_SECRET_VERIFY, + { expiresIn: '7d' } + ); + + return res.json({ + user: { + email: user.email, + id: user._id, + name: user.name, + userType: user.userType + }, + token + }); + } catch (err) { + console.error('verifyOtp error:', err); + res.status(500).json({ message: 'OTP verification failed' }); + } +}; + +// Update user profile after email verification +const updateProfile = async (req, res) => { + try { + const { name, age, location, userType, languages } = req.body; + const userId = req.user.id; // From JWT token + + if (!name) { + return res.status(400).json({ message: 'Name is required' }); + } + + const user = await UserProfile.findById(userId); + if (!user) { + return res.status(404).json({ message: 'User not found' }); + } + + // Update user profile + const updatedUser = await UserProfile.findByIdAndUpdate( + userId, + { + name, + age: age || user.age, + location: location || user.location, + userType: userType || user.userType, + languages: languages || user.languages + }, + { new: true } + ); + + res.json({ + message: 'Profile updated successfully', + user: { + id: updatedUser._id, + email: updatedUser.email, + name: updatedUser.name, + age: updatedUser.age, + location: updatedUser.location, + userType: updatedUser.userType, + languages: updatedUser.languages, + isProfileComplete: true + } + }); + } catch (err) { + console.error('updateProfile error:', err); + res.status(500).json({ message: 'Failed to update profile' }); + } +}; + +// Middleware to verify JWT token +const verifyToken = async (req, res, next) => { + try { + const token = req.header('Authorization')?.replace('Bearer ', ''); + + if (!token) { + return res.status(401).json({ message: 'No token provided' }); + } + + const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); + req.user = decoded; + next(); + } catch (err) { + console.error('Token verification error:', err); + res.status(401).json({ message: 'Invalid token' }); + } +}; + +// Verify token endpoint +const verifyTokenEndpoint = async (req, res) => { + try { + const token = req.header('Authorization')?.replace('Bearer ', ''); + + if (!token) { + return res.status(401).json({ message: 'No token provided' }); + } + + const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); + const user = await UserProfile.findById(decoded.id); + + if (!user) { + return res.status(404).json({ message: 'User not found' }); + } + + res.json({ + user: { + id: user._id, + email: user.email, + name: user.name, + userType: user.userType, + age: user.age, + location: user.location, + languages: user.languages + } + }); + } catch (err) { + console.error('Token verification error:', err); + res.status(401).json({ message: 'Invalid token' }); + } +}; + +module.exports = { + checkEmailInUse, + requestOtp, + verifyOtp, + updateProfile, + verifyToken, + verifyTokenEndpoint +}; diff --git a/Backend/src/index.js b/Backend/src/index.js index a440b6e..6281a82 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -27,6 +27,11 @@ async function initializeServices() { messageService.startBufferFlushing(); console.log("āœ… All services initialized successfully"); + console.log("šŸ“§ Email OTP Authentication is ready!"); + console.log("šŸ”— Test endpoints:"); + console.log(" POST /auth/request-otp"); + console.log(" POST /auth/verify-otp"); + console.log(" GET /auth/verify-token"); // Setup socket after services are ready setupSocket(server); diff --git a/Backend/src/models/Otp.js b/Backend/src/models/Otp.js new file mode 100644 index 0000000..9a991ea --- /dev/null +++ b/Backend/src/models/Otp.js @@ -0,0 +1,30 @@ +const mongoose = require('mongoose'); + +const otpSchema = new mongoose.Schema({ + email: { + type: String, + required: true, + lowercase: true, + trim: true + }, + otp: { + type: String, + required: true + }, + expiresAt: { + type: Date, + required: true, + default: Date.now, + expires: 600 // 10 minutes in seconds + }, + createdAt: { + type: Date, + default: Date.now + } +}); + +// Index for faster queries +otpSchema.index({ email: 1 }); +otpSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 }); + +module.exports = mongoose.model('Otp', otpSchema); diff --git a/Backend/src/models/User.js b/Backend/src/models/User.js index de0c7eb..ea068e1 100644 --- a/Backend/src/models/User.js +++ b/Backend/src/models/User.js @@ -1,11 +1,17 @@ const mongoose = require('mongoose'); const userProfileSchema = new mongoose.Schema({ - phone: { + email: { type: String, required: true, unique: true, - index: true + lowercase: true, + trim: true + }, + phone: { + type: String, + unique: true, + sparse: true }, name: { type: String, @@ -55,8 +61,8 @@ const userProfileSchema = new mongoose.Schema({ timestamps: true }); -// Drop the userId index if it exists -userProfileSchema.index({ userId: 1 }, { unique: true, sparse: true }); -userProfileSchema.index({ phone: 1 }, { unique: true }); +// Indexes for faster queries +userProfileSchema.index({ email: 1 }); +userProfileSchema.index({ phone: 1 }); module.exports = mongoose.model('UserProfile', userProfileSchema); \ No newline at end of file diff --git a/Backend/src/routes/authRoutes.js b/Backend/src/routes/authRoutes.js index 30f75c0..1ece878 100644 --- a/Backend/src/routes/authRoutes.js +++ b/Backend/src/routes/authRoutes.js @@ -1,24 +1,21 @@ -const express = require("express"); -const passport = require("passport"); - +const express = require('express'); const router = express.Router(); +const { + checkEmailInUse, + requestOtp, + verifyOtp, + updateProfile, + verifyToken, + verifyTokenEndpoint +} = require('../controllers/authController'); -router.get("/", (req, res) => { - res.send("Login with Google"); -}); - -router.get("/google", passport.authenticate("google", { scope: ["profile", "email"] })); - -router.get("/google/callback", passport.authenticate("google", { failureRedirect: "/" }), (req, res) => { - res.redirect("/auth/profile"); -}); - -router.get("/profile", (req, res) => { - res.send(`Welcome ${req.user.displayName}`); -}); +// Public routes +router.post('/check-email', checkEmailInUse); +router.post('/request-otp', requestOtp); +router.post('/verify-otp', verifyOtp); -router.get("/logout", (req, res) => { - req.logout(() => res.redirect("/")); -}); +// Protected routes (require authentication) +router.post('/update-profile', verifyToken, updateProfile); +router.get('/verify-token', verifyTokenEndpoint); -module.exports = router; +module.exports = router; \ No newline at end of file From 4983630aabb1651d028897982056d59bd7295fcd Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 17:53:55 +0530 Subject: [PATCH 13/91] update --- Backend/create-kafka-topics.js | 59 ++++++++++++++++++++++++++++++++++ Backend/src/index.js | 37 +++++++++++---------- 2 files changed, 79 insertions(+), 17 deletions(-) create mode 100644 Backend/create-kafka-topics.js diff --git a/Backend/create-kafka-topics.js b/Backend/create-kafka-topics.js new file mode 100644 index 0000000..e30575d --- /dev/null +++ b/Backend/create-kafka-topics.js @@ -0,0 +1,59 @@ +const { Kafka } = require('kafkajs'); +require('dotenv').config(); + +// Create Kafka instance +const kafka = new Kafka({ + brokers: [process.env.KAFKA_BROKERS], + ssl: { + ca: [process.env.KAFKA_CA_CERTIFICATE], + rejectUnauthorized: false, + }, + sasl: { + mechanism: "plain", + username: process.env.KAFKA_SASL_USERNAME, + password: process.env.KAFKA_SASL_PASSWORD + } +}); + +const admin = kafka.admin(); + +async function createTopics() { + try { + console.log('šŸ”— Connecting to Kafka...'); + await admin.connect(); + console.log('āœ… Connected to Kafka'); + + const topics = [ + { + topic: 'chat-messages', + numPartitions: 3, + replicationFactor: 3 + }, + { + topic: 'message-persistence', + numPartitions: 3, + replicationFactor: 3 + } + ]; + + console.log('šŸ“ Creating topics...'); + await admin.createTopics({ + topics: topics, + waitForLeaders: true + }); + + console.log('āœ… Topics created successfully!'); + console.log('šŸ“‹ Created topics:'); + topics.forEach(topic => { + console.log(` - ${topic.topic} (${topic.numPartitions} partitions, ${topic.replicationFactor} replicas)`); + }); + + } catch (error) { + console.error('āŒ Error creating topics:', error); + } finally { + await admin.disconnect(); + console.log('šŸ”Œ Disconnected from Kafka'); + } +} + +createTopics(); diff --git a/Backend/src/index.js b/Backend/src/index.js index 6281a82..495621d 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -8,37 +8,40 @@ require("dotenv").config() const PORT = process.env.PORT || 8000; const server = http.createServer(app); -// Initialize Kafka and start services +// Initialize services with fallback for Kafka/Redis async function initializeServices() { try { - console.log("šŸš€ Initializing MayaCode Chat Services..."); + console.log("šŸš€ Initializing MayaCode Services..."); - // Initialize Kafka producer - await initializeProducer(); + // Try to initialize Kafka (with fallback) + try { + await initializeProducer(); + await initializeConsumer(); + await kafkaConsumerService.startConsuming(); + + const messageService = require("./services/messageService"); + messageService.startBufferFlushing(); + + console.log("āœ… Kafka services initialized successfully"); + } catch (kafkaError) { + console.log("āš ļø Kafka services unavailable, continuing without them..."); + console.log("šŸ’” To enable Kafka: Create topics 'chat-messages' and 'message-persistence'"); + } - // Initialize Kafka consumer - await initializeConsumer(); - - // Start Kafka consumer service - await kafkaConsumerService.startConsuming(); - - // Start message service buffer flushing - const messageService = require("./services/messageService"); - messageService.startBufferFlushing(); - - console.log("āœ… All services initialized successfully"); + console.log("āœ… Core services initialized"); console.log("šŸ“§ Email OTP Authentication is ready!"); console.log("šŸ”— Test endpoints:"); console.log(" POST /auth/request-otp"); console.log(" POST /auth/verify-otp"); console.log(" GET /auth/verify-token"); - // Setup socket after services are ready + // Setup socket (will work even without Redis) setupSocket(server); } catch (error) { console.error("āŒ Failed to initialize services:", error); - process.exit(1); + // Don't exit, let authentication work + console.log("āš ļø Continuing with limited functionality..."); } } From 7fc32df2ef2d7e422b1375e12eb5cb6da500fa42 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 17:55:08 +0530 Subject: [PATCH 14/91] update --- Frontend/app/(tabs)/login.tsx | 651 ++++++++++++------------------- Frontend/context/AuthContext.tsx | 470 +++++++++++----------- Frontend/package.json | 2 - 3 files changed, 463 insertions(+), 660 deletions(-) diff --git a/Frontend/app/(tabs)/login.tsx b/Frontend/app/(tabs)/login.tsx index c6c97f2..f0ce23c 100644 --- a/Frontend/app/(tabs)/login.tsx +++ b/Frontend/app/(tabs)/login.tsx @@ -1,411 +1,242 @@ -import { account, useAuth } from '@/context/AuthContext'; -import { FontAwesome } from '@expo/vector-icons'; -import { useNavigation } from '@react-navigation/native'; -import { ID } from 'appwrite'; -import React, { useState } from 'react'; -import { - ActivityIndicator, - KeyboardAvoidingView, - Platform, - ScrollView, - StyleSheet, - Text, - TextInput, - TouchableOpacity, - View, -} from 'react-native'; -import Toast from 'react-native-toast-message'; - -// Country codes data -const countryCodes = [ - { code: '+91', country: 'India' }, - { code: '+1', country: 'United States' }, - { code: '+44', country: 'United Kingdom' }, - { code: '+86', country: 'China' }, - { code: '+81', country: 'Japan' }, - { code: '+49', country: 'Germany' }, - { code: '+33', country: 'France' }, - { code: '+39', country: 'Italy' }, - { code: '+34', country: 'Spain' }, - { code: '+7', country: 'Russia' }, - { code: '+55', country: 'Brazil' }, - { code: '+61', country: 'Australia' }, - { code: '+82', country: 'South Korea' }, - { code: '+358', country: 'Finland' }, - { code: '+46', country: 'Sweden' }, - { code: '+380', country: 'Ukraine' }, - { code: '+47', country: 'Norway' }, - { code: '+351', country: 'Portugal' }, - { code: '+31', country: 'Netherlands' }, - { code: '+41', country: 'Switzerland' }, -]; - -const LoginScreen = () => { - const [phone, setPhone] = useState(''); - const [otp, setOtp] = useState(''); - const [isOtpSent, setIsOtpSent] = useState(false); - const [userId, setUserId] = useState(''); - const [isLoading, setIsLoading] = useState(false); - const [selectedCountryCode, setSelectedCountryCode] = useState('+91'); - const [showDropdown, setShowDropdown] = useState(false); - - const { sendOtp, verifyOtp } = useAuth(); - const navigation = useNavigation(); - - // Validate phone number: must be 10 digits - const isValidPhone = (phone: string) => { - const sanitized = phone.replace(/\D/g, ''); - return sanitized.length === 10; - }; - - const handleSendOtp = async () => { - if (!isValidPhone(phone)) { - Toast.show({ - type: 'error', - text1: 'Invalid Number', - text2: 'Please enter a valid 10-digit phone number.', - }); - return; - } - - if (isLoading) return; - - setIsLoading(true); - try { - const fullPhoneNumber = `${selectedCountryCode}${phone}`; - console.log('Sending OTP to:', fullPhoneNumber); - - const userId = await sendOtp(fullPhoneNumber); - if (userId) { - setUserId(userId); - setIsOtpSent(true); - } - } catch (error: any) { - console.error('OTP Send Error:', error); - Toast.show({ - type: 'error', - text1: 'Failed to send OTP', - text2: error.message || 'Please check your number and try again.', - }); - } finally { - setIsLoading(false); - } - }; - - const handleVerifyOtp = async () => { - if (isLoading) return; - - if (!otp || otp.length < 4) { - Toast.show({ - type: 'error', - text1: 'Invalid OTP', - text2: 'Please enter a valid OTP.', - }); - return; - } - - setIsLoading(true); - try { - const success = await verifyOtp(userId, otp); - if (success) { - navigation.navigate('Home' as never); - } - } catch (error: any) { - console.error('OTP Verification Error:', error); - Toast.show({ - type: 'error', - text1: 'Invalid OTP', - text2: error.message || 'Please check the OTP and try again.', - }); - } finally { - setIsLoading(false); - } - }; - - return ( - - - Welcome to MayaCode - Please enter your phone number to continue - - {!isOtpSent && ( - <> - - setShowDropdown(!showDropdown)} - > - - {selectedCountryCode} - - - {countryCodes.find(item => item.code === selectedCountryCode)?.country || 'Select Country'} - - - - - - - {showDropdown && ( - - - {countryCodes.map((item, index) => ( - { - setSelectedCountryCode(item.code); - setShowDropdown(false); - }} - activeOpacity={0.7} - > - - {item.code} - - {item.country} - - - ))} - - - )} - - - - - {isLoading ? ( - - ) : ( - Send OTP - )} - - - )} - - {isOtpSent && ( - <> - - - - {isLoading ? ( - - ) : ( - Verify OTP - )} - - - - Resend OTP - - - )} - - - - ); -}; - -const styles = StyleSheet.create({ - outerContainer: { - flex: 1, - backgroundColor: '#f7fafc', - justifyContent: 'center', - alignItems: 'center', - }, - card: { - backgroundColor: '#fff', - borderRadius: 16, - padding: 28, - width: '90%', - maxWidth: 400, - alignItems: 'center', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 8, - elevation: 5, - }, - welcomeTitle: { - fontSize: 28, - fontWeight: '700', - marginBottom: 8, - textAlign: 'center', - color: '#111827', - }, - subtitle: { - fontSize: 16, - color: '#6b7280', - marginBottom: 24, - textAlign: 'center', - }, - dropdownContainer: { - width: '100%', - marginBottom: 16, - }, - dropdownButton: { - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'space-between', - borderWidth: 1, - borderColor: '#d1d5db', - borderRadius: 8, - padding: 14, - backgroundColor: '#fff', - }, - dropdownButtonContent: { - flexDirection: 'row', - alignItems: 'center', - }, - dropdownButtonCode: { - fontSize: 16, - color: '#111827', - fontWeight: '600', - }, - buttonVerticalSeparator: { - width: 1, - height: 20, - backgroundColor: '#d1d5db', - marginHorizontal: 8, - }, - dropdownButtonCountry: { - fontSize: 16, - color: '#6b7280', - }, - dropdownOverlay: { - position: 'absolute', - top: 120, - left: 28, - right: 28, - backgroundColor: '#fff', - borderRadius: 8, - borderWidth: 1, - borderColor: '#d1d5db', - maxHeight: 300, - zIndex: 1000, - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 4, - elevation: 5, - }, - dropdownScrollContainer: { - maxHeight: 300, - }, - dropdownScrollContent: { - flexGrow: 1, - }, - dropdownItem: { - paddingVertical: 12, - paddingHorizontal: 14, - borderBottomWidth: StyleSheet.hairlineWidth, - borderBottomColor: '#e5e7eb', - backgroundColor: '#fff', - }, - dropdownItemLast: { - borderBottomWidth: 0, - }, - dropdownItemContent: { - flexDirection: 'row', - alignItems: 'center', - justifyContent: 'flex-start', - }, - dropdownItemCode: { - fontSize: 16, - color: '#111827', - fontWeight: '600', - minWidth: 50, - }, - verticalSeparator: { - width: 1, - height: 20, - backgroundColor: '#d1d5db', - marginHorizontal: 6, - }, - dropdownItemCountry: { - fontSize: 16, - color: '#6b7280', - flex: 1, - }, - phoneInput: { - borderColor: '#d1d5db', - borderWidth: 1, - borderRadius: 8, - padding: 14, - fontSize: 16, - width: '100%', - backgroundColor: '#fff', - marginBottom: 16, - }, - input: { - borderColor: '#d1d5db', - borderWidth: 1, - borderRadius: 8, - padding: 14, - marginBottom: 15, - fontSize: 16, - width: '100%', - backgroundColor: '#fff', - }, - button: { - backgroundColor: '#2563eb', - padding: 14, - borderRadius: 8, - alignItems: 'center', - marginBottom: 10, - width: '100%', - }, - buttonText: { - color: '#fff', - fontWeight: '600', - fontSize: 16, - }, - link: { - color: '#2563eb', - fontSize: 14, - textAlign: 'center', - marginTop: 8, - }, -}); - +import { useAuth } from '@/context/AuthContext'; +import { FontAwesome } from '@expo/vector-icons'; +import { useNavigation } from '@react-navigation/native'; +import React, { useState } from 'react'; +import { + ActivityIndicator, + KeyboardAvoidingView, + Platform, + ScrollView, + StyleSheet, + Text, + TextInput, + TouchableOpacity, + View, +} from 'react-native'; +import Toast from 'react-native-toast-message'; + + +const LoginScreen = () => { + const [email, setEmail] = useState(''); + const [otp, setOtp] = useState(''); + const [isOtpSent, setIsOtpSent] = useState(false); + const [isLoading, setIsLoading] = useState(false); + + const { sendOtp, verifyOtp } = useAuth(); + const navigation = useNavigation(); + + // Validate email format + const isValidEmail = (email: string) => { + const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; + return emailRegex.test(email); + }; + + const handleSendOtp = async () => { + if (!isValidEmail(email)) { + Toast.show({ + type: 'error', + text1: 'Invalid Email', + text2: 'Please enter a valid email address.', + }); + return; + } + + if (isLoading) return; + + setIsLoading(true); + try { + console.log('Sending OTP to:', email); + + const success = await sendOtp(email); + if (success) { + setIsOtpSent(true); + } + } catch (error: any) { + console.error('OTP Send Error:', error); + Toast.show({ + type: 'error', + text1: 'Failed to send OTP', + text2: error.message || 'Please check your email and try again.', + }); + } finally { + setIsLoading(false); + } + }; + + const handleVerifyOtp = async () => { + if (isLoading) return; + + if (!otp || otp.length < 6) { + Toast.show({ + type: 'error', + text1: 'Invalid OTP', + text2: 'Please enter a valid 6-digit OTP.', + }); + return; + } + + setIsLoading(true); + try { + const success = await verifyOtp(email, otp); + if (success) { + navigation.navigate('Home' as never); + } + } catch (error: any) { + console.error('OTP Verification Error:', error); + Toast.show({ + type: 'error', + text1: 'Invalid OTP', + text2: error.message || 'Please check the OTP and try again.', + }); + } finally { + setIsLoading(false); + } + }; + + return ( + + + Welcome to MayaCode + Please enter your email address to continue + + {!isOtpSent && ( + <> + + + + {isLoading ? ( + + ) : ( + Send OTP + )} + + + )} + + {isOtpSent && ( + <> + + + + {isLoading ? ( + + ) : ( + Verify OTP + )} + + + + Resend OTP + + + )} + + + + ); +}; + +const styles = StyleSheet.create({ + outerContainer: { + flex: 1, + backgroundColor: '#f7fafc', + justifyContent: 'center', + alignItems: 'center', + }, + card: { + backgroundColor: '#fff', + borderRadius: 16, + padding: 28, + width: '90%', + maxWidth: 400, + alignItems: 'center', + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 8, + elevation: 5, + }, + welcomeTitle: { + fontSize: 28, + fontWeight: '700', + marginBottom: 8, + textAlign: 'center', + color: '#111827', + }, + subtitle: { + fontSize: 16, + color: '#6b7280', + marginBottom: 24, + textAlign: 'center', + }, + emailInput: { + borderColor: '#d1d5db', + borderWidth: 1, + borderRadius: 8, + padding: 14, + fontSize: 16, + width: '100%', + backgroundColor: '#fff', + marginBottom: 16, + }, + input: { + borderColor: '#d1d5db', + borderWidth: 1, + borderRadius: 8, + padding: 14, + marginBottom: 15, + fontSize: 16, + width: '100%', + backgroundColor: '#fff', + }, + button: { + backgroundColor: '#2563eb', + padding: 14, + borderRadius: 8, + alignItems: 'center', + marginBottom: 10, + width: '100%', + }, + buttonText: { + color: '#fff', + fontWeight: '600', + fontSize: 16, + }, + link: { + color: '#2563eb', + fontSize: 14, + textAlign: 'center', + marginTop: 8, + }, +}); + export default LoginScreen; \ No newline at end of file diff --git a/Frontend/context/AuthContext.tsx b/Frontend/context/AuthContext.tsx index 1a151e6..8c7f775 100644 --- a/Frontend/context/AuthContext.tsx +++ b/Frontend/context/AuthContext.tsx @@ -1,248 +1,222 @@ -import { useRouter } from 'expo-router'; -import React, { createContext, ReactNode, useContext, useState } from 'react'; -import { ActivityIndicator, Text, View } from 'react-native'; -import { Account, Client, ID } from 'react-native-appwrite'; -import Toast from 'react-native-toast-message'; - -// Appwrite Configuration -const client = new Client() - .setEndpoint('https://cloud.appwrite.io/v1') - .setProject(process.env.EXPO_PUBLIC_APPWRITE_PROJECT_ID) - -export const account = new Account(client); - -// Define types -export interface User { - $id: string; // Appwrite user ID - $createdAt: string; // Add createdAt - $updatedAt: string; // Add updatedAt - name: string; // Assuming name is stored in Appwrite user document - phone: string; // Assuming phone is stored in Appwrite user document - email?: string; // Email might be null for phone users - photoURL?: string; // Assuming photoURL is stored if needed (will be in custom profile) - // Add other Appwrite user properties based on account.get() output - status: boolean; - phoneVerification: boolean; - emailVerification: boolean; - prefs: { [key: string]: any }; -} - -interface AuthContextType { - user: User | null; - isLoading: boolean; - isSendingOtp: boolean; - isVerifyingOtp: boolean; - isAuthenticated: boolean; - sessionId: string | null; - checkAuthStatus: () => Promise; - sendOtp: (phone: string) => Promise; - verifyOtp: (userId: string, otp: string) => Promise; - signOut: () => Promise; -} - -interface AuthProviderProps { - children: ReactNode; -} - -const AuthContext = createContext(undefined); - -export const AuthProvider: React.FC = ({ children }) => { - const [user, setUser] = useState(null); - const [isLoading, setIsLoading] = useState(false); - const [isSendingOtp, setIsSendingOtp] = useState(false); - const [isVerifyingOtp, setIsVerifyingOtp] = useState(false); - const [isAuthenticated, setIsAuthenticated] = useState(false); - const [sessionId, setSessionId] = useState(null); - - const router = useRouter(); - - // Helper to sanitize phone number to +[country code][number] - const sanitizePhone = (phone: string): string => { - const digits = phone.replace(/\D/g, ''); - if (digits.length === 10) { - return '+91' + digits; - } - if (digits.length > 10 && digits.startsWith('91')) { - return '+' + digits; - } - return phone; - }; - - const checkAuthStatus = async (): Promise => { - setIsLoading(true); - try { - console.log('Checking auth status...'); - const appwriteUser = await account.get(); - console.log('Appwrite user:', appwriteUser); - - if (appwriteUser) { - setUser({ - $id: appwriteUser.$id, - $createdAt: appwriteUser.$createdAt, - $updatedAt: appwriteUser.$updatedAt, - name: appwriteUser.name || 'User', - phone: appwriteUser.phone || '', - email: appwriteUser.email || undefined, - status: appwriteUser.status, - phoneVerification: appwriteUser.phoneVerification, - emailVerification: appwriteUser.emailVerification, - prefs: appwriteUser.prefs || {}, - }); - setIsAuthenticated(true); - - const sessions = await account.listSessions(); - const currentSession = sessions.sessions.find(session => session.current); - if (currentSession) { - setSessionId(currentSession.$id); - } - } else { - setUser(null); - setIsAuthenticated(false); - setSessionId(null); - } - } catch (error: any) { - console.error("Error checking session:", error); - setUser(null); - setIsAuthenticated(false); - setSessionId(null); - } finally { - setIsLoading(false); - } - }; - - const sendOtp = async (phone: string): Promise => { - setIsSendingOtp(true); - try { - const sanitizedPhone = sanitizePhone(phone); - console.log('Sending OTP to:', sanitizedPhone); - - const token = await account.createPhoneToken( - ID.unique(), - sanitizedPhone - ); - console.log('Phone token created:', token); - - Toast.show({ - type: 'success', - text1: 'OTP Sent', - text2: 'Please enter the OTP sent to your phone.', - }); - - return token.userId; - } catch (error: any) { - console.error("Error sending OTP:", error); - Toast.show({ - type: 'error', - text1: 'Failed to send OTP', - text2: error.message || 'Please check your number and try again.', - }); - return null; - } finally { - setIsSendingOtp(false); - } - }; - - const verifyOtp = async (userId: string, otp: string): Promise => { - setIsVerifyingOtp(true); - try { - console.log(`Verifying OTP for userId: ${userId}`); - - // Delete all existing sessions - try { - const sessions = await account.listSessions(); - for (const session of sessions.sessions) { - await account.deleteSession(session.$id); - } - console.log('Deleted existing sessions'); - } catch (error) { - console.log('Error deleting sessions:', error); - } - - // Create new session with the OTP - await account.createSession(userId, otp); - console.log('Session created successfully'); - - // Update auth status - await checkAuthStatus(); - - Toast.show({ - type: 'success', - text1: 'Success', - text2: 'Logged in successfully', - }); - - router.replace('/(tabs)'); - return true; - } catch (error: any) { - console.error("Error verifying OTP:", error); - Toast.show({ - type: 'error', - text1: 'Invalid OTP', - text2: error.message || 'Please check the OTP and try again.', - }); - return false; - } finally { - setIsVerifyingOtp(false); - } - }; - - const signOut = async (): Promise => { - setIsLoading(true); - try { - await account.deleteSession("current"); - setUser(null); - setIsAuthenticated(false); - setSessionId(null); - - Toast.show({ - type: 'success', - text1: 'Success', - text2: 'Logged out successfully', - }); - - router.replace('/login'); - } catch (error: any) { - console.error("Error logging out:", error); - Toast.show({ - type: 'error', - text1: 'Logout Error', - text2: error.message || 'Failed to log out', - }); - } finally { - setIsLoading(false); - } - }; - - const value: AuthContextType = { - user, - isLoading, - isSendingOtp, - isVerifyingOtp, - isAuthenticated, - sessionId, - checkAuthStatus, - sendOtp, - verifyOtp, - signOut - }; - - // Only show loading screen when explicitly loading auth status - if (isLoading && isSendingOtp === false && isVerifyingOtp === false) { - return ( - - - Loading authentication status... - - ); - } - - return {children}; -}; - -export const useAuth = (): AuthContextType => { - const context = useContext(AuthContext); - if (!context) { - throw new Error("useAuth must be used within an AuthProvider"); - } - return context; -}; +import { useRouter } from 'expo-router'; +import React, { createContext, ReactNode, useContext, useState } from 'react'; +import { ActivityIndicator, Text, View } from 'react-native'; +import Toast from 'react-native-toast-message'; +import axios from 'axios'; +import AsyncStorage from '@react-native-async-storage/async-storage'; + +// Backend API Configuration +const API_BASE_URL = 'http://localhost:8000'; // Backend server URL + +// Define types +export interface User { + id: string; + email: string; + name: string; + userType?: string; + age?: number; + location?: string; + languages?: string[]; + profileImage?: string; + createdAt?: string; + updatedAt?: string; +} + +interface AuthContextType { + user: User | null; + isLoading: boolean; + isSendingOtp: boolean; + isVerifyingOtp: boolean; + isAuthenticated: boolean; + token: string | null; + checkAuthStatus: () => Promise; + sendOtp: (email: string) => Promise; + verifyOtp: (email: string, otp: string) => Promise; + signOut: () => Promise; +} + +interface AuthProviderProps { + children: ReactNode; +} + +const AuthContext = createContext(undefined); + +export const AuthProvider: React.FC = ({ children }) => { + const [user, setUser] = useState(null); + const [isLoading, setIsLoading] = useState(false); + const [isSendingOtp, setIsSendingOtp] = useState(false); + const [isVerifyingOtp, setIsVerifyingOtp] = useState(false); + const [isAuthenticated, setIsAuthenticated] = useState(false); + const [token, setToken] = useState(null); + + const router = useRouter(); + + const checkAuthStatus = async (): Promise => { + setIsLoading(true); + try { + console.log('Checking auth status...'); + const storedToken = await AsyncStorage.getItem('authToken'); + + if (storedToken) { + // Verify token with backend + const response = await axios.get(`${API_BASE_URL}/auth/verify-token`, { + headers: { Authorization: `Bearer ${storedToken}` } + }); + + if (response.data.user) { + setUser(response.data.user); + setToken(storedToken); + setIsAuthenticated(true); + } else { + await AsyncStorage.removeItem('authToken'); + setUser(null); + setToken(null); + setIsAuthenticated(false); + } + } else { + setUser(null); + setToken(null); + setIsAuthenticated(false); + } + } catch (error: any) { + console.error("Error checking auth status:", error); + await AsyncStorage.removeItem('authToken'); + setUser(null); + setToken(null); + setIsAuthenticated(false); + } finally { + setIsLoading(false); + } + }; + + const sendOtp = async (email: string): Promise => { + setIsSendingOtp(true); + try { + console.log('Sending OTP to:', email); + + const response = await axios.post(`${API_BASE_URL}/auth/request-otp`, { + email: email + }); + + if (response.data.message === 'OTP sent to email') { + Toast.show({ + type: 'success', + text1: 'OTP Sent', + text2: 'Please enter the OTP sent to your email.', + }); + return true; + } + return false; + } catch (error: any) { + console.error("Error sending OTP:", error); + Toast.show({ + type: 'error', + text1: 'Failed to send OTP', + text2: error.response?.data?.message || 'Please check your email and try again.', + }); + return false; + } finally { + setIsSendingOtp(false); + } + }; + + const verifyOtp = async (email: string, otp: string): Promise => { + setIsVerifyingOtp(true); + try { + console.log(`Verifying OTP for email: ${email}`); + + const response = await axios.post(`${API_BASE_URL}/auth/verify-otp`, { + email: email, + otp: otp + }); + + if (response.data.token && response.data.user) { + // Store token and user data + await AsyncStorage.setItem('authToken', response.data.token); + setToken(response.data.token); + setUser(response.data.user); + setIsAuthenticated(true); + + Toast.show({ + type: 'success', + text1: 'Success', + text2: 'Logged in successfully', + }); + + router.replace('/(tabs)'); + return true; + } + return false; + } catch (error: any) { + console.error("Error verifying OTP:", error); + Toast.show({ + type: 'error', + text1: 'Invalid OTP', + text2: error.response?.data?.message || 'Please check the OTP and try again.', + }); + return false; + } finally { + setIsVerifyingOtp(false); + } + }; + + const signOut = async (): Promise => { + setIsLoading(true); + try { + await AsyncStorage.removeItem('authToken'); + setUser(null); + setToken(null); + setIsAuthenticated(false); + + Toast.show({ + type: 'success', + text1: 'Success', + text2: 'Logged out successfully', + }); + + router.replace('/login'); + } catch (error: any) { + console.error("Error logging out:", error); + Toast.show({ + type: 'error', + text1: 'Logout Error', + text2: error.message || 'Failed to log out', + }); + } finally { + setIsLoading(false); + } + }; + + const value: AuthContextType = { + user, + isLoading, + isSendingOtp, + isVerifyingOtp, + isAuthenticated, + token, + checkAuthStatus, + sendOtp, + verifyOtp, + signOut + }; + + // Only show loading screen when explicitly loading auth status + if (isLoading && isSendingOtp === false && isVerifyingOtp === false) { + return ( + + + Loading authentication status... + + ); + } + + return {children}; +}; + +export const useAuth = (): AuthContextType => { + const context = useContext(AuthContext); + if (!context) { + throw new Error("useAuth must be used within an AuthProvider"); + } + return context; +}; diff --git a/Frontend/package.json b/Frontend/package.json index 28e890c..c794ef1 100644 --- a/Frontend/package.json +++ b/Frontend/package.json @@ -15,7 +15,6 @@ "@react-navigation/native": "^7.1.6", "@react-navigation/stack": "^7.3.2", "ajv": "^8.17.1", - "appwrite": "^18.1.1", "axios": "^1.9.0", "expo-auth-session": "^6.1.5", "expo-blur": "~14.1.4", @@ -41,7 +40,6 @@ "react": "19.0.0", "react-dom": "19.0.0", "react-native": "0.79.2", - "react-native-appwrite": "^0.9.2", "react-native-feather": "^1.1.2", "react-native-maps": "1.20.1", "react-native-reanimated": "~3.17.4", From 3f6cb634a057eb671ca0d2aa5e8427cc95dba5fb Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 21:08:39 +0530 Subject: [PATCH 15/91] update --- Backend/src/app.js | 25 ++++++++++-- Backend/src/controllers/authController.js | 49 ++++++++++++++++++----- 2 files changed, 62 insertions(+), 12 deletions(-) diff --git a/Backend/src/app.js b/Backend/src/app.js index 9436ec0..101a079 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -15,9 +15,13 @@ const messageRoutes = require("./routes/messageRoutes.js"); require("dotenv").config() // Set environment variables if not already set -process.env.SMTP_USER = process.env.SMTP_USER || 'rohitgami2003@gmail.com'; -process.env.SMTP_PASS = process.env.SMTP_PASS || 'lfxcczjulqajfxxh'; -process.env.JWT_SECRET_VERIFY = process.env.JWT_SECRET_VERIFY || '8d4e0de1dc4adfkbmf919d3328394d15c96ca'; +process.env.JWT_SECRET_VERIFY = process.env.JWT_SECRET_VERIFY; + +// SMTP credentials should be set via environment variables +if (!process.env.SMTP_USER || !process.env.SMTP_PASS) { + console.warn('āš ļø SMTP credentials not set. Email functionality will not work.'); + console.warn('Please set SMTP_USER and SMTP_PASS environment variables.'); +} connectDB(); @@ -42,6 +46,21 @@ app.use( app.use(passport.initialize()); app.use(passport.session()); +// Health check endpoint +app.get("/", (req, res) => { + res.json({ + message: "MayaCode Backend is running!", + status: "healthy", + timestamp: new Date().toISOString(), + endpoints: { + auth: "/auth", + posts: "/api/posts", + users: "/api/users", + messages: "/api/messages" + } + }); +}); + // API routes app.use("/api/posts", postRoutes); app.use("/api/users", userRoutes); diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js index c874972..b77e141 100644 --- a/Backend/src/controllers/authController.js +++ b/Backend/src/controllers/authController.js @@ -5,14 +5,28 @@ const UserProfile = require('../models/User'); const OTP_EXPIRY_MINUTES = 10; -// Configure nodemailer (use your SMTP credentials) -const transporter = nodemailer.createTransport({ - service: 'gmail', - auth: { - user: process.env.SMTP_USER, - pass: process.env.SMTP_PASS, - }, -}); +// Configure nodemailer with better error handling and fallback +const createTransporter = () => { + try { + // Try Gmail first + return nodemailer.createTransport({ + service: 'gmail', + auth: { + user: process.env.SMTP_USER, + pass: process.env.SMTP_PASS, + }, + // Add timeout and connection settings + connectionTimeout: 10000, + greetingTimeout: 10000, + socketTimeout: 10000, + }); + } catch (error) { + console.error('Failed to create SMTP transporter:', error); + return null; + } +}; + +const transporter = createTransporter(); // Check if email is already in use by another user const checkEmailInUse = async (req, res) => { @@ -88,7 +102,24 @@ const requestOtp = async (req, res) => { res.json({ message: 'OTP sent to email' }); } catch (err) { console.error('requestOtp error:', err); - res.status(500).json({ message: 'Failed to send OTP' }); + + // Provide more specific error messages + if (err.code === 'ETIMEDOUT' || err.code === 'ECONNREFUSED') { + return res.status(500).json({ + message: 'Email service temporarily unavailable. Please try again later.', + error: 'SMTP_CONNECTION_FAILED' + }); + } else if (err.code === 'EAUTH') { + return res.status(500).json({ + message: 'Email authentication failed. Please check SMTP credentials.', + error: 'SMTP_AUTH_FAILED' + }); + } else { + return res.status(500).json({ + message: 'Failed to send OTP. Please try again.', + error: 'UNKNOWN_ERROR' + }); + } } }; From a3abaa0b71074b61ab2e9266835723cc499d6416 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 21:27:54 +0530 Subject: [PATCH 16/91] updated the email otp send/verify controller --- Backend/src/controllers/authController.js | 244 ++++++++++++++-------- 1 file changed, 157 insertions(+), 87 deletions(-) diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js index b77e141..f9b0130 100644 --- a/Backend/src/controllers/authController.js +++ b/Backend/src/controllers/authController.js @@ -5,21 +5,44 @@ const UserProfile = require('../models/User'); const OTP_EXPIRY_MINUTES = 10; -// Configure nodemailer with better error handling and fallback +// Configure nodemailer with multiple email service options const createTransporter = () => { try { - // Try Gmail first - return nodemailer.createTransport({ - service: 'gmail', - auth: { - user: process.env.SMTP_USER, - pass: process.env.SMTP_PASS, - }, - // Add timeout and connection settings - connectionTimeout: 10000, - greetingTimeout: 10000, - socketTimeout: 10000, - }); + // Try SendGrid first (works better with hosting services) + if (process.env.SENDGRID_API_KEY) { + return nodemailer.createTransport({ + service: 'SendGrid', + auth: { + user: 'apikey', + pass: process.env.SENDGRID_API_KEY, + }, + connectionTimeout: 10000, + greetingTimeout: 10000, + socketTimeout: 10000, + }); + } + + // Fallback to Gmail if SendGrid not available + if (process.env.SMTP_USER && process.env.SMTP_PASS) { + return nodemailer.createTransport({ + host: 'smtp.gmail.com', + port: 587, + secure: false, // true for 465, false for other ports + auth: { + user: process.env.SMTP_USER, + pass: process.env.SMTP_PASS, + }, + connectionTimeout: 10000, + greetingTimeout: 10000, + socketTimeout: 10000, + tls: { + rejectUnauthorized: false + } + }); + } + + console.warn('No email service configured'); + return null; } catch (error) { console.error('Failed to create SMTP transporter:', error); return null; @@ -66,87 +89,132 @@ const checkEmailInUse = async (req, res) => { }; const requestOtp = async (req, res) => { - const { email } = req.body; - - if (!email) { - return res.status(400).json({ message: 'Email is required' }); - } - try { + const { email } = req.body; + + // Basic email validation + if (!email || !email.includes('@')) { + return res.status(400).json({ + success: false, + message: "Please provide a valid email address" + }); + } + + // Generate OTP const otp = Math.floor(100000 + Math.random() * 900000).toString(); - const expiresAt = new Date(Date.now() + OTP_EXPIRY_MINUTES * 60000); - + const expiresAt = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes + + // Save OTP to database await Otp.findOneAndUpdate( { email: email.toLowerCase() }, { otp, expiresAt }, { upsert: true, new: true } ); - - await transporter.sendMail({ - from: process.env.SMTP_USER, - to: email, - subject: 'Login OTP for MayaCode', - html: ` -
-

MayaCode Login Verification

-

Your login OTP is:

-

${otp}

-

This OTP will expire in 10 minutes.

-

If you did not request this OTP, please ignore this email.

-
-

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

-
- `, - }); - - res.json({ message: 'OTP sent to email' }); - } catch (err) { - console.error('requestOtp error:', err); - - // Provide more specific error messages - if (err.code === 'ETIMEDOUT' || err.code === 'ECONNREFUSED') { - return res.status(500).json({ - message: 'Email service temporarily unavailable. Please try again later.', - error: 'SMTP_CONNECTION_FAILED' + + // Check if transporter is available + if (!transporter) { + console.error('No email transporter configured'); + return res.status(500).json({ + success: false, + message: "Email service not configured. Please contact support." }); - } else if (err.code === 'EAUTH') { - return res.status(500).json({ - message: 'Email authentication failed. Please check SMTP credentials.', - error: 'SMTP_AUTH_FAILED' + } + + // Send OTP via email + try { + await transporter.sendMail({ + from: process.env.SMTP_USER, + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, }); - } else { - return res.status(500).json({ - message: 'Failed to send OTP. Please try again.', - error: 'UNKNOWN_ERROR' + + res.json({ + success: true, + message: "OTP sent to your email successfully" }); + } catch (emailError) { + console.error('Email sending error:', emailError); + + // Provide more specific error messages + if (emailError.code === 'ETIMEDOUT' || emailError.code === 'ECONNREFUSED') { + return res.status(500).json({ + success: false, + message: "Email service temporarily unavailable. Please try again later." + }); + } else if (emailError.code === 'EAUTH') { + return res.status(500).json({ + success: false, + message: "Email authentication failed. Please check SMTP credentials." + }); + } else { + return res.status(500).json({ + success: false, + message: "Failed to send OTP. Please try again." + }); + } } + } catch (error) { + console.error('Request OTP Error:', error); + res.status(500).json({ + success: false, + message: "Internal server error" + }); } }; const verifyOtp = async (req, res) => { - const { email, otp, verifyOnly } = req.body; - - if (!email || !otp) { - return res.status(400).json({ message: 'Email and OTP are required' }); - } - try { - // Check OTP from database - const record = await Otp.findOne({ email: email.toLowerCase() }); - if (!record || record.otp !== otp || record.expiresAt < new Date()) { - return res.status(400).json({ message: 'Invalid or expired OTP' }); + const { email, otp } = req.body; + + if (!email || !otp) { + return res.status(400).json({ + success: false, + message: "Email and OTP are required" + }); } - - // If verifyOnly is true, just return success without creating account - if (verifyOnly) { - return res.json({ - message: 'Email verified successfully', - email: email, - verified: true, - status: 'success' + + // Find OTP in database + const otpRecord = await Otp.findOne({ email: email.toLowerCase() }); + + if (!otpRecord) { + return res.status(400).json({ + success: false, + message: "No OTP found for this email" }); } - + + // Check if OTP is expired + if (new Date() > otpRecord.expiresAt) { + await Otp.deleteOne({ email: email.toLowerCase() }); + return res.status(400).json({ + success: false, + message: "OTP has expired. Please request a new one." + }); + } + + // Verify OTP + if (otpRecord.otp !== otp) { + return res.status(400).json({ + success: false, + message: "Invalid OTP" + }); + } + + // Delete OTP after successful verification + await Otp.deleteOne({ email: email.toLowerCase() }); + + // Check if user exists, if not create one let user = await UserProfile.findOne({ email: email.toLowerCase() }); if (!user) { @@ -163,34 +231,36 @@ const verifyOtp = async (req, res) => { console.log('User created successfully:', user._id); } catch (createError) { console.error('User creation error:', createError); - return res.status(500).json({ - message: 'Account creation failed. Please contact support.', - error: 'User creation validation failed' + return res.status(500).json({ + success: false, + message: "Account creation failed. Please contact support." }); } } - // Delete the used OTP - await Otp.deleteOne({ email: email.toLowerCase() }); - const token = jwt.sign( { email: user.email, id: user._id }, process.env.JWT_SECRET_VERIFY, { expiresIn: '7d' } ); - return res.json({ + return res.json({ + success: true, + message: "Email verified successfully", + token: token, user: { email: user.email, id: user._id, name: user.name, userType: user.userType - }, - token + } + }); + } catch (error) { + console.error('Verify OTP Error:', error); + res.status(500).json({ + success: false, + message: "Internal server error" }); - } catch (err) { - console.error('verifyOtp error:', err); - res.status(500).json({ message: 'OTP verification failed' }); } }; From 08dcc857d0d8315ee2b6d4f44a8e9b1aa14b7530 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 22:12:13 +0530 Subject: [PATCH 17/91] update --- Backend/package-lock.json | 103 ++++++++++++++ Backend/package.json | 1 + Backend/src/controllers/authController.js | 157 +++++++++++++--------- 3 files changed, 197 insertions(+), 64 deletions(-) diff --git a/Backend/package-lock.json b/Backend/package-lock.json index 6ec6dfa..90d1c46 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -21,6 +21,7 @@ "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", + "resend": "^6.2.2", "socket.io": "^4.8.1", "socket.io-client": "^4.8.1", "winston": "^3.17.0" @@ -70,6 +71,12 @@ "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", "license": "MIT" }, + "node_modules/@stablelib/base64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz", + "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==", + "license": "MIT" + }, "node_modules/@types/cors": { "version": "2.8.19", "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", @@ -711,6 +718,12 @@ "node": ">= 0.4" } }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", @@ -857,6 +870,12 @@ "node": ">= 0.8" } }, + "node_modules/fast-sha256": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz", + "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==", + "license": "Unlicense" + }, "node_modules/fecha": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", @@ -1845,6 +1864,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "license": "MIT" + }, "node_modules/random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", @@ -1926,6 +1951,32 @@ "node": ">=4" } }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "license": "MIT" + }, + "node_modules/resend": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/resend/-/resend-6.2.2.tgz", + "integrity": "sha512-EF/wUj0y/CHBDqLV9iKrNHxGV/wdJfzfEzhPbd3tXD4wtMssabgVwys7N3dv+s1EsqnXjC0uN6ylpfvWTzF4Aw==", + "license": "MIT", + "dependencies": { + "svix": "1.76.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@react-email/render": "*" + }, + "peerDependenciesMeta": { + "@react-email/render": { + "optional": true + } + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2336,6 +2387,35 @@ "node": ">=4" } }, + "node_modules/svix": { + "version": "1.76.1", + "resolved": "https://registry.npmjs.org/svix/-/svix-1.76.1.tgz", + "integrity": "sha512-CRuDWBTgYfDnBLRaZdKp9VuoPcNUq9An14c/k+4YJ15Qc5Grvf66vp0jvTltd4t7OIRj+8lM1DAgvSgvf7hdLw==", + "license": "MIT", + "dependencies": { + "@stablelib/base64": "^1.0.0", + "@types/node": "^22.7.5", + "es6-promise": "^4.2.8", + "fast-sha256": "^1.3.0", + "url-parse": "^1.5.10", + "uuid": "^10.0.0" + } + }, + "node_modules/svix/node_modules/@types/node": { + "version": "22.18.12", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.18.12.tgz", + "integrity": "sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/svix/node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "license": "MIT" + }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", @@ -2448,6 +2528,16 @@ "node": ">= 0.8" } }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "license": "MIT", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -2463,6 +2553,19 @@ "node": ">= 0.4.0" } }, + "node_modules/uuid": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-10.0.0.tgz", + "integrity": "sha512-8XkAphELsDnEGrDxUOHB3RGvXz6TeuYSGEZBOjtTtPm2lwhGBjLgOzLHB63IUWfBpNucQjND6d3AOudO+H3RWQ==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", diff --git a/Backend/package.json b/Backend/package.json index 4b5989d..c12821a 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -23,6 +23,7 @@ "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", + "resend": "^6.2.2", "socket.io": "^4.8.1", "socket.io-client": "^4.8.1", "winston": "^3.17.0" diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js index f9b0130..ddbbe89 100644 --- a/Backend/src/controllers/authController.js +++ b/Backend/src/controllers/authController.js @@ -2,32 +2,28 @@ const Otp = require('../models/Otp'); const nodemailer = require('nodemailer'); const jwt = require('jsonwebtoken'); const UserProfile = require('../models/User'); +const { Resend } = require('resend'); const OTP_EXPIRY_MINUTES = 10; -// Configure nodemailer with multiple email service options +// Configure Resend (works on Render free tier - 3,000 emails/month free) +let resend; +if (process.env.RESEND_EMAIL_API) { + resend = new Resend(process.env.RESEND_EMAIL_API); + console.log('āœ… Resend configured successfully'); +} else { + console.warn('āš ļø RESEND_EMAIL_API not set. Email functionality will not work.'); +} + +// Fallback nodemailer configuration (for development) const createTransporter = () => { try { - // Try SendGrid first (works better with hosting services) - if (process.env.SENDGRID_API_KEY) { - return nodemailer.createTransport({ - service: 'SendGrid', - auth: { - user: 'apikey', - pass: process.env.SENDGRID_API_KEY, - }, - connectionTimeout: 10000, - greetingTimeout: 10000, - socketTimeout: 10000, - }); - } - - // Fallback to Gmail if SendGrid not available - if (process.env.SMTP_USER && process.env.SMTP_PASS) { + // Only use nodemailer if Resend is not available + if (process.env.SMTP_USER && process.env.SMTP_PASS && !process.env.RESEND_EMAIL_API) { return nodemailer.createTransport({ host: 'smtp.gmail.com', port: 587, - secure: false, // true for 465, false for other ports + secure: false, auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS, @@ -41,7 +37,6 @@ const createTransporter = () => { }); } - console.warn('No email service configured'); return null; } catch (error) { console.error('Failed to create SMTP transporter:', error); @@ -111,58 +106,92 @@ const requestOtp = async (req, res) => { { upsert: true, new: true } ); - // Check if transporter is available - if (!transporter) { - console.error('No email transporter configured'); - return res.status(500).json({ - success: false, - message: "Email service not configured. Please contact support." - }); - } - - // Send OTP via email + // Send OTP via email using Resend (preferred) or fallback try { - await transporter.sendMail({ - from: process.env.SMTP_USER, - to: email, - subject: 'Login OTP for MayaCode', - html: ` -
-

MayaCode Login Verification

-

Your login OTP is:

-

${otp}

-

This OTP will expire in 10 minutes.

-

If you did not request this OTP, please ignore this email.

-
-

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

-
- `, - }); + if (resend) { + // Use Resend (works on Render free tier - 3,000 emails/month free) + const { data, error } = await resend.emails.send({ + from: 'onboarding@resend.dev', // You can change this to your domain + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, + }); - res.json({ - success: true, - message: "OTP sent to your email successfully" - }); - } catch (emailError) { - console.error('Email sending error:', emailError); - - // Provide more specific error messages - if (emailError.code === 'ETIMEDOUT' || emailError.code === 'ECONNREFUSED') { - return res.status(500).json({ - success: false, - message: "Email service temporarily unavailable. Please try again later." + if (error) { + console.error('Resend error:', error); + throw error; + } + + console.log('āœ… Email sent via Resend:', data); + + res.json({ + success: true, + message: "OTP sent to your email successfully" }); - } else if (emailError.code === 'EAUTH') { - return res.status(500).json({ - success: false, - message: "Email authentication failed. Please check SMTP credentials." + } else if (transporter) { + // Fallback to nodemailer (for development) + await transporter.sendMail({ + from: process.env.SMTP_USER, + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, + }); + + res.json({ + success: true, + message: "OTP sent to your email successfully" }); } else { - return res.status(500).json({ - success: false, - message: "Failed to send OTP. Please try again." + // No email service configured - fallback to console + console.log('🚨 NO EMAIL SERVICE CONFIGURED - FALLBACK MODE'); + console.log('šŸ“§ Email:', email); + console.log('šŸ”‘ OTP:', otp); + console.log('ā° Expires at:', expiresAt); + console.log('šŸ’” Use this OTP to login (for development only)'); + + res.json({ + success: true, + message: "OTP generated successfully (check server logs for OTP - email service not configured)", + fallback: true, + otp: otp }); } + } catch (emailError) { + console.error('Email sending error:', emailError); + + // FALLBACK: Log OTP to console for development + console.log('🚨 EMAIL SERVICE UNAVAILABLE - FALLBACK MODE'); + console.log('šŸ“§ Email:', email); + console.log('šŸ”‘ OTP:', otp); + console.log('ā° Expires at:', expiresAt); + console.log('šŸ’” Use this OTP to login (for development only)'); + + res.json({ + success: true, + message: "OTP generated successfully (check server logs for OTP - email service unavailable)", + fallback: true, + otp: otp + }); } } catch (error) { console.error('Request OTP Error:', error); From 466b4efd4f70ae1321a4bb7234600d8c4dfa6280 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 22:23:27 +0530 Subject: [PATCH 18/91] Remove nodemailer completely and use only Resend for email sending --- Backend/package-lock.json | 10 -- Backend/package.json | 1 - Backend/src/controllers/authController.js | 151 ++++++---------------- 3 files changed, 42 insertions(+), 120 deletions(-) diff --git a/Backend/package-lock.json b/Backend/package-lock.json index 90d1c46..e1bd5c9 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -18,7 +18,6 @@ "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", - "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", @@ -1599,15 +1598,6 @@ "node": ">= 0.6" } }, - "node_modules/nodemailer": { - "version": "6.10.1", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.10.1.tgz", - "integrity": "sha512-Z+iLaBGVaSjbIzQ4pX6XV41HrooLsQ10ZWPUehGmuantvzWoDVBnmsdUcOIDM1t+yPor5pDhVlDESgOMEGxhHA==", - "license": "MIT-0", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/nodemon": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", diff --git a/Backend/package.json b/Backend/package.json index c12821a..e588e7a 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -20,7 +20,6 @@ "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", - "nodemailer": "^6.9.8", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js index ddbbe89..cfe93cc 100644 --- a/Backend/src/controllers/authController.js +++ b/Backend/src/controllers/authController.js @@ -1,5 +1,4 @@ const Otp = require('../models/Otp'); -const nodemailer = require('nodemailer'); const jwt = require('jsonwebtoken'); const UserProfile = require('../models/User'); const { Resend } = require('resend'); @@ -15,36 +14,7 @@ if (process.env.RESEND_EMAIL_API) { console.warn('āš ļø RESEND_EMAIL_API not set. Email functionality will not work.'); } -// Fallback nodemailer configuration (for development) -const createTransporter = () => { - try { - // Only use nodemailer if Resend is not available - if (process.env.SMTP_USER && process.env.SMTP_PASS && !process.env.RESEND_EMAIL_API) { - return nodemailer.createTransport({ - host: 'smtp.gmail.com', - port: 587, - secure: false, - auth: { - user: process.env.SMTP_USER, - pass: process.env.SMTP_PASS, - }, - connectionTimeout: 10000, - greetingTimeout: 10000, - socketTimeout: 10000, - tls: { - rejectUnauthorized: false - } - }); - } - - return null; - } catch (error) { - console.error('Failed to create SMTP transporter:', error); - return null; - } -}; - -const transporter = createTransporter(); +// No fallback email service - only Resend // Check if email is already in use by another user const checkEmailInUse = async (req, res) => { @@ -106,91 +76,54 @@ const requestOtp = async (req, res) => { { upsert: true, new: true } ); - // Send OTP via email using Resend (preferred) or fallback - try { - if (resend) { - // Use Resend (works on Render free tier - 3,000 emails/month free) - const { data, error } = await resend.emails.send({ - from: 'onboarding@resend.dev', // You can change this to your domain - to: email, - subject: 'Login OTP for MayaCode', - html: ` -
-

MayaCode Login Verification

-

Your login OTP is:

-

${otp}

-

This OTP will expire in 10 minutes.

-

If you did not request this OTP, please ignore this email.

-
-

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

-
- `, - }); - - if (error) { - console.error('Resend error:', error); - throw error; - } + // Send OTP via email using Resend only + if (!resend) { + console.error('āŒ Resend not configured - RESEND_EMAIL_API environment variable not set'); + return res.status(500).json({ + success: false, + message: "Email service not configured. Please contact support." + }); + } - console.log('āœ… Email sent via Resend:', data); - - res.json({ - success: true, - message: "OTP sent to your email successfully" - }); - } else if (transporter) { - // Fallback to nodemailer (for development) - await transporter.sendMail({ - from: process.env.SMTP_USER, - to: email, - subject: 'Login OTP for MayaCode', - html: ` -
-

MayaCode Login Verification

-

Your login OTP is:

-

${otp}

-

This OTP will expire in 10 minutes.

-

If you did not request this OTP, please ignore this email.

-
-

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

-
- `, - }); + try { + // Use Resend (works on Render free tier - 3,000 emails/month free) + const { data, error } = await resend.emails.send({ + from: 'onboarding@resend.dev', // You can change this to your domain + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, + }); - res.json({ - success: true, - message: "OTP sent to your email successfully" - }); - } else { - // No email service configured - fallback to console - console.log('🚨 NO EMAIL SERVICE CONFIGURED - FALLBACK MODE'); - console.log('šŸ“§ Email:', email); - console.log('šŸ”‘ OTP:', otp); - console.log('ā° Expires at:', expiresAt); - console.log('šŸ’” Use this OTP to login (for development only)'); - - res.json({ - success: true, - message: "OTP generated successfully (check server logs for OTP - email service not configured)", - fallback: true, - otp: otp + if (error) { + console.error('āŒ Resend error:', error); + return res.status(500).json({ + success: false, + message: "Failed to send email. Please try again." }); } - } catch (emailError) { - console.error('Email sending error:', emailError); - - // FALLBACK: Log OTP to console for development - console.log('🚨 EMAIL SERVICE UNAVAILABLE - FALLBACK MODE'); - console.log('šŸ“§ Email:', email); - console.log('šŸ”‘ OTP:', otp); - console.log('ā° Expires at:', expiresAt); - console.log('šŸ’” Use this OTP to login (for development only)'); + + console.log('āœ… Email sent via Resend:', data); res.json({ success: true, - message: "OTP generated successfully (check server logs for OTP - email service unavailable)", - fallback: true, - otp: otp + message: "OTP sent to your email successfully" + }); + } catch (emailError) { + console.error('āŒ Email sending error:', emailError); + + return res.status(500).json({ + success: false, + message: "Failed to send OTP. Please try again." }); } } catch (error) { From 1cd3303d0f4750dc11b4372b5c1dcd3ed7537f9e Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 22:35:17 +0530 Subject: [PATCH 19/91] Fix post creation: change phone field to email to match frontend --- Backend/src/models/Post.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Backend/src/models/Post.js b/Backend/src/models/Post.js index 91bdbeb..65481d6 100644 --- a/Backend/src/models/Post.js +++ b/Backend/src/models/Post.js @@ -13,7 +13,7 @@ const locationSchema = new mongoose.Schema({ }); const postSchema = new mongoose.Schema({ - phone: { + email: { type: String, required: true }, From 4e304d2cdc356454c45cc0b889344a2e9981974c Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 22:39:21 +0530 Subject: [PATCH 20/91] updated 25/10/2025 --- Frontend/README.md | 6 +- Frontend/app/(tabs)/create-story.tsx | 8 +- Frontend/app/(tabs)/helpAndAsk.tsx | 8 +- Frontend/app/(tabs)/profile.tsx | 10 +- Frontend/app/(tabs)/stories.tsx | 18 +- Frontend/assets/avatar.svg | 6 - Frontend/assets/ds.svg | 11 - Frontend/assets/logo.svg | 6 - Frontend/assets/ml.svg | 9 - Frontend/assets/python.svg | 7 - Frontend/assets/web.svg | 7 - Frontend/components/CreatePostModal.tsx | 4 +- Frontend/components/PostCard.tsx | 3 +- Frontend/components/SidebarMenu.tsx | 2 +- Frontend/context/AuthContext.tsx | 83 ++++- Frontend/context/SocketContext.tsx | 17 + Frontend/eas.json | 3 - Frontend/models/Post.ts | 138 ++++---- Frontend/scripts/reset-project.js | 112 ------ Frontend/services/userService.ts | 438 +++++++----------------- 20 files changed, 317 insertions(+), 579 deletions(-) delete mode 100644 Frontend/assets/avatar.svg delete mode 100644 Frontend/assets/ds.svg delete mode 100644 Frontend/assets/logo.svg delete mode 100644 Frontend/assets/ml.svg delete mode 100644 Frontend/assets/python.svg delete mode 100644 Frontend/assets/web.svg delete mode 100644 Frontend/scripts/reset-project.js diff --git a/Frontend/README.md b/Frontend/README.md index f7c0383..70e506a 100644 --- a/Frontend/README.md +++ b/Frontend/README.md @@ -31,7 +31,7 @@ A full-stack mobile platform connecting refugees and helpers for community-drive - **Interactive Post System:** Create and manage help requests, offers, and community stories dynamically. - **Live Statistics Dashboard:** Track contributions, engagements, and user activity analytics. - **Multi-Language Support (Planned):** Support for localized experiences based on user preferences. -- **Secure OTP Authentication:** Phone-based login with JWT session management via Appwrite. +- **Secure OTP Authentication:** Email-based login with JWT session management. - **Image Upload & Management:** Enable image attachments to profiles and posts for enriched interaction. --- @@ -41,7 +41,7 @@ A full-stack mobile platform connecting refugees and helpers for community-drive - **Frontend:** React Native, Expo, TypeScript - **Backend:** Node.js, Express.js - **Database:** MongoDB -- **Authentication:** Appwrite +- **Authentication:** Email OTP with JWT - **Maps & Location:** Google Maps API - **Deployment:** Render (Backend), Expo EAS (Frontend) @@ -54,7 +54,7 @@ A full-stack mobile platform connecting refugees and helpers for community-drive - Node.js and npm - Expo CLI (install with `npm install -g expo-cli`) - A running MongoDB instance (local or cloud) -- Appwrite instance (for OTP authentication) +- SMTP email service (for OTP delivery) - Google Maps API Key ### Steps diff --git a/Frontend/app/(tabs)/create-story.tsx b/Frontend/app/(tabs)/create-story.tsx index c1ad2b8..e45acf5 100644 --- a/Frontend/app/(tabs)/create-story.tsx +++ b/Frontend/app/(tabs)/create-story.tsx @@ -44,8 +44,8 @@ const CreateStoryScreen = () => { }; const handleCreateAndPublish = async () => { - if (!user?.phone) { - console.log('No phone number found in user session:', user); + if (!user?.email) { + console.log('No email found in user session:', user); Toast.show({ type: 'error', text1: 'Authentication Error', @@ -73,7 +73,7 @@ const CreateStoryScreen = () => { setIsLoading(true); console.log('Creating story with data:', { - phone: user.phone, + email: user.email, type: 'Story', title: title.trim(), content: description.trim(), @@ -82,7 +82,7 @@ const CreateStoryScreen = () => { try { const newStory = await postService.createPost( - user.phone, + user.email, 'Story', title.trim(), description.trim(), diff --git a/Frontend/app/(tabs)/helpAndAsk.tsx b/Frontend/app/(tabs)/helpAndAsk.tsx index 9d86cea..579fe68 100644 --- a/Frontend/app/(tabs)/helpAndAsk.tsx +++ b/Frontend/app/(tabs)/helpAndAsk.tsx @@ -62,7 +62,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro }; const handleSubmit = async () => { - if (!title.trim() || !content.trim() || !user?.phone) { + if (!title.trim() || !content.trim() || !user?.email) { Alert.alert( 'Missing Information', 'Please provide title, content, and ensure you are logged in.', @@ -83,7 +83,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro setIsLoading(true); try { const newPost = await postService.createPost( - user.phone, + user.email, postType, title.trim(), content.trim(), @@ -332,7 +332,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro Location: {selectedPost.location.latitude.toFixed(4)}, {selectedPost.location.longitude.toFixed(4)} )} - {selectedPost.phone ? By: {selectedPost.phone} : null} + {selectedPost.email ? By: {selectedPost.email} : null} Created: {new Date(selectedPost.createdAt).toLocaleDateString()} @@ -487,7 +487,7 @@ export default function HelpAndAsk() { Location: {selectedPost.location.latitude.toFixed(4)}, {selectedPost.location.longitude.toFixed(4)} )} - {selectedPost.phone ? By: {selectedPost.phone} : null} + {selectedPost.email ? By: {selectedPost.email} : null} Created: {new Date(selectedPost.createdAt).toLocaleDateString()} diff --git a/Frontend/app/(tabs)/profile.tsx b/Frontend/app/(tabs)/profile.tsx index 436bb86..e56774a 100644 --- a/Frontend/app/(tabs)/profile.tsx +++ b/Frontend/app/(tabs)/profile.tsx @@ -38,7 +38,7 @@ export default function ProfileScreen() { try { const newProfile = await userService.updateUserProfile({ - name: user.name || user.phone, + name: user.name || user.email, userType: 'Other', languages: [], createdStories: [], @@ -67,9 +67,9 @@ export default function ProfileScreen() { if (user) { setIsLoadingProfile(true); try { - // Check if phone number exists in Appwrite session - if (!user.phone) { - console.log('No phone number found in Appwrite session'); + // Check if email exists in user session + if (!user.email) { + console.log('No email found in user session'); router.replace('/login'); return; } @@ -145,7 +145,7 @@ export default function ProfileScreen() { )} - {userProfile?.name || user.phone} + {userProfile?.name || user.email} diff --git a/Frontend/app/(tabs)/stories.tsx b/Frontend/app/(tabs)/stories.tsx index def8599..0d80b2e 100644 --- a/Frontend/app/(tabs)/stories.tsx +++ b/Frontend/app/(tabs)/stories.tsx @@ -38,14 +38,14 @@ const Stories = () => { }, []); const fetchMyStories = useCallback(async () => { - if (!user?.phone) { + if (!user?.email) { console.log('No phone number found in user session:', user); setMyStories([]); return; } setIsLoading(true); try { - const userPosts = await postService.getUserPosts(user.phone); + const userPosts = await postService.getUserPosts(user.email); // Filter for only 'Story' type posts const userStoryPosts = userPosts.filter(post => post.type === 'Story'); setMyStories(userStoryPosts); @@ -59,19 +59,19 @@ const Stories = () => { } finally { setIsLoading(false); } - }, [user?.phone]); + }, [user?.email]); useFocusEffect( useCallback(() => { fetchAllStories(); - if (user?.phone) { + if (user?.email) { fetchMyStories(); } - }, [fetchAllStories, fetchMyStories, user?.phone]) + }, [fetchAllStories, fetchMyStories, user?.email]) ); useEffect(() => { - if (activeTab === 'my' && !user?.phone) { + if (activeTab === 'my' && !user?.email) { // If user switches to 'My Stories' but is not logged in, switch back to 'All Stories' setActiveTab('all'); Toast.show({ @@ -80,7 +80,7 @@ const Stories = () => { text2: 'Please sign in to view your stories.', }); } - }, [activeTab, user?.phone]); + }, [activeTab, user?.email]); const storiesToShow = activeTab === 'my' ? myStories : allStories; @@ -102,7 +102,7 @@ const Stories = () => { }); // Refetch stories after deletion fetchAllStories(); - if (user?.phone) { + if (user?.email) { fetchMyStories(); } } else { @@ -136,7 +136,7 @@ const Stories = () => { }, [router]); const handleWriteStory = () => { - if (!user?.phone) { + if (!user?.email) { console.log('No phone number found in user session:', user); Toast.show({ type: 'error', diff --git a/Frontend/assets/avatar.svg b/Frontend/assets/avatar.svg deleted file mode 100644 index 8905c66..0000000 --- a/Frontend/assets/avatar.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Frontend/assets/ds.svg b/Frontend/assets/ds.svg deleted file mode 100644 index ee6dd74..0000000 --- a/Frontend/assets/ds.svg +++ /dev/null @@ -1,11 +0,0 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/Frontend/assets/logo.svg b/Frontend/assets/logo.svg deleted file mode 100644 index 8b237e6..0000000 --- a/Frontend/assets/logo.svg +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Frontend/assets/ml.svg b/Frontend/assets/ml.svg deleted file mode 100644 index 3297891..0000000 --- a/Frontend/assets/ml.svg +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Frontend/assets/python.svg b/Frontend/assets/python.svg deleted file mode 100644 index 24dc246..0000000 --- a/Frontend/assets/python.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Frontend/assets/web.svg b/Frontend/assets/web.svg deleted file mode 100644 index dde2906..0000000 --- a/Frontend/assets/web.svg +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Frontend/components/CreatePostModal.tsx b/Frontend/components/CreatePostModal.tsx index f4eabfb..7ff51b1 100644 --- a/Frontend/components/CreatePostModal.tsx +++ b/Frontend/components/CreatePostModal.tsx @@ -76,7 +76,7 @@ export const CreatePostModal: React.FC = ({ }; const handleSubmit = async () => { - if (!selectedType || !title.trim() || !content.trim() || !user?.phone) { + if (!selectedType || !title.trim() || !content.trim() || !user?.email) { Toast.show({ type: 'info', text1: 'Missing Information', @@ -98,7 +98,7 @@ export const CreatePostModal: React.FC = ({ setIsLoading(true); try { const newPost = await postService.createPost( - user.phone, + user.email, selectedType, title.trim(), content.trim(), diff --git a/Frontend/components/PostCard.tsx b/Frontend/components/PostCard.tsx index 5fca819..bc0d035 100644 --- a/Frontend/components/PostCard.tsx +++ b/Frontend/components/PostCard.tsx @@ -17,7 +17,8 @@ const PostCard: React.FC = ({ onEdit, }) => { const { user } = useAuth(); - const isMyPost = user?.phone === post.phone; + // Check if this is the current user's post + const isMyPost = user?.email === post.email; const handleDelete = () => { Alert.alert( diff --git a/Frontend/components/SidebarMenu.tsx b/Frontend/components/SidebarMenu.tsx index 8bd0907..a92e603 100644 --- a/Frontend/components/SidebarMenu.tsx +++ b/Frontend/components/SidebarMenu.tsx @@ -161,7 +161,7 @@ export default function SidebarMenu({ isOpen, onClose }: SidebarMenuProps) { handleNavigation("/profile")}> - {isLoading || isLoadingProfile ? 'Loading...' : userProfile?.name || user?.phone || 'Profile'} + {isLoading || isLoadingProfile ? 'Loading...' : userProfile?.name || user?.email || 'Profile'} diff --git a/Frontend/context/AuthContext.tsx b/Frontend/context/AuthContext.tsx index 8c7f775..e1cc3f7 100644 --- a/Frontend/context/AuthContext.tsx +++ b/Frontend/context/AuthContext.tsx @@ -6,7 +6,7 @@ import axios from 'axios'; import AsyncStorage from '@react-native-async-storage/async-storage'; // Backend API Configuration -const API_BASE_URL = 'http://localhost:8000'; // Backend server URL +const API_BASE_URL = process.env.EXPO_PUBLIC_BACKEND_URL || 'http://localhost:8000'; // Define types export interface User { @@ -93,26 +93,68 @@ export const AuthProvider: React.FC = ({ children }) => { setIsSendingOtp(true); try { console.log('Sending OTP to:', email); + console.log('Using API URL:', API_BASE_URL); + console.log('Full request URL:', `${API_BASE_URL.replace('/api', '')}/auth/request-otp`); + + // Skip health check for now - go directly to OTP request + console.log('Attempting OTP request...'); - const response = await axios.post(`${API_BASE_URL}/auth/request-otp`, { + const response = await axios.post(`${API_BASE_URL.replace('/api', '')}/auth/request-otp`, { email: email + }, { + timeout: 10000, // 10 second timeout + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } }); - if (response.data.message === 'OTP sent to email') { - Toast.show({ - type: 'success', - text1: 'OTP Sent', - text2: 'Please enter the OTP sent to your email.', - }); + if (response.data.success) { + if (response.data.fallback) { + // Development fallback - show OTP in console and toast + console.log('šŸ”‘ OTP for development:', response.data.otp); + Toast.show({ + type: 'info', + text1: 'OTP Generated', + text2: `Development mode: OTP is ${response.data.otp}`, + }); + } else { + Toast.show({ + type: 'success', + text1: 'OTP Sent', + text2: 'Please enter the OTP sent to your email.', + }); + } return true; } return false; } catch (error: any) { console.error("Error sending OTP:", error); + console.error("Full error details:", { + message: error.message, + code: error.code, + response: error.response?.data, + status: error.response?.status, + config: { + url: error.config?.url, + method: error.config?.method, + headers: error.config?.headers + } + }); + + let errorMessage = 'Please check your email and try again.'; + if (error.code === 'ECONNABORTED') { + errorMessage = 'Request timed out. Please check your internet connection and try again.'; + } else if (error.message === 'Network Error') { + errorMessage = 'Network error. Please check your internet connection.'; + } else if (error.response?.data?.message) { + errorMessage = error.response.data.message; + } + Toast.show({ type: 'error', text1: 'Failed to send OTP', - text2: error.response?.data?.message || 'Please check your email and try again.', + text2: errorMessage, }); return false; } finally { @@ -125,12 +167,18 @@ export const AuthProvider: React.FC = ({ children }) => { try { console.log(`Verifying OTP for email: ${email}`); - const response = await axios.post(`${API_BASE_URL}/auth/verify-otp`, { + const response = await axios.post(`${API_BASE_URL.replace('/api', '')}/auth/verify-otp`, { email: email, otp: otp + }, { + timeout: 10000, // 10 second timeout + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' + } }); - if (response.data.token && response.data.user) { + if (response.data.success && response.data.token && response.data.user) { // Store token and user data await AsyncStorage.setItem('authToken', response.data.token); setToken(response.data.token); @@ -149,10 +197,21 @@ export const AuthProvider: React.FC = ({ children }) => { return false; } catch (error: any) { console.error("Error verifying OTP:", error); + console.error("Full error details:", { + message: error.message, + code: error.code, + response: error.response?.data, + status: error.response?.status, + config: { + url: error.config?.url, + method: error.config?.method, + headers: error.config?.headers + } + }); Toast.show({ type: 'error', text1: 'Invalid OTP', - text2: error.response?.data?.message || 'Please check the OTP and try again.', + text2: error.response?.data?.message || error.message || 'Please check the OTP and try again.', }); return false; } finally { diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index 73d056a..c31d294 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -35,6 +35,7 @@ export const SocketProvider: React.FC = ({ children }) => { const connectSocket = useCallback(() => { if (!socket) { + console.log("[Socket] Connecting to:", process.env.EXPO_PUBLIC_BASE_URL); const _socket = io(process.env.EXPO_PUBLIC_BASE_URL, { autoConnect: true, reconnection: true, @@ -55,6 +56,14 @@ export const SocketProvider: React.FC = ({ children }) => { }); _socket.on("error", (err) => { console.log("[Socket] Error", err); + console.error("Full socket error details:", { + message: err?.message, + description: (err as any)?.description, + context: (err as any)?.context, + type: (err as any)?.type, + transport: (err as any)?.transport, + url: process.env.EXPO_PUBLIC_BASE_URL + }); setConnectionStatus('error'); if (Toast && Toast.show) { Toast.show({ type: 'error', text1: 'Socket Error', text2: err?.message || String(err) }); @@ -62,6 +71,14 @@ export const SocketProvider: React.FC = ({ children }) => { }); _socket.on("connect_error", (err) => { console.log("[Socket] Connect Error", err); + console.error("Full socket connect error details:", { + message: err?.message, + description: (err as any)?.description, + context: (err as any)?.context, + type: (err as any)?.type, + transport: (err as any)?.transport, + url: process.env.EXPO_PUBLIC_BASE_URL + }); setConnectionStatus('error'); if (Toast && Toast.show) { Toast.show({ type: 'error', text1: 'Socket Connect Error', text2: err?.message || String(err) }); diff --git a/Frontend/eas.json b/Frontend/eas.json index a8ac415..83edbc1 100644 --- a/Frontend/eas.json +++ b/Frontend/eas.json @@ -9,7 +9,6 @@ "distribution": "internal", "env": { "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", - "EXPO_PUBLIC_APPWRITE_PROJECT_ID": "${EXPO_PUBLIC_APPWRITE_PROJECT_ID}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" }, "android": { @@ -48,7 +47,6 @@ }, "env": { "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", - "EXPO_PUBLIC_APPWRITE_PROJECT_ID": "${EXPO_PUBLIC_APPWRITE_PROJECT_ID}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" } }, @@ -56,7 +54,6 @@ "autoIncrement": true, "env": { "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", - "EXPO_PUBLIC_APPWRITE_PROJECT_ID": "${EXPO_PUBLIC_APPWRITE_PROJECT_ID}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" }, "android": { diff --git a/Frontend/models/Post.ts b/Frontend/models/Post.ts index 891b7c7..3f4b5d1 100644 --- a/Frontend/models/Post.ts +++ b/Frontend/models/Post.ts @@ -1,70 +1,70 @@ -import { ObjectId } from 'mongodb'; - -export type PostType = 'Offer Help' | 'Ask for Help' | 'Story'; - -export interface Location { - latitude: number; - longitude: number; -} - -export interface Post { - _id?: ObjectId; - phone: string; - type: PostType; - title: string; - content: string; - images?: string[]; - location?: Location; - tags?: string[]; - status: 'active' | 'completed' | 'archived'; - views: number; - isUrgent?: boolean; - expiresAt?: Date; - createdAt: Date; - updatedAt: Date; -} - -// Helper function to create a new post -export const createPost = ( - phone: string, - type: PostType, - title: string, - content: string, - data: Partial = {} -): Post => { - const now = new Date(); - return { - phone, - type, - title, - content, - status: 'active', - views: 0, - createdAt: now, - updatedAt: now, - ...data - }; -}; - -// Helper function to update a post -export const updatePost = (post: Post, updates: Partial): Post => { - return { - ...post, - ...updates, - updatedAt: new Date() - }; -}; - -// Helper function to validate post data -export const validatePost = (post: Post): { isValid: boolean; error?: string } => { - if (!post.title.trim()) { - return { isValid: false, error: 'Title is required' }; - } - if (!post.content.trim()) { - return { isValid: false, error: 'Content is required' }; - } - if (post.type !== 'Story' && !post.location) { - return { isValid: false, error: 'Location is required for Offer Help and Ask for Help posts' }; - } - return { isValid: true }; +import { ObjectId } from 'mongodb'; + +export type PostType = 'Offer Help' | 'Ask for Help' | 'Story'; + +export interface Location { + latitude: number; + longitude: number; +} + +export interface Post { + _id?: ObjectId; + email: string; + type: PostType; + title: string; + content: string; + images?: string[]; + location?: Location; + tags?: string[]; + status: 'active' | 'completed' | 'archived'; + views: number; + isUrgent?: boolean; + expiresAt?: Date; + createdAt: Date; + updatedAt: Date; +} + +// Helper function to create a new post +export const createPost = ( + email: string, + type: PostType, + title: string, + content: string, + data: Partial = {} +): Post => { + const now = new Date(); + return { + email, + type, + title, + content, + status: 'active', + views: 0, + createdAt: now, + updatedAt: now, + ...data + }; +}; + +// Helper function to update a post +export const updatePost = (post: Post, updates: Partial): Post => { + return { + ...post, + ...updates, + updatedAt: new Date() + }; +}; + +// Helper function to validate post data +export const validatePost = (post: Post): { isValid: boolean; error?: string } => { + if (!post.title.trim()) { + return { isValid: false, error: 'Title is required' }; + } + if (!post.content.trim()) { + return { isValid: false, error: 'Content is required' }; + } + if (post.type !== 'Story' && !post.location) { + return { isValid: false, error: 'Location is required for Offer Help and Ask for Help posts' }; + } + return { isValid: true }; }; \ No newline at end of file diff --git a/Frontend/scripts/reset-project.js b/Frontend/scripts/reset-project.js deleted file mode 100644 index 51dff15..0000000 --- a/Frontend/scripts/reset-project.js +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env node - -/** - * This script is used to reset the project to a blank state. - * It deletes or moves the /app, /components, /hooks, /scripts, and /constants directories to /app-example based on user input and creates a new /app directory with an index.tsx and _layout.tsx file. - * You can remove the `reset-project` script from package.json and safely delete this file after running it. - */ - -const fs = require("fs"); -const path = require("path"); -const readline = require("readline"); - -const root = process.cwd(); -const oldDirs = ["app", "components", "hooks", "constants", "scripts"]; -const exampleDir = "app-example"; -const newAppDir = "app"; -const exampleDirPath = path.join(root, exampleDir); - -const indexContent = `import { Text, View } from "react-native"; - -export default function Index() { - return ( - - Edit app/index.tsx to edit this screen. - - ); -} -`; - -const layoutContent = `import { Stack } from "expo-router"; - -export default function RootLayout() { - return ; -} -`; - -const rl = readline.createInterface({ - input: process.stdin, - output: process.stdout, -}); - -const moveDirectories = async (userInput) => { - try { - if (userInput === "y") { - // Create the app-example directory - await fs.promises.mkdir(exampleDirPath, { recursive: true }); - console.log(`šŸ“ /${exampleDir} directory created.`); - } - - // Move old directories to new app-example directory or delete them - for (const dir of oldDirs) { - const oldDirPath = path.join(root, dir); - if (fs.existsSync(oldDirPath)) { - if (userInput === "y") { - const newDirPath = path.join(root, exampleDir, dir); - await fs.promises.rename(oldDirPath, newDirPath); - console.log(`āž”ļø /${dir} moved to /${exampleDir}/${dir}.`); - } else { - await fs.promises.rm(oldDirPath, { recursive: true, force: true }); - console.log(`āŒ /${dir} deleted.`); - } - } else { - console.log(`āž”ļø /${dir} does not exist, skipping.`); - } - } - - // Create new /app directory - const newAppDirPath = path.join(root, newAppDir); - await fs.promises.mkdir(newAppDirPath, { recursive: true }); - console.log("\nšŸ“ New /app directory created."); - - // Create index.tsx - const indexPath = path.join(newAppDirPath, "index.tsx"); - await fs.promises.writeFile(indexPath, indexContent); - console.log("šŸ“„ app/index.tsx created."); - - // Create _layout.tsx - const layoutPath = path.join(newAppDirPath, "_layout.tsx"); - await fs.promises.writeFile(layoutPath, layoutContent); - console.log("šŸ“„ app/_layout.tsx created."); - - console.log("\nāœ… Project reset complete. Next steps:"); - console.log( - `1. Run \`npx expo start\` to start a development server.\n2. Edit app/index.tsx to edit the main screen.${ - userInput === "y" - ? `\n3. Delete the /${exampleDir} directory when you're done referencing it.` - : "" - }` - ); - } catch (error) { - console.error(`āŒ Error during script execution: ${error.message}`); - } -}; - -rl.question( - "Do you want to move existing files to /app-example instead of deleting them? (Y/n): ", - (answer) => { - const userInput = answer.trim().toLowerCase() || "y"; - if (userInput === "y" || userInput === "n") { - moveDirectories(userInput).finally(() => rl.close()); - } else { - console.log("āŒ Invalid input. Please enter 'Y' or 'N'."); - rl.close(); - } - } -); diff --git a/Frontend/services/userService.ts b/Frontend/services/userService.ts index 86c07c9..202d28d 100644 --- a/Frontend/services/userService.ts +++ b/Frontend/services/userService.ts @@ -1,28 +1,15 @@ import { UserProfile } from '@/models/User'; -import { account } from '@/context/AuthContext'; const API_URL = process.env.EXPO_PUBLIC_BACKEND_URL || 'http://localhost:8000/api'; -// Helper function to get phone from session -const getPhoneFromSession = async (): Promise => { +// Helper function to get auth token from AsyncStorage +const getAuthToken = async (): Promise => { try { - const session = await account.getSession('current'); - if (!session) { - console.error('No session found'); - return null; - } - - const user = await account.get(); - const phone = user?.phone; - - if (!phone) { - console.error('No phone number found in user details'); - return null; - } - - return phone; + const AsyncStorage = require('@react-native-async-storage/async-storage').default; + const token = await AsyncStorage.getItem('authToken'); + return token; } catch (error) { - console.error('Error getting session:', error); + console.error('Error getting auth token:', error); return null; } }; @@ -30,373 +17,208 @@ const getPhoneFromSession = async (): Promise => { // Simple GET request const getRequest = async (endpoint: string): Promise => { try { - const response = await fetch( - `${API_URL}${endpoint}`, - { - method: 'GET', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, + const response = await fetch(`${API_URL}${endpoint}`, { + method: 'GET', + headers: { + 'Content-Type': 'application/json', + 'Accept': 'application/json' } - ); + }); if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); + throw new Error(`HTTP error! status: ${response.status}`); } - const data = await response.json(); - console.log('āœ… Response data:', data); - return data as T; + return await response.json(); } catch (error) { - console.error('GET request error:', error); + console.error('GET request failed:', error); throw error; } }; -const handleApiResponse = async (response: Response): Promise => { - if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); - } - - const responseData = await response.json(); - console.log('Response data:', responseData); - return responseData as T; -}; - -// Simple POST request -const postRequest = async (endpoint: string, data: any): Promise => { +// Authenticated GET request +const getAuthenticatedRequest = async (endpoint: string): Promise => { try { - const response = await fetch( - `${API_URL}${endpoint}`, - { - method: 'POST', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, - body: JSON.stringify(data), + const token = await getAuthToken(); + + if (!token) { + throw new Error('No authentication token found'); + } + + const response = await fetch(`${API_URL}${endpoint}`, { + method: 'GET', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + 'Accept': 'application/json' } - ); + }); if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); + throw new Error(`HTTP error! status: ${response.status}`); } - const responseData = await response.json(); - console.log('Response data:', responseData); - return responseData as T; + return await response.json(); } catch (error) { - console.error('POST request error:', error); + console.error('Authenticated GET request failed:', error); throw error; } }; -// Simple PUT request -const putRequest = async (endpoint: string, data: any): Promise => { +// Authenticated POST request +const postAuthenticatedRequest = async (endpoint: string, data: any): Promise => { try { - const response = await fetch( - `${API_URL}${endpoint}`, - { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, - body: JSON.stringify(data), - } - ); + const token = await getAuthToken(); + + if (!token) { + throw new Error('No authentication token found'); + } + + const response = await fetch(`${API_URL}${endpoint}`, { + method: 'POST', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + 'Accept': 'application/json' + }, + body: JSON.stringify(data) + }); if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); + throw new Error(`HTTP error! status: ${response.status}`); } - const responseData = await response.json(); - console.log('āœ… Response data:', responseData); - return responseData as T; + return await response.json(); } catch (error) { - console.error('PUT request error:', error); + console.error('Authenticated POST request failed:', error); throw error; } }; -// Simple DELETE request -const deleteRequest = async (endpoint: string): Promise => { +// Authenticated PUT request +const putAuthenticatedRequest = async (endpoint: string, data: any): Promise => { try { - const response = await fetch( - `${API_URL}${endpoint}`, - { - method: 'DELETE', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - }, - } - ); + const token = await getAuthToken(); + + if (!token) { + throw new Error('No authentication token found'); + } + + const response = await fetch(`${API_URL}${endpoint}`, { + method: 'PUT', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + 'Accept': 'application/json' + }, + body: JSON.stringify(data) + }); if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); + throw new Error(`HTTP error! status: ${response.status}`); } - console.log('āœ… Delete successful'); + return await response.json(); } catch (error) { - console.error('DELETE request error:', error); + console.error('Authenticated PUT request failed:', error); throw error; } }; -// Test API connectivity -export const testConnection = async (): Promise<{ success: boolean; data?: any; error?: string }> => { +// Authenticated DELETE request +const deleteAuthenticatedRequest = async (endpoint: string): Promise => { try { - console.log('🧪 Testing API connection...'); - const data = await getRequest('/users'); - return { success: true, data }; - } catch (error) { - console.error('Network error:', error); - return { - success: false, - error: error instanceof Error ? error.message : 'Unknown error' - }; - } -}; - -// User Profile Operations -export const userService = { - // Get all users - getAllUsers: async (): Promise => { - try { - console.log('šŸ‘„ Fetching all users...'); - - const url = 'http://localhost:8000/api/users/'; - console.log('🌐 Making request to:', url); - - const response = await fetch(url, { - method: 'GET', - headers: { - 'Content-Type': 'application/json', - }, - }); - - console.log('šŸ“„ Response status:', response.status); - console.log('šŸ“„ Response headers:', response.headers); + const token = await getAuthToken(); + + if (!token) { + throw new Error('No authentication token found'); + } - if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); + const response = await fetch(`${API_URL}${endpoint}`, { + method: 'DELETE', + headers: { + 'Authorization': `Bearer ${token}`, + 'Content-Type': 'application/json', + 'Accept': 'application/json' } + }); - const data = await response.json(); - console.log('āœ… Users data:', data); - return data as UserProfile[]; - } catch (error) { - console.error('getAllUsers error:', error); - if (error instanceof Error) { - console.error('Error details:', { - message: error.message, - stack: error.stack, - name: error.name - }); - } - return null; + if (!response.ok) { + throw new Error(`HTTP error! status: ${response.status}`); } - }, + return await response.json(); + } catch (error) { + console.error('Authenticated DELETE request failed:', error); + throw error; + } +}; + +export const userService = { // Get user profile getUserProfile: async (): Promise => { try { console.log('šŸ‘¤ Getting user profile...'); - - const phone = await getPhoneFromSession(); - console.log('šŸ“± Phone from session:', phone); - - if (!phone) { - console.error('No phone number found in session'); - return null; - } - - const response = await fetch( - `${API_URL}/users/phone/${phone}`, - { - method: 'GET', - headers: { - 'Content-Type': 'application/json', - 'Accept': 'application/json' - } - } - ); - - console.log('šŸ“„ Response status:', response.status); - console.log('šŸ“„ Response headers:', response.headers); - - if (!response.ok) { - const errorText = await response.text(); - console.error('Error response:', errorText); - throw new Error(errorText || `Request failed with status ${response.status}`); - } - - const data = await response.json(); - console.log('āœ… User profile data:', data); - return data as UserProfile; + return await getAuthenticatedRequest('/users/profile'); } catch (error) { - console.error('getUserProfile error:', error); - throw error; + console.error('āŒ Error getting user profile:', error); + return null; } }, - // Create user profile - createUserProfile: async (userData: Partial): Promise => { + // Update user profile + updateUserProfile: async (profileData: Partial): Promise => { try { - console.log('šŸ‘¤ Creating user profile...'); - - const phone = await getPhoneFromSession(); - if (!phone) { - console.error('No phone number found in session'); - return null; - } - - const profileData = { - ...userData, - phone, - lastActive: new Date().toISOString() - }; - - return await postRequest(`/users/phone/${phone}`, profileData); + console.log('šŸ“ Updating user profile...', profileData); + return await putAuthenticatedRequest('/users/profile', profileData); } catch (error) { - console.error('Error creating user profile:', error); + console.error('āŒ Error updating user profile:', error); return null; } }, - // Update user profile - updateUserProfile: async (updates: Partial): Promise => { + // Get user statistics + getUserStats: async (): Promise => { try { - const phone = await getPhoneFromSession(); - if (!phone) { - console.error('No phone number found in session'); - return null; - } - - // Clean up updates by removing undefined values and empty arrays - const cleanedUpdates = Object.entries(updates).reduce((acc, [key, value]) => { - if (value !== undefined && !(Array.isArray(value) && value.length === 0)) { - acc[key] = value; - } - return acc; - }, {} as Record); - - // Format updates to match backend expectations - const formattedUpdates = { - ...cleanedUpdates, - lastActive: new Date().toISOString() - }; - - console.log('Update Profile Request:', { - phone, - updates, - apiUrl: API_URL - }); - - const response = await fetch( - `${API_URL}/users/phone/${phone}`, - { - method: 'PUT', - headers: { - 'Content-Type': 'application/json', - }, - body: JSON.stringify(formattedUpdates) - } - ); - - console.log('šŸ“„ Response status:', response.status); - console.log('šŸ“„ Response headers:', response.headers); - - const responseText = await response.text(); - console.log('šŸ“„ Raw response:', responseText); - - if (!response.ok) { - console.error('Error response:', responseText); - throw new Error(`Request failed with status ${response.status}: ${responseText}`); - } - - let data; - try { - data = JSON.parse(responseText); - console.log('āœ… Parsed response data:', data); - } catch (parseError) { - console.error('Error parsing response:', parseError); - throw new Error('Invalid JSON response from server'); - } - - return data as UserProfile; + console.log('šŸ“Š Getting user statistics...'); + return await getAuthenticatedRequest('/users/stats'); } catch (error) { - console.error('updateUserProfile error:', error); - if (error instanceof Error) { - console.error('Error details:', { - message: error.message, - name: error.name - }); - } - throw new Error('Failed to update user profile in database.'); + console.error('āŒ Error getting user statistics:', error); + return null; } }, - // Delete user profile - deleteUserProfile: async (): Promise => { + // Update user statistics + updateUserStats: async (stats: any): Promise => { try { - const phone = await getPhoneFromSession(); - if (!phone) { - console.error('No phone number found in session'); - return false; - } - - await deleteRequest(`/users/phone/${phone}`); - return true; + console.log('šŸ“Š Updating user statistics...', stats); + return await putAuthenticatedRequest('/users/stats', stats); } catch (error) { - console.error('Error deleting user profile:', error); - return false; + console.error('āŒ Error updating user statistics:', error); + return null; } }, - // Update user stats - updateUserStats: async (stats: UserProfile['stats']): Promise => { + // Get user posts + getUserPosts: async (): Promise => { try { - const phone = await getPhoneFromSession(); - if (!phone) { - console.error('No phone number found in session'); - return null; - } - - return await putRequest(`/users/phone/${phone}/stats`, { stats }); + console.log('šŸ“ Getting user posts...'); + return await getAuthenticatedRequest('/users/posts'); } catch (error) { - console.error('Error updating user stats:', error); - return null; + console.error('āŒ Error getting user posts:', error); + return []; } }, - // Add created post - addCreatedPost: async (postId: string, postType: 'Offer Help' | 'Ask for Help' | 'Story'): Promise => { + // Delete user account + deleteUserAccount: async (): Promise => { try { - const phone = await getPhoneFromSession(); - if (!phone) { - console.error('No phone number found in session'); - return null; - } - - return await postRequest(`/users/phone/${phone}/posts`, { postId, postType }); + console.log('šŸ—‘ļø Deleting user account...'); + await deleteAuthenticatedRequest('/users/account'); + return true; } catch (error) { - console.error('Error adding created post:', error); - return null; + console.error('āŒ Error deleting user account:', error); + return false; } } }; \ No newline at end of file From 432936865f58ade3feba968854673bc3093ab7c1 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 25 Oct 2025 22:39:57 +0530 Subject: [PATCH 21/91] updated 25/10/2025 --- Frontend/app.json | 2 +- README.md | 238 +++++++++++++++++++++++----------------------- 2 files changed, 120 insertions(+), 120 deletions(-) diff --git a/Frontend/app.json b/Frontend/app.json index 56e0021..a77743a 100644 --- a/Frontend/app.json +++ b/Frontend/app.json @@ -55,7 +55,7 @@ ], "extra": { "eas": { - "projectId": "dd2a45c0-9d2a-4f46-9b2e-b49444cfbba8" + "projectId": "8fd84bc1-14ba-4a35-831f-3030e69c1f6a" } } } diff --git a/README.md b/README.md index 36f1894..eb669bd 100644 --- a/README.md +++ b/README.md @@ -1,120 +1,120 @@ -## MayaCode - -### About -A full-stack mobile platform connecting refugees and helpers for community-driven support. It features real-time profile management, location-based services, and secure OTP-based authentication to foster collaborative aid within communities. - ---- - -## šŸ“š Table of Contents - -- [Overview](#overview) -- [Features](#features) -- [Tech Stack](#tech-stack) -- [Setup & Installation](#setup--installation) -- [API Endpoints](#api-endpoints) -- [Contributing](#contributing) -- [License](#license) - ---- - -## 🧩 Overview - -**MayaCode** is a cross-platform mobile application designed to bridge the gap between refugees and local helpers. Users can manage profiles, create or respond to help requests, and engage with their communities in real-time—all while maintaining a secure and seamless experience. - ---- - -## šŸš€ Features - -- **Dual-Role User System:** Seamlessly switch between Refugee and Helper roles with distinct functionalities. -- **Real-Time Profile Management:** Update user details instantly, including language preferences and profile images. -- **Location-Based Services:** Use Google Maps integration to discover and filter posts by proximity. -- **Interactive Post System:** Create and manage help requests, offers, and community stories dynamically. -- **Live Statistics Dashboard:** Track contributions, engagements, and user activity analytics. -- **Multi-Language Support (Planned):** Support for localized experiences based on user preferences. -- **Secure OTP Authentication:** Phone-based login with JWT session management via Appwrite. -- **Image Upload & Management:** Enable image attachments to profiles and posts for enriched interaction. - ---- - -## šŸ›  Tech Stack - -- **Frontend:** React Native, Expo, TypeScript -- **Backend:** Node.js, Express.js -- **Database:** MongoDB -- **Authentication:** Appwrite -- **Maps & Location:** Google Maps API -- **Deployment:** Render (Backend), Expo EAS (Frontend) - ---- - -## āš™ļø Setup & Installation - -### Prerequisites - -- Node.js and npm -- Expo CLI (install with `npm install -g expo-cli`) -- A running MongoDB instance (local or cloud) -- Appwrite instance (for OTP authentication) -- Google Maps API Key - -### Steps - -1. **Clone the repository:** - ```bash - git clone https://github.com/yourusername/mayacode.git - cd mayacode - ``` - -2. **Install root dependencies (if applicable):** - ```bash - npm install - ``` - -3. **Configure environment variables:** - - Create a `.env` file in both the frontend and backend directories. - - Add your API keys and backend URLs as needed. Refer to `eas.json` for frontend config examples. - -4. **Start the backend server:** - ```bash - cd MayaCodeBackend - npm install - npm start - ``` - -5. **Start the frontend application:** - ```bash - cd ../MayaCode - expo start - ``` - ---- - -## šŸ“” API Endpoints - -| Method | Endpoint | Description | -|--------|------------------------------------------|------------------------------------| -| POST | `/api/users/phone/:phone` | Create or update user profile | -| GET | `/api/users/phone/:phone` | Retrieve user profile | -| PUT | `/api/users/phone/:phone` | Update user profile | -| DELETE | `/api/users/phone/:phone` | Delete user profile | -| POST | `/api/users/phone/:phone/posts` | Add a new post (help/offer/story) | -| PUT | `/api/users/phone/:phone/stats` | Update user statistics | - -> ā„¹ļø For full API documentation, refer to the backend code in `/MayaCodeBackend/routes/`. - ---- - -## šŸ¤ Contributing - -We welcome contributions from the community! - -To contribute: -1. Fork the repository -2. Create a new branch (`git checkout -b feature/your-feature-name`) -3. Make your changes and commit (`git commit -m "Your message"`) -4. Push to your fork (`git push origin feature/your-feature-name`) -5. Open a Pull Request - -Please ensure your code follows the project’s style and includes tests where applicable. - +## MayaCode + +### About +A full-stack mobile platform connecting refugees and helpers for community-driven support. It features real-time profile management, location-based services, and secure OTP-based authentication to foster collaborative aid within communities. + +--- + +## šŸ“š Table of Contents + +- [Overview](#overview) +- [Features](#features) +- [Tech Stack](#tech-stack) +- [Setup & Installation](#setup--installation) +- [API Endpoints](#api-endpoints) +- [Contributing](#contributing) +- [License](#license) + +--- + +## 🧩 Overview + +**MayaCode** is a cross-platform mobile application designed to bridge the gap between refugees and local helpers. Users can manage profiles, create or respond to help requests, and engage with their communities in real-time—all while maintaining a secure and seamless experience. + +--- + +## šŸš€ Features + +- **Dual-Role User System:** Seamlessly switch between Refugee and Helper roles with distinct functionalities. +- **Real-Time Profile Management:** Update user details instantly, including language preferences and profile images. +- **Location-Based Services:** Use Google Maps integration to discover and filter posts by proximity. +- **Interactive Post System:** Create and manage help requests, offers, and community stories dynamically. +- **Live Statistics Dashboard:** Track contributions, engagements, and user activity analytics. +- **Multi-Language Support (Planned):** Support for localized experiences based on user preferences. +- **Secure OTP Authentication:** Email-based login with JWT session management. +- **Image Upload & Management:** Enable image attachments to profiles and posts for enriched interaction. + +--- + +## šŸ›  Tech Stack + +- **Frontend:** React Native, Expo, TypeScript +- **Backend:** Node.js, Express.js +- **Database:** MongoDB +- **Authentication:** Email OTP with JWT +- **Maps & Location:** Google Maps API +- **Deployment:** Render (Backend), Expo EAS (Frontend) + +--- + +## āš™ļø Setup & Installation + +### Prerequisites + +- Node.js and npm +- Expo CLI (install with `npm install -g expo-cli`) +- A running MongoDB instance (local or cloud) +- SMTP email service (for OTP delivery) +- Google Maps API Key + +### Steps + +1. **Clone the repository:** + ```bash + git clone https://github.com/yourusername/mayacode.git + cd mayacode + ``` + +2. **Install root dependencies (if applicable):** + ```bash + npm install + ``` + +3. **Configure environment variables:** + - Create a `.env` file in both the frontend and backend directories. + - Add your API keys and backend URLs as needed. Refer to `eas.json` for frontend config examples. + +4. **Start the backend server:** + ```bash + cd MayaCodeBackend + npm install + npm start + ``` + +5. **Start the frontend application:** + ```bash + cd ../MayaCode + expo start + ``` + +--- + +## šŸ“” API Endpoints + +| Method | Endpoint | Description | +|--------|------------------------------------------|------------------------------------| +| POST | `/api/users/phone/:phone` | Create or update user profile | +| GET | `/api/users/phone/:phone` | Retrieve user profile | +| PUT | `/api/users/phone/:phone` | Update user profile | +| DELETE | `/api/users/phone/:phone` | Delete user profile | +| POST | `/api/users/phone/:phone/posts` | Add a new post (help/offer/story) | +| PUT | `/api/users/phone/:phone/stats` | Update user statistics | + +> ā„¹ļø For full API documentation, refer to the backend code in `/MayaCodeBackend/routes/`. + +--- + +## šŸ¤ Contributing + +We welcome contributions from the community! + +To contribute: +1. Fork the repository +2. Create a new branch (`git checkout -b feature/your-feature-name`) +3. Make your changes and commit (`git commit -m "Your message"`) +4. Push to your fork (`git push origin feature/your-feature-name`) +5. Open a Pull Request + +Please ensure your code follows the project’s style and includes tests where applicable. + --- \ No newline at end of file From 6caa143d83df855e9e394e52bcebe2b8fef0b605 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 14:53:00 +0530 Subject: [PATCH 22/91] appled lazy loading in post images --- Backend/src/controllers/postController.js | 21 +++++++++++++++++++++ Backend/src/routes/postRoutes.js | 1 + 2 files changed, 22 insertions(+) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index b8bc14f..379176f 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -1,4 +1,8 @@ const Post = require('../models/Post'); +const path = require('path'); +const fs = require('fs'); +const https = require('https'); +const http = require('http'); // Create a new post exports.createPost = async (req, res) => { @@ -98,4 +102,21 @@ exports.getUserPosts = async (req, res) => { } catch (error) { res.status(500).json({ message: error.message }); } +}; + +// Get post images (lazy loading support) +exports.getPostImages = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get Post Images`, req.params); + try { + const { id } = req.params; + + const post = await Post.findById(id); + if (!post) { + return res.status(404).json({ message: 'Post not found' }); + } + + res.json({ images: post.images || [] }); + } catch (error) { + res.status(500).json({ message: error.message }); + } }; \ No newline at end of file diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index a057f19..bb4d36c 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -18,6 +18,7 @@ router.use((err, req, res, next) => { // Post routes router.post('/', postController.createPost); router.get('/', postController.getPosts); +router.get('/:id/images', postController.getPostImages); // Lazy load images endpoint (must be before /:id) router.get('/:id', postController.getPost); router.put('/:id', postController.updatePost); router.delete('/:id', postController.deletePost); From 18dbe5c16c7900b74a43a33f36bfade6cc513bce Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 15:44:09 +0530 Subject: [PATCH 23/91] added public folder with frontend assets images --- Backend/create-kafka-topics.js | 59 --------------- Backend/public/images/README.md | 44 +++++++++++ Backend/public/images/help-posts.png | Bin 0 -> 9985 bytes Backend/public/images/help-posts2.png | Bin 0 -> 58811 bytes Backend/public/images/help-posts3.png | Bin 0 -> 21658 bytes Backend/public/images/help-posts4.png | Bin 0 -> 392920 bytes Backend/public/images/stories.png | Bin 0 -> 60089 bytes Backend/public/images/stories2.png | Bin 0 -> 130270 bytes Backend/public/images/unity.png | Bin 0 -> 451758 bytes Backend/src/app.js | 9 ++- Backend/src/controllers/imageController.js | 83 +++++++++++++++++++++ Backend/src/routes/imageRoutes.js | 12 +++ Backend/test-db.js | 44 ----------- Backend/test-kafka.js | 65 ---------------- Backend/test-websocket.js | 52 ------------- 15 files changed, 147 insertions(+), 221 deletions(-) delete mode 100644 Backend/create-kafka-topics.js create mode 100644 Backend/public/images/README.md create mode 100644 Backend/public/images/help-posts.png create mode 100644 Backend/public/images/help-posts2.png create mode 100644 Backend/public/images/help-posts3.png create mode 100644 Backend/public/images/help-posts4.png create mode 100644 Backend/public/images/stories.png create mode 100644 Backend/public/images/stories2.png create mode 100644 Backend/public/images/unity.png create mode 100644 Backend/src/controllers/imageController.js create mode 100644 Backend/src/routes/imageRoutes.js delete mode 100644 Backend/test-db.js delete mode 100644 Backend/test-kafka.js delete mode 100644 Backend/test-websocket.js diff --git a/Backend/create-kafka-topics.js b/Backend/create-kafka-topics.js deleted file mode 100644 index e30575d..0000000 --- a/Backend/create-kafka-topics.js +++ /dev/null @@ -1,59 +0,0 @@ -const { Kafka } = require('kafkajs'); -require('dotenv').config(); - -// Create Kafka instance -const kafka = new Kafka({ - brokers: [process.env.KAFKA_BROKERS], - ssl: { - ca: [process.env.KAFKA_CA_CERTIFICATE], - rejectUnauthorized: false, - }, - sasl: { - mechanism: "plain", - username: process.env.KAFKA_SASL_USERNAME, - password: process.env.KAFKA_SASL_PASSWORD - } -}); - -const admin = kafka.admin(); - -async function createTopics() { - try { - console.log('šŸ”— Connecting to Kafka...'); - await admin.connect(); - console.log('āœ… Connected to Kafka'); - - const topics = [ - { - topic: 'chat-messages', - numPartitions: 3, - replicationFactor: 3 - }, - { - topic: 'message-persistence', - numPartitions: 3, - replicationFactor: 3 - } - ]; - - console.log('šŸ“ Creating topics...'); - await admin.createTopics({ - topics: topics, - waitForLeaders: true - }); - - console.log('āœ… Topics created successfully!'); - console.log('šŸ“‹ Created topics:'); - topics.forEach(topic => { - console.log(` - ${topic.topic} (${topic.numPartitions} partitions, ${topic.replicationFactor} replicas)`); - }); - - } catch (error) { - console.error('āŒ Error creating topics:', error); - } finally { - await admin.disconnect(); - console.log('šŸ”Œ Disconnected from Kafka'); - } -} - -createTopics(); diff --git a/Backend/public/images/README.md b/Backend/public/images/README.md new file mode 100644 index 0000000..aa9d62e --- /dev/null +++ b/Backend/public/images/README.md @@ -0,0 +1,44 @@ +# Images Directory + +This directory stores images that are served by the backend API. + +## Folder Structure + +``` +Backend/public/images/ + ā”œā”€ā”€ help-posts/ + │ ā”œā”€ā”€ help-posts.png (for number 1) + │ ā”œā”€ā”€ help-posts2.png (for number 2) + │ ā”œā”€ā”€ help-posts3.png (for number 3) + │ └── help-posts4.png (for number 4) + ā”œā”€ā”€ stories/ + │ └── stories.png (for number 1) + └── unity/ + └── unity.png (for number 1) +``` + +## Setup Instructions + +1. Copy images from `Frontend/assets/images/` to this directory structure: + - `help-posts.png` → `help-posts/help-posts1.png` (or keep as `help-posts.png` for number 1) + - `help-posts2.png` → `help-posts/help-posts2.png` + - `help-posts3.png` → `help-posts/help-posts3.png` + - `help-posts4.png` → `help-posts/help-posts4.png` + - `stories.png` → `stories/stories1.png` + - `unity.png` → `unity/unity1.png` + +## API Usage + +Images are served via the `/api/images/:category/:number` endpoint. + +### Examples: +- `GET /api/images/help-posts/1` → Returns `help-posts/help-posts1.png` +- `GET /api/images/help-posts/2` → Returns `help-posts/help-posts2.png` +- `GET /api/images/stories/1` → Returns `stories/stories1.png` + +## Important Notes + +- Images are served WITHOUT any transformation +- Only PNG format is supported +- Images should maintain their original quality + diff --git a/Backend/public/images/help-posts.png b/Backend/public/images/help-posts.png new file mode 100644 index 0000000000000000000000000000000000000000..ed2039f09fc2d324ab91b9e1d423c1a16aabe8bb GIT binary patch literal 9985 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 yYsJ68`2PVknMt(( literal 0 HcmV?d00001 diff --git a/Backend/public/images/help-posts2.png b/Backend/public/images/help-posts2.png new file mode 100644 index 0000000000000000000000000000000000000000..8615536d75c535dc6fd11120575b05760c1f9dcf GIT binary patch literal 58811 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

!h6Qtz9n@|=2 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

^ao;K>!n6)8!_H(?X+&Y|#L7csP!juWocg*5FI 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 literal 0 HcmV?d00001 diff --git a/Backend/public/images/stories.png b/Backend/public/images/stories.png new file mode 100644 index 0000000000000000000000000000000000000000..ed22340bb17258d33432adae731e0c3244a91d13 GIT binary patch literal 60089 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�~8HoP4%Mu4P zbJHpeQL)<(HgysIQ}I0Wml0(v!A+8}EX}*m-H_5}mfz_5bf_;&CUlF*7sR+jL4h6` zgzZE3{eB!R25U4UoPq)aNx&+jE)(9t}MW@5aCf z_0Ua25%sc9@yf-$`YblhnB4sOVmmUI3VqC*fOvjBnx{g*yQ?5O+hFnh#1DnTR`bl6 z``usCO}?vV8}8Y-ga5c%i8$V4npo>_={iu>p@_jG+w-TyLB>J-hJ}o#6QR1)L?(#W&z}kX(2~1Tmme$%o#CL%CVEZ^R%(_xf@)aNRufW|ps~-C59(Utk0L!8tEUh$!UL_EV00 zd-tgz@iD<(6KIt|^=W~RkFIf)eJmvxc*Mk+UZSbXArL#&oES~^p>Qx>J);?~b6JXaXa>4K$z1*5kdZe`Z(O{Cj6pb&utp zG{L38p_>H}0$7v<;4m49ap`fXKBd_#+lYAp)Jt-&%$UA#9-CwWxo*+ey>12GU>*!x z8bwAAWyi{`f4NY^qSl`vTeGqRb51?lQx2%r*60!A@<-m{9(&u5kb&tX>8LcAu+h42 z(Hf_=OQV`m9<7?tUpF@7Xcc23e;{!%;(U zco!$4@0`ZxHS|t^?Sgd%uv9SxsEBZmKuo@ut;E4(+P05IkX)w*iI@ncFn!M2s5}}u zWGBTUiAf{u)32j5J~+T2i^TH7KH@kzGz^}*I5Y$y9$m3EPkOs}w|^u@{*hY^y*W0W zpyr3Fko9MDoap@AX8|_Q;LS?&7jj^64!X;=?_>##ICrxaiWcI@w>K^c4s)*tBYz3~ zUr}kp!VEm@$6-h>#(jO1+*~3Uoz+Qj$o=Ah{=$T)!F?1n!mPMdqM{})bBXF(9;jf{ zKdHdMuII8o*_oN6Q=wUTc<>_zialpXECXkD(4`p=9@Syrdo-}_e)BeTjIOS3b-dC= zq`i-`3C4!~gd#@7q^OxjGn$M1#YkyMFlaR;^^Z_b(Dw@GTv@;1@++>zSFVuj>M69* z#B184c3Wd{oEuDNM2tG)<~3`RYsq8g3K{c~bSJp1FTC|f?^*Ee1unuI5;1207b8=@ z@QAi@d<}X?Jbr@Qi43St2N(sZ>L~3Fku>Qh@Hx!p2ebKnXE&v<=n07(jXF>bW`u{Z zmp>(}|J%fJf+_GbY1u4N3u1wS+iRpQ%Yzv)-x9V)0}=&jnL;5xPt1^`*vQthCYKO z^6wDqhXICapia7ij!=Xk2UlBQcY63E<;1b(XF`>IESR#ZrxBVD69XQ|z zW42UX!rXbHwf46;>io4J_B6Czn{T3Q>OFr~B00E4(%LyyX1~8By`}roa{S_FT<#B= z;AZGo+rMY{J06u3J$C2pW@3E&9VmUsii=b_A33zg4{DUQ zTB-zrXe^wZ>NadqVFKqhzhfahe*{e!E%wiLMzLG}?9H`X zPl4jzC+aej6B+>o?^R?VL^5PjSz9}DB#%{ieqV6{VV(-XCqcEEsh%cPh*yZHtL2hK zE4f24exf9I$&yX~nLCil%_aB;3MZee#*R*{3Rf4bxmFuJjB3FsB_;=`_*6zk_pL($ zY?K|Wf&LXdeZ`$)>({}j{Up)0&ksda{Ez+Zw5Ss)FFR#bgfGC13ei7qII)-HUke49 zgMz=(d{5N*3weJcmuOljPO**Fy-_J6$I0d~^ij$;eOHom%#<2rm-16Y8pm)C*$Xu% z(vjX?0Bgh5C^e`FP=!-~?kkcChZOAs00@c6s>464sEWV~q27^66{b)Zi(b#>rhz_P zaP^7c6At#T^f6t=t5M8{ysv=x{6s>Lk(-@mIH_Nf`ay)aWFZoR!7zQseZp}_@h0xh z%Qy%vkYv3Cp!YBA`#37E5kdQrX0wl|VP9=6A<9WU1+%}&Aek4TLe^dQ{^73+S zr^E3qLAxE@JNJ^CdqRToPOBbm5^sBP%GTAQhPIAR3wFZDpnzZO+fnZ4!t?Csi}9H# zOADAsWqK8~&25dOc^uId>qEt>DE)2A+MCcJi~i{@mb1Bnv3ni++c8pS#Z_fK_cLu4 z>@lejWgmF#hcqONEnYkLm*m+!ZP*ZtX&78PV(`qT4#wYib9E3@86;eEjG5|-%GNC1 z6ngK*1hi9sQpLj@n*+W*xjqGvHzQun;ZL3-;efuFOH!TI><&o8W3*XgLO0dqsV*le zAGb6J1Q=2vz6zp3--@NX7b&dDZh}LGQIux?ygKVE-HNxWR|S_YP3D@OW3=i+$k;&D zHydxuwcM@F_w_);+Sx<1!gWvW(YPkx{4V$T4F~sXH^DHhn8Cn&*P^ZyNcD>{>X)g9 z*&^iHkjT-tw{I(2meN%T1&K4x2pYf)mUxU~F*LFWq+>doaG3i8uqrbVR0@dcHK8og z2v8k$>&%)$mh2;2{L>e$KoR(J+Rjfvwg9a{*2#>C=0Qn@Y4!o70x>k~k{^Y(9W(c> zgk!lK-yvbt3wf-+zc4ErWnfQiPfyQH?DTVt6{tUu|=I0Ao;*|Wn4$;r2bi%7v3Xy^=2ek}4 zPn05?Ycnk~xN;$WmkbgOB8XORCSwBTL#Pg2^cZ5V$v^Wox8;_n<5M{<5xEg_r$^)^ z=WN00{;Sxs06t+93Qh0Sr&{yGmrdbwXiCY-^UOCM%BM~-v@7(8O%?Xs$kT!SgiJ{2 zsewq2J5jq~G!j=QQ98!MRx-7-zyOlb@Jbx*dOz5{H(c$xZua-GTcLrx}jPgngK<55k!bBn zwWj3YDFueesP(QIgygyNNras}^BAL)%pYF3bg(0On8 z`T2NyT7l~`_kINgWJ@>r7NMxh4Vusd1_mamt$}`BeikAP#q?ld zqmX>viVQy0P%}*B*qlg7XQR%MQRXh@be!|J`-XJOO)VC#I#H|Y)Fy-L;_2^2gLVP- zLLk(m_R6V$?aI{E(c(yCXnotV20`Y{1w;-$r&e~`3|l7={Gxz~l!Gj9{sG;dkK=Q{ zcd^FtEpudQig$H=-u`8`;BvAu%IX3HFDpU-*lx6&f=apOY71*q%AuR4wm{La#-?ce zVd#)$=y$R#Sf^FKWMk5E3YMa|WfBnvMG5AUGu$S%lZC4+`sTI{_PN4CLwuf6DBN=R zY(qyF)8YVsI^5=9JFFR|bU)wNxQFd=9))&v6>G@TjqP)Eg}S7oO;t>KUv)00o`uDXe5G>Sf<&k&g^IFweUY_Ns}v&FGK?^%x(8YlC`|2 zHg_#NI}=k138$8M)j5^IurM&iO(4?|&^Aw{P+TGewpXAFb&@zzJox<+7d=!gw{ON` z{;CFMgJ|ELfP3-yWNlODQ^w^J@+jhR7NL%DS0yd|Or>_)S>xxBf|M06w3d_b!lHZ9 z%+Yo?!lXa5nYFtcaA1a$;?s$L6&PLR=}hQGu7y+=Eb8x5@u?!bQ%S@PGOT=p_VIDU zp728gMk?Buo;MPA5T~L`%Z&+v^MFRl_&NMfk4zQqHzCH`My0xPRoc^pqb3l(7=K z+{TX$!WR;cWxn%2JEkjsE0uXERk@Gn`z))y1x|+Fmko619zMeROCgNUhDl#=ao2wl zaeo}JkA7Z^++;zzV^-6r43;KL_SV-8#bI%0@6+46Gk$ajw-A4%)MWo7Bte0Z2$p2U zrx-zxyT>${21MaY%DQUaID9_7xmHOEHrt-YPB^*xWPU7!^B(*mfj*aZRFOyFHl*t5 z?mqs0&lf96iS4U+3Z1ZA|GzHl1dp_#$d`>{p=k+}=xEefAG`5DX!!AHUYmUufH)6- zurl&NRo04&_QMVLQvV$@&P*@Paxy*_RkwaT#=HslFY7wAPnT2_|FSSmm z(rTq%r)xt+$Ay-S1jO~B34)7t;@YzaHG61*l;7SwK#mnAC zpNZtcHcVYW*t2G@q2vG>!- z1vBIN%V;lS*CbEJvB1E;Ea}E}hR;*Eh089E{Z8ML`&r@}e5VUF^)rC)TTb#LR~S~j zFgjjr+$S9dKbtKt;e{6WdRso#*Jd5G6LM*rCuK_1t887WWsHb>F)?f#8dn*ZQjfD5 zDOC-Pl$;JyuO9@co_`>=z*8|ITO+wxnjQy0b{N$NK>3&!%5# z#X@`laf3aiJUp^dQSm#tcoE2v9_c3i(oy%ZJ3!;PxY`XwdFySpbE&}Ed4gt%r2-Ny zHqSd6wk2=&E0xKss`)Ft2n*Q0#Tr~5f#WD>^yf0MupSolYtk7%H!gfad^nUK@7QcN z(sQCP_aVsP>NS=i0^??fWh*jRbjNA-eOsHd6>9EB>4l!5G(?hCoz84+zP{3w!%}1J zZ=|zG!P?wAt5{jA1L_&Om4>|{2H%d};iuh6JAh8BDGMcH1WM7BP_Sxs92FYPJ_mQe zlR@yWmRO4>k_%ED@8k-Sx>QJ8w|wHm z8FOtu{5suedF^yh!xjS8P0#maly3#oayDO8&MuSs>3wxN_fO*FiMQV4_bGfcy$}1| z0N%IbDO7@t+7EHBXI+{6jn7&)rBUGvOLS_v6`mVMsL!iW5^abQ_ad`ua^%RAYBH}_ z`7gtRO;GfoV8Cd>X~)A!z=>|httNk*b45Z~(zF~#GF|p|4We)Wp$yf!Xjyh&pFH=3 ziZGih3sNFxVU@`-J>G{Y5}Z69aI8`&JHN6d0`WTiB{lvtJigjD-+(j|@20m)>8 zRTs?PyagEnk4AH8Zv=p%dKW<58E`<|b)*0=?_TFff=P&?l)={Qf!3>Z4~HVyI)h3d zq!XvKHi&F_Bsor}Xo2Z30hh+Y^_9D7*?y@_v;!$Um}zEI8g)2p1j zO@`qZ({Yj*I{ZSYHBzLvW*DZyp} z`(k{aP}*h$GkpwJ9Z^`Hs{OZ+DtkN3VV(ljwL07T0)ySp4Q=H0pJ35xGJVyw7UHyd zMd`l}u<~A5W@@oJor=*M+vj&= zgVm@J;t;VGq-ggTdPsm@ezljxNH;lvt~ES+UP!&7tq3$d9C3q5Fk5&JB(hvV>3gyC zq!6MBGST0@eW$5;^6J)87Nc^kQfzV}sbWy)7~3(u%v@aCQUhWMd_@dV2-e`w|5{Xa zbVh^^7>a^yBYdqm69Ye4)vTC`s3jB{kg>`G_Rn=89(@r|7@=Fn++lHONVNGXjw5(Y z&$1FKem9!TP`ub}Dn2ZBsM>9MZXeZkeZH)>yJa%!Jf_7ZcBy+ms1GbItwk}{s#UNh zR-JHvv{X7n?`UoOzZU?qlpD8Q$C8_#MCATV;PWm5b?dXQZ8obp+9Uhsp@^yu_$ zU?{7j@ZBNlwo`A#Ii6>P5>}T=NF7C%9IXnwH7s~_F~qS?yEMAJMb6=EG5@$H2eI7Y zNx?S?vh!j*PfQ%|Zm{H-^j%|U`M~HN1841oZkX&nc)4oe_bZJFpX2I$3k$_G_teu5;AMOp=}@)q z2(naVtcE^#mq=0v9KSb9%^Xr5hDTugau>ynQwTy``Tp!<{fMWkMs=S}%|L z?LTQfv2WabSTBxOhejRsTFRG!pzaKp3<`?Y9edyDIk{~jpC%4JZ3tY9{u#7O6r*3= z2Z*FWTPMh5n=y!pIZX&ssvfF{@px6PIzD?b1(RRq zMVka416S^f>aMynJhybN_h5TYpK43x`R58eUX6Y~7GQKLX5@YY&%njqqk?ut-_RSV z|HmR%gx6@4Ss`h_h@Bk%GKf*x8B{=T3LHCLWzA*`dHkRZaoRZQr;x&}?l}WU0+1*4 z#}Izn_eDZ<1xGBhyzOs${U{cc#ktDP&_bMR<`p=Ikbh4ke25REobMt+jiVGtd5Sm2 zX7xbnsGiUEsF8P#uCw&NnnkKlu_=R@1RAK@kI!Otu+)`#jV8v;*ZnykWXt|!FCK$! zpb?r-%;rO)eA_8UH$>5G4pHt*Q*KOC&y3e;VQ#rK0IJ&79$S>&O9K1CRv3ql(kHT9 zPR9Q>&X#oKGITKX{*P+3b`W@ZcV|R=8VL;b(!osH1%ixTs>1lj? zB~iCU`;3JV4%JrS^ch8lX8VA-gt3GR@Z5}SYkIB*VnWT4<*vV96GbV!I8!f&5wNaR zUc1--^hc(=O53~`!k1!Z>h^LXAeR$`+s*se1jUmF;qF3*_=50_LOG1i@OwN*gh)=h zuxo+!N6|}al_fl%i#?HUI3Pxdi$N##)#Kp1B@W=WA4hIa*g>ic)q9KXW_UVlb42(2lP&*3@$XfmA(;8>NnTZ^5 z7KNYowi~%waH!ONPj~t#-m}ZbY;ex~cT#l(bNbS$B~WRkS+K1HPbpE4h-C{lwB)}r zcC63b)wifC67@E66YFnb&vi;;EZ{gVDK6$dluJAiUwG#SI&S7`JnYUXgvm6Pk^&07)?j% z4aXRbCs@q|?3UBqvxV&Q#oUX4T>#P-EjRK^WiPf?2dbX#Y z>#5`88a`Gdz|~w>OXMm4#h%q{Q`Sqw!J>tqz1Mc;AsJY7JzGjuZ~63CSjUXq$b5y!!v3a z1`RN3;8D^dge_2roavCTOhT5ngwb_|-c!WxDq?q)aJtIaJr(TUDt4ccr4=!CBBoi! zan|tNjVa!iBu_Kn-M~O=p}G|Y+ac+ghKW|Q(Q2+s4P{>_w{x8w8s&CS4RF-}w3dn2 z@gO{!RGTW*Bunm>@Y{;OXZh@JR?PWk#hjewb8=S9+P`AP!IjgGteu{>d3w>; zGb{Gal;qA<9?v>oo_wW>*(KxY6x==$=q`iUz!hJFx=Y5KAVzPTCq zW+%-}0)P1_XV<6Mn*8Ux6hG?_J$R*LT3408s^aUbfT-B8Tb zm9TUrtnXX2Hkq7>q#u=}_BB8iPmhL;Yq+?YZO|%F(YM zwDp}LNhdirI2sC)Q7=q|;VQ?uMO}*9jrGY$bGoyMZ?A=g>qs34w1QwW@MwTXO>?W6 z?rH(5;UTpwM?G*f0;CZJCy0>ltfbp2p&v&?$+$GrEuW4_r=qf{s4NqaXSx(q5LE`E zN^_}_;2*D=;ZnioUWXhYs(2}6Z5*3g0FkH$u4)D)%m+pL;{ltehUuxHyQ}{}4ib+c zT^fc{!$dSZXAR#`&9_(ckvgtH2CkJr`Roh%;9NdvKEkLw$g121&v>GpoRY1q{MGOu z3xSd^Vu$0^vzKfNjG%of4vjm)C0^zyG6lKrgeqnw75yw)PY#WI#& z&FYnbJ_#@@08>Dx2|AG>?LgE0~y^0bPfjZI`pGGT82at7z?}I3ZGoxe`|OL&X`n zz$Q!S7bbO<@UEQUt8+m47I0!YIJ^WL{S4$SXCM2NefVSkfp^o7d^q>?()&x6|FC%R z6O~Jz)2#eu>+0VWzjk-=>-U^`?VkOAxO4mO?%wvs=BcdKy0?Gkr#O`ixop)G4WHS+i#?SUC6Y+oms^H+8{1b8cTag>}~y@XQ_H(?3nE zI`DL-`WJoGkG552b_qFsLMWkVtN@m>c;=uOSc-wMh@~&)>5F;aTXO!9E02@I@;7ok z^&DKo#cBkIl4lUoJ5GYLxj?g*d1^H{@&(A>mbP!htg^g6lB97gf(-fG(A$g~hmjKO z$`W(^Qx;9S@1nq73+%P9MbX;=Yu?~YxLV+^yIw+~Wa8Cqw3d!G0<;;pn}AQl4r!93 zwdv8iDbc#DuqG>@$|O`%yvhuZD#NWzcPmpdWfG?3V=5k;EiQ+@lv@=~X4C?2EzFo< zHL(4`T?@}Jt{UK~rlU1XtcK&R;Y=cjnIH$RfxQwFRt>*`of?>0!0R}+xR#$)1)C)e z5_(S=t?e|poKHV{1T-E5)j2@52dMXenjA*;UWPJB=v>|%&_(#1RJ(%no&4yWb- zukJ9v^>|XtaZdAbT5BG-a0*;00v#2!ULi0mfl&%8CXs63*3dB(4VM9roat4tyb2Dk zV54#tB4^s=3^=PjDyBiiH_9^F zi}=k)SfXv9U?s?10uC*P>yb~HhZd#oeSgZKk7l3x><6XG9+9tnzHa4}d<{zHQ;1v!>sk#hRA^9-0UK`Wt56wtFs$p1)Li_qEFG zuF90&3YM+{=*xhi3>Zs+p@eQI<`{}OAbxnDju8Kn^;VZfxB7j38aixKgGZVP^VTuF zbxcG}!)w{z`eb)qs$DMVEC#Iyf$D2e`~|0YZR)A5;G5MTf6s$qL_rRQ$=EnKNRVXT znCDo3>u;lyK)GxFk#U9z01eCm zpfxnSngJah^mXtiXEHexk7*_zc4^=x4_ZT;z)1z=FdYh}UB-sZ#?lmRF}t^z(|v~1 zewy8Ol6fVMdFeR)!ZFsRyyOdc>6Bg0PrIC-aO(HAst&J2Q@$8&K z5+7e9p;;t!vxH?73#_tCZB@pFe4aXoUbY$J$Ah;+OTfWT**PEbcfXr-;JvA*7A>q= z`jB$zW2z;OH!gpse(5vS%U(SF?o<2Te&(xpURe9?FQ@as)Krk3N>5E<@Oc~#JBiKC zV6vt$Su^>9+qk?rY|ac0JCo1PNKea}K7IPESu>~2m_Bpn^x3nf&!0Q>?%OjST)=<) z4*IiqgS>6esZRXpYSpvXs_wj8n%Y)I>k|Wm6!O!Z2ilKY$p^DST! z={1;_gXV~5>g;0JLSqxtEn=3goTaVc^_C^K6{WNs<4JdcGi$-oW#GUPaCj;E$g-5& zB~uQ+Kjrv4(+c04EBxrr>Sd3}K7P3H?+>Wf|Dj;{?{n9f`C(}VP8zl2VS~4>u zMUbAFnUXYv&za6)&E&GP*{o?yMmmEbV6s_U0W&$3nUc;gYcm6=7f#Qd8mxcjSaDjom^fi<*91BLa7s{51FFy5gq%cH`db?b4Am%X98%bS z2H}bK%;<`Nv65|*rdt)$biyeYPx92?z?0AM&%yC8z_As~Lrd6u-(~Lo3p@8ONd<3b ziI&_gTmER#M-Nx5`c=`oH}-!1#@*AIbF$b;ERe*ZrSjQnNrE&%YD!Xi5-&}_P35tZ zIcx!&&1JC|EH+?sp)vV@Kb6m)mXbU@Gj+zyteLk>&t5Ql)`EGnZu`OfS+mnXb~1SW zez5k#Il`mQw+erLP4>j);-s!p&|OCRzLVpvqf_K~8U&7NUcZoj^)zV71vNQ9xeG{l z0MQmsd&Ix{c^gI3LQ!(eRUa1S$MlWC!tnY2Q>G>{yRGC6Jnk5cgew0GvgQJ?1>e}4D9 zt6i;jbs{8m8xSDC!Wi&{)3|M>ZJIP~-88Kox2~PT*s;^vp4d*}BZ*BgvB7|Zj@^}3 zS|o(DT1ntI#EA{T4u{aWhYo~pJ8mY^WG0iL^SzyDzU~|FIuE z$NRj`JKc`pnQj-Sy?ofV%(E((6XL2xlB4qzGFHUjn;}=n&`lVM)b>vtfr%sZ#1VSd zE8+jNJl!Tu9uX&6gozdb^(bp)!=0CD{3rl5*^X}1;3qgy-?K?ih{mZl{9a8nGu0$c zHR-^h$@pO%8)_V-8Rvx9(@jdmWF9c6IUp8s(ppgE%P8(Hjmnm>hTVXWZc#^CjQ*yi z9v3?QeY-+(e;2AAM>*@4?t`88!OQnCKe|VF<%`PRe>GR!o9+JQ){2L2Yx=?ckKBFR zrj;4%ikD|vtv0jOq$a7NByp_3(~8I_GAButB-66O$O@yVtfI2A!U!58m?Yk$h{;CT zlA@-h8&a~&)@+L{Gbej_K~6?djw#0mSteMQ2M_*pzT=16-l)m@rQ3F{IqO;^=Yy^} zn-eBSnCL>cXHj^w7mn^kL9qAx;C%^>?}O9sWvAS?{C;@XrQe^p^xNbAH~NEtpMK`d zk<785n1B72_Q6k3D>m$y2~%GAy)J<;GutUncSuN`!c+%~At4b9O|Zc+4+?uGyNKAy zE+p*B(Xr!9C;CA|2tfspQ(laXPR@MCY`TM*>YP)A@d<@J#M7Jc;&{mmGhUeWz)TxO zge&~f-I$3ZFzw-{Jsf&=rj4I$6DL{)EDrUNX-69KqBiFf_|Ef02h1GBim+p-?@TKo zn}h5O_RtP<#LghAa)iRd2Ro?aW=M-7XA}iCq1QD~8x34}d7%+5G{Sfjb>R>_;%0~3 zoWD`@HA;hr)B(5Yr+eAf?}ZM0c0K^R9)R8VGrRATcKw_B?avC8JIZRG{Hw}m{$*3X zw!SER-Kvt6#p?_6%d)eIY}Sk8Q3gq+WK~c!Rn^R@W)>xbBpXCk z6AcE*s7Yo`H5=4qH8sm>O-o8kGiGNbEl<@lOk9?UD^7z)zoZ=euI;#U^EF1!G5DYh zN%z(eIVi#rP^0UUt3*Rx^gYrVBo2cHltf>3-Tr9ZU(ZtQ8_$!)zq z&Ky6UG4p!T`<=oE9q1R%cENO~Fxjchc8ar|{A`Cj<5i|R&{^bE2ah6k66F)S(Mcow z<5ln;X|fXmMp9uYe}EOTQN&Vp2(wOBv<*GA8J=$STz&@@ivA?K|Xeebbo691s=mWM&1ya$Q!GmiNg_lA=e z9U-$bfw4gm4))eaGJu3MbDaT0%>iM&g$fmVwlMK+3of@IhoO<<2NmGB0DWfpN+dRlSuhTOV@Tx2-k|arrC~CZ5;Kd|PHVdjrPEJWe`Gbti3~PFNQtC33Xyai+4*czw zYb`@?8FJc1Uo(5g0VgWqt^IJaN<8Bj_Za)yaxY!@?xjoa-;RB?_pNnj-q3#*9Hu*Ol^84)qK0@Je78qfplQYrDP7s$2M=vN=>4cdMZnj;S@v1Xk zWRytGEz+ICXO}EVwat2k_uHlS+of4AhfZvch7``BF%z93goru9!HcjVU2m1aSt=*;YM4zkydWBjUV-} zqaJq5!(lPwZQOVpcd?ZpKf>dy0ob)`;V}|(E*WY$8zBG!_^dlB`zCvg~CAMFpj+i%U!MN=laHu1L+yGNo7z z=44Sd(t?ZtVg=wthLsGgn#9OPR#bTrIe3!5D*~qolt{4(D{7L_WU$#%GBeY&(o)mS z#=;C^o`uUX(bt&GIf@FRb>WxALxgtBuwJj|?zp7jv7Ep+>TGE5FixOu2?4|TB}J%&E+6)v<27g}+FS(}V&G*RXM zL>p@0kB%b`3u7%ZYIBa-&#D&>%a|NoWz#y38Nv^#z8OC}mp@o6Ie}(2(4>b<4Eyp9c;S9{@j+$Z z|K#s}bj^;tSA6~st5pO6^)x}PwbW$QmX)?VuQ0E0b$(%4e&PDuytSFjN|LSFvSvZ> za101E!_h`oPNwBBJiH?CqQr_arzA<5Syhr`UJ*o9Niv%ZNk&PKmsv7XRjW-&0df;2 zb|j}Lu_G>lA%!sW#)y)c$nqI3(f-8ib0<0ap4p>3d4UN39Yudiv4k-Xht5X3wDHc= zi=C+#j~Xu?6USd?CXZ1wT^uf^ROa@0O*xI0QMGtkj za9FPg@o^@)eF$Sf(#qig2A|cSxZFd>5sKFrq$v-D)W$|?(!&ysw<0G^*Tq&`s@#gs z_+u5mNTc7V!Trv0?=td~S}5pm!S$VZ48=LP_8IMIV#b=-u_l((=P!K3Z2?)*9FR1i z8Ff>mZfeK{x`GW5k_+9F2|9&fojO=&=&4P5r&4=sui=eXjQe+>ob{^@!H;$byB;#U z@L$^FU*aD4N7M2Q&*UHWd}D&CFPCNK$wSco`Ih zGP0_XGH4(vz)BQ|3`hbnqsh~7_8SIIrD(j;hFNH zbWp5tW|>*|7|NTG?AZdwn5aDtISbjdKs>In4Y9}K8~`6Rk^}qLF>cEEGK-iTHg+Vi z>FWzeC2Hren~JMBT6An00CgC2u@_vzSc5#`k^@eqzeYZLP=4otdSbuf=uXk~G#vN_ zy!v%``K#!v&vOrQ-+N;7-JdJIVFjoRhyW%5Y?{HQrK~PkyQXC0y3+EE>o=8^mE{-Z zBwH0;0EH7oU|9ebK%hb5DTxQ32VS5!o}yU_J+DLy6sys^i4&5OG>chFHfzZV$(cFI z#8sm2Xd;`FX#Zl@u^k}RVBWa+-xE$cF8~{qD+`_O|B=AxKYj%y7G`#^$+|k^=*)~A zp0hLPLdzl*7n@->m4F-=Yosr_x$#5%*dcM$tpr`lV4c?IF!&CoopV@zzEA7=A>Z-> zk5k3Wap+OrwA;MI-a0@;^_4+0YDP@WS%v#v_?|`P4TGDILGijtI7%y#QI}oB`!8I zM-%>a*NsEeWU=4uMEj$Dt^P65{zU6bHs>-12N#&dF*vc4M_&RU1ljN^Hp)s%(-(gF#d*EKl3g z8vpSor;#VXcMi!8XjJS~y`8VO0%T=%{U3n6AnKI&Tm2G zH(~cf+_U#oq0Xzu5IeHe|8uAGytm zVFu+GyzGZYPCRV%!sJ+fBB@x&Jc<_mV-z-j1T*AE7E2C!M8H=MgLUAm!#TG`^w{mi zBhrwY8*oBjE%Z5=K^O095d8IQ&;f(h&|L|q_QLVqbnEk6^%KI69x=Z7@UkcWGyhAU z$=q1PC2`mxV=1d8B{efEx3FZ*hVt?)x88Wuww0ypb8-t))3VUzB$KdyiC<8{{@u}}QTD@w;MbNzFc{ZFOs zd@TDr59NR3p8U_=Zp^o#;D-m0SlMc_73LOgC@bH3^R{hUZrOVCmb|>&;chx#mSFl8S}Qqkz#rUT9`wu^D#5VzpRuMw{8; zCQ9dokTdM225O6&bZ#Q#6>0~=J# zMoxQh&h3g(O~PCmNgRidS@iRkL=*i4W`UDL-+mn@vO%xHOte4odgzdcFrzzZkv3-` zu393mOkdX#3b=s8F#5{e#6|h)vFaFKJ>{=M3OJF5oamnBkQ0U-A&sI5Gg7S%RVNMA zsKHvrZx?(HcF@W8)wA7o{27Pzi)!V~ed^KOn&&0$@b`?3&t~p^xZrDlmwIbHWbSZ&I&f=n@z!11CW%1h*gK#Ggal$TDV z#N>pICKI6&wZ1@L^lgd0@gFWZk)|dR9%6PrR&we%UmZ{6cXECw7r+{FFhjU24em`t zA!}o&hV7ic*5I#6^4F?(>1BYnPQ2Wv?hmP0LC$ zTCQ7ibVC#~iGMPqXAX30lZY9ze!Y^TGZS@gbCqlkgP3uOM1H4;#rvInz=1U6;B*Z; zn1F*HbV&UUWzZoEI$4rb@Zr?LpaXmk2-uN=b~acm4B6Fy-Pm1a{P`q6 zU%Y2W&b`~&o3g)6V z5D7n_5nCkGn5K?J!s$32p5AKcuY$oU2vk83i5jZnf;GI~F7#Bf@9t+$9Wb1%NPlC` zvWDlfUwb^~TlZ$&xfVLnd0WCop71_p%l^`54I2-LuG)z*QoL!X6qQHZ`K(8S>nGb;$BW z$ydh>)}j105wSMNVRNE%!eBKbXRs0mDqx_3>OTPe`{{H0V4#)@)XTk2@g#1k_w#Dw zNmuTXSF)Vn&wKHa+<(7IU2Q`q$O2H1VkpVUym8&iJGO0JA}0hAAxHPn{updRHJ$OR zW3CoCiSExNUT5M$5_j=3#z)TtB%0`HfXinH{B;ZoZ}icJA|GA+Ks`557aDza3<+!q zE#VP0Nek8sL8lOK@V;7hu!ifeV)_o!y_Hm76?f(}IJF1fJpesU=ylU)T+G{c`h?T? z#zAY>z7?KV)>S`M`pwTkSF-!jq$v!c62u;78`WeKY`+- zmDuJi(4<^(+hT1_VnV_f?S;wBT3vbt`Cu?k{>??kDAh-Eh^R6AKWqFXEOeri}2jt8ZWyXH>0^-}8Db!$G=Y$?7-Cr+v*9d11(&z20-z^85mA-oV3~FHqXYJHk2Yc!uoIF6Cu2Ig` z8c$T^{n-8w&p)>9i+82qu0mL&Z`iXu|A`%j>aJ5bB$>aU^uYLR+tfT*V$daIf9H4Gl9?rOTb8qQS_QRk|tb5+dQgY?--_G~40 zrh$xYAv+s0m^wo(AnqT#?P>p9X5_NcGoHM19q$_@J*EdaIzfhSJqj zMfX(E=MPd?%=v>z-Ia8ACEH!eo~vNaRWM}UUCAzy6HU~g2|2nUikieVIHPV_H#j4W zRG5v++nlRIP9#nQ8$!!KExkm}yrWFrRzyvfY>w`R>1;%LYx-i;SiLy32ElcFg!)CgJi2_Fd_)(LSFv}d#3?R~TyVl|youa78C!L&F_l!7Z zOXMt(bGbX43(pWl0i%EXsL9cd$pR;fwK+ODQ6bF|IoAp~36sd55Sx?efbu#ZNB7Y5 gOh8{XeCXu-KQBc<yn=ggU8Cdqu5bLIYB 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%0Dg#lYJUlLpT{}lf$N0- z{48DNrx*Jt489U3b9*egFYrc#C!IpMxVI`W))lfAVVgJk2OI#Wg2TvoMX*W<@9DMG zwpJqwjf;50CW%&DiV_0G;)cABkY_vFfTwr3W52ua_jC7l)3}Z2qScpP^}BCS1J;1^ zO}A}?kpOm~`t#9lM-u_1?Va#0MRr`2X9;Y}cbe5R^U6g!z_Du56YA_W;E@SN$f1Gz zS-|dCQ@?M|wESTGQ)s`8%YetWm|?A(FeP9?_*IN>IIrsP0m&RtwuW z@u}kD$Z~^w!bomdgQ-__gp}6c6J53$b}$8DVhLU+Csw{g8QP>E8LK*jzEEj~#MC98 zqR%*>Msv$yW1=tER+q4(^Y@JU_@5fW+c`PtaiFQYxRZUKUvgofIkq{q$44m9vX0=` zWZnEK&Z$P#vzFhv^{0Cl;%6bK$PC)-(pb>`Yxff!1W2o^xPb&wO9nqIkHL1_1lG)u zSuIO40xQ={TUU|3tk^?Yi1PWX&47pYEuHHx3sU`t4^6vb5~PL8^0#{1UzsnhrL6rt ztI*P7}ozEr|(f-kch0X#l>UEc;J{4Ls;oJoD>r@eoyUOPDdT{|J3 zyQRLE=$Xp-aHKS0T0ZOzLpNN#{uJVr^5n%KtP|>*z8plsR{U}$9t+S%E8QnatCc)A zn^#ENCtcs?_|DM>pY`WuYEK`_#Xfx&s{*IOJZYYN^PWpm+#n*XW-HG`zJ-edXu!-! zpCpQ$x7gTys6T zei6(TZHXrs!7N{d-?o<}B!g>utmogianr-F`_OQ6h`B0H_VP0kv#7&LHhZQ^dQ+_& zN!B}vmM>W@OEaaBOfI9;{VucwEVJmL$Y^{cDsx@`;$MCBj@dO!I{kr-Xb2J@DDhRY z@L{xU3z(|?09bbc4w=)T2^E|GW4Bp_P(4M^UsH(w!blg2zfxWZ9Fh3%(JpT(C(Y>z z+r@?HcS-O;x*}uNS>N)2ZQ$grtInBMos2ht@6UqfZ!H$>X_nsD`_rkc=m^%%cslZ_ z#AR$Ks(sLEoJQ(*D%}{ZyH=~hS_{}KNaE{w<~*_W0Q*H+2(6uje}}e?v86Q{er*Om zMKUaN%1#v>CyI_^o85C$Xo~S^fo-yWO(NbE3jcZZnDAl)9fzSLhm&H*VsRTN(dp2K zWPUQQ%ym%&Me&x9bgco| zny9+xu1ph^6eGfIorkfi24Cek(S#hbOEuZCqG|mXG)3^!5~*5P!MhiKQBT;82`1>V znN+q5UYAU2nT7>)5=bpnSm@e*U}+j^g3c2?Rr=z#N5$u2*Gb0 zebPNDSPCoUAn{Z9X1F_`!Ohq!f(+vq_uY?&g7n~oLAvU^HL_`&Ml^j353fnE z6<0i);h+xV-X-=}HJe+H;cO{YWkliq5n-1AXT?KVG~T2lRjL`xjx%H?n0E5cjwO&7C}B>JXk7G*!`=BQ+maQ{wJF`8 zKji`V>x@T6(wvc(uSx#2taZRIU<4DNHPBHt&#!SZs=l=Jf?j@3I&Yd7td~Ea*;=aZ z-0N%5OBm&-0N+VIP(sY57aN~uI*rgEs`fmpBT}B_gq*UHQioO!ZT*;3X(7Q#O#>Ee zU8~zYBS`oHRokp@t%At;muXq<&1Ps*J!A^rpd)QwWB984z%#|Q5B69#c~3`oYfJJ7T-H?*mhd@TZF(5pIeY07U2L1-SqZbRbE2<}=i z9D>cuuU1hMBZBVK)9)}}E>lki7mANsFsOI0YX7yVGGVhcW4m~O2VG!8w~ohuqftWq ze%vWK%5@R*`JEEM0Gl*)|C+j@nY1y59r=rbdqqVXV2hw}A&&tPy38 zVaf4x8tK*~Aa#%_1-N}Hx{RTmmr{U0pUx3{o`u>>>SnM90;pYK%pzfO3ST$IkbB(r zgd@gq|ID8L#HNz)*hq%BvkiD?=k`NG@r?}aISSu48vZ-oA(eT~cfF0g`e@ny7MZ@W zqm)EUxGpjBt8&j?@IFXsmmZy0sVTEWivcb8yH)N1r_{epQg5ZY(7f9BT$d0^31u*b zWV@1qK28_<<(V{I_&xQ`MPCyu?b@!lu^->VeeJrxRO?^53%||3spY+K*X$xPx#uT8 z73A3?U$Y3hoUB}JS_W+8T9s|5pFR3EPntp?7WL?V%@_|R(Uo@42v;)!3bp9;9u|Mesrzs6w8bagN4C@5SGUvr|;wZ3sXByw~ zF7FX;nE;G9!?^-OVPV>e$Oq!bESKjMj@c%IDt+qjp)grwe@(M>VrK}_(dQ`@qUO+> z#a?ra{F;U!bz5Lvca1!(>vb^%2}sI_=CMJ(xooW8icB`1*!YM-)2WZkE+z#34ECVF z@-yotESAjp9GY1omkOMf3hf8ji0Du-6$zlAEH%R*HPt1+kb;9;wp-^`IMl9Ic}rv1 z0aR^Tl~xs1=GyEEhgS9|&goNt@yMdSbTwf5A|$19>4Nj`AP6J=9b?ptBznNwwo^rc z0Ddni0kEktwXGL<^XK~qG`&9Aas=wte0=CkHWd7o`X~xIY3Ks`Mr$?IF;_}tr($TW zhQeMBgRce|TmGr@VgxElyG|@TPba66=q9}d)RX>Ixh@euzDU$90S_Ooyq`McuG}%V z9hQTrp}!F!YQPb>m0vf}T{Y8yKu02!6hU12o^^fxxh$cLQYaIjvy>o)LY+B7nzLp2 z>NHlqQ)N%@W2)%6<2!VV=e|6UB&GRhkZKZ&E|xG>SOT=5S>$o&U@-WwO!JeCLE7LD zbKi|sNNj9;pY|JQ9R>*&Ql{~>nG9WhH2(VyhsS6Zxr185Pyg>evtCs1&ri3^A5tMJ zJR*Z=;MG8~lKM-|=WbKCL23lfNoRoRIs@B98cm!W`5@Yo`Uo;$I=qvtoqvF@3rKu) z>X4kNkvEzE9dk-Qd_V@>F6xxi|6&mBX-bUfAOC*fyOVI)vYqw$Y?<-NMHDV1j1mw# zx9#Y=gT1~#Lj3yrkIz#gccvoREimTZSGLw_n%}n5a{cyWyDeAHY0K%lX`)v~Cq>c4 zI`>Lw2>H1*QYWe1-sXK6GZf&?l<+x`p@XK=E@yq7lW1w=PMiaJwHMvwL#h^eBSaz$Gzz=^5&VQp; z{kxjDK1?i9hKY*Zg*e@RvIKzKox|%j#`GGh4<&o?J+VT!q{?4UjSbgM&GU!{?C2b_ z9+~@I0YAg-N<*;3iIVjOLq<&_&zt|=>+N|>IdvWX>I3fGtef?;i>J2(dTI5{NRB$g zadd~}=M(nfX>KRs=~rNgo0lp_KUm|{osw-Oa2aIfmA;$T0^FOjJi9cUKn67Uw$yBE z?>)d!-Y4m8Sk+pQw5{_OqM&(61uLSN19KJxpnxEWTpMF4o}IF85K*Ht(QlSMG*9h@ z${!OVK?s~WpC2CeXK6vB6?GK|>O+$Z#Qf4pes@SeQVu+=`p1vz5d~GsoBT4LfgwQBYpdMJ^T5MtHmvlozZlx>iYmI%>FdslzJ#I5$8c-6cTg! zbm+S_a0LF*-pnTrhOHG2xBR0mpvTms!az`IhLXnS8(lUjtCvdMA^NLYHE}IUyDIGB z2*RQ(N{3;{8k&dVqLI|ch38ZhcFGYo){832N8!mJ`B(M5e>yH>-q6)JK?z0od`Pdg z@F%X^A@kb#3A3Kh-D?6wWSt)?#-2{;BeRg&N8$dr#@Eub(=(&T{FcUpO#dvu ztgF95&%1?|hq&WaMAKedCpe|Hum6781;0fg4{!NHi&UL*#kGaJynVmnjr+)U$hGkZ*6vHd&1JNQJJX zV3`H#I(VlU-LS9TV6ORO1^Wfp;TH{Hi5uLDKH(CXD4vwhLxID)b&o)7+eRJpk;Hk? z@CJtMXrdv|$lpyUAtaH*jk4!DkA)SBodvSURxBr@BaV=oU+0%EAb42H7Vu}?YwaG$G%dy&iIGRa z$=z_Md8(Qo`+;7GtU1!YEr&uh@=NK+YpNcCNUqDYATTuJ!^r)j!mh$m5{;fqtDD#1 z#PajS++l%z-BBBplj5F`DZ*~ZD;%(i3+MigP2e`>dufHjGx<}FSwV5i>{A$AHEd5< z9`BijG0_F01kOpAPR>6;f3WhFamnkT-8!*X%Xk2bpjqJ)nc20F%Viugxo;Px*H@Yy zZ<@PLs-H)0zEH5Bpj2(f5N}NJS}f)IwAqSMk!~EQ6EDZY5y`$hA=0K<6Jc1#lTmWl&(T14;#j#;Nq4Z z4hr`k495tj^O|&56_`(I2pzO9Vv~Qj@MhCkVsc<*yK|&;V;b#<{ya@k6 z+>R2SBwlvFh7`D^^e#|%_bWAkpe=r@c-A}{96*|@h-IyHb!aXFbu>5589SGezCk;< zTU9q58QRYyavd95PvP7Bd|ak`wK3~zs?VjBajded72#M&3T!F@d%ry7)%Jy}s7RUD zo%%`wBDnAwEnQ((KuF(#&HYkY`^od+f(xujfY)oJGi$WcLbB0`1uSTc+D!tR%BW-a z0Pq%~G^ZxUv}Z-{{eQ@DMz8n1YZ?T=_`uM+heH_ZNbU)KOMttj!Di;K*T8SOvF7nG z-c`+biV}5FK4us95|L-HL!BM3{P;!q24`VwVeEosV{>9zoQ@#iMi{?A51(@&yydD# zxl#?{0Oibh=3qX@VTCpEpWWJciBb&e?y}t$u@N^Fsf<(hL5C zSfVwx4~A^ZpJ!bk+>$$#F<}y;;X3K&~mLvGk=Mg9-7|p({aVv)odFnk?$j^IZ_BxuAT*)ZSd>yGz9AuiTnlV=pD_w>YF za!atU87Z|*k&`jPO%KvcMI(u}W;C^qyH>f}rd;igZ1Kalyk*?F^G}+5Q#-#U_Wqi+e(;w9t^SmsHPV6=;h_mTAcK_`1f0gW+4R$gm73HYNUX@bk56Dp7w z-=!rT!({$P-HFv!Lc5CA$ii0HWNo3f8%-yWrb|w&U1Oj}XRC&aEu_6iOiU*Xl6j&S@0XthH-9Ro~eYkL#T#@n&>J!PqH2?wY+I^6GB|T9> zT6F(4bXJSILAF)twP5H2YQbA%1nA+KskSuHF8u>+r7 zK+igL_uq3eb(kqA)?tsm>jZo&Q)Jq-aX2G8Q$y z1uYn@QJ0p1E5I8DK*0F3J3tR`Q9CKjRf5RuIou7(an@=O-Jy6qWd;(LH5l$z896Tt zSTYVAWZmD;8DpiehQzj{$t=SH5cr9&A(-cwQSpOpd%Z)C>j%T8?(@+Rf44xLLvy|Z zS8Nl5wT`?i5jMGSJ?Nl-n4PQS!@C}MY`L?)LmuYcxO(W@z?Hse0%7JWclvrKf* zni%iq-~jG^QiMYm$xu1PFNfZlF9fgPE@my+r!*&#ISG(oPOG;iqx;(yIzQ;(8v{ii ze8oK8VuN3E!m^Co8I%($cobb}EE+PgqOB^BVjh3%ohxarBh}BdPkSe!Y-7O0ut7*# z^$9E_1SD;%hrGFxx`do^GTj*Lc2ubn3e6Hn&6`CoNhB^Kz6mXbi`7L=D;w^UjLV))AgGGwEZBHT#5H!z-kMokqTi?|?(oPZ&d1GHZIEq0%`1PwSbH>(wiqNqqj7_^wLlm9gTufy#ss^p z3G>*mg8;uiNuK8mME23@ro-SG1zp?@5wR*|blZFBorxt?hKp*npp7q3)*-w3^*h_$ zb`=zziNlw)|6WiV`xS8XrJc~4K5BrSosKU;%^%Rg$s2T{^kc%-=Sjt8BTF*3{u>FY4!c+cw(Lk~!Th*u(E9MqLW<;kEL zG(Q)wwiR>EVd1XE3U}bp&PfN9ue5?d^kwzC{DuRc*bD35N5-LMe-hZK6&#E5I;dj( znUHh$eHrfgmsW(=?dJ43PZ`hMPGC^#Cfv2ZLoU6;)k7v6j@)NZ2n*eHx|2E*zr|Y= zkm>pl^T=Bk8sw8X7@=br69vHV6~OlVSmqWrcHCN+s2)?_XYV`@JxK4 zpqjD7c9zW3_K+h#2f=3OTVZkHpZK?H9A_vo7Uv{3$Aw-nJc)}_hN;U&61Q>qo>1g{MhT44 z{>QK?3A(jn4I99)n6F31#V2qqfOXA+am`{kX;LrbQ5MS#?y@n$RfmGxpI8{AD-w55 z3FJK!SHx#M(M5hpC4Hc!iXpU+{8mRPA>8In6e8}Zoz=t3_Xi9;GhQI?cdW7raDCy+ zz^)x(EPWh@3xDuQ2eT#n&qvWiHyWs)7DD`p#he2o4_0AOY9b`JZ1z+V+GvERYCFbS z<%=xoQ&=%tAhwi->#BizGh7|;*M>`iIMh9xs(xJpfwuLut?Q|Q4GP{>GCoDfwP=V- z@a;_#-Lg|g3_F52)`{Cz>M@O@HC&JgD6JTqR_ehfAs}Wf$Y8sMKxunGm)<{6@p*n& z5Bluc!QR4m_oaV{*Xy>MY0v{a%DQ)ICJRLizd69SrQw_Sw6OHf>k{EFKEf~* z-|<{THNg{_u61oUAO#A0LP&vXsCtM7bh}1^&VXE1dZ8`(N!3YwqYFuULK^ur91{sZ zlhPM%ny1tRP|muMOJ_O~1Uq6McG=tq1$g*TT8pB#g16|M3T?RC=FoQEg{@spXZM83 z>%zY2LA&gZci9>4Jd+4;6VG5osK+>e=A1KTA2LlOoJY5hX8Gj3y@-?k7|4ZHqyn(? zWD~Xz-po4d3!%#k9pF@ -k@aIs&*nZJVZ{zB%s+5X}exxPTz=fG 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 Cqu=5H literal 0 HcmV?d00001 diff --git a/Backend/public/images/unity.png b/Backend/public/images/unity.png new file mode 100644 index 0000000000000000000000000000000000000000..c67a8f41ecd6295df9841f4396484da56257cd58 GIT binary patch literal 451758 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
E1vj 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

BQxxu89_vvYiLOd? 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

Uug8Rb@u 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

mVw0-6_>?8zn}IAk~&KEU!6 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 literal 0 HcmV?d00001 diff --git a/Backend/src/app.js b/Backend/src/app.js index 101a079..f7ac78a 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -11,6 +11,7 @@ const postRoutes = require("./routes/postRoutes.js"); const userRoutes = require("./routes/userRoutes.js"); const authRoutes = require("./routes/authRoutes.js"); const messageRoutes = require("./routes/messageRoutes.js"); +const imageRoutes = require("./routes/imageRoutes.js"); require("dotenv").config() @@ -26,11 +27,15 @@ if (!process.env.SMTP_USER || !process.env.SMTP_PASS) { connectDB(); const app = express(); +const path = require('path'); app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: false })); +// Serve static files from public directory +app.use('/public', express.static(path.join(__dirname, '..', 'public'))); + app.use((req, res, next) => { next(); }); @@ -56,7 +61,8 @@ app.get("/", (req, res) => { auth: "/auth", posts: "/api/posts", users: "/api/users", - messages: "/api/messages" + messages: "/api/messages", + images: "/api/images" } }); }); @@ -66,6 +72,7 @@ app.use("/api/posts", postRoutes); app.use("/api/users", userRoutes); app.use("/auth", authRoutes); app.use("/api/messages", messageRoutes); +app.use("/api/images", imageRoutes); // Error middleware app.use(errorHandler); diff --git a/Backend/src/controllers/imageController.js b/Backend/src/controllers/imageController.js new file mode 100644 index 0000000..1b1796b --- /dev/null +++ b/Backend/src/controllers/imageController.js @@ -0,0 +1,83 @@ +const path = require('path'); +const fs = require('fs'); + +// Serve images by category and number +exports.getImage = async (req, res) => { + try { + const { category, number } = req.params; + + // Define image categories and their file paths + const imageCategories = { + 'help-posts': 'help-posts', + 'stories': 'stories', + 'unity': 'unity', + 'inspirational': 'help-posts' // Can use help-posts placements + }; + + // Get the category folder + const categoryFolder = imageCategories[category]; + if (!categoryFolder) { + return res.status(404).json({ message: 'Category not found' }); + } + + // Construct the image path - assuming files are named like help-posts2.png for number 2 + let imagePath; + if (number === 1) { + imagePath = path.join(__dirname, '..', '..', 'public', 'images', `${categoryFolder}.png`); + } else { + imagePath = path.join(__dirname, '..', '..', 'public', 'images', `${categoryFolder}${number}.png`); + } + + // Check if image exists + if (!fs.existsSync(imagePath)) { + return res.status(404).json({ message: 'Image not found', path: imagePath }); + } + + // Send the image without any transformation + res.type('image/png'); + res.sendFile(imagePath); + } catch (error) { + console.error('Error serving image:', error); + res.status(500).json({ message: 'Error serving image' }); + } +}; + +// List available images for a category +exports.listImages = async (req, res) => { + try { + const { category } = req.params; + + const imageCategories = { + 'help-posts': 'help-posts', + 'stories': 'stories', + 'unity': 'unity', + 'inspirational': 'help-posts' + }; + + const categoryFolder = imageCategories[category]; + if (!categoryFolder) { + return res.status(404).json({ message: 'Category not found' }); + } + + const categoryPath = path.join(__dirname, '..', '..', 'public', 'images', categoryFolder); + + if (!fs.existsSync(categoryPath)) { + return res.json({ images: [], category, count: 0 }); + } + + // Read directory and filter for images + const files = fs.readdirSync(categoryPath); + const images = files + .filter(file => file.endsWith('.png') || file.endsWith('.jpg') || file.endsWith('.jpeg')) + .map(file => ({ + filename: file, + url: `/api/images/${category}/${file.replace(/\.(png|jpg|jpeg)$/i, '')}` + })); + + res.json({ images, category, count: images.length }); + } catch (error) { + console.error('Error listing images:', error); + res.status(500).json({ message: 'Error listing images' }); + } +}; + diff --git a/Backend/src/routes/imageRoutes.js b/Backend/src/routes/imageRoutes.js new file mode 100644 index 0000000..1195d8a --- /dev/null +++ b/Backend/src/routes/imageRoutes.js @@ -0,0 +1,12 @@ +const express = require('express'); +const router = express.Router(); +const imageController = require('../controllers/imageController'); + +// Get image by category and number +router.get('/:category/:number', imageController.getImage); + +// List all images for a category +router.get('/:category', imageController.listImages); + +module.exports = router; + diff --git a/Backend/test-db.js b/Backend/test-db.js deleted file mode 100644 index 22d0288..0000000 --- a/Backend/test-db.js +++ /dev/null @@ -1,44 +0,0 @@ -const mongoose = require('mongoose'); -require('dotenv').config(); - -// Connect to MongoDB -mongoose.connect(process.env.MONGODB_URI) - .then(() => console.log('āœ… Connected to MongoDB')) - .catch(err => console.error('āŒ MongoDB connection error:', err)); - -// Import Message model -const Message = require('./src/models/Message'); - -async function testDatabase() { - try { - console.log('🧪 Testing database...'); - - // Get all messages - const allMessages = await Message.find({}).lean(); - console.log(`šŸ“Š Total messages in database: ${allMessages.length}`); - - if (allMessages.length > 0) { - console.log('šŸ“ Sample message:', JSON.stringify(allMessages[0], null, 2)); - } - - // Get messages for test-room-1 - const roomMessages = await Message.find({ roomId: 'test-room-1' }).lean(); - console.log(`šŸ“Š Messages in test-room-1: ${roomMessages.length}`); - - if (roomMessages.length > 0) { - console.log('šŸ“ Room message:', JSON.stringify(roomMessages[0], null, 2)); - } - - // Check for any messages with different roomId - const otherRooms = await Message.distinct('roomId'); - console.log('šŸ  All room IDs in database:', otherRooms); - - } catch (error) { - console.error('āŒ Database test failed:', error); - } finally { - await mongoose.disconnect(); - console.log('šŸ”Œ Disconnected from MongoDB'); - } -} - -testDatabase(); \ No newline at end of file diff --git a/Backend/test-kafka.js b/Backend/test-kafka.js deleted file mode 100644 index aad8123..0000000 --- a/Backend/test-kafka.js +++ /dev/null @@ -1,65 +0,0 @@ -const { producer, consumer, TOPICS, initializeProducer, initializeConsumer } = require('./src/config/kafka'); - -async function testKafka() { - try { - console.log('🧪 Testing Kafka connection...'); - - // Initialize producer and consumer - await initializeProducer(); - await initializeConsumer(); - - // Subscribe to topic - await consumer.subscribe({ - topic: TOPICS.CHAT_MESSAGES, - fromBeginning: false - }); - - console.log(`šŸ“„ Subscribed to topic: ${TOPICS.CHAT_MESSAGES}`); - - // Start consuming - await consumer.run({ - eachMessage: async ({ topic, partition, message }) => { - console.log(`šŸ“„ Received message:`, message.value.toString()); - } - }); - - console.log('āœ… Consumer started'); - - // Send a test message - const testMessage = { - id: 'test_msg_123', - roomId: 'test-room', - senderId: 'test-user', - content: 'Test message from Kafka test', - messageType: 'text', - status: 'pending', - recipients: ['user1'], - metadata: { requiresDelivery: true, priority: 'normal' }, - timestamp: new Date().toISOString() - }; - - await producer.send({ - topic: TOPICS.CHAT_MESSAGES, - messages: [{ - key: 'test-key', - value: JSON.stringify(testMessage) - }] - }); - - console.log('šŸ“¤ Test message sent'); - - // Wait a bit for the message to be consumed - setTimeout(async () => { - console.log('šŸ›‘ Stopping test...'); - await consumer.disconnect(); - await producer.disconnect(); - process.exit(0); - }, 3000); - - } catch (error) { - console.error('āŒ Kafka test failed:', error); - process.exit(1); - } -} - -testKafka(); \ No newline at end of file diff --git a/Backend/test-websocket.js b/Backend/test-websocket.js deleted file mode 100644 index b8952dc..0000000 --- a/Backend/test-websocket.js +++ /dev/null @@ -1,52 +0,0 @@ -const io = require('socket.io-client'); - -// Connect to the WebSocket server -const socket = io('http://localhost:8000', { - transports: ['websocket'] -}); - -console.log('šŸ”Œ Connecting to WebSocket server...'); - -socket.on('connect', () => { - console.log('āœ… Connected to WebSocket server!'); - console.log('Socket ID:', socket.id); - - // Test sending a chat message - const testMessage = { - message: "Hello from test script!", - roomId: "test-room-1", - senderId: "test-user-1", - messageType: "text", - recipients: ["user-2", "user-3"] - }; - - console.log('šŸ“¤ Sending test message:', testMessage); - socket.emit('chat:send', testMessage); -}); - -socket.on('message:delivered', (data) => { - console.log('āœ… Message delivered:', data); -}); - -socket.on('message:error', (data) => { - console.log('āŒ Message error:', data); -}); - -socket.on('chat:receive', (data) => { - console.log('šŸ“Ø Received message:', data); -}); - -socket.on('disconnect', () => { - console.log('šŸ”Œ Disconnected from WebSocket server'); -}); - -socket.on('connect_error', (error) => { - console.log('āŒ Connection error:', error); -}); - -// Disconnect after 5 seconds -setTimeout(() => { - console.log('šŸ”Œ Disconnecting...'); - socket.disconnect(); - process.exit(0); -}, 5000); \ No newline at end of file From 29e9f83ee2435146dfac49f5ce5dc69402d62e1d Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 15:54:30 +0530 Subject: [PATCH 24/91] added public folder with frontend assets images --- Backend/src/app.js | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Backend/src/app.js b/Backend/src/app.js index f7ac78a..4d9df69 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -33,8 +33,17 @@ app.use(cors()); app.use(express.json()); app.use(express.urlencoded({ extended: false })); -// Serve static files from public directory -app.use('/public', express.static(path.join(__dirname, '..', 'public'))); +// Serve static files from public directory with optimized headers +app.use('/public', express.static(path.join(__dirname, '..', 'public'), { + setHeaders: (res, filePath) => { + if (filePath.endsWith('.png') || filePath.endsWith('.jpg') || filePath.endsWith('.jpeg')) { + // Set aggressive caching for images + res.setHeader('Cache-Control', 'public, max-age=31536000, immutable'); + res.setHeader('ETag', require('crypto').createHash('md5').update(filePath).digest('hex')); + } + }, + maxAge: '1y' // Browser cache for 1 year +})); app.use((req, res, next) => { next(); From 790469488354a969443c802a447da097bc13dc9d Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 16:33:15 +0530 Subject: [PATCH 25/91] removed the image upload restrictions --- .gitignore | 2 + Backend/src/controllers/postController.js | 7 +- Frontend/app.json | 6 +- Frontend/app/(tabs)/_layout.tsx | 52 ++-- Frontend/app/(tabs)/helpAndAsk.tsx | 160 ++++++++++- Frontend/app/(tabs)/index.tsx | 13 +- Frontend/app/(tabs)/menu.tsx | 8 + Frontend/app/(tabs)/stories.tsx | 13 +- .../assets/{images => }/MayaCode-logo.png | Bin Frontend/assets/images/MayaCode-logo.svg | 106 ------- Frontend/assets/images/adaptive-icon.png | Bin 17547 -> 0 bytes Frontend/assets/images/commu-logo.png | Bin 19277 -> 0 bytes Frontend/assets/images/help-posts.png | Bin 9985 -> 0 bytes Frontend/assets/images/help-posts2.png | Bin 58811 -> 0 bytes Frontend/assets/images/help-posts3.png | Bin 21658 -> 0 bytes Frontend/assets/images/help-posts4.png | Bin 392920 -> 0 bytes Frontend/assets/images/icon.png | Bin 22380 -> 0 bytes Frontend/assets/images/splash-icon.png | Bin 17547 -> 0 bytes Frontend/assets/images/stories.png | Bin 60089 -> 0 bytes Frontend/assets/images/stories2.png | Bin 130270 -> 0 bytes Frontend/assets/images/unity.png | Bin 451758 -> 0 bytes Frontend/components/Header.tsx | 72 ++--- Frontend/components/PostCard.tsx | 271 ++++++++++-------- Frontend/components/SidebarMenu.tsx | 14 +- Frontend/components/StoryCard.tsx | 68 ++++- Frontend/context/AuthContext.tsx | 27 +- Frontend/context/SocketContext.tsx | 9 +- Frontend/eas.json | 6 +- Frontend/models/Post.ts | 138 ++++----- Frontend/services/imageService.ts | 77 +++++ Frontend/services/postService.ts | 2 +- Frontend/services/userService.ts | 2 +- 32 files changed, 639 insertions(+), 414 deletions(-) create mode 100644 Frontend/app/(tabs)/menu.tsx rename Frontend/assets/{images => }/MayaCode-logo.png (100%) delete mode 100644 Frontend/assets/images/MayaCode-logo.svg delete mode 100644 Frontend/assets/images/adaptive-icon.png delete mode 100644 Frontend/assets/images/commu-logo.png delete mode 100644 Frontend/assets/images/help-posts.png delete mode 100644 Frontend/assets/images/help-posts2.png delete mode 100644 Frontend/assets/images/help-posts3.png delete mode 100644 Frontend/assets/images/help-posts4.png delete mode 100644 Frontend/assets/images/icon.png delete mode 100644 Frontend/assets/images/splash-icon.png delete mode 100644 Frontend/assets/images/stories.png delete mode 100644 Frontend/assets/images/stories2.png delete mode 100644 Frontend/assets/images/unity.png create mode 100644 Frontend/services/imageService.ts diff --git a/.gitignore b/.gitignore index 2add8cc..a6a8182 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ # Root-level .env file .env +scripts + # Frontend /Frontend/node_modules Frontend/.env diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 379176f..3532cb6 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -12,7 +12,12 @@ exports.createPost = async (req, res) => { await post.save(); res.status(201).json(post); } catch (error) { - res.status(400).json({ message: error.message }); + console.error('Error creating post:', error); + if (error.name === 'ValidationError') { + res.status(400).json({ message: error.message }); + } else { + res.status(500).json({ message: error.message || 'Something went wrong!' }); + } } }; diff --git a/Frontend/app.json b/Frontend/app.json index a77743a..50f5c45 100644 --- a/Frontend/app.json +++ b/Frontend/app.json @@ -4,10 +4,10 @@ "slug": "mayacode", "version": "1.0.0", "orientation": "portrait", - "icon": "./assets/images/MayaCode-logo.png", + "icon": "./assets/MayaCode-logo.png", "userInterfaceStyle": "automatic", "splash": { - "image": "./assets/images/MayaCode-logo.png", + "image": "./assets/MayaCode-logo.png", "resizeMode": "contain", "backgroundColor": "#ffffff" }, @@ -26,7 +26,7 @@ }, "android": { "adaptiveIcon": { - "foregroundImage": "./assets/images/MayaCode-logo.png", + "foregroundImage": "./assets/MayaCode-logo.png", "backgroundColor": "#ffffff" }, "package": "com.mayacode.app", diff --git a/Frontend/app/(tabs)/_layout.tsx b/Frontend/app/(tabs)/_layout.tsx index f502c46..735fb2b 100644 --- a/Frontend/app/(tabs)/_layout.tsx +++ b/Frontend/app/(tabs)/_layout.tsx @@ -82,39 +82,25 @@ const Layout = () => { { - const isSelected = props.accessibilityState?.selected ?? false; - const iconColor = isSelected ? '#2874F0' : '#828282'; - const { style, onPress, ...restProps } = props as any; - - return ( - setIsSidebarOpen(true)} - > - {renderTabIcon('menu-outline', 'Menu', isSelected, iconColor)} - - ); - }, + tabBarIcon: ({ color, focused }) => renderTabIcon('home-outline', 'Home', focused, color), }} /> renderTabIcon('help-circle-outline', 'Help & Ask', focused, color), + tabBarIcon: ({ color, focused }) => renderTabIcon('book-outline', 'Stories', focused, color), }} /> renderTabIcon('book-outline', 'Stories', focused, color), + tabBarIcon: ({ color, focused }) => renderTabIcon('help-circle-outline', 'Help & Ask', focused, color), }} /> { tabBarIcon: ({ color, focused }) => renderTabIcon('chatbubble-outline', 'Chat', focused, color), }} /> + { + const isSelected = props.accessibilityState?.selected ?? false; + const iconColor = isSelected ? '#2874F0' : '#828282'; + const { style, onPress, ...restProps } = props as any; + + return ( + setIsSidebarOpen(true)} + > + {renderTabIcon('menu-outline', 'Menu', isSelected, iconColor)} + + ); + }, + }} + /> ('Ask for Help'); const [selectedPost, setSelectedPost] = useState(null); const [isPostDetailVisible, setIsPostDetailVisible] = useState(false); + const [imageLoaded, setImageLoaded] = useState(false); + const [imageError, setImageError] = useState(false); const handleImagePick = async () => { const { status } = await ImagePicker.requestMediaLibraryPermissionsAsync(); @@ -82,13 +85,28 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro setIsLoading(true); try { + // Convert local image to base64 if present + let images: string[] | undefined = undefined; + if (imageUri) { + const base64Image = await convertImageToBase64(imageUri); + if (base64Image) { + images = [base64Image]; + console.log('Converted image to base64 successfully'); + } else { + console.error('Failed to convert image to base64'); + Alert.alert('Error', 'Failed to process image. Please try again.'); + setIsLoading(false); + return; + } + } + const newPost = await postService.createPost( user.email, postType, title.trim(), content.trim(), { - images: imageUri ? [imageUri] : undefined, + images: images, location: { latitude: selectedLocation.latitude, longitude: selectedLocation.longitude @@ -322,10 +340,43 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro Type: {selectedPost.type} {selectedPost.content} {selectedPost.images && selectedPost.images.length > 0 && selectedPost.images[0] && ( - + + {/* Empty frame background - shows while image loads */} + {!imageLoaded && !imageError && ( + + + Loading image... + + )} + {/* Error state - only show if image fails to load */} + {imageError && ( + + + Image unavailable + + )} + {/* Image will fade in when loaded */} + { + console.log('Starting to load image:', selectedPost?.images?.[0]); + setImageLoaded(false); + setImageError(false); + }} + onLoadEnd={() => { + console.log('Image loaded successfully'); + setImageLoaded(true); + setImageError(false); + }} + onError={(error) => { + console.error('Error loading image:', error.nativeEvent.error); + setImageError(true); + setImageLoaded(false); + }} + /> + )} {selectedPost.location && ( @@ -353,6 +404,9 @@ export default function HelpAndAsk() { const [selectedPost, setSelectedPost] = useState(null); const [isPostDetailVisible, setIsPostDetailVisible] = useState(false); const [activeFilter, setActiveFilter] = useState<'all' | 'ask' | 'offer'>('all'); + const [imageLoading, setImageLoading] = useState(false); + const [imageLoaded, setImageLoaded] = useState(false); + const [imageError, setImageError] = useState(false); const openModal = () => setIsModalVisible(true); const closeModal = () => setIsModalVisible(false); @@ -379,8 +433,12 @@ export default function HelpAndAsk() { // Function to handle marker press const handleMarkerPress = (post: Post) => { console.log('Marker pressed for post:', post.title); // Debug log + console.log('Post images:', post.images); // Debug log setSelectedPost(post); setIsPostDetailVisible(true); + setImageLoaded(false); + setImageError(false); + setImageLoading(false); }; useEffect(() => { @@ -391,11 +449,23 @@ export default function HelpAndAsk() { Help & Ask - setActiveFilter('ask')}> - Needs help + setActiveFilter('all')} + > + All + + setActiveFilter('ask')} + > + Needs help - setActiveFilter('offer')}> - Gives help + setActiveFilter('offer')} + > + Gives help @@ -477,10 +547,43 @@ export default function HelpAndAsk() { Type: {selectedPost.type} {selectedPost.content} {selectedPost.images && selectedPost.images.length > 0 && selectedPost.images[0] && ( - + + {/* Empty frame background - shows while image loads */} + {!imageLoaded && !imageError && ( + + + Loading image... + + )} + {/* Error state - only show if image fails to load */} + {imageError && ( + + + Image unavailable + + )} + {/* Image will fade in when loaded */} + { + console.log('Starting to load image:', selectedPost?.images?.[0]); + setImageLoaded(false); + setImageError(false); + }} + onLoadEnd={() => { + console.log('Image loaded successfully'); + setImageLoaded(true); + setImageError(false); + }} + onError={(error) => { + console.error('Error loading image:', error.nativeEvent.error); + setImageError(true); + setImageLoaded(false); + }} + /> + )} {selectedPost.location && ( @@ -530,7 +633,7 @@ const styles = StyleSheet.create({ gap: 10, }, button: { - width: 120, + width: 100, padding: 10, borderRadius: 25, alignItems: 'center', @@ -546,12 +649,20 @@ const styles = StyleSheet.create({ shadowOpacity: 0.25, shadowRadius: 3.84, }, + activeButton: { + backgroundColor: '#B71C1C', + borderColor: '#B71C1C', + }, buttonText: { fontSize: 14, fontWeight: '500', color: '#B71C1C', textAlign: 'center', }, + activeButtonText: { + color: '#FFFFFF', + fontWeight: 'bold', + }, fabButton: { position: 'absolute', bottom: 62, @@ -820,6 +931,27 @@ const styles = StyleSheet.create({ borderRadius: 10, marginBottom: 15, }, + imageContainer: { + width: '100%', + height: 200, + borderRadius: 10, + marginBottom: 15, + position: 'relative', + backgroundColor: '#f5f5f5', + }, + imagePlaceholder: { + position: 'absolute', + width: '100%', + height: '100%', + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#f0f0f0', + }, + placeholderText: { + marginTop: 8, + color: '#999', + fontSize: 14, + }, postDetailLocation: { fontSize: 14, color: '#666', diff --git a/Frontend/app/(tabs)/index.tsx b/Frontend/app/(tabs)/index.tsx index aa0395a..b38facd 100644 --- a/Frontend/app/(tabs)/index.tsx +++ b/Frontend/app/(tabs)/index.tsx @@ -5,6 +5,7 @@ import { useRouter } from 'expo-router'; import React from 'react'; import { ScrollView, StyleSheet, Text, useColorScheme, View, TouchableOpacity, Image } from 'react-native'; import { Ionicons } from '@expo/vector-icons'; +import { getImageSourceWithFallback } from '@/services/imageService'; export default function HomeScreen() { const colorScheme = useColorScheme(); @@ -20,14 +21,14 @@ export default function HomeScreen() { router.push('/helpAndAsk')} /> router.push('/stories')} /> @@ -36,7 +37,7 @@ export default function HomeScreen() { {/* Static Inspirational Cards */} @@ -47,7 +48,7 @@ export default function HomeScreen() { @@ -58,7 +59,7 @@ export default function HomeScreen() { @@ -69,7 +70,7 @@ export default function HomeScreen() { diff --git a/Frontend/app/(tabs)/menu.tsx b/Frontend/app/(tabs)/menu.tsx new file mode 100644 index 0000000..7b0c6a8 --- /dev/null +++ b/Frontend/app/(tabs)/menu.tsx @@ -0,0 +1,8 @@ +import React from 'react'; +import { View } from 'react-native'; + +// This screen doesn't render anything - the tab button opens the sidebar directly +export default function MenuScreen() { + return ; +} + diff --git a/Frontend/app/(tabs)/stories.tsx b/Frontend/app/(tabs)/stories.tsx index 0d80b2e..1642b7c 100644 --- a/Frontend/app/(tabs)/stories.tsx +++ b/Frontend/app/(tabs)/stories.tsx @@ -137,19 +137,24 @@ const Stories = () => { const handleWriteStory = () => { if (!user?.email) { - console.log('No phone number found in user session:', user); + console.log('No email found in user session:', user); Toast.show({ type: 'error', text1: 'Authentication Required', - text2: 'Please sign in to write a story.', + text2: 'Please sign in to write a story. Redirecting to login...', position: 'top', - visibilityTime: 4000, + visibilityTime: 2000, autoHide: true, topOffset: 50, onPress: () => { - console.log('Toast pressed'); + console.log('Toast pressed, redirecting to login'); + router.push('/login'); }, }); + // Redirect to login page after a short delay + setTimeout(() => { + router.push('/login'); + }, 500); return; } router.push('/create-story'); diff --git a/Frontend/assets/images/MayaCode-logo.png b/Frontend/assets/MayaCode-logo.png similarity index 100% rename from Frontend/assets/images/MayaCode-logo.png rename to Frontend/assets/MayaCode-logo.png diff --git a/Frontend/assets/images/MayaCode-logo.svg b/Frontend/assets/images/MayaCode-logo.svg deleted file mode 100644 index 6183c8c..0000000 --- a/Frontend/assets/images/MayaCode-logo.svg +++ /dev/null @@ -1,106 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - MayaCode - Connect • Help • Share - \ No newline at end of file diff --git a/Frontend/assets/images/adaptive-icon.png b/Frontend/assets/images/adaptive-icon.png deleted file mode 100644 index 03d6f6b6c6727954aec1d8206222769afd178d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17547 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

{$IFqWBT^37u&uHI>FXj(jW8> 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 AkpKVy diff --git a/Frontend/assets/images/help-posts.png b/Frontend/assets/images/help-posts.png deleted file mode 100644 index ed2039f09fc2d324ab91b9e1d423c1a16aabe8bb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9985 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 yYsJ68`2PVknMt(( diff --git a/Frontend/assets/images/help-posts2.png b/Frontend/assets/images/help-posts2.png deleted file mode 100644 index 8615536d75c535dc6fd11120575b05760c1f9dcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58811 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

!h6Qtz9n@|=2 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

^ao;K>!n6)8!_H(?X+&Y|#L7csP!juWocg*5FI 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 diff --git a/Frontend/assets/images/icon.png b/Frontend/assets/images/icon.png deleted file mode 100644 index a0b1526fc7b78680fd8d733dbc6113e1af695487..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22380 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 diff --git a/Frontend/assets/images/splash-icon.png b/Frontend/assets/images/splash-icon.png deleted file mode 100644 index 03d6f6b6c6727954aec1d8206222769afd178d8d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17547 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�~8HoP4%Mu4P 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 gOh8{XeCXu-KQBc<yn=ggU8Cdqu5bLIYB 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%0Dg#lYJUlLpT{}lf$N0- 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 -k@aIs&*nZJVZ{zB%s+5X}exxPTz=fG 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 Cqu=5H diff --git a/Frontend/assets/images/unity.png b/Frontend/assets/images/unity.png deleted file mode 100644 index c67a8f41ecd6295df9841f4396484da56257cd58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 451758 zcmZtt1yoeu_XdnhNJ)nBhs3eu@`clGbAA@qY1D5wXcdAmt}u{4vCngBdWZuEj88eWb@G(id6kM$vm4%|m$* zSxJeZf~Tlr()9*KkLbzvYgjDDGK7RL0Yb(XP!>gK(iLn3iTsJB;Hf$gq^cARfzhe5Er!zav{;6I-6_o9Rw~tIwwbypZ zf*0pg^`h-JO!>3;U2m~PZ=&0_vM@4%VS)ukgFez!qqpdOqY#+O1S2j;4bNq^Tyh1z zGRUF9*=1zI)!?>B)rfI2ZRvts)bTCLYP5#ZiJK;naOq=%4p3k;E>#@um^W(d|$= z8E?ngknLudc%z--=bTkol{r`E_r>wV`6ei(;V7Yi|6P-Z%6Nfh9P7oU0 zZsj>oOae0e%v6ZOwxtgZK8klOcTRMGl){t1>vM{W(?R`)C4^##-O<2+sRI{kUqO#r z#tjtEOLHUf;!m$sipJf@6W(SMLF0n{;*tO+N#MO1l~Dcw|I}YC;i%jRGy2nqZSo#< z;Jk+Fxf2uUlVIJwiE1#SYj;lu@4?$J8iMya3!lJJ4`w zmN)V_F|kA2mKlr8b|*aG6O>0G^-kNkCC<_Uf&Xjt0*YSEs9iuHs1`=fr`Gf&BE?Sj z10`RwaCO_rqj7H)f$bej{E}@(|u({!mP+ry+n&hL>Y_MMShA z&lI)CAhri%CZ=!HVDHw*u(P{#7TCawdTvB;_Z4~63W%p?2JpwSqv~fsXo;2qSaVdG zTLz3_2wF6!o5BD#Oc;dmX<{pn#1{{a>ujEo+2jH0FY$R)@do=T9&J2aZBZ)~@Nnou2Zl@9cHp7{E6W4V-9&M^z*(IlZMX7kDv+8TtGeXynHn6fiP513 zH>Qu^%gs9n21JPsxO#G|CPUiJGrw5brq;S}SI262Tsg->W#2N$m~=^5=!j)1q3B^e z9PCFl#-+zx(4bhE@Th=61HCi2sbw2~a59#kxspvEI-PUAa)r2N#%U0dTXaRpOfr%D z%yL7unGF^=MyhiZ!iG}&k`N8f$}@C`49~TxSpIM8xc+`w=)mKbP%Iy{DG+t=Q^3K< z(1WUJLr@3u58U*-FYppno*y3OxugjR?Hz=A&zla+$Z6YKg5m3EURBGc5B9xMgn|Vf z*NaZ!BUi>c>^*x5c8rX(_!ww_9o>qn4QB-_`rEuwbMvy_|4sH*mT7UhBgVwhNXE)N za~B`N2zK=c2b+G((ANe57A(PIO+QsRsErI_J?eV)0(ACCATypI(u|4Kz_V>Y(k$4t zE1JkT0!FH!*7IJRUK?TeD?WPpGv3({rL(D|V``=}u7ut1=j4XDnrsVOT_31Z5&~_9 znpg+i4DX?TLU-2zfztjb(8>;;siVr*MDOlU1jd@F3H^THAmd#pr5=HtERMz=nY__P zIHnT9mq)OY{%0_czE`mV)5~oBx0-^C~1IsdRauS|Sau{B{Af6szhf4pm!$1s) z12moZN;sw>{T5FJI#&VtPt4*cD0`amBH8DYq@hiQqRb@2Q0IE&LA0f5=&xjkF!w3G zgQY1s>_$T-5s`nEe(=Xa0<~G90-ZEjVx0jjnF3j3C1)~|sECe8UUv4UW;c|8%(Xm?=wWU;>8`#K-6qly?5K z1yxwIakkmQobSHT6(uYxdohwMJgNNKlVkul}xH%BUH zzHiYYnPuPlmZbieO6&WP!hQyM<2~#2xSha6hnSj#FLgZzXQ;nEGz(;-Lzx9;KB(~1hH2}G-l<7I?rBwGT(K~UAglzY2HCPh`Ep_|8*DY-Dvxy?Hbi1%)do@eV zky?y={&F;!Q07Pk>4@9Qhru+|jDnO{?yJ`+pFch5c!&>%l;Ls;(m0&wg*c4oMuhOi zN&$2@sT5UnG#1p?HLz_;cf*eP2R;&?z>xc#1Rt81T-iQWLxacdMBP~hL5}rgC7A2X zRtTc?Mf-daEh3<~SpYVuibe?k>HoR!hxTGnUc;O&xd7|hYku5bnYX0CN5(LRc>Fz! ziS5)!)&~#H@4Pg*9o{L#V2DG91P$baVOxx5{nOyJz30a zZR6kI8>SzAj0Rh8u*-G09{Xg9#lsi5XAL(kNZvVtVelwkkFE4bUh9YQj)^osfo~k- zM#vk-61a5A`2SkcDGX>SLBT@)X~hrDYgZzSR;x@TL_8ntu>*vh`XKkYCxn4|3n&lhYB5C!KU}D5Co-d zqKg@!P8xRrt25ApfysxVX=YcH;8L-Ht(=Zs52F)iCd35V-b(dW2~)nrUfARpnI$GQ2T|LCnqQYR(CW#x zu~?|07ROawVL5YJR;LJaJ!eLXY{fkr2z?K4mr7x!4-%kX$8bmIC3twbE+CjtjBM*~ zo5QcQ1HGK2?kqa^Az!j|$R_kGUeZ#N ziY8{+oK8@C;jp(+MHIHy)a|<$nAgyf&X?Z%CZB=8A8!?I{7Jrb^E2X&ld41>zem1{=2nmq+{%)cVRs=ruLfGfWxm|q?J7~ zlzGa_z_TzQOdjnpP`?~q_H0EO2tT5}_FY?Lkb=*lCV>I&;+OGOL!H|51&7b_-*OPPiw_R+w2TKNXSj8~?EW|O-$65g>BO`V z)h541Jq9a+NqicACU(S$oKSwM2nL1^g<(XUw_QPs;Wze3FtQzmxe83x5!NCVtWRk5 z2v{@}7|1Xpc#GS}E~x-mLjzATC!4*fDDWi_dl;n$=|3gJHoT1QBqp^-hl%6R(A~tU zpwZ)X;dJjYp!+>LizilvGcijikV^9_r9!1zJ|lop zA!h>?n0Czj`CaH$aTWO>^6D~-6aWx*=CKGuP)Jib8!1dVCf4fkvSQK<{Xo_qmXO0~X?utcYHTj_CuYm{x2H3K3lK(T3m?`Na^ z4$j(&1_rwDf08}t21|KFEa76oX^)1#c^|1|?2nUFpmPwN7>nT0F#dO354yBKfF*g$ zRj8!m`M-%Tfr+5U02qdZ@djb?+sEmjp@SvGiU0IIa%EJ(7d&A9&j2UP-K6mYpZ=-N zJo>*aYOj#mdl(r9=Ji9J3Ca!h7S^M8v9+skyZK3b$Ecyl)Sb@JZPi{l&4U?T)Wbfc zFW+3yWMR;g(&3UyYN3S0ep(|60-Mh4w7nLf_c#&sv}kJbroQz~EquC4$>fnrN8^9-c+ESm#5b-_LG@KWugE$c7 z0j3ke>7zv{gs~#&g@LFW{aTx{88D&!?M!s5r4~S+FAXxW8gc$zW(hW}pnCcqem;5I zP9TNn^5CQYpUEu2!1d|t7uv*D^mc&YeRx&SbswWk$5a1vVElITbR}3;ncKi6biUR#)8md3hLrCOjoM>f$uZ)HB)Ca^bB^{{5L(1z=3` zqmK#`Ljb3RD{K569X(5Xowde`9nC7vQy2@W#A8=-WbByp^u_GnYgB9j&s4%n{{&`^ zY-$|9SMmeqE93r4jH2n_t{nA>M$wo)7>C{?c$K#i{he}&Q?;jP5=w1vbDAps8uB%A zjM=p5$wSzUc?@_q1{6PjiGag@wO~X2iYQxm_D-sRy=Imzpeq6YQgIp(9fPR#Zbg^G*S@UN;j% z;-AstV#s50?Riq%%v|?>8QsdlEwtTOk49x!B=6uy1xxB;1NJ=!MPsC=z0u3qrrMMQ zGL@S<+37|tDVN;S^y>L*xAS|B(f!BYg{28aB#sCpQ^GQjSc9+RFea3w?EGkgVpSI` zLj{PXt4W7oq{hsnEuU#&5h)$+Rngqo*yXswC-k|P4D(_ga@;(2z5U_+8=cwAfHzeu zz~qB95SfK-?(rd8e)_g+p6~$jR5)LpUaSsn3F`dA)v!taHwzWO%HM9}+Q)X8sD(g$ z(hPZyI2~2~%LV?mPaop>u$81}SBJMI6(=|+hvlZk(mTXNf)J-X%bg|DO^h0zN1pdO z8pwTJmU3y@CHvPbczLo+XId>LdOth?4B+yhlmDen$H*BsWoJ3$B&9qoPqPW(zSQEk#hwr5bxQzmH+0hN$IQv& zyma_@TE^`4<@y!amx5*xnvS3#<4cX|4K;b|ED#KER<}_yzRk4{(+I@Dl7(oJSnpcu z*D~EGk6H+j?Bo7#NshVoPz^vv7KpI+S8()W;*P4g)dGJ(g8$5)ROZKH=}}jy-|pv* zt)VP|0u0S3*-0GO{S-|}!L46nX9yqC>icX}I(sg_lduG@&mRz>6V`Y^X=huS;(&E2 z>LD0d9#B>%pQYSu10ce6wgBinlde4Oe6+&TR|bt00ZI2=6cHZ7aZ@HXz^AJw%{bz5iiRfGPjzw(zhq)j*V>2}1&K zX5O-NnMx$gFT9sA)Bd&!MK2tE)nxkPj^4lON*;JM(!$yr)Z64t1hT}TbJTA14K_4- zt=+Tj>Djf7B1y!&PvaW!QZc@{;FY_|?azd9|B=8J`{uRGMIz?7Y29DbnOIgM^Wn|T zCQf`t`TL#3o&Dk141Imrt+u%`HDIPL>uh%q04aHh3dY%pJ~+@HIqWJ0*s$JWlDOKh zcTs>|#%T}$3I1&?y=U{@Yr?cE#0@^}{;)KVWBa%mfCh(`JQOj5O`B=SvY6CCF?&G#$3UP$lv_W#=?R-n3m;$r*id_#CN zBqR8DIASnu}F$L-$$%~(3z`}jr% z(IJcXz&^zj8*7MQDx9#ruqk<=-%N|4J@Nzc2na%c}rPP?dhXE9C@WKQAd?GVPr%SLjUiA#@@X;eP1^e-_Y_=byPGY zD#Um!Uc{`d0Kooyq-a) z`+waGK;Y|2{)fQ5j|u0#8K$QD6B<*xADY+sPcpQclJ8LdS+MD}V#uqUB=^m?_g3Tr zxAS<`h-lrxlzbDp9>q~sfFaItn><+iA^1<8`;v7K&={r0rbU8YZoIJ~tvpS0WU8s6faECU`A#icTb>D`!4x2Xs_NFkluNwy2Cr zb2GD-RkocG={Z%be<-WKH=VOEbI`C|ipK*gDaK6IGV(dynFo3AX8NgJ?U_Ce7i-59 zdTwc>4?3gW_JafLpB!sfMU(Tzd>Q=)V_Chx`K&Z^u1|P?1ug2T5Z^2qZGgG!PT+Kh zZE*2>6i{SX^PKtwfJ7`L?bVD##b0aA>rcQ+dW%=_d!>9>_@uarId1vN3$s3c3Q?4(5>>9UNsmA|ALK~x#po1Ub2oR!ni|GeJM1Xklg7bd*_L9de*8<@= zQa(o{IFFC3u7C>}AL2UL`6}NeydR4T8GdW?ChL+wm0W-xITj!GD>=JQwwayO?E?Vw ze!kjvXztcRH3aG2XI4K%fp$%^ic{I4nd(M2|2^K*bA zxx!2j0f1lyt{x%15CQOtc}trPZptJxK9WcVP^_^~EOtGQu{9pp_aTM`HX36g9csd$ z+1BNoK-v!s>9&$HHP*S&oatgXyph~AMyv#T;{pix(5f8lHKC9)4U zrsplv7X>SMo7&rd_bbpv@iP6!B$)opr;s51&W$KGn!wgF@5g$gmZMdmk!BnS7LFb{ zbP~_Sf%t>oS7G@a0P_3^)QR|w8l4$bLfnx-?VvP*uRG(LtQTEgBq=pP73kl}!qy*1 z-xl*PK-8y^L@9~pyW^+!o=@z;Y4G?QR)LFQjs*ayDsb?6dN&R|*q$n1^tXoiU~SM6 zd2zG3D>`5*Al&y@09SS-La@S816Ex9$0&$#ka3bquJ2ca&M$->0&Wg2vgySRjwpW{ zC?Pox3;aWfhA%bu#1QguQIyxYe4PHG`+pMo&%oK4gJOd``yJE%M)VdnYmEP?l6WF{QoPXTl)D$fb)ESLq>}_BPniE08>h((o(a zo?G<%&squjr9AqN0X1z0?(tnlrFiM&f5InD^RV6_9B*c{{~SPIo~1sb+K(RW4IFO< z!_-%T2l#sIpBMkOWEbW0rm(o;A%ZnANo!mvvY=};%Hk5-QkLOdlKG2YW^wmK)IXJ{9E_M6@FgUPk7sQ$1T|V z^k$)&}lOons2yT|T^o9@8J<6;I!X^b$3jtyn-*abte*z9O z+8)Xm5hU-rT*NtXx`*(rp8Jy=wT$Sf@BIKttSkL;4vmNEM!nu=p+`H2LJOT~vdIFC{Ka=)N8EVgTw4?$xf z*Hh9PFQpwiS|dAGkv}HIPyg%F8UtP2HN&6A$^o+01;|jjV~zguEu&&}Zq7Hc&4U0z z+aZ=J@NpHRCG5|pB|HKB;S_}D^mZE2JNR)f8v*1xmYFltE@q$|%G)mjQS6U@`>)XS zgMD54Ti8?;#6A!ZxeEH{O%|Auh4j=L%|y#q){5|)E2n{}m<(mBZ$oP6a5Ew4M3xvP z%Z~DYwyiBQD)B;yJUQ;c?IVI?;q9RD?>-iW94LAZdS=doFyqh}gUFLOygp7Gt{c4l zy-7WHnN`fBpC}Y*#H^SEi8XSVBzRD76tdB(=qHzrs@TD%`yKoq_Q)lla7jzr9xEN0 zkGxMi`z=1=>f}9l2qy+BRP;)OfVnsPZq^-@FurI4aT3FTL?8968iGjQI3)YKJPi)*gdAf}b$D}UMoKy}s@hK5SXx8`X*aI+ofxyF4fVkaJ==T`QHDmocY=AGsHw7#}Lw88AWz1Js`y5h`Z`fMr{5%yV8x5tFZdFiQF==ay8On$yb>2wIBt&VPS?4plG#RNz z5{s(A8~pu^>M?UM3_uq6h9FMXm?L_NfVBq?ggHfEI8!`A5Ab5zSG-eEYP7*8nZe|p zqU;+-o;0-e^SjkeqHgubW!INKXp;$?JuQ>NTp8`cM%KqJ|F|{U(xh{xrz^U7S5N+R z^77r){NU(0BlQHTF*zhVAD(0)t#+GTbWk;iscwB10%0fp_8R zTCFw?kxpn9`(W(ceWT-_BKG&imzEUmB==nQa}&pn{@I&qwz~3<4NJS$-#);U%F={) zyE#bov}+Ga%f)H@43JbWxXWzHgky4IaC?tn`F)6isAq~sUtfN8ytqv(x_m56@lnT4@E)4Y|0t9BwWj9lG&-_yQ%DP(4etJm|=4Cwt4 z8ajCjo~Om_W)I9I!mWMvifbxg$vbg=-lkRyQu}$T_H%vXZ<^rg5U-E4^BpxWadykz ze`%`D8&}g)SAFMIn#C}*+PvjbzqT>|J?*Qen(F0fhZ?@Ny~qeuBrh^};2OOu@$7ll zl){`|?8~V6Gt~O(=r%B_GDjq1e_F{g^eMVL>|{MxI)c%%zPdkZ#xWq9qC@Y!$KJ+z zX@l1Dy@dm}v(KWk=UkT-3-Ru~qSwQHo3eO!yUiSN>8~IyIV<6@p2_e1nb1Q_{+u3schvX6n4U*Cxp!g6>SP;1T!IJ`fRPhK` zpWLJV&Vn-vSiGm`hM|909&-KA>j&1BoA=9Cwx^}=BTcBIxB0huzpR$S*Pgefp~Lz3 zan+qOvooqz)h6{2U7PJb%e_LL;&M)Q&S%8~7S>{$RWzK>6osAL_WRYta1<0sBoxp& zXdX%h#1nqDc%;L5;1RyN-ei00*`Gf(GU_zk|K4P@k6T6Q2B) zzVjPV0R7{-`Kg0-6Fy}=hCLu)PlMZsTuIVS+ju(R;C!JPyz3U0*EwtOx5RQEY+JcD zT|ZY?)Vky3qpn_^lL=|4YN@L%tuD*@p1zx^mCe_hZ>e`QsP9 zS66lAtW#RKMbxjoeVZkUi&~<>!Nn-6YKwwzG&$t+RmY}mII6rNIjz-+&$;#Z&nFXt z{7&xvi2I7T_aQ#7nkoAmpH!HeD^b^6Rue^h(6=w0`Jj&Ywcv)_wm!TBGmlMZ`}p1G z6HJxgAU_{xG?sQVLL;skx2_!W*^ho)b#*VV{GSpTdw>XQB%BCuj6S1n1LSz;`1tKJ z37IEy`25e_s`E3G6q|y8V(Zw4ijzwl8k$qQnC=+G$GbEkyXg&rc*#!`lp1J|#hlX{ z8#FxJ<%LDI9Gne$DL)$6y;VOP|BQ{@*1(fa4e6GiG^MG#$q&7)A2YXE6lPjqc@e?_ z0)EF9Dc=vKZUH&T{mS;ly5ox`8YpWC3x*=X=$~j1Uxv$*eh-&_Y9abbZAH~yU2>tl zW}=oYmRrC6>Na9uTzom5yr<=KBA3tqeXCbj43a7xPW`kNC={lM7XLy1*y7QdqzH8` z4(^^$^8WiLd42kfEZ<)IyX#r7YOBBXFCN+E%j4Ze9}kxi1ZRO;$yWiptCRvbkB{dy zys|&+DKlM4f}hQM)!8{jiRojl%mklch;D=@`Zp^Xe%t?(u$99&`9*DG$k`=)*RwEXDS)Q0#ZDd>8+PaD^8 z`Ig#=+S~?jh&MW68MQqAHv4Z|RJINi==c*BtR?+loiTUZa!}J=Ve!D%{7+8Ku1255lAW2HXetp+R$id@!0=v*bR!? zzyk^H90u^*@5C^)(g~l$*|%I(W82@IRI>!}Wc;2`OYG+*9XSr9$8K(c1e6?5$K`yV zRCC@v`ZlBwrl~hwe^qb})@yZHJHb{~%sAQE(%3i6-4&~_{afUjBhz}7A3;?bf;fbG?J8T3Uc~JA`3-Jx=6LNj4)wfbva7MAt!#O>ZCOD<{dF@v$&Y8D zvuGN5&YVu-7IxZ;3$rszCH*|xa>@39WW0x{xbvJ{0B;o0gV6^cCbOc*{2%(ZV#Ic$HWtmu2~&gM2G z-e~OSb)2wY zwX?(a++Yn2u}-N&;M=CCD*Uux;>P#&#`rerDTtb>Sr^gWox!<4hPvU;k99uqZF1GSdOM!w!eJVm1wa2ab zj@hlP5=0Y900-{$z?>O4^!$$j4EtEoWnw7DYM}#}7hsKK966@$P3<03uwzOj(N;3p zlVKflsO%W~bqsW`6GRG&=r#Rbl~JKn`i>p;#96qxa6YKXCmPfEBbMR0*Q*aa8l-q5 zik@44UbHrPt-IIr>lbtAs-zv8^nCW`90dJ(Uw!xfs9>nJ*m_%UWZ2_J4s&JpPPMTt zNi~igSYPbkXY5x;8e7Zz9XsYuc64AB4b&;BTzMGQDM)eWWcnza@4+?d_`=82)XTe&b)R;E4u75J_7-fNdL zd8Dk6M>NFXd8l*@**>$ps)jESoutVQFnNm#lzgTq+$1dE`lb4>m1K|JAY7I{Jr&eD zOs(5sIv?I;OOi;y(}-vm7T7fy`1W{P6G)!7#sTn`c6t}J-*VY>xi4PpJ@4_A`*^n6 zH~kW4{M)za{6Bo@YWItzl>Y$U19wV%Qf@xIp1C&@tSQ%HqD?NKx;5=x)^;>oMNJ`( zlk&yPbG30pLr8DUBLVMqzM(}AJ`|M&n=V#Z#4c)R)^4}vB@K5*eM4!*xTg7E3p*>T zzdH^vX2tQ`UTgc}`+P=gm%l^)VwLOS{M;gr9Jl)eM|#MHySU`>7Jc}+g5n+0D`EpYR9TF>|9R8kq=_p-8H z?{tHmv`D(+t_}yx3j9Oaeuj^ zRc`wXECS2$-WbSRoq3_oRch*Ht)sD?w{_INo{IK9^8T!2Vc%5GW4YtxLLnJ?NkY6tBdO-UbA})N*2@C(6RKAvc-?psDECNo9}bA-YBom zhEIL6Wh|w4J09Ndk9fY^u=|De>89UyI?Bq%1e$@TjTN|9q-Vzxl=1H*EXc%OH1*w>0-1 z-o}_QzT4}nonKR5?lmYP7aJ?wH@cr>_?&kCirZ|i^1U4#D{;m(`%LyV)Dh1AAK5>x zIPjZA(JRE{twM+iBQakjZ|?hJLP4jMgQ% zaJ{+B_GbL@>e}kk{K~qbmd2L6tlDa>Rs&sQDI?RFgqkOdCb_$IWl(F|<`h?FYt{DS zyczKt&70fx9P9>ieKG$d+4Xho5RQ@EUne7;FYc0DFTZ^u*R%abkqE!x(Ngzwy<982 zDe0VYgWCBGEO+jIY&_E9V7r&BfZNWT46doR@_bL2Rr!K&boD@$TE&g2#%-@;9#KVA zej>t!<8C&NuC743M?_~7D}~0%>#i}tUH>4z7 zasRu4<*_#s8t1MJb=3-O!9fi&rj?Ap2@q|@3f+9CIVIG(Xb(oWw@CvyVCrKgvUM~V zYlNSwN=)v(zXAA~+X7K!8Oe&d=cssO4P&hgC{;7@H;8+xN(k~js_5EwPI@Dw zSns?U!wuu}4L{2TndS;}$aMY3!)nH5V#hF6dg8wu*acn22-a^!CFNg{m#0XSLXh_# zxwU;W{AM!c`Ccj~IK+20Cfv)lkUk&NS(2??iB1RCb&t3jLIZ(uho}0g!)!HxZ^bkk3 zGIC{F1@^NOi@BbD3{j%Wozb(5kYOr>{;ZkWC|Qfjh<_)TSMF5$^EFes&`lNV6GWdi zX+-g}QcFm{><3CK)wt==@0C)FNM{IA1y^w_i6{hgr=&(LStZnNAQWSil)#&2XZ@2R zqC%*=zIMH~_Gz+K!Mo|jDs5j4!CuPQ7s;BoWgM+;ryX^xVPA(E4!1viYb`_Gdpghf zubbawzy|f_-(HX8T(@R;9xvi3+?{V`+$dhyN)hc}T+myqMh+In8V@gWZE|hNv>bvw_lPt1beyn@BG%0uQam8~Ox&!>5=j>XpXxP+Bzt71)-S2k~u>kRQc!R0zal~lQ^ zOZFSuJ18u&Y8&(LTg8X6R0PKtS;(lFDB>@v>$~d_M=SM~;~-eA5k==NRXwAqv5B}j z%0WlgUYmL1Xn~A4MJ)}H!|zgaEJ6xSzd-}_iEoSgDswv*^t9D|^1+)1u6{;3Q~f2J z*T;4=^=_o!__HmqTJ>>rUga^d0!1FQya$M;|D1PO38zHrn>b2QkyCVG;>bt@Dw9Jt zqg5nx6e`z|8qi&*L~5a!cvHlF6qs+t3Le4$YW_iqW`at@e3Yt?&m@A~ol74QUUw1b)W*39Z ztL^e#>jbU+@VfaTv!r$S@8%OUy5-EkW^$pq-@}`0gmripCan7FAhoU#*WA3_{=rwH zHXI!yr=E|uoui&kPw$E+eBT)zUjFEd_v1OaDc9J4Ovg~m#g=VOl2JjHHLH07^K70+oc ztQ$N|-#ayCqHrF^I)Vm;NBy}&MX2Gd)_8BXY;c)F zdpu&t6g6VaEntj9Ur*%%l@t&MKZQC*g`|mufc^vdzxVMK%t{I0hqVG$bwaZ_qD`>^ zShZmWI$yIXNF7(jpwRgk&i)Uv`x$lnza7KeS`wXn%$8#`%JS#yW=p3>d>t+aSCUqX zhj;X~Tvko4F73m8?Rm9J6xVuuCXm?E3Nbu6UX>LUcO2ATpgo&ds~jo4vgm5x z6^PwS^KrTE5~Y$M%`dH*NaO5RC@Gg)?N|CL=^6#oLf04T%i$Q(53L0^|x-m3}gF=EdmovN5IX)!fO z&?8KBBu6!JF9j2{JQOCnKFL3O5!=S2fZ1Sff*Y4n7Mp5n+BUE8)PQoNU;&AmstCk0iRcfu6$?VhR=Z{)Lt=gPmq zaw7tJDz2KPe7AMwv#|B`l#YhJc^W>JEED0esdZkIY#5E*R?6_gD&laY7hJ?6pSzVnn8||jUAUw zHCjR?jnF534;3ow>CI*I&2?w4j$PPQ$8}X_I4bEWZNpbVu5yp9nZ)s7*5Pl%bRX0% zrZ2Vb?4=Iv?ecFcgfN8;bZ`Kux+d8= zwPK6Vt;LpCRBfbF4cS_&+n>=z>_4SNFe+EUUDB*{9_o0l>u-}YDW8n>sE>)ik7VWt zybbM9B;jR7yW*3mz%^se`4V4GGBSU5H6YR{z#j9Pz4>$2d-R@|>z9P}AszF$G0VXO zorHn(a%mle)Tcy33O|`i3Ng(of|>aA&eso_<+Ht_6^%9i&IC1W>@U9DyZMGxC9mC$nJ)EGWCsQzWT)qnYfO^e&^dwh-9-(Q>34Q!6~ zq5-aBHOg@5*j1Cq#|_(CoN83a#9`X^cRx=8qQt2A{WnHa)%AVt=bo&};CpQDZn8%E zISzgqX};|dFqRQH-&hhK{_@=AHq!lh33aX2LKLUDc&*QdvA*BU&K{SsyX{vsbtidx z-$u^H{K74-8RlrlD=kH@JrJ?UGCSyZ6QDX!{t!_T5s#p0NRm=so;lO{BkOSTE zqRq2b`>&@VJB=wnZwB1C)fdVm5%+Ftt|D8V=tW{ynf6YbS||6st`Mst_EB)uGaM#p z3A+O;*i@c(JjYT85fsh<(wVsN6YpJ(e8yV?J_<1ZIR5$V3a*qF7d(vb<6_LdOC?>$^T>sS8oovHk2?Rk z#YQ?)1W*OAEbrs?@>5%TSYt@Z-2O4b?1j>km_AK_77#4e!S?7uJIT8lH?$` z>hFK&+0k!&U+K3?V6LS2>&I#G_4(~?tnNJ%o3o_qUjO#A`}BuMjvfsSxXZ@ir)u-B zYlpBpgl2}im5rFQ&}l)8;AgiFdZ>}#Rl8!cXwgzJ1YPghq$vypa3x8A^lmKIxJ_Mg zlvMID_zj{RSE)KFu4h+Iw)ThUv|U4pP~^)GRqwa#TL#zDpWcR9GX)nFb9{F3p%;T=Ft{z7~ z%!>OixAr7)YsJ)5M}PDTHKvwt7*XAP<#)L79YuZN7Wq8^ZGrY~t!KR4 zffswFXBdsB9* zWWWBs#jR>#95NtnS^IdeqEpbgdQMbRyqmUs@RrxgI5-S|B~ey;)>- zA$kWC6l->x$)R}vLVW^VGLdZlVgeGdjurPi;<_2J;K_$OtEQjoxAm*w?Cc9-cDc@E zc>#5j%{&%vkydZFtGn*M*W|j2H-Ba; z$#nX^Adl7Oxr^aqZ|`S9*4UJH z?p@{25=$rj2OEyYYjXWxIW4tjDBtOAt@~@AOaK39xaQzYo@o2Uww;a5FSc#lwylkm zjW_l$w(X5=+qV7ks@|JA)zv+J&D8XqzBu>(TQ>N-X;Aof-&+r8GTlXr&Hi}5?D#q| z+?!b|hl_a}Y!66$Adt-J^qFQ2^@`50R(8S~R`eZuq;#nX7-+G4Ty#O}Bn+QEfAGqV zm^M>p1<3y;V~QHEiZaBBGO_B3SUPLJ zlNr65YGuKO&2+=i%q=uhYuN@3!M}j{EskRkIqJjwayuT6l|c z>WcN$x^)dOC1<79du91t!d8>j_kK+XswHMz{`3hXUL9 z59c`hIeIr=E-sW`Uk6iCZPY{@=)PM1E~Mup%5{(+*N&RjSxepn>xs_3x3P@dUzSVP zsSLh*7m=$R^Bksn>x;TBp~Y50$P2yWfJ`!}Ac(NN`;app&$0i=V1nENA+#_b6C^kL z2c=19@1kfGz!{ssxp$2Qtpb}Hb1 z%>FTE;N|H1|5sf!hd{(b{J7;A7 znuZ|_;53R*N%$w zdD~c)MAwu36znpc67b(f@;UA*t(nDA_`_A%c9W0fgIrh)IcqEqZ+S2UUpGrTL~;br z=S}1KTPj*91Ps*AWd+6eW~Z?Vh%y%?J+k>F+Q9X(_4xZ+ zJuOaFxoJpE2&+(u#iJhn%XV`UqdrCo==NNSZ_$6hjQFL{`S9<0sFTZZW8`=!#@GH} z21EpkkN>4e0N(#JP6U#l-~S*mpYe0K)kuLMi`#Q`Lc`+E*J3{X{?wIM3z?nSWfg+z zyH-7ERn^@_@d8e8^St!K&}1ci_WrpJlW{|+ntYp zkAZ;*JMt*HgeELW!L>&fqbltPtb?p$5svQs1?Z-DL3W0qmA}xTpSz5b+3D-h8hQ;q z(J38uj~hFe(`H#V93x>y0I8MH(V@b9O+b43+u*Cnxcs$Nmba(aTEd})`*fGLsh0NM zUi3Rw3E|7jM~)a}%Ov0JW#>E(W{#9@g73}#!hn}X+{AQ8ZFAWR{83pd2B$fUk=JnL z!lbCwEnFf^ZN`KRO+ge@sE4QCW6qT7(qyNlD%J9YcF_yNrwUO!sk~*XahDPnb&Fc2pSl^%)Yux>M9q=ia)48vYEK=V6 zcu@gb8iobs#dvjP?-S#(wemYYyydux@~uwF+ryzDw7+rom1P?qo?{uw{nB>|FAz2S zZ8S`6K|7`DKK}XE-6dQS9RJ%PvsIC+I~{rld+Z+5YJ5!&Jbzt@FL~QY zP)^&V#HNh8d@a95S5(>!w%FS`I8aY9>NMC5Bf(btsim=!^1L^Jw~QaTum1Boy>Ca! zg&Iaq?1k6F{Z4fQODSfvGDICl#uw>~fa~WYJF<3QP~d;OtbgqIb=NkM1<|{q++N@ve(>anK<~K)8!R&tAEc@5Uq&nO7UFT9XW1f7BJbGoBX3;;%G#9oO3FP^@b^SozB*v5C!X@SkZf#cWEnwDH;}7MrRmvGou~ z!VkkHmP&jB^#7Z{k&4$0BZYx|%(rh@Ho8Rz0u5}+7@XOF=2?1fuHPnyuPVNi7CdL_ zrdw~HeFfX^zL!1tE1ws$1p-^`ObD7`$?BR`n>9^zQ7O?aF zmw^Biob&bd5c%!>@Dg`4^?iNa^&M=JUcqZm88-F`vC4?3!0BSICm|EOm~-TcZkj5m zcmFz#gzv?FD=chxm=E4j(0_H}$jOtqnNy)dzOZ_$Wbv5JI zn<0QP-GDz_+kT(&kC}1r{$ykTW+6O}KZL}Uvbo>hh|0o6WcP4EB>G4$jm7BXXTyG3 zo&`S2E zzuI!HMS5n?SCKb2v*cFIuBzKqjF-}LdY$bI%N+Fp{pN^{{9ZmJ?jfhMp5}&K#AR^= z49`L+HR!zU7KcTO~e3Wx0$3+pKsauU|Tr%1HV^AmaEc%Hft3Qah|>lHv))$ha5kVH9o(I z@%b%(^RIV>>v!jgwKfI+jt?)Ht)VP57lq4gPtWy}`S-1=(a-XWp<-4a%)e$A8hpw2 zI++9ctu_7DWe;A~1kHO(DLM=m`9ovqVNtO3Hu%3zloa1ORg_V@TKE%ENFUis$Pk36 zM{6R>i|_usQcLENH`j_pAy?mKR#|k6%r{FuVvA)nueg(IO1F@&?8)h@VrSHPYO;hS zA$3#pf@+u(pr6wBdHkpxw=mc5U=pCUTYbEjVZ_h&*d6)(r=h~0jFF+OyPDJFv&e*q zV4eMPp&CgAkwJ>D^I~kY2}kO@CQH}ns<$4E2Ptv#v+2l$0qQO9)zn$)K7Q;CE?fgNNr;$M38(Iu zRTeWeazCup!Y?N>FDWJRBiscajZ1WmE_n)Uvh|rgTpYwXr&cH~_WG%+{ab=HldCSK ziZT0B3Q=hJyL9G1enq-hHhpAhDN{DT*oYzUp>}jFpm{*rtf#o3K32!$3+A~E=O4Eq zw@p$S@I+HlM@fIF1(9Em%;NgXwf;J9pXH@gf5?pLDLl2pOLsF2W{~CXPhGYwC(EV& z7Fqk4?25;j0HsJJqnDj3$OV$yyE(o$2*v)*Op%N)#!OmhG#+Oo*{(6P;XjH&jPkBu zr8-VBy6}!l@$)^PN@T|(f_vPf(pQLsJ(&OJn@wf|UuKmdr|271j`BMk1E{uWI?LGb zpV1~wRvwygI(ie-P4vA4nL)uS`6ZfrKn+{I1%Cj=)DTYpu&75 zofUq?bsnt@uG}s76n34yv*BAimCNAZ=rU_JuZJ=9ezmL4*mUkU_vv1J)PM8z2sjyG z9h>s-7F27;4`v!{_5!swH_HaRE>8>Z@9r^t9(M)j8qJluELZawD((*J1>t(iAymx3 zb2;8l*4H^|4)Y>#`6Zw_I#ukV2?LmkRC%QYh*Y8}ye@77mczNyZS-$`iQhwy!-P(+ z$QmWfizgyucMVSq$yK72tTmM1hcC^`<1UzN9CCFUaSV)UE{8`xx%RI_B~u@k>tWxT zpSK1Evflz*W6N2S0#e+`@tL1zCAlBx8ks#kcJD|Q3g25{F)(NnUxsHV-)l|J@AJi9 z^CK|d^d&E{GT}+CO1ag9T&|+Rb7e?QHWeLh`Bhfq`SSuBwRbi0mjN`dH==zSe+`?O zbnGtKI|fCIh2-MaPaj+1_Y+B+z*5?`iEd!Si|Uw=MfN$v@*+~nm_Q}EetfV)aliJy zGdC^2oTa0%jk~?SHX2X4e05&?#|=H2%y$Fb)Zxtt+s#*pMMS(@?js7RjQAv()q@&m_0N`5<7B7FK9;mezQjcUytho9dIT@a3@r^yuMb;AzpCfFXC zYwqiln}ek^Wn{_H%8}_Z6BCuFtp9gWva)XbX;>}aXRd5{Zmn?Sblpk}R^g3JWd8p6 za+!jP$Yf(Vf`-~I=v9Bx&^{Xn753e3=k9)R3fMnSkK{oX!$lbf9B;>ZzNx6to7g6uIYnh zvYz(J`2q6jZ}8;B*^&LCtk!2tes25N6LtOtRXBYOCp4A?f?Z%eXNeVPh zS=bW-IA|+;%p{+4?Oqh-G*iIN_ENU4AapIZEMTW$)l_f*AZm-!i?)@hDTD^XAlEzK zBE}0cVhbTE+#M)aWXRB*>f@a;k1PG*gJ;Z9T#*meUy?bg0#+xYr_XBA-Je};vZ+50 z7Q_mcFJjj{X(rG1%HH();P-ua^F_m@bdtm4o25rKg4hhTs$&bGx~i zU}u(pd3eo3^KWfTm`56vTL!FSJlKa;Ew=_}SC;9FgQhO51{E>@kS)~R z#>J%vtAlrkYg4at0VkH@-axIfv-JnT(TjwTXy+D$0ZBFX_nuNtVE?Yts_hI}&@}3~ zYnv`ZG^OdCpm78?-5}ZMch|^s&yDT(aBz_z;6tsScB{@&kbxG^9u5tG&!0NnlkB|V z-=YNy!ubm$w3#Ry&G%$=)Pfmgm{pNNVfJdCjz-9k@~Lx*3heJB$OZ+)43{dZv&D>+y`(>O1x(FXI>O z;xgIs+jep+(PPvJml|fM?3VpW{jU2860X4noKBXi&_JI^RUK<#A(hw>8Kn0Y>#45b z$bs`p9vXXViy=!oI_fJ}-_3QlxsWXi)2S;>E@PomS|D^@;tcSP4Y#eWL8TeE)yjsZ zAc$S1FnaN)P}eR+*a-7QC28O8Jyw6Ry;;MI+(WzEbiW`VJMq(Hq*84HZ*ccK(HC}FhtFGWcz#Aq_Z8BzR?Bj
E1vj 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

BQxxu89_vvYiLOd? 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

Uug8Rb@u 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

mVw0-6_>?8zn}IAk~&KEU!6 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 diff --git a/Frontend/components/Header.tsx b/Frontend/components/Header.tsx index 9357025..f85655e 100644 --- a/Frontend/components/Header.tsx +++ b/Frontend/components/Header.tsx @@ -1,37 +1,37 @@ -import { Ionicons } from '@expo/vector-icons'; -import { useRouter } from 'expo-router'; -import React from 'react'; -import { Image, Text, TouchableOpacity, useColorScheme, View } from 'react-native'; - -export default function Header() { - const router = useRouter(); - const colorScheme = useColorScheme(); - const isDark = colorScheme === 'dark'; - - return ( - - - - MayaCode - - - - router.push('/notifications')} className="mr-4 relative"> - - - 1 - - - router.push('/profile')}> - - - - - ); +import { Ionicons } from '@expo/vector-icons'; +import { useRouter } from 'expo-router'; +import React from 'react'; +import { Image, Text, TouchableOpacity, useColorScheme, View } from 'react-native'; + +export default function Header() { + const router = useRouter(); + const colorScheme = useColorScheme(); + const isDark = colorScheme === 'dark'; + + return ( + + + + MayaCode + + + + router.push('/notifications')} className="mr-4 relative"> + + + 1 + + + router.push('/profile')}> + + + + + ); } \ No newline at end of file diff --git a/Frontend/components/PostCard.tsx b/Frontend/components/PostCard.tsx index bc0d035..addeaf7 100644 --- a/Frontend/components/PostCard.tsx +++ b/Frontend/components/PostCard.tsx @@ -1,117 +1,154 @@ -import { View, Text, StyleSheet, Image, TouchableOpacity, Alert } from 'react-native'; -import React from 'react'; -import { Post } from '@/models/Post'; -import { useAuth } from '@/context/AuthContext'; -import { Ionicons } from '@expo/vector-icons'; -import Toast from 'react-native-toast-message'; - -interface PostCardProps { - post: Post; - onDelete?: (postId: string) => void; - onEdit?: (post: Post) => void; // Placeholder for edit -} - -const PostCard: React.FC = ({ - post, - onDelete, - onEdit, -}) => { - const { user } = useAuth(); - // Check if this is the current user's post - const isMyPost = user?.email === post.email; - - const handleDelete = () => { - Alert.alert( - 'Delete Post', - 'Are you sure you want to delete this post?', - [ - { text: 'Cancel', style: 'cancel' }, - { text: 'Delete', style: 'destructive', onPress: () => onDelete && post._id && onDelete(post._id.toString()) }, - ] - ); - }; - - // Placeholder for edit action - // Placeholder for edit action - // Placeholder for edit action - const handleAccess = () => { - - }; - - const handleEdit = () => { - onEdit && onEdit(post); - }; - - return ( - - {post.images && post.images.length > 0 && post.images[0] && ( - - )} - {post.title} - {post.content} - - {isMyPost && ( - - - - Edit - - - - Delete - - - )} - - ); -}; - -const styles = StyleSheet.create({ - card: { - backgroundColor: '#fff', - borderRadius: 10, - padding: 15, - marginBottom: 15, - borderWidth: 1, - borderColor: '#ddd', - shadowColor: '#000', - shadowOffset: { width: 0, height: 2 }, - shadowOpacity: 0.1, - shadowRadius: 3, - elevation: 3, - }, - image: { - width: '100%', - height: 200, - borderRadius: 8, - marginBottom: 10, - }, - title: { - fontSize: 18, - fontWeight: 'bold', - marginBottom: 5, - color: '#333', - }, - content: { - fontSize: 16, - color: '#555', - marginBottom: 10, - }, - actionsContainer: { - flexDirection: 'row', - justifyContent: 'flex-end', - marginTop: 10, - }, - actionButton: { - flexDirection: 'row', - alignItems: 'center', - marginLeft: 15, - }, - actionButtonText: { - marginLeft: 5, - fontSize: 14, - color: '#007BFF', - }, -}); - -export default PostCard; \ No newline at end of file +import { View, Text, StyleSheet, Image, TouchableOpacity, Alert } from 'react-native'; +import React, { useState, useEffect } from 'react'; +import { Post } from '@/models/Post'; +import { useAuth } from '@/context/AuthContext'; +import { Ionicons } from '@expo/vector-icons'; +import Toast from 'react-native-toast-message'; + +interface PostCardProps { + post: Post; + onDelete?: (postId: string) => void; + onEdit?: (post: Post) => void; +} + +const PostCard: React.FC = ({ + post, + onDelete, + onEdit, +}) => { + const { user } = useAuth(); + const [imageLoaded, setImageLoaded] = useState(false); + const [imageError, setImageError] = useState(false); + const [hasImages, setHasImages] = useState(false); + + const isMyPost = user?.email === post.email; + + useEffect(() => { + if (post.images && post.images.length > 0 && post.images[0]) { + setHasImages(true); + } + }, [post.images]); + + const handleDelete = () => { + Alert.alert( + 'Delete Post', + 'Are you sure you want to delete this post?', + [ + { text: 'Cancel', style: 'cancel' }, + { text: 'Delete', style: 'destructive', onPress: () => onDelete && post._id && onDelete(post._id.toString()) }, + ] + ); + }; + + const handleEdit = () => { + onEdit && onEdit(post); + }; + + return ( + + {hasImages && ( + + {/* Empty frame background - shows while image loads */} + {!imageLoaded && !imageError && ( + + )} + {/* Error state - only show if image fails to load */} + {imageError && ( + + + + )} + {/* Image will fade in when loaded */} + setImageLoaded(true)} + onError={() => setImageError(true)} + /> + + )} + {post.title} + {post.content} + + {isMyPost && ( + + + + Edit + + + + Delete + + + )} + + ); +}; + +const styles = StyleSheet.create({ + card: { + backgroundColor: '#fff', + borderRadius: 10, + padding: 15, + marginBottom: 15, + borderWidth: 1, + borderColor: '#ddd', + shadowColor: '#000', + shadowOffset: { width: 0, height: 2 }, + shadowOpacity: 0.1, + shadowRadius: 3, + elevation: 3, + }, + imageContainer: { + width: '100%', + height: 200, + borderRadius: 8, + marginBottom: 10, + position: 'relative', + backgroundColor: '#f0f0f0', + overflow: 'hidden', + }, + imagePlaceholder: { + position: 'absolute', + width: '100%', + height: '100%', + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#f0f0f0', + }, + image: { + width: '100%', + height: 200, + borderRadius: 8, + }, + title: { + fontSize: 18, + fontWeight: 'bold', + marginBottom: 5, + color: '#333', + }, + content: { + fontSize: 16, + color: '#555', + marginBottom: 10, + }, + actionsContainer: { + flexDirection: 'row', + justifyContent: 'flex-end', + marginTop: 10, + }, + actionButton: { + flexDirection: 'row', + alignItems: 'center', + marginLeft: 15, + }, + actionButtonText: { + marginLeft: 5, + fontSize: 14, + color: '#007BFF', + }, +}); + +export default PostCard; diff --git a/Frontend/components/SidebarMenu.tsx b/Frontend/components/SidebarMenu.tsx index a92e603..fbd8313 100644 --- a/Frontend/components/SidebarMenu.tsx +++ b/Frontend/components/SidebarMenu.tsx @@ -27,7 +27,7 @@ export default function SidebarMenu({ isOpen, onClose }: SidebarMenuProps) { const router = useRouter(); const colorScheme = useColorScheme(); const isDark = colorScheme === 'dark'; - const translateX = React.useRef(new Animated.Value(-width)).current; + const translateX = React.useRef(new Animated.Value(width)).current; // Start from right (positive value) const segments = useSegments(); const { user, isLoading, signOut } = useAuth(); const [userProfile, setUserProfile] = useState(null); @@ -57,7 +57,7 @@ export default function SidebarMenu({ isOpen, onClose }: SidebarMenuProps) { React.useEffect(() => { Animated.timing(translateX, { - toValue: isOpen ? 0 : -width, + toValue: isOpen ? 0 : width, // Slide in from right (positive to 0) duration: 300, useNativeDriver: true, }).start(); @@ -100,7 +100,7 @@ export default function SidebarMenu({ isOpen, onClose }: SidebarMenuProps) { style={{ position: 'absolute', top: 0, - left: 0, + right: 0, // Changed from left: 0 to right: 0 bottom: 0, width: width * 0.75, backgroundColor: '#e8f5e9', @@ -108,17 +108,17 @@ export default function SidebarMenu({ isOpen, onClose }: SidebarMenuProps) { zIndex: 2, elevation: 5, shadowColor: '#000', - shadowOffset: { width: 2, height: 0 }, + shadowOffset: { width: -2, height: 0 }, // Negative offset for right side shadow shadowOpacity: 0.25, shadowRadius: 3.84, - borderTopRightRadius: 20, - borderBottomRightRadius: 20, + borderTopLeftRadius: 20, // Changed from borderTopRightRadius + borderBottomLeftRadius: 20, // Changed from borderBottomRightRadius }} > MayaCode diff --git a/Frontend/components/StoryCard.tsx b/Frontend/components/StoryCard.tsx index e2e3219..e1213e6 100644 --- a/Frontend/components/StoryCard.tsx +++ b/Frontend/components/StoryCard.tsx @@ -1,6 +1,6 @@ import { Ionicons } from '@expo/vector-icons'; -import React from 'react'; -import { ImageBackground, ImageSourcePropType, StyleSheet, Text, TouchableOpacity, View } from 'react-native'; +import React, { useState } from 'react'; +import { ImageBackground, ImageSourcePropType, StyleSheet, Text, TouchableOpacity, View, ActivityIndicator } from 'react-native'; interface StoryCardProps { title: string; @@ -15,13 +15,43 @@ export const StoryCard: React.FC = ({ imageSource, onPress, }) => { + const [imageLoading, setImageLoading] = useState(false); + const [imageLoaded, setImageLoaded] = useState(false); + const [imageError, setImageError] = useState(false); + return ( - - - {title} - - + + {!imageLoaded && !imageError && ( + + + Loading... + + )} + {imageError && ( + + + Image unavailable + + )} + setImageLoading(true)} + onLoadEnd={() => { + setImageLoading(false); + setImageLoaded(true); + }} + onError={() => { + setImageError(true); + setImageLoading(false); + }} + > + + {title} + + + {description} @@ -36,12 +66,30 @@ const styles = StyleSheet.create({ overflow: 'hidden', marginBottom: 20, backgroundColor: '#fff', - elevation: 3, // Android shadow - shadowColor: '#000', // iOS shadow + elevation: 3, + shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1, shadowRadius: 4, }, + imageContainer: { + width: '100%', + height: 150, + position: 'relative', + backgroundColor: '#f5f5f5', + }, + imagePlaceholder: { + width: '100%', + height: 150, + justifyContent: 'center', + alignItems: 'center', + backgroundColor: '#f0f0f0', + }, + placeholderText: { + marginTop: 8, + color: '#999', + fontSize: 14, + }, imageBackground: { width: '100%', height: 150, @@ -68,4 +116,4 @@ const styles = StyleSheet.create({ flex: 1, marginRight: 10, }, -}); \ No newline at end of file +}); diff --git a/Frontend/context/AuthContext.tsx b/Frontend/context/AuthContext.tsx index e1cc3f7..0306930 100644 --- a/Frontend/context/AuthContext.tsx +++ b/Frontend/context/AuthContext.tsx @@ -1,12 +1,13 @@ import { useRouter } from 'expo-router'; -import React, { createContext, ReactNode, useContext, useState } from 'react'; +import React, { createContext, ReactNode, useContext, useState, useEffect } from 'react'; import { ActivityIndicator, Text, View } from 'react-native'; import Toast from 'react-native-toast-message'; import axios from 'axios'; import AsyncStorage from '@react-native-async-storage/async-storage'; // Backend API Configuration -const API_BASE_URL = process.env.EXPO_PUBLIC_BACKEND_URL || 'http://localhost:8000'; +const API_BASE_URL = process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'; +const API_URL = API_BASE_URL; // Use base URL directly for auth routes // Define types export interface User { @@ -44,6 +45,7 @@ const AuthContext = createContext(undefined); export const AuthProvider: React.FC = ({ children }) => { const [user, setUser] = useState(null); const [isLoading, setIsLoading] = useState(false); + const [isCheckingAuth, setIsCheckingAuth] = useState(true); // Track initial auth check const [isSendingOtp, setIsSendingOtp] = useState(false); const [isVerifyingOtp, setIsVerifyingOtp] = useState(false); const [isAuthenticated, setIsAuthenticated] = useState(false); @@ -52,14 +54,14 @@ export const AuthProvider: React.FC = ({ children }) => { const router = useRouter(); const checkAuthStatus = async (): Promise => { - setIsLoading(true); + setIsCheckingAuth(true); try { console.log('Checking auth status...'); const storedToken = await AsyncStorage.getItem('authToken'); if (storedToken) { // Verify token with backend - const response = await axios.get(`${API_BASE_URL}/auth/verify-token`, { + const response = await axios.get(`${API_URL}/auth/verify-token`, { headers: { Authorization: `Bearer ${storedToken}` } }); @@ -85,7 +87,7 @@ export const AuthProvider: React.FC = ({ children }) => { setToken(null); setIsAuthenticated(false); } finally { - setIsLoading(false); + setIsCheckingAuth(false); } }; @@ -94,12 +96,12 @@ export const AuthProvider: React.FC = ({ children }) => { try { console.log('Sending OTP to:', email); console.log('Using API URL:', API_BASE_URL); - console.log('Full request URL:', `${API_BASE_URL.replace('/api', '')}/auth/request-otp`); + console.log('Full request URL:', `${API_URL}/auth/request-otp`); // Skip health check for now - go directly to OTP request console.log('Attempting OTP request...'); - const response = await axios.post(`${API_BASE_URL.replace('/api', '')}/auth/request-otp`, { + const response = await axios.post(`${API_URL}/auth/request-otp`, { email: email }, { timeout: 10000, // 10 second timeout @@ -167,7 +169,7 @@ export const AuthProvider: React.FC = ({ children }) => { try { console.log(`Verifying OTP for email: ${email}`); - const response = await axios.post(`${API_BASE_URL.replace('/api', '')}/auth/verify-otp`, { + const response = await axios.post(`${API_URL}/auth/verify-otp`, { email: email, otp: otp }, { @@ -259,8 +261,13 @@ export const AuthProvider: React.FC = ({ children }) => { signOut }; - // Only show loading screen when explicitly loading auth status - if (isLoading && isSendingOtp === false && isVerifyingOtp === false) { + // Check auth status on component mount + useEffect(() => { + checkAuthStatus(); + }, []); + + // Only show loading screen during initial auth check + if (isCheckingAuth) { return ( diff --git a/Frontend/context/SocketContext.tsx b/Frontend/context/SocketContext.tsx index c31d294..dab988e 100644 --- a/Frontend/context/SocketContext.tsx +++ b/Frontend/context/SocketContext.tsx @@ -35,8 +35,9 @@ export const SocketProvider: React.FC = ({ children }) => { const connectSocket = useCallback(() => { if (!socket) { - console.log("[Socket] Connecting to:", process.env.EXPO_PUBLIC_BASE_URL); - const _socket = io(process.env.EXPO_PUBLIC_BASE_URL, { + const socketURL = process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'; + console.log("[Socket] Connecting to:", socketURL); + const _socket = io(socketURL, { autoConnect: true, reconnection: true, reconnectionAttempts: 5, @@ -62,7 +63,7 @@ export const SocketProvider: React.FC = ({ children }) => { context: (err as any)?.context, type: (err as any)?.type, transport: (err as any)?.transport, - url: process.env.EXPO_PUBLIC_BASE_URL + url: process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000' }); setConnectionStatus('error'); if (Toast && Toast.show) { @@ -77,7 +78,7 @@ export const SocketProvider: React.FC = ({ children }) => { context: (err as any)?.context, type: (err as any)?.type, transport: (err as any)?.transport, - url: process.env.EXPO_PUBLIC_BASE_URL + url: process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000' }); setConnectionStatus('error'); if (Toast && Toast.show) { diff --git a/Frontend/eas.json b/Frontend/eas.json index 83edbc1..099d791 100644 --- a/Frontend/eas.json +++ b/Frontend/eas.json @@ -8,7 +8,7 @@ "developmentClient": true, "distribution": "internal", "env": { - "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", + "EXPO_PUBLIC_BASE_URL": "${EXPO_PUBLIC_BASE_URL}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" }, "android": { @@ -46,14 +46,14 @@ } }, "env": { - "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", + "EXPO_PUBLIC_BASE_URL": "${EXPO_PUBLIC_BASE_URL}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" } }, "production": { "autoIncrement": true, "env": { - "EXPO_PUBLIC_BACKEND_URL": "${EXPO_PUBLIC_BACKEND_URL}", + "EXPO_PUBLIC_BASE_URL": "${EXPO_PUBLIC_BASE_URL}", "EXPO_PUBLIC_GOOGLE_MAP_API_KEY": "${EXPO_PUBLIC_GOOGLE_MAP_API_KEY}" }, "android": { diff --git a/Frontend/models/Post.ts b/Frontend/models/Post.ts index 3f4b5d1..7f028aa 100644 --- a/Frontend/models/Post.ts +++ b/Frontend/models/Post.ts @@ -1,70 +1,70 @@ -import { ObjectId } from 'mongodb'; - -export type PostType = 'Offer Help' | 'Ask for Help' | 'Story'; - -export interface Location { - latitude: number; - longitude: number; -} - -export interface Post { - _id?: ObjectId; - email: string; - type: PostType; - title: string; - content: string; - images?: string[]; - location?: Location; - tags?: string[]; - status: 'active' | 'completed' | 'archived'; - views: number; - isUrgent?: boolean; - expiresAt?: Date; - createdAt: Date; - updatedAt: Date; -} - -// Helper function to create a new post -export const createPost = ( - email: string, - type: PostType, - title: string, - content: string, - data: Partial = {} -): Post => { - const now = new Date(); - return { - email, - type, - title, - content, - status: 'active', - views: 0, - createdAt: now, - updatedAt: now, - ...data - }; -}; - -// Helper function to update a post -export const updatePost = (post: Post, updates: Partial): Post => { - return { - ...post, - ...updates, - updatedAt: new Date() - }; -}; - -// Helper function to validate post data -export const validatePost = (post: Post): { isValid: boolean; error?: string } => { - if (!post.title.trim()) { - return { isValid: false, error: 'Title is required' }; - } - if (!post.content.trim()) { - return { isValid: false, error: 'Content is required' }; - } - if (post.type !== 'Story' && !post.location) { - return { isValid: false, error: 'Location is required for Offer Help and Ask for Help posts' }; - } - return { isValid: true }; +import { ObjectId } from 'mongodb'; + +export type PostType = 'Offer Help' | 'Ask for Help' | 'Story'; + +export interface Location { + latitude: number; + longitude: number; +} + +export interface Post { + _id?: ObjectId; + email: string; + type: PostType; + title: string; + content: string; + images?: string[]; + location?: Location; + tags?: string[]; + status: 'active' | 'completed' | 'archived'; + views: number; + isUrgent?: boolean; + expiresAt?: Date; + createdAt: Date; + updatedAt: Date; +} + +// Helper function to create a new post +export const createPost = ( + email: string, + type: PostType, + title: string, + content: string, + data: Partial = {} +): Post => { + const now = new Date(); + return { + email, + type, + title, + content, + status: 'active', + views: 0, + createdAt: now, + updatedAt: now, + ...data + }; +}; + +// Helper function to update a post +export const updatePost = (post: Post, updates: Partial): Post => { + return { + ...post, + ...updates, + updatedAt: new Date() + }; +}; + +// Helper function to validate post data +export const validatePost = (post: Post): { isValid: boolean; error?: string } => { + if (!post.title.trim()) { + return { isValid: false, error: 'Title is required' }; + } + if (!post.content.trim()) { + return { isValid: false, error: 'Content is required' }; + } + if (post.type !== 'Story' && !post.location) { + return { isValid: false, error: 'Location is required for Offer Help and Ask for Help posts' }; + } + return { isValid: true }; }; \ No newline at end of file diff --git a/Frontend/services/imageService.ts b/Frontend/services/imageService.ts new file mode 100644 index 0000000..6543ff3 --- /dev/null +++ b/Frontend/services/imageService.ts @@ -0,0 +1,77 @@ +import { Platform } from 'react-native'; +import * as FileSystem from 'expo-file-system'; + +const API_BASE_URL = process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'; + +/** + * Get image URL from backend static files + * @param category - Image category (help-posts, stories, unity, etc.) + * @param number - Image number (1, 2, 3, 4, etc.) + * @returns Full URL to the image + */ +export const getImageUrl = (category: string, number: number): string => { + // Direct static file access from public folder + if (number === 1) { + return `${API_BASE_URL}/public/images/${category}.png`; + } + return `${API_BASE_URL}/public/images/${category}${number}.png`; +}; + +/** + * Get image source for React Native Image component + * @param category - Image category + * @param number - Image number + * @returns Image source object with URI + */ +export const getImageSource = (category: string, number: number) => { + return { uri: getImageUrl(category, number) }; +}; + +/** + * Get image source from backend static files + * @param category - Image category + * @param number - Image number + * @returns Image source object with URI + */ +export const getImageSourceWithFallback = (category: string, number: number) => { + // Always use backend static file URLs + return { uri: getImageUrl(category, number) }; +}; + +/** + * Convert local image file URI to base64 + * @param uri - Local file URI + * @returns Base64 encoded string + */ +export const convertImageToBase64 = async (uri: string): Promise => { + try { + console.log('Converting image to base64:', uri); + const base64 = await FileSystem.readAsStringAsync(uri, { + encoding: FileSystem.EncodingType.Base64, + }); + // Add data URI prefix for React Native Image component + return `data:image/jpeg;base64,${base64}`; + } catch (error) { + console.error('Error converting image to base64:', error); + return null; + } +}; + +/** + * Check if a string is a data URI (base64) + * @param uri - URI string to check + * @returns True if it's a data URI + */ +export const isDataUri = (uri: string): boolean => { + return uri.startsWith('data:image'); +}; + +/** + * Check if a string is a local file URI + * @param uri - URI string to check + * @returns True if it's a local file URI + */ +export const isLocalFileUri = (uri: string): boolean => { + return uri.startsWith('file://'); +}; + diff --git a/Frontend/services/postService.ts b/Frontend/services/postService.ts index ceaf82f..37a38d0 100644 --- a/Frontend/services/postService.ts +++ b/Frontend/services/postService.ts @@ -1,6 +1,6 @@ import { createPost, Post, updatePost } from '@/models/Post'; -const API_URL = process.env.EXPO_PUBLIC_BACKEND_URL; +const API_URL = `${process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'}/api`; // Post Operations export const postService = { diff --git a/Frontend/services/userService.ts b/Frontend/services/userService.ts index 202d28d..5c654c7 100644 --- a/Frontend/services/userService.ts +++ b/Frontend/services/userService.ts @@ -1,6 +1,6 @@ import { UserProfile } from '@/models/User'; -const API_URL = process.env.EXPO_PUBLIC_BACKEND_URL || 'http://localhost:8000/api'; +const API_URL = `${process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'}/api`; // Helper function to get auth token from AsyncStorage const getAuthToken = async (): Promise => { From 853d467d49e16bda75f8f08835d0de3a0ba9d9e9 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 16:40:13 +0530 Subject: [PATCH 26/91] update --- Backend/src/controllers/postController.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 3532cb6..447062f 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -6,7 +6,13 @@ const http = require('http'); // Create a new post exports.createPost = async (req, res) => { - console.log(`HTTP ${req.method} ${req.url} - Create Post`, req.body); + const logBody = { ...req.body }; + if (logBody.images) { + logBody.images = logBody.images.map((img) => + img ? (img.substring(0, 50) + '... (base64 image data)') : 'null' + ); + } + console.log(`HTTP ${req.method} ${req.url} - Create Post`, logBody); try { const post = new Post(req.body); await post.save(); From 6fc5ab8bd582238ba91d0c999d675220baec9963 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 16:53:38 +0530 Subject: [PATCH 27/91] update --- Backend/src/controllers/postController.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 447062f..2977c44 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -19,6 +19,12 @@ exports.createPost = async (req, res) => { res.status(201).json(post); } catch (error) { console.error('Error creating post:', error); + console.error('Error details:', { + name: error.name, + message: error.message, + stack: error.stack, + errors: error.errors + }); if (error.name === 'ValidationError') { res.status(400).json({ message: error.message }); } else { From f08f285c2d5419b684e9aaf037707d3fa4369c5a Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 17:24:43 +0530 Subject: [PATCH 28/91] added the cloudinary image upload --- Backend/package-lock.json | 10117 ++++++++++++++++++-- Backend/package.json | 2 + Backend/src/config/cloudinary.js | 14 + Backend/src/controllers/postController.js | 11 +- Backend/src/index.js | 3 + Backend/src/utils/cloudinaryUploader.js | 56 + 6 files changed, 9411 insertions(+), 792 deletions(-) create mode 100644 Backend/src/config/cloudinary.js create mode 100644 Backend/src/utils/cloudinaryUploader.js diff --git a/Backend/package-lock.json b/Backend/package-lock.json index e1bd5c9..b6c9d6d 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -10,8 +10,10 @@ "license": "ISC", "dependencies": { "body-parser": "^2.2.0", + "cloudinary": "^2.8.0", "cors": "^2.8.5", "dotenv": "^16.3.1", + "expo-image-manipulator": "^14.0.7", "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", @@ -29,194 +31,262 @@ "nodemon": "^3.0.2" } }, - "node_modules/@colors/colors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", - "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "node_modules/@0no-co/graphql.web": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@0no-co/graphql.web/-/graphql.web-1.2.0.tgz", + "integrity": "sha512-/1iHy9TTr63gE1YcR5idjx8UREz1s0kFhydf3bBLCXyqjhkIc6igAzTOx3zPifCwFR87tsh/4Pa9cNts6d2otw==", "license": "MIT", - "engines": { - "node": ">=0.1.90" + "peer": true, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0" + }, + "peerDependenciesMeta": { + "graphql": { + "optional": true + } } }, - "node_modules/@dabh/diagnostics": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", - "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", "license": "MIT", + "peer": true, "dependencies": { - "colorspace": "1.1.x", - "enabled": "2.0.x", - "kuler": "^2.0.0" + "@babel/highlight": "^7.10.4" } }, - "node_modules/@ioredis/commands": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", - "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", - "license": "MIT" + "node_modules/@babel/compat-data": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", + "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.2.tgz", - "integrity": "sha512-EB0O3SCSNRUFk66iRCpI+cXzIjdswfCs7F6nOC3RAGJ7xr5YhaicvsRwJ9eyzYvYRlCSDUO/c7g4yNulxKC1WA==", + "node_modules/@babel/core": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", + "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "license": "MIT", + "peer": true, "dependencies": { - "sparse-bitfield": "^3.0.3" + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "license": "MIT" - }, - "node_modules/@stablelib/base64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz", - "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==", - "license": "MIT" - }, - "node_modules/@types/cors": { - "version": "2.8.19", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", - "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "license": "MIT", + "peer": true, "dependencies": { - "@types/node": "*" + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@types/node": { - "version": "24.0.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz", - "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==", + "node_modules/@babel/core/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", + "peer": true, "dependencies": { - "undici-types": "~7.8.0" + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/@types/triple-beam": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", - "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", - "license": "MIT" + "node_modules/@babel/core/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true }, - "node_modules/@types/webidl-conversions": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", - "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", - "license": "MIT" + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/@types/whatwg-url": { - "version": "11.0.5", - "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", - "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "node_modules/@babel/generator": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", + "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", "license": "MIT", + "peer": true, "dependencies": { - "@types/webidl-conversions": "*" + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "license": "MIT", + "peer": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@babel/types": "^7.27.3" }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "license": "ISC", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "license": "MIT", + "peer": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { - "node": ">= 8" + "node": ">=6.9.0" } }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/async": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", - "license": "MIT" - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz", + "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.5", + "semver": "^6.3.1" + }, "engines": { - "node": "^4.5.0 || >= 5.9" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/base64url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", - "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", - "license": "MIT", - "engines": { - "node": ">=6.0.0" + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, "engines": { - "node": ">=8" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz", + "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==", "license": "MIT", + "peer": true, "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "debug": "^4.4.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.10" }, - "engines": { - "node": ">=18" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "node_modules/@babel/helper-define-polyfill-provider/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", + "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -229,992 +299,6428 @@ } } }, - "node_modules/body-parser/node_modules/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "node_modules/@babel/helper-define-polyfill-provider/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT", + "peer": true + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" } }, - "node_modules/body-parser/node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/body-parser/node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "license": "MIT", + "peer": true, "dependencies": { - "mime-db": "^1.54.0" + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "license": "BSD-3-Clause", + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "license": "MIT", + "peer": true, "dependencies": { - "side-channel": "^1.1.0" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" }, "engines": { - "node": ">=0.6" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/body-parser/node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", "license": "MIT", + "peer": true, "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" + "@babel/types": "^7.27.1" }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" } }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "peer": true, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", "license": "MIT", + "peer": true, "dependencies": { - "fill-range": "^7.1.1" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/bson": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.10.3.tgz", - "integrity": "sha512-MTxGsqgYTwfshYWTRdmZRC+M7FnG1b4y7RO7p2k3X24Wq0yv1m77Wsj0BzlPzd/IowgESfsruQCUToa7vbOpPQ==", - "license": "Apache-2.0", + "node_modules/@babel/helper-replace-supers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", + "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.27.1", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, "engines": { - "node": ">=16.20.1" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", - "license": "BSD-3-Clause" + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "license": "MIT", + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" } }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz", + "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==", "license": "MIT", + "peer": true, "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" } }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", "license": "MIT", + "peer": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=6.9.0" } }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, + "node_modules/@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", "license": "MIT", + "peer": true, "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { - "node": ">= 8.10.0" + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" }, - "funding": { - "url": "https://paulmillr.com/funding/" + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "engines": { + "node": ">=4" } }, - "node_modules/cluster-key-slot": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", - "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", - "license": "Apache-2.0", + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", "license": "MIT", + "peer": true, "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz", + "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==", "license": "MIT", + "peer": true, "dependencies": { - "color-name": "1.1.3" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-decorators": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "license": "MIT" - }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "node_modules/@babel/plugin-proposal-export-default-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-default-from/-/plugin-proposal-export-default-from-7.27.1.tgz", + "integrity": "sha512-hjlsMBl1aJc5lp8MoCDEZCiYzlgdRAShOjAfRw6X+GlpLpUPU7c3XNLsKFZbQk/1cRzBlJ7CXg3xJAJMrFa1Uw==", "license": "MIT", + "peer": true, "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/colorspace": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", - "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "license": "MIT", + "peer": true, "dependencies": { - "color": "^3.1.3", - "text-hex": "1.0.x" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "license": "MIT", + "peer": true, "dependencies": { - "safe-buffer": "5.2.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">= 0.6" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "license": "MIT", - "engines": { - "node": ">= 0.6" + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz", + "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==", "license": "MIT", + "peer": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", "license": "MIT", + "peer": true, "dependencies": { - "ms": "2.0.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/denque": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", - "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", - "license": "Apache-2.0", + "node_modules/@babel/plugin-syntax-export-default-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-default-from/-/plugin-syntax-export-default-from-7.27.1.tgz", + "integrity": "sha512-eBC/3KSekshx19+N40MzjWqJd7KTEdOoLesAfa4IDFI8eRz5a47i5Oszus6zG/cwIXN63YhgLOMSSNJx49sENg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=0.10" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/@babel/plugin-syntax-flow": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.27.1.tgz", + "integrity": "sha512-p9OkPbZ5G7UT1MofwYFigGebnrzGJacoBSQM0/6bi/PUMVE+qlWDD/OalvQKbwgQzU6dl0xAv6r4X7Jme0RYxA==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz", + "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/dotenv": { - "version": "16.5.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", - "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" }, - "funding": { - "url": "https://dotenvx.com" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "license": "MIT", + "peer": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz", + "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "license": "Apache-2.0", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "license": "MIT", + "peer": true, "dependencies": { - "safe-buffer": "^5.0.1" + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/enabled": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", - "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", - "license": "MIT" + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "license": "MIT", - "engines": { - "node": ">= 0.8" + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "license": "MIT", + "peer": true, "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=10.2.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io-client": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", - "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "license": "MIT", + "peer": true, "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1", - "xmlhttprequest-ssl": "~2.1.1" + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io-client/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", "license": "MIT", + "peer": true, "dependencies": { - "ms": "^2.1.3" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=6.0" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io-client/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, "engines": { - "node": ">=10.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz", + "integrity": "sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==", "license": "MIT", + "peer": true, "dependencies": { - "ms": "^2.1.3" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">=6.0" + "node": ">=6.9.0" }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/engine.io/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz", + "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.28.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz", + "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==", "license": "MIT", + "peer": true, "dependencies": { - "es-errors": "^1.3.0" + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-remap-async-to-generator": "^7.27.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "license": "MIT" - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz", + "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", + "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", "license": "MIT", + "peer": true, "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.10.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/express-session": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", - "integrity": "sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==", + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz", + "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==", "license": "MIT", + "peer": true, "dependencies": { - "cookie": "0.7.2", - "cookie-signature": "1.0.7", - "debug": "2.6.9", - "depd": "~2.0.0", - "on-headers": "~1.0.2", - "parseurl": "~1.3.3", - "safe-buffer": "5.2.1", - "uid-safe": "~2.1.5" + "@babel/helper-create-class-features-plugin": "^7.28.3", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.8.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" } }, - "node_modules/express-session/node_modules/cookie-signature": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", - "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", - "license": "MIT" - }, - "node_modules/express/node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz", + "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==", "license": "MIT", + "peer": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1", + "@babel/traverse": "^7.28.4" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/express/node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", + "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/template": "^7.27.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/express/node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", "license": "MIT", + "peer": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/express/node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", "license": "MIT", + "peer": true, "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/fast-sha256": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz", - "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==", - "license": "Unlicense" + "node_modules/@babel/plugin-transform-flow-strip-types": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.27.1.tgz", + "integrity": "sha512-G5eDKsu50udECw7DL2AcsysXiQyB7Nfg521t2OAJ4tbfTJ27doHLeF/vlI1NZGlLdbb/v+ibvtL1YBQqYOwJGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-flow": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", - "license": "MIT" + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", "license": "MIT", + "peer": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" }, "engines": { - "node": ">=8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", "license": "MIT", + "peer": true, "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/fn.name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", - "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", - "license": "MIT" + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz", + "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", + "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", + "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", + "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", + "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz", + "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==", "license": "MIT", + "peer": true, "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-transform-destructuring": "^7.28.0", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.4" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", + "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", "license": "MIT", + "peer": true, "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz", + "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==", + "license": "MIT", + "peer": true, "dependencies": { - "is-glob": "^4.0.1" + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" }, "engines": { - "node": ">= 6" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", + "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">=4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", + "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-create-class-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.28.0.tgz", + "integrity": "sha512-D6Eujc2zMxKjfa4Zxl4GHMsmhKKZ9VpcqIchJLvwTxad9zWIYulwYItBovpDOoNLISpcZSXoDJ5gaGbQUDqViA==", "license": "MIT", + "peer": true, "dependencies": { - "function-bind": "^1.1.2" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">= 0.4" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.27.1.tgz", + "integrity": "sha512-2KH4LWGSrJIkVf5tSiBFYuXDAoWRq2MMwgivCf+93dd0GQi8RXLjKA/0EvRnVV5G0hrHczsquXuD01L8s6dmBw==", "license": "MIT", + "peer": true, "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/types": "^7.27.1" }, "engines": { - "node": ">= 0.8" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.27.1.tgz", + "integrity": "sha512-ykDdF5yI4f1WrAolLqeF3hmYU12j9ntLQl/AOG1HAS21jxyg1Q0/J/tpREuYLfatGdGmXp/3yS0ZA76kOlVq9Q==", "license": "MIT", + "peer": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "@babel/plugin-transform-react-jsx": "^7.27.1" }, "engines": { - "node": ">=0.10.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ignore-by-default": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", - "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", - "dev": true, - "license": "ISC" + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "node_modules/ioredis": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.6.1.tgz", - "integrity": "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==", + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.27.1.tgz", + "integrity": "sha512-JfuinvDOsD9FVMTHpzA/pBLisxpv1aSf+OIV8lgH3MuWrks19R27e6a6DipIg4aX1Zm9Wpb04p8wljfKrVSnPA==", "license": "MIT", + "peer": true, "dependencies": { - "@ioredis/commands": "^1.1.1", - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.4", - "denque": "^2.1.0", - "lodash.defaults": "^4.2.0", - "lodash.isarguments": "^3.1.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { - "node": ">=12.22.0" + "node": ">=6.9.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/ioredis/node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz", + "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz", + "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", + "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz", + "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-syntax-typescript": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.28.5.tgz", + "integrity": "sha512-Z3J8vhRq7CeLjdC58jLv4lnZ5RKFUJWqH5emvxmv9Hv3BD1T9R/Im713R4MTKwvFaV74ejZ3sM01LyEKk4ugNQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-transform-react-display-name": "^7.28.0", + "@babel/plugin-transform-react-jsx": "^7.27.1", + "@babel/plugin-transform-react-jsx-development": "^7.27.1", + "@babel/plugin-transform-react-pure-annotations": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz", + "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.27.1", + "@babel/plugin-transform-typescript": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map": { + "name": "@babel/traverse", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", + "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.5", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.5", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.5", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse--for-generate-function-map/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse--for-generate-function-map/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.6.0.tgz", + "integrity": "sha512-Ir+AOibqzrIsL6ajt3Rz3LskB7OiMVHqltZmspbW/TJuTVuyOMirVqAkjfY6JISiLHgyNqicAC8AyHHGzNd/dA==", + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@dabh/diagnostics": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz", + "integrity": "sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==", + "license": "MIT", + "dependencies": { + "colorspace": "1.1.x", + "enabled": "2.0.x", + "kuler": "^2.0.0" + } + }, + "node_modules/@expo/cli": { + "version": "54.0.13", + "resolved": "https://registry.npmjs.org/@expo/cli/-/cli-54.0.13.tgz", + "integrity": "sha512-wUJVTByZzDN0q8UjXDlu6WD2BWoTJCKVVBGUBNmvViDX4FhnESwefmtXPoO54QUUKs6vY89WZryHllGArGfLLw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@0no-co/graphql.web": "^1.0.8", + "@expo/code-signing-certificates": "^0.0.5", + "@expo/config": "~12.0.10", + "@expo/config-plugins": "~54.0.2", + "@expo/devcert": "^1.1.2", + "@expo/env": "~2.0.7", + "@expo/image-utils": "^0.8.7", + "@expo/json-file": "^10.0.7", + "@expo/mcp-tunnel": "~0.0.7", + "@expo/metro": "~54.1.0", + "@expo/metro-config": "~54.0.7", + "@expo/osascript": "^2.3.7", + "@expo/package-manager": "^1.9.8", + "@expo/plist": "^0.4.7", + "@expo/prebuild-config": "^54.0.6", + "@expo/schema-utils": "^0.1.7", + "@expo/spawn-async": "^1.7.2", + "@expo/ws-tunnel": "^1.0.1", + "@expo/xcpretty": "^4.3.0", + "@react-native/dev-middleware": "0.81.5", + "@urql/core": "^5.0.6", + "@urql/exchange-retry": "^1.3.0", + "accepts": "^1.3.8", + "arg": "^5.0.2", + "better-opn": "~3.0.2", + "bplist-creator": "0.1.0", + "bplist-parser": "^0.3.1", + "chalk": "^4.0.0", + "ci-info": "^3.3.0", + "compression": "^1.7.4", + "connect": "^3.7.0", + "debug": "^4.3.4", + "env-editor": "^0.4.1", + "expo-server": "^1.0.2", + "freeport-async": "^2.0.0", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "lan-network": "^0.1.6", + "minimatch": "^9.0.0", + "node-forge": "^1.3.1", + "npm-package-arg": "^11.0.0", + "ora": "^3.4.0", + "picomatch": "^3.0.1", + "pretty-bytes": "^5.6.0", + "pretty-format": "^29.7.0", + "progress": "^2.0.3", + "prompts": "^2.3.2", + "qrcode-terminal": "0.11.0", + "require-from-string": "^2.0.2", + "requireg": "^0.2.2", + "resolve": "^1.22.2", + "resolve-from": "^5.0.0", + "resolve.exports": "^2.0.3", + "semver": "^7.6.0", + "send": "^0.19.0", + "slugify": "^1.3.4", + "source-map-support": "~0.5.21", + "stacktrace-parser": "^0.1.10", + "structured-headers": "^0.4.1", + "tar": "^7.4.3", + "terminal-link": "^2.1.1", + "undici": "^6.18.2", + "wrap-ansi": "^7.0.0", + "ws": "^8.12.1" + }, + "bin": { + "expo-internal": "build/bin/cli" + }, + "peerDependencies": { + "expo": "*", + "expo-router": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "expo-router": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/cli/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/cli/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/cli/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/cli/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/cli/node_modules/picomatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-3.0.1.tgz", + "integrity": "sha512-I3EurrIQMlRc9IaAZnqRR044Phh2DXY+55o7uJ0V+hYZAcQYSuFWsc9q5PvyDHUSCe1Qxn/iBz+78s86zWnGag==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@expo/code-signing-certificates": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@expo/code-signing-certificates/-/code-signing-certificates-0.0.5.tgz", + "integrity": "sha512-BNhXkY1bblxKZpltzAx98G2Egj9g1Q+JRcvR7E99DOj862FTCX+ZPsAUtPTr7aHxwtrL7+fL3r0JSmM9kBm+Bw==", + "license": "MIT", + "peer": true, + "dependencies": { + "node-forge": "^1.2.1", + "nullthrows": "^1.1.1" + } + }, + "node_modules/@expo/config": { + "version": "12.0.10", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.10.tgz", + "integrity": "sha512-lJMof5Nqakq1DxGYlghYB/ogSBjmv4Fxn1ovyDmcjlRsQdFCXgu06gEUogkhPtc9wBt9WlTTfqENln5HHyLW6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~54.0.2", + "@expo/config-types": "^54.0.8", + "@expo/json-file": "^10.0.7", + "deepmerge": "^4.3.1", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "resolve-workspace-root": "^2.0.0", + "semver": "^7.6.0", + "slugify": "^1.3.4", + "sucrase": "3.35.0" + } + }, + "node_modules/@expo/config-plugins": { + "version": "54.0.2", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.2.tgz", + "integrity": "sha512-jD4qxFcURQUVsUFGMcbo63a/AnviK8WUGard+yrdQE3ZrB/aurn68SlApjirQQLEizhjI5Ar2ufqflOBlNpyPg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/config-types": "^54.0.8", + "@expo/json-file": "~10.0.7", + "@expo/plist": "^0.4.7", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.5", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "slash": "^3.0.0", + "slugify": "^1.6.6", + "xcode": "^3.0.1", + "xml2js": "0.6.0" + } + }, + "node_modules/@expo/config-plugins/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/config-plugins/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/config-types": { + "version": "54.0.8", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.8.tgz", + "integrity": "sha512-lyIn/x/Yz0SgHL7IGWtgTLg6TJWC9vL7489++0hzCHZ4iGjVcfZmPTUfiragZ3HycFFj899qN0jlhl49IHa94A==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/devcert": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@expo/devcert/-/devcert-1.2.0.tgz", + "integrity": "sha512-Uilcv3xGELD5t/b0eM4cxBFEKQRIivB3v7i+VhWLV/gL98aw810unLKKJbGAxAIhY6Ipyz8ChWibFsKFXYwstA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/sudo-prompt": "^9.3.1", + "debug": "^3.1.0", + "glob": "^10.4.2" + } + }, + "node_modules/@expo/devcert/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@expo/devcert/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/devtools": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@expo/devtools/-/devtools-0.1.7.tgz", + "integrity": "sha512-dfIa9qMyXN+0RfU6SN4rKeXZyzKWsnz6xBSDccjL4IRiE+fQ0t84zg0yxgN4t/WK2JU5v6v4fby7W7Crv9gJvA==", + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^4.1.2" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/@expo/env": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.7.tgz", + "integrity": "sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==", + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^4.0.0", + "debug": "^4.3.4", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0" + } + }, + "node_modules/@expo/env/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/env/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@expo/env/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/fingerprint": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/@expo/fingerprint/-/fingerprint-0.15.2.tgz", + "integrity": "sha512-mA3weHEOd9B3mbDLNDKmAcFWo3kqsAJqPne7uMJndheKXPbRw15bV+ajAGBYZh2SS37xixLJ5eDpuc+Wr6jJtw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "arg": "^5.0.2", + "chalk": "^4.1.2", + "debug": "^4.3.4", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "ignore": "^5.3.1", + "minimatch": "^9.0.0", + "p-limit": "^3.1.0", + "resolve-from": "^5.0.0", + "semver": "^7.6.0" + }, + "bin": { + "fingerprint": "bin/cli.js" + } + }, + "node_modules/@expo/fingerprint/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/fingerprint/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/fingerprint/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/fingerprint/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/image-utils": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.7.tgz", + "integrity": "sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.0.0", + "getenv": "^2.0.0", + "jimp-compact": "0.16.1", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0", + "semver": "^7.6.0", + "temp-dir": "~2.0.0", + "unique-string": "~2.0.0" + } + }, + "node_modules/@expo/json-file": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.7.tgz", + "integrity": "sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3" + } + }, + "node_modules/@expo/mcp-tunnel": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@expo/mcp-tunnel/-/mcp-tunnel-0.0.8.tgz", + "integrity": "sha512-6261obzt6h9TQb6clET7Fw4Ig4AY2hfTNKI3gBt0gcTNxZipwMg8wER7ssDYieA9feD/FfPTuCPYFcR280aaWA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ws": "^8.18.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.24.6" + }, + "peerDependencies": { + "@modelcontextprotocol/sdk": "^1.13.2" + }, + "peerDependenciesMeta": { + "@modelcontextprotocol/sdk": { + "optional": true + } + } + }, + "node_modules/@expo/mcp-tunnel/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@expo/metro": { + "version": "54.1.0", + "resolved": "https://registry.npmjs.org/@expo/metro/-/metro-54.1.0.tgz", + "integrity": "sha512-MgdeRNT/LH0v1wcO0TZp9Qn8zEF0X2ACI0wliPtv5kXVbXWI+yK9GyrstwLAiTXlULKVIg3HVSCCvmLu0M3tnw==", + "license": "MIT", + "peer": true, + "dependencies": { + "metro": "0.83.2", + "metro-babel-transformer": "0.83.2", + "metro-cache": "0.83.2", + "metro-cache-key": "0.83.2", + "metro-config": "0.83.2", + "metro-core": "0.83.2", + "metro-file-map": "0.83.2", + "metro-resolver": "0.83.2", + "metro-runtime": "0.83.2", + "metro-source-map": "0.83.2", + "metro-transform-plugins": "0.83.2", + "metro-transform-worker": "0.83.2" + } + }, + "node_modules/@expo/metro-config": { + "version": "54.0.7", + "resolved": "https://registry.npmjs.org/@expo/metro-config/-/metro-config-54.0.7.tgz", + "integrity": "sha512-bXluEygLrd7cIh/erpjIIC2xDeanaebcwzF+DUMD5vAqHU3o0QXAF3jRV/LsjXZud9V5eRpyCRZ3tLQL0iv8WA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.20.0", + "@babel/core": "^7.20.0", + "@babel/generator": "^7.20.5", + "@expo/config": "~12.0.10", + "@expo/env": "~2.0.7", + "@expo/json-file": "~10.0.7", + "@expo/metro": "~54.1.0", + "@expo/spawn-async": "^1.7.2", + "browserslist": "^4.25.0", + "chalk": "^4.1.0", + "debug": "^4.3.2", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "hermes-parser": "^0.29.1", + "jsc-safe-url": "^0.2.4", + "lightningcss": "^1.30.1", + "minimatch": "^9.0.0", + "postcss": "~8.4.32", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "expo": "*" + }, + "peerDependenciesMeta": { + "expo": { + "optional": true + } + } + }, + "node_modules/@expo/metro-config/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@expo/metro-config/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@expo/metro-config/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/metro-config/node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/@expo/metro-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@expo/metro-config/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/osascript": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/@expo/osascript/-/osascript-2.3.7.tgz", + "integrity": "sha512-IClSOXxR0YUFxIriUJVqyYki7lLMIHrrzOaP01yxAL1G8pj2DWV5eW1y5jSzIcIfSCNhtGsshGd1tU/AYup5iQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "exec-async": "^2.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/package-manager": { + "version": "1.9.8", + "resolved": "https://registry.npmjs.org/@expo/package-manager/-/package-manager-1.9.8.tgz", + "integrity": "sha512-4/I6OWquKXYnzo38pkISHCOCOXxfeEmu4uDoERq1Ei/9Ur/s9y3kLbAamEkitUkDC7gHk1INxRWEfFNzGbmOrA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/json-file": "^10.0.7", + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.0.0", + "npm-package-arg": "^11.0.0", + "ora": "^3.4.0", + "resolve-workspace-root": "^2.0.0" + } + }, + "node_modules/@expo/plist": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.7.tgz", + "integrity": "sha512-dGxqHPvCZKeRKDU1sJZMmuyVtcASuSYh1LPFVaM1DuffqPL36n6FMEL0iUqq2Tx3xhWk8wCnWl34IKplUjJDdA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.2.3", + "xmlbuilder": "^15.1.1" + } + }, + "node_modules/@expo/prebuild-config": { + "version": "54.0.6", + "resolved": "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-54.0.6.tgz", + "integrity": "sha512-xowuMmyPNy+WTNq+YX0m0EFO/Knc68swjThk4dKivgZa8zI1UjvFXOBIOp8RX4ljCXLzwxQJM5oBBTvyn+59ZA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/config": "~12.0.10", + "@expo/config-plugins": "~54.0.2", + "@expo/config-types": "^54.0.8", + "@expo/image-utils": "^0.8.7", + "@expo/json-file": "^10.0.7", + "@react-native/normalize-colors": "0.81.5", + "debug": "^4.3.1", + "resolve-from": "^5.0.0", + "semver": "^7.6.0", + "xml2js": "0.6.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/@expo/prebuild-config/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@expo/prebuild-config/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/schema-utils": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@expo/schema-utils/-/schema-utils-0.1.7.tgz", + "integrity": "sha512-jWHoSuwRb5ZczjahrychMJ3GWZu54jK9ulNdh1d4OzAEq672K9E5yOlnlBsfIHWHGzUAT+0CL7Yt1INiXTz68g==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/sdk-runtime-versions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@expo/sdk-runtime-versions/-/sdk-runtime-versions-1.0.0.tgz", + "integrity": "sha512-Doz2bfiPndXYFPMRwPyGa1k5QaKDVpY806UJj570epIiMzWaYyCtobasyfC++qfIXVb5Ocy7r3tP9d62hAQ7IQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/spawn-async": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/@expo/spawn-async/-/spawn-async-1.7.2.tgz", + "integrity": "sha512-QdWi16+CHB9JYP7gma19OVVg0BFkvU8zNj9GjWorYI8Iv8FUxjOCcYRuAmX4s/h91e4e7BPsskc8cSrZYho9Ew==", + "license": "MIT", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@expo/sudo-prompt": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/@expo/sudo-prompt/-/sudo-prompt-9.3.2.tgz", + "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/vector-icons": { + "version": "15.0.3", + "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-15.0.3.tgz", + "integrity": "sha512-SBUyYKphmlfUBqxSfDdJ3jAdEVSALS2VUPOUyqn48oZmb2TL/O7t7/PQm5v4NQujYEPLPMTLn9KVw6H7twwbTA==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "expo-font": ">=14.0.4", + "react": "*", + "react-native": "*" + } + }, + "node_modules/@expo/ws-tunnel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@expo/ws-tunnel/-/ws-tunnel-1.0.6.tgz", + "integrity": "sha512-nDRbLmSrJar7abvUjp3smDwH8HcbZcoOEa5jVPUv9/9CajgmWw20JNRwTuBRzWIWIkEJDkz20GoNA+tSwUqk0Q==", + "license": "MIT", + "peer": true + }, + "node_modules/@expo/xcpretty": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@expo/xcpretty/-/xcpretty-4.3.2.tgz", + "integrity": "sha512-ReZxZ8pdnoI3tP/dNnJdnmAk7uLT4FjsKDGW7YeDdvdOMz2XCQSmSCM9IWlrXuWtMF9zeSB6WJtEhCQ41gQOfw==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@babel/code-frame": "7.10.4", + "chalk": "^4.1.0", + "find-up": "^5.0.0", + "js-yaml": "^4.1.0" + }, + "bin": { + "excpretty": "build/cli.js" + } + }, + "node_modules/@ioredis/commands": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ioredis/commands/-/commands-1.2.0.tgz", + "integrity": "sha512-Sx1pU8EM64o2BrqNpEO1CNLtKQwyhuXuqyfH7oGKCk+1a33d2r5saW8zNwm3j6BTExtjrv2BxTgzzkMwts6vGg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "license": "ISC", + "peer": true, + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "license": "MIT", + "peer": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "license": "MIT", + "peer": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "license": "MIT", + "peer": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/create-cache-key-function": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/create-cache-key-function/-/create-cache-key-function-29.7.0.tgz", + "integrity": "sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT", + "peer": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.2.2.tgz", + "integrity": "sha512-EB0O3SCSNRUFk66iRCpI+cXzIjdswfCs7F6nOC3RAGJ7xr5YhaicvsRwJ9eyzYvYRlCSDUO/c7g4yNulxKC1WA==", + "license": "MIT", + "dependencies": { + "sparse-bitfield": "^3.0.3" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "peer": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@react-native/assets-registry": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.82.1.tgz", + "integrity": "sha512-B1SRwpntaAcckiatxbjzylvNK562Ayza05gdJCjDQHTiDafa1OABmyB5LHt7qWDOpNkaluD+w11vHF7pBmTpzQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-plugin-codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-plugin-codegen/-/babel-plugin-codegen-0.81.5.tgz", + "integrity": "sha512-oF71cIH6je3fSLi6VPjjC3Sgyyn57JLHXs+mHWc9MoCiJJcM4nqsS5J38zv1XQ8d3zOW2JtHro+LF0tagj2bfQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.25.3", + "@react-native/codegen": "0.81.5" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/babel-preset": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/babel-preset/-/babel-preset-0.81.5.tgz", + "integrity": "sha512-UoI/x/5tCmi+pZ3c1+Ypr1DaRMDLI3y+Q70pVLLVgrnC3DHsHRIbHcCHIeG/IJvoeFqFM2sTdhSOLJrf8lOPrA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-react-display-name": "^7.24.7", + "@babel/plugin-transform-react-jsx": "^7.25.2", + "@babel/plugin-transform-react-jsx-self": "^7.24.7", + "@babel/plugin-transform-react-jsx-source": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.25.2", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/template": "^7.25.0", + "@react-native/babel-plugin-codegen": "0.81.5", + "babel-plugin-syntax-hermes-parser": "0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.81.5.tgz", + "integrity": "sha512-a2TDA03Up8lpSa9sh5VRGCQDXgCTOyDOFH+aqyinxp1HChG8uk89/G+nkJ9FPd0rqgi25eCTR16TWdS3b+fA6g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.29.1", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.82.1.tgz", + "integrity": "sha512-H/eMdtOy9nEeX7YVeEG1N2vyCoifw3dr9OV8++xfUElNYV7LtSmJ6AqxZUUfxGJRDFPQvaU/8enmJlM/l11VxQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native/dev-middleware": "0.82.1", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.83.1", + "metro-config": "^0.83.1", + "metro-core": "^0.83.1", + "semver": "^7.1.3" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "*" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/debugger-frontend": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.82.1.tgz", + "integrity": "sha512-a2O6M7/OZ2V9rdavOHyCQ+10z54JX8+B+apYKCQ6a9zoEChGTxUMG2YzzJ8zZJVvYf1ByWSNxv9Se0dca1hO9A==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/@react-native/dev-middleware": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.82.1.tgz", + "integrity": "sha512-wuOIzms/Qg5raBV6Ctf2LmgzEOCqdP3p1AYN4zdhMT110c39TVMbunpBaJxm0Kbt2HQ762MQViF9naxk7SBo4w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.82.1", + "@react-native/debugger-shell": "0.82.1", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/community-cli-plugin/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.81.5.tgz", + "integrity": "sha512-bnd9FSdWKx2ncklOetCgrlwqSGhMHP2zOxObJbOWXoj7GHEmih4MKarBo5/a8gX8EfA1EwRATdfNBQ81DY+h+w==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/debugger-shell": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.82.1.tgz", + "integrity": "sha512-fdRHAeqqPT93bSrxfX+JHPpCXHApfDUdrXMXhoxlPgSzgXQXJDykIViKhtpu0M6slX6xU/+duq+AtP/qWJRpBw==", + "license": "MIT", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "fb-dotslash": "0.5.8" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.81.5.tgz", + "integrity": "sha512-WfPfZzboYgo/TUtysuD5xyANzzfka8Ebni6RIb2wDxhb56ERi7qDrE4xGhtPsjCL4pQBXSVxyIlCy0d8I6EgGA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.81.5", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.2.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^6.2.3" + }, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.82.1.tgz", + "integrity": "sha512-KkF/2T1NSn6EJ5ALNT/gx0MHlrntFHv8YdooH9OOGl9HQn5NM0ZmQSr86o5utJsGc7ME3R6p3SaQuzlsFDrn8Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.82.1.tgz", + "integrity": "sha512-tf70X7pUodslOBdLN37J57JmDPB/yiZcNDzS2m+4bbQzo8fhx3eG9QEBv5n4fmzqfGAgSB4BWRHgDMXmmlDSVA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 20.19.4" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.81.5", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.81.5.tgz", + "integrity": "sha512-0HuJ8YtqlTVRXGZuGeBejLE04wSQsibpTI+RGOyVqxZvgtlLLC/Ssw0UmbHhT4lYMp2fhdtvKZSs5emWB1zR/g==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/virtualized-lists": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.82.1.tgz", + "integrity": "sha512-f5zpJg9gzh7JtCbsIwV+4kP3eI0QBuA93JGmwFRd4onQ3DnCjV2J5pYqdWtM95sjSKK1dyik59Gj01lLeKqs1Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.1", + "react": "*", + "react-native": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "license": "MIT", + "peer": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "license": "MIT" + }, + "node_modules/@stablelib/base64": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/base64/-/base64-1.0.1.tgz", + "integrity": "sha512-1bnPQqSxSuc3Ii6MhBysoWCg58j97aUjuCSZrGSmDxNqtytIi0k8utUenAwTZN4V5mXXYGsVUI9zeBqy+jBOSQ==", + "license": "MIT" + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "24.0.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.10.tgz", + "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==", + "license": "MIT", + "dependencies": { + "undici-types": "~7.8.0" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "license": "MIT", + "peer": true + }, + "node_modules/@types/triple-beam": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/triple-beam/-/triple-beam-1.3.5.tgz", + "integrity": "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw==", + "license": "MIT" + }, + "node_modules/@types/webidl-conversions": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/@types/webidl-conversions/-/webidl-conversions-7.0.3.tgz", + "integrity": "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==", + "license": "MIT" + }, + "node_modules/@types/whatwg-url": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/@types/whatwg-url/-/whatwg-url-11.0.5.tgz", + "integrity": "sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==", + "license": "MIT", + "dependencies": { + "@types/webidl-conversions": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.34", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.34.tgz", + "integrity": "sha512-KExbHVa92aJpw9WDQvzBaGVE2/Pz+pLZQloT2hjL8IqsZnV62rlPOYvNnLmf/L2dyllfVUOVBj64M0z/46eR2A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "license": "MIT", + "peer": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.3.0.tgz", + "integrity": "sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==", + "license": "ISC", + "peer": true + }, + "node_modules/@urql/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@urql/core/-/core-5.2.0.tgz", + "integrity": "sha512-/n0ieD0mvvDnVAXEQgX/7qJiVcvYvNkOHeBvkwtylfjydar123caCXcl58PXFY11oU1oquJocVXHxLAbtv4x1A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@0no-co/graphql.web": "^1.0.13", + "wonka": "^6.3.2" + } + }, + "node_modules/@urql/exchange-retry": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@urql/exchange-retry/-/exchange-retry-1.3.2.tgz", + "integrity": "sha512-TQMCz2pFJMfpNxmSfX1VSfTjwUIFx/mL+p1bnfM1xjjdla7Z+KnGMW/EhFbpckp3LyWAH4PgOsMwOMnIN+MBFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@urql/core": "^5.1.2", + "wonka": "^6.3.2" + }, + "peerDependencies": { + "@urql/core": "^5.0.0" + } + }, + "node_modules/@xmldom/xmldom": { + "version": "0.8.11", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.11.tgz", + "integrity": "sha512-cQzWCtO6C8TQiYl1ruKNn2U6Ao4o4WBBcbL61yJl84x+j5sOWWFU9X7DpND8XZG3daDppSsigMdfAIl2upQBRw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "peer": true, + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 14" + } + }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "license": "MIT", + "peer": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/ansi-styles/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT", + "peer": true + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "license": "MIT", + "peer": true + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT", + "peer": true + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "license": "Python-2.0", + "peer": true + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT", + "peer": true + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "license": "MIT" + }, + "node_modules/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "license": "MIT", + "peer": true + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.14", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz", + "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/compat-data": "^7.27.7", + "@babel/helper-define-polyfill-provider": "^0.6.5", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz", + "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-react-compiler": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/babel-plugin-react-compiler/-/babel-plugin-react-compiler-1.0.0.tgz", + "integrity": "sha512-Ixm8tFfoKKIPYdCCKYTsqv+Fd4IJ0DQqMyEimo+pxUOMUR9cVPlwTrFt9Avu+3cb6Zp3mAzl+t1MrG2fxxKsxw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/types": "^7.26.0" + } + }, + "node_modules/babel-plugin-react-native-web": { + "version": "0.21.2", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.21.2.tgz", + "integrity": "sha512-SPD0J6qjJn8231i0HZhlAGH6NORe+QvRSQM2mwQEzJ2Fb3E4ruWTiiicPlHjmeWShDXLcvoorOCXjeR7k/lyWA==", + "license": "MIT", + "peer": true + }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.29.1.tgz", + "integrity": "sha512-2WFYnoWGdmih1I1J5eIqxATOeycOqRwYxAQBu3cUu/rhwInwHUg7k60AFNbuGjSDL8tje5GDrAnxzRLcu2pYcA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-parser": "0.29.1" + } + }, + "node_modules/babel-plugin-transform-flow-enums": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-flow-enums/-/babel-plugin-transform-flow-enums-0.0.2.tgz", + "integrity": "sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/plugin-syntax-flow": "^7.12.1" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/babel-preset-expo": { + "version": "54.0.6", + "resolved": "https://registry.npmjs.org/babel-preset-expo/-/babel-preset-expo-54.0.6.tgz", + "integrity": "sha512-GxJfwnuOPQJbzDe5WASJZdNQiukLw7i9z+Lh6JQWkUHXsShHyQrqgiKE55MD/KaP9VqJ70yZm7bYqOu8zwcWqQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-module-imports": "^7.25.9", + "@babel/plugin-proposal-decorators": "^7.12.9", + "@babel/plugin-proposal-export-default-from": "^7.24.7", + "@babel/plugin-syntax-export-default-from": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.27.1", + "@babel/plugin-transform-export-namespace-from": "^7.25.9", + "@babel/plugin-transform-flow-strip-types": "^7.25.2", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-runtime": "^7.24.7", + "@babel/preset-react": "^7.22.15", + "@babel/preset-typescript": "^7.23.0", + "@react-native/babel-preset": "0.81.5", + "babel-plugin-react-compiler": "^1.0.0", + "babel-plugin-react-native-web": "~0.21.0", + "babel-plugin-syntax-hermes-parser": "^0.29.1", + "babel-plugin-transform-flow-enums": "^0.0.2", + "debug": "^4.3.4", + "resolve-from": "^5.0.0" + }, + "peerDependencies": { + "@babel/runtime": "^7.20.0", + "expo": "*", + "react-refresh": ">=0.14.0 <1.0.0" + }, + "peerDependenciesMeta": { + "@babel/runtime": { + "optional": true + }, + "expo": { + "optional": true + } + } + }, + "node_modules/babel-preset-expo/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/babel-preset-expo/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "license": "MIT", + "peer": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/base64url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/base64url/-/base64url-3.0.1.tgz", + "integrity": "sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A==", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "open": "^8.0.4" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/better-opn/node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "license": "Unlicense", + "peer": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/body-parser/node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser/node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/body-parser/node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/bplist-creator": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.1.0.tgz", + "integrity": "sha512-sXaHZicyEEmY86WyueLTQesbeoH/mquvarJaQNbjuOQO+7gbFcDEWqKmcWA4cOTLzFlfgvkiVxolk1k5bBIpmg==", + "license": "MIT", + "peer": true, + "dependencies": { + "stream-buffers": "2.2.x" + } + }, + "node_modules/bplist-parser": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.2.tgz", + "integrity": "sha512-apC2+fspHGI3mMKj+dGevkGo/tCqVB8jMb6i+OX+E29p0Iposz07fABkRIfVUPNd5A5VbuOz1bZbnmkKLYF+wQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "baseline-browser-mapping": "^2.8.19", + "caniuse-lite": "^1.0.30001751", + "electron-to-chromium": "^1.5.238", + "node-releases": "^2.0.26", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/bson": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.10.3.tgz", + "integrity": "sha512-MTxGsqgYTwfshYWTRdmZRC+M7FnG1b4y7RO7p2k3X24Wq0yv1m77Wsj0BzlPzd/IowgESfsruQCUToa7vbOpPQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==", + "license": "BSD-3-Clause" + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT", + "peer": true + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0", + "peer": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/chromium-edge-launcher": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.2.0.tgz", + "integrity": "sha512-JfJjUnq25y9yg4FABRRVPmBGWPZZi+AQXT4mxupb67766/0UlhG8PAZCz6xzEMXTbW3CsSoE8PcCWA49n35mKg==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "license": "ISC", + "peer": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/cloudinary": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-2.8.0.tgz", + "integrity": "sha512-s7frvR0HnQXeJsQSIsbLa/I09IMb1lOnVLEDH5b5E53WTiCYgrNNOBGV/i/nLHwrcEOUkqjfSwP1+enXWNYmdw==", + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21", + "q": "^1.5.1" + }, + "engines": { + "node": ">=9" + } + }, + "node_modules/cluster-key-slot": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.2.tgz", + "integrity": "sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/colorspace": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/colorspace/-/colorspace-1.1.4.tgz", + "integrity": "sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==", + "license": "MIT", + "dependencies": { + "color": "^3.1.3", + "text-hex": "1.0.x" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "license": "MIT", + "peer": true, + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression/node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "license": "MIT", + "peer": true + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-js-compat": { + "version": "3.46.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.46.0.tgz", + "integrity": "sha512-p9hObIIEENxSV8xIu+V68JjSeARg6UVMG5mR+JEUguG3sI6MsiS1njz2jHmyJDvA+8jX/sytkBHup6kxhM9law==", + "license": "MIT", + "peer": true, + "dependencies": { + "browserslist": "^4.26.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "peer": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "license": "MIT", + "peer": true, + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/denque": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz", + "integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==", + "license": "Apache-2.0", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dotenv": { + "version": "16.5.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz", + "integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dotenv-expand": { + "version": "11.0.7", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-11.0.7.tgz", + "integrity": "sha512-zIHwmZPRshsCdpMDyVsqGmgyP0yT8GAgXUnkdAoJisxvf33k7yO6OuoKmcTGuXPWSsm8Oh88nZicRLA9Y0rUeA==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "dotenv": "^16.4.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT", + "peer": true + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.240", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.240.tgz", + "integrity": "sha512-OBwbZjWgrCOH+g6uJsA2/7Twpas2OlepS9uvByJjR2datRDuKGYeD+nP8lBBks2qnB7bGJNHDUx7c/YLaT3QMQ==", + "license": "ISC", + "peer": true + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT", + "peer": true + }, + "node_modules/enabled": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/enabled/-/enabled-2.0.0.tgz", + "integrity": "sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==", + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-client": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.6.3.tgz", + "integrity": "sha512-T0iLjnyNWahNyv/lcjS2y4oE358tVS/SYQNxYXGAJ9/GLgH4VCvOQ/mhTjqU88mLZCQgiG8RIegFHYCdVC+j5w==", + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1", + "xmlhttprequest-ssl": "~2.1.1" + } + }, + "node_modules/engine.io-client/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io-client/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/env-editor": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/env-editor/-/env-editor-0.4.2.tgz", + "integrity": "sha512-ObFo8v4rQJAE59M69QzwloxPZtd33TpYEIjtKD1rrFDcM1Gd7IkDxEBU+HriziN6HSHQnBJi8Dmy+JWkav5HKA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "license": "MIT" + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "license": "BSD-2-Clause", + "peer": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/exec-async": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/exec-async/-/exec-async-2.2.0.tgz", + "integrity": "sha512-87OpwcEiMia/DeiKFzaQNBNFeN3XkkpYIh9FyOqq5mS2oKv3CBE67PXoEKcr6nodWdXNogTiQ0jE2NGuoffXPw==", + "license": "MIT", + "peer": true + }, + "node_modules/expo": { + "version": "54.0.20", + "resolved": "https://registry.npmjs.org/expo/-/expo-54.0.20.tgz", + "integrity": "sha512-mWHky+H63W60P5Oo+VbtqzF2sLvdaoSSwG57H9rlq1DrgIla++QJZuwJkXXo55lYPymVmkVhwG6FjWYKKylwpw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.20.0", + "@expo/cli": "54.0.13", + "@expo/config": "~12.0.10", + "@expo/config-plugins": "~54.0.2", + "@expo/devtools": "0.1.7", + "@expo/fingerprint": "0.15.2", + "@expo/metro": "~54.1.0", + "@expo/metro-config": "54.0.7", + "@expo/vector-icons": "^15.0.3", + "@ungap/structured-clone": "^1.3.0", + "babel-preset-expo": "~54.0.6", + "expo-asset": "~12.0.9", + "expo-constants": "~18.0.10", + "expo-file-system": "~19.0.17", + "expo-font": "~14.0.9", + "expo-keep-awake": "~15.0.7", + "expo-modules-autolinking": "3.0.19", + "expo-modules-core": "3.0.22", + "pretty-format": "^29.7.0", + "react-refresh": "^0.14.2", + "whatwg-url-without-unicode": "8.0.0-3" + }, + "bin": { + "expo": "bin/cli", + "expo-modules-autolinking": "bin/autolinking", + "fingerprint": "bin/fingerprint" + }, + "peerDependencies": { + "@expo/dom-webview": "*", + "@expo/metro-runtime": "*", + "react": "*", + "react-native": "*", + "react-native-webview": "*" + }, + "peerDependenciesMeta": { + "@expo/dom-webview": { + "optional": true + }, + "@expo/metro-runtime": { + "optional": true + }, + "react-native-webview": { + "optional": true + } + } + }, + "node_modules/expo-asset": { + "version": "12.0.9", + "resolved": "https://registry.npmjs.org/expo-asset/-/expo-asset-12.0.9.tgz", + "integrity": "sha512-vrdRoyhGhBmd0nJcssTSk1Ypx3Mbn/eXaaBCQVkL0MJ8IOZpAObAjfD5CTy8+8RofcHEQdh3wwZVCs7crvfOeg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/image-utils": "^0.8.7", + "expo-constants": "~18.0.9" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-constants": { + "version": "18.0.10", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.10.tgz", + "integrity": "sha512-Rhtv+X974k0Cahmvx6p7ER5+pNhBC0XbP1lRviL2J1Xl4sT2FBaIuIxF/0I0CbhOsySf0ksqc5caFweAy9Ewiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/config": "~12.0.10", + "@expo/env": "~2.0.7" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-file-system": { + "version": "19.0.17", + "resolved": "https://registry.npmjs.org/expo-file-system/-/expo-file-system-19.0.17.tgz", + "integrity": "sha512-WwaS01SUFrxBnExn87pg0sCTJjZpf2KAOzfImG0o8yhkU7fbYpihpl/oocXBEsNbj58a8hVt1Y4CVV5c1tzu/g==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-font": { + "version": "14.0.9", + "resolved": "https://registry.npmjs.org/expo-font/-/expo-font-14.0.9.tgz", + "integrity": "sha512-xCoQbR/36qqB6tew/LQ6GWICpaBmHLhg/Loix5Rku/0ZtNaXMJv08M9o1AcrdiGTn/Xf/BnLu6DgS45cWQEHZg==", + "license": "MIT", + "peer": true, + "dependencies": { + "fontfaceobserver": "^2.1.0" + }, + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-image-loader": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/expo-image-loader/-/expo-image-loader-6.0.0.tgz", + "integrity": "sha512-nKs/xnOGw6ACb4g26xceBD57FKLFkSwEUTDXEDF3Gtcu3MqF3ZIYd3YM+sSb1/z9AKV1dYT7rMSGVNgsveXLIQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-image-manipulator": { + "version": "14.0.7", + "resolved": "https://registry.npmjs.org/expo-image-manipulator/-/expo-image-manipulator-14.0.7.tgz", + "integrity": "sha512-NMHssudagLTAT6ZQ2upnJYT+gVLAt5vC+iD+TBIdV3ZS44yhrq+p2gCrYahDvtVywfmTI5WsbH+Sh1BXbmJUQw==", + "license": "MIT", + "dependencies": { + "expo-image-loader": "~6.0.0" + }, + "peerDependencies": { + "expo": "*" + } + }, + "node_modules/expo-keep-awake": { + "version": "15.0.7", + "resolved": "https://registry.npmjs.org/expo-keep-awake/-/expo-keep-awake-15.0.7.tgz", + "integrity": "sha512-CgBNcWVPnrIVII5G54QDqoE125l+zmqR4HR8q+MQaCfHet+dYpS5vX5zii/RMayzGN4jPgA4XYIQ28ePKFjHoA==", + "license": "MIT", + "peer": true, + "peerDependencies": { + "expo": "*", + "react": "*" + } + }, + "node_modules/expo-modules-autolinking": { + "version": "3.0.19", + "resolved": "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-3.0.19.tgz", + "integrity": "sha512-tSMYGnfZmAaN77X8iMLiaSgbCFnA7eh6s2ac09J2N2N0Rcf2RCE27jg0c0XenTMTWUcM4QvLhsNHof/WtlKqPw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "glob": "^10.4.2", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0" + }, + "bin": { + "expo-modules-autolinking": "bin/expo-modules-autolinking.js" + } + }, + "node_modules/expo-modules-core": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/expo-modules-core/-/expo-modules-core-3.0.22.tgz", + "integrity": "sha512-FqG5oelITFTLcIfGwoJP8Qsk65be/eiEjz354NdAurnhFARHAVYOOIsUehArvm75ISdZOIZEaTSjCudmkA3kKg==", + "license": "MIT", + "peer": true, + "dependencies": { + "invariant": "^2.2.4" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, + "node_modules/expo-server": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/expo-server/-/expo-server-1.0.2.tgz", + "integrity": "sha512-QlQLjFuwgCiBc+Qq0IyBBHiZK1RS0NJSsKVB5iECMJrR04q7PhkaF7dON0fhvo00COy4fT9rJ5brrJDpFro/gA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=20.16.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/express": { + "version": "4.21.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", + "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.3", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.7.1", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.3.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.12", + "proxy-addr": "~2.0.7", + "qs": "6.13.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.19.0", + "serve-static": "1.16.2", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-session": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/express-session/-/express-session-1.18.1.tgz", + "integrity": "sha512-a5mtTqEaZvBCL9A9aqkrtfz+3SMDhOVUnjafjo+s7A9Txkq+SVX2DLvSp1Zrv4uCXa3lMSK3viWnh9Gg07PBUA==", + "license": "MIT", + "dependencies": { + "cookie": "0.7.2", + "cookie-signature": "1.0.7", + "debug": "2.6.9", + "depd": "~2.0.0", + "on-headers": "~1.0.2", + "parseurl": "~1.3.3", + "safe-buffer": "5.2.1", + "uid-safe": "~2.1.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/express-session/node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "license": "MIT" + }, + "node_modules/express/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/express/node_modules/cookie": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", + "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/express/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT", + "peer": true + }, + "node_modules/fast-sha256": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-sha256/-/fast-sha256-1.3.0.tgz", + "integrity": "sha512-n11RGP/lrWEFI/bWdygLxhI+pVeo1ZYIVwvvPkW7azl/rOy+F3HYRZ2K5zeE9mmkhQppyv9sQFx0JM9UabnpPQ==", + "license": "Unlicense" + }, + "node_modules/fb-dotslash": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz", + "integrity": "sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==", + "license": "(MIT OR Apache-2.0)", + "peer": true, + "bin": { + "dotslash": "bin/dotslash" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", + "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "license": "MIT", + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", + "license": "MIT", + "peer": true + }, + "node_modules/fn.name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fn.name/-/fn.name-1.1.0.tgz", + "integrity": "sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==", + "license": "MIT" + }, + "node_modules/fontfaceobserver": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/fontfaceobserver/-/fontfaceobserver-2.3.0.tgz", + "integrity": "sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==", + "license": "BSD-2-Clause", + "peer": true + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "license": "ISC", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/freeport-async": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/freeport-async/-/freeport-async-2.0.0.tgz", + "integrity": "sha512-K7od3Uw45AJg00XUmy15+Hae2hOcgKcmN3/EF6Y7i01O0gaqiRx8sUSpsb9+BRNL8RPBrhzPsVfy8q9ADlJuWQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "license": "ISC", + "peer": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "license": "ISC", + "peer": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/getenv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/getenv/-/getenv-2.0.0.tgz", + "integrity": "sha512-VilgtJj/ALgGY77fiLam5iD336eSWi96Q15JSAG1zi8NRBysm3LXKdGnHb4m5cuyxvOLQQKWpBZAT6ni4FI2iQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "license": "ISC", + "peer": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "license": "ISC", + "peer": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "peer": true, + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "license": "ISC", + "peer": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hermes-compiler": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-0.0.0.tgz", + "integrity": "sha512-boVFutx6ME/Km2mB6vvsQcdnazEYYI/jV1pomx1wcFUG/EVqTkr5CU0CW9bKipOA/8Hyu3NYwW3THg2Q1kNCfA==", + "license": "MIT", + "peer": true + }, + "node_modules/hermes-estree": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.29.1.tgz", + "integrity": "sha512-jl+x31n4/w+wEqm0I2r4CMimukLbLQEYpisys5oCre611CI5fc9TxhqkBBCJ1edDG4Kza0f7CgNz8xVMLZQOmQ==", + "license": "MIT", + "peer": true + }, + "node_modules/hermes-parser": { + "version": "0.29.1", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.29.1.tgz", + "integrity": "sha512-xBHWmUtRC5e/UL0tI7Ivt2riA/YBq9+SiYFU7C1oBa/j2jYGlIF9043oak1F47ihuDIxQ5nbsKueYJDRY02UgA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.29.1" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "peer": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "peer": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause", + "peer": true + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-by-default": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz", + "integrity": "sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA==", + "dev": true, + "license": "ISC" + }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "peer": true, + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "license": "ISC", + "peer": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC", + "peer": true + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ioredis": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-5.6.1.tgz", + "integrity": "sha512-UxC0Yv1Y4WRJiGQxQkP0hfdL0/5/6YvdfOOClRgJ0qppSarkhneSa6UvkMkms0AkdGimSH3Ikqm+6mkMmX7vGA==", + "license": "MIT", + "dependencies": { + "@ioredis/commands": "^1.1.1", + "cluster-key-slot": "^1.1.0", + "debug": "^4.3.4", + "denque": "^2.1.0", + "lodash.defaults": "^4.2.0", + "lodash.isarguments": "^3.1.0", + "redis-errors": "^1.2.0", + "redis-parser": "^3.0.0", + "standard-as-callback": "^2.1.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ioredis" + } + }, + "node_modules/ioredis/node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/ioredis/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", + "peer": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "license": "MIT", + "peer": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC", + "peer": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "peer": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "license": "MIT", + "peer": true, "dependencies": { - "ms": "^2.1.3" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/ioredis/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "license": "MIT", + "peer": true, "engines": { - "node": ">= 0.10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "license": "MIT" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "license": "MIT", + "peer": true, "dependencies": { - "binary-extensions": "^2.0.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "license": "MIT", + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "license": "MIT", + "peer": true, "dependencies": { - "is-extglob": "^2.1.1" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "license": "MIT", + "peer": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jimp-compact": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/jimp-compact/-/jimp-compact-0.16.1.tgz", + "integrity": "sha512-dZ6Ra7u1G8c4Letq/B5EzAxj4tLFHL+cGtdpR+PVm4yzPDj+lCk+AbivWt1eOM+ikzkowtyV7qSqX6qr3t71Ww==", + "license": "MIT", + "peer": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT", + "peer": true + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "license": "MIT", + "peer": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "license": "0BSD", + "peer": true + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "license": "MIT", + "peer": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "license": "MIT", + "peer": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, "node_modules/jsonwebtoken": { @@ -1284,12 +6790,350 @@ "node": ">=12.0.0" } }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/kuler": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/kuler/-/kuler-2.0.0.tgz", "integrity": "sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==", "license": "MIT" }, + "node_modules/lan-network": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/lan-network/-/lan-network-0.1.7.tgz", + "integrity": "sha512-mnIlAEMu4OyEvUNdzco9xpuB9YVcPkQec+QsgycBCtPZvEqWPCDPfbAE4OJMdBBWpZWtpCn1xw9jJYlwjWI5zQ==", + "license": "MIT", + "peer": true, + "bin": { + "lan-network": "dist/lan-network-cli.js" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "license": "MPL-2.0", + "peer": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "peer": true, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT", + "peer": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "license": "MIT", + "peer": true + }, "node_modules/lodash.defaults": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", @@ -1344,6 +7188,64 @@ "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", "license": "MIT" }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "license": "MIT", + "peer": true + }, + "node_modules/log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-symbols/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/logform": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/logform/-/logform-2.7.0.tgz", @@ -1367,6 +7269,46 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "license": "ISC", + "peer": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "license": "BSD-3-Clause", + "peer": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/marky": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", + "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/math-intrinsics": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", @@ -1385,6 +7327,13 @@ "node": ">= 0.6" } }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT", + "peer": true + }, "node_modules/memory-pager": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", @@ -1400,6 +7349,13 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "license": "MIT", + "peer": true + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -1409,6 +7365,431 @@ "node": ">= 0.6" } }, + "node_modules/metro": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.83.2.tgz", + "integrity": "sha512-HQgs9H1FyVbRptNSMy/ImchTTE5vS2MSqLoOo7hbDoBq6hPPZokwJvBMwrYSxdjQZmLXz2JFZtdvS+ZfgTc9yw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", + "@babel/types": "^7.25.2", + "accepts": "^1.3.7", + "chalk": "^4.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.32.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.7.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.83.2", + "metro-cache": "0.83.2", + "metro-cache-key": "0.83.2", + "metro-config": "0.83.2", + "metro-core": "0.83.2", + "metro-file-map": "0.83.2", + "metro-resolver": "0.83.2", + "metro-runtime": "0.83.2", + "metro-source-map": "0.83.2", + "metro-symbolicate": "0.83.2", + "metro-transform-plugins": "0.83.2", + "metro-transform-worker": "0.83.2", + "mime-types": "^2.1.27", + "nullthrows": "^1.1.1", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "throat": "^5.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.83.2.tgz", + "integrity": "sha512-rirY1QMFlA1uxH3ZiNauBninwTioOgwChnRdDcbB4tgRZ+bGX9DiXoh9QdpppiaVKXdJsII932OwWXGGV4+Nlw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.32.0", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", + "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "license": "MIT", + "peer": true + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", + "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/metro-cache": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.83.2.tgz", + "integrity": "sha512-Z43IodutUZeIS7OTH+yQFjc59QlFJ6s5OvM8p2AP9alr0+F8UKr8ADzFzoGKoHefZSKGa4bJx7MZJLF6GwPDHQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "https-proxy-agent": "^7.0.5", + "metro-core": "0.83.2" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-cache-key": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.83.2.tgz", + "integrity": "sha512-3EMG/GkGKYoTaf5RqguGLSWRqGTwO7NQ0qXKmNBjr0y6qD9s3VBXYlwB+MszGtmOKsqE9q3FPrE5Nd9Ipv7rZw==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-config": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.83.2.tgz", + "integrity": "sha512-1FjCcdBe3e3D08gSSiU9u3Vtxd7alGH3x/DNFqWDFf5NouX4kLgbVloDDClr1UrLz62c0fHh2Vfr9ecmrOZp+g==", + "license": "MIT", + "peer": true, + "dependencies": { + "connect": "^3.6.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.7.0", + "metro": "0.83.2", + "metro-cache": "0.83.2", + "metro-core": "0.83.2", + "metro-runtime": "0.83.2", + "yaml": "^2.6.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-core": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.83.2.tgz", + "integrity": "sha512-8DRb0O82Br0IW77cNgKMLYWUkx48lWxUkvNUxVISyMkcNwE/9ywf1MYQUE88HaKwSrqne6kFgCSA/UWZoUT0Iw==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.83.2" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-file-map": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.83.2.tgz", + "integrity": "sha512-cMSWnEqZrp/dzZIEd7DEDdk72PXz6w5NOKriJoDN9p1TDQ5nAYrY2lHi8d6mwbcGLoSlWmpPyny9HZYFfPWcGQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.4.0", + "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-file-map/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/metro-file-map/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/metro-minify-terser": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.83.2.tgz", + "integrity": "sha512-zvIxnh7U0JQ7vT4quasKsijId3dOAWgq+ip2jF/8TMrPUqQabGrs04L2dd0haQJ+PA+d4VvK/bPOY8X/vL2PWw==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-resolver": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.83.2.tgz", + "integrity": "sha512-Yf5mjyuiRE/Y+KvqfsZxrbHDA15NZxyfg8pIk0qg47LfAJhpMVEX+36e6ZRBq7KVBqy6VDX5Sq55iHGM4xSm7Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-runtime": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.83.2.tgz", + "integrity": "sha512-nnsPtgRvFbNKwemqs0FuyFDzXLl+ezuFsUXDbX8o0SXOfsOPijqiQrf3kuafO1Zx1aUWf4NOrKJMAQP5EEHg9A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-source-map": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.83.2.tgz", + "integrity": "sha512-5FL/6BSQvshIKjXOennt9upFngq2lFvDakZn5LfauIVq8+L4sxXewIlSTcxAtzbtjAIaXeOSVMtCJ5DdfCt9AA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.25.3", + "@babel/traverse--for-generate-function-map": "npm:@babel/traverse@^7.25.3", + "@babel/types": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-symbolicate": "0.83.2", + "nullthrows": "^1.1.1", + "ob1": "0.83.2", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.83.2.tgz", + "integrity": "sha512-KoU9BLwxxED6n33KYuQQuc5bXkIxF3fSwlc3ouxrrdLWwhu64muYZNQrukkWzhVKRNFIXW7X2iM8JXpi2heIPw==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.83.2", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.83.2.tgz", + "integrity": "sha512-5WlW25WKPkiJk2yA9d8bMuZrgW7vfA4f4MBb9ZeHbTB3eIAoNN8vS8NENgG/X/90vpTB06X66OBvxhT3nHwP6A==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.3", + "flow-enums-runtime": "^0.0.6", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.83.2.tgz", + "integrity": "sha512-G5DsIg+cMZ2KNfrdLnWMvtppb3+Rp1GMyj7Bvd9GgYc/8gRmvq1XVEF9XuO87Shhb03kFhGqMTgZerz3hZ1v4Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/generator": "^7.25.0", + "@babel/parser": "^7.25.3", + "@babel/types": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "metro": "0.83.2", + "metro-babel-transformer": "0.83.2", + "metro-cache": "0.83.2", + "metro-cache-key": "0.83.2", + "metro-minify-terser": "0.83.2", + "metro-source-map": "0.83.2", + "metro-transform-plugins": "0.83.2", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": ">=20.19.4" + } + }, + "node_modules/metro/node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", + "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", + "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/metro/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "license": "MIT", + "peer": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -1442,11 +7823,20 @@ "node": ">= 0.6" } }, + "node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" @@ -1455,6 +7845,52 @@ "node": "*" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.1.0.tgz", + "integrity": "sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==", + "license": "MIT", + "peer": true, + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/mongodb": { "version": "6.16.0", "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.16.0.tgz", @@ -1589,6 +8025,37 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -1598,6 +8065,37 @@ "node": ">= 0.6" } }, + "node_modules/nested-error-stacks": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.0.1.tgz", + "integrity": "sha512-SrQrok4CATudVzBS7coSz26QRSmlK9TzzoFbeKfcPBUFPjcQM9Rqvr/DlJkOrwI/0KcgvMub1n1g5Jt9EgRn4A==", + "license": "MIT", + "peer": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "license": "(BSD-3-Clause OR GPL-2.0)", + "peer": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "license": "MIT", + "peer": true + }, + "node_modules/node-releases": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", + "license": "MIT", + "peer": true + }, "node_modules/nodemon": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", @@ -1656,18 +8154,53 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "node_modules/npm-package-arg": { + "version": "11.0.3", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.3.tgz", + "integrity": "sha512-sHGJy8sOC1YraBywpzQlIKBE4pBbGbiF95U6Auspzyem956E0+FtDtsx1ZxlOJkQCZ1AFXAY/yuvtFYrOxF+Bw==", + "license": "ISC", + "peer": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "proc-log": "^4.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "license": "MIT", + "peer": true + }, "node_modules/oauth": { "version": "0.10.2", "resolved": "https://registry.npmjs.org/oauth/-/oauth-0.10.2.tgz", "integrity": "sha512-JtFnB+8nxDEXgNyniwz573xxbKSOu3R8D40xQKqcjwJ2CDkYqUDI53o6IuzDJBx60Z8VKCm271+t8iFjakrl8Q==", "license": "MIT" }, + "node_modules/ob1": { + "version": "0.83.2", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.83.2.tgz", + "integrity": "sha512-XlK3w4M+dwd1g1gvHzVbxiXEbUllRONEgcF2uEO0zm4nxa0eKlh41c6N65q1xbiDOeKKda1tvNOAD33fNjyvCg==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": ">=20.19.4" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -1710,6 +8243,16 @@ "node": ">= 0.8" } }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "license": "ISC", + "peer": true, + "dependencies": { + "wrappy": "1" + } + }, "node_modules/one-time": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/one-time/-/one-time-1.0.0.tgz", @@ -1719,6 +8262,177 @@ "fn.name": "1.x.x" } }, + "node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "license": "MIT", + "peer": true, + "dependencies": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "license": "MIT", + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ora/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "license": "MIT", + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0", + "peer": true + }, + "node_modules/parse-png": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/parse-png/-/parse-png-2.1.0.tgz", + "integrity": "sha512-Nt/a5SfCLiTnQAjx3fHlqp8hRgTL3z7kTQZzvIMS9uCAepnCyjpdEc6M/sz69WqMBdaDBw9sF1F1UaHROYzGkQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "pngjs": "^3.3.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -1786,6 +8500,67 @@ "node": ">= 0.4.0" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT", + "peer": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "peer": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC", + "peer": true + }, "node_modules/path-to-regexp": { "version": "0.1.12", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", @@ -1797,11 +8572,17 @@ "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", "integrity": "sha512-KG8UEiEVkR3wGEb4m5yZkVCzigAD+cVEJck2CzYZO37ZGJfctvVptVO192MwrtPhzONn6go8ylnOdMhKqi4nfg==" }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC", + "peer": true + }, "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -1810,6 +8591,155 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, + "node_modules/pirates": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/plist": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/plist/-/plist-3.1.0.tgz", + "integrity": "sha512-uysumyrvkUX0rX/dEVqt8gC3sTBzd4zoWfLeS29nb53imdaXVvLINYXTI2GNqzaMuvacNx4uJQ8+b3zXR0pkgQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.5.1", + "xmlbuilder": "^15.1.1" + }, + "engines": { + "node": ">=10.4.0" + } + }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.49", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", + "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/proc-log": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-4.2.0.tgz", + "integrity": "sha512-g8+OnU/L2v+wyiVK+D5fA34J7EH8jZ8DDlvwhRCMxmMj7UCBvxiO1mGeN+36JXIKF4zevU4kRBd8lVgG9vLelA==", + "license": "ISC", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "peer": true, + "dependencies": { + "asap": "~2.0.6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/proxy-addr": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", @@ -1836,7 +8766,27 @@ "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "license": "MIT", "engines": { - "node": ">=6" + "node": ">=6" + } + }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "deprecated": "You or someone you depend on is using Q, the JavaScript Promise library that gave JavaScript developers strong feelings about promises. They can almost certainly migrate to the native JavaScript promise now. Thank you literally everyone for joining me in this bet against the odds. Be excellent to each other.\n\n(For a CapTP with native promises, see @endo/eventual-send and @endo/captp)", + "license": "MIT", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, + "node_modules/qrcode-terminal": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz", + "integrity": "sha512-Uu7ii+FQy4Qf82G4xu7ShHhjhGahEpCWc3x8UavY3CTcWV+ufmmCtwkr7ZKsX42jdL0kr1B5FKUeqJvAn51jzQ==", + "peer": true, + "bin": { + "qrcode-terminal": "bin/qrcode-terminal.js" } }, "node_modules/qs": { @@ -1860,6 +8810,16 @@ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", "license": "MIT" }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/random-bytes": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz", @@ -1893,6 +8853,239 @@ "node": ">= 0.8" } }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "peer": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-devtools-core": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz", + "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==", + "license": "MIT", + "peer": true, + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.82.1.tgz", + "integrity": "sha512-tFAqcU7Z4g49xf/KnyCEzI4nRTu1Opcx05Ov2helr8ZTg1z7AJR/3sr2rZ+AAVlAs2IXk+B0WOxXGmdD3+4czA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jest/create-cache-key-function": "^29.7.0", + "@react-native/assets-registry": "0.82.1", + "@react-native/codegen": "0.82.1", + "@react-native/community-cli-plugin": "0.82.1", + "@react-native/gradle-plugin": "0.82.1", + "@react-native/js-polyfills": "0.82.1", + "@react-native/normalize-colors": "0.82.1", + "@react-native/virtualized-lists": "0.82.1", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "babel-jest": "^29.7.0", + "babel-plugin-syntax-hermes-parser": "0.32.0", + "base64-js": "^1.5.1", + "commander": "^12.0.0", + "flow-enums-runtime": "^0.0.6", + "glob": "^7.1.1", + "hermes-compiler": "0.0.0", + "invariant": "^2.2.4", + "jest-environment-node": "^29.7.0", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.83.1", + "metro-source-map": "^0.83.1", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.5", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.26.0", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "whatwg-fetch": "^3.0.0", + "ws": "^6.2.3", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@types/react": "^19.1.1", + "react": "^19.1.1" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/@react-native/codegen": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.82.1.tgz", + "integrity": "sha512-ezXTN70ygVm9l2m0i+pAlct0RntoV4afftWMGUIeAWLgaca9qItQ54uOt32I/9dBJvzBibT33luIR/pBG0dQvg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.25.3", + "glob": "^7.1.1", + "hermes-parser": "0.32.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "yargs": "^17.6.2" + }, + "engines": { + "node": ">= 20.19.4" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/react-native/node_modules/@react-native/normalize-colors": { + "version": "0.82.1", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.82.1.tgz", + "integrity": "sha512-CCfTR1uX+Z7zJTdt3DNX9LUXr2zWXsNOyLbwupW2wmRzrxlHRYfmLgTABzRL/cKhh0Ubuwn15o72MQChvCRaHw==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.32.0.tgz", + "integrity": "sha512-m5HthL++AbyeEA2FcdwOLfVFvWYECOBObLHNqdR8ceY4TsEdn4LdX2oTvbB2QJSSElE2AWA/b2MXZ/PF/CqLZg==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-parser": "0.32.0" + } + }, + "node_modules/react-native/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/react-native/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/react-native/node_modules/hermes-estree": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.32.0.tgz", + "integrity": "sha512-KWn3BqnlDOl97Xe1Yviur6NbgIZ+IP+UVSpshlZWkq+EtoHg6/cwiDj/osP9PCEgFE15KBm1O55JRwbMEm5ejQ==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/hermes-parser": { + "version": "0.32.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.32.0.tgz", + "integrity": "sha512-g4nBOWFpuiTqjR3LZdRxKUkij9iyveWeuks7INEsMX741f3r9xxrOe8TeQfUxtda0eXmiIFiMQzoeSQEno33Hw==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.32.0" + } + }, + "node_modules/react-native/node_modules/ws": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.3.tgz", + "integrity": "sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==", + "license": "MIT", + "peer": true, + "dependencies": { + "async-limiter": "~1.0.0" + } + }, + "node_modules/react-refresh": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", + "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -1941,6 +9134,115 @@ "node": ">=4" } }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "license": "MIT", + "peer": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "license": "MIT", + "peer": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "peer": true + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "license": "MIT", + "peer": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "license": "MIT", + "peer": true + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requireg": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/requireg/-/requireg-0.2.2.tgz", + "integrity": "sha512-nYzyjnFcPNGR3lx9lwPPPnuQxv6JWEZd2Ci0u9opN7N5zUEPIhY/GbL3vMGOr2UXwEg9WwSyV9X9Y/kLFgPsOg==", + "peer": true, + "dependencies": { + "nested-error-stacks": "~2.0.1", + "rc": "~1.2.7", + "resolve": "~1.7.1" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/requireg/node_modules/resolve": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz", + "integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==", + "license": "MIT", + "peer": true, + "dependencies": { + "path-parse": "^1.0.5" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -1967,6 +9269,127 @@ } } }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "peer": true, + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-workspace-root/-/resolve-workspace-root-2.0.0.tgz", + "integrity": "sha512-IsaBUZETJD5WsI11Wt8PKHwaIe45or6pwNc8yflvLJ4DWtImK9kuLoH5kUva/2Mmx/RdIyr4aONNSa2v9LTJsw==", + "license": "MIT", + "peer": true + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC", + "peer": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -2002,6 +9425,20 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "license": "MIT" }, + "node_modules/sax": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", + "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", + "license": "ISC", + "peer": true + }, + "node_modules/scheduler": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", + "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==", + "license": "MIT", + "peer": true + }, "node_modules/semver": { "version": "7.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", @@ -2053,6 +9490,16 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/serve-static": { "version": "1.16.2", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", @@ -2074,6 +9521,42 @@ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "license": "ISC" }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "license": "MIT", + "peer": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/side-channel": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", @@ -2152,6 +9635,44 @@ "integrity": "sha512-Rtlj66/b0ICeFzYTuNvX/EF1igRbbnGSvEyT79McoZa/DeGhMyC5pWKOEsZKnpkqtSeovd5FL/bjHWC3CIIvCQ==", "license": "MIT" }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-plist": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/simple-plist/-/simple-plist-1.3.1.tgz", + "integrity": "sha512-iMSw5i0XseMnrhtIzRb7XpQEXepa9xhWxGUojHBL43SIpQuDQkh3Wpy67ZbDzZVr6EKxvwVChnVpdl8hEVLDiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "bplist-creator": "0.1.0", + "bplist-parser": "0.3.1", + "plist": "^3.0.5" + } + }, + "node_modules/simple-plist/node_modules/bplist-parser": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.3.1.tgz", + "integrity": "sha512-PyJxiNtA5T2PlLIeBot4lbp7rj4OadzjnMZD/G5zuBNt8ei/yCU7+wW0h2bag9vr8c+/WuRWmSxbqAl9hL1rBA==", + "license": "MIT", + "peer": true, + "dependencies": { + "big-integer": "1.6.x" + }, + "engines": { + "node": ">= 5.10.0" + } + }, "node_modules/simple-swizzle": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", @@ -2174,6 +9695,33 @@ "node": ">=10" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT", + "peer": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slugify": { + "version": "1.6.6", + "resolved": "https://registry.npmjs.org/slugify/-/slugify-1.6.6.tgz", + "integrity": "sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/socket.io": { "version": "4.8.1", "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", @@ -2322,6 +9870,47 @@ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "license": "MIT" }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "license": "MIT", + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/sparse-bitfield": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", @@ -2331,6 +9920,13 @@ "memory-pager": "^1.0.2" } }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/stack-trace": { "version": "0.0.10", "resolved": "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz", @@ -2340,6 +9936,49 @@ "node": "*" } }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "license": "MIT", + "peer": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", + "license": "MIT", + "peer": true, + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/standard-as-callback": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", @@ -2355,6 +9994,16 @@ "node": ">= 0.8" } }, + "node_modules/stream-buffers": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz", + "integrity": "sha512-uyQK/mx5QjHun80FLJTfaWE7JtwfRMKBLkMne6udYOmvH0CawotVa7TfgYHzAnpphn4+TweIx1QKMnRIbipmUg==", + "license": "Unlicense", + "peer": true, + "engines": { + "node": ">= 0.10.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -2364,11 +10013,157 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "peer": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz", + "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/structured-headers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/structured-headers/-/structured-headers-0.4.1.tgz", + "integrity": "sha512-0MP/Cxx5SzeeZ10p/bZI0S6MpgD+yxAhi1BOQ34jgnMXsCq3j1t6tQnZu+KdlL7dvJTLT3g9xN8tl10TqgFMcg==", + "license": "MIT", + "peer": true + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 6" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^3.0.0" @@ -2377,6 +10172,56 @@ "node": ">=4" } }, + "node_modules/supports-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/svix": { "version": "1.76.1", "resolved": "https://registry.npmjs.org/svix/-/svix-1.76.1.tgz", @@ -2406,17 +10251,170 @@ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", "license": "MIT" }, + "node_modules/tar": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.5.1.tgz", + "integrity": "sha512-nlGpxf+hv0v7GkWBK2V9spgactGOp0qvfWRxUMjqHyzrt3SgwE48DIv/FhqPHJYLHpgW1opq3nERbz5Anq7n1g==", + "license": "ISC", + "peer": true, + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.1.0", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "license": "BlueOak-1.0.0", + "peer": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.44.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.0.tgz", + "integrity": "sha512-nIVck8DK+GM/0Frwd+nIhZ84pR/BX7rmXMfYwyg+Sri5oGVE99/E3KvXqpC2xHFxyqXyGHTKBSioxxplrO4I4w==", + "license": "BSD-2-Clause", + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "license": "MIT", + "peer": true + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "license": "ISC", + "peer": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "license": "ISC", + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/text-hex": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/text-hex/-/text-hex-1.0.0.tgz", "integrity": "sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==", "license": "MIT" }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "license": "MIT", + "peer": true, + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "license": "MIT", + "peer": true, + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "license": "MIT", + "peer": true + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "license": "BSD-3-Clause", + "peer": true + }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -2462,7 +10460,34 @@ "integrity": "sha512-aZbgViZrg1QNcG+LULa7nhZpJTZSLm/mXnHXnbAbjmN5aSa0y7V+wvv6+4WaBtpISJzThKy+PIPxc1Nq1EJ9mg==", "license": "MIT", "engines": { - "node": ">= 14.0.0" + "node": ">= 14.0.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "license": "Apache-2.0", + "peer": true + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=8" } }, "node_modules/type-is": { @@ -2503,12 +10528,79 @@ "dev": true, "license": "MIT" }, + "node_modules/undici": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", + "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=18.17" + } + }, "node_modules/undici-types": { "version": "7.8.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", "license": "MIT" }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "license": "MIT", + "peer": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", @@ -2518,6 +10610,37 @@ "node": ">= 0.8" } }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "peer": true, + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, "node_modules/url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -2556,6 +10679,16 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/validate-npm-package-name": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.1.tgz", + "integrity": "sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==", + "license": "ISC", + "peer": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -2565,6 +10698,33 @@ "node": ">= 0.8" } }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "license": "MIT", + "peer": true + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "license": "MIT", + "peer": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", @@ -2574,6 +10734,13 @@ "node": ">=12" } }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT", + "peer": true + }, "node_modules/whatwg-url": { "version": "14.2.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz", @@ -2587,6 +10754,47 @@ "node": ">=18" } }, + "node_modules/whatwg-url-without-unicode": { + "version": "8.0.0-3", + "resolved": "https://registry.npmjs.org/whatwg-url-without-unicode/-/whatwg-url-without-unicode-8.0.0-3.tgz", + "integrity": "sha512-HoKuzZrUlgpz35YO27XgD28uh/WJH4B0+3ttFqRo//lmq+9T/mIOJ6kqmINI9HpUpz1imRC/nR/lxKpJiv0uig==", + "license": "MIT", + "peer": true, + "dependencies": { + "buffer": "^5.4.3", + "punycode": "^2.1.1", + "webidl-conversions": "^5.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/whatwg-url-without-unicode/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", + "license": "BSD-2-Clause", + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "peer": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/winston": { "version": "3.17.0", "resolved": "https://registry.npmjs.org/winston/-/winston-3.17.0.tgz", @@ -2623,6 +10831,148 @@ "node": ">= 12.0.0" } }, + "node_modules/wonka": { + "version": "6.3.5", + "resolved": "https://registry.npmjs.org/wonka/-/wonka-6.3.5.tgz", + "integrity": "sha512-SSil+ecw6B4/Dm7Pf2sAshKQ5hWFvfyGlfPbEd6A14dOH6VDjrmbY86u6nZvy9omGwwIPFR8V41+of1EezgoUw==", + "license": "MIT", + "peer": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "license": "ISC", + "peer": true + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "license": "ISC", + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC", + "peer": true + }, "node_modules/ws": { "version": "8.17.1", "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", @@ -2644,6 +10994,64 @@ } } }, + "node_modules/xcode": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/xcode/-/xcode-3.0.1.tgz", + "integrity": "sha512-kCz5k7J7XbJtjABOvkc5lJmkiDh8VhjVCGNiqdKCscmVpdVUpEAyXv1xmCLkQJ5dsHqx3IPO4XW+NTDhU/fatA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "simple-plist": "^1.1.0", + "uuid": "^7.0.3" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/xcode/node_modules/uuid": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.3.tgz", + "integrity": "sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==", + "license": "MIT", + "peer": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/xml2js": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.0.tgz", + "integrity": "sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==", + "license": "MIT", + "peer": true, + "dependencies": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/xml2js/node_modules/xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/xmlbuilder": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-15.1.1.tgz", + "integrity": "sha512-yMqGBqtXyeN1e3TGYvgNgDVZ3j84W4cwkOXQswghol6APgZWaff9lnbvN7MHYJOiXsvGPXtjTYJEiC9J2wv9Eg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.0" + } + }, "node_modules/xmlhttprequest-ssl": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.1.2.tgz", @@ -2651,6 +11059,133 @@ "engines": { "node": ">=0.4.0" } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "license": "ISC", + "peer": true + }, + "node_modules/yaml": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.1.tgz", + "integrity": "sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==", + "license": "ISC", + "peer": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "license": "MIT", + "peer": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT", + "peer": true + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "peer": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "peer": true, + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "license": "ISC", + "peer": true, + "peerDependencies": { + "zod": "^3.24.1" + } } } } diff --git a/Backend/package.json b/Backend/package.json index e588e7a..6e04f12 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -12,8 +12,10 @@ }, "dependencies": { "body-parser": "^2.2.0", + "cloudinary": "^2.8.0", "cors": "^2.8.5", "dotenv": "^16.3.1", + "expo-image-manipulator": "^14.0.7", "express": "^4.18.2", "express-session": "^1.18.1", "ioredis": "^5.6.1", diff --git a/Backend/src/config/cloudinary.js b/Backend/src/config/cloudinary.js new file mode 100644 index 0000000..a93c426 --- /dev/null +++ b/Backend/src/config/cloudinary.js @@ -0,0 +1,14 @@ +const cloudinary = require('cloudinary').v2; + +// Configure Cloudinary +cloudinary.config({ + cloud_name: process.env.CLOUDINARY_NAME, + api_key: process.env.CLOUDINARY_API_KEY, + api_secret: process.env.CLOUDINARY_API_SECRET, + secure: true +}); + +console.log('Cloudinary configured successfully'); + +module.exports = cloudinary; + diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 2977c44..105cb67 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -3,6 +3,7 @@ const path = require('path'); const fs = require('fs'); const https = require('https'); const http = require('http'); +const { uploadImagesToCloudinary } = require('../utils/cloudinaryUploader'); // Create a new post exports.createPost = async (req, res) => { @@ -14,7 +15,15 @@ exports.createPost = async (req, res) => { } console.log(`HTTP ${req.method} ${req.url} - Create Post`, logBody); try { - const post = new Post(req.body); + // Upload images to Cloudinary and replace base64 with URLs + let body = { ...req.body }; + if (body.images && Array.isArray(body.images) && body.images.length > 0) { + console.log('Uploading images to Cloudinary...'); + body.images = await uploadImagesToCloudinary(body.images); + console.log('Images uploaded successfully'); + } + + const post = new Post(body); await post.save(); res.status(201).json(post); } catch (error) { diff --git a/Backend/src/index.js b/Backend/src/index.js index 495621d..d90902e 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -5,6 +5,9 @@ const { initializeProducer, initializeConsumer } = require("./config/kafka"); const kafkaConsumerService = require("./services/kafkaConsumer"); require("dotenv").config() +// Initialize Cloudinary +require("./config/cloudinary"); + const PORT = process.env.PORT || 8000; const server = http.createServer(app); diff --git a/Backend/src/utils/cloudinaryUploader.js b/Backend/src/utils/cloudinaryUploader.js new file mode 100644 index 0000000..b43a26b --- /dev/null +++ b/Backend/src/utils/cloudinaryUploader.js @@ -0,0 +1,56 @@ +const cloudinary = require('../config/cloudinary'); + +/** + * Upload base64 image to Cloudinary as-is + * @param {string} base64Image - Base64 encoded image with data URI prefix + * @returns {Promise} - Cloudinary image URL + */ +async function uploadImageToCloudinary(base64Image) { + try { + console.log('Uploading image to Cloudinary...'); + + // Upload directly to Cloudinary + const result = await cloudinary.uploader.upload(base64Image, { + resource_type: 'image', + folder: 'mayacode-posts', + }); + + console.log('Image uploaded to Cloudinary:', result.secure_url); + return result.secure_url; + } catch (error) { + console.error('Error uploading image to Cloudinary:', error); + throw error; + } +} + +/** + * Upload multiple images to Cloudinary + * @param {Array} images - Array of base64 encoded images + * @returns {Promise>} - Array of Cloudinary image URLs + */ +async function uploadImagesToCloudinary(images) { + if (!images || images.length === 0) { + return images; + } + + const uploadedUrls = []; + + for (let i = 0; i < images.length; i++) { + console.log(`Uploading image ${i + 1}/${images.length} to Cloudinary...`); + try { + const url = await uploadImageToCloudinary(images[i]); + uploadedUrls.push(url); + } catch (error) { + console.error(`Error uploading image ${i + 1}:`, error); + // Skip the image if upload fails + } + } + + return uploadedUrls; +} + +module.exports = { + uploadImageToCloudinary, + uploadImagesToCloudinary +}; + From faadecb94afca1cf3d217174af29365f5dd3fe0e Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 17:31:50 +0530 Subject: [PATCH 29/91] added the cloudinary image upload --- Backend/src/config/cloudinary.js | 21 +++++++++------- Backend/src/controllers/postController.js | 29 +++++++++++++++++++---- Backend/src/utils/cloudinaryUploader.js | 21 +++++++++------- 3 files changed, 50 insertions(+), 21 deletions(-) diff --git a/Backend/src/config/cloudinary.js b/Backend/src/config/cloudinary.js index a93c426..d610f4f 100644 --- a/Backend/src/config/cloudinary.js +++ b/Backend/src/config/cloudinary.js @@ -1,14 +1,17 @@ const cloudinary = require('cloudinary').v2; -// Configure Cloudinary -cloudinary.config({ - cloud_name: process.env.CLOUDINARY_NAME, - api_key: process.env.CLOUDINARY_API_KEY, - api_secret: process.env.CLOUDINARY_API_SECRET, - secure: true -}); - -console.log('Cloudinary configured successfully'); +// Configure Cloudinary only if credentials are available +if (process.env.CLOUDINARY_NAME && process.env.CLOUDINARY_API_KEY && process.env.CLOUDINARY_API_SECRET) { + cloudinary.config({ + cloud_name: process.env.CLOUDINARY_NAME, + api_key: process.env.CLOUDINARY_API_KEY, + api_secret: process.env.CLOUDINARY_API_SECRET, + secure: true + }); + console.log('Cloudinary configured successfully'); +} else { + console.warn('āš ļø Cloudinary credentials not found. Images will be stored as base64.'); +} module.exports = cloudinary; diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index 105cb67..b843f5c 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -17,17 +17,38 @@ exports.createPost = async (req, res) => { try { // Upload images to Cloudinary and replace base64 with URLs let body = { ...req.body }; + console.log('Post body before processing:', JSON.stringify({ + ...body, + images: body.images ? `[${body.images.length} image(s)]` : 'none' + })); + if (body.images && Array.isArray(body.images) && body.images.length > 0) { - console.log('Uploading images to Cloudinary...'); - body.images = await uploadImagesToCloudinary(body.images); - console.log('Images uploaded successfully'); + console.log('šŸ–¼ļø Starting image upload to Cloudinary...'); + console.log('Number of images:', body.images.length); + + try { + body.images = await uploadImagesToCloudinary(body.images); + console.log('āœ… Images uploaded successfully to Cloudinary'); + console.log('Cloudinary URLs:', body.images); + } catch (uploadError) { + console.error('āŒ Error uploading to Cloudinary:', uploadError); + console.error('Upload error details:', { + message: uploadError.message, + stack: uploadError.stack + }); + throw uploadError; + } + } else { + console.log('ā„¹ļø No images to upload'); } + console.log('šŸ“ Creating post in MongoDB...'); const post = new Post(body); await post.save(); + console.log('āœ… Post created successfully in MongoDB'); res.status(201).json(post); } catch (error) { - console.error('Error creating post:', error); + console.error('āŒ Error creating post:', error); console.error('Error details:', { name: error.name, message: error.message, diff --git a/Backend/src/utils/cloudinaryUploader.js b/Backend/src/utils/cloudinaryUploader.js index b43a26b..42f3392 100644 --- a/Backend/src/utils/cloudinaryUploader.js +++ b/Backend/src/utils/cloudinaryUploader.js @@ -1,5 +1,3 @@ -const cloudinary = require('../config/cloudinary'); - /** * Upload base64 image to Cloudinary as-is * @param {string} base64Image - Base64 encoded image with data URI prefix @@ -7,7 +5,9 @@ const cloudinary = require('../config/cloudinary'); */ async function uploadImageToCloudinary(base64Image) { try { - console.log('Uploading image to Cloudinary...'); + const cloudinary = require('../config/cloudinary'); + console.log('šŸ“¤ Uploading single image to Cloudinary...'); + console.log('Base64 length:', base64Image.length); // Upload directly to Cloudinary const result = await cloudinary.uploader.upload(base64Image, { @@ -15,10 +15,14 @@ async function uploadImageToCloudinary(base64Image) { folder: 'mayacode-posts', }); - console.log('Image uploaded to Cloudinary:', result.secure_url); + console.log('āœ… Image uploaded to Cloudinary:', result.secure_url); + console.log('Image public_id:', result.public_id); + console.log('Image bytes:', result.bytes); return result.secure_url; } catch (error) { - console.error('Error uploading image to Cloudinary:', error); + console.error('āŒ Error uploading image to Cloudinary:', error); + console.error('Error message:', error.message); + console.error('Error stack:', error.stack); throw error; } } @@ -36,13 +40,14 @@ async function uploadImagesToCloudinary(images) { const uploadedUrls = []; for (let i = 0; i < images.length; i++) { - console.log(`Uploading image ${i + 1}/${images.length} to Cloudinary...`); + console.log(`šŸ“¤ Uploading image ${i + 1}/${images.length} to Cloudinary...`); try { const url = await uploadImageToCloudinary(images[i]); uploadedUrls.push(url); + console.log(`āœ… Image ${i + 1} uploaded successfully`); } catch (error) { - console.error(`Error uploading image ${i + 1}:`, error); - // Skip the image if upload fails + console.error(`āŒ Error uploading image ${i + 1}:`, error); + throw error; // Don't skip - throw to caller } } From afd4e39673382e782db448f0f3a58a85b15b8bed Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 17:37:45 +0530 Subject: [PATCH 30/91] added the cloudinary image upload --- Backend/src/app.js | 7 +++++++ Backend/src/routes/postRoutes.js | 2 ++ 2 files changed, 9 insertions(+) diff --git a/Backend/src/app.js b/Backend/src/app.js index 4d9df69..0c495f1 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -76,6 +76,13 @@ app.get("/", (req, res) => { }); }); +// Test endpoint to verify backend is receiving requests +app.post("/api/test", (req, res) => { + console.log("🧪 TEST ENDPOINT HIT!"); + console.log("Request body:", req.body); + res.json({ message: "Test endpoint working!", received: req.body }); +}); + // API routes app.use("/api/posts", postRoutes); app.use("/api/users", userRoutes); diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index bb4d36c..2676828 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -4,6 +4,8 @@ const postController = require('../controllers/postController'); // Add detailed logging middleware router.use((req, res, next) => { + console.log(`šŸ“Ø POST ROUTE: ${req.method} ${req.url}`); + console.log('Request headers:', req.headers); next(); }); From 02b84cc111d02788a9e6be8efaaef64f0cf0e969 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Mon, 27 Oct 2025 17:44:50 +0530 Subject: [PATCH 31/91] Add image compression and Cloudinary integration - frontend changes --- Frontend/app/(tabs)/helpAndAsk.tsx | 8 ++++---- Frontend/services/imageService.ts | 10 ++++++++-- Frontend/services/postService.ts | 20 ++++++++++++++++++-- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/Frontend/app/(tabs)/helpAndAsk.tsx b/Frontend/app/(tabs)/helpAndAsk.tsx index 8db2e71..699142c 100644 --- a/Frontend/app/(tabs)/helpAndAsk.tsx +++ b/Frontend/app/(tabs)/helpAndAsk.tsx @@ -91,7 +91,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro const base64Image = await convertImageToBase64(imageUri); if (base64Image) { images = [base64Image]; - console.log('Converted image to base64 successfully'); + console.log('Converted image to base64 successfully - backend will compress'); } else { console.error('Failed to convert image to base64'); Alert.alert('Error', 'Failed to process image. Please try again.'); @@ -361,7 +361,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro style={[styles.postDetailImage, (!imageLoaded || imageError) && { opacity: 0 }]} resizeMode="cover" onLoadStart={() => { - console.log('Starting to load image:', selectedPost?.images?.[0]); + console.log('Starting to load image:', selectedPost?.images?.[0] ? 'Image exists' : 'No image'); setImageLoaded(false); setImageError(false); }} @@ -433,7 +433,7 @@ export default function HelpAndAsk() { // Function to handle marker press const handleMarkerPress = (post: Post) => { console.log('Marker pressed for post:', post.title); // Debug log - console.log('Post images:', post.images); // Debug log + console.log('Post images:', post.images?.length || 0, 'image(s)'); // Debug log setSelectedPost(post); setIsPostDetailVisible(true); setImageLoaded(false); @@ -568,7 +568,7 @@ export default function HelpAndAsk() { style={[styles.postDetailImage, (!imageLoaded || imageError) && { opacity: 0 }]} resizeMode="cover" onLoadStart={() => { - console.log('Starting to load image:', selectedPost?.images?.[0]); + console.log('Starting to load image:', selectedPost?.images?.[0] ? 'Image exists' : 'No image'); setImageLoaded(false); setImageError(false); }} diff --git a/Frontend/services/imageService.ts b/Frontend/services/imageService.ts index 6543ff3..6bdb182 100644 --- a/Frontend/services/imageService.ts +++ b/Frontend/services/imageService.ts @@ -40,17 +40,23 @@ export const getImageSourceWithFallback = (category: string, number: number) => /** * Convert local image file URI to base64 + * Backend will handle compression * @param uri - Local file URI * @returns Base64 encoded string */ export const convertImageToBase64 = async (uri: string): Promise => { try { - console.log('Converting image to base64:', uri); + console.log('Converting image to base64:', uri ? 'Image URI exists' : 'No URI'); const base64 = await FileSystem.readAsStringAsync(uri, { encoding: FileSystem.EncodingType.Base64, }); + // Add data URI prefix for React Native Image component - return `data:image/jpeg;base64,${base64}`; + const result = `data:image/jpeg;base64,${base64}`; + const sizeInMB = (result.length * 3 / 4) / (1024 * 1024); + console.log('Original image size:', sizeInMB.toFixed(2), 'MB'); + + return result; } catch (error) { console.error('Error converting image to base64:', error); return null; diff --git a/Frontend/services/postService.ts b/Frontend/services/postService.ts index 37a38d0..d7506b0 100644 --- a/Frontend/services/postService.ts +++ b/Frontend/services/postService.ts @@ -12,19 +12,35 @@ export const postService = { content: string, data: Partial = {} ): Promise { + // Sanitize data for logging (truncate long base64 strings) + const logData = { ...data }; + if (logData.images && Array.isArray(logData.images)) { + logData.images = logData.images.map((img: string) => + img ? (img.substring(0, 50) + '... (base64 image data)') : 'null' + ); + } + console.log('Starting createPost with:', { phone, type, title, content, - data, + data: logData, apiUrl: API_URL }); try { console.log('Creating post object...'); const post = createPost(phone, type, title, content, data); - console.log('Created post object:', post); + + // Sanitize post for logging + const logPost = { ...post }; + if (logPost.images && Array.isArray(logPost.images)) { + logPost.images = logPost.images.map((img: string) => + img ? (img.substring(0, 50) + '... (base64 image data)') : 'null' + ); + } + console.log('Created post object:', logPost); console.log('Making API request to:', `${API_URL}/posts`); const response = await fetch(`${API_URL}/posts`, { From cdc64ccfc6fca212efee4b5ac974f35086486ffc Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 12:59:31 +0530 Subject: [PATCH 32/91] update --- Backend/package-lock.json | 90 ++++++++++++++++++++++- Backend/package.json | 1 + Backend/src/controllers/postController.js | 39 ++++++---- Backend/src/routes/postRoutes.js | 19 ++++- 4 files changed, 131 insertions(+), 18 deletions(-) diff --git a/Backend/package-lock.json b/Backend/package-lock.json index b6c9d6d..57fa639 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -20,6 +20,7 @@ "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", + "multer": "^2.0.2", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", @@ -3697,6 +3698,12 @@ "node": ">= 8" } }, + "node_modules/append-field": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", + "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==", + "license": "MIT" + }, "node_modules/arg": { "version": "5.0.2", "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", @@ -4338,8 +4345,18 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT", - "peer": true + "license": "MIT" + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } }, "node_modules/bytes": { "version": "3.1.2", @@ -4759,6 +4776,21 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "license": "MIT" }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", @@ -7850,7 +7882,6 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "license": "MIT", - "peer": true, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -8025,6 +8056,36 @@ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "license": "MIT" }, + "node_modules/multer": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/multer/-/multer-2.0.2.tgz", + "integrity": "sha512-u7f2xaZ/UG8oLXHvtF/oWTRvT44p9ecwBBqTwgJVq0+4BW1g8OW01TyMEGWBHbyMOYVHXslaut7qEQ1meATXgw==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.6.0", + "concat-stream": "^2.0.0", + "mkdirp": "^0.5.6", + "object-assign": "^4.1.1", + "type-is": "^1.6.18", + "xtend": "^4.0.2" + }, + "engines": { + "node": ">= 10.16.0" + } + }, + "node_modules/multer/node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", @@ -10004,6 +10065,14 @@ "node": ">= 0.10.0" } }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -10503,6 +10572,12 @@ "node": ">= 0.6" } }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "license": "MIT" + }, "node_modules/uid-safe": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.5.tgz", @@ -11060,6 +11135,15 @@ "node": ">=0.4.0" } }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", diff --git a/Backend/package.json b/Backend/package.json index 6e04f12..335acd9 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -22,6 +22,7 @@ "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", + "multer": "^2.0.2", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index b843f5c..a8474de 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -7,23 +7,38 @@ const { uploadImagesToCloudinary } = require('../utils/cloudinaryUploader'); // Create a new post exports.createPost = async (req, res) => { - const logBody = { ...req.body }; - if (logBody.images) { - logBody.images = logBody.images.map((img) => - img ? (img.substring(0, 50) + '... (base64 image data)') : 'null' - ); - } - console.log(`HTTP ${req.method} ${req.url} - Create Post`, logBody); + console.log(`HTTP ${req.method} ${req.url} - Create Post`); + console.log('Request body:', req.body); + console.log('Uploaded files:', req.files ? req.files.length : 'none'); + try { - // Upload images to Cloudinary and replace base64 with URLs let body = { ...req.body }; console.log('Post body before processing:', JSON.stringify({ ...body, images: body.images ? `[${body.images.length} image(s)]` : 'none' })); - if (body.images && Array.isArray(body.images) && body.images.length > 0) { - console.log('šŸ–¼ļø Starting image upload to Cloudinary...'); + // Handle images - either from base64 (current frontend) or file uploads (multer) + if (req.files && req.files.length > 0) { + console.log('šŸ–¼ļø Processing uploaded files...'); + console.log('Number of files:', req.files.length); + + // Convert uploaded files to base64 for Cloudinary + const base64Images = req.files.map(file => { + const base64 = file.buffer.toString('base64'); + return `data:${file.mimetype};base64,${base64}`; + }); + + try { + body.images = await uploadImagesToCloudinary(base64Images); + console.log('āœ… Images uploaded successfully to Cloudinary'); + console.log('Cloudinary URLs:', body.images); + } catch (uploadError) { + console.error('āŒ Error uploading to Cloudinary:', uploadError); + throw uploadError; + } + } else if (body.images && Array.isArray(body.images) && body.images.length > 0) { + console.log('šŸ–¼ļø Processing base64 images...'); console.log('Number of images:', body.images.length); try { @@ -32,10 +47,6 @@ exports.createPost = async (req, res) => { console.log('Cloudinary URLs:', body.images); } catch (uploadError) { console.error('āŒ Error uploading to Cloudinary:', uploadError); - console.error('Upload error details:', { - message: uploadError.message, - stack: uploadError.stack - }); throw uploadError; } } else { diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index 2676828..52354f5 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -1,7 +1,24 @@ const express = require('express'); +const multer = require('multer'); const router = express.Router(); const postController = require('../controllers/postController'); +// Configure multer for handling file uploads +const upload = multer({ + storage: multer.memoryStorage(), // Store files in memory for Cloudinary upload + limits: { + fileSize: 10 * 1024 * 1024, // 10MB limit + }, + fileFilter: (req, file, cb) => { + // Accept only image files + if (file.mimetype.startsWith('image/')) { + cb(null, true); + } else { + cb(new Error('Only image files are allowed'), false); + } + } +}); + // Add detailed logging middleware router.use((req, res, next) => { console.log(`šŸ“Ø POST ROUTE: ${req.method} ${req.url}`); @@ -18,7 +35,7 @@ router.use((err, req, res, next) => { }); // Post routes -router.post('/', postController.createPost); +router.post('/', upload.array('images', 5), postController.createPost); // Allow up to 5 images router.get('/', postController.getPosts); router.get('/:id/images', postController.getPostImages); // Lazy load images endpoint (must be before /:id) router.get('/:id', postController.getPost); From db9f3beb3cf240e2928045fa3c6a69f5d9388358 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:09:33 +0530 Subject: [PATCH 33/91] update --- Backend/src/app.js | 17 +++++++++++++++-- Backend/src/controllers/postController.js | 15 +++++++++++++++ Backend/src/routes/postRoutes.js | 13 ++++++++++--- 3 files changed, 40 insertions(+), 5 deletions(-) diff --git a/Backend/src/app.js b/Backend/src/app.js index 0c495f1..dea4895 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -30,8 +30,8 @@ const app = express(); const path = require('path'); app.use(cors()); -app.use(express.json()); -app.use(express.urlencoded({ extended: false })); +app.use(express.json({ limit: '50mb' })); // Increase JSON body limit for base64 images +app.use(express.urlencoded({ limit: '50mb', extended: false })); // Increase URL encoded limit // Serve static files from public directory with optimized headers app.use('/public', express.static(path.join(__dirname, '..', 'public'), { @@ -90,6 +90,19 @@ app.use("/auth", authRoutes); app.use("/api/messages", messageRoutes); app.use("/api/images", imageRoutes); +// Global error handler for unhandled exceptions +app.use((err, req, res, next) => { + console.error('🚨 GLOBAL ERROR HANDLER:', err); + console.error('Error stack:', err.stack); + console.error('Request URL:', req.url); + console.error('Request method:', req.method); + console.error('Request body size:', req.body ? JSON.stringify(req.body).length : 'no body'); + res.status(500).json({ + message: 'Internal server error', + error: process.env.NODE_ENV === 'development' ? err.message : 'Something went wrong!' + }); +}); + // Error middleware app.use(errorHandler); diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index a8474de..ac45322 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -7,6 +7,21 @@ const { uploadImagesToCloudinary } = require('../utils/cloudinaryUploader'); // Create a new post exports.createPost = async (req, res) => { + // IMMEDIATE LOGGING - This should always appear if request reaches controller + console.log('šŸš€ CREATE POST CONTROLLER CALLED'); + console.log('Request method:', req.method); + console.log('Request URL:', req.url); + console.log('Request headers content-type:', req.headers['content-type']); + console.log('Request body keys:', Object.keys(req.body || {})); + console.log('Request body size:', req.body ? JSON.stringify(req.body).length : 'no body'); + + if (req.body.images) { + console.log('Images field exists, count:', Array.isArray(req.body.images) ? req.body.images.length : 'not array'); + if (Array.isArray(req.body.images) && req.body.images.length > 0) { + console.log('First image preview:', req.body.images[0] ? req.body.images[0].substring(0, 100) + '...' : 'empty'); + } + } + console.log(`HTTP ${req.method} ${req.url} - Create Post`); console.log('Request body:', req.body); console.log('Uploaded files:', req.files ? req.files.length : 'none'); diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index 52354f5..c07125e 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -19,10 +19,17 @@ const upload = multer({ } }); -// Add detailed logging middleware +// Add detailed logging middleware - THIS RUNS FIRST router.use((req, res, next) => { - console.log(`šŸ“Ø POST ROUTE: ${req.method} ${req.url}`); + console.log(`šŸ“Ø POST ROUTE MIDDLEWARE: ${req.method} ${req.url}`); console.log('Request headers:', req.headers); + console.log('Content-Type:', req.headers['content-type']); + console.log('Content-Length:', req.headers['content-length']); + console.log('Request body exists:', !!req.body); + if (req.body) { + console.log('Request body keys:', Object.keys(req.body)); + console.log('Request body size:', JSON.stringify(req.body).length, 'characters'); + } next(); }); @@ -35,7 +42,7 @@ router.use((err, req, res, next) => { }); // Post routes -router.post('/', upload.array('images', 5), postController.createPost); // Allow up to 5 images +router.post('/', postController.createPost); // Remove multer middleware for base64 JSON requests router.get('/', postController.getPosts); router.get('/:id/images', postController.getPostImages); // Lazy load images endpoint (must be before /:id) router.get('/:id', postController.getPost); From 2e001beb10337c1734623caf6a2b11472bd59920 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:16:02 +0530 Subject: [PATCH 34/91] Clean up verbose logging for production performance --- Backend/src/controllers/postController.js | 52 ++++------------------- Backend/src/routes/postRoutes.js | 12 +----- Backend/src/utils/cloudinaryUploader.js | 13 +----- 3 files changed, 13 insertions(+), 64 deletions(-) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index ac45322..fba01f6 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -7,36 +7,14 @@ const { uploadImagesToCloudinary } = require('../utils/cloudinaryUploader'); // Create a new post exports.createPost = async (req, res) => { - // IMMEDIATE LOGGING - This should always appear if request reaches controller - console.log('šŸš€ CREATE POST CONTROLLER CALLED'); - console.log('Request method:', req.method); - console.log('Request URL:', req.url); - console.log('Request headers content-type:', req.headers['content-type']); - console.log('Request body keys:', Object.keys(req.body || {})); - console.log('Request body size:', req.body ? JSON.stringify(req.body).length : 'no body'); - - if (req.body.images) { - console.log('Images field exists, count:', Array.isArray(req.body.images) ? req.body.images.length : 'not array'); - if (Array.isArray(req.body.images) && req.body.images.length > 0) { - console.log('First image preview:', req.body.images[0] ? req.body.images[0].substring(0, 100) + '...' : 'empty'); - } - } - - console.log(`HTTP ${req.method} ${req.url} - Create Post`); - console.log('Request body:', req.body); - console.log('Uploaded files:', req.files ? req.files.length : 'none'); + console.log(`šŸ“ Creating post: ${req.body.title || 'Untitled'}`); try { let body = { ...req.body }; - console.log('Post body before processing:', JSON.stringify({ - ...body, - images: body.images ? `[${body.images.length} image(s)]` : 'none' - })); // Handle images - either from base64 (current frontend) or file uploads (multer) if (req.files && req.files.length > 0) { - console.log('šŸ–¼ļø Processing uploaded files...'); - console.log('Number of files:', req.files.length); + console.log(`šŸ–¼ļø Processing ${req.files.length} uploaded files...`); // Convert uploaded files to base64 for Cloudinary const base64Images = req.files.map(file => { @@ -46,41 +24,29 @@ exports.createPost = async (req, res) => { try { body.images = await uploadImagesToCloudinary(base64Images); - console.log('āœ… Images uploaded successfully to Cloudinary'); - console.log('Cloudinary URLs:', body.images); + console.log('āœ… Images uploaded to Cloudinary'); } catch (uploadError) { - console.error('āŒ Error uploading to Cloudinary:', uploadError); + console.error('āŒ Error uploading to Cloudinary:', uploadError.message); throw uploadError; } } else if (body.images && Array.isArray(body.images) && body.images.length > 0) { - console.log('šŸ–¼ļø Processing base64 images...'); - console.log('Number of images:', body.images.length); + console.log(`šŸ–¼ļø Processing ${body.images.length} base64 images...`); try { body.images = await uploadImagesToCloudinary(body.images); - console.log('āœ… Images uploaded successfully to Cloudinary'); - console.log('Cloudinary URLs:', body.images); + console.log('āœ… Images uploaded to Cloudinary'); } catch (uploadError) { - console.error('āŒ Error uploading to Cloudinary:', uploadError); + console.error('āŒ Error uploading to Cloudinary:', uploadError.message); throw uploadError; } - } else { - console.log('ā„¹ļø No images to upload'); } - console.log('šŸ“ Creating post in MongoDB...'); const post = new Post(body); await post.save(); - console.log('āœ… Post created successfully in MongoDB'); + console.log('āœ… Post created successfully'); res.status(201).json(post); } catch (error) { - console.error('āŒ Error creating post:', error); - console.error('Error details:', { - name: error.name, - message: error.message, - stack: error.stack, - errors: error.errors - }); + console.error('āŒ Error creating post:', error.message); if (error.name === 'ValidationError') { res.status(400).json({ message: error.message }); } else { diff --git a/Backend/src/routes/postRoutes.js b/Backend/src/routes/postRoutes.js index c07125e..9085008 100644 --- a/Backend/src/routes/postRoutes.js +++ b/Backend/src/routes/postRoutes.js @@ -19,17 +19,9 @@ const upload = multer({ } }); -// Add detailed logging middleware - THIS RUNS FIRST +// Add basic logging middleware router.use((req, res, next) => { - console.log(`šŸ“Ø POST ROUTE MIDDLEWARE: ${req.method} ${req.url}`); - console.log('Request headers:', req.headers); - console.log('Content-Type:', req.headers['content-type']); - console.log('Content-Length:', req.headers['content-length']); - console.log('Request body exists:', !!req.body); - if (req.body) { - console.log('Request body keys:', Object.keys(req.body)); - console.log('Request body size:', JSON.stringify(req.body).length, 'characters'); - } + console.log(`šŸ“Ø ${req.method} ${req.url}`); next(); }); diff --git a/Backend/src/utils/cloudinaryUploader.js b/Backend/src/utils/cloudinaryUploader.js index 42f3392..928a5ad 100644 --- a/Backend/src/utils/cloudinaryUploader.js +++ b/Backend/src/utils/cloudinaryUploader.js @@ -6,8 +6,6 @@ async function uploadImageToCloudinary(base64Image) { try { const cloudinary = require('../config/cloudinary'); - console.log('šŸ“¤ Uploading single image to Cloudinary...'); - console.log('Base64 length:', base64Image.length); // Upload directly to Cloudinary const result = await cloudinary.uploader.upload(base64Image, { @@ -15,14 +13,9 @@ async function uploadImageToCloudinary(base64Image) { folder: 'mayacode-posts', }); - console.log('āœ… Image uploaded to Cloudinary:', result.secure_url); - console.log('Image public_id:', result.public_id); - console.log('Image bytes:', result.bytes); return result.secure_url; } catch (error) { - console.error('āŒ Error uploading image to Cloudinary:', error); - console.error('Error message:', error.message); - console.error('Error stack:', error.stack); + console.error('āŒ Error uploading image to Cloudinary:', error.message); throw error; } } @@ -40,13 +33,11 @@ async function uploadImagesToCloudinary(images) { const uploadedUrls = []; for (let i = 0; i < images.length; i++) { - console.log(`šŸ“¤ Uploading image ${i + 1}/${images.length} to Cloudinary...`); try { const url = await uploadImageToCloudinary(images[i]); uploadedUrls.push(url); - console.log(`āœ… Image ${i + 1} uploaded successfully`); } catch (error) { - console.error(`āŒ Error uploading image ${i + 1}:`, error); + console.error(`āŒ Error uploading image ${i + 1}:`, error.message); throw error; // Don't skip - throw to caller } } From 2a4984ae3c37439b81dea2211012b935f88cb3f4 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:19:44 +0530 Subject: [PATCH 35/91] Add missing /api/users/profile endpoints for JWT-based profile management --- Backend/src/controllers/userController.js | 123 ++++++++++++++++++++++ Backend/src/routes/userRoutes.js | 4 + 2 files changed, 127 insertions(+) diff --git a/Backend/src/controllers/userController.js b/Backend/src/controllers/userController.js index ef11b49..282eb7f 100644 --- a/Backend/src/controllers/userController.js +++ b/Backend/src/controllers/userController.js @@ -1,4 +1,17 @@ const UserProfile = require('../models/User'); +const jwt = require('jsonwebtoken'); + +// Helper function to extract user info from JWT token +const getUserFromToken = (req) => { + const authHeader = req.headers.authorization; + if (!authHeader || !authHeader.startsWith('Bearer ')) { + throw new Error('No authorization token provided'); + } + + const token = authHeader.substring(7); // Remove 'Bearer ' prefix + const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); + return decoded; +}; // Get user profile by phone exports.getUserByPhone = async (req, res) => { @@ -269,4 +282,114 @@ exports.getAllUsers = async (req, res) => { console.error('āŒ Get All Users - Error:', error); res.status(500).json({ message: error.message }); } +}; + +// Get user profile using JWT token +exports.getProfile = async (req, res) => { + try { + console.log('Get Profile - Request received'); + + const userInfo = getUserFromToken(req); + console.log('Get Profile - User info from token:', userInfo); + + const user = await UserProfile.findOne({ email: userInfo.email }); + if (!user) { + console.log('Get Profile - User not found:', userInfo.email); + return res.status(404).json({ message: 'User profile not found' }); + } + + console.log('Get Profile - Success:', user); + res.json(user); + } catch (error) { + console.error('āŒ Get Profile - Error:', error); + if (error.message === 'No authorization token provided') { + return res.status(401).json({ message: 'Authorization token required' }); + } + res.status(500).json({ message: error.message }); + } +}; + +// Update user profile using JWT token +exports.updateProfile = async (req, res) => { + try { + console.log('Update Profile - Request received'); + console.log('Update Profile - Request body:', req.body); + + const userInfo = getUserFromToken(req); + console.log('Update Profile - User info from token:', userInfo); + + // Get values from request body + const updates = { + name: req.body.name, + userType: req.body.userType, + age: req.body.age, + languages: req.body.languages || [], + profileImage: req.body.profileImage, + location: req.body.location, + lastActive: new Date() + }; + + console.log('Update Profile - Updates:', updates); + + // Validate required fields + if (!updates.name || !updates.userType) { + console.log('Update Profile - Missing required fields:', { + hasName: !!updates.name, + hasUserType: !!updates.userType, + body: req.body + }); + return res.status(400).json({ + message: 'Missing required fields', + required: ['name', 'userType'] + }); + } + + // Clean up updates + const cleanedUpdates = { + email: userInfo.email, // Add email to the updates + name: updates.name, + age: updates.age, + userType: updates.userType, + languages: updates.languages, + profileImage: updates.profileImage, + location: updates.location, + lastActive: new Date() + }; + + // Remove undefined values + Object.keys(cleanedUpdates).forEach(key => + cleanedUpdates[key] === undefined && delete cleanedUpdates[key] + ); + console.log('Update Profile - Final updates:', cleanedUpdates); + + console.log('Update Profile - Attempting database operation'); + const user = await UserProfile.findOneAndUpdate( + { email: userInfo.email }, + { $set: cleanedUpdates }, + { + new: true, + upsert: true, + runValidators: true, + setDefaultsOnInsert: true + } + ); + + console.log('Update Profile - Success:', user); + res.json(user); + } catch (error) { + console.error('āŒ Update Profile - Error:', { + message: error.message, + stack: error.stack, + name: error.name + }); + + if (error.message === 'No authorization token provided') { + return res.status(401).json({ message: 'Authorization token required' }); + } + + res.status(500).json({ + message: 'Error updating user profile', + error: error.message + }); + } }; \ No newline at end of file diff --git a/Backend/src/routes/userRoutes.js b/Backend/src/routes/userRoutes.js index 07a1d2f..7eb82a5 100644 --- a/Backend/src/routes/userRoutes.js +++ b/Backend/src/routes/userRoutes.js @@ -30,6 +30,10 @@ router.get('/phone/:phone', userController.getUserByPhone); router.put('/phone/:phone', userController.createOrUpdateUser); router.delete('/phone/:phone', userController.deleteUser); +// Profile routes (using JWT token) +router.get('/profile', userController.getProfile); +router.put('/profile', userController.updateProfile); + // User stats routes router.put('/phone/:phone/stats', userController.updateUserStats); From d5dd912a54902bf47d1d5d793b10eda1e120ff74 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:24:28 +0530 Subject: [PATCH 36/91] Update user routes from phone to email-based authentication --- Backend/src/controllers/userController.js | 66 ++++++++++++----------- Backend/src/routes/userRoutes.js | 14 ++--- Frontend/README.md | 14 ++--- 3 files changed, 49 insertions(+), 45 deletions(-) diff --git a/Backend/src/controllers/userController.js b/Backend/src/controllers/userController.js index 282eb7f..d3090c8 100644 --- a/Backend/src/controllers/userController.js +++ b/Backend/src/controllers/userController.js @@ -13,16 +13,16 @@ const getUserFromToken = (req) => { return decoded; }; -// Get user profile by phone -exports.getUserByPhone = async (req, res) => { - console.log(`HTTP ${req.method} ${req.url} - Get User By Phone`, req.params); +// Get user profile by email +exports.getUserByEmail = async (req, res) => { + console.log(`HTTP ${req.method} ${req.url} - Get User By Email`, req.params); try { - const { phone } = req.params; - console.log('Get User - Request:', { phone }); + const { email } = req.params; + console.log('Get User - Request:', { email }); - const user = await UserProfile.findOne({ phone }); + const user = await UserProfile.findOne({ email }); if (!user) { - console.log('Get User - User not found:', phone); + console.log('Get User - User not found:', email); return res.status(404).json({ message: 'User not found' }); } @@ -38,8 +38,8 @@ exports.getUserByPhone = async (req, res) => { exports.createOrUpdateUser = async (req, res) => { try { console.log('Create/Update User - Starting process'); - const { phone } = req.params; - console.log('Create/Update User - Phone:', phone); + const { email } = req.params; + console.log('Create/Update User - Email:', email); // Get values from request body const updates = { @@ -48,6 +48,7 @@ exports.createOrUpdateUser = async (req, res) => { age: req.body.age, languages: req.body.languages || [], profileImage: req.body.profileImage, + location: req.body.location, lastActive: new Date() }; @@ -70,12 +71,13 @@ exports.createOrUpdateUser = async (req, res) => { // Clean up updates console.log('Create/Update User - Cleaning updates'); const cleanedUpdates = { - phone, // Add phone to the updates + email, // Add email to the updates name: updates.name, age: updates.age, userType: updates.userType, languages: updates.languages, profileImage: updates.profileImage, + location: updates.location, lastActive: new Date() }; @@ -87,7 +89,7 @@ exports.createOrUpdateUser = async (req, res) => { console.log('Create/Update User - Attempting database operation'); const user = await UserProfile.findOneAndUpdate( - { phone }, + { email }, { $set: cleanedUpdates }, { new: true, @@ -115,12 +117,12 @@ exports.createOrUpdateUser = async (req, res) => { // Delete user profile exports.deleteUser = async (req, res) => { try { - const { phone } = req.params; - console.log('Delete User - Request:', { phone }); + const { email } = req.params; + console.log('Delete User - Request:', { email }); - const user = await UserProfile.findOneAndDelete({ phone }); + const user = await UserProfile.findOneAndDelete({ email }); if (!user) { - console.log('Delete User - User not found:', phone); + console.log('Delete User - User not found:', email); return res.status(404).json({ message: 'User not found' }); } @@ -135,18 +137,18 @@ exports.deleteUser = async (req, res) => { // Update user stats exports.updateUserStats = async (req, res) => { try { - const { phone } = req.params; + const { email } = req.params; const { stats } = req.body; - console.log('Update Stats - Request:', { phone, stats }); + console.log('Update Stats - Request:', { email, stats }); const user = await UserProfile.findOneAndUpdate( - { phone }, + { email }, { $set: { stats } }, { new: true, runValidators: true } ); if (!user) { - console.log('Update Stats - User not found:', phone); + console.log('Update Stats - User not found:', email); return res.status(404).json({ message: 'User not found' }); } @@ -161,9 +163,9 @@ exports.updateUserStats = async (req, res) => { // Add created post exports.addCreatedPost = async (req, res) => { try { - const { phone } = req.params; + const { email } = req.params; const { postId, postType } = req.body; - console.log('Add Post - Request:', { phone, postId, postType }); + console.log('Add Post - Request:', { email, postId, postType }); if (!postId || !postType) { return res.status(400).json({ @@ -186,7 +188,7 @@ exports.addCreatedPost = async (req, res) => { } const user = await UserProfile.findOneAndUpdate( - { phone }, + { email }, { $addToSet: { [updateField]: postId }, $inc: { [`stats.${updateField.replace('created', '').toLowerCase()}Count`]: 1 } @@ -195,7 +197,7 @@ exports.addCreatedPost = async (req, res) => { ); if (!user) { - console.log('Add Post - User not found:', phone); + console.log('Add Post - User not found:', email); return res.status(404).json({ message: 'User not found' }); } @@ -210,17 +212,17 @@ exports.addCreatedPost = async (req, res) => { // Get user preferences exports.getPreferences = async (req, res) => { try { - const { phone } = req.params; + const { email } = req.params; console.log('Get Preferences - Request:', { - phone, + email, params: req.params }); - const user = await UserProfile.findOne({ phone }); + const user = await UserProfile.findOne({ email }); console.log('Get Preferences - User Check:', user); if (!user) { - console.log('Get Preferences - User not found:', phone); + console.log('Get Preferences - User not found:', email); return res.status(404).json({ message: 'User profile not found' }); } @@ -235,26 +237,26 @@ exports.getPreferences = async (req, res) => { // Update user preferences exports.updatePreferences = async (req, res) => { try { - const { phone } = req.params; + const { email } = req.params; const { preferences } = req.body; console.log('Update Preferences - Request:', { - phone, + email, preferences, params: req.params, body: req.body }); // First check if user exists - const existingUser = await UserProfile.findOne({ phone }); + const existingUser = await UserProfile.findOne({ email }); console.log('Update Preferences - Existing User Check:', existingUser); if (!existingUser) { - console.log('Update Preferences - User not found:', phone); + console.log('Update Preferences - User not found:', email); return res.status(404).json({ message: 'User profile not found. Please create a profile first.' }); } const profile = await UserProfile.findOneAndUpdate( - { phone }, + { email }, { $set: { preferences } }, { new: true, runValidators: true } ); diff --git a/Backend/src/routes/userRoutes.js b/Backend/src/routes/userRoutes.js index 7eb82a5..cb9b4fc 100644 --- a/Backend/src/routes/userRoutes.js +++ b/Backend/src/routes/userRoutes.js @@ -26,23 +26,23 @@ router.use((err, req, res, next) => { }); // User profile routes -router.get('/phone/:phone', userController.getUserByPhone); -router.put('/phone/:phone', userController.createOrUpdateUser); -router.delete('/phone/:phone', userController.deleteUser); +router.get('/email/:email', userController.getUserByEmail); +router.put('/email/:email', userController.createOrUpdateUser); +router.delete('/email/:email', userController.deleteUser); // Profile routes (using JWT token) router.get('/profile', userController.getProfile); router.put('/profile', userController.updateProfile); // User stats routes -router.put('/phone/:phone/stats', userController.updateUserStats); +router.put('/email/:email/stats', userController.updateUserStats); // User posts routes -router.post('/phone/:phone/posts', userController.addCreatedPost); +router.post('/email/:email/posts', userController.addCreatedPost); // Preferences routes -router.put('/phone/:phone/preferences', userController.updatePreferences); -router.get('/phone/:phone/preferences', userController.getPreferences); +router.put('/email/:email/preferences', userController.updatePreferences); +router.get('/email/:email/preferences', userController.getPreferences); // Get all users router.get('/', userController.getAllUsers); diff --git a/Frontend/README.md b/Frontend/README.md index 70e506a..1e0e8e6 100644 --- a/Frontend/README.md +++ b/Frontend/README.md @@ -93,12 +93,14 @@ A full-stack mobile platform connecting refugees and helpers for community-drive | Method | Endpoint | Description | |--------|------------------------------------------|------------------------------------| -| POST | `/api/users/phone/:phone` | Create or update user profile | -| GET | `/api/users/phone/:phone` | Retrieve user profile | -| PUT | `/api/users/phone/:phone` | Update user profile | -| DELETE | `/api/users/phone/:phone` | Delete user profile | -| POST | `/api/users/phone/:phone/posts` | Add a new post (help/offer/story) | -| PUT | `/api/users/phone/:phone/stats` | Update user statistics | +| POST | `/api/users/email/:email` | Create or update user profile | +| GET | `/api/users/email/:email` | Retrieve user profile | +| PUT | `/api/users/email/:email` | Update user profile | +| DELETE | `/api/users/email/:email` | Delete user profile | +| POST | `/api/users/email/:email/posts` | Add a new post (help/offer/story) | +| PUT | `/api/users/email/:email/stats` | Update user statistics | +| GET | `/api/users/profile` | Get current user profile (JWT) | +| PUT | `/api/users/profile` | Update current user profile (JWT) | > ā„¹ļø For full API documentation, refer to the backend code in `/MayaCodeBackend/routes/`. From bff838d3d7643a43b50ce830d64c36cfc1f5789d Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:28:27 +0530 Subject: [PATCH 37/91] Fix Cloudinary upload errors with graceful fallback to base64 storage --- Backend/src/controllers/postController.js | 7 ++++--- Backend/src/utils/cloudinaryUploader.js | 22 ++++++++++++++++------ 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/Backend/src/controllers/postController.js b/Backend/src/controllers/postController.js index fba01f6..b3c65d4 100644 --- a/Backend/src/controllers/postController.js +++ b/Backend/src/controllers/postController.js @@ -34,10 +34,11 @@ exports.createPost = async (req, res) => { try { body.images = await uploadImagesToCloudinary(body.images); - console.log('āœ… Images uploaded to Cloudinary'); + console.log('āœ… Images processed successfully'); } catch (uploadError) { - console.error('āŒ Error uploading to Cloudinary:', uploadError.message); - throw uploadError; + console.error('āŒ Error processing images:', uploadError.message || uploadError); + // Don't throw - continue with original images + console.log('āš ļø Continuing with original image data'); } } diff --git a/Backend/src/utils/cloudinaryUploader.js b/Backend/src/utils/cloudinaryUploader.js index 928a5ad..b971d97 100644 --- a/Backend/src/utils/cloudinaryUploader.js +++ b/Backend/src/utils/cloudinaryUploader.js @@ -1,29 +1,38 @@ /** * Upload base64 image to Cloudinary as-is * @param {string} base64Image - Base64 encoded image with data URI prefix - * @returns {Promise} - Cloudinary image URL + * @returns {Promise} - Cloudinary image URL or base64 string */ async function uploadImageToCloudinary(base64Image) { try { const cloudinary = require('../config/cloudinary'); + // Check if Cloudinary is configured + if (!cloudinary.config().cloud_name) { + console.log('āš ļø Cloudinary not configured, storing as base64'); + return base64Image; // Return base64 string as fallback + } + + console.log('šŸ“¤ Uploading to Cloudinary...'); // Upload directly to Cloudinary const result = await cloudinary.uploader.upload(base64Image, { resource_type: 'image', folder: 'mayacode-posts', }); + console.log('āœ… Image uploaded to Cloudinary:', result.secure_url); return result.secure_url; } catch (error) { - console.error('āŒ Error uploading image to Cloudinary:', error.message); - throw error; + console.error('āŒ Error uploading image to Cloudinary:', error.message || error); + console.log('āš ļø Falling back to base64 storage'); + return base64Image; // Return base64 string as fallback } } /** * Upload multiple images to Cloudinary * @param {Array} images - Array of base64 encoded images - * @returns {Promise>} - Array of Cloudinary image URLs + * @returns {Promise>} - Array of Cloudinary image URLs or base64 strings */ async function uploadImagesToCloudinary(images) { if (!images || images.length === 0) { @@ -37,8 +46,9 @@ async function uploadImagesToCloudinary(images) { const url = await uploadImageToCloudinary(images[i]); uploadedUrls.push(url); } catch (error) { - console.error(`āŒ Error uploading image ${i + 1}:`, error.message); - throw error; // Don't skip - throw to caller + console.error(`āŒ Error uploading image ${i + 1}:`, error.message || error); + // Don't throw - continue with base64 fallback + uploadedUrls.push(images[i]); // Use original base64 as fallback } } From 19eb79f1c8ba471e5aff15490f25be342e4ce5a2 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:31:54 +0530 Subject: [PATCH 38/91] Fix postService to use email instead of phone parameter --- Frontend/services/postService.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Frontend/services/postService.ts b/Frontend/services/postService.ts index d7506b0..0bf25a7 100644 --- a/Frontend/services/postService.ts +++ b/Frontend/services/postService.ts @@ -6,7 +6,7 @@ const API_URL = `${process.env.EXPO_PUBLIC_BASE_URL || 'http://localhost:8000'}/ export const postService = { // Create a new post async createPost( - phone: string, + email: string, type: Post['type'], title: string, content: string, @@ -21,7 +21,7 @@ export const postService = { } console.log('Starting createPost with:', { - phone, + email, type, title, content, @@ -31,7 +31,7 @@ export const postService = { try { console.log('Creating post object...'); - const post = createPost(phone, type, title, content, data); + const post = createPost(email, type, title, content, data); // Sanitize post for logging const logPost = { ...post }; @@ -92,12 +92,12 @@ export const postService = { } }, - // Get posts by phone - async getUserPosts(phone: string): Promise { + // Get posts by email + async getUserPosts(email: string): Promise { try { console.log('postService API_URL:', API_URL); - console.log('Starting getUserPosts with:', { phone }); - const response = await fetch(`${API_URL}/posts/phone/${phone}`); + console.log('Starting getUserPosts with:', { email }); + const response = await fetch(`${API_URL}/posts/email/${email}`); if (!response.ok) throw new Error('Failed to fetch user posts'); return response.json(); } catch (error) { From a6ab69dd6f5d1627aa3e35ced5dcbbf3671e8536 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:46:30 +0530 Subject: [PATCH 39/91] Add edit/delete functionality for Help and Ask posts --- Frontend/app/(tabs)/helpAndAsk.tsx | 115 +++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) diff --git a/Frontend/app/(tabs)/helpAndAsk.tsx b/Frontend/app/(tabs)/helpAndAsk.tsx index 699142c..4c8953d 100644 --- a/Frontend/app/(tabs)/helpAndAsk.tsx +++ b/Frontend/app/(tabs)/helpAndAsk.tsx @@ -399,6 +399,7 @@ const CreatePostModal = ({ visible, onClose, onPostCreated }: CreatePostModalPro }; export default function HelpAndAsk() { + const { user } = useAuth(); const [isModalVisible, setIsModalVisible] = useState(false); const [posts, setPosts] = useState([]); const [selectedPost, setSelectedPost] = useState(null); @@ -407,6 +408,7 @@ export default function HelpAndAsk() { const [imageLoading, setImageLoading] = useState(false); const [imageLoaded, setImageLoaded] = useState(false); const [imageError, setImageError] = useState(false); + const [isEditModalVisible, setIsEditModalVisible] = useState(false); const openModal = () => setIsModalVisible(true); const closeModal = () => setIsModalVisible(false); @@ -416,6 +418,59 @@ export default function HelpAndAsk() { closeModal(); }; + const handleEditPost = () => { + setIsEditModalVisible(true); + }; + + const handleDeletePost = async () => { + if (!selectedPost) return; + + Alert.alert( + 'Delete Post', + 'Are you sure you want to delete this post? This action cannot be undone.', + [ + { text: 'Cancel', style: 'cancel' }, + { + text: 'Delete', + style: 'destructive', + onPress: async () => { + try { + const success = await postService.deletePost(selectedPost._id!.toString()); + if (success) { + Toast.show({ + type: 'success', + text1: 'Post Deleted', + text2: 'Your post has been deleted successfully.', + }); + setIsPostDetailVisible(false); + fetchPosts(); + } else { + Toast.show({ + type: 'error', + text1: 'Delete Failed', + text2: 'Could not delete the post. Please try again.', + }); + } + } catch (error) { + console.error('Error deleting post:', error); + Toast.show({ + type: 'error', + text1: 'Delete Failed', + text2: 'An error occurred while deleting the post.', + }); + } + }, + }, + ] + ); + }; + + const handlePostUpdated = () => { + fetchPosts(); + setIsEditModalVisible(false); + setIsPostDetailVisible(false); + }; + const fetchPosts = async () => { try { const fetchedPosts: Post[] = await postService.getAllPosts(); @@ -585,6 +640,21 @@ export default function HelpAndAsk() { /> )} + + {/* Edit/Delete buttons for post owner */} + {user?.email === selectedPost.email && ( + + + + Edit + + + + Delete + + + )} + {selectedPost.location && ( Location: {selectedPost.location.latitude.toFixed(4)}, {selectedPost.location.longitude.toFixed(4)} @@ -601,6 +671,13 @@ export default function HelpAndAsk() { + + {/* Edit Post Modal */} + setIsEditModalVisible(false)} + onPostCreated={handlePostUpdated} + /> ); } @@ -1015,5 +1092,43 @@ const styles = StyleSheet.create({ askHelpMarker: { backgroundColor: '#2196F3', // Blue for ask help }, + postActionsContainer: { + flexDirection: 'row', + justifyContent: 'space-around', + marginVertical: 20, + paddingHorizontal: 20, + }, + editButton: { + flexDirection: 'row', + alignItems: 'center', + backgroundColor: '#E3F2FD', + paddingHorizontal: 20, + paddingVertical: 10, + borderRadius: 8, + borderWidth: 1, + borderColor: '#BBDEFB', + }, + editButtonText: { + color: '#007AFF', + fontSize: 16, + fontWeight: '600', + marginLeft: 8, + }, + deleteButton: { + flexDirection: 'row', + alignItems: 'center', + backgroundColor: '#FFEBEE', + paddingHorizontal: 20, + paddingVertical: 10, + borderRadius: 8, + borderWidth: 1, + borderColor: '#FFCDD2', + }, + deleteButtonText: { + color: '#FF3B30', + fontSize: 16, + fontWeight: '600', + marginLeft: 8, + }, }); \ No newline at end of file From 481b1539671f9a3e37c5da6cb6ad3f5bdc718f13 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 13:50:51 +0530 Subject: [PATCH 40/91] Update edit/delete buttons to match story post card style - smaller and more compact --- Frontend/app/(tabs)/helpAndAsk.tsx | 58 ++++++++---------------------- 1 file changed, 14 insertions(+), 44 deletions(-) diff --git a/Frontend/app/(tabs)/helpAndAsk.tsx b/Frontend/app/(tabs)/helpAndAsk.tsx index 4c8953d..7874ca8 100644 --- a/Frontend/app/(tabs)/helpAndAsk.tsx +++ b/Frontend/app/(tabs)/helpAndAsk.tsx @@ -644,13 +644,13 @@ export default function HelpAndAsk() { {/* Edit/Delete buttons for post owner */} {user?.email === selectedPost.email && ( - - - Edit + + + Edit - - - Delete + + + Delete )} @@ -960,13 +960,6 @@ const styles = StyleSheet.create({ selectedTypeButtonText: { color: '#fff', }, - actionButton: { - flex: 1, - padding: 15, - borderRadius: 10, - alignItems: 'center', - marginHorizontal: 5, - }, postDetailModalContainer: { flex: 1, backgroundColor: 'rgba(0, 0, 0, 0.5)', @@ -1094,41 +1087,18 @@ const styles = StyleSheet.create({ }, postActionsContainer: { flexDirection: 'row', - justifyContent: 'space-around', - marginVertical: 20, - paddingHorizontal: 20, - }, - editButton: { - flexDirection: 'row', - alignItems: 'center', - backgroundColor: '#E3F2FD', - paddingHorizontal: 20, - paddingVertical: 10, - borderRadius: 8, - borderWidth: 1, - borderColor: '#BBDEFB', - }, - editButtonText: { - color: '#007AFF', - fontSize: 16, - fontWeight: '600', - marginLeft: 8, + justifyContent: 'flex-end', + marginTop: 10, }, - deleteButton: { + actionButton: { flexDirection: 'row', alignItems: 'center', - backgroundColor: '#FFEBEE', - paddingHorizontal: 20, - paddingVertical: 10, - borderRadius: 8, - borderWidth: 1, - borderColor: '#FFCDD2', + marginLeft: 15, }, - deleteButtonText: { - color: '#FF3B30', - fontSize: 16, - fontWeight: '600', - marginLeft: 8, + actionButtonText: { + marginLeft: 5, + fontSize: 14, + color: '#007BFF', }, }); \ No newline at end of file From ac4a3d2da7065d98eb99e81ba33a614fb2f45a02 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 28 Oct 2025 15:26:32 +0530 Subject: [PATCH 41/91] resolved post edit/delete features, logout feaure --- Frontend/app/(tabs)/helpAndAsk.tsx | 25 ++++++------ Frontend/app/(tabs)/profile.tsx | 64 +++++++++++++++++++++++++----- 2 files changed, 67 insertions(+), 22 deletions(-) diff --git a/Frontend/app/(tabs)/helpAndAsk.tsx b/Frontend/app/(tabs)/helpAndAsk.tsx index 7874ca8..862962f 100644 --- a/Frontend/app/(tabs)/helpAndAsk.tsx +++ b/Frontend/app/(tabs)/helpAndAsk.tsx @@ -640,8 +640,17 @@ export default function HelpAndAsk() { /> )} + {selectedPost.location && ( + + Location: {selectedPost.location.latitude.toFixed(4)}, {selectedPost.location.longitude.toFixed(4)} + + )} + {selectedPost.email ? By: {selectedPost.email} : null} + + Created: {new Date(selectedPost.createdAt).toLocaleDateString()} + - {/* Edit/Delete buttons for post owner */} + {/* Edit/Delete buttons for post owner - positioned at bottom right */} {user?.email === selectedPost.email && ( @@ -654,16 +663,6 @@ export default function HelpAndAsk() { )} - - {selectedPost.location && ( - - Location: {selectedPost.location.latitude.toFixed(4)}, {selectedPost.location.longitude.toFixed(4)} - - )} - {selectedPost.email ? By: {selectedPost.email} : null} - - Created: {new Date(selectedPost.createdAt).toLocaleDateString()} - ) : ( @@ -975,7 +974,7 @@ const styles = StyleSheet.create({ position: 'relative', }, postDetailScrollContent: { - paddingBottom: 40, + paddingBottom: 10, }, postDetailTitle: { fontSize: 20, @@ -1089,6 +1088,8 @@ const styles = StyleSheet.create({ flexDirection: 'row', justifyContent: 'flex-end', marginTop: 10, + marginBottom: 0, + paddingHorizontal: 10, }, actionButton: { flexDirection: 'row', diff --git a/Frontend/app/(tabs)/profile.tsx b/Frontend/app/(tabs)/profile.tsx index e56774a..5da4b0d 100644 --- a/Frontend/app/(tabs)/profile.tsx +++ b/Frontend/app/(tabs)/profile.tsx @@ -109,6 +109,15 @@ export default function ProfileScreen() { } }; + const handleLogout = async () => { + try { + await signOut(); + router.replace('/login'); + } catch (error) { + console.error('Error during logout:', error); + } + }; + if (isLoading || isLoadingProfile) { return ( @@ -131,9 +140,11 @@ export default function ProfileScreen() { Back - setIsEditModalVisible(true)}> - - + + setIsEditModalVisible(true)} style={styles.headerButton}> + + + @@ -260,6 +271,12 @@ export default function ProfileScreen() { )} + {/* Logout Button */} + + + Logout + + Date: Sat, 1 Nov 2025 22:34:01 +0530 Subject: [PATCH 42/91] Add or update the Azure App Service build and deployment workflow config --- .github/workflows/dev_maya.yml | 65 ++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/dev_maya.yml diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml new file mode 100644 index 0000000..3848dbb --- /dev/null +++ b/.github/workflows/dev_maya.yml @@ -0,0 +1,65 @@ +# Docs for the Azure Web Apps Deploy action: https://github.com/Azure/webapps-deploy +# More GitHub Actions for Azure: https://github.com/Azure/actions + +name: Build and deploy Node.js app to Azure Web App - Maya + +on: + push: + branches: + - dev + workflow_dispatch: + +jobs: + build: + runs-on: windows-latest + permissions: + contents: read #This is required for actions/checkout + + steps: + - uses: actions/checkout@v4 + + - name: Set up Node.js version + uses: actions/setup-node@v3 + with: + node-version: '20.x' + + - name: npm install, build, and test + run: | + npm install + npm run build --if-present + npm run test --if-present + + - name: Upload artifact for deployment job + uses: actions/upload-artifact@v4 + with: + name: node-app + path: . + + deploy: + runs-on: ubuntu-latest + needs: build + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout + + steps: + - name: Download artifact from build job + uses: actions/download-artifact@v4 + with: + name: node-app + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_97B8DA4EDB1F4771AECAA074696E3E74 }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} + + - name: 'Deploy to Azure Web App' + uses: azure/webapps-deploy@v3 + id: deploy-to-webapp + with: + app-name: 'Maya' + slot-name: 'Production' + package: . + \ No newline at end of file From c4624319f9707e1a539593abc3f8d97a564adf93 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 22:45:11 +0530 Subject: [PATCH 43/91] updated the base directory of yml fine --- .github/workflows/dev_maya.yml | 25 +- Backend/package-lock.json | 418 +++++++++++++- Backend/package.json | 2 + Backend/src/controllers/authController.js | 657 +++++++++++----------- Backend/src/services/gmailService.js | 110 ++++ 5 files changed, 859 insertions(+), 353 deletions(-) create mode 100644 Backend/src/services/gmailService.js diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 3848dbb..9d1a0e3 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -24,6 +24,7 @@ jobs: node-version: '20.x' - name: npm install, build, and test + working-directory: ./Backend run: | npm install npm run build --if-present @@ -33,27 +34,27 @@ jobs: uses: actions/upload-artifact@v4 with: name: node-app - path: . + path: ./Backend deploy: runs-on: ubuntu-latest needs: build - permissions: - id-token: write #This is required for requesting the JWT - contents: read #This is required for actions/checkout + permissions: + id-token: write #This is required for requesting the JWT + contents: read #This is required for actions/checkout steps: - name: Download artifact from build job uses: actions/download-artifact@v4 with: name: node-app - - - name: Login to Azure - uses: azure/login@v2 - with: - client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_97B8DA4EDB1F4771AECAA074696E3E74 }} - tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} - subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} + + - name: Login to Azure + uses: azure/login@v2 + with: + client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_97B8DA4EDB1F4771AECAA074696E3E74 }} + tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} + subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} - name: 'Deploy to Azure Web App' uses: azure/webapps-deploy@v3 @@ -61,5 +62,5 @@ jobs: with: app-name: 'Maya' slot-name: 'Production' - package: . + package: ./Backend \ No newline at end of file diff --git a/Backend/package-lock.json b/Backend/package-lock.json index 57fa639..3ec4071 100644 --- a/Backend/package-lock.json +++ b/Backend/package-lock.json @@ -16,11 +16,13 @@ "expo-image-manipulator": "^14.0.7", "express": "^4.18.2", "express-session": "^1.18.1", + "googleapis": "^164.1.0", "ioredis": "^5.6.1", "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", "multer": "^2.0.2", + "nodemailer": "^7.0.10", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", @@ -3591,7 +3593,6 @@ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "license": "MIT", - "peer": true, "engines": { "node": ">= 14" } @@ -4025,8 +4026,7 @@ "url": "https://feross.org/support" } ], - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/base64id": { "version": "2.0.0", @@ -4097,6 +4097,15 @@ "node": ">=0.6" } }, + "node_modules/bignumber.js": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.3.1.tgz", + "integrity": "sha512-Ko0uX15oIUS7wJ3Rb30Fs6SkVbLmPBAKdlm7q9+ak9bbIeFf0MwuBsQV6z7+X768/cHsfg+WlysDWJcmthjsjQ==", + "license": "MIT", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", @@ -4954,6 +4963,15 @@ "node": ">=8" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, "node_modules/debug": { "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", @@ -5672,6 +5690,12 @@ "node": ">= 0.8" } }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -5714,6 +5738,29 @@ "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==", "license": "MIT" }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", @@ -5798,6 +5845,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "license": "MIT", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -5856,6 +5915,158 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gaxios": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-7.1.2.tgz", + "integrity": "sha512-/Szrn8nr+2TsQT1Gp8iIe/BEytJmbyfrbFh419DfGQSkEgNEhbPi7JRJuughjkTzPWgU9gBQf5AVu3DbHt0OXA==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "node-fetch": "^3.3.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gcp-metadata": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-5.3.0.tgz", + "integrity": "sha512-FNTkdNEnBdlqF2oatizolQqNANMrcqJt6AAYt99B3y1aLLC8Hc5IOBb+ZnnzllodEEf6xMBp6wRcBbc16fa65w==", + "license": "Apache-2.0", + "optional": true, + "peer": true, + "dependencies": { + "gaxios": "^5.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/gcp-metadata/node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/gcp-metadata/node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/gcp-metadata/node_modules/gaxios": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-5.1.3.tgz", + "integrity": "sha512-95hVgBRgEIRQQQHIbnxBXeHbW4TqFk4ZDJW7wmVtvYar72FdhRIo1UGOLS2eRAKCPEdPBWu+M7+A33D9CdX9rA==", + "license": "Apache-2.0", + "optional": true, + "peer": true, + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^5.0.0", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/gcp-metadata/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/gcp-metadata/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/gcp-metadata/node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/gcp-metadata/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/gcp-metadata/node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "license": "BSD-2-Clause", + "optional": true, + "peer": true + }, + "node_modules/gcp-metadata/node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -6006,6 +6217,97 @@ "node": ">=4" } }, + "node_modules/google-auth-library": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-10.4.2.tgz", + "integrity": "sha512-EKiQasw6aEdxSovPEf1oBxCEvxjFamZ6MPaVOSPXZMnqKFLo+rrYjHyjKlFfZcXiKi9qAH6cutr5WRqqa1jKhg==", + "license": "Apache-2.0", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^7.0.0", + "gcp-metadata": "^8.0.0", + "google-logging-utils": "^1.0.0", + "gtoken": "^8.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-auth-library/node_modules/gcp-metadata": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-8.1.1.tgz", + "integrity": "sha512-dTCcAe9fRQf06ELwel6lWWFrEbstwjUBYEhr5VRGoC+iPDZQucHppCowaIp8b8v92tU1G4X4H3b/Y6zXZxkMsQ==", + "license": "Apache-2.0", + "dependencies": { + "gaxios": "^7.0.0", + "google-logging-utils": "^1.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/google-auth-library/node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/google-auth-library/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/google-logging-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/google-logging-utils/-/google-logging-utils-1.1.1.tgz", + "integrity": "sha512-rcX58I7nqpu4mbKztFeOAObbomBbHU2oIb/d3tJfF3dizGSApqtSwYJigGCooHdnMyQBIw8BrWyK96w3YXgr6A==", + "license": "Apache-2.0", + "engines": { + "node": ">=14" + } + }, + "node_modules/googleapis": { + "version": "164.1.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-164.1.0.tgz", + "integrity": "sha512-dIN768H8so9qGucFtjYPBZJ+OCEgDi/xYyvYQHniPL1ZCYvrRDBTmtbjVjKCPG1CuOhG4CKHZDXiFe6QZ2qBeQ==", + "license": "Apache-2.0", + "dependencies": { + "google-auth-library": "^10.2.0", + "googleapis-common": "^8.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/googleapis-common": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/googleapis-common/-/googleapis-common-8.0.0.tgz", + "integrity": "sha512-66if47It7y+Sab3HMkwEXx1kCq9qUC9px8ZXoj1CMrmLmUw81GpbnsNlXnlyZyGbGPGcj+tDD9XsZ23m7GLaJQ==", + "license": "Apache-2.0", + "dependencies": { + "extend": "^3.0.2", + "gaxios": "^7.0.0-rc.4", + "google-auth-library": "^10.1.0", + "qs": "^6.7.0", + "url-template": "^2.0.8" + }, + "engines": { + "node": ">=18.0.0" + } + }, "node_modules/gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", @@ -6025,6 +6327,40 @@ "license": "ISC", "peer": true }, + "node_modules/gtoken": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-8.0.0.tgz", + "integrity": "sha512-+CqsMbHPiSTdtSO14O51eMNlrp9N79gmeqmXeouJOhfucAedHw9noVe/n5uJk3tbKE6a+6ZCQg3RPhVhHByAIw==", + "license": "MIT", + "dependencies": { + "gaxios": "^7.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/gtoken/node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "license": "MIT", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/gtoken/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "license": "MIT", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6123,7 +6459,6 @@ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "license": "MIT", - "peer": true, "dependencies": { "agent-base": "^7.1.2", "debug": "4" @@ -6137,7 +6472,6 @@ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "license": "MIT", - "peer": true, "dependencies": { "ms": "^2.1.3" }, @@ -6154,8 +6488,7 @@ "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT", - "peer": true + "license": "MIT" }, "node_modules/iconv-lite": { "version": "0.6.3", @@ -6742,6 +7075,15 @@ "node": ">=6" } }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "license": "MIT", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -8133,6 +8475,44 @@ "license": "MIT", "peer": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "license": "MIT", + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "license": "MIT", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, "node_modules/node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -8157,6 +8537,15 @@ "license": "MIT", "peer": true }, + "node_modules/nodemailer": { + "version": "7.0.10", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-7.0.10.tgz", + "integrity": "sha512-Us/Se1WtT0ylXgNFfyFSx4LElllVLJXQjWi2Xz17xWw7amDKO2MLtFnVp1WACy7GkVGs+oBlRopVNUzlrGSw1w==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/nodemon": { "version": "3.1.10", "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.10.tgz", @@ -10726,6 +11115,12 @@ "requires-port": "^1.0.0" } }, + "node_modules/url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha512-XdVKMF4SJ0nP/O7XIPB0JwAEuT9lDIYnNsK8yGVe43y0AWoKeJNdv3ZNWh7ksJ6KqQFjOO6ox/VEitLnaVNufw==", + "license": "BSD" + }, "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -10800,6 +11195,15 @@ "defaults": "^1.0.3" } }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, "node_modules/webidl-conversions": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", diff --git a/Backend/package.json b/Backend/package.json index 335acd9..e7ecce2 100644 --- a/Backend/package.json +++ b/Backend/package.json @@ -18,11 +18,13 @@ "expo-image-manipulator": "^14.0.7", "express": "^4.18.2", "express-session": "^1.18.1", + "googleapis": "^164.1.0", "ioredis": "^5.6.1", "jsonwebtoken": "^9.0.2", "kafkajs": "^2.2.4", "mongoose": "^8.15.1", "multer": "^2.0.2", + "nodemailer": "^7.0.10", "passport": "^0.6.0", "passport-google-oauth20": "^2.0.0", "resend": "^6.2.2", diff --git a/Backend/src/controllers/authController.js b/Backend/src/controllers/authController.js index cfe93cc..4f5bfad 100644 --- a/Backend/src/controllers/authController.js +++ b/Backend/src/controllers/authController.js @@ -1,334 +1,323 @@ -const Otp = require('../models/Otp'); -const jwt = require('jsonwebtoken'); -const UserProfile = require('../models/User'); -const { Resend } = require('resend'); - -const OTP_EXPIRY_MINUTES = 10; - -// Configure Resend (works on Render free tier - 3,000 emails/month free) -let resend; -if (process.env.RESEND_EMAIL_API) { - resend = new Resend(process.env.RESEND_EMAIL_API); - console.log('āœ… Resend configured successfully'); -} else { - console.warn('āš ļø RESEND_EMAIL_API not set. Email functionality will not work.'); -} - -// No fallback email service - only Resend - -// Check if email is already in use by another user -const checkEmailInUse = async (req, res) => { - const { email } = req.body; - const currentUserId = req.user?.id; // From JWT token if authenticated - - if (!email) { - return res.status(400).json({ message: 'Email is required' }); - } - - try { - const existingUser = await UserProfile.findOne({ email: email.toLowerCase() }); - - if (existingUser) { - // If the user is checking their own email, it's not "in use" - if (currentUserId && existingUser._id.toString() === currentUserId) { - return res.json({ - inUse: false, - message: 'This is your own email address' - }); - } - - return res.json({ - inUse: true, - message: 'Email is already in use by another account' - }); - } - - return res.json({ - inUse: false, - message: 'Email is available' - }); - } catch (err) { - console.error('checkEmailInUse error:', err); - res.status(500).json({ message: 'Failed to check email availability' }); - } -}; - -const requestOtp = async (req, res) => { - try { - const { email } = req.body; - - // Basic email validation - if (!email || !email.includes('@')) { - return res.status(400).json({ - success: false, - message: "Please provide a valid email address" - }); - } - - // Generate OTP - const otp = Math.floor(100000 + Math.random() * 900000).toString(); - const expiresAt = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes - - // Save OTP to database - await Otp.findOneAndUpdate( - { email: email.toLowerCase() }, - { otp, expiresAt }, - { upsert: true, new: true } - ); - - // Send OTP via email using Resend only - if (!resend) { - console.error('āŒ Resend not configured - RESEND_EMAIL_API environment variable not set'); - return res.status(500).json({ - success: false, - message: "Email service not configured. Please contact support." - }); - } - - try { - // Use Resend (works on Render free tier - 3,000 emails/month free) - const { data, error } = await resend.emails.send({ - from: 'onboarding@resend.dev', // You can change this to your domain - to: email, - subject: 'Login OTP for MayaCode', - html: ` -

- `, - }); - - if (error) { - console.error('āŒ Resend error:', error); - return res.status(500).json({ - success: false, - message: "Failed to send email. Please try again." - }); - } - - console.log('āœ… Email sent via Resend:', data); - - res.json({ - success: true, - message: "OTP sent to your email successfully" - }); - } catch (emailError) { - console.error('āŒ Email sending error:', emailError); - - return res.status(500).json({ - success: false, - message: "Failed to send OTP. Please try again." - }); - } - } catch (error) { - console.error('Request OTP Error:', error); - res.status(500).json({ - success: false, - message: "Internal server error" - }); - } -}; - -const verifyOtp = async (req, res) => { - try { - const { email, otp } = req.body; - - if (!email || !otp) { - return res.status(400).json({ - success: false, - message: "Email and OTP are required" - }); - } - - // Find OTP in database - const otpRecord = await Otp.findOne({ email: email.toLowerCase() }); - - if (!otpRecord) { - return res.status(400).json({ - success: false, - message: "No OTP found for this email" - }); - } - - // Check if OTP is expired - if (new Date() > otpRecord.expiresAt) { - await Otp.deleteOne({ email: email.toLowerCase() }); - return res.status(400).json({ - success: false, - message: "OTP has expired. Please request a new one." - }); - } - - // Verify OTP - if (otpRecord.otp !== otp) { - return res.status(400).json({ - success: false, - message: "Invalid OTP" - }); - } - - // Delete OTP after successful verification - await Otp.deleteOne({ email: email.toLowerCase() }); - - // Check if user exists, if not create one - let user = await UserProfile.findOne({ email: email.toLowerCase() }); - - if (!user) { - // Create new user with minimal required fields - try { - const userData = { - email: email.toLowerCase(), - name: 'Guest User', - userType: 'Other' // Default user type - }; - - console.log('Creating user with data:', userData); - user = await UserProfile.create(userData); - console.log('User created successfully:', user._id); - } catch (createError) { - console.error('User creation error:', createError); - return res.status(500).json({ - success: false, - message: "Account creation failed. Please contact support." - }); - } - } - - const token = jwt.sign( - { email: user.email, id: user._id }, - process.env.JWT_SECRET_VERIFY, - { expiresIn: '7d' } - ); - - return res.json({ - success: true, - message: "Email verified successfully", - token: token, - user: { - email: user.email, - id: user._id, - name: user.name, - userType: user.userType - } - }); - } catch (error) { - console.error('Verify OTP Error:', error); - res.status(500).json({ - success: false, - message: "Internal server error" - }); - } -}; - -// Update user profile after email verification -const updateProfile = async (req, res) => { - try { - const { name, age, location, userType, languages } = req.body; - const userId = req.user.id; // From JWT token - - if (!name) { - return res.status(400).json({ message: 'Name is required' }); - } - - const user = await UserProfile.findById(userId); - if (!user) { - return res.status(404).json({ message: 'User not found' }); - } - - // Update user profile - const updatedUser = await UserProfile.findByIdAndUpdate( - userId, - { - name, - age: age || user.age, - location: location || user.location, - userType: userType || user.userType, - languages: languages || user.languages - }, - { new: true } - ); - - res.json({ - message: 'Profile updated successfully', - user: { - id: updatedUser._id, - email: updatedUser.email, - name: updatedUser.name, - age: updatedUser.age, - location: updatedUser.location, - userType: updatedUser.userType, - languages: updatedUser.languages, - isProfileComplete: true - } - }); - } catch (err) { - console.error('updateProfile error:', err); - res.status(500).json({ message: 'Failed to update profile' }); - } -}; - -// Middleware to verify JWT token -const verifyToken = async (req, res, next) => { - try { - const token = req.header('Authorization')?.replace('Bearer ', ''); - - if (!token) { - return res.status(401).json({ message: 'No token provided' }); - } - - const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); - req.user = decoded; - next(); - } catch (err) { - console.error('Token verification error:', err); - res.status(401).json({ message: 'Invalid token' }); - } -}; - -// Verify token endpoint -const verifyTokenEndpoint = async (req, res) => { - try { - const token = req.header('Authorization')?.replace('Bearer ', ''); - - if (!token) { - return res.status(401).json({ message: 'No token provided' }); - } - - const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); - const user = await UserProfile.findById(decoded.id); - - if (!user) { - return res.status(404).json({ message: 'User not found' }); - } - - res.json({ - user: { - id: user._id, - email: user.email, - name: user.name, - userType: user.userType, - age: user.age, - location: user.location, - languages: user.languages - } - }); - } catch (err) { - console.error('Token verification error:', err); - res.status(401).json({ message: 'Invalid token' }); - } -}; - -module.exports = { - checkEmailInUse, - requestOtp, - verifyOtp, - updateProfile, - verifyToken, - verifyTokenEndpoint -}; +const Otp = require('../models/Otp'); +const jwt = require('jsonwebtoken'); +const UserProfile = require('../models/User'); +const { sendOTPEmail } = require('../services/gmailService'); + +const OTP_EXPIRY_MINUTES = 10; + +// Check if email is already in use by another user +const checkEmailInUse = async (req, res) => { + const { email } = req.body; + const currentUserId = req.user?.id; // From JWT token if authenticated + + if (!email) { + return res.status(400).json({ message: 'Email is required' }); + } + + try { + const existingUser = await UserProfile.findOne({ email: email.toLowerCase() }); + + if (existingUser) { + // If the user is checking their own email, it's not "in use" + if (currentUserId && existingUser._id.toString() === currentUserId) { + return res.json({ + inUse: false, + message: 'This is your own email address' + }); + } + + return res.json({ + inUse: true, + message: 'Email is already in use by another account' + }); + } + + return res.json({ + inUse: false, + message: 'Email is available' + }); + } catch (err) { + console.error('checkEmailInUse error:', err); + res.status(500).json({ message: 'Failed to check email availability' }); + } +}; + +const requestOtp = async (req, res) => { + try { + const { email } = req.body; + + // Basic email validation + if (!email || !email.includes('@')) { + return res.status(400).json({ + success: false, + message: "Please provide a valid email address" + }); + } + + // Generate OTP + const otp = Math.floor(100000 + Math.random() * 900000).toString(); + const expiresAt = new Date(Date.now() + 10 * 60 * 1000); // 10 minutes + + // Save OTP to database + await Otp.findOneAndUpdate( + { email: email.toLowerCase() }, + { otp, expiresAt }, + { upsert: true, new: true } + ); + + // Send OTP via email using Resend only + if (!resend) { + console.error('āŒ Resend not configured - RESEND_EMAIL_API environment variable not set'); + return res.status(500).json({ + success: false, + message: "Email service not configured. Please contact support." + }); + } + + try { + // Use Resend (works on Render free tier - 3,000 emails/month free) + const { data, error } = await resend.emails.send({ + from: 'onboarding@resend.dev', // You can change this to your domain + to: email, + subject: 'Login OTP for MayaCode', + html: ` +
+

MayaCode Login Verification

+

Your login OTP is:

+

${otp}

+

This OTP will expire in 10 minutes.

+

If you did not request this OTP, please ignore this email.

+
+

This is an automated message from MayaCode.
Please do not reply to this email as this inbox is not monitored.

+
+ `, + }); + + if (error) { + console.error('āŒ Resend error:', error); + return res.status(500).json({ + success: false, + message: "Failed to send email. Please try again." + }); + } + + console.log('āœ… Email sent via Resend:', data); + + res.json({ + success: true, + message: "OTP sent to your email successfully" + }); + } catch (emailError) { + console.error('āŒ Email sending error:', emailError); + + return res.status(500).json({ + success: false, + message: "Failed to send OTP. Please try again." + }); + } + } catch (error) { + console.error('Request OTP Error:', error); + res.status(500).json({ + success: false, + message: "Internal server error" + }); + } +}; + +const verifyOtp = async (req, res) => { + try { + const { email, otp } = req.body; + + if (!email || !otp) { + return res.status(400).json({ + success: false, + message: "Email and OTP are required" + }); + } + + // Find OTP in database + const otpRecord = await Otp.findOne({ email: email.toLowerCase() }); + + if (!otpRecord) { + return res.status(400).json({ + success: false, + message: "No OTP found for this email" + }); + } + + // Check if OTP is expired + if (new Date() > otpRecord.expiresAt) { + await Otp.deleteOne({ email: email.toLowerCase() }); + return res.status(400).json({ + success: false, + message: "OTP has expired. Please request a new one." + }); + } + + // Verify OTP + if (otpRecord.otp !== otp) { + return res.status(400).json({ + success: false, + message: "Invalid OTP" + }); + } + + // Delete OTP after successful verification + await Otp.deleteOne({ email: email.toLowerCase() }); + + // Check if user exists, if not create one + let user = await UserProfile.findOne({ email: email.toLowerCase() }); + + if (!user) { + // Create new user with minimal required fields + try { + const userData = { + email: email.toLowerCase(), + name: 'Guest User', + userType: 'Other' // Default user type + }; + + console.log('Creating user with data:', userData); + user = await UserProfile.create(userData); + console.log('User created successfully:', user._id); + } catch (createError) { + console.error('User creation error:', createError); + return res.status(500).json({ + success: false, + message: "Account creation failed. Please contact support." + }); + } + } + + const token = jwt.sign( + { email: user.email, id: user._id }, + process.env.JWT_SECRET_VERIFY, + { expiresIn: '7d' } + ); + + return res.json({ + success: true, + message: "Email verified successfully", + token: token, + user: { + email: user.email, + id: user._id, + name: user.name, + userType: user.userType + } + }); + } catch (error) { + console.error('Verify OTP Error:', error); + res.status(500).json({ + success: false, + message: "Internal server error" + }); + } +}; + +// Update user profile after email verification +const updateProfile = async (req, res) => { + try { + const { name, age, location, userType, languages } = req.body; + const userId = req.user.id; // From JWT token + + if (!name) { + return res.status(400).json({ message: 'Name is required' }); + } + + const user = await UserProfile.findById(userId); + if (!user) { + return res.status(404).json({ message: 'User not found' }); + } + + // Update user profile + const updatedUser = await UserProfile.findByIdAndUpdate( + userId, + { + name, + age: age || user.age, + location: location || user.location, + userType: userType || user.userType, + languages: languages || user.languages + }, + { new: true } + ); + + res.json({ + message: 'Profile updated successfully', + user: { + id: updatedUser._id, + email: updatedUser.email, + name: updatedUser.name, + age: updatedUser.age, + location: updatedUser.location, + userType: updatedUser.userType, + languages: updatedUser.languages, + isProfileComplete: true + } + }); + } catch (err) { + console.error('updateProfile error:', err); + res.status(500).json({ message: 'Failed to update profile' }); + } +}; + +// Middleware to verify JWT token +const verifyToken = async (req, res, next) => { + try { + const token = req.header('Authorization')?.replace('Bearer ', ''); + + if (!token) { + return res.status(401).json({ message: 'No token provided' }); + } + + const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); + req.user = decoded; + next(); + } catch (err) { + console.error('Token verification error:', err); + res.status(401).json({ message: 'Invalid token' }); + } +}; + +// Verify token endpoint +const verifyTokenEndpoint = async (req, res) => { + try { + const token = req.header('Authorization')?.replace('Bearer ', ''); + + if (!token) { + return res.status(401).json({ message: 'No token provided' }); + } + + const decoded = jwt.verify(token, process.env.JWT_SECRET_VERIFY); + const user = await UserProfile.findById(decoded.id); + + if (!user) { + return res.status(404).json({ message: 'User not found' }); + } + + res.json({ + user: { + id: user._id, + email: user.email, + name: user.name, + userType: user.userType, + age: user.age, + location: user.location, + languages: user.languages + } + }); + } catch (err) { + console.error('Token verification error:', err); + res.status(401).json({ message: 'Invalid token' }); + } +}; + +module.exports = { + checkEmailInUse, + requestOtp, + verifyOtp, + updateProfile, + verifyToken, + verifyTokenEndpoint +}; diff --git a/Backend/src/services/gmailService.js b/Backend/src/services/gmailService.js new file mode 100644 index 0000000..1842ca1 --- /dev/null +++ b/Backend/src/services/gmailService.js @@ -0,0 +1,110 @@ +const nodemailer = require('nodemailer'); +const { google } = require('googleapis'); + +// OAuth2 configuration +const oAuth2Client = new google.auth.OAuth2( + process.env.GMAIL_CLIENT_ID, + process.env.GMAIL_CLIENT_SECRET, + process.env.GMAIL_REDIRECT_URI || 'https://developers.google.com/oauthplayground' +); + +// Set credentials +oAuth2Client.setCredentials({ + refresh_token: process.env.GMAIL_REFRESH_TOKEN +}); + +// Create transporter +let transporter; + +async function createTransporter() { + try { + const accessToken = await oAuth2Client.getAccessToken(); + + transporter = nodemailer.createTransporter({ + service: 'gmail', + auth: { + type: 'OAuth2', + user: process.env.GMAIL_USER, // Your Gmail address + clientId: process.env.GMAIL_CLIENT_ID, + clientSecret: process.env.GMAIL_CLIENT_SECRET, + refreshToken: process.env.GMAIL_REFRESH_TOKEN, + accessToken: accessToken.token, + }, + }); + + console.log('āœ… Gmail transporter created successfully'); + return transporter; + } catch (error) { + console.error('āŒ Error creating Gmail transporter:', error); + throw error; + } +} + +// Send email function +async function sendEmail({ to, subject, html, text }) { + try { + if (!transporter) { + await createTransporter(); + } + + const mailOptions = { + from: `MayaCode <${process.env.GMAIL_USER}>`, + to, + subject, + html, + text, + }; + + console.log(`šŸ“§ Sending email to: ${to}`); + const result = await transporter.sendMail(mailOptions); + console.log('āœ… Email sent successfully:', result.messageId); + + return { + success: true, + messageId: result.messageId, + message: 'Email sent successfully' + }; + } catch (error) { + console.error('āŒ Error sending email:', error); + return { + success: false, + error: error.message, + message: 'Failed to send email' + }; + } +} + +// Send OTP email +async function sendOTPEmail(email, otp) { + const subject = 'MayaCode - Your OTP Code'; + const html = ` +
+

MayaCode OTP Verification

+

Hello!

+

Your OTP code for MayaCode is:

+
+

${otp}

+
+

This code will expire in 10 minutes.

+

If you didn't request this code, please ignore this email.

+
+

MayaCode - Building Stronger Communities

+
+ `; + + const text = `MayaCode OTP Verification\n\nYour OTP code is: ${otp}\n\nThis code will expire in 10 minutes.\n\nIf you didn't request this code, please ignore this email.\n\nMayaCode - Building Stronger Communities`; + + return await sendEmail({ + to: email, + subject, + html, + text + }); +} + +module.exports = { + sendEmail, + sendOTPEmail, + createTransporter +}; + From 4a177afa2a9cb4040e000282dcaebc26f4eb7b5e Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 22:53:54 +0530 Subject: [PATCH 44/91] update --- .github/workflows/dev_maya.yml | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 9d1a0e3..be3a0ad 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -48,6 +48,23 @@ jobs: uses: actions/download-artifact@v4 with: name: node-app + path: deploy + + - name: List files for debugging + run: | + echo "Current directory:" + pwd + echo "Contents of deploy directory:" + ls -la deploy || ls -la + if [ -d "deploy/Backend" ]; then + echo "Backend directory exists in deploy/" + ls -la deploy/Backend + elif [ -d "Backend" ]; then + echo "Backend directory exists in root" + elif [ -f "deploy/package.json" ]; then + echo "package.json found in deploy/ - contents are at root of deploy" + ls -la deploy + fi - name: Login to Azure uses: azure/login@v2 @@ -62,5 +79,5 @@ jobs: with: app-name: 'Maya' slot-name: 'Production' - package: ./Backend + package: deploy \ No newline at end of file From 0f38adb1f7684b41209ceaa1eb594e2f7e16da47 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:01:35 +0530 Subject: [PATCH 45/91] updated the yml workflow and web.config --- .github/workflows/dev_maya.yml | 29 ++++++++++++----------------- Backend/web.config | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 17 deletions(-) create mode 100644 Backend/web.config diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index be3a0ad..47b60cc 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -30,11 +30,22 @@ jobs: npm run build --if-present npm run test --if-present + - name: Create deployment package (exclude node_modules) + working-directory: . + shell: pwsh + run: | + # Use robocopy to copy files excluding node_modules and logs + New-Item -ItemType Directory -Path "deploy-package" -Force | Out-Null + robocopy "Backend" "deploy-package" /E /XD node_modules logs .git /XF *.log /NFL /NDL /NJH /NJS + # robocopy exits with code 1 if files were copied (which is success), so exit 0 + exit 0 + - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: name: node-app - path: ./Backend + path: ./deploy-package + retention-days: 1 deploy: runs-on: ubuntu-latest @@ -50,22 +61,6 @@ jobs: name: node-app path: deploy - - name: List files for debugging - run: | - echo "Current directory:" - pwd - echo "Contents of deploy directory:" - ls -la deploy || ls -la - if [ -d "deploy/Backend" ]; then - echo "Backend directory exists in deploy/" - ls -la deploy/Backend - elif [ -d "Backend" ]; then - echo "Backend directory exists in root" - elif [ -f "deploy/package.json" ]; then - echo "package.json found in deploy/ - contents are at root of deploy" - ls -la deploy - fi - - name: Login to Azure uses: azure/login@v2 with: diff --git a/Backend/web.config b/Backend/web.config new file mode 100644 index 0000000..070f332 --- /dev/null +++ b/Backend/web.config @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + From f6af750a42b76935c27a376c86eeac7f870d81a9 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:07:28 +0530 Subject: [PATCH 46/91] updated the yml workflow --- .github/workflows/dev_maya.yml | 35 +++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 47b60cc..4f00208 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -11,7 +11,7 @@ on: jobs: build: - runs-on: windows-latest + runs-on: ubuntu-latest permissions: contents: read #This is required for actions/checkout @@ -22,30 +22,32 @@ jobs: uses: actions/setup-node@v3 with: node-version: '20.x' + cache: 'npm' + cache-dependency-path: Backend/package-lock.json + + - name: Cache node modules + uses: actions/cache@v4 + with: + path: Backend/node_modules + key: ${{ runner.os }}-node-${{ hashFiles('Backend/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- - - name: npm install, build, and test + - name: Install dependencies + working-directory: ./Backend + run: npm ci --prefer-offline --no-audit + + - name: Build and test working-directory: ./Backend run: | - npm install npm run build --if-present npm run test --if-present - - name: Create deployment package (exclude node_modules) - working-directory: . - shell: pwsh - run: | - # Use robocopy to copy files excluding node_modules and logs - New-Item -ItemType Directory -Path "deploy-package" -Force | Out-Null - robocopy "Backend" "deploy-package" /E /XD node_modules logs .git /XF *.log /NFL /NDL /NJH /NJS - # robocopy exits with code 1 if files were copied (which is success), so exit 0 - exit 0 - - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: name: node-app - path: ./deploy-package - retention-days: 1 + path: ./Backend deploy: runs-on: ubuntu-latest @@ -59,7 +61,6 @@ jobs: uses: actions/download-artifact@v4 with: name: node-app - path: deploy - name: Login to Azure uses: azure/login@v2 @@ -74,5 +75,5 @@ jobs: with: app-name: 'Maya' slot-name: 'Production' - package: deploy + package: . \ No newline at end of file From bc7b9090d0fd2a3a163e62c4268d295279879c14 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:17:56 +0530 Subject: [PATCH 47/91] updated the yml workflow --- .github/workflows/dev_maya.yml | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 4f00208..2d95a20 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -43,6 +43,14 @@ jobs: npm run build --if-present npm run test --if-present + - name: Prepare deployment package + working-directory: ./Backend + run: | + # Remove node_modules to reduce package size + rm -rf node_modules + echo "Removed node_modules (size reduction)" + du -sh . + - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: @@ -62,6 +70,26 @@ jobs: with: name: node-app + - name: Debug - Check artifact structure + run: | + echo "Current directory contents:" + ls -la + echo "Checking for package.json:" + if [ -f "package.json" ]; then + echo "āœ… package.json found at root" + elif [ -f "Backend/package.json" ]; then + echo "āœ… package.json found in Backend folder" + echo "Moving Backend contents to root..." + shopt -s dotglob + mv Backend/* . + rmdir Backend + echo "Contents after move:" + ls -la + else + echo "āŒ package.json not found!" + find . -name "package.json" -type f + fi + - name: Login to Azure uses: azure/login@v2 with: From a850353bc2dd916ca5ac407889bb8b32b8df5834 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:21:25 +0530 Subject: [PATCH 48/91] updated the yml workflow --- .github/workflows/dev_maya.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 2d95a20..bbc99ca 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,10 +46,17 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove node_modules to reduce package size + # Remove unnecessary files to reduce package size rm -rf node_modules - echo "Removed node_modules (size reduction)" + rm -rf logs + rm -rf .git + find . -name "*.log" -type f -delete + find . -name ".DS_Store" -type f -delete + echo "Cleaned up package" + echo "Package size after cleanup:" du -sh . + echo "Top 10 largest files/directories:" + du -h . | sort -rh | head -10 - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -88,7 +95,10 @@ jobs: else echo "āŒ package.json not found!" find . -name "package.json" -type f + exit 1 fi + echo "Package size:" + du -sh . - name: Login to Azure uses: azure/login@v2 From 15d95c2131af35b292df64d3cfcc875ea83d082f Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:37:33 +0530 Subject: [PATCH 49/91] update --- .github/workflows/dev_maya.yml | 48 ++++++++++++++++++++++++---------- 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index bbc99ca..7f6f124 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,17 +46,16 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove unnecessary files to reduce package size - rm -rf node_modules + # Remove only logs and git, keep node_modules for deployment rm -rf logs rm -rf .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - echo "Cleaned up package" - echo "Package size after cleanup:" + # Remove web.config for Linux deployment + rm -f web.config + echo "Prepared package (keeping node_modules)" + echo "Package size:" du -sh . - echo "Top 10 largest files/directories:" - du -h . | sort -rh | head -10 - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -89,7 +88,7 @@ jobs: echo "Moving Backend contents to root..." shopt -s dotglob mv Backend/* . - rmdir Backend + rmdir Backend 2>/dev/null || true echo "Contents after move:" ls -la else @@ -99,6 +98,8 @@ jobs: fi echo "Package size:" du -sh . + echo "Verifying package.json content:" + cat package.json | head -15 - name: Login to Azure uses: azure/login@v2 @@ -107,11 +108,30 @@ jobs: tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} - - name: 'Deploy to Azure Web App' - uses: azure/webapps-deploy@v3 - id: deploy-to-webapp - with: - app-name: 'Maya' - slot-name: 'Production' - package: . + - name: Get App Service details + run: | + RESOURCE_GROUP=$(az webapp show --name Maya --query resourceGroup -o tsv) + echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_ENV + echo "Resource Group: $RESOURCE_GROUP" + az webapp show --name Maya --query "{name:name, resourceGroup:resourceGroup, state:state, os:siteConfig.linuxFxVersion}" -o table + + - name: Deploy using Azure CLI (direct deployment) + run: | + zip -r deploy.zip . -q + echo "Zip file created, size:" + ls -lh deploy.zip + + echo "Deploying via Azure CLI..." + az webapp deployment source config-zip \ + --name Maya \ + --resource-group $RESOURCE_GROUP \ + --src deploy.zip \ + --timeout 600 \ + --verbose || { + echo "Deployment failed. Checking logs..." + az webapp log tail --name Maya --resource-group $RESOURCE_GROUP || true + exit 1 + } + + echo "Deployment initiated successfully" \ No newline at end of file From c77156e7840469705442a49fdeb86770f25cc1de Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:40:19 +0530 Subject: [PATCH 50/91] update --- .github/workflows/dev_maya.yml | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 7f6f124..02d060a 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -110,10 +110,21 @@ jobs: - name: Get App Service details run: | - RESOURCE_GROUP=$(az webapp show --name Maya --query resourceGroup -o tsv) + echo "Listing all web apps to find resource group..." + az webapp list --query "[?name=='Maya'].{name:name, resourceGroup:resourceGroup, state:state}" -o table + RESOURCE_GROUP=$(az webapp list --query "[?name=='Maya'].resourceGroup" -o tsv | head -1) + if [ -z "$RESOURCE_GROUP" ]; then + echo "Could not find resource group. Trying alternative method..." + RESOURCE_GROUP=$(az resource list --name Maya --resource-type "Microsoft.Web/sites" --query "[0].resourceGroup" -o tsv) + fi + if [ -z "$RESOURCE_GROUP" ]; then + echo "Error: Could not determine resource group for app 'Maya'" + echo "Please check the app name and ensure you have proper permissions" + exit 1 + fi echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_ENV echo "Resource Group: $RESOURCE_GROUP" - az webapp show --name Maya --query "{name:name, resourceGroup:resourceGroup, state:state, os:siteConfig.linuxFxVersion}" -o table + az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{name:name, resourceGroup:resourceGroup, state:state, os:siteConfig.linuxFxVersion}" -o table - name: Deploy using Azure CLI (direct deployment) run: | @@ -124,12 +135,12 @@ jobs: echo "Deploying via Azure CLI..." az webapp deployment source config-zip \ --name Maya \ - --resource-group $RESOURCE_GROUP \ + --resource-group "$RESOURCE_GROUP" \ --src deploy.zip \ --timeout 600 \ --verbose || { - echo "Deployment failed. Checking logs..." - az webapp log tail --name Maya --resource-group $RESOURCE_GROUP || true + echo "Deployment failed. Getting more details..." + az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{state:state, defaultHostName:defaultHostName}" -o table || true exit 1 } From 69fc099850f115951ae8060f20fa4db8288ca389 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:44:26 +0530 Subject: [PATCH 51/91] update --- .github/workflows/dev_maya.yml | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 02d060a..b7de6f0 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,14 +46,16 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove only logs and git, keep node_modules for deployment + # Remove node_modules, logs, and unnecessary files to reduce package size + # Azure will install node_modules automatically during deployment + rm -rf node_modules rm -rf logs rm -rf .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete # Remove web.config for Linux deployment rm -f web.config - echo "Prepared package (keeping node_modules)" + echo "Prepared package (excluded node_modules - Azure will install them)" echo "Package size:" du -sh . @@ -126,23 +128,35 @@ jobs: echo "Resource Group: $RESOURCE_GROUP" az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{name:name, resourceGroup:resourceGroup, state:state, os:siteConfig.linuxFxVersion}" -o table + - name: Configure App Service to build during deployment + run: | + # Set app setting to install dependencies during deployment + az webapp config appsettings set \ + --name Maya \ + --resource-group "$RESOURCE_GROUP" \ + --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true \ + --output none + echo "āœ… Configured app to build during deployment" + - name: Deploy using Azure CLI (direct deployment) run: | - zip -r deploy.zip . -q + # Exclude node_modules from zip (Azure will install them) + zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" echo "Zip file created, size:" ls -lh deploy.zip - echo "Deploying via Azure CLI..." - az webapp deployment source config-zip \ + echo "Deploying via Azure CLI (Azure will run npm install automatically)..." + az webapp deploy \ --name Maya \ --resource-group "$RESOURCE_GROUP" \ - --src deploy.zip \ - --timeout 600 \ - --verbose || { + --src-path deploy.zip \ + --type zip \ + --async false \ + --timeout 600 || { echo "Deployment failed. Getting more details..." az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{state:state, defaultHostName:defaultHostName}" -o table || true exit 1 } - echo "Deployment initiated successfully" + echo "āœ… Deployment completed successfully" \ No newline at end of file From 590f48ef1040fdf1af7c1d1b16c4ae262a5fa864 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 1 Nov 2025 23:57:28 +0530 Subject: [PATCH 52/91] update --- .github/workflows/dev_maya.yml | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index b7de6f0..9374eca 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -138,25 +138,27 @@ jobs: --output none echo "āœ… Configured app to build during deployment" - - name: Deploy using Azure CLI (direct deployment) + - name: Check App Service status + run: | + echo "Checking App Service and SCM site status..." + az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{state:state, enabled:enabled, scmSiteAlsoStopped:siteConfig.scmSiteAlsoStopped}" -o table + # Ensure app is running + az webapp start --name Maya --resource-group "$RESOURCE_GROUP" --output none || true + echo "Waiting 5 seconds for service to be ready..." + sleep 5 + + - name: Create deployment zip run: | # Exclude node_modules from zip (Azure will install them) zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" echo "Zip file created, size:" ls -lh deploy.zip - - echo "Deploying via Azure CLI (Azure will run npm install automatically)..." - az webapp deploy \ - --name Maya \ - --resource-group "$RESOURCE_GROUP" \ - --src-path deploy.zip \ - --type zip \ - --async false \ - --timeout 600 || { - echo "Deployment failed. Getting more details..." - az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{state:state, defaultHostName:defaultHostName}" -o table || true - exit 1 - } - - echo "āœ… Deployment completed successfully" + + - name: Deploy using GitHub Action (recommended) + uses: azure/webapps-deploy@v3 + id: deploy-to-webapp + with: + app-name: 'Maya' + slot-name: 'Production' + package: deploy.zip \ No newline at end of file From 98fc94b24058934e7b95317f5e2db00c4fe326ea Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sun, 2 Nov 2025 00:15:17 +0530 Subject: [PATCH 53/91] update --- AZURE_ENVIRONMENT_VARIABLES.md | 204 +++++++++++++++++++++++++++++++++ Backend/src/app.js | 13 ++- Backend/src/config/db.js | 9 +- POSTMAN_TEST_ENDPOINTS.md | 90 +++++++++++++++ 4 files changed, 313 insertions(+), 3 deletions(-) create mode 100644 AZURE_ENVIRONMENT_VARIABLES.md create mode 100644 POSTMAN_TEST_ENDPOINTS.md diff --git a/AZURE_ENVIRONMENT_VARIABLES.md b/AZURE_ENVIRONMENT_VARIABLES.md new file mode 100644 index 0000000..3fbe749 --- /dev/null +++ b/AZURE_ENVIRONMENT_VARIABLES.md @@ -0,0 +1,204 @@ +# Azure App Service Environment Variables Configuration + +## šŸ”“ **CRITICAL - REQUIRED for Basic Functionality** + +These must be set for the backend to work properly: + +### 1. **MONGODB_URI** āš ļø MOST IMPORTANT +- **Purpose**: MongoDB database connection string +- **Format**: `mongodb+srv://username:password@cluster.mongodb.net/mayacode?retryWrites=true&w=majority` +- **Example**: `mongodb+srv://mayacode:password123@cluster0.abc123.mongodb.net/mayacode?retryWrites=true&w=majority` +- **Where to get**: MongoDB Atlas dashboard → Connect → Connection string +- **Status**: āœ… REQUIRED - Without this, database operations will fail + +### 2. **JWT_SECRET_VERIFY** +- **Purpose**: Secret key for signing and verifying JWT tokens +- **Format**: Any secure random string (at least 32 characters recommended) +- **Example**: `your-super-secret-jwt-key-here-minimum-32-chars` +- **How to generate**: Use a secure random string generator +- **Status**: āœ… REQUIRED - Authentication will fail without this + +--- + +## 🟔 **RECOMMENDED - For Production** + +### 3. **NODE_ENV** +- **Purpose**: Environment mode (development/production) +- **Value**: `production` +- **Status**: 🟔 RECOMMENDED + +### 4. **PORT** +- **Purpose**: Server port (usually auto-set by Azure) +- **Value**: `8000` (or leave Azure to set automatically) +- **Status**: 🟔 Usually auto-configured by Azure + +--- + +## 🟢 **OPTIONAL - For Additional Features** + +### Email/SMTP Configuration (for OTP functionality) + +### 5. **SMTP_USER** +- **Purpose**: Email address for sending OTP emails +- **Example**: `your-email@gmail.com` +- **Status**: 🟢 OPTIONAL (if not set, email OTP won't work) + +### 6. **SMTP_PASS** +- **Purpose**: Email password or app password +- **Example**: `your-app-password` +- **Status**: 🟢 OPTIONAL (if not set, email OTP won't work) + +### Cloudinary (for image uploads) + +### 7. **CLOUDINARY_NAME** +- **Purpose**: Cloudinary cloud name +- **Example**: `your-cloud-name` +- **Status**: 🟢 OPTIONAL + +### 8. **CLOUDINARY_API_KEY** +- **Purpose**: Cloudinary API key +- **Example**: `123456789012345` +- **Status**: 🟢 OPTIONAL + +### 9. **CLOUDINARY_API_SECRET** +- **Purpose**: Cloudinary API secret +- **Example**: `abcdefghijklmnopqrstuvwxyz` +- **Status**: 🟢 OPTIONAL + +### Google OAuth (if using Google login) + +### 10. **GOOGLE_CLIENT_ID** +- **Purpose**: Google OAuth client ID +- **Status**: 🟢 OPTIONAL + +### 11. **GOOGLE_CLIENT_SECRET** +- **Purpose**: Google OAuth client secret +- **Status**: 🟢 OPTIONAL + +### 12. **BACKEND_URI** +- **Purpose**: Full backend URL for OAuth callbacks +- **Example**: `https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net` +- **Status**: 🟢 OPTIONAL + +### Kafka (for message queuing - advanced feature) + +### 13. **KAFKA_BROKERS** +- **Purpose**: Kafka broker addresses +- **Example**: `broker1:9092,broker2:9092` +- **Status**: 🟢 OPTIONAL (app works without Kafka) + +### 14. **KAFKA_SASL_USERNAME** +- **Purpose**: Kafka SASL username +- **Status**: 🟢 OPTIONAL + +### 15. **KAFKA_SASL_PASSWORD** +- **Purpose**: Kafka SASL password +- **Status**: 🟢 OPTIONAL + +### Valkey/Redis (for real-time features) + +### 16. **VALKEY_HOST** +- **Purpose**: Valkey/Redis host +- **Status**: 🟢 OPTIONAL + +### 17. **VALKEY_PORT** +- **Purpose**: Valkey/Redis port +- **Status**: 🟢 OPTIONAL + +### 18. **VALKEY_USERNAME** +- **Purpose**: Valkey/Redis username +- **Status**: 🟢 OPTIONAL + +### 19. **VALKEY_PASSWORD** +- **Purpose**: Valkey/Redis password +- **Status**: 🟢 OPTIONAL + +### Session Configuration + +### 20. **SESSION_SECRET** +- **Purpose**: Secret for session encryption +- **Example**: `your-session-secret-here` +- **Default**: `"secret"` (not secure for production!) +- **Status**: 🟢 OPTIONAL but recommended + +--- + +## šŸ“‹ **Quick Setup Checklist** + +### Minimum Setup (Backend will start, basic functionality): +- [ ] `MONGODB_URI` +- [ ] `JWT_SECRET_VERIFY` + +### Recommended Setup (Production-ready): +- [ ] `MONGODB_URI` +- [ ] `JWT_SECRET_VERIFY` +- [ ] `NODE_ENV` = `production` +- [ ] `SESSION_SECRET` (change from default) + +### Full Setup (All features enabled): +- [ ] All minimum variables +- [ ] All recommended variables +- [ ] SMTP credentials (for email) +- [ ] Cloudinary credentials (for images) +- [ ] Optional services (Kafka, Valkey) if needed + +--- + +## šŸ”§ **How to Configure in Azure Portal** + +1. **Navigate to App Service**: + - Go to [Azure Portal](https://portal.azure.com) + - Search for "Maya" in the search bar + - Click on your App Service "Maya" + +2. **Open Configuration**: + - In the left sidebar, find "Configuration" under "Settings" + - Click on "Configuration" + +3. **Add Environment Variables**: + - Click "New application setting" + - Enter the **Name** (e.g., `MONGODB_URI`) + - Enter the **Value** (e.g., your MongoDB connection string) + - Click "OK" + - Repeat for each variable + +4. **Save Configuration**: + - Click "Save" at the top + - Azure will restart your app (takes ~1-2 minutes) + +5. **Verify**: + - Test the health endpoint: `GET https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/` + - Check the response - it should show `"database": "connected"` if MongoDB is configured correctly + +--- + +## 🧪 **Testing Your Configuration** + +After setting up the variables, test with: + +```bash +# Health check (should return database status) +GET https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ + +# Expected response if MongoDB is connected: +{ + "message": "MayaCode Backend is running!", + "status": "healthy", + "database": "connected", + "environment": { + "mongodb_configured": true, + "node_env": "production" + } +} +``` + +--- + +## āš ļø **Important Notes** + +1. **Never commit** these values to Git - they're already in `.gitignore` +2. **Rotate secrets** periodically for security +3. **Use Key Vault** for sensitive values in production (Azure Key Vault integration) +4. **After changes**, Azure automatically restarts the app +5. **Check logs** if issues persist: Azure Portal → App Service → Log stream + diff --git a/Backend/src/app.js b/Backend/src/app.js index dea4895..3814e43 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -24,7 +24,10 @@ if (!process.env.SMTP_USER || !process.env.SMTP_PASS) { console.warn('Please set SMTP_USER and SMTP_PASS environment variables.'); } -connectDB(); +// Attempt to connect to database (non-blocking, won't crash app) +connectDB().catch(err => { + console.error('Database connection failed:', err.message); +}); const app = express(); const path = require('path'); @@ -62,9 +65,13 @@ app.use(passport.session()); // Health check endpoint app.get("/", (req, res) => { + const mongoose = require('mongoose'); + const dbStatus = mongoose.connection.readyState === 1 ? 'connected' : 'disconnected'; + res.json({ message: "MayaCode Backend is running!", status: "healthy", + database: dbStatus, timestamp: new Date().toISOString(), endpoints: { auth: "/auth", @@ -72,6 +79,10 @@ app.get("/", (req, res) => { users: "/api/users", messages: "/api/messages", images: "/api/images" + }, + environment: { + mongodb_configured: !!process.env.MONGODB_URI, + node_env: process.env.NODE_ENV || 'not set' } }); }); diff --git a/Backend/src/config/db.js b/Backend/src/config/db.js index 884d616..7d89c5a 100644 --- a/Backend/src/config/db.js +++ b/Backend/src/config/db.js @@ -48,9 +48,14 @@ const connectDB = async () => { } } catch (error) { - console.error('MongoDB Connection Error:', error.message); - process.exit(1); + console.error('āŒ MongoDB Connection Error:', error.message); + console.error('āš ļø Application will continue running, but database features will not work.'); + console.error('šŸ’” Please set MONGODB_URI environment variable in Azure App Service Configuration.'); + // Don't exit - allow app to start and return helpful error messages + return false; } + + return true; }; module.exports = connectDB; \ No newline at end of file diff --git a/POSTMAN_TEST_ENDPOINTS.md b/POSTMAN_TEST_ENDPOINTS.md new file mode 100644 index 0000000..550f713 --- /dev/null +++ b/POSTMAN_TEST_ENDPOINTS.md @@ -0,0 +1,90 @@ +# Public GET Endpoints for Postman Testing + +Base URL: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net` + +## 1. Health Check +**GET** `/` +- **Description**: Check if the backend is running +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/` +- **Expected Response**: JSON with server status and available endpoints + +## 2. Get All Posts +**GET** `/api/posts` +- **Description**: Retrieve all posts +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts` +- **Query Parameters** (optional): + - `limit`: Number of posts to return + - `skip`: Number of posts to skip + - `type`: Filter by post type (help, offer, story) + +## 3. Get Post by ID +**GET** `/api/posts/:id` +- **Description**: Get a specific post by its ID +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/POST_ID_HERE` +- **Note**: Replace `POST_ID_HERE` with an actual post ID from the database + +## 4. Get Post Images +**GET** `/api/posts/:id/images` +- **Description**: Get images for a specific post +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/POST_ID_HERE/images` + +## 5. Get User Posts by Phone +**GET** `/api/posts/phone/:phone` +- **Description**: Get all posts created by a user (using phone number) +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/phone/+1234567890` +- **Note**: Replace with actual phone number + +## 6. Get User by Email +**GET** `/api/users/email/:email` +- **Description**: Get user profile by email address +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/email/test@example.com` + +## 7. Get All Users +**GET** `/api/users/` +- **Description**: Get list of all users +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/` +- **Note**: This might return a large list, use with caution + +## 8. Get User Preferences +**GET** `/api/users/email/:email/preferences` +- **Description**: Get user preferences by email +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/email/test@example.com/preferences` + +## 9. List Images by Category +**GET** `/api/images/:category` +- **Description**: Get list of images in a category +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/images/stories` +- **Categories**: stories, help-posts, etc. + +## 10. Get Specific Image +**GET** `/api/images/:category/:number` +- **Description**: Get a specific image by category and number +- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/images/stories/1` + +## Quick Test Steps for Postman: + +1. **Start with Health Check** (most likely to work): + ``` + GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ + ``` + +2. **Then test Posts endpoint**: + ``` + GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts + ``` + +3. **If you get data, test with query parameters**: + ``` + GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts?limit=5&type=help + ``` + +## Important Notes: + +āš ļø **If you get 500 errors**, the backend might need: +- MongoDB connection string (`MONGODB_URI`) configured in Azure App Service settings +- Other environment variables set up + +āš ļø **If you get empty arrays `[]`**, the database might be empty, which is normal for a fresh deployment. + +āš ļø **For endpoints with `:id` or `:email`**, you'll need actual IDs/emails from your database to test them. + From e8500f30151a0d6e134f8f71e8747cd93577a6d8 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:10:18 +0530 Subject: [PATCH 54/91] updated the web.config issue --- Backend/src/config/db.js | 8 ++- Backend/src/config/kafka.js | 74 +++++++++++++++++---------- Backend/src/config/passport.js | 30 ++++++----- Backend/src/services/kafkaConsumer.js | 4 ++ Backend/src/services/socket.js | 62 +++++++++++++--------- Backend/src/sockets/chat.socket.js | 14 ++--- Backend/src/sockets/index.js | 58 ++++++++++++--------- 7 files changed, 157 insertions(+), 93 deletions(-) diff --git a/Backend/src/config/db.js b/Backend/src/config/db.js index 7d89c5a..e2615b3 100644 --- a/Backend/src/config/db.js +++ b/Backend/src/config/db.js @@ -2,9 +2,15 @@ const mongoose = require('mongoose'); const connectDB = async () => { try { + if (!process.env.MONGODB_URI) { + console.error('āŒ MONGODB_URI environment variable is not set'); + console.error('āš ļø Application will continue running, but database features will not work.'); + return false; + } + console.log('Attempting to connect to MongoDB...'); console.log('Connection Details:', { - dbUri: process.env.MONGODB_URI ? '' : 'N/A' + dbUri: '' }); const conn = await mongoose.connect(process.env.MONGODB_URI, { diff --git a/Backend/src/config/kafka.js b/Backend/src/config/kafka.js index 7acc476..3f114bd 100644 --- a/Backend/src/config/kafka.js +++ b/Backend/src/config/kafka.js @@ -2,34 +2,44 @@ const { Kafka } = require('kafkajs'); const fs = require('fs'); const path = require('path'); -// Create Kafka instance -const kafka = new Kafka({ - brokers: [process.env.KAFKA_BROKERS], - ssl: { - ca: [process.env.KAFKA_CA_CERTIFICATE], - rejectUnauthorized: false, - }, - sasl: { - mechanism: "plain", - username: process.env.KAFKA_SASL_USERNAME, - password: process.env.KAFKA_SASL_PASSWORD - } -}); +// Create Kafka instance only if KAFKA_BROKERS is configured +let kafka = null; +if (process.env.KAFKA_BROKERS) { + kafka = new Kafka({ + brokers: [process.env.KAFKA_BROKERS], + ssl: { + ca: [process.env.KAFKA_CA_CERTIFICATE], + rejectUnauthorized: false, + }, + sasl: { + mechanism: "plain", + username: process.env.KAFKA_SASL_USERNAME, + password: process.env.KAFKA_SASL_PASSWORD + } + }); +} else { + console.warn('āš ļø KAFKA_BROKERS not configured. Kafka will not be available.'); +} -// Producer for sending messages to Kafka -const producer = kafka.producer({ - allowAutoTopicCreation: true, - transactionTimeout: 30000 -}); +// Producer for sending messages to Kafka (only if Kafka is configured) +let producer = null; +let consumer = null; -// Consumer for processing messages from Kafka -const consumer = kafka.consumer({ - groupId: process.env.KAFKA_CONSUMER_GROUP_ID || 'mayacode-chat-group', - retry: { - initialRetryTime: 100, - retries: 8 - } -}); +if (kafka) { + producer = kafka.producer({ + allowAutoTopicCreation: true, + transactionTimeout: 30000 + }); + + // Consumer for processing messages from Kafka + consumer = kafka.consumer({ + groupId: process.env.KAFKA_CONSUMER_GROUP_ID || 'mayacode-chat-group', + retry: { + initialRetryTime: 100, + retries: 8 + } + }); +} // Topic names const TOPICS = { @@ -39,6 +49,9 @@ const TOPICS = { // Initialize producer const initializeProducer = async () => { + if (!producer) { + throw new Error('Kafka producer not configured. Set KAFKA_BROKERS environment variable.'); + } try { await producer.connect(); console.log('āœ… Kafka producer connected successfully'); @@ -54,6 +67,9 @@ const initializeProducer = async () => { // Initialize consumer const initializeConsumer = async () => { + if (!consumer) { + throw new Error('Kafka consumer not configured. Set KAFKA_BROKERS environment variable.'); + } try { await consumer.connect(); console.log('āœ… Kafka consumer connected successfully'); @@ -65,6 +81,10 @@ const initializeConsumer = async () => { // Send message to Kafka const sendMessage = async (topic, message, key = null) => { + if (!producer) { + console.warn('āš ļø Kafka producer not configured. Message not sent.'); + return; + } try { await producer.send({ topic, @@ -82,6 +102,7 @@ const sendMessage = async (topic, message, key = null) => { // Disconnect producer const disconnectProducer = async () => { + if (!producer) return; try { await producer.disconnect(); console.log('āœ… Kafka producer disconnected'); @@ -92,6 +113,7 @@ const disconnectProducer = async () => { // Disconnect consumer const disconnectConsumer = async () => { + if (!consumer) return; try { await consumer.disconnect(); console.log('āœ… Kafka consumer disconnected'); diff --git a/Backend/src/config/passport.js b/Backend/src/config/passport.js index 67baa46..f6042f6 100644 --- a/Backend/src/config/passport.js +++ b/Backend/src/config/passport.js @@ -2,18 +2,24 @@ require("dotenv").config() const passport = require("passport"); const GoogleStrategy = require("passport-google-oauth20").Strategy; -passport.use( - new GoogleStrategy( - { - clientID: process.env.GOOGLE_CLIENT_ID, - clientSecret: process.env.GOOGLE_CLIENT_SECRET, - callbackURL: `${process.env.BACKEND_URI}/auth/google/callback`, - }, - (accessToken, refreshToken, profile, done) => { - return done(null, profile); - } - ) -); +// Only configure Google OAuth if credentials are provided +if (process.env.GOOGLE_CLIENT_ID && process.env.GOOGLE_CLIENT_SECRET && process.env.BACKEND_URI) { + passport.use( + new GoogleStrategy( + { + clientID: process.env.GOOGLE_CLIENT_ID, + clientSecret: process.env.GOOGLE_CLIENT_SECRET, + callbackURL: `${process.env.BACKEND_URI}/auth/google/callback`, + }, + (accessToken, refreshToken, profile, done) => { + return done(null, profile); + } + ) + ); + console.log('āœ… Google OAuth strategy configured'); +} else { + console.warn('āš ļø Google OAuth credentials not configured. Google login will not be available.'); +} passport.serializeUser((user, done) => done(null, user)); passport.deserializeUser((user, done) => done(null, user)); diff --git a/Backend/src/services/kafkaConsumer.js b/Backend/src/services/kafkaConsumer.js index e40600f..27da3c0 100644 --- a/Backend/src/services/kafkaConsumer.js +++ b/Backend/src/services/kafkaConsumer.js @@ -16,6 +16,10 @@ class KafkaConsumerService { return; } + if (!consumer) { + throw new Error('Kafka consumer not configured. Set KAFKA_BROKERS environment variable.'); + } + try { // Subscribe to chat messages topic await consumer.subscribe({ diff --git a/Backend/src/services/socket.js b/Backend/src/services/socket.js index 9cd03a7..d27acf3 100644 --- a/Backend/src/services/socket.js +++ b/Backend/src/services/socket.js @@ -3,19 +3,27 @@ const Redis = require("ioredis"); // const prismaClient = require("./prisma"); // const { produceMessage } = require("./kafka"); -const pub = new Redis({ - host: process.env.VALKEY_HOST, - port: process.env.VALKEY_PORT, - username: process.env.VALKEY_USERNAME, - password: process.env.VALKEY_PASSWORD, -}); - -const sub = new Redis({ - host: process.env.VALKEY_HOST, - port: process.env.VALKEY_PORT, - username: process.env.VALKEY_USERNAME, - password: process.env.VALKEY_PASSWORD, -}); +// Only create Redis clients if VALKEY_HOST is configured +let pub = null; +let sub = null; + +if (process.env.VALKEY_HOST) { + pub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, + }); + + sub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, + }); +} else { + console.warn('āš ļø VALKEY_HOST not configured. Redis pub/sub will not work.'); +} class SocketService { @@ -29,7 +37,9 @@ class SocketService { }, } ); - sub.subscribe("MESSAGES"); + if (sub) { + sub.subscribe("MESSAGES"); + } } initListeners() { @@ -40,19 +50,23 @@ class SocketService { console.log(`New Socket Connected`, socket.id); socket.on("event:message", async ({ message }) => { console.log("New Message Rec.", message); - // publish this message to redis - await pub.publish("MESSAGES", JSON.stringify({ message })); + // publish this message to redis (only if Redis is configured) + if (pub) { + await pub.publish("MESSAGES", JSON.stringify({ message })); + } }); }); - sub.on("message", async (channel, message) => { - if (channel === "MESSAGES") { - console.log("new message from redis", message); - io.emit("message", message); - await produceMessage(message); - console.log("Message Produced to Kafka Broker"); - } - }); + if (sub) { + sub.on("message", async (channel, message) => { + if (channel === "MESSAGES") { + console.log("new message from redis", message); + io.emit("message", message); + // await produceMessage(message); + // console.log("Message Produced to Kafka Broker"); + } + }); + } } get io() { diff --git a/Backend/src/sockets/chat.socket.js b/Backend/src/sockets/chat.socket.js index a8f95c9..83dc2e0 100644 --- a/Backend/src/sockets/chat.socket.js +++ b/Backend/src/sockets/chat.socket.js @@ -18,12 +18,14 @@ module.exports = (io, socket, pub) => { // Send to Kafka for persistence (async, non-blocking) const kafkaMessage = await messageService.sendMessageToKafka(messageData); - // Send to Redis for immediate delivery to online users - pub.publish("CHAT_MESSAGES", JSON.stringify({ - ...data, - id: kafkaMessage.id, - timestamp: kafkaMessage.timestamp - })); + // Send to Redis for immediate delivery to online users (only if Redis is configured) + if (pub) { + pub.publish("CHAT_MESSAGES", JSON.stringify({ + ...data, + id: kafkaMessage.id, + timestamp: kafkaMessage.timestamp + })); + } // Send delivery confirmation to sender console.log("Message processed and sent to Kafka:", kafkaMessage.id); diff --git a/Backend/src/sockets/index.js b/Backend/src/sockets/index.js index 4921bf9..4403218 100644 --- a/Backend/src/sockets/index.js +++ b/Backend/src/sockets/index.js @@ -3,19 +3,27 @@ const Redis = require("ioredis"); const chatSocket = require("./chat.socket.js"); const notificationSocket = require("./notification.socket.js"); -const pub = new Redis({ - host: process.env.VALKEY_HOST, - port: process.env.VALKEY_PORT, - username: process.env.VALKEY_USERNAME, - password: process.env.VALKEY_PASSWORD, -}); - -const sub = new Redis({ - host: process.env.VALKEY_HOST, - port: process.env.VALKEY_PORT, - username: process.env.VALKEY_USERNAME, - password: process.env.VALKEY_PASSWORD, -}); +// Only create Redis clients if VALKEY_HOST is configured +let pub = null; +let sub = null; + +if (process.env.VALKEY_HOST) { + pub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, + }); + + sub = new Redis({ + host: process.env.VALKEY_HOST, + port: process.env.VALKEY_PORT, + username: process.env.VALKEY_USERNAME, + password: process.env.VALKEY_PASSWORD, + }); +} else { + console.warn('āš ļø VALKEY_HOST not configured. Redis pub/sub will not work.'); +} const setupSocket = (httpServer) => { const io = new Server(httpServer, { @@ -25,17 +33,19 @@ const setupSocket = (httpServer) => { } }); - // Subscribe to both chat and notification channels - sub.subscribe("CHAT_MESSAGES"); - sub.subscribe("NOTIFICATION_MESSAGES"); - - sub.on("message", (channel, message) => { - if (channel === "CHAT_MESSAGES") { - io.emit("chat:receive", JSON.parse(message)); - } else if (channel === "NOTIFICATION_MESSAGES") { - io.emit("notification:receive", JSON.parse(message)); - } - }); + // Subscribe to both chat and notification channels (only if Redis is configured) + if (sub) { + sub.subscribe("CHAT_MESSAGES"); + sub.subscribe("NOTIFICATION_MESSAGES"); + + sub.on("message", (channel, message) => { + if (channel === "CHAT_MESSAGES") { + io.emit("chat:receive", JSON.parse(message)); + } else if (channel === "NOTIFICATION_MESSAGES") { + io.emit("notification:receive", JSON.parse(message)); + } + }); + } io.on("connection", (socket) => { console.log(`⚔ Socket connected: ${socket.id}`); From 9680d4ad796e4551afe1292e9e8d67c7ca30211d Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:13:30 +0530 Subject: [PATCH 55/91] updated the web.config issue --- .github/workflows/dev_maya.yml | 9 +- AZURE_DEPLOYMENT_CHECKLIST.md | 213 +++++++++++++++++++++++++++++ BACKEND_ISSUE_DESCRIPTION.md | 240 +++++++++++++++++++++++++++++++++ STRUCTURE_COMPARISON.md | 153 +++++++++++++++++++++ WEB_CONFIG_ANALYSIS.md | 236 ++++++++++++++++++++++++++++++++ 5 files changed, 848 insertions(+), 3 deletions(-) create mode 100644 AZURE_DEPLOYMENT_CHECKLIST.md create mode 100644 BACKEND_ISSUE_DESCRIPTION.md create mode 100644 STRUCTURE_COMPARISON.md create mode 100644 WEB_CONFIG_ANALYSIS.md diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 9374eca..335ff67 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -53,8 +53,9 @@ jobs: rm -rf .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - # Remove web.config for Linux deployment - rm -f web.config + # Note: web.config is kept for Windows deployment (remove if Linux) + # If deploying to Linux, uncomment the next line: + # rm -f web.config echo "Prepared package (excluded node_modules - Azure will install them)" echo "Package size:" du -sh . @@ -150,7 +151,9 @@ jobs: - name: Create deployment zip run: | # Exclude node_modules from zip (Azure will install them) - zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" + # Note: web.config is included for Windows deployment (remove from exclusion if Windows) + # If deploying to Linux, add "web.config" to exclusion list + zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" echo "Zip file created, size:" ls -lh deploy.zip diff --git a/AZURE_DEPLOYMENT_CHECKLIST.md b/AZURE_DEPLOYMENT_CHECKLIST.md new file mode 100644 index 0000000..94e6c4b --- /dev/null +++ b/AZURE_DEPLOYMENT_CHECKLIST.md @@ -0,0 +1,213 @@ +# Azure Deployment Checklist - MayaCode Backend + +## āœ… Critical Fixes Applied (Must Deploy) + +The following fixes were made to prevent 500 errors when optional services are missing: + +### 1. **Redis/Valkey Connection** āœ… FIXED +- **Files**: `Backend/src/sockets/index.js`, `Backend/src/services/socket.js` +- **Fix**: Now only creates Redis clients if `VALKEY_HOST` is set +- **Impact**: Prevents crash when Redis/Valkey is not configured + +### 2. **Kafka Configuration** āœ… FIXED +- **File**: `Backend/src/config/kafka.js` +- **Fix**: Now only creates Kafka instance if `KAFKA_BROKERS` is set +- **Impact**: Prevents crash when Kafka is not configured + +### 3. **Passport Google OAuth** āœ… FIXED +- **File**: `Backend/src/config/passport.js` +- **Fix**: Now only configures GoogleStrategy if credentials are provided +- **Impact**: Prevents crash when Google OAuth is not configured + +### 4. **MongoDB Connection** āœ… IMPROVED +- **File**: `Backend/src/config/db.js` +- **Fix**: Added early validation for `MONGODB_URI` +- **Impact**: Better error handling when MongoDB URI is missing + +### 5. **Kafka Consumer** āœ… IMPROVED +- **File**: `Backend/src/services/kafkaConsumer.js` +- **Fix**: Added null check before using consumer +- **Impact**: Prevents crash when Kafka consumer is not available + +--- + +## šŸš€ Deployment Steps + +### Step 1: Commit and Push Fixes +```bash +git add Backend/src/ +git commit -m "Fix: Handle missing optional services gracefully (Redis, Kafka, OAuth)" +git push origin main +``` + +### Step 2: Verify Azure Environment Variables + +Go to **Azure Portal → App Service "Maya" → Configuration → Application Settings** + +#### šŸ”“ REQUIRED (Must Have): +- [ ] `MONGODB_URI` - MongoDB connection string +- [ ] `JWT_SECRET_VERIFY` - JWT secret key + +#### 🟔 RECOMMENDED: +- [ ] `NODE_ENV` = `production` +- [ ] `PORT` - Usually auto-set by Azure (verify it exists) +- [ ] `SESSION_SECRET` - Change from default "secret" + +#### 🟢 OPTIONAL (Only if using these features): +- [ ] `KAFKA_BROKERS` - Only if using Kafka +- [ ] `VALKEY_HOST`, `VALKEY_PORT`, etc. - Only if using Redis/Valkey +- [ ] `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `BACKEND_URI` - Only if using Google OAuth +- [ ] `CLOUDINARY_NAME`, `CLOUDINARY_API_KEY`, `CLOUDINARY_API_SECRET` - Only if using Cloudinary +- [ ] `SMTP_USER`, `SMTP_PASS` - Only if using email OTP + +### Step 3: Check Azure App Service Configuration + +**Azure Portal → App Service "Maya" → Configuration → General Settings** + +- [ ] **Stack**: Node.js (verify version matches - check GitHub Actions workflow) +- [ ] **Startup Command**: Should be `node src/index.js` or `npm start` +- [ ] **Always On**: Enable to prevent cold starts +- [ ] **HTTPS Only**: Enable for production + +### Step 4: Verify Deployment Type (Windows vs Linux) + +**Check**: Azure Portal → App Service → Overview → OS + +- **If Windows**: Ensure `web.config` is deployed (currently it's excluded in GitHub Actions!) +- **If Linux**: `web.config` should NOT be deployed (current workflow is correct) + +**āš ļø IMPORTANT**: Your workflow excludes `web.config` (line 153), but if your App Service is Windows, you need `web.config`. If it's Linux, you need a startup command instead. + +### Step 5: Check MongoDB Atlas Network Access + +1. Go to **MongoDB Atlas Dashboard** +2. **Network Access** → **IP Access List** +3. Ensure **"Allow access from anywhere"** (0.0.0.0/0) is enabled + - OR add Azure App Service IP ranges + - OR add specific Azure IPs if needed + +### Step 6: Enable Application Logging + +**Azure Portal → App Service → Monitoring → Diagnostic Logs** + +- [ ] Enable **Application Logging (Filesystem)** +- [ ] Set Level to **Verbose** +- [ ] Enable **Detailed error messages** +- [ ] Save and wait 2-3 minutes + +### Step 7: Test After Deployment + +1. **Health Check**: + ```bash + curl https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ + ``` + Expected: JSON response with `"status": "healthy"` + +2. **Check Logs**: + - Azure Portal → App Service → Log stream + - Look for startup errors or missing environment variables + +3. **Kudu Console** (if needed): + - Navigate to: `https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net` + - Or: Azure Portal → Advanced Tools → Go → Debug console + - Check file structure: `site/wwwroot/` + - Verify `src/index.js` exists + +--- + +## šŸ” Troubleshooting If Still Getting 500 Error + +### 1. Check Application Logs +- Azure Portal → App Service → Log stream +- Look for: + - "Cannot find module" errors + - MongoDB connection errors + - Missing environment variable errors + - Startup crashes + +### 2. Check Kudu Console +- Verify files are deployed correctly +- Check if `node_modules` exists +- Try running: `node src/index.js` manually + +### 3. Verify Environment Variables +- Azure Portal → Configuration → Application Settings +- Check for typos +- Ensure no extra spaces +- Verify values are correct + +### 4. Check web.config (Windows Only) +- If Windows deployment, ensure `web.config` is in root +- Verify `path="src/index.js"` matches your file structure +- Check iisnode configuration + +### 5. Check Startup Command (Linux Only) +- If Linux deployment, verify startup command +- Should be: `node src/index.js` or `npm start` + +--- + +## šŸ“ GitHub Actions Workflow Issue + +**Current Issue**: Line 153 excludes `web.config` from deployment: +```yaml +zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" +``` + +**If your App Service is Windows**: +- You NEED `web.config` +- Either remove it from the exclusion list, OR +- Add a step to copy `web.config` back after creating the zip + +**If your App Service is Linux**: +- Current workflow is correct +- Ensure startup command is set in Azure Portal + +--- + +## āœ… Expected Behavior After Fixes + +With the fixes applied, the backend should: +1. āœ… Start successfully even if Redis/Valkey is not configured +2. āœ… Start successfully even if Kafka is not configured +3. āœ… Start successfully even if Google OAuth is not configured +4. āœ… Only require `MONGODB_URI` and `JWT_SECRET_VERIFY` for basic functionality +5. āœ… Show helpful warnings instead of crashing + +--- + +## šŸŽÆ Next Steps + +1. **Deploy the fixes** (commit and push) +2. **Verify environment variables** in Azure Portal +3. **Check deployment type** (Windows vs Linux) +4. **Enable application logging** for debugging +5. **Test the health endpoint** after deployment +6. **Check logs** if still getting 500 errors + +--- + +## šŸ“ž Quick Verification + +After deployment, test: +```bash +curl https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ +``` + +**Expected Response**: +```json +{ + "message": "MayaCode Backend is running!", + "status": "healthy", + "database": "connected", + "timestamp": "2025-11-03T...", + "endpoints": {...}, + "environment": { + "mongodb_configured": true, + "node_env": "production" + } +} +``` + +If you get this response, the backend is working! šŸŽ‰ + diff --git a/BACKEND_ISSUE_DESCRIPTION.md b/BACKEND_ISSUE_DESCRIPTION.md new file mode 100644 index 0000000..df78404 --- /dev/null +++ b/BACKEND_ISSUE_DESCRIPTION.md @@ -0,0 +1,240 @@ +# Azure App Service Node.js Backend 500 Internal Server Error + +## Problem Summary +Deployed Node.js/Express backend on Azure App Service returns **500 Internal Server Error** on all requests. The server is accessible (no connection refused), but fails to process requests. + +## Technical Details + +### Environment +- **Platform**: Azure App Service (Windows/Linux - need to verify) +- **URL**: https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ +- **Backend Stack**: Node.js, Express.js, MongoDB (Mongoose) +- **HTTP Status**: 500 Internal Server Error +- **Response Body**: Empty (Content-Length: 0) +- **Server Header**: Microsoft-IIS/10.0 (suggests Windows deployment) + +### Application Structure +- Entry Point: `src/index.js` +- Main App: `src/app.js` +- Database: MongoDB (using Mongoose) +- Authentication: JWT-based +- Additional Services: Kafka (optional), Socket.io, Cloudinary + +### Current Behavior +1. āœ… Server responds to requests (not connection refused) +2. āœ… HTTP redirects to HTTPS (working) +3. āŒ Returns 500 error on root endpoint `/` +4. āŒ Empty response body (no error details) + +### Code Context +- Root endpoint (`/`) in `app.js` checks MongoDB connection status +- Uses `mongoose.connection.readyState` to determine database status +- Has error handlers but not returning error details in production mode + +## Suspected Causes + +### 1. Missing Environment Variables +**Critical Variables:** +- `MONGODB_URI` - Required for database connection +- `JWT_SECRET_VERIFY` - Required for JWT authentication + +**Code Evidence:** +```javascript +// app.js line 68-69 +const mongoose = require('mongoose'); +const dbStatus = mongoose.connection.readyState === 1 ? 'connected' : 'disconnected'; +``` + +### 2. Database Connection Failure +- MongoDB connection might be failing during startup +- Connection string might be incorrect or missing +- Network/firewall issues preventing MongoDB Atlas access + +### 3. Application Startup Issues +- Node.js process might be crashing during initialization +- Missing dependencies in production +- Port configuration issues +- web.config (iisnode) configuration problems + +### 4. Error Handling +- Errors are being caught but not logged properly +- Production mode hides error details +- No error response body being returned + +## What We've Verified +- āœ… URL is accessible (DNS resolves correctly) +- āœ… HTTPS is working (SSL certificate valid) +- āœ… Server is responding (not down) +- āœ… HTTP → HTTPS redirect working +- āŒ Application logic not executing properly + +## Search Keywords for Internet Research + +### Primary Searches +1. **"Azure App Service Node.js 500 Internal Server Error empty response"** +2. **"Azure App Service Express.js 500 error no response body"** +3. **"iisnode 500 Internal Server Error Node.js Azure"** +4. **"Mongoose connection Azure App Service 500 error"** +5. **"Azure App Service Node.js environment variables not working"** + +### Specific Issue Searches +6. **"Azure App Service Node.js returns 500 Content-Length 0"** +7. **"Azure App Service Node.js application crashes on startup"** +8. **"MongoDB connection Azure App Service Node.js fails"** +9. **"Azure App Service web.config iisnode Node.js not working"** +10. **"Azure App Service Express.js health check endpoint 500"** + +### Diagnostic Searches +11. **"How to check Azure App Service Node.js logs"** +12. **"Azure App Service Application Insights Node.js errors"** +13. **"Azure App Service Kudu console Node.js debugging"** +14. **"Azure App Service Node.js environment variables not loading"** +15. **"Azure App Service Node.js dotenv not working production"** + +## Potential Solutions to Research + +### 1. Check Application Logs +- Azure Portal → App Service → Log stream +- Azure Portal → App Service → Advanced Tools (Kudu) → Debug console +- Application Insights → Failures and exceptions + +### 2. Verify Environment Variables +- Azure Portal → Configuration → Application settings +- Verify `MONGODB_URI` and `JWT_SECRET_VERIFY` are set +- Check for typos or extra spaces +- Ensure variables are saved and app restarted + +### 3. Database Connection Issues +- Verify MongoDB Atlas IP whitelist includes Azure App Service IPs +- Check MongoDB connection string format +- Test MongoDB connection from Azure App Service Kudu console + +### 4. web.config Configuration +- Verify `web.config` is correct for the deployment +- Check if using Windows vs Linux App Service +- Verify `iisnode` configuration if Windows +- Check if `web.config` should be removed for Linux deployment + +### 5. Application Initialization +- Check if app crashes during `initializeServices()` in `index.js` +- Verify all dependencies are installed +- Check for missing required modules +- Verify Node.js version compatibility + +### 6. Port Configuration +- Azure App Service sets PORT automatically +- Verify app listens on `process.env.PORT` +- Check if PORT environment variable is set correctly + +## Files to Check +- `Backend/src/index.js` - Entry point and service initialization +- `Backend/src/app.js` - Express app configuration and root endpoint +- `Backend/src/config/db.js` - MongoDB connection logic +- `Backend/web.config` - IIS/iisnode configuration (if Windows) +- `Backend/package.json` - Dependencies and scripts + +## Troubleshooting Chart + +### Systematic Diagnosis Table + +| Category | Potential Issue/Cause | Recommended Search Terms | Initial Checklist/Action in Azure Portal | +|----------|----------------------|-------------------------|------------------------------------------| +| **Application Logic** | Unhandled exceptions or code crashes during startup or request processing | "Azure App Service Node.js 500 Internal Server Error empty response", "Azure App Service Express.js 500 error no response body", "Azure App Service Node.js crashes on startup" | 1. Check Azure Portal → App Service → Log stream (real-time errors)
2. Enable and review Application Logs (Filesystem) in Monitoring → Diagnostics Logs page
3. Use Kudu console (yoursitename.scm.azurewebsites.net) to run the app from the command line and check for errors | +| **Configuration** | Missing or incorrect environment variables (e.g., database connection strings) required by the app | "Azure App Service Node.js environment variables not loading", "web.config configuration is not correct" | 1. Verify environment variables in Configuration → Application settings
2. Check if web.config is correct and present for your deployment type (it might be auto-generated) | +| **Database Connectivity** | Failure to connect to the MongoDB database (e.g., firewall, incorrect credentials) | "MongoDB connection Azure App Service Node.js 500 error", "MongoDB Atlas allows Azure App Service IPs" | 1. Check if MongoDB Atlas allows Azure App Service IPs (allow connections from Azure services)
2. Ensure the database is running and connection strings are accurate | +| **Deployment/Platform** | Incorrect file paths, missing main script file, or application taking too long to start (iisnode timeout) | "iisnode 500 Internal Server Error Node.js Azure", "Node.exe is not present at the correct location" | 1. Verify the main script file name in web.config matches the deployed file
2. Increase the maxNamedPipeConnectionRetry and namedPipeConnectionRetryDelay settings if it's a cold start/timeout issue | + +## Action Plan - Step by Step + +### Step 1: Check Application Logs (HIGHEST PRIORITY) +**Action Items:** +1. Go to Azure Portal → App Service "Maya" → **Log stream** + - Look for error messages, stack traces, or initialization failures + - Check for "Cannot find module" errors + - Look for MongoDB connection errors + - Note any "PORT" or environment variable issues + +2. Enable Application Logs: + - Azure Portal → App Service → **Monitoring** → **Diagnostics Logs** + - Enable **Application Logging (Filesystem)** + - Set Level to **Verbose** + - Save and wait 2-3 minutes, then check logs again + +3. Access Kudu Console: + - Navigate to: `https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net` + - Or: Azure Portal → App Service → **Advanced Tools** → **Go** → **Debug console** → **CMD** + - Check file structure: `site/wwwroot/` + - Verify `src/index.js` exists + - Check `node_modules` folder exists and has dependencies + +### Step 2: Verify Environment Variables +**Action Items:** +1. Azure Portal → App Service "Maya" → **Configuration** → **Application settings** +2. Verify these exist: + - āœ… `MONGODB_URI` (should start with `mongodb+srv://...`) + - āœ… `JWT_SECRET_VERIFY` (should be a long random string) + - āœ… `PORT` (usually auto-set by Azure, but verify it exists) + - āœ… `NODE_ENV` (should be `production`) +3. Check for typos, extra spaces, or missing quotes +4. **Save** configuration (app will restart automatically) +5. Wait 2-3 minutes for restart, then test again + +### Step 3: Database Connection Check +**Action Items:** +1. MongoDB Atlas Dashboard: + - Go to **Network Access** → **IP Access List** + - Ensure **"Allow access from anywhere"** (0.0.0.0/0) is enabled + - OR add Azure App Service IP ranges (search for "Azure App Service IP ranges") + +2. Verify MongoDB Connection String: + - Format: `mongodb+srv://username:password@cluster.mongodb.net/mayacode?retryWrites=true&w=majority` + - Check username/password are correct + - Verify cluster name matches your Atlas cluster + +3. Test from Kudu Console: + - In Kudu → **Debug console** → **CMD** + - Navigate to: `cd D:\home\site\wwwroot` + - Try: `node -e "require('dotenv').config(); console.log(process.env.MONGODB_URI ? 'MONGODB_URI exists' : 'MONGODB_URI missing')"` + +### Step 4: Check web.config and Deployment +**Action Items:** +1. Verify Deployment Type: + - Azure Portal → App Service → **Configuration** → **General settings** + - Check if **Stack** is "Node.js" and correct version + - Note if it's Windows or Linux + +2. Check web.config (if Windows): + - In Kudu console, check: `D:\home\site\wwwroot\web.config` + - Verify `path="src/index.js"` matches your actual file location + - Check if `web.config` exists and is readable + +3. Verify File Structure: + - `site/wwwroot/src/index.js` should exist + - `site/wwwroot/src/app.js` should exist + - `site/wwwroot/package.json` should exist + - `site/wwwroot/node_modules` should exist with dependencies + +4. Check Startup Command (if Linux): + - Azure Portal → **Configuration** → **General settings** → **Startup Command** + - Should be: `node src/index.js` or `npm start` + - Verify this matches your `package.json` start script + +### Step 5: Test Application Startup +**Action Items:** +1. In Kudu Console → **Debug console** → **CMD**: + ```bash + cd D:\home\site\wwwroot + node src/index.js + ``` + - Watch for errors during startup + - Check if MongoDB connection is attempted + - Note any missing module errors + +2. Check Node.js Version: + - Kudu console: `node --version` + - Verify it matches your local development version + - Azure Portal → Configuration → General settings → Stack settings + +## Next Steps +By following this chart systematically, you can diagnose and address the root cause of the 500 error. Start with Step 1 (Application Logs) as it will most likely reveal the exact error causing the 500 response. + diff --git a/STRUCTURE_COMPARISON.md b/STRUCTURE_COMPARISON.md new file mode 100644 index 0000000..22302b9 --- /dev/null +++ b/STRUCTURE_COMPARISON.md @@ -0,0 +1,153 @@ +# Structure Comparison: Chiltel vs MayaCode Backend + +## āœ… Files Present in Both + +| Component | Chiltel | MayaCode | Status | +|-----------|---------|----------|--------| +| Main Entry | `server.js` | `src/index.js` | āœ… Different but equivalent | +| Azure Config | `web.config` | `web.config` | āœ… Present | +| Package File | `package.json` | `package.json` | āœ… Present | +| Config Folder | `config/` | `src/config/` | āœ… Present | +| Controllers | `controllers/` | `src/controllers/` | āœ… Present | +| Middleware | `middleware/` | `src/middleware/` | āœ… Present | +| Models | `models/` | `src/models/` | āœ… Present | +| Routes | `routes/` | `src/routes/` | āœ… Present | +| Services | `services/` | `src/services/` | āœ… Present | +| Utils | `utils/` | `src/utils/` | āœ… Present | +| Public | `public/` | `public/` | āœ… Present | + +## āŒ Files Missing in MayaCode + +### 1. **start-websocket.js** (Optional) +**Chiltel**: Separate WebSocket startup file +**MayaCode**: WebSocket integrated in `src/index.js` via `setupSocket(server)` + +**Impact**: +- āœ… **Not Critical** - MayaCode integrates WebSocket into main server +- āš ļø **If you need separate WebSocket process**: You'd need this file + +**Recommendation**: Only needed if you want to run WebSocket as a separate process. Current integration is fine. + +### 2. **constants/** folder (Optional) +**Chiltel**: Has a `constants/` folder (likely for centralizing config values) +**MayaCode**: Uses environment variables directly + +**Impact**: +- āœ… **Not Critical** - Environment variables work fine +- šŸ’” **Nice to have** - Could centralize API endpoints, default values, etc. + +**Recommendation**: Optional improvement, not required for deployment. + +--- + +## šŸ” Critical Files Check for Azure Deployment + +### āœ… **web.config** - PRESENT +```xml + + +``` +**Status**: āœ… Correct + +### āœ… **Main Entry Point** - PRESENT +```javascript +// MayaCode: src/index.js +// Chiltel: server.js +``` +**Status**: āœ… Correct (just different naming) + +### āœ… **Package.json Scripts** - CORRECT +```json +{ + "start": "node src/index.js" +} +``` +**Status**: āœ… Correct + +### āš ļø **Startup Command for Azure** +**For Linux App Service**: Should be `node src/index.js` or `npm start` +**For Windows App Service**: web.config handles it automatically + +**Check**: Azure Portal → Configuration → General Settings → Startup Command + +--- + +## šŸŽÆ Key Differences + +### Architecture Differences (Both Valid) + +1. **WebSocket Integration** + - **Chiltel**: Separate process (`start-websocket.js`) + - **MayaCode**: Integrated in main server (`setupSocket(server)`) + - **Verdict**: āœ… MayaCode approach is fine, simpler + +2. **Configuration Management** + - **Chiltel**: Uses `constants/` folder + environment variables + - **MayaCode**: Direct environment variables + - **Verdict**: āœ… Both work, MayaCode is simpler + +3. **File Structure** + - **Chiltel**: Flat structure (`server.js` at root) + - **MayaCode**: Organized in `src/` folder + - **Verdict**: āœ… MayaCode structure is cleaner + +--- + +## āœ… Conclusion: MayaCode Has All Critical Files + +**MayaCode backend is NOT missing any critical files for Azure deployment.** + +The missing items (`start-websocket.js`, `constants/`) are: +- āœ… Optional architectural choices +- āœ… Not required for basic deployment +- āœ… Can be added later if needed + +--- + +## šŸ“‹ Azure Deployment Requirements Checklist + +### āœ… Required Files (All Present) +- [x] `web.config` - For Windows Azure App Service +- [x] `package.json` - Dependencies and scripts +- [x] Main entry point (`src/index.js`) +- [x] Config files (`src/config/`) +- [x] Routes, controllers, models, services + +### āš ļø Azure-Specific Checks +- [ ] **Startup Command**: Set in Azure Portal (if Linux) +- [ ] **Environment Variables**: Set in Azure Portal +- [ ] **web.config**: Verify path matches your structure (`src/index.js`) +- [ ] **Node.js Version**: Set in Azure Portal + +--- + +## šŸ”§ Optional Improvements (Not Critical) + +1. **Create constants/index.js** (if you want centralized config): + ```javascript + module.exports = { + API_VERSION: 'v1', + DEFAULT_PAGE_SIZE: 20, + // etc. + }; + ``` + +2. **Create start-websocket.js** (if you want separate WebSocket process): + ```javascript + // Only needed if running WebSocket separately + // Current integration is fine + ``` + +--- + +## āœ… Final Verdict + +**MayaCode backend structure is complete and ready for Azure deployment.** + +The 500 error is likely due to: +1. āœ… Missing environment variables (fixed with our configuration checks) +2. āœ… Optional services crashing (fixed with our graceful handling) +3. āš ļø Azure-specific configuration (startup command, web.config path) + +**Next Steps**: Deploy the fixes and verify Azure Portal settings. + diff --git a/WEB_CONFIG_ANALYSIS.md b/WEB_CONFIG_ANALYSIS.md new file mode 100644 index 0000000..ff9239c --- /dev/null +++ b/WEB_CONFIG_ANALYSIS.md @@ -0,0 +1,236 @@ +# web.config Analysis for MayaCode Backend + +## āœ… Current Configuration Status + +### What's Correct: +1. **Entry Point Path**: `path="src/index.js"` āœ… Matches actual file +2. **Rewrite Rules**: Correctly routes all requests to `src/index.js` āœ… +3. **iisnode Handler**: Properly configured āœ… +4. **Logging**: Enabled āœ… + +### Current web.config: +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +--- + +## āš ļø Potential Issues & Improvements + +### 1. **Missing Error Handling** +Current config doesn't specify error pages or error handling behavior. + +### 2. **Missing Timeout Settings** +No timeout configuration for long-running requests or startup. + +### 3. **Missing Environment Variable Handling** +Could add explicit environment variable configuration. + +### 4. **Missing Static File Handling** +Could add better handling for static files in `/public` directory. + +### 5. **Missing WebSocket Support** +Socket.io might need explicit WebSocket support configuration. + +--- + +## šŸ”§ Recommended Improved web.config + +Here's an enhanced version with better error handling and configuration: + +```xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +``` + +--- + +## āœ… Verification Checklist + +### Current web.config: +- [x] Entry point path is correct (`src/index.js`) +- [x] Rewrite rules are configured +- [x] iisnode handler is set up +- [x] Logging is enabled +- [ ] Error handling could be improved +- [ ] Timeout settings missing +- [ ] Static file handling could be better +- [ ] WebSocket support not explicitly configured + +--- + +## šŸŽÆ Critical Issues to Check + +### 1. **Path Verification** +āœ… **CORRECT**: `path="src/index.js"` matches your actual file structure +- File exists at: `Backend/src/index.js` āœ… +- Package.json script: `"start": "node src/index.js"` āœ… + +### 2. **Azure Deployment** +āš ļø **CHECK**: Your GitHub Actions workflow excludes `web.config`: +```yaml +zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" +``` + +**ISSUE**: If your Azure App Service is **Windows**, you NEED `web.config`! + +**Solution**: Either: +- Remove `web.config` from exclusion list, OR +- Add step to copy `web.config` back after creating zip + +### 3. **Environment Variables** +āœ… `node_env="%node_env%"` is correct - Azure will set this automatically + +--- + +## šŸ“‹ Recommended Action + +### Option 1: Keep Current (Minimal) Config +If your current setup works, keep it. The current config is **functionally correct**. + +### Option 2: Enhanced Config (Recommended) +Use the enhanced version above for: +- Better error handling +- Improved logging +- Static file optimization +- WebSocket support +- Better timeout handling + +### Option 3: Fix Deployment Issue +**CRITICAL**: Fix your GitHub Actions workflow to include `web.config` if deploying to Windows: + +```yaml +# In .github/workflows/dev_maya.yml, line 153 +# Change from: +zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" + +# To (if Windows): +zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" +# OR (if Linux): +# Remove web.config entirely, use startup command instead +``` + +--- + +## āœ… Final Verdict + +**Current web.config is CORRECTLY configured** for the file structure. + +**However**, the deployment workflow might be excluding it, which could cause 500 errors if: +- Azure App Service is Windows-based +- web.config is not deployed +- IIS doesn't know how to handle Node.js requests + +**Next Steps**: +1. āœ… Verify web.config is being deployed (check GitHub Actions) +2. āœ… Verify Azure App Service OS (Windows vs Linux) +3. āœ… If Windows: Ensure web.config is included in deployment +4. āœ… If Linux: Remove web.config, use startup command instead + From 0873968070a27a117a5757b775bc7db25f1f8fd2 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:18:55 +0530 Subject: [PATCH 56/91] updated the workflow --- .github/workflows/dev_maya.yml | 38 +++++++--------------------------- 1 file changed, 8 insertions(+), 30 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 335ff67..6232dab 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -81,28 +81,18 @@ jobs: - name: Debug - Check artifact structure run: | - echo "Current directory contents:" + echo "Current directory contents after download:" ls -la - echo "Checking for package.json:" + # The artifact is already the contents of the Backend folder, no need to move if [ -f "package.json" ]; then - echo "āœ… package.json found at root" - elif [ -f "Backend/package.json" ]; then - echo "āœ… package.json found in Backend folder" - echo "Moving Backend contents to root..." - shopt -s dotglob - mv Backend/* . - rmdir Backend 2>/dev/null || true - echo "Contents after move:" - ls -la + echo "āœ… package.json found at root of artifact" else - echo "āŒ package.json not found!" + echo "āŒ package.json not found at root of artifact!" find . -name "package.json" -type f exit 1 fi echo "Package size:" du -sh . - echo "Verifying package.json content:" - cat package.json | head -15 - name: Login to Azure uses: azure/login@v2 @@ -113,16 +103,13 @@ jobs: - name: Get App Service details run: | - echo "Listing all web apps to find resource group..." - az webapp list --query "[?name=='Maya'].{name:name, resourceGroup:resourceGroup, state:state}" -o table + # Add this step to ensure the RESOURCE_GROUP variable is set correctly for subsequent steps RESOURCE_GROUP=$(az webapp list --query "[?name=='Maya'].resourceGroup" -o tsv | head -1) if [ -z "$RESOURCE_GROUP" ]; then - echo "Could not find resource group. Trying alternative method..." RESOURCE_GROUP=$(az resource list --name Maya --resource-type "Microsoft.Web/sites" --query "[0].resourceGroup" -o tsv) fi if [ -z "$RESOURCE_GROUP" ]; then echo "Error: Could not determine resource group for app 'Maya'" - echo "Please check the app name and ensure you have proper permissions" exit 1 fi echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_ENV @@ -131,7 +118,7 @@ jobs: - name: Configure App Service to build during deployment run: | - # Set app setting to install dependencies during deployment + # Set app setting to install dependencies during deployment using Oryx az webapp config appsettings set \ --name Maya \ --resource-group "$RESOURCE_GROUP" \ @@ -148,20 +135,11 @@ jobs: echo "Waiting 5 seconds for service to be ready..." sleep 5 - - name: Create deployment zip - run: | - # Exclude node_modules from zip (Azure will install them) - # Note: web.config is included for Windows deployment (remove from exclusion if Windows) - # If deploying to Linux, add "web.config" to exclusion list - zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" - echo "Zip file created, size:" - ls -lh deploy.zip - - - name: Deploy using GitHub Action (recommended) + - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 id: deploy-to-webapp with: app-name: 'Maya' slot-name: 'Production' - package: deploy.zip + package: . # Point to the current directory where artifact was downloaded \ No newline at end of file From 69cec335dffa33f2f69667be75c019d581ec4546 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:23:11 +0530 Subject: [PATCH 57/91] Fix: Streamline Azure deployment, pass app-settings directly to deploy action --- .github/workflows/dev_maya.yml | 49 ++++++---------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 6232dab..c585417 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -83,13 +83,11 @@ jobs: run: | echo "Current directory contents after download:" ls -la - # The artifact is already the contents of the Backend folder, no need to move - if [ -f "package.json" ]; then - echo "āœ… package.json found at root of artifact" - else - echo "āŒ package.json not found at root of artifact!" - find . -name "package.json" -type f - exit 1 + if [ -f "package.json" ]; then + echo "āœ… package.json found"; + else + echo "āŒ package.json not found!"; + exit 1; fi echo "Package size:" du -sh . @@ -100,40 +98,6 @@ jobs: client-id: ${{ secrets.AZUREAPPSERVICE_CLIENTID_97B8DA4EDB1F4771AECAA074696E3E74 }} tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} - - - name: Get App Service details - run: | - # Add this step to ensure the RESOURCE_GROUP variable is set correctly for subsequent steps - RESOURCE_GROUP=$(az webapp list --query "[?name=='Maya'].resourceGroup" -o tsv | head -1) - if [ -z "$RESOURCE_GROUP" ]; then - RESOURCE_GROUP=$(az resource list --name Maya --resource-type "Microsoft.Web/sites" --query "[0].resourceGroup" -o tsv) - fi - if [ -z "$RESOURCE_GROUP" ]; then - echo "Error: Could not determine resource group for app 'Maya'" - exit 1 - fi - echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_ENV - echo "Resource Group: $RESOURCE_GROUP" - az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{name:name, resourceGroup:resourceGroup, state:state, os:siteConfig.linuxFxVersion}" -o table - - - name: Configure App Service to build during deployment - run: | - # Set app setting to install dependencies during deployment using Oryx - az webapp config appsettings set \ - --name Maya \ - --resource-group "$RESOURCE_GROUP" \ - --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true \ - --output none - echo "āœ… Configured app to build during deployment" - - - name: Check App Service status - run: | - echo "Checking App Service and SCM site status..." - az webapp show --name Maya --resource-group "$RESOURCE_GROUP" --query "{state:state, enabled:enabled, scmSiteAlsoStopped:siteConfig.scmSiteAlsoStopped}" -o table - # Ensure app is running - az webapp start --name Maya --resource-group "$RESOURCE_GROUP" --output none || true - echo "Waiting 5 seconds for service to be ready..." - sleep 5 - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 @@ -142,4 +106,7 @@ jobs: app-name: 'Maya' slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded + # Explicitly set the app setting as an input to the action for clarity and reliability + app-settings: | + SCM_DO_BUILD_DURING_DEPLOYMENT=true \ No newline at end of file From e3755a93240be6829a1e516272817701dcb590b6 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:27:23 +0530 Subject: [PATCH 58/91] updated the workflow --- .github/workflows/dev_maya.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index c585417..b29ee9f 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,9 +46,8 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove node_modules, logs, and unnecessary files to reduce package size - # Azure will install node_modules automatically during deployment - rm -rf node_modules + # Keep node_modules - deploying self-contained package + # Remove only logs and unnecessary files to reduce package size rm -rf logs rm -rf .git find . -name "*.log" -type f -delete @@ -56,7 +55,7 @@ jobs: # Note: web.config is kept for Windows deployment (remove if Linux) # If deploying to Linux, uncomment the next line: # rm -f web.config - echo "Prepared package (excluded node_modules - Azure will install them)" + echo "Prepared self-contained package (includes node_modules)" echo "Package size:" du -sh . @@ -89,6 +88,12 @@ jobs: echo "āŒ package.json not found!"; exit 1; fi + if [ -d "node_modules" ]; then + echo "āœ… node_modules found (self-contained package)"; + else + echo "āŒ node_modules not found!"; + exit 1; + fi echo "Package size:" du -sh . @@ -106,7 +111,5 @@ jobs: app-name: 'Maya' slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - # Explicitly set the app setting as an input to the action for clarity and reliability - app-settings: | - SCM_DO_BUILD_DURING_DEPLOYMENT=true + # Self-contained package deployed - no build needed on Azure \ No newline at end of file From 2e613d538ee73531cdeae5bc5d314344264251ca Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 01:32:42 +0530 Subject: [PATCH 59/91] update --- .github/workflows/dev_maya.yml | 51 ++++++++++++++++++++++++++++------ 1 file changed, 42 insertions(+), 9 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index b29ee9f..080d4ac 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -52,9 +52,10 @@ jobs: rm -rf .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - # Note: web.config is kept for Windows deployment (remove if Linux) - # If deploying to Linux, uncomment the next line: + # Note: web.config is for Windows IIS deployment + # If your Azure App Service is Linux-based, uncomment the next line: # rm -f web.config + # For Windows App Service, keep web.config echo "Prepared self-contained package (includes node_modules)" echo "Package size:" du -sh . @@ -78,23 +79,55 @@ jobs: with: name: node-app - - name: Debug - Check artifact structure + - name: Debug - Check and prepare artifact structure run: | echo "Current directory contents after download:" ls -la + # GitHub Actions may extract artifacts into a subfolder named after the artifact + # Find where package.json actually is if [ -f "package.json" ]; then - echo "āœ… package.json found"; - else - echo "āŒ package.json not found!"; - exit 1; + echo "āœ… package.json found at root"; + DEPLOY_PATH="."; + elif [ -d "node-app" ] && [ -f "node-app/package.json" ]; then + echo "āœ… package.json found in node-app folder, moving to root..."; + # Move contents to root for consistent deployment + shopt -s dotglob + mv node-app/* . + rmdir node-app 2>/dev/null || true + DEPLOY_PATH="."; + else + echo "āŒ package.json not found!"; + echo "Searching for package.json:"; + find . -name "package.json" -type f + exit 1; + fi + echo "Verifying final structure:" + ls -la + if [ -f "package.json" ]; then + echo "āœ… package.json confirmed at root"; + echo "Package.json start script:" + grep -A 1 '"start"' package.json || echo "Start script not found in package.json" fi if [ -d "node_modules" ]; then echo "āœ… node_modules found (self-contained package)"; + echo "node_modules size:" + du -sh node_modules/ | head -1 else echo "āŒ node_modules not found!"; exit 1; fi - echo "Package size:" + if [ -f "src/index.js" ]; then + echo "āœ… src/index.js found (entry point)"; + else + echo "āŒ src/index.js not found!"; + exit 1; + fi + # Check for web.config (Windows deployment) - remove if deploying to Linux + if [ -f "web.config" ]; then + echo "āš ļø web.config found (for Windows/IIS deployment)"; + echo "If deploying to Linux App Service, remove web.config in the prepare step"; + fi + echo "Total package size:" du -sh . - name: Login to Azure @@ -110,6 +143,6 @@ jobs: with: app-name: 'Maya' slot-name: 'Production' - package: . # Point to the current directory where artifact was downloaded + package: . # Package is now at root after structure check/preparation # Self-contained package deployed - no build needed on Azure \ No newline at end of file From 92920aef7f5e7ed5d1a6b53f5e26a5942792da55 Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Tue, 4 Nov 2025 01:40:35 +0530 Subject: [PATCH 60/91] added .deploymentignore file --- .deploymentignore | 44 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 .deploymentignore diff --git a/.deploymentignore b/.deploymentignore new file mode 100644 index 0000000..54f0320 --- /dev/null +++ b/.deploymentignore @@ -0,0 +1,44 @@ +# Exclude Frontend (React Native app - not needed on Azure App Service) +# The Frontend is a mobile app that should be deployed separately via Expo/App Store +Frontend/ + +# Exclude node_modules (will be installed on Azure via npm install) +**/node_modules/ + +# Exclude development files +**/.git/ +**/.gitignore +**/.DS_Store +**/.vscode/ +**/.idea/ +**/*.swp +**/*.log + +# Exclude environment files (should be configured in Azure App Settings) +**/.env +**/.env.local +**/.env.*.local + +# Exclude build artifacts and development directories +**/build/ +**/dist/ +**/.expo/ +**/.next/ +**/.cache/ + +# Exclude test files +**/__tests__/ +**/*.test.js +**/*.test.ts +**/*.test.jsx +**/*.test.tsx +**/*.spec.js +**/*.spec.ts + +# Exclude documentation (optional - reduces size) +**/README.md +**/docs/ + +# Exclude development scripts (optional - keep if needed) +# **/scripts/ + From 39b7773065c1a80e44f95b75b16e5b7dd4480962 Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Tue, 4 Nov 2025 01:57:23 +0530 Subject: [PATCH 61/91] update dev_maya.yml --- .github/workflows/dev_maya.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 080d4ac..5731ce8 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,8 +46,10 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Keep node_modules - deploying self-contained package - # Remove only logs and unnecessary files to reduce package size + # Exclude node_modules - Azure will install dependencies automatically + # This significantly reduces package size and prevents disk space errors + echo "Removing node_modules to reduce package size..." + rm -rf node_modules rm -rf logs rm -rf .git find . -name "*.log" -type f -delete @@ -56,7 +58,7 @@ jobs: # If your Azure App Service is Linux-based, uncomment the next line: # rm -f web.config # For Windows App Service, keep web.config - echo "Prepared self-contained package (includes node_modules)" + echo "āœ… Prepared deployment package (node_modules excluded - Azure will install)" echo "Package size:" du -sh . @@ -109,12 +111,13 @@ jobs: grep -A 1 '"start"' package.json || echo "Start script not found in package.json" fi if [ -d "node_modules" ]; then - echo "āœ… node_modules found (self-contained package)"; + echo "āš ļø node_modules found (will be excluded from deployment)"; echo "node_modules size:" du -sh node_modules/ | head -1 + echo "Removing node_modules to reduce package size..." + rm -rf node_modules else - echo "āŒ node_modules not found!"; - exit 1; + echo "āœ… node_modules excluded (Azure will install dependencies)"; fi if [ -f "src/index.js" ]; then echo "āœ… src/index.js found (entry point)"; @@ -144,5 +147,5 @@ jobs: app-name: 'Maya' slot-name: 'Production' package: . # Package is now at root after structure check/preparation - # Self-contained package deployed - no build needed on Azure + # Azure will automatically run 'npm install --production' after deployment \ No newline at end of file From 037402057aee76021fc7aa53c0ead6b95a490a3f Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Tue, 4 Nov 2025 02:03:42 +0530 Subject: [PATCH 62/91] udate yaml file --- .github/workflows/dev_maya.yml | 68 +++++++++++++++++++++++----------- 1 file changed, 46 insertions(+), 22 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 5731ce8..e3cb964 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,21 +46,28 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Exclude node_modules - Azure will install dependencies automatically - # This significantly reduces package size and prevents disk space errors - echo "Removing node_modules to reduce package size..." + # Exclude node_modules and unnecessary files to reduce package size + echo "🧹 Cleaning up deployment package..." rm -rf node_modules rm -rf logs rm -rf .git + rm -rf .expo + rm -rf .cache find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete + find . -name "*.md" -not -name "package.json" -type f -delete || true + # Remove test files if they exist + find . -name "*.test.js" -type f -delete || true + find . -name "*.spec.js" -type f -delete || true # Note: web.config is for Windows IIS deployment # If your Azure App Service is Linux-based, uncomment the next line: # rm -f web.config # For Windows App Service, keep web.config - echo "āœ… Prepared deployment package (node_modules excluded - Azure will install)" - echo "Package size:" + echo "āœ… Cleaned deployment package" + echo "šŸ“¦ Package size:" du -sh . + echo "šŸ“‹ Top 10 largest files/directories:" + du -sh * | sort -hr | head -10 - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -83,7 +90,7 @@ jobs: - name: Debug - Check and prepare artifact structure run: | - echo "Current directory contents after download:" + echo "šŸ“„ Current directory contents after download:" ls -la # GitHub Actions may extract artifacts into a subfolder named after the artifact # Find where package.json actually is @@ -103,35 +110,36 @@ jobs: find . -name "package.json" -type f exit 1; fi - echo "Verifying final structure:" + # Final cleanup - remove node_modules if accidentally included + if [ -d "node_modules" ]; then + echo "āš ļø node_modules found (removing to reduce package size)..."; + rm -rf node_modules + fi + + echo "šŸ“‹ Verifying final structure:" ls -la + echo "" if [ -f "package.json" ]; then echo "āœ… package.json confirmed at root"; - echo "Package.json start script:" + echo "šŸ“ Package.json start script:" grep -A 1 '"start"' package.json || echo "Start script not found in package.json" fi - if [ -d "node_modules" ]; then - echo "āš ļø node_modules found (will be excluded from deployment)"; - echo "node_modules size:" - du -sh node_modules/ | head -1 - echo "Removing node_modules to reduce package size..." - rm -rf node_modules - else - echo "āœ… node_modules excluded (Azure will install dependencies)"; - fi if [ -f "src/index.js" ]; then echo "āœ… src/index.js found (entry point)"; else echo "āŒ src/index.js not found!"; exit 1; fi - # Check for web.config (Windows deployment) - remove if deploying to Linux if [ -f "web.config" ]; then - echo "āš ļø web.config found (for Windows/IIS deployment)"; - echo "If deploying to Linux App Service, remove web.config in the prepare step"; + echo "āœ… web.config found (for Windows/IIS deployment)"; + else + echo "āš ļø web.config not found (may be needed for Windows deployment)"; fi - echo "Total package size:" + echo "" + echo "šŸ“¦ Final package size:" du -sh . + echo "šŸ“Š Top 10 largest files/directories:" + du -sh * 2>/dev/null | sort -hr | head -10 - name: Login to Azure uses: azure/login@v2 @@ -140,12 +148,28 @@ jobs: tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} + - name: Create deployment zip + run: | + echo "šŸ“¦ Creating deployment zip file..." + zip -r deploy.zip . -q -x "*.git*" "*.DS_Store" "*.log" + echo "āœ… Deployment zip created" + ls -lh deploy.zip + ZIP_SIZE=$(du -sm deploy.zip | cut -f1) + echo "šŸ“ Zip file size: ${ZIP_SIZE}MB" + # Warn if zip is larger than 50MB (Azure OneDeploy recommends < 50MB) + if [ "$ZIP_SIZE" -gt 50 ]; then + echo "āš ļø WARNING: Zip file is ${ZIP_SIZE}MB, which is larger than recommended 50MB" + echo "šŸ’” This may cause OneDeploy to fail. Consider excluding more files." + else + echo "āœ… Zip file size is within recommended limits (< 50MB)" + fi + - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 id: deploy-to-webapp with: app-name: 'Maya' slot-name: 'Production' - package: . # Package is now at root after structure check/preparation + package: deploy.zip # Use explicit zip file for OneDeploy # Azure will automatically run 'npm install --production' after deployment \ No newline at end of file From f56f77dfe965055ead2525d483448579df69bbb8 Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Tue, 4 Nov 2025 02:09:26 +0530 Subject: [PATCH 63/91] check --- .github/workflows/dev_maya.yml | 54 ++++++++++++++++++++++++++-------- 1 file changed, 42 insertions(+), 12 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index e3cb964..2c4f3f2 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -73,7 +73,7 @@ jobs: uses: actions/upload-artifact@v4 with: name: node-app - path: ./Backend + path: ./Backend # Uploads Backend directory contents (package.json, src/, etc.) deploy: runs-on: ubuntu-latest @@ -92,24 +92,46 @@ jobs: run: | echo "šŸ“„ Current directory contents after download:" ls -la - # GitHub Actions may extract artifacts into a subfolder named after the artifact - # Find where package.json actually is - if [ -f "package.json" ]; then - echo "āœ… package.json found at root"; - DEPLOY_PATH="."; + echo "" + echo "šŸ” Searching for package.json in various locations..." + + # GitHub Actions may extract artifacts into different folder structures + # Handle all possible cases: root, node-app/, node-app/Backend/, or Backend/ + + if [ -f "package.json" ]; then + echo "āœ… package.json found at root - no flattening needed"; elif [ -d "node-app" ] && [ -f "node-app/package.json" ]; then - echo "āœ… package.json found in node-app folder, moving to root..."; - # Move contents to root for consistent deployment + echo "āœ… package.json found in node-app/, flattening to root..."; shopt -s dotglob mv node-app/* . rmdir node-app 2>/dev/null || true - DEPLOY_PATH="."; + elif [ -d "node-app" ] && [ -d "node-app/Backend" ] && [ -f "node-app/Backend/package.json" ]; then + echo "āœ… package.json found in node-app/Backend/, flattening to root..."; + shopt -s dotglob + mv node-app/Backend/* . + rmdir node-app/Backend 2>/dev/null || true + rmdir node-app 2>/dev/null || true + elif [ -d "Backend" ] && [ -f "Backend/package.json" ]; then + echo "āœ… package.json found in Backend/, flattening to root..."; + shopt -s dotglob + mv Backend/* . + rmdir Backend 2>/dev/null || true else - echo "āŒ package.json not found!"; - echo "Searching for package.json:"; + echo "āŒ package.json not found in expected locations!"; + echo "Searching recursively for package.json:" find . -name "package.json" -type f + echo "" + echo "Current directory structure:" + find . -type f -name "package.json" -o -type d -name "src" | head -20 + exit 1; + fi + + # Verify package.json is now at root + if [ ! -f "package.json" ]; then + echo "āŒ ERROR: package.json still not at root after flattening!"; exit 1; fi + echo "āœ… Confirmed: package.json is at root" # Final cleanup - remove node_modules if accidentally included if [ -d "node_modules" ]; then echo "āš ļø node_modules found (removing to reduce package size)..."; @@ -127,7 +149,15 @@ jobs: if [ -f "src/index.js" ]; then echo "āœ… src/index.js found (entry point)"; else - echo "āŒ src/index.js not found!"; + echo "āŒ src/index.js not found at root/src/index.js!"; + echo "Searching for index.js files:" + find . -name "index.js" -type f + echo "" + echo "Checking if src directory exists:" + ls -la src/ 2>/dev/null || echo "src/ directory not found" + echo "" + echo "Current directory structure:" + find . -type d -maxdepth 2 | head -20 exit 1; fi if [ -f "web.config" ]; then From b06824079e1fc2e8b52e476de1f09e4b8a54e75c Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Tue, 4 Nov 2025 02:23:44 +0530 Subject: [PATCH 64/91] check1 --- .github/workflows/dev_maya.yml | 95 ++++++++++++++++++++++++---------- 1 file changed, 67 insertions(+), 28 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 2c4f3f2..e9be494 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -93,51 +93,90 @@ jobs: echo "šŸ“„ Current directory contents after download:" ls -la echo "" - echo "šŸ” Searching for package.json in various locations..." + echo "šŸ” Searching for package.json..." - # GitHub Actions may extract artifacts into different folder structures - # Handle all possible cases: root, node-app/, node-app/Backend/, or Backend/ + # Find package.json anywhere in the directory tree + PACKAGE_JSON_PATH=$(find . -name "package.json" -type f | head -1) - if [ -f "package.json" ]; then - echo "āœ… package.json found at root - no flattening needed"; - elif [ -d "node-app" ] && [ -f "node-app/package.json" ]; then - echo "āœ… package.json found in node-app/, flattening to root..."; - shopt -s dotglob - mv node-app/* . - rmdir node-app 2>/dev/null || true - elif [ -d "node-app" ] && [ -d "node-app/Backend" ] && [ -f "node-app/Backend/package.json" ]; then - echo "āœ… package.json found in node-app/Backend/, flattening to root..."; - shopt -s dotglob - mv node-app/Backend/* . - rmdir node-app/Backend 2>/dev/null || true - rmdir node-app 2>/dev/null || true - elif [ -d "Backend" ] && [ -f "Backend/package.json" ]; then - echo "āœ… package.json found in Backend/, flattening to root..."; - shopt -s dotglob - mv Backend/* . - rmdir Backend 2>/dev/null || true - else - echo "āŒ package.json not found in expected locations!"; - echo "Searching recursively for package.json:" - find . -name "package.json" -type f - echo "" - echo "Current directory structure:" - find . -type f -name "package.json" -o -type d -name "src" | head -20 + if [ -z "$PACKAGE_JSON_PATH" ]; then + echo "āŒ ERROR: package.json not found anywhere!"; + echo "Directory structure:" + find . -type d | head -20 exit 1; fi + echo "āœ… Found package.json at: $PACKAGE_JSON_PATH" + + # If package.json is already at root, no flattening needed + if [ "$PACKAGE_JSON_PATH" = "./package.json" ]; then + echo "āœ… package.json already at root - no flattening needed"; + else + # Get the directory containing package.json + PACKAGE_DIR=$(dirname "$PACKAGE_JSON_PATH") + echo "šŸ“¦ package.json is in directory: $PACKAGE_DIR" + + # Count how many levels deep + DEPTH=$(echo "$PACKAGE_DIR" | tr -cd '/' | wc -c) + echo "šŸ“ Depth: $DEPTH levels" + + # Flatten: move all contents from package.json directory to root + if [ "$PACKAGE_DIR" != "." ]; then + echo "šŸ”„ Flattening structure: moving contents from $PACKAGE_DIR to root..." + + # Normalize the path (remove leading ./) + PACKAGE_DIR="${PACKAGE_DIR#./}" + + # Move all files and directories from package.json directory to root + # Use a loop to handle all items including hidden files + shopt -s dotglob nullglob + for item in "$PACKAGE_DIR"/* "$PACKAGE_DIR"/.[!.]* "$PACKAGE_DIR"/..?*; do + if [ -e "$item" ] || [ -L "$item" ]; then + mv "$item" . 2>/dev/null || true + fi + done + shopt -u dotglob nullglob + + # Remove empty directories (going from deepest to shallowest) + # Try multiple times to handle nested empty directories + for i in {1..5}; do + find . -type d -empty -delete 2>/dev/null || true + done + + echo "āœ… Flattening complete" + fi + fi + # Verify package.json is now at root if [ ! -f "package.json" ]; then echo "āŒ ERROR: package.json still not at root after flattening!"; + echo "Current directory contents:" + ls -la + echo "" + echo "Searching for package.json again:" + find . -name "package.json" -type f exit 1; fi + echo "āœ… Confirmed: package.json is at root" + + # Show structure after flattening for debugging + echo "šŸ“‚ Directory structure after flattening:" + find . -maxdepth 2 -type d | sort + echo "" + # Final cleanup - remove node_modules if accidentally included if [ -d "node_modules" ]; then echo "āš ļø node_modules found (removing to reduce package size)..."; rm -rf node_modules fi + # Check for any leftover nested directories that might indicate incomplete flattening + REMAINING_NESTED=$(find . -mindepth 2 -name "package.json" -type f 2>/dev/null | wc -l) + if [ "$REMAINING_NESTED" -gt 0 ]; then + echo "āš ļø WARNING: Found $REMAINING_NESTED package.json files in nested directories!" + find . -name "package.json" -type f + fi + echo "šŸ“‹ Verifying final structure:" ls -la echo "" From cca1c45121ff1e1d3213bda4160e6393e6016938 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 02:28:49 +0530 Subject: [PATCH 65/91] update --- .github/workflows/dev_maya.yml | 170 ++++----------------------------- 1 file changed, 19 insertions(+), 151 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index e9be494..c585417 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,34 +46,25 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Exclude node_modules and unnecessary files to reduce package size - echo "🧹 Cleaning up deployment package..." + # Remove node_modules, logs, and unnecessary files to reduce package size + # Azure will install node_modules automatically during deployment rm -rf node_modules rm -rf logs rm -rf .git - rm -rf .expo - rm -rf .cache find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - find . -name "*.md" -not -name "package.json" -type f -delete || true - # Remove test files if they exist - find . -name "*.test.js" -type f -delete || true - find . -name "*.spec.js" -type f -delete || true - # Note: web.config is for Windows IIS deployment - # If your Azure App Service is Linux-based, uncomment the next line: + # Note: web.config is kept for Windows deployment (remove if Linux) + # If deploying to Linux, uncomment the next line: # rm -f web.config - # For Windows App Service, keep web.config - echo "āœ… Cleaned deployment package" - echo "šŸ“¦ Package size:" + echo "Prepared package (excluded node_modules - Azure will install them)" + echo "Package size:" du -sh . - echo "šŸ“‹ Top 10 largest files/directories:" - du -sh * | sort -hr | head -10 - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 with: name: node-app - path: ./Backend # Uploads Backend directory contents (package.json, src/, etc.) + path: ./Backend deploy: runs-on: ubuntu-latest @@ -88,127 +79,18 @@ jobs: with: name: node-app - - name: Debug - Check and prepare artifact structure + - name: Debug - Check artifact structure run: | - echo "šŸ“„ Current directory contents after download:" + echo "Current directory contents after download:" ls -la - echo "" - echo "šŸ” Searching for package.json..." - - # Find package.json anywhere in the directory tree - PACKAGE_JSON_PATH=$(find . -name "package.json" -type f | head -1) - - if [ -z "$PACKAGE_JSON_PATH" ]; then - echo "āŒ ERROR: package.json not found anywhere!"; - echo "Directory structure:" - find . -type d | head -20 - exit 1; + if [ -f "package.json" ]; then + echo "āœ… package.json found"; + else + echo "āŒ package.json not found!"; + exit 1; fi - - echo "āœ… Found package.json at: $PACKAGE_JSON_PATH" - - # If package.json is already at root, no flattening needed - if [ "$PACKAGE_JSON_PATH" = "./package.json" ]; then - echo "āœ… package.json already at root - no flattening needed"; - else - # Get the directory containing package.json - PACKAGE_DIR=$(dirname "$PACKAGE_JSON_PATH") - echo "šŸ“¦ package.json is in directory: $PACKAGE_DIR" - - # Count how many levels deep - DEPTH=$(echo "$PACKAGE_DIR" | tr -cd '/' | wc -c) - echo "šŸ“ Depth: $DEPTH levels" - - # Flatten: move all contents from package.json directory to root - if [ "$PACKAGE_DIR" != "." ]; then - echo "šŸ”„ Flattening structure: moving contents from $PACKAGE_DIR to root..." - - # Normalize the path (remove leading ./) - PACKAGE_DIR="${PACKAGE_DIR#./}" - - # Move all files and directories from package.json directory to root - # Use a loop to handle all items including hidden files - shopt -s dotglob nullglob - for item in "$PACKAGE_DIR"/* "$PACKAGE_DIR"/.[!.]* "$PACKAGE_DIR"/..?*; do - if [ -e "$item" ] || [ -L "$item" ]; then - mv "$item" . 2>/dev/null || true - fi - done - shopt -u dotglob nullglob - - # Remove empty directories (going from deepest to shallowest) - # Try multiple times to handle nested empty directories - for i in {1..5}; do - find . -type d -empty -delete 2>/dev/null || true - done - - echo "āœ… Flattening complete" - fi - fi - - # Verify package.json is now at root - if [ ! -f "package.json" ]; then - echo "āŒ ERROR: package.json still not at root after flattening!"; - echo "Current directory contents:" - ls -la - echo "" - echo "Searching for package.json again:" - find . -name "package.json" -type f - exit 1; - fi - - echo "āœ… Confirmed: package.json is at root" - - # Show structure after flattening for debugging - echo "šŸ“‚ Directory structure after flattening:" - find . -maxdepth 2 -type d | sort - echo "" - - # Final cleanup - remove node_modules if accidentally included - if [ -d "node_modules" ]; then - echo "āš ļø node_modules found (removing to reduce package size)..."; - rm -rf node_modules - fi - - # Check for any leftover nested directories that might indicate incomplete flattening - REMAINING_NESTED=$(find . -mindepth 2 -name "package.json" -type f 2>/dev/null | wc -l) - if [ "$REMAINING_NESTED" -gt 0 ]; then - echo "āš ļø WARNING: Found $REMAINING_NESTED package.json files in nested directories!" - find . -name "package.json" -type f - fi - - echo "šŸ“‹ Verifying final structure:" - ls -la - echo "" - if [ -f "package.json" ]; then - echo "āœ… package.json confirmed at root"; - echo "šŸ“ Package.json start script:" - grep -A 1 '"start"' package.json || echo "Start script not found in package.json" - fi - if [ -f "src/index.js" ]; then - echo "āœ… src/index.js found (entry point)"; - else - echo "āŒ src/index.js not found at root/src/index.js!"; - echo "Searching for index.js files:" - find . -name "index.js" -type f - echo "" - echo "Checking if src directory exists:" - ls -la src/ 2>/dev/null || echo "src/ directory not found" - echo "" - echo "Current directory structure:" - find . -type d -maxdepth 2 | head -20 - exit 1; - fi - if [ -f "web.config" ]; then - echo "āœ… web.config found (for Windows/IIS deployment)"; - else - echo "āš ļø web.config not found (may be needed for Windows deployment)"; - fi - echo "" - echo "šŸ“¦ Final package size:" + echo "Package size:" du -sh . - echo "šŸ“Š Top 10 largest files/directories:" - du -sh * 2>/dev/null | sort -hr | head -10 - name: Login to Azure uses: azure/login@v2 @@ -217,28 +99,14 @@ jobs: tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} - - name: Create deployment zip - run: | - echo "šŸ“¦ Creating deployment zip file..." - zip -r deploy.zip . -q -x "*.git*" "*.DS_Store" "*.log" - echo "āœ… Deployment zip created" - ls -lh deploy.zip - ZIP_SIZE=$(du -sm deploy.zip | cut -f1) - echo "šŸ“ Zip file size: ${ZIP_SIZE}MB" - # Warn if zip is larger than 50MB (Azure OneDeploy recommends < 50MB) - if [ "$ZIP_SIZE" -gt 50 ]; then - echo "āš ļø WARNING: Zip file is ${ZIP_SIZE}MB, which is larger than recommended 50MB" - echo "šŸ’” This may cause OneDeploy to fail. Consider excluding more files." - else - echo "āœ… Zip file size is within recommended limits (< 50MB)" - fi - - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 id: deploy-to-webapp with: app-name: 'Maya' slot-name: 'Production' - package: deploy.zip # Use explicit zip file for OneDeploy - # Azure will automatically run 'npm install --production' after deployment + package: . # Point to the current directory where artifact was downloaded + # Explicitly set the app setting as an input to the action for clarity and reliability + app-settings: | + SCM_DO_BUILD_DURING_DEPLOYMENT=true \ No newline at end of file From 4f4e4abae440c145d7dffc8ae9a5ec44a86bbc26 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Tue, 4 Nov 2025 02:32:21 +0530 Subject: [PATCH 66/91] .github\workflows\dev_maya.yml --- .github/workflows/dev_maya.yml | 27 ++++++++++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index c585417..a7d280a 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -99,6 +99,30 @@ jobs: tenant-id: ${{ secrets.AZUREAPPSERVICE_TENANTID_A991E240EF384A70891F3517360891DE }} subscription-id: ${{ secrets.AZUREAPPSERVICE_SUBSCRIPTIONID_2276E1689CF5423891BDA354FAC31928 }} + - name: Get App Service resource group + id: get-rg + run: | + RESOURCE_GROUP=$(az webapp list --query "[?name=='Maya'].resourceGroup" -o tsv | head -1) + if [ -z "$RESOURCE_GROUP" ]; then + RESOURCE_GROUP=$(az resource list --name Maya --resource-type "Microsoft.Web/sites" --query "[0].resourceGroup" -o tsv) + fi + if [ -z "$RESOURCE_GROUP" ]; then + echo "Error: Could not determine resource group for app 'Maya'" + exit 1 + fi + echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_OUTPUT + echo "Resource Group: $RESOURCE_GROUP" + + - name: Configure App Service for build + run: | + # Set app setting to enable build during deployment (Oryx will install node_modules) + az webapp config appsettings set \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true \ + --output none + echo "āœ… Configured SCM_DO_BUILD_DURING_DEPLOYMENT=true" + - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 id: deploy-to-webapp @@ -106,7 +130,4 @@ jobs: app-name: 'Maya' slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - # Explicitly set the app setting as an input to the action for clarity and reliability - app-settings: | - SCM_DO_BUILD_DURING_DEPLOYMENT=true \ No newline at end of file From 95539e64e3215dd1c3430f3ced420c5a969d6609 Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 01:18:24 +0530 Subject: [PATCH 67/91] updated yaml --- .github/workflows/dev_maya.yml | 78 ++++++++++++++++++++++++++++++---- 1 file changed, 70 insertions(+), 8 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index a7d280a..0041257 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -79,17 +79,79 @@ jobs: with: name: node-app - - name: Debug - Check artifact structure + - name: Debug - Check and flatten artifact structure run: | - echo "Current directory contents after download:" + echo "šŸ“„ Current directory contents after download:" ls -la - if [ -f "package.json" ]; then - echo "āœ… package.json found"; - else - echo "āŒ package.json not found!"; - exit 1; + echo "" + + # Find package.json - it might be in root, node-app/, or node-app/Backend/ + PACKAGE_JSON_PATH=$(find . -name "package.json" -type f | head -1) + + if [ -z "$PACKAGE_JSON_PATH" ]; then + echo "āŒ ERROR: package.json not found anywhere!"; + echo "Directory structure:" + find . -type d | head -20 + exit 1; fi - echo "Package size:" + + echo "āœ… Found package.json at: $PACKAGE_JSON_PATH" + + # If package.json is not at root, flatten the structure + if [ "$PACKAGE_JSON_PATH" != "./package.json" ]; then + PACKAGE_DIR=$(dirname "$PACKAGE_JSON_PATH") + echo "šŸ”„ Flattening structure: moving contents from $PACKAGE_DIR to root..." + + # Normalize path + PACKAGE_DIR="${PACKAGE_DIR#./}" + + # Move all contents from package.json directory to root + shopt -s dotglob nullglob + for item in "$PACKAGE_DIR"/* "$PACKAGE_DIR"/.[!.]* "$PACKAGE_DIR"/..?*; do + if [ -e "$item" ] || [ -L "$item" ]; then + mv "$item" . 2>/dev/null || true + fi + done + shopt -u dotglob nullglob + + # Remove empty directories + for i in {1..5}; do + find . -type d -empty -delete 2>/dev/null || true + done + + echo "āœ… Flattening complete" + fi + + # Verify required files are at root + echo "" + echo "šŸ“‹ Verifying deployment structure:" + if [ -f "package.json" ]; then + echo "āœ… package.json found at root"; + else + echo "āŒ package.json not at root!"; + exit 1; + fi + + if [ -f "src/index.js" ]; then + echo "āœ… src/index.js found (entry point)"; + else + echo "āŒ src/index.js not found!"; + echo "Searching for index.js:" + find . -name "index.js" -type f + exit 1; + fi + + if [ -f "web.config" ]; then + echo "āœ… web.config found (required for iisnode)"; + echo "Verifying web.config points to src/index.js:" + grep -q "src/index.js" web.config && echo "āœ… web.config correctly configured for src/index.js" || echo "āš ļø WARNING: web.config may not be configured correctly" + else + echo "āŒ web.config not found! This is required for Windows App Service."; + exit 1; + fi + + echo "" + echo "šŸ“¦ Package size:" du -sh . - name: Login to Azure From 1e004431d1a3877bc26d0f1247fdddc375efb9fe Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 01:25:33 +0530 Subject: [PATCH 68/91] azure ki maa ki --- .github/workflows/dev_maya.yml | 54 ++++++++++++++++++++++++++++++++-- 1 file changed, 51 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 0041257..4d29159 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -150,9 +150,19 @@ jobs: exit 1; fi + # Verify package-lock.json exists (required for npm install on Azure) + if [ -f "package-lock.json" ]; then + echo "āœ… package-lock.json found (required for deterministic npm install)"; + else + echo "āš ļø WARNING: package-lock.json not found! This may cause dependency installation issues."; + fi + echo "" echo "šŸ“¦ Package size:" du -sh . + echo "" + echo "šŸ“‹ Final deployment structure (top level files):" + ls -la | head -20 - name: Login to Azure uses: azure/login@v2 @@ -177,13 +187,30 @@ jobs: - name: Configure App Service for build run: | - # Set app setting to enable build during deployment (Oryx will install node_modules) + # Set app settings for Windows App Service with iisnode az webapp config appsettings set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true \ + --settings \ + SCM_DO_BUILD_DURING_DEPLOYMENT=true \ + WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ + --output none + echo "āœ… Configured build settings" + + # Verify Node.js version is set + NODE_VERSION=$(az webapp config appsettings list \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION'].value" -o tsv) + echo "Node.js version: ${NODE_VERSION:-'default'}" + + # For Windows App Service, ensure startup command is not set (iisnode uses web.config) + az webapp config set \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --startup-file "" \ --output none - echo "āœ… Configured SCM_DO_BUILD_DURING_DEPLOYMENT=true" + echo "āœ… Cleared startup command (using web.config instead)" - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 @@ -192,4 +219,25 @@ jobs: app-name: 'Maya' slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded + + - name: Verify deployment and check logs + run: | + echo "ā³ Waiting 10 seconds for deployment to process..." + sleep 10 + + echo "šŸ“‹ Checking deployment status..." + # Get deployment status + az webapp deployment list \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "[0].{status:status,message:message,active:active}" \ + --output table || echo "Could not retrieve deployment status" + + echo "" + echo "šŸ’” Next steps if deployment fails:" + echo "1. Check Azure Portal → App Service → Log stream for startup errors" + echo "2. Verify environment variables are set in Configuration → Application Settings" + echo "3. Check Kudu console at: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + echo "4. Verify node_modules exists: cd D:\\home\\site\\wwwroot && dir node_modules" + echo "5. Check iisnode logs at: D:\\home\\LogFiles\\iisnode" \ No newline at end of file From 2d8bf7109606028e24507bf38275621bb622d36b Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 01:40:43 +0530 Subject: [PATCH 69/91] updated files --- .github/workflows/dev_maya.yml | 47 ++++++++++++++++++++++++++-------- Backend/.deployment | 3 +++ Backend/iisnode.yml | 24 +++++++++++++++++ Backend/web.config | 40 +++++++++++++++++++++++++++-- 4 files changed, 102 insertions(+), 12 deletions(-) create mode 100644 Backend/.deployment create mode 100644 Backend/iisnode.yml diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 4d29159..47b8cdb 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -220,13 +220,27 @@ jobs: slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - - name: Verify deployment and check logs + - name: Install dependencies on App Service run: | - echo "ā³ Waiting 10 seconds for deployment to process..." - sleep 10 + echo "šŸ“¦ Installing Node.js dependencies on App Service..." + echo "This step ensures node_modules exists after deployment." + echo "" + echo "āš ļø IMPORTANT: For Windows App Service, npm install must run AFTER files are deployed." + echo "" + echo "If automatic install fails, manually run via Kudu Console:" + echo "1. Go to: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + echo "2. Debug Console → CMD" + echo "3. Run: cd D:\\home\\site\\wwwroot && npm install --production" + echo "" + echo "ā³ Waiting 15 seconds for deployment to complete..." + sleep 15 + # Try to verify package.json exists (deployment completed) + echo "Verifying deployment completed..." + + - name: Verify deployment and check logs + run: | echo "šŸ“‹ Checking deployment status..." - # Get deployment status az webapp deployment list \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ @@ -234,10 +248,23 @@ jobs: --output table || echo "Could not retrieve deployment status" echo "" - echo "šŸ’” Next steps if deployment fails:" - echo "1. Check Azure Portal → App Service → Log stream for startup errors" - echo "2. Verify environment variables are set in Configuration → Application Settings" - echo "3. Check Kudu console at: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - echo "4. Verify node_modules exists: cd D:\\home\\site\\wwwroot && dir node_modules" - echo "5. Check iisnode logs at: D:\\home\\LogFiles\\iisnode" + echo "šŸ” CRITICAL: If you're still getting 500 errors, check:" + echo "" + echo "1. āš ļø VERIFY node_modules EXISTS:" + echo " - Go to: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + echo " - Navigate to: Debug Console → CMD → D:\\home\\site\\wwwroot" + echo " - Run: dir node_modules" + echo " - If missing, run: npm install --production" + echo "" + echo "2. šŸ“‹ Check Application Logs:" + echo " - Azure Portal → App Service → Log stream" + echo " - Look for 'Cannot find module' errors" + echo "" + echo "3. āš™ļø Verify Environment Variables:" + echo " - Azure Portal → Configuration → Application Settings" + echo " - Required: MONGODB_URI, JWT_SECRET_VERIFY, PORT (auto-set)" + echo "" + echo "4. šŸ“ Check iisnode logs:" + echo " - Kudu → D:\\home\\LogFiles\\iisnode" + echo " - Look for Node.js process errors" \ No newline at end of file diff --git a/Backend/.deployment b/Backend/.deployment new file mode 100644 index 0000000..bc893ba --- /dev/null +++ b/Backend/.deployment @@ -0,0 +1,3 @@ +[config] +SCM_DO_BUILD_DURING_DEPLOYMENT=true + diff --git a/Backend/iisnode.yml b/Backend/iisnode.yml new file mode 100644 index 0000000..32f0017 --- /dev/null +++ b/Backend/iisnode.yml @@ -0,0 +1,24 @@ +# iisnode configuration file +# This file helps configure iisnode behavior for your Node.js application + +# Logging configuration +loggingEnabled: true +logDirectory: iisnode + +# Node.js process configuration +nodeProcessCommandLine: "node.exe" + +# Interceptor configuration +# This helps with debugging +interceptor: "iisnode/interceptor/{version}" + +# Dev server configuration (if needed) +# devErrorsEnabled: true + +# Performance tuning +maxNamedPipeConnectionRetry: 100 +namedPipeConnectionRetryDelay: 250 + +# Maximum concurrent requests per process +maxConcurrentRequestsPerProcess: 1024 + diff --git a/Backend/web.config b/Backend/web.config index 070f332..dd77779 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -1,20 +1,43 @@ + + + + + + + + + + + + + + + + + + + - + + + + + @@ -22,11 +45,24 @@ + + + logDirectory="iisnode" + debugHeaderEnabled="false" + debuggerPortRange="5058-6058" + maxNamedPipeConnectionRetry="100" + namedPipeConnectionRetryDelay="250" + maxConcurrentRequestsPerProcess="1024" + asyncCompletionThreadCount="0" + initialRequestBufferSize="4096" + maxRequestBufferSize="65536" + watchedFiles="*.js;iisnode.yml" + uncFileChangesPollingInterval="5000" + gracefulShutdownTimeout="60000"/> From 8484a2d4abd16028f9f247bed9e2de0aa1b1ae4a Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 01:47:50 +0530 Subject: [PATCH 70/91] updated --- Backend/.deployment | 1 - Backend/TROUBLESHOOTING.md | 89 ++++++++++++++++++++++++++++++ Backend/src/index.js | 108 +++++++++++++++++++++++++++++-------- Backend/test-startup.js | 42 +++++++++++++++ Backend/web.config | 7 ++- 5 files changed, 223 insertions(+), 24 deletions(-) create mode 100644 Backend/TROUBLESHOOTING.md create mode 100644 Backend/test-startup.js diff --git a/Backend/.deployment b/Backend/.deployment index bc893ba..894cd28 100644 --- a/Backend/.deployment +++ b/Backend/.deployment @@ -1,3 +1,2 @@ [config] SCM_DO_BUILD_DURING_DEPLOYMENT=true - diff --git a/Backend/TROUBLESHOOTING.md b/Backend/TROUBLESHOOTING.md new file mode 100644 index 0000000..e0b8670 --- /dev/null +++ b/Backend/TROUBLESHOOTING.md @@ -0,0 +1,89 @@ +# Troubleshooting iisnode 500.1000 Error + +## Quick Diagnosis Steps + +### 1. Check if node_modules exists +**Via Kudu Console:** +``` +https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net +→ Debug Console → CMD +→ cd D:\home\site\wwwroot +→ dir node_modules +``` + +**If missing:** +```cmd +npm install --production +``` + +### 2. Check iisnode logs +**Location:** `D:\home\LogFiles\iisnode\` +- Look for files named `src-index.js-*.log` +- These contain the actual Node.js error messages + +### 3. Run test script +**Via Kudu Console:** +```cmd +cd D:\home\site\wwwroot +node test-startup.js +``` + +This will verify: +- Required files exist +- node_modules exists +- Basic dependencies are available + +### 4. Test the app manually +**Via Kudu Console:** +```cmd +cd D:\home\site\wwwroot +node src/index.js +``` + +Watch for error messages. If it crashes immediately, the logs will show why. + +### 5. Verify web.config +**Check that web.config exists and points to:** +```xml + +``` + +### 6. Check Application Settings +**Azure Portal → App Service → Configuration → Application Settings** + +Required: +- `PORT` (auto-set by Azure, but verify it exists) +- `MONGODB_URI` (your MongoDB connection string) +- `JWT_SECRET_VERIFY` (for authentication) +- `NODE_ENV` (should be `production`) + +### 7. Check file permissions +All files in `D:\home\site\wwwroot` should be readable by IIS_IUSRS. + +## Common Issues + +### Issue: "Cannot find module" +**Solution:** Run `npm install --production` in wwwroot + +### Issue: "PORT is not defined" +**Solution:** Azure should set this automatically. If missing, add it in App Settings. + +### Issue: App crashes on startup +**Check:** iisnode logs for the actual error message + +### Issue: MongoDB connection fails +**Check:** +- MongoDB Atlas Network Access allows Azure IPs (0.0.0.0/0) +- Connection string is correct in App Settings + +## Viewing Logs + +### Real-time logs +**Azure Portal → App Service → Log stream** + +### iisnode logs +**Kudu → D:\home\LogFiles\iisnode\** + +### Application logs +**Kudu → D:\home\LogFiles\Application\** + diff --git a/Backend/src/index.js b/Backend/src/index.js index d90902e..19e2d5a 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,34 +1,89 @@ +// Add error handling for missing dependencies +try { + // Check if node_modules exists + const fs = require("fs"); + const path = require("path"); + if (!fs.existsSync(path.join(__dirname, "../../node_modules"))) { + console.error("āŒ ERROR: node_modules directory not found!"); + console.error("Please run 'npm install --production' in the deployment directory"); + console.error("Expected location: " + path.join(__dirname, "../../node_modules")); + process.exit(1); + } +} catch (checkError) { + console.error("āŒ Error checking for node_modules:", checkError.message); +} + const http = require("http"); -const app = require("./app.js"); -const { setupSocket } = require("./sockets/index.js"); -const { initializeProducer, initializeConsumer } = require("./config/kafka"); -const kafkaConsumerService = require("./services/kafkaConsumer"); -require("dotenv").config() +let app, setupSocket, initializeProducer, initializeConsumer, kafkaConsumerService; + +try { + app = require("./app.js"); + setupSocket = require("./sockets/index.js").setupSocket; + initializeProducer = require("./config/kafka").initializeProducer; + initializeConsumer = require("./config/kafka").initializeConsumer; + kafkaConsumerService = require("./services/kafkaConsumer"); + require("dotenv").config(); + + // Initialize Cloudinary + require("./config/cloudinary"); +} catch (requireError) { + console.error("āŒ ERROR: Failed to load required modules!"); + console.error("Error:", requireError.message); + console.error("Stack:", requireError.stack); + console.error(""); + console.error("This usually means:"); + console.error("1. node_modules is missing - run 'npm install --production'"); + console.error("2. A dependency is missing from package.json"); + console.error("3. There's a syntax error in the code"); + process.exit(1); +} + +// For iisnode, PORT is automatically set by Azure/IIS via environment variable +// Use default 8000 only for local development (should never happen in Azure) +const PORT = process.env.PORT || process.env.IISNODE_HTTP_PORT || 8000; -// Initialize Cloudinary -require("./config/cloudinary"); +// Log startup information for debugging +console.log("=".repeat(50)); +console.log("šŸš€ Starting MayaCode Backend Server"); +console.log("=".repeat(50)); +console.log(`šŸ“‹ PORT: ${PORT}`); +console.log(`šŸ“‹ NODE_ENV: ${process.env.NODE_ENV || 'not set'}`); +console.log(`šŸ“‹ Working Directory: ${process.cwd()}`); +console.log(`šŸ“‹ Node.js Version: ${process.version}`); +console.log("=".repeat(50)); -const PORT = process.env.PORT || 8000; const server = http.createServer(app); +// Add error handling for server startup +server.on('error', (error) => { + console.error("āŒ Server error:", error); + if (error.code === 'EADDRINUSE') { + console.error("Port", PORT, "is already in use"); + } +}); + // Initialize services with fallback for Kafka/Redis async function initializeServices() { try { console.log("šŸš€ Initializing MayaCode Services..."); // Try to initialize Kafka (with fallback) - try { - await initializeProducer(); - await initializeConsumer(); - await kafkaConsumerService.startConsuming(); - - const messageService = require("./services/messageService"); - messageService.startBufferFlushing(); - - console.log("āœ… Kafka services initialized successfully"); - } catch (kafkaError) { - console.log("āš ļø Kafka services unavailable, continuing without them..."); - console.log("šŸ’” To enable Kafka: Create topics 'chat-messages' and 'message-persistence'"); + if (initializeProducer && initializeConsumer && kafkaConsumerService) { + try { + await initializeProducer(); + await initializeConsumer(); + await kafkaConsumerService.startConsuming(); + + const messageService = require("./services/messageService"); + messageService.startBufferFlushing(); + + console.log("āœ… Kafka services initialized successfully"); + } catch (kafkaError) { + console.log("āš ļø Kafka services unavailable, continuing without them..."); + console.log("šŸ’” To enable Kafka: Create topics 'chat-messages' and 'message-persistence'"); + } + } else { + console.log("āš ļø Kafka modules not available, skipping Kafka initialization"); } console.log("āœ… Core services initialized"); @@ -39,7 +94,9 @@ async function initializeServices() { console.log(" GET /auth/verify-token"); // Setup socket (will work even without Redis) - setupSocket(server); + if (setupSocket) { + setupSocket(server); + } } catch (error) { console.error("āŒ Failed to initialize services:", error); @@ -69,8 +126,17 @@ process.on('SIGINT', async () => { }); // Start the server +// For iisnode, listen on the PORT provided by IIS (no host binding needed) server.listen(PORT, () => { console.log(`🌐 Server running on PORT: ${PORT}`); + console.log(`āœ… Node.js process started successfully`); + console.log(`šŸ“‹ Environment: ${process.env.NODE_ENV || 'development'}`); + console.log(`šŸ“ Working directory: ${process.cwd()}`); +}).on('error', (error) => { + console.error("āŒ Failed to start server:", error); + console.error("Error code:", error.code); + console.error("Error message:", error.message); + process.exit(1); }); // Initialize all services diff --git a/Backend/test-startup.js b/Backend/test-startup.js new file mode 100644 index 0000000..50b417a --- /dev/null +++ b/Backend/test-startup.js @@ -0,0 +1,42 @@ +// Simple test script to verify Node.js can start +// Run this via Kudu Console: node test-startup.js + +console.log("Testing Node.js startup..."); +console.log("Node version:", process.version); +console.log("Working directory:", process.cwd()); +console.log("PORT:", process.env.PORT || "not set"); + +const fs = require("fs"); +const path = require("path"); + +console.log("\nChecking for required files:"); +const files = [ + "package.json", + "src/index.js", + "src/app.js", + "web.config" +]; + +files.forEach(file => { + const fullPath = path.join(process.cwd(), file); + const exists = fs.existsSync(fullPath); + console.log(` ${exists ? 'āœ…' : 'āŒ'} ${file} - ${exists ? 'exists' : 'MISSING'}`); +}); + +console.log("\nChecking for node_modules:"); +const nodeModulesPath = path.join(process.cwd(), "node_modules"); +if (fs.existsSync(nodeModulesPath)) { + console.log(" āœ… node_modules exists"); + const expressPath = path.join(nodeModulesPath, "express"); + if (fs.existsSync(expressPath)) { + console.log(" āœ… express module found"); + } else { + console.log(" āŒ express module NOT found"); + } +} else { + console.log(" āŒ node_modules MISSING - run 'npm install --production'"); +} + +console.log("\nāœ… Basic checks complete. If all files exist, try running:"); +console.log(" node src/index.js"); + diff --git a/Backend/web.config b/Backend/web.config index dd77779..b91cc87 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -52,7 +52,7 @@ node_env="%node_env%" loggingEnabled="true" logDirectory="iisnode" - debugHeaderEnabled="false" + debugHeaderEnabled="true" debuggerPortRange="5058-6058" maxNamedPipeConnectionRetry="100" namedPipeConnectionRetryDelay="250" @@ -62,7 +62,10 @@ maxRequestBufferSize="65536" watchedFiles="*.js;iisnode.yml" uncFileChangesPollingInterval="5000" - gracefulShutdownTimeout="60000"/> + gracefulShutdownTimeout="60000" + flushResponse="false" + promoteServerVars="" + configOverrides="iisnode.yml"/> From d4baef214f4f68adb493e166ff5396eea9050d0b Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:19:28 +0530 Subject: [PATCH 71/91] update --- Backend/src/index.js | 105 ++++++++++++++++++++++++++++++++++++------- Backend/web.config | 8 +++- 2 files changed, 96 insertions(+), 17 deletions(-) diff --git a/Backend/src/index.js b/Backend/src/index.js index 19e2d5a..1a4e64f 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,41 +1,106 @@ // Add error handling for missing dependencies +// Check if node_modules exists (warn but don't exit - actual requires will fail if missing) try { - // Check if node_modules exists const fs = require("fs"); const path = require("path"); - if (!fs.existsSync(path.join(__dirname, "../../node_modules"))) { - console.error("āŒ ERROR: node_modules directory not found!"); - console.error("Please run 'npm install --production' in the deployment directory"); - console.error("Expected location: " + path.join(__dirname, "../../node_modules")); - process.exit(1); + + // Check both possible locations (../node_modules for Azure deployment, ../../node_modules for local) + const nodeModulesPath1 = path.join(__dirname, "../node_modules"); + const nodeModulesPath2 = path.join(__dirname, "../../node_modules"); + const cwdNodeModules = path.join(process.cwd(), "node_modules"); + + const nodeModulesExists = fs.existsSync(nodeModulesPath1) || + fs.existsSync(nodeModulesPath2) || + fs.existsSync(cwdNodeModules); + + if (!nodeModulesExists) { + console.warn("āš ļø WARNING: node_modules directory not found in expected locations!"); + console.warn("Checked paths:"); + console.warn(" - " + nodeModulesPath1); + console.warn(" - " + nodeModulesPath2); + console.warn(" - " + cwdNodeModules); + console.warn("Current working directory: " + process.cwd()); + console.warn("__dirname: " + __dirname); + console.warn("āš ļø Continuing anyway - Azure may install dependencies during deployment"); + console.warn("If modules are missing, require() calls will fail with clear error messages"); + } else { + console.log("āœ… node_modules found"); } } catch (checkError) { - console.error("āŒ Error checking for node_modules:", checkError.message); + console.warn("āš ļø Warning: Error checking for node_modules:", checkError.message); + console.warn("Continuing anyway..."); } +// Add global error handlers BEFORE loading modules +process.on('uncaughtException', (error) => { + console.error("=".repeat(50)); + console.error("āŒ UNCAUGHT EXCEPTION - Application will exit"); + console.error("=".repeat(50)); + console.error("Error:", error.message); + console.error("Stack:", error.stack); + console.error("=".repeat(50)); + // Give time for logs to flush + setTimeout(() => process.exit(1), 1000); +}); + +process.on('unhandledRejection', (reason, promise) => { + console.error("=".repeat(50)); + console.error("āŒ UNHANDLED PROMISE REJECTION"); + console.error("=".repeat(50)); + console.error("Reason:", reason); + console.error("Promise:", promise); + if (reason && reason.stack) { + console.error("Stack:", reason.stack); + } + console.error("=".repeat(50)); + // Don't exit on unhandled rejection - log and continue +}); + const http = require("http"); let app, setupSocket, initializeProducer, initializeConsumer, kafkaConsumerService; try { + console.log("šŸ“¦ Loading application modules..."); app = require("./app.js"); + console.log("āœ… app.js loaded"); + setupSocket = require("./sockets/index.js").setupSocket; + console.log("āœ… sockets/index.js loaded"); + initializeProducer = require("./config/kafka").initializeProducer; initializeConsumer = require("./config/kafka").initializeConsumer; + console.log("āœ… kafka config loaded"); + kafkaConsumerService = require("./services/kafkaConsumer"); + console.log("āœ… kafkaConsumer service loaded"); + require("dotenv").config(); + console.log("āœ… dotenv configured"); // Initialize Cloudinary require("./config/cloudinary"); + console.log("āœ… cloudinary config loaded"); + + console.log("āœ… All modules loaded successfully"); } catch (requireError) { + console.error("=".repeat(50)); console.error("āŒ ERROR: Failed to load required modules!"); - console.error("Error:", requireError.message); - console.error("Stack:", requireError.stack); + console.error("=".repeat(50)); + console.error("Error message:", requireError.message); + console.error("Error name:", requireError.name); + console.error("Error code:", requireError.code); + console.error(""); + console.error("Stack trace:"); + console.error(requireError.stack); console.error(""); console.error("This usually means:"); console.error("1. node_modules is missing - run 'npm install --production'"); console.error("2. A dependency is missing from package.json"); console.error("3. There's a syntax error in the code"); - process.exit(1); + console.error("4. Environment variables are missing (check Azure App Settings)"); + console.error("=".repeat(50)); + // Give time for logs to flush before exiting + setTimeout(() => process.exit(1), 2000); } // For iisnode, PORT is automatically set by Azure/IIS via environment variable @@ -49,7 +114,9 @@ console.log("=".repeat(50)); console.log(`šŸ“‹ PORT: ${PORT}`); console.log(`šŸ“‹ NODE_ENV: ${process.env.NODE_ENV || 'not set'}`); console.log(`šŸ“‹ Working Directory: ${process.cwd()}`); +console.log(`šŸ“‹ __dirname: ${__dirname}`); console.log(`šŸ“‹ Node.js Version: ${process.version}`); +console.log(`šŸ“‹ Process PID: ${process.pid}`); console.log("=".repeat(50)); const server = http.createServer(app); @@ -110,12 +177,20 @@ process.on('SIGINT', async () => { console.log("\nšŸ›‘ Shutting down gracefully..."); try { - // Stop Kafka consumer - await kafkaConsumerService.stopConsuming(); + // Stop Kafka consumer if available + if (kafkaConsumerService && typeof kafkaConsumerService.stopConsuming === 'function') { + await kafkaConsumerService.stopConsuming(); + } - // Flush any remaining messages - const messageService = require("./services/messageService"); - await messageService.flushBuffer(); + // Flush any remaining messages if available + try { + const messageService = require("./services/messageService"); + if (messageService && typeof messageService.flushBuffer === 'function') { + await messageService.flushBuffer(); + } + } catch (msgError) { + console.warn("āš ļø Could not flush messages:", msgError.message); + } console.log("āœ… Graceful shutdown completed"); process.exit(0); diff --git a/Backend/web.config b/Backend/web.config index b91cc87..5053984 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -63,9 +63,13 @@ watchedFiles="*.js;iisnode.yml" uncFileChangesPollingInterval="5000" gracefulShutdownTimeout="60000" - flushResponse="false" + flushResponse="true" promoteServerVars="" - configOverrides="iisnode.yml"/> + configOverrides="iisnode.yml" + devErrorsEnabled="true"/> + + + From 03270fac0406aae3323b589cac2c1648855d8067 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:24:18 +0530 Subject: [PATCH 72/91] update --- .github/workflows/dev_maya.yml | 15 ++++++++++++++- Backend/iisnode.yml | 10 ++++++---- Backend/web.config | 5 +++-- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 47b8cdb..e8b27b6 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -187,6 +187,9 @@ jobs: - name: Configure App Service for build run: | + # Ensure App Service is configured for Node.js on Windows + echo "šŸ“‹ Configuring App Service for Node.js with iisnode..." + # Set app settings for Windows App Service with iisnode az webapp config appsettings set \ --name Maya \ @@ -202,7 +205,14 @@ jobs: --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION'].value" -o tsv) - echo "Node.js version: ${NODE_VERSION:-'default'}" + echo "āœ… Node.js version: ${NODE_VERSION:-'default (will use latest)'}" + + # Verify App Service stack (should be Node) + STACK=$(az webapp config show \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "linuxFxVersion" -o tsv 2>/dev/null || echo "N/A") + echo "šŸ“‹ App Service Stack: ${STACK:-'Windows (iisnode)'}" # For Windows App Service, ensure startup command is not set (iisnode uses web.config) az webapp config set \ @@ -211,6 +221,9 @@ jobs: --startup-file "" \ --output none echo "āœ… Cleared startup command (using web.config instead)" + + # Verify iisnode extension is available (should be pre-installed on Windows App Service) + echo "āœ… Configuration complete - iisnode should be available on Windows App Service" - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 diff --git a/Backend/iisnode.yml b/Backend/iisnode.yml index 32f0017..50b9fa3 100644 --- a/Backend/iisnode.yml +++ b/Backend/iisnode.yml @@ -6,14 +6,16 @@ loggingEnabled: true logDirectory: iisnode # Node.js process configuration -nodeProcessCommandLine: "node.exe" +# For Azure App Service, leave empty or use "node.exe" - Azure will find it via PATH +# Azure uses WEBSITE_NODE_DEFAULT_VERSION to determine which Node.js version to use +# nodeProcessCommandLine: "node.exe" # Interceptor configuration # This helps with debugging -interceptor: "iisnode/interceptor/{version}" +# interceptor: "iisnode/interceptor/{version}" -# Dev server configuration (if needed) -# devErrorsEnabled: true +# Dev server configuration +devErrorsEnabled: true # Performance tuning maxNamedPipeConnectionRetry: 100 diff --git a/Backend/web.config b/Backend/web.config index 5053984..193f5d7 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -47,9 +47,10 @@ + + Date: Wed, 5 Nov 2025 02:29:56 +0530 Subject: [PATCH 73/91] update --- Backend/src/index.js | 90 +++++++++++++++++++++++++++++++++++--------- Backend/web.config | 2 + 2 files changed, 74 insertions(+), 18 deletions(-) diff --git a/Backend/src/index.js b/Backend/src/index.js index 1a4e64f..c607111 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,3 +1,14 @@ +// IMMEDIATE STARTUP LOGGING - Write to stderr immediately to ensure iisnode captures it +// Use process.stderr.write for immediate output that iisnode can capture +process.stderr.write("=".repeat(50) + "\n"); +process.stderr.write("šŸš€ MayaCode Backend - Starting...\n"); +process.stderr.write("=".repeat(50) + "\n"); +process.stderr.write(`šŸ“‹ Node.js Version: ${process.version}\n`); +process.stderr.write(`šŸ“‹ Process PID: ${process.pid}\n`); +process.stderr.write(`šŸ“‹ Working Directory: ${process.cwd()}\n`); +process.stderr.write(`šŸ“‹ __dirname: ${__dirname}\n`); +process.stderr.write("=".repeat(50) + "\n"); + // Add error handling for missing dependencies // Check if node_modules exists (warn but don't exit - actual requires will fail if missing) try { @@ -32,7 +43,15 @@ try { } // Add global error handlers BEFORE loading modules +// Use stderr.write for immediate output process.on('uncaughtException', (error) => { + process.stderr.write("=".repeat(50) + "\n"); + process.stderr.write("āŒ UNCAUGHT EXCEPTION - Application will exit\n"); + process.stderr.write("=".repeat(50) + "\n"); + process.stderr.write(`Error: ${error.message}\n`); + process.stderr.write(`Stack: ${error.stack}\n`); + process.stderr.write("=".repeat(50) + "\n"); + // Also log to console console.error("=".repeat(50)); console.error("āŒ UNCAUGHT EXCEPTION - Application will exit"); console.error("=".repeat(50)); @@ -40,7 +59,7 @@ process.on('uncaughtException', (error) => { console.error("Stack:", error.stack); console.error("=".repeat(50)); // Give time for logs to flush - setTimeout(() => process.exit(1), 1000); + setTimeout(() => process.exit(1), 2000); }); process.on('unhandledRejection', (reason, promise) => { @@ -60,29 +79,47 @@ const http = require("http"); let app, setupSocket, initializeProducer, initializeConsumer, kafkaConsumerService; try { + process.stderr.write("šŸ“¦ Loading application modules...\n"); console.log("šŸ“¦ Loading application modules..."); + app = require("./app.js"); + process.stderr.write("āœ… app.js loaded\n"); console.log("āœ… app.js loaded"); setupSocket = require("./sockets/index.js").setupSocket; + process.stderr.write("āœ… sockets/index.js loaded\n"); console.log("āœ… sockets/index.js loaded"); initializeProducer = require("./config/kafka").initializeProducer; initializeConsumer = require("./config/kafka").initializeConsumer; + process.stderr.write("āœ… kafka config loaded\n"); console.log("āœ… kafka config loaded"); kafkaConsumerService = require("./services/kafkaConsumer"); + process.stderr.write("āœ… kafkaConsumer service loaded\n"); console.log("āœ… kafkaConsumer service loaded"); require("dotenv").config(); + process.stderr.write("āœ… dotenv configured\n"); console.log("āœ… dotenv configured"); // Initialize Cloudinary require("./config/cloudinary"); + process.stderr.write("āœ… cloudinary config loaded\n"); console.log("āœ… cloudinary config loaded"); + process.stderr.write("āœ… All modules loaded successfully\n"); console.log("āœ… All modules loaded successfully"); } catch (requireError) { + // Write to stderr immediately so iisnode captures it + process.stderr.write("=".repeat(50) + "\n"); + process.stderr.write("āŒ ERROR: Failed to load required modules!\n"); + process.stderr.write("=".repeat(50) + "\n"); + process.stderr.write(`Error message: ${requireError.message}\n`); + process.stderr.write(`Error name: ${requireError.name}\n`); + process.stderr.write(`Error code: ${requireError.code}\n`); + process.stderr.write(`\nStack trace:\n${requireError.stack}\n`); + process.stderr.write("=".repeat(50) + "\n"); console.error("=".repeat(50)); console.error("āŒ ERROR: Failed to load required modules!"); console.error("=".repeat(50)); @@ -108,16 +145,22 @@ try { const PORT = process.env.PORT || process.env.IISNODE_HTTP_PORT || 8000; // Log startup information for debugging -console.log("=".repeat(50)); -console.log("šŸš€ Starting MayaCode Backend Server"); -console.log("=".repeat(50)); -console.log(`šŸ“‹ PORT: ${PORT}`); -console.log(`šŸ“‹ NODE_ENV: ${process.env.NODE_ENV || 'not set'}`); -console.log(`šŸ“‹ Working Directory: ${process.cwd()}`); -console.log(`šŸ“‹ __dirname: ${__dirname}`); -console.log(`šŸ“‹ Node.js Version: ${process.version}`); -console.log(`šŸ“‹ Process PID: ${process.pid}`); -console.log("=".repeat(50)); +// Use both stderr and console for maximum visibility +const startupInfo = [ + "=".repeat(50), + "šŸš€ Starting MayaCode Backend Server", + "=".repeat(50), + `šŸ“‹ PORT: ${PORT}`, + `šŸ“‹ NODE_ENV: ${process.env.NODE_ENV || 'not set'}`, + `šŸ“‹ Working Directory: ${process.cwd()}`, + `šŸ“‹ __dirname: ${__dirname}`, + `šŸ“‹ Node.js Version: ${process.version}`, + `šŸ“‹ Process PID: ${process.pid}`, + "=".repeat(50) +].join("\n"); + +process.stderr.write(startupInfo + "\n"); +console.log(startupInfo); const server = http.createServer(app); @@ -203,14 +246,25 @@ process.on('SIGINT', async () => { // Start the server // For iisnode, listen on the PORT provided by IIS (no host binding needed) server.listen(PORT, () => { - console.log(`🌐 Server running on PORT: ${PORT}`); - console.log(`āœ… Node.js process started successfully`); - console.log(`šŸ“‹ Environment: ${process.env.NODE_ENV || 'development'}`); - console.log(`šŸ“ Working directory: ${process.cwd()}`); + const successMsg = [ + `🌐 Server running on PORT: ${PORT}`, + `āœ… Node.js process started successfully`, + `šŸ“‹ Environment: ${process.env.NODE_ENV || 'development'}`, + `šŸ“ Working directory: ${process.cwd()}` + ].join("\n"); + + process.stderr.write(successMsg + "\n"); + console.log(successMsg); }).on('error', (error) => { - console.error("āŒ Failed to start server:", error); - console.error("Error code:", error.code); - console.error("Error message:", error.message); + const errorMsg = [ + "āŒ Failed to start server:", + `Error code: ${error.code}`, + `Error message: ${error.message}`, + `Stack: ${error.stack}` + ].join("\n"); + + process.stderr.write(errorMsg + "\n"); + console.error(errorMsg); process.exit(1); }); diff --git a/Backend/web.config b/Backend/web.config index 193f5d7..dc1a93b 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -49,6 +49,8 @@ + + Date: Wed, 5 Nov 2025 02:35:08 +0530 Subject: [PATCH 74/91] update --- Backend/src/health-check.js | 34 ++++++++++++++++++++ Backend/src/index.js | 62 ++++++++++++++++++++++++++++++------- 2 files changed, 85 insertions(+), 11 deletions(-) create mode 100644 Backend/src/health-check.js diff --git a/Backend/src/health-check.js b/Backend/src/health-check.js new file mode 100644 index 0000000..81243a5 --- /dev/null +++ b/Backend/src/health-check.js @@ -0,0 +1,34 @@ +// Minimal health check script for iisnode +// This file should be accessible via: https://your-app.azurewebsites.net/health-check.js +// If this works but index.js doesn't, it's a problem with index.js or its dependencies + +process.stderr.write("Health check script executed\n"); +process.stderr.write("Node version: " + process.version + "\n"); +process.stderr.write("Working directory: " + process.cwd() + "\n"); + +const http = require("http"); + +const server = http.createServer((req, res) => { + process.stderr.write("Health check request received\n"); + res.writeHead(200, { "Content-Type": "application/json" }); + res.end(JSON.stringify({ + status: "healthy", + nodeVersion: process.version, + timestamp: new Date().toISOString(), + message: "Health check endpoint is working" + })); +}); + +const PORT = process.env.PORT || 8000; +process.stderr.write("Attempting to listen on port: " + PORT + "\n"); + +server.listen(PORT, () => { + process.stderr.write("Health check server listening on port: " + PORT + "\n"); + console.log("Health check server is running"); +}).on('error', (error) => { + process.stderr.write("Health check server error: " + error.message + "\n"); + console.error("Health check server error:", error); +}); + +module.exports = server; + diff --git a/Backend/src/index.js b/Backend/src/index.js index c607111..5bf35cf 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,13 +1,40 @@ -// IMMEDIATE STARTUP LOGGING - Write to stderr immediately to ensure iisnode captures it -// Use process.stderr.write for immediate output that iisnode can capture -process.stderr.write("=".repeat(50) + "\n"); -process.stderr.write("šŸš€ MayaCode Backend - Starting...\n"); -process.stderr.write("=".repeat(50) + "\n"); -process.stderr.write(`šŸ“‹ Node.js Version: ${process.version}\n`); -process.stderr.write(`šŸ“‹ Process PID: ${process.pid}\n`); -process.stderr.write(`šŸ“‹ Working Directory: ${process.cwd()}\n`); -process.stderr.write(`šŸ“‹ __dirname: ${__dirname}\n`); -process.stderr.write("=".repeat(50) + "\n"); +// CRITICAL: Wrap entire file execution to catch ANY errors +// This ensures we can log errors even if something fails before error handlers are set up +(function() { + try { + // IMMEDIATE STARTUP LOGGING - Write to stderr immediately to ensure iisnode captures it + // Use process.stderr.write for immediate output that iisnode can capture + process.stderr.write("==================================================\n"); + process.stderr.write("šŸš€ MayaCode Backend - Starting...\n"); + process.stderr.write("==================================================\n"); + process.stderr.write("šŸ“‹ Node.js Version: " + process.version + "\n"); + process.stderr.write("šŸ“‹ Process PID: " + process.pid + "\n"); + process.stderr.write("šŸ“‹ Working Directory: " + process.cwd() + "\n"); + process.stderr.write("šŸ“‹ __dirname: " + __dirname + "\n"); + process.stderr.write("==================================================\n"); + + // Also write to console + console.log("=================================================="); + console.log("šŸš€ MayaCode Backend - Starting..."); + console.log("=================================================="); + console.log("šŸ“‹ Node.js Version:", process.version); + console.log("šŸ“‹ Process PID:", process.pid); + console.log("šŸ“‹ Working Directory:", process.cwd()); + console.log("šŸ“‹ __dirname:", __dirname); + console.log("=================================================="); + } catch (e) { + // Last resort - try to write error to a file or use basic console + try { + const fs = require("fs"); + const path = require("path"); + const errorLogPath = path.join(__dirname, "../startup-error.log"); + fs.writeFileSync(errorLogPath, "Failed to write startup logs: " + e.toString() + "\n" + e.stack); + } catch (fileError) { + // If even file writing fails, we're in deep trouble + // This should never happen, but it's a safety net + } + } +})(); // Add error handling for missing dependencies // Check if node_modules exists (warn but don't exit - actual requires will fail if missing) @@ -142,7 +169,20 @@ try { // For iisnode, PORT is automatically set by Azure/IIS via environment variable // Use default 8000 only for local development (should never happen in Azure) -const PORT = process.env.PORT || process.env.IISNODE_HTTP_PORT || 8000; +let PORT = process.env.PORT || process.env.IISNODE_HTTP_PORT || 8000; + +// Validate PORT is a number +PORT = parseInt(PORT, 10); +if (isNaN(PORT) || PORT <= 0 || PORT > 65535) { + process.stderr.write("āŒ ERROR: Invalid PORT value: " + (process.env.PORT || process.env.IISNODE_HTTP_PORT || "8000") + "\n"); + process.stderr.write("PORT must be a number between 1 and 65535\n"); + console.error("āŒ ERROR: Invalid PORT value:", process.env.PORT || process.env.IISNODE_HTTP_PORT || "8000"); + console.error("PORT must be a number between 1 and 65535"); + process.exit(1); +} + +process.stderr.write("šŸ“‹ Using PORT: " + PORT + "\n"); +console.log("šŸ“‹ Using PORT:", PORT); // Log startup information for debugging // Use both stderr and console for maximum visibility From 7784274b8f995b0a98f06d7aead8fed2da3db14c Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:41:43 +0530 Subject: [PATCH 75/91] update --- .github/workflows/dev_maya.yml | 173 +++------------------------------ 1 file changed, 14 insertions(+), 159 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index e8b27b6..65433a0 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,19 +46,12 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove node_modules, logs, and unnecessary files to reduce package size - # Azure will install node_modules automatically during deployment - rm -rf node_modules - rm -rf logs - rm -rf .git + rm -rf logs .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - # Note: web.config is kept for Windows deployment (remove if Linux) - # If deploying to Linux, uncomment the next line: - # rm -f web.config - echo "Prepared package (excluded node_modules - Azure will install them)" - echo "Package size:" - du -sh . + if [ -d "node_modules" ]; then + npm prune --production || true + fi - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -79,90 +72,26 @@ jobs: with: name: node-app - - name: Debug - Check and flatten artifact structure + - name: Flatten artifact structure run: | - echo "šŸ“„ Current directory contents after download:" - ls -la - echo "" - - # Find package.json - it might be in root, node-app/, or node-app/Backend/ PACKAGE_JSON_PATH=$(find . -name "package.json" -type f | head -1) - if [ -z "$PACKAGE_JSON_PATH" ]; then - echo "āŒ ERROR: package.json not found anywhere!"; - echo "Directory structure:" - find . -type d | head -20 - exit 1; + echo "ERROR: package.json not found" + exit 1 fi - - echo "āœ… Found package.json at: $PACKAGE_JSON_PATH" - - # If package.json is not at root, flatten the structure if [ "$PACKAGE_JSON_PATH" != "./package.json" ]; then PACKAGE_DIR=$(dirname "$PACKAGE_JSON_PATH") - echo "šŸ”„ Flattening structure: moving contents from $PACKAGE_DIR to root..." - - # Normalize path PACKAGE_DIR="${PACKAGE_DIR#./}" - - # Move all contents from package.json directory to root shopt -s dotglob nullglob for item in "$PACKAGE_DIR"/* "$PACKAGE_DIR"/.[!.]* "$PACKAGE_DIR"/..?*; do - if [ -e "$item" ] || [ -L "$item" ]; then - mv "$item" . 2>/dev/null || true - fi + [ -e "$item" ] && mv "$item" . 2>/dev/null || true done shopt -u dotglob nullglob - - # Remove empty directories - for i in {1..5}; do - find . -type d -empty -delete 2>/dev/null || true - done - - echo "āœ… Flattening complete" - fi - - # Verify required files are at root - echo "" - echo "šŸ“‹ Verifying deployment structure:" - if [ -f "package.json" ]; then - echo "āœ… package.json found at root"; - else - echo "āŒ package.json not at root!"; - exit 1; + find . -type d -empty -delete 2>/dev/null || true fi - - if [ -f "src/index.js" ]; then - echo "āœ… src/index.js found (entry point)"; - else - echo "āŒ src/index.js not found!"; - echo "Searching for index.js:" - find . -name "index.js" -type f - exit 1; - fi - - if [ -f "web.config" ]; then - echo "āœ… web.config found (required for iisnode)"; - echo "Verifying web.config points to src/index.js:" - grep -q "src/index.js" web.config && echo "āœ… web.config correctly configured for src/index.js" || echo "āš ļø WARNING: web.config may not be configured correctly" - else - echo "āŒ web.config not found! This is required for Windows App Service."; - exit 1; - fi - - # Verify package-lock.json exists (required for npm install on Azure) - if [ -f "package-lock.json" ]; then - echo "āœ… package-lock.json found (required for deterministic npm install)"; - else - echo "āš ļø WARNING: package-lock.json not found! This may cause dependency installation issues."; - fi - - echo "" - echo "šŸ“¦ Package size:" - du -sh . - echo "" - echo "šŸ“‹ Final deployment structure (top level files):" - ls -la | head -20 + [ ! -f "package.json" ] && exit 1 + [ ! -f "src/index.js" ] && exit 1 + [ ! -f "web.config" ] && exit 1 - name: Login to Azure uses: azure/login@v2 @@ -185,45 +114,18 @@ jobs: echo "RESOURCE_GROUP=$RESOURCE_GROUP" >> $GITHUB_OUTPUT echo "Resource Group: $RESOURCE_GROUP" - - name: Configure App Service for build + - name: Configure App Service run: | - # Ensure App Service is configured for Node.js on Windows - echo "šŸ“‹ Configuring App Service for Node.js with iisnode..." - - # Set app settings for Windows App Service with iisnode az webapp config appsettings set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --settings \ - SCM_DO_BUILD_DURING_DEPLOYMENT=true \ - WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ + --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ --output none - echo "āœ… Configured build settings" - - # Verify Node.js version is set - NODE_VERSION=$(az webapp config appsettings list \ - --name Maya \ - --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION'].value" -o tsv) - echo "āœ… Node.js version: ${NODE_VERSION:-'default (will use latest)'}" - - # Verify App Service stack (should be Node) - STACK=$(az webapp config show \ - --name Maya \ - --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --query "linuxFxVersion" -o tsv 2>/dev/null || echo "N/A") - echo "šŸ“‹ App Service Stack: ${STACK:-'Windows (iisnode)'}" - - # For Windows App Service, ensure startup command is not set (iisnode uses web.config) az webapp config set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ --startup-file "" \ --output none - echo "āœ… Cleared startup command (using web.config instead)" - - # Verify iisnode extension is available (should be pre-installed on Windows App Service) - echo "āœ… Configuration complete - iisnode should be available on Windows App Service" - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 @@ -233,51 +135,4 @@ jobs: slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - - name: Install dependencies on App Service - run: | - echo "šŸ“¦ Installing Node.js dependencies on App Service..." - echo "This step ensures node_modules exists after deployment." - echo "" - echo "āš ļø IMPORTANT: For Windows App Service, npm install must run AFTER files are deployed." - echo "" - echo "If automatic install fails, manually run via Kudu Console:" - echo "1. Go to: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - echo "2. Debug Console → CMD" - echo "3. Run: cd D:\\home\\site\\wwwroot && npm install --production" - echo "" - echo "ā³ Waiting 15 seconds for deployment to complete..." - sleep 15 - - # Try to verify package.json exists (deployment completed) - echo "Verifying deployment completed..." - - - name: Verify deployment and check logs - run: | - echo "šŸ“‹ Checking deployment status..." - az webapp deployment list \ - --name Maya \ - --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --query "[0].{status:status,message:message,active:active}" \ - --output table || echo "Could not retrieve deployment status" - - echo "" - echo "šŸ” CRITICAL: If you're still getting 500 errors, check:" - echo "" - echo "1. āš ļø VERIFY node_modules EXISTS:" - echo " - Go to: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - echo " - Navigate to: Debug Console → CMD → D:\\home\\site\\wwwroot" - echo " - Run: dir node_modules" - echo " - If missing, run: npm install --production" - echo "" - echo "2. šŸ“‹ Check Application Logs:" - echo " - Azure Portal → App Service → Log stream" - echo " - Look for 'Cannot find module' errors" - echo "" - echo "3. āš™ļø Verify Environment Variables:" - echo " - Azure Portal → Configuration → Application Settings" - echo " - Required: MONGODB_URI, JWT_SECRET_VERIFY, PORT (auto-set)" - echo "" - echo "4. šŸ“ Check iisnode logs:" - echo " - Kudu → D:\\home\\LogFiles\\iisnode" - echo " - Look for Node.js process errors" \ No newline at end of file From ec2ab65ed454f1db8862115011ddd2d4d22f6e75 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:43:39 +0530 Subject: [PATCH 76/91] update --- .github/workflows/dev_maya.yml | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 65433a0..0138d44 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,12 +46,14 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | + # Remove dev dependencies and reinstall only production dependencies + rm -rf node_modules + npm ci --production --prefer-offline --no-audit + + # Clean up unnecessary files rm -rf logs .git find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete - if [ -d "node_modules" ]; then - npm prune --production || true - fi - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 From b2d456774e7ce075a7bb0942ae0f6a50cd0c1118 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:46:11 +0530 Subject: [PATCH 77/91] update --- .github/workflows/dev_maya.yml | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 0138d44..a813e24 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -76,14 +76,21 @@ jobs: - name: Flatten artifact structure run: | - PACKAGE_JSON_PATH=$(find . -name "package.json" -type f | head -1) - if [ -z "$PACKAGE_JSON_PATH" ]; then + # Find package.json (handle broken pipe gracefully) + PACKAGE_JSON_PATH=$(find . -name "package.json" -type f 2>/dev/null | head -1) || PACKAGE_JSON_PATH="" + + if [ -z "$PACKAGE_JSON_PATH" ] || [ ! -f "$PACKAGE_JSON_PATH" ]; then echo "ERROR: package.json not found" + echo "Current directory contents:" + ls -la exit 1 fi + + # If package.json is not at root, flatten the structure if [ "$PACKAGE_JSON_PATH" != "./package.json" ]; then PACKAGE_DIR=$(dirname "$PACKAGE_JSON_PATH") PACKAGE_DIR="${PACKAGE_DIR#./}" + echo "Flattening from: $PACKAGE_DIR" shopt -s dotglob nullglob for item in "$PACKAGE_DIR"/* "$PACKAGE_DIR"/.[!.]* "$PACKAGE_DIR"/..?*; do [ -e "$item" ] && mv "$item" . 2>/dev/null || true @@ -91,9 +98,11 @@ jobs: shopt -u dotglob nullglob find . -type d -empty -delete 2>/dev/null || true fi - [ ! -f "package.json" ] && exit 1 - [ ! -f "src/index.js" ] && exit 1 - [ ! -f "web.config" ] && exit 1 + + # Verify required files exist + if [ ! -f "package.json" ]; then echo "ERROR: package.json missing"; exit 1; fi + if [ ! -f "src/index.js" ]; then echo "ERROR: src/index.js missing"; exit 1; fi + if [ ! -f "web.config" ]; then echo "ERROR: web.config missing"; exit 1; fi - name: Login to Azure uses: azure/login@v2 From 552a40a1522f4a035b919f2a4ab371213e19969e Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:50:53 +0530 Subject: [PATCH 78/91] update --- .github/workflows/dev_maya.yml | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index a813e24..a64a4e2 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,14 +46,14 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Remove dev dependencies and reinstall only production dependencies - rm -rf node_modules - npm ci --production --prefer-offline --no-audit - # Clean up unnecessary files - rm -rf logs .git + rm -rf logs .git node_modules find . -name "*.log" -type f -delete find . -name ".DS_Store" -type f -delete + + # Ensure package.json and package-lock.json exist for Azure to install dependencies + [ ! -f "package.json" ] && (echo "ERROR: package.json missing"; exit 1) + [ ! -f "package-lock.json" ] && (echo "ERROR: package-lock.json missing"; exit 1) - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -130,7 +130,10 @@ jobs: az webapp config appsettings set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --settings SCM_DO_BUILD_DURING_DEPLOYMENT=true WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ + --settings \ + SCM_DO_BUILD_DURING_DEPLOYMENT=true \ + WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ + SCM_COMMAND_IDLE_TIMEOUT=600 \ --output none az webapp config set \ --name Maya \ From 280bcac51c835541877ae26968418c7a4cad6480 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:52:29 +0530 Subject: [PATCH 79/91] update --- .github/workflows/dev_maya.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index a64a4e2..43c7691 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -46,14 +46,21 @@ jobs: - name: Prepare deployment package working-directory: ./Backend run: | - # Clean up unnecessary files - rm -rf logs .git node_modules - find . -name "*.log" -type f -delete - find . -name ".DS_Store" -type f -delete + # Clean up unnecessary files (ignore errors if files don't exist) + rm -rf logs .git node_modules || true + find . -name "*.log" -type f -delete 2>/dev/null || true + find . -name ".DS_Store" -type f -delete 2>/dev/null || true - # Ensure package.json and package-lock.json exist for Azure to install dependencies - [ ! -f "package.json" ] && (echo "ERROR: package.json missing"; exit 1) - [ ! -f "package-lock.json" ] && (echo "ERROR: package-lock.json missing"; exit 1) + # Ensure package.json exists (required) + if [ ! -f "package.json" ]; then + echo "ERROR: package.json missing" + exit 1 + fi + + # Warn if package-lock.json is missing (recommended but not required) + if [ ! -f "package-lock.json" ]; then + echo "WARNING: package-lock.json missing - Azure will generate it, but this may cause dependency issues" + fi - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 From c944181555332af12053b711d38ebe131ed43a8f Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Wed, 5 Nov 2025 02:56:04 +0530 Subject: [PATCH 80/91] update --- .github/workflows/dev_maya.yml | 55 ++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 43c7691..2155b3b 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -156,4 +156,59 @@ jobs: slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded + - name: Install dependencies on Azure + run: | + echo "Waiting for deployment to complete..." + sleep 30 + + echo "Installing npm dependencies on Azure App Service..." + + # Get publishing credentials + PUBLISH_CREDS=$(az webapp deployment list-publishing-profiles \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "[?publishMethod=='MSDeploy'].{userName:userName,userPWD:userPWD}" \ + --output json | jq -r '.[0]') + + if [ -z "$PUBLISH_CREDS" ] || [ "$PUBLISH_CREDS" = "null" ]; then + echo "WARNING: Could not get publishing credentials. Manual npm install required:" + echo " Kudu: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + echo " Command: cd D:\\home\\site\\wwwroot && npm install --production" + exit 0 + fi + + USERNAME=$(echo "$PUBLISH_CREDS" | jq -r '.userName') + PASSWORD=$(echo "$PUBLISH_CREDS" | jq -r '.userPWD') + + if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] || [ "$USERNAME" = "null" ] || [ "$PASSWORD" = "null" ]; then + echo "WARNING: Could not extract credentials. Manual npm install required." + exit 0 + fi + + # Use Kudu API to run npm install + KUDU_URL="https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + COMMAND="cd D:\\home\\site\\wwwroot && npm install --production" + + echo "Executing npm install via Kudu API..." + + # Execute command via Kudu REST API + RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + -H "Content-Type: application/json" \ + -d "{\"command\": \"$COMMAND\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" \ + "$KUDU_URL/api/command" 2>&1) + + if echo "$RESPONSE" | grep -q "error\|Error\|ERROR"; then + echo "WARNING: npm install may have failed. Check Kudu logs." + echo "Response: $RESPONSE" + else + echo "āœ… npm install command submitted" + fi + + echo "Waiting 90 seconds for npm install to complete..." + sleep 90 + + echo "āœ… Dependency installation completed" + echo "āš ļø If errors persist, verify node_modules exists via Kudu Console" + \ No newline at end of file From 8fa13cc6805bec3b7ca74a6363c6404e1eee0737 Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 02:56:42 +0530 Subject: [PATCH 81/91] adding node 20 path to web config --- Backend/web.config | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Backend/web.config b/Backend/web.config index b91cc87..c0f33f6 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -47,8 +47,10 @@ + + Date: Wed, 5 Nov 2025 03:05:40 +0530 Subject: [PATCH 82/91] adding node 20 path to web config --- .github/workflows/dev_maya.yml | 28 +++- AZURE_DEPLOYMENT_CHECKLIST.md | 213 ----------------------------- AZURE_ENVIRONMENT_VARIABLES.md | 204 ---------------------------- BACKEND_ISSUE_DESCRIPTION.md | 240 --------------------------------- Backend/TROUBLESHOOTING.md | 89 ------------ Backend/find-nodejs.cmd | 38 ++++++ Backend/fix-node-version.ps1 | 22 +++ Backend/src/index.js | 26 +++- Backend/test-startup.js | 48 +++++-- POSTMAN_TEST_ENDPOINTS.md | 90 ------------- STRUCTURE_COMPARISON.md | 153 --------------------- WEB_CONFIG_ANALYSIS.md | 236 -------------------------------- 12 files changed, 137 insertions(+), 1250 deletions(-) delete mode 100644 AZURE_DEPLOYMENT_CHECKLIST.md delete mode 100644 AZURE_ENVIRONMENT_VARIABLES.md delete mode 100644 BACKEND_ISSUE_DESCRIPTION.md delete mode 100644 Backend/TROUBLESHOOTING.md create mode 100644 Backend/find-nodejs.cmd create mode 100644 Backend/fix-node-version.ps1 delete mode 100644 POSTMAN_TEST_ENDPOINTS.md delete mode 100644 STRUCTURE_COMPARISON.md delete mode 100644 WEB_CONFIG_ANALYSIS.md diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 47b8cdb..44c5ce7 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -188,21 +188,23 @@ jobs: - name: Configure App Service for build run: | # Set app settings for Windows App Service with iisnode + echo "Configuring Azure App Service..." + + # Set Node.js version (critical for Windows App Service) az webapp config appsettings set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ --settings \ SCM_DO_BUILD_DURING_DEPLOYMENT=true \ - WEBSITE_NODE_DEFAULT_VERSION=20.11.1 \ + WEBSITE_NODE_DEFAULT_VERSION=~20 \ --output none - echo "āœ… Configured build settings" - # Verify Node.js version is set - NODE_VERSION=$(az webapp config appsettings list \ + # Also set via stack configuration (more reliable) + az webapp config set \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION'].value" -o tsv) - echo "Node.js version: ${NODE_VERSION:-'default'}" + --linux-fx-version "" \ + --output none # For Windows App Service, ensure startup command is not set (iisnode uses web.config) az webapp config set \ @@ -210,7 +212,19 @@ jobs: --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ --startup-file "" \ --output none - echo "āœ… Cleared startup command (using web.config instead)" + + echo "āœ… Configured build settings" + + # Verify Node.js version is set + NODE_VERSION=$(az webapp config appsettings list \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "[?name=='WEBSITE_NODE_DEFAULT_VERSION'].value" -o tsv) + echo "Node.js version setting: ${NODE_VERSION:-'not set (using default)'}" + echo "" + echo "āš ļø IMPORTANT: If Node.js version is old, check Azure Portal:" + echo " Configuration → General settings → Stack settings" + echo " Should show: Node.js 20.x" - name: Deploy using GitHub Action uses: azure/webapps-deploy@v3 diff --git a/AZURE_DEPLOYMENT_CHECKLIST.md b/AZURE_DEPLOYMENT_CHECKLIST.md deleted file mode 100644 index 94e6c4b..0000000 --- a/AZURE_DEPLOYMENT_CHECKLIST.md +++ /dev/null @@ -1,213 +0,0 @@ -# Azure Deployment Checklist - MayaCode Backend - -## āœ… Critical Fixes Applied (Must Deploy) - -The following fixes were made to prevent 500 errors when optional services are missing: - -### 1. **Redis/Valkey Connection** āœ… FIXED -- **Files**: `Backend/src/sockets/index.js`, `Backend/src/services/socket.js` -- **Fix**: Now only creates Redis clients if `VALKEY_HOST` is set -- **Impact**: Prevents crash when Redis/Valkey is not configured - -### 2. **Kafka Configuration** āœ… FIXED -- **File**: `Backend/src/config/kafka.js` -- **Fix**: Now only creates Kafka instance if `KAFKA_BROKERS` is set -- **Impact**: Prevents crash when Kafka is not configured - -### 3. **Passport Google OAuth** āœ… FIXED -- **File**: `Backend/src/config/passport.js` -- **Fix**: Now only configures GoogleStrategy if credentials are provided -- **Impact**: Prevents crash when Google OAuth is not configured - -### 4. **MongoDB Connection** āœ… IMPROVED -- **File**: `Backend/src/config/db.js` -- **Fix**: Added early validation for `MONGODB_URI` -- **Impact**: Better error handling when MongoDB URI is missing - -### 5. **Kafka Consumer** āœ… IMPROVED -- **File**: `Backend/src/services/kafkaConsumer.js` -- **Fix**: Added null check before using consumer -- **Impact**: Prevents crash when Kafka consumer is not available - ---- - -## šŸš€ Deployment Steps - -### Step 1: Commit and Push Fixes -```bash -git add Backend/src/ -git commit -m "Fix: Handle missing optional services gracefully (Redis, Kafka, OAuth)" -git push origin main -``` - -### Step 2: Verify Azure Environment Variables - -Go to **Azure Portal → App Service "Maya" → Configuration → Application Settings** - -#### šŸ”“ REQUIRED (Must Have): -- [ ] `MONGODB_URI` - MongoDB connection string -- [ ] `JWT_SECRET_VERIFY` - JWT secret key - -#### 🟔 RECOMMENDED: -- [ ] `NODE_ENV` = `production` -- [ ] `PORT` - Usually auto-set by Azure (verify it exists) -- [ ] `SESSION_SECRET` - Change from default "secret" - -#### 🟢 OPTIONAL (Only if using these features): -- [ ] `KAFKA_BROKERS` - Only if using Kafka -- [ ] `VALKEY_HOST`, `VALKEY_PORT`, etc. - Only if using Redis/Valkey -- [ ] `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET`, `BACKEND_URI` - Only if using Google OAuth -- [ ] `CLOUDINARY_NAME`, `CLOUDINARY_API_KEY`, `CLOUDINARY_API_SECRET` - Only if using Cloudinary -- [ ] `SMTP_USER`, `SMTP_PASS` - Only if using email OTP - -### Step 3: Check Azure App Service Configuration - -**Azure Portal → App Service "Maya" → Configuration → General Settings** - -- [ ] **Stack**: Node.js (verify version matches - check GitHub Actions workflow) -- [ ] **Startup Command**: Should be `node src/index.js` or `npm start` -- [ ] **Always On**: Enable to prevent cold starts -- [ ] **HTTPS Only**: Enable for production - -### Step 4: Verify Deployment Type (Windows vs Linux) - -**Check**: Azure Portal → App Service → Overview → OS - -- **If Windows**: Ensure `web.config` is deployed (currently it's excluded in GitHub Actions!) -- **If Linux**: `web.config` should NOT be deployed (current workflow is correct) - -**āš ļø IMPORTANT**: Your workflow excludes `web.config` (line 153), but if your App Service is Windows, you need `web.config`. If it's Linux, you need a startup command instead. - -### Step 5: Check MongoDB Atlas Network Access - -1. Go to **MongoDB Atlas Dashboard** -2. **Network Access** → **IP Access List** -3. Ensure **"Allow access from anywhere"** (0.0.0.0/0) is enabled - - OR add Azure App Service IP ranges - - OR add specific Azure IPs if needed - -### Step 6: Enable Application Logging - -**Azure Portal → App Service → Monitoring → Diagnostic Logs** - -- [ ] Enable **Application Logging (Filesystem)** -- [ ] Set Level to **Verbose** -- [ ] Enable **Detailed error messages** -- [ ] Save and wait 2-3 minutes - -### Step 7: Test After Deployment - -1. **Health Check**: - ```bash - curl https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ - ``` - Expected: JSON response with `"status": "healthy"` - -2. **Check Logs**: - - Azure Portal → App Service → Log stream - - Look for startup errors or missing environment variables - -3. **Kudu Console** (if needed): - - Navigate to: `https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net` - - Or: Azure Portal → Advanced Tools → Go → Debug console - - Check file structure: `site/wwwroot/` - - Verify `src/index.js` exists - ---- - -## šŸ” Troubleshooting If Still Getting 500 Error - -### 1. Check Application Logs -- Azure Portal → App Service → Log stream -- Look for: - - "Cannot find module" errors - - MongoDB connection errors - - Missing environment variable errors - - Startup crashes - -### 2. Check Kudu Console -- Verify files are deployed correctly -- Check if `node_modules` exists -- Try running: `node src/index.js` manually - -### 3. Verify Environment Variables -- Azure Portal → Configuration → Application Settings -- Check for typos -- Ensure no extra spaces -- Verify values are correct - -### 4. Check web.config (Windows Only) -- If Windows deployment, ensure `web.config` is in root -- Verify `path="src/index.js"` matches your file structure -- Check iisnode configuration - -### 5. Check Startup Command (Linux Only) -- If Linux deployment, verify startup command -- Should be: `node src/index.js` or `npm start` - ---- - -## šŸ“ GitHub Actions Workflow Issue - -**Current Issue**: Line 153 excludes `web.config` from deployment: -```yaml -zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" -``` - -**If your App Service is Windows**: -- You NEED `web.config` -- Either remove it from the exclusion list, OR -- Add a step to copy `web.config` back after creating the zip - -**If your App Service is Linux**: -- Current workflow is correct -- Ensure startup command is set in Azure Portal - ---- - -## āœ… Expected Behavior After Fixes - -With the fixes applied, the backend should: -1. āœ… Start successfully even if Redis/Valkey is not configured -2. āœ… Start successfully even if Kafka is not configured -3. āœ… Start successfully even if Google OAuth is not configured -4. āœ… Only require `MONGODB_URI` and `JWT_SECRET_VERIFY` for basic functionality -5. āœ… Show helpful warnings instead of crashing - ---- - -## šŸŽÆ Next Steps - -1. **Deploy the fixes** (commit and push) -2. **Verify environment variables** in Azure Portal -3. **Check deployment type** (Windows vs Linux) -4. **Enable application logging** for debugging -5. **Test the health endpoint** after deployment -6. **Check logs** if still getting 500 errors - ---- - -## šŸ“ž Quick Verification - -After deployment, test: -```bash -curl https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ -``` - -**Expected Response**: -```json -{ - "message": "MayaCode Backend is running!", - "status": "healthy", - "database": "connected", - "timestamp": "2025-11-03T...", - "endpoints": {...}, - "environment": { - "mongodb_configured": true, - "node_env": "production" - } -} -``` - -If you get this response, the backend is working! šŸŽ‰ - diff --git a/AZURE_ENVIRONMENT_VARIABLES.md b/AZURE_ENVIRONMENT_VARIABLES.md deleted file mode 100644 index 3fbe749..0000000 --- a/AZURE_ENVIRONMENT_VARIABLES.md +++ /dev/null @@ -1,204 +0,0 @@ -# Azure App Service Environment Variables Configuration - -## šŸ”“ **CRITICAL - REQUIRED for Basic Functionality** - -These must be set for the backend to work properly: - -### 1. **MONGODB_URI** āš ļø MOST IMPORTANT -- **Purpose**: MongoDB database connection string -- **Format**: `mongodb+srv://username:password@cluster.mongodb.net/mayacode?retryWrites=true&w=majority` -- **Example**: `mongodb+srv://mayacode:password123@cluster0.abc123.mongodb.net/mayacode?retryWrites=true&w=majority` -- **Where to get**: MongoDB Atlas dashboard → Connect → Connection string -- **Status**: āœ… REQUIRED - Without this, database operations will fail - -### 2. **JWT_SECRET_VERIFY** -- **Purpose**: Secret key for signing and verifying JWT tokens -- **Format**: Any secure random string (at least 32 characters recommended) -- **Example**: `your-super-secret-jwt-key-here-minimum-32-chars` -- **How to generate**: Use a secure random string generator -- **Status**: āœ… REQUIRED - Authentication will fail without this - ---- - -## 🟔 **RECOMMENDED - For Production** - -### 3. **NODE_ENV** -- **Purpose**: Environment mode (development/production) -- **Value**: `production` -- **Status**: 🟔 RECOMMENDED - -### 4. **PORT** -- **Purpose**: Server port (usually auto-set by Azure) -- **Value**: `8000` (or leave Azure to set automatically) -- **Status**: 🟔 Usually auto-configured by Azure - ---- - -## 🟢 **OPTIONAL - For Additional Features** - -### Email/SMTP Configuration (for OTP functionality) - -### 5. **SMTP_USER** -- **Purpose**: Email address for sending OTP emails -- **Example**: `your-email@gmail.com` -- **Status**: 🟢 OPTIONAL (if not set, email OTP won't work) - -### 6. **SMTP_PASS** -- **Purpose**: Email password or app password -- **Example**: `your-app-password` -- **Status**: 🟢 OPTIONAL (if not set, email OTP won't work) - -### Cloudinary (for image uploads) - -### 7. **CLOUDINARY_NAME** -- **Purpose**: Cloudinary cloud name -- **Example**: `your-cloud-name` -- **Status**: 🟢 OPTIONAL - -### 8. **CLOUDINARY_API_KEY** -- **Purpose**: Cloudinary API key -- **Example**: `123456789012345` -- **Status**: 🟢 OPTIONAL - -### 9. **CLOUDINARY_API_SECRET** -- **Purpose**: Cloudinary API secret -- **Example**: `abcdefghijklmnopqrstuvwxyz` -- **Status**: 🟢 OPTIONAL - -### Google OAuth (if using Google login) - -### 10. **GOOGLE_CLIENT_ID** -- **Purpose**: Google OAuth client ID -- **Status**: 🟢 OPTIONAL - -### 11. **GOOGLE_CLIENT_SECRET** -- **Purpose**: Google OAuth client secret -- **Status**: 🟢 OPTIONAL - -### 12. **BACKEND_URI** -- **Purpose**: Full backend URL for OAuth callbacks -- **Example**: `https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net` -- **Status**: 🟢 OPTIONAL - -### Kafka (for message queuing - advanced feature) - -### 13. **KAFKA_BROKERS** -- **Purpose**: Kafka broker addresses -- **Example**: `broker1:9092,broker2:9092` -- **Status**: 🟢 OPTIONAL (app works without Kafka) - -### 14. **KAFKA_SASL_USERNAME** -- **Purpose**: Kafka SASL username -- **Status**: 🟢 OPTIONAL - -### 15. **KAFKA_SASL_PASSWORD** -- **Purpose**: Kafka SASL password -- **Status**: 🟢 OPTIONAL - -### Valkey/Redis (for real-time features) - -### 16. **VALKEY_HOST** -- **Purpose**: Valkey/Redis host -- **Status**: 🟢 OPTIONAL - -### 17. **VALKEY_PORT** -- **Purpose**: Valkey/Redis port -- **Status**: 🟢 OPTIONAL - -### 18. **VALKEY_USERNAME** -- **Purpose**: Valkey/Redis username -- **Status**: 🟢 OPTIONAL - -### 19. **VALKEY_PASSWORD** -- **Purpose**: Valkey/Redis password -- **Status**: 🟢 OPTIONAL - -### Session Configuration - -### 20. **SESSION_SECRET** -- **Purpose**: Secret for session encryption -- **Example**: `your-session-secret-here` -- **Default**: `"secret"` (not secure for production!) -- **Status**: 🟢 OPTIONAL but recommended - ---- - -## šŸ“‹ **Quick Setup Checklist** - -### Minimum Setup (Backend will start, basic functionality): -- [ ] `MONGODB_URI` -- [ ] `JWT_SECRET_VERIFY` - -### Recommended Setup (Production-ready): -- [ ] `MONGODB_URI` -- [ ] `JWT_SECRET_VERIFY` -- [ ] `NODE_ENV` = `production` -- [ ] `SESSION_SECRET` (change from default) - -### Full Setup (All features enabled): -- [ ] All minimum variables -- [ ] All recommended variables -- [ ] SMTP credentials (for email) -- [ ] Cloudinary credentials (for images) -- [ ] Optional services (Kafka, Valkey) if needed - ---- - -## šŸ”§ **How to Configure in Azure Portal** - -1. **Navigate to App Service**: - - Go to [Azure Portal](https://portal.azure.com) - - Search for "Maya" in the search bar - - Click on your App Service "Maya" - -2. **Open Configuration**: - - In the left sidebar, find "Configuration" under "Settings" - - Click on "Configuration" - -3. **Add Environment Variables**: - - Click "New application setting" - - Enter the **Name** (e.g., `MONGODB_URI`) - - Enter the **Value** (e.g., your MongoDB connection string) - - Click "OK" - - Repeat for each variable - -4. **Save Configuration**: - - Click "Save" at the top - - Azure will restart your app (takes ~1-2 minutes) - -5. **Verify**: - - Test the health endpoint: `GET https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/` - - Check the response - it should show `"database": "connected"` if MongoDB is configured correctly - ---- - -## 🧪 **Testing Your Configuration** - -After setting up the variables, test with: - -```bash -# Health check (should return database status) -GET https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ - -# Expected response if MongoDB is connected: -{ - "message": "MayaCode Backend is running!", - "status": "healthy", - "database": "connected", - "environment": { - "mongodb_configured": true, - "node_env": "production" - } -} -``` - ---- - -## āš ļø **Important Notes** - -1. **Never commit** these values to Git - they're already in `.gitignore` -2. **Rotate secrets** periodically for security -3. **Use Key Vault** for sensitive values in production (Azure Key Vault integration) -4. **After changes**, Azure automatically restarts the app -5. **Check logs** if issues persist: Azure Portal → App Service → Log stream - diff --git a/BACKEND_ISSUE_DESCRIPTION.md b/BACKEND_ISSUE_DESCRIPTION.md deleted file mode 100644 index df78404..0000000 --- a/BACKEND_ISSUE_DESCRIPTION.md +++ /dev/null @@ -1,240 +0,0 @@ -# Azure App Service Node.js Backend 500 Internal Server Error - -## Problem Summary -Deployed Node.js/Express backend on Azure App Service returns **500 Internal Server Error** on all requests. The server is accessible (no connection refused), but fails to process requests. - -## Technical Details - -### Environment -- **Platform**: Azure App Service (Windows/Linux - need to verify) -- **URL**: https://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ -- **Backend Stack**: Node.js, Express.js, MongoDB (Mongoose) -- **HTTP Status**: 500 Internal Server Error -- **Response Body**: Empty (Content-Length: 0) -- **Server Header**: Microsoft-IIS/10.0 (suggests Windows deployment) - -### Application Structure -- Entry Point: `src/index.js` -- Main App: `src/app.js` -- Database: MongoDB (using Mongoose) -- Authentication: JWT-based -- Additional Services: Kafka (optional), Socket.io, Cloudinary - -### Current Behavior -1. āœ… Server responds to requests (not connection refused) -2. āœ… HTTP redirects to HTTPS (working) -3. āŒ Returns 500 error on root endpoint `/` -4. āŒ Empty response body (no error details) - -### Code Context -- Root endpoint (`/`) in `app.js` checks MongoDB connection status -- Uses `mongoose.connection.readyState` to determine database status -- Has error handlers but not returning error details in production mode - -## Suspected Causes - -### 1. Missing Environment Variables -**Critical Variables:** -- `MONGODB_URI` - Required for database connection -- `JWT_SECRET_VERIFY` - Required for JWT authentication - -**Code Evidence:** -```javascript -// app.js line 68-69 -const mongoose = require('mongoose'); -const dbStatus = mongoose.connection.readyState === 1 ? 'connected' : 'disconnected'; -``` - -### 2. Database Connection Failure -- MongoDB connection might be failing during startup -- Connection string might be incorrect or missing -- Network/firewall issues preventing MongoDB Atlas access - -### 3. Application Startup Issues -- Node.js process might be crashing during initialization -- Missing dependencies in production -- Port configuration issues -- web.config (iisnode) configuration problems - -### 4. Error Handling -- Errors are being caught but not logged properly -- Production mode hides error details -- No error response body being returned - -## What We've Verified -- āœ… URL is accessible (DNS resolves correctly) -- āœ… HTTPS is working (SSL certificate valid) -- āœ… Server is responding (not down) -- āœ… HTTP → HTTPS redirect working -- āŒ Application logic not executing properly - -## Search Keywords for Internet Research - -### Primary Searches -1. **"Azure App Service Node.js 500 Internal Server Error empty response"** -2. **"Azure App Service Express.js 500 error no response body"** -3. **"iisnode 500 Internal Server Error Node.js Azure"** -4. **"Mongoose connection Azure App Service 500 error"** -5. **"Azure App Service Node.js environment variables not working"** - -### Specific Issue Searches -6. **"Azure App Service Node.js returns 500 Content-Length 0"** -7. **"Azure App Service Node.js application crashes on startup"** -8. **"MongoDB connection Azure App Service Node.js fails"** -9. **"Azure App Service web.config iisnode Node.js not working"** -10. **"Azure App Service Express.js health check endpoint 500"** - -### Diagnostic Searches -11. **"How to check Azure App Service Node.js logs"** -12. **"Azure App Service Application Insights Node.js errors"** -13. **"Azure App Service Kudu console Node.js debugging"** -14. **"Azure App Service Node.js environment variables not loading"** -15. **"Azure App Service Node.js dotenv not working production"** - -## Potential Solutions to Research - -### 1. Check Application Logs -- Azure Portal → App Service → Log stream -- Azure Portal → App Service → Advanced Tools (Kudu) → Debug console -- Application Insights → Failures and exceptions - -### 2. Verify Environment Variables -- Azure Portal → Configuration → Application settings -- Verify `MONGODB_URI` and `JWT_SECRET_VERIFY` are set -- Check for typos or extra spaces -- Ensure variables are saved and app restarted - -### 3. Database Connection Issues -- Verify MongoDB Atlas IP whitelist includes Azure App Service IPs -- Check MongoDB connection string format -- Test MongoDB connection from Azure App Service Kudu console - -### 4. web.config Configuration -- Verify `web.config` is correct for the deployment -- Check if using Windows vs Linux App Service -- Verify `iisnode` configuration if Windows -- Check if `web.config` should be removed for Linux deployment - -### 5. Application Initialization -- Check if app crashes during `initializeServices()` in `index.js` -- Verify all dependencies are installed -- Check for missing required modules -- Verify Node.js version compatibility - -### 6. Port Configuration -- Azure App Service sets PORT automatically -- Verify app listens on `process.env.PORT` -- Check if PORT environment variable is set correctly - -## Files to Check -- `Backend/src/index.js` - Entry point and service initialization -- `Backend/src/app.js` - Express app configuration and root endpoint -- `Backend/src/config/db.js` - MongoDB connection logic -- `Backend/web.config` - IIS/iisnode configuration (if Windows) -- `Backend/package.json` - Dependencies and scripts - -## Troubleshooting Chart - -### Systematic Diagnosis Table - -| Category | Potential Issue/Cause | Recommended Search Terms | Initial Checklist/Action in Azure Portal | -|----------|----------------------|-------------------------|------------------------------------------| -| **Application Logic** | Unhandled exceptions or code crashes during startup or request processing | "Azure App Service Node.js 500 Internal Server Error empty response", "Azure App Service Express.js 500 error no response body", "Azure App Service Node.js crashes on startup" | 1. Check Azure Portal → App Service → Log stream (real-time errors)
2. Enable and review Application Logs (Filesystem) in Monitoring → Diagnostics Logs page
3. Use Kudu console (yoursitename.scm.azurewebsites.net) to run the app from the command line and check for errors | -| **Configuration** | Missing or incorrect environment variables (e.g., database connection strings) required by the app | "Azure App Service Node.js environment variables not loading", "web.config configuration is not correct" | 1. Verify environment variables in Configuration → Application settings
2. Check if web.config is correct and present for your deployment type (it might be auto-generated) | -| **Database Connectivity** | Failure to connect to the MongoDB database (e.g., firewall, incorrect credentials) | "MongoDB connection Azure App Service Node.js 500 error", "MongoDB Atlas allows Azure App Service IPs" | 1. Check if MongoDB Atlas allows Azure App Service IPs (allow connections from Azure services)
2. Ensure the database is running and connection strings are accurate | -| **Deployment/Platform** | Incorrect file paths, missing main script file, or application taking too long to start (iisnode timeout) | "iisnode 500 Internal Server Error Node.js Azure", "Node.exe is not present at the correct location" | 1. Verify the main script file name in web.config matches the deployed file
2. Increase the maxNamedPipeConnectionRetry and namedPipeConnectionRetryDelay settings if it's a cold start/timeout issue | - -## Action Plan - Step by Step - -### Step 1: Check Application Logs (HIGHEST PRIORITY) -**Action Items:** -1. Go to Azure Portal → App Service "Maya" → **Log stream** - - Look for error messages, stack traces, or initialization failures - - Check for "Cannot find module" errors - - Look for MongoDB connection errors - - Note any "PORT" or environment variable issues - -2. Enable Application Logs: - - Azure Portal → App Service → **Monitoring** → **Diagnostics Logs** - - Enable **Application Logging (Filesystem)** - - Set Level to **Verbose** - - Save and wait 2-3 minutes, then check logs again - -3. Access Kudu Console: - - Navigate to: `https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net` - - Or: Azure Portal → App Service → **Advanced Tools** → **Go** → **Debug console** → **CMD** - - Check file structure: `site/wwwroot/` - - Verify `src/index.js` exists - - Check `node_modules` folder exists and has dependencies - -### Step 2: Verify Environment Variables -**Action Items:** -1. Azure Portal → App Service "Maya" → **Configuration** → **Application settings** -2. Verify these exist: - - āœ… `MONGODB_URI` (should start with `mongodb+srv://...`) - - āœ… `JWT_SECRET_VERIFY` (should be a long random string) - - āœ… `PORT` (usually auto-set by Azure, but verify it exists) - - āœ… `NODE_ENV` (should be `production`) -3. Check for typos, extra spaces, or missing quotes -4. **Save** configuration (app will restart automatically) -5. Wait 2-3 minutes for restart, then test again - -### Step 3: Database Connection Check -**Action Items:** -1. MongoDB Atlas Dashboard: - - Go to **Network Access** → **IP Access List** - - Ensure **"Allow access from anywhere"** (0.0.0.0/0) is enabled - - OR add Azure App Service IP ranges (search for "Azure App Service IP ranges") - -2. Verify MongoDB Connection String: - - Format: `mongodb+srv://username:password@cluster.mongodb.net/mayacode?retryWrites=true&w=majority` - - Check username/password are correct - - Verify cluster name matches your Atlas cluster - -3. Test from Kudu Console: - - In Kudu → **Debug console** → **CMD** - - Navigate to: `cd D:\home\site\wwwroot` - - Try: `node -e "require('dotenv').config(); console.log(process.env.MONGODB_URI ? 'MONGODB_URI exists' : 'MONGODB_URI missing')"` - -### Step 4: Check web.config and Deployment -**Action Items:** -1. Verify Deployment Type: - - Azure Portal → App Service → **Configuration** → **General settings** - - Check if **Stack** is "Node.js" and correct version - - Note if it's Windows or Linux - -2. Check web.config (if Windows): - - In Kudu console, check: `D:\home\site\wwwroot\web.config` - - Verify `path="src/index.js"` matches your actual file location - - Check if `web.config` exists and is readable - -3. Verify File Structure: - - `site/wwwroot/src/index.js` should exist - - `site/wwwroot/src/app.js` should exist - - `site/wwwroot/package.json` should exist - - `site/wwwroot/node_modules` should exist with dependencies - -4. Check Startup Command (if Linux): - - Azure Portal → **Configuration** → **General settings** → **Startup Command** - - Should be: `node src/index.js` or `npm start` - - Verify this matches your `package.json` start script - -### Step 5: Test Application Startup -**Action Items:** -1. In Kudu Console → **Debug console** → **CMD**: - ```bash - cd D:\home\site\wwwroot - node src/index.js - ``` - - Watch for errors during startup - - Check if MongoDB connection is attempted - - Note any missing module errors - -2. Check Node.js Version: - - Kudu console: `node --version` - - Verify it matches your local development version - - Azure Portal → Configuration → General settings → Stack settings - -## Next Steps -By following this chart systematically, you can diagnose and address the root cause of the 500 error. Start with Step 1 (Application Logs) as it will most likely reveal the exact error causing the 500 response. - diff --git a/Backend/TROUBLESHOOTING.md b/Backend/TROUBLESHOOTING.md deleted file mode 100644 index e0b8670..0000000 --- a/Backend/TROUBLESHOOTING.md +++ /dev/null @@ -1,89 +0,0 @@ -# Troubleshooting iisnode 500.1000 Error - -## Quick Diagnosis Steps - -### 1. Check if node_modules exists -**Via Kudu Console:** -``` -https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net -→ Debug Console → CMD -→ cd D:\home\site\wwwroot -→ dir node_modules -``` - -**If missing:** -```cmd -npm install --production -``` - -### 2. Check iisnode logs -**Location:** `D:\home\LogFiles\iisnode\` -- Look for files named `src-index.js-*.log` -- These contain the actual Node.js error messages - -### 3. Run test script -**Via Kudu Console:** -```cmd -cd D:\home\site\wwwroot -node test-startup.js -``` - -This will verify: -- Required files exist -- node_modules exists -- Basic dependencies are available - -### 4. Test the app manually -**Via Kudu Console:** -```cmd -cd D:\home\site\wwwroot -node src/index.js -``` - -Watch for error messages. If it crashes immediately, the logs will show why. - -### 5. Verify web.config -**Check that web.config exists and points to:** -```xml - -``` - -### 6. Check Application Settings -**Azure Portal → App Service → Configuration → Application Settings** - -Required: -- `PORT` (auto-set by Azure, but verify it exists) -- `MONGODB_URI` (your MongoDB connection string) -- `JWT_SECRET_VERIFY` (for authentication) -- `NODE_ENV` (should be `production`) - -### 7. Check file permissions -All files in `D:\home\site\wwwroot` should be readable by IIS_IUSRS. - -## Common Issues - -### Issue: "Cannot find module" -**Solution:** Run `npm install --production` in wwwroot - -### Issue: "PORT is not defined" -**Solution:** Azure should set this automatically. If missing, add it in App Settings. - -### Issue: App crashes on startup -**Check:** iisnode logs for the actual error message - -### Issue: MongoDB connection fails -**Check:** -- MongoDB Atlas Network Access allows Azure IPs (0.0.0.0/0) -- Connection string is correct in App Settings - -## Viewing Logs - -### Real-time logs -**Azure Portal → App Service → Log stream** - -### iisnode logs -**Kudu → D:\home\LogFiles\iisnode\** - -### Application logs -**Kudu → D:\home\LogFiles\Application\** - diff --git a/Backend/find-nodejs.cmd b/Backend/find-nodejs.cmd new file mode 100644 index 0000000..c697f80 --- /dev/null +++ b/Backend/find-nodejs.cmd @@ -0,0 +1,38 @@ +@echo off +REM Find Node.js 20.x installation on Azure App Service +REM Run this in Kudu Console: CMD + +echo Searching for Node.js installations... +echo. + +echo Checking Program Files (x86): +dir "D:\Program Files (x86)\nodejs" 2>nul +if %errorlevel% == 0 ( + echo Found: D:\Program Files (x86)\nodejs + dir "D:\Program Files (x86)\nodejs" /b +) + +echo. +echo Checking Program Files: +dir "D:\Program Files\nodejs" 2>nul +if %errorlevel% == 0 ( + echo Found: D:\Program Files\nodejs + dir "D:\Program Files\nodejs" /b +) + +echo. +echo Searching entire D: drive for node.exe: +dir /s /b "D:\node.exe" 2>nul | findstr /i "20\." + +echo. +echo Current node.exe location: +where node + +echo. +echo Current node version: +node -v + +echo. +echo WEBSITE_NODE_DEFAULT_VERSION: +echo %WEBSITE_NODE_DEFAULT_VERSION% + diff --git a/Backend/fix-node-version.ps1 b/Backend/fix-node-version.ps1 new file mode 100644 index 0000000..cf38216 --- /dev/null +++ b/Backend/fix-node-version.ps1 @@ -0,0 +1,22 @@ +# PowerShell script to fix Node.js version on Azure App Service +# Run this via Kudu Console → PowerShell or via Azure CLI + +# This script sets the Node.js version to 20.x +# You can also do this via Azure Portal: +# Configuration → General settings → Stack settings → Node.js 20.x + +Write-Host "Setting Node.js version to 20.x..." +Write-Host "Note: This requires Azure CLI or Azure Portal access" +Write-Host "" +Write-Host "To fix via Azure Portal:" +Write-Host "1. Go to Azure Portal → App Service 'Maya'" +Write-Host "2. Configuration → General settings" +Write-Host "3. Stack settings → Stack: Node.js" +Write-Host "4. Major version: 20" +Write-Host "5. Minor version: 20.x (latest)" +Write-Host "6. Click Save" +Write-Host "7. Restart the App Service" +Write-Host "" +Write-Host "After restart, verify with: node -v" +Write-Host "Should show: v20.x.x" + diff --git a/Backend/src/index.js b/Backend/src/index.js index 19e2d5a..17fb53f 100644 --- a/Backend/src/index.js +++ b/Backend/src/index.js @@ -1,8 +1,25 @@ +// CRITICAL: Check Node.js version FIRST (before any ES6+ syntax) +var nodeVersion = process.version; +var majorVersion = parseInt(nodeVersion.split('.')[0].substring(1), 10); + +if (majorVersion < 4) { + console.error("=========================================="); + console.error("āŒ FATAL ERROR: Node.js version too old!"); + console.error("Current version: " + nodeVersion); + console.error("Required version: Node.js 18+ or 20+"); + console.error(""); + console.error("This application requires modern Node.js features."); + console.error("Please set WEBSITE_NODE_DEFAULT_VERSION=20.11.1"); + console.error("And ensure Stack Settings use Node.js 20.x"); + console.error("=========================================="); + process.exit(1); +} + // Add error handling for missing dependencies try { // Check if node_modules exists - const fs = require("fs"); - const path = require("path"); + var fs = require("fs"); + var path = require("path"); if (!fs.existsSync(path.join(__dirname, "../../node_modules"))) { console.error("āŒ ERROR: node_modules directory not found!"); console.error("Please run 'npm install --production' in the deployment directory"); @@ -13,8 +30,9 @@ try { console.error("āŒ Error checking for node_modules:", checkError.message); } -const http = require("http"); -let app, setupSocket, initializeProducer, initializeConsumer, kafkaConsumerService; +// Now safe to use ES6+ syntax since we verified Node.js version +var http = require("http"); +var app, setupSocket, initializeProducer, initializeConsumer, kafkaConsumerService; try { app = require("./app.js"); diff --git a/Backend/test-startup.js b/Backend/test-startup.js index 50b417a..9ec26c6 100644 --- a/Backend/test-startup.js +++ b/Backend/test-startup.js @@ -1,42 +1,62 @@ // Simple test script to verify Node.js can start // Run this via Kudu Console: node test-startup.js +// Compatible with older Node.js versions (ES5 syntax) console.log("Testing Node.js startup..."); console.log("Node version:", process.version); console.log("Working directory:", process.cwd()); console.log("PORT:", process.env.PORT || "not set"); -const fs = require("fs"); -const path = require("path"); +var fs = require("fs"); +var path = require("path"); console.log("\nChecking for required files:"); -const files = [ +var files = [ "package.json", "src/index.js", "src/app.js", "web.config" ]; -files.forEach(file => { - const fullPath = path.join(process.cwd(), file); - const exists = fs.existsSync(fullPath); - console.log(` ${exists ? 'āœ…' : 'āŒ'} ${file} - ${exists ? 'exists' : 'MISSING'}`); +files.forEach(function(file) { + var fullPath = path.join(process.cwd(), file); + var exists = fs.existsSync(fullPath); + var status = exists ? "OK" : "MISSING"; + var icon = exists ? "[OK]" : "[MISSING]"; + console.log(" " + icon + " " + file + " - " + status); }); console.log("\nChecking for node_modules:"); -const nodeModulesPath = path.join(process.cwd(), "node_modules"); +var nodeModulesPath = path.join(process.cwd(), "node_modules"); if (fs.existsSync(nodeModulesPath)) { - console.log(" āœ… node_modules exists"); - const expressPath = path.join(nodeModulesPath, "express"); + console.log(" [OK] node_modules exists"); + var expressPath = path.join(nodeModulesPath, "express"); if (fs.existsSync(expressPath)) { - console.log(" āœ… express module found"); + console.log(" [OK] express module found"); } else { - console.log(" āŒ express module NOT found"); + console.log(" [MISSING] express module NOT found"); } } else { - console.log(" āŒ node_modules MISSING - run 'npm install --production'"); + console.log(" [MISSING] node_modules MISSING - run 'npm install --production'"); } -console.log("\nāœ… Basic checks complete. If all files exist, try running:"); +console.log("\nChecking package.json:"); +var packageJsonPath = path.join(process.cwd(), "package.json"); +if (fs.existsSync(packageJsonPath)) { + try { + var packageJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf8")); + console.log(" [OK] package.json found"); + console.log(" Name:", packageJson.name); + console.log(" Start script:", packageJson.scripts && packageJson.scripts.start || "not set"); + } catch (e) { + console.log(" [ERROR] Could not parse package.json:", e.message); + } +} else { + console.log(" [MISSING] package.json not found"); +} + +console.log("\nBasic checks complete. If all files exist, try running:"); console.log(" node src/index.js"); +console.log("\nIf node_modules is missing, run:"); +console.log(" npm install --production"); diff --git a/POSTMAN_TEST_ENDPOINTS.md b/POSTMAN_TEST_ENDPOINTS.md deleted file mode 100644 index 550f713..0000000 --- a/POSTMAN_TEST_ENDPOINTS.md +++ /dev/null @@ -1,90 +0,0 @@ -# Public GET Endpoints for Postman Testing - -Base URL: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net` - -## 1. Health Check -**GET** `/` -- **Description**: Check if the backend is running -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/` -- **Expected Response**: JSON with server status and available endpoints - -## 2. Get All Posts -**GET** `/api/posts` -- **Description**: Retrieve all posts -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts` -- **Query Parameters** (optional): - - `limit`: Number of posts to return - - `skip`: Number of posts to skip - - `type`: Filter by post type (help, offer, story) - -## 3. Get Post by ID -**GET** `/api/posts/:id` -- **Description**: Get a specific post by its ID -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/POST_ID_HERE` -- **Note**: Replace `POST_ID_HERE` with an actual post ID from the database - -## 4. Get Post Images -**GET** `/api/posts/:id/images` -- **Description**: Get images for a specific post -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/POST_ID_HERE/images` - -## 5. Get User Posts by Phone -**GET** `/api/posts/phone/:phone` -- **Description**: Get all posts created by a user (using phone number) -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts/phone/+1234567890` -- **Note**: Replace with actual phone number - -## 6. Get User by Email -**GET** `/api/users/email/:email` -- **Description**: Get user profile by email address -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/email/test@example.com` - -## 7. Get All Users -**GET** `/api/users/` -- **Description**: Get list of all users -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/` -- **Note**: This might return a large list, use with caution - -## 8. Get User Preferences -**GET** `/api/users/email/:email/preferences` -- **Description**: Get user preferences by email -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/users/email/test@example.com/preferences` - -## 9. List Images by Category -**GET** `/api/images/:category` -- **Description**: Get list of images in a category -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/images/stories` -- **Categories**: stories, help-posts, etc. - -## 10. Get Specific Image -**GET** `/api/images/:category/:number` -- **Description**: Get a specific image by category and number -- **Example**: `http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/images/stories/1` - -## Quick Test Steps for Postman: - -1. **Start with Health Check** (most likely to work): - ``` - GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/ - ``` - -2. **Then test Posts endpoint**: - ``` - GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts - ``` - -3. **If you get data, test with query parameters**: - ``` - GET http://maya-b6d7g0ephnhhe4ay.canadacentral-01.azurewebsites.net/api/posts?limit=5&type=help - ``` - -## Important Notes: - -āš ļø **If you get 500 errors**, the backend might need: -- MongoDB connection string (`MONGODB_URI`) configured in Azure App Service settings -- Other environment variables set up - -āš ļø **If you get empty arrays `[]`**, the database might be empty, which is normal for a fresh deployment. - -āš ļø **For endpoints with `:id` or `:email`**, you'll need actual IDs/emails from your database to test them. - diff --git a/STRUCTURE_COMPARISON.md b/STRUCTURE_COMPARISON.md deleted file mode 100644 index 22302b9..0000000 --- a/STRUCTURE_COMPARISON.md +++ /dev/null @@ -1,153 +0,0 @@ -# Structure Comparison: Chiltel vs MayaCode Backend - -## āœ… Files Present in Both - -| Component | Chiltel | MayaCode | Status | -|-----------|---------|----------|--------| -| Main Entry | `server.js` | `src/index.js` | āœ… Different but equivalent | -| Azure Config | `web.config` | `web.config` | āœ… Present | -| Package File | `package.json` | `package.json` | āœ… Present | -| Config Folder | `config/` | `src/config/` | āœ… Present | -| Controllers | `controllers/` | `src/controllers/` | āœ… Present | -| Middleware | `middleware/` | `src/middleware/` | āœ… Present | -| Models | `models/` | `src/models/` | āœ… Present | -| Routes | `routes/` | `src/routes/` | āœ… Present | -| Services | `services/` | `src/services/` | āœ… Present | -| Utils | `utils/` | `src/utils/` | āœ… Present | -| Public | `public/` | `public/` | āœ… Present | - -## āŒ Files Missing in MayaCode - -### 1. **start-websocket.js** (Optional) -**Chiltel**: Separate WebSocket startup file -**MayaCode**: WebSocket integrated in `src/index.js` via `setupSocket(server)` - -**Impact**: -- āœ… **Not Critical** - MayaCode integrates WebSocket into main server -- āš ļø **If you need separate WebSocket process**: You'd need this file - -**Recommendation**: Only needed if you want to run WebSocket as a separate process. Current integration is fine. - -### 2. **constants/** folder (Optional) -**Chiltel**: Has a `constants/` folder (likely for centralizing config values) -**MayaCode**: Uses environment variables directly - -**Impact**: -- āœ… **Not Critical** - Environment variables work fine -- šŸ’” **Nice to have** - Could centralize API endpoints, default values, etc. - -**Recommendation**: Optional improvement, not required for deployment. - ---- - -## šŸ” Critical Files Check for Azure Deployment - -### āœ… **web.config** - PRESENT -```xml - - -``` -**Status**: āœ… Correct - -### āœ… **Main Entry Point** - PRESENT -```javascript -// MayaCode: src/index.js -// Chiltel: server.js -``` -**Status**: āœ… Correct (just different naming) - -### āœ… **Package.json Scripts** - CORRECT -```json -{ - "start": "node src/index.js" -} -``` -**Status**: āœ… Correct - -### āš ļø **Startup Command for Azure** -**For Linux App Service**: Should be `node src/index.js` or `npm start` -**For Windows App Service**: web.config handles it automatically - -**Check**: Azure Portal → Configuration → General Settings → Startup Command - ---- - -## šŸŽÆ Key Differences - -### Architecture Differences (Both Valid) - -1. **WebSocket Integration** - - **Chiltel**: Separate process (`start-websocket.js`) - - **MayaCode**: Integrated in main server (`setupSocket(server)`) - - **Verdict**: āœ… MayaCode approach is fine, simpler - -2. **Configuration Management** - - **Chiltel**: Uses `constants/` folder + environment variables - - **MayaCode**: Direct environment variables - - **Verdict**: āœ… Both work, MayaCode is simpler - -3. **File Structure** - - **Chiltel**: Flat structure (`server.js` at root) - - **MayaCode**: Organized in `src/` folder - - **Verdict**: āœ… MayaCode structure is cleaner - ---- - -## āœ… Conclusion: MayaCode Has All Critical Files - -**MayaCode backend is NOT missing any critical files for Azure deployment.** - -The missing items (`start-websocket.js`, `constants/`) are: -- āœ… Optional architectural choices -- āœ… Not required for basic deployment -- āœ… Can be added later if needed - ---- - -## šŸ“‹ Azure Deployment Requirements Checklist - -### āœ… Required Files (All Present) -- [x] `web.config` - For Windows Azure App Service -- [x] `package.json` - Dependencies and scripts -- [x] Main entry point (`src/index.js`) -- [x] Config files (`src/config/`) -- [x] Routes, controllers, models, services - -### āš ļø Azure-Specific Checks -- [ ] **Startup Command**: Set in Azure Portal (if Linux) -- [ ] **Environment Variables**: Set in Azure Portal -- [ ] **web.config**: Verify path matches your structure (`src/index.js`) -- [ ] **Node.js Version**: Set in Azure Portal - ---- - -## šŸ”§ Optional Improvements (Not Critical) - -1. **Create constants/index.js** (if you want centralized config): - ```javascript - module.exports = { - API_VERSION: 'v1', - DEFAULT_PAGE_SIZE: 20, - // etc. - }; - ``` - -2. **Create start-websocket.js** (if you want separate WebSocket process): - ```javascript - // Only needed if running WebSocket separately - // Current integration is fine - ``` - ---- - -## āœ… Final Verdict - -**MayaCode backend structure is complete and ready for Azure deployment.** - -The 500 error is likely due to: -1. āœ… Missing environment variables (fixed with our configuration checks) -2. āœ… Optional services crashing (fixed with our graceful handling) -3. āš ļø Azure-specific configuration (startup command, web.config path) - -**Next Steps**: Deploy the fixes and verify Azure Portal settings. - diff --git a/WEB_CONFIG_ANALYSIS.md b/WEB_CONFIG_ANALYSIS.md deleted file mode 100644 index ff9239c..0000000 --- a/WEB_CONFIG_ANALYSIS.md +++ /dev/null @@ -1,236 +0,0 @@ -# web.config Analysis for MayaCode Backend - -## āœ… Current Configuration Status - -### What's Correct: -1. **Entry Point Path**: `path="src/index.js"` āœ… Matches actual file -2. **Rewrite Rules**: Correctly routes all requests to `src/index.js` āœ… -3. **iisnode Handler**: Properly configured āœ… -4. **Logging**: Enabled āœ… - -### Current web.config: -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - ---- - -## āš ļø Potential Issues & Improvements - -### 1. **Missing Error Handling** -Current config doesn't specify error pages or error handling behavior. - -### 2. **Missing Timeout Settings** -No timeout configuration for long-running requests or startup. - -### 3. **Missing Environment Variable Handling** -Could add explicit environment variable configuration. - -### 4. **Missing Static File Handling** -Could add better handling for static files in `/public` directory. - -### 5. **Missing WebSocket Support** -Socket.io might need explicit WebSocket support configuration. - ---- - -## šŸ”§ Recommended Improved web.config - -Here's an enhanced version with better error handling and configuration: - -```xml - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -``` - ---- - -## āœ… Verification Checklist - -### Current web.config: -- [x] Entry point path is correct (`src/index.js`) -- [x] Rewrite rules are configured -- [x] iisnode handler is set up -- [x] Logging is enabled -- [ ] Error handling could be improved -- [ ] Timeout settings missing -- [ ] Static file handling could be better -- [ ] WebSocket support not explicitly configured - ---- - -## šŸŽÆ Critical Issues to Check - -### 1. **Path Verification** -āœ… **CORRECT**: `path="src/index.js"` matches your actual file structure -- File exists at: `Backend/src/index.js` āœ… -- Package.json script: `"start": "node src/index.js"` āœ… - -### 2. **Azure Deployment** -āš ļø **CHECK**: Your GitHub Actions workflow excludes `web.config`: -```yaml -zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" -``` - -**ISSUE**: If your Azure App Service is **Windows**, you NEED `web.config`! - -**Solution**: Either: -- Remove `web.config` from exclusion list, OR -- Add step to copy `web.config` back after creating zip - -### 3. **Environment Variables** -āœ… `node_env="%node_env%"` is correct - Azure will set this automatically - ---- - -## šŸ“‹ Recommended Action - -### Option 1: Keep Current (Minimal) Config -If your current setup works, keep it. The current config is **functionally correct**. - -### Option 2: Enhanced Config (Recommended) -Use the enhanced version above for: -- Better error handling -- Improved logging -- Static file optimization -- WebSocket support -- Better timeout handling - -### Option 3: Fix Deployment Issue -**CRITICAL**: Fix your GitHub Actions workflow to include `web.config` if deploying to Windows: - -```yaml -# In .github/workflows/dev_maya.yml, line 153 -# Change from: -zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" "web.config" - -# To (if Windows): -zip -r deploy.zip . -q -x "node_modules/*" "*.git*" "*.log" "*.DS_Store" -# OR (if Linux): -# Remove web.config entirely, use startup command instead -``` - ---- - -## āœ… Final Verdict - -**Current web.config is CORRECTLY configured** for the file structure. - -**However**, the deployment workflow might be excluding it, which could cause 500 errors if: -- Azure App Service is Windows-based -- web.config is not deployed -- IIS doesn't know how to handle Node.js requests - -**Next Steps**: -1. āœ… Verify web.config is being deployed (check GitHub Actions) -2. āœ… Verify Azure App Service OS (Windows vs Linux) -3. āœ… If Windows: Ensure web.config is included in deployment -4. āœ… If Linux: Remove web.config, use startup command instead - From 4be74d843392fdfcecb190927493d88e66aabbec Mon Sep 17 00:00:00 2001 From: Dronesh77 Date: Wed, 5 Nov 2025 03:11:30 +0530 Subject: [PATCH 83/91] update webconfig --- Backend/web.config | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/Backend/web.config b/Backend/web.config index 3dd0ef8..eba942e 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -1,3 +1,4 @@ + @@ -47,13 +48,10 @@ - - - - - + + - - - + configOverrides="iisnode.yml"/> + From c3b036b0bbe94bf7479ccf8e1a1670fb000d58aa Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 21:46:38 +0530 Subject: [PATCH 84/91] update --- .gitignore | 2 ++ Backend/src/app.js | 21 ++++++++--------- Backend/web.config | 57 ++++------------------------------------------ 3 files changed, 17 insertions(+), 63 deletions(-) diff --git a/.gitignore b/.gitignore index a6a8182..8ffe0f4 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,5 @@ yarn-error.log* # CA certificate Kafka Backend/src/config/ca.pem + +/sampleBackend \ No newline at end of file diff --git a/Backend/src/app.js b/Backend/src/app.js index 3814e43..84f37ea 100644 --- a/Backend/src/app.js +++ b/Backend/src/app.js @@ -32,6 +32,9 @@ connectDB().catch(err => { const app = express(); const path = require('path'); +// Trust proxy for Azure App Service (critical for correct IP/URL handling) +app.set('trust proxy', true); + app.use(cors()); app.use(express.json({ limit: '50mb' })); // Increase JSON body limit for base64 images app.use(express.urlencoded({ limit: '50mb', extended: false })); // Increase URL encoded limit @@ -101,20 +104,16 @@ app.use("/auth", authRoutes); app.use("/api/messages", messageRoutes); app.use("/api/images", imageRoutes); -// Global error handler for unhandled exceptions -app.use((err, req, res, next) => { - console.error('🚨 GLOBAL ERROR HANDLER:', err); - console.error('Error stack:', err.stack); - console.error('Request URL:', req.url); - console.error('Request method:', req.method); - console.error('Request body size:', req.body ? JSON.stringify(req.body).length : 'no body'); - res.status(500).json({ - message: 'Internal server error', - error: process.env.NODE_ENV === 'development' ? err.message : 'Something went wrong!' +// 404 handler for undefined routes (must be before error handler) +app.use('*', (req, res) => { + res.status(404).json({ + success: false, + message: 'Route not found', + error: `Cannot ${req.method} ${req.originalUrl}` }); }); -// Error middleware +// Error middleware (must be last, after all routes) app.use(errorHandler); module.exports = app; diff --git a/Backend/web.config b/Backend/web.config index dc1a93b..1048971 100644 --- a/Backend/web.config +++ b/Backend/web.config @@ -1,43 +1,24 @@ - - - - - + - - + - - - - - - - - - - - - + - - - + - - + @@ -45,34 +26,6 @@ - - - - - - - - - - From 60ab15682528bb6e0611da58533e3407b64dfc2c Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 22:06:32 +0530 Subject: [PATCH 85/91] update --- .github/workflows/dev_maya.yml | 112 ++++++++++++++++----------------- 1 file changed, 54 insertions(+), 58 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 528b65a..1c67e4c 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -57,10 +57,28 @@ jobs: exit 1 fi - # Warn if package-lock.json is missing (recommended but not required) + # CRITICAL: Ensure package-lock.json exists (required for Azure npm install) if [ ! -f "package-lock.json" ]; then - echo "WARNING: package-lock.json missing - Azure will generate it, but this may cause dependency issues" + echo "āŒ ERROR: package-lock.json missing - Azure needs this to install dependencies" + echo "Generating package-lock.json..." + npm install --package-lock-only --no-save || { + echo "Failed to generate package-lock.json" + exit 1 + } fi + + # Verify .deployment file exists + if [ ! -f ".deployment" ]; then + echo "āš ļø WARNING: .deployment file missing - creating it..." + echo "[config]" > .deployment + echo "SCM_DO_BUILD_DURING_DEPLOYMENT=true" >> .deployment + fi + + echo "āœ… Deployment package prepared:" + echo " - package.json: āœ“" + echo " - package-lock.json: āœ“" + echo " - .deployment: āœ“" + echo " - web.config: āœ“" - name: Upload artifact for deployment job uses: actions/upload-artifact@v4 @@ -122,6 +140,10 @@ jobs: echo "āŒ ERROR: package.json missing at root" exit 1 fi + if [ ! -f "package-lock.json" ]; then + echo "āŒ ERROR: package-lock.json missing at root (CRITICAL for npm install)" + exit 1 + fi if [ ! -f "src/index.js" ]; then echo "āŒ ERROR: src/index.js missing" exit 1 @@ -131,16 +153,24 @@ jobs: exit 1 fi if [ ! -f ".deployment" ]; then - echo "āš ļø WARNING: .deployment file missing (Azure will use default build settings)" + echo "āš ļø WARNING: .deployment file missing - creating it..." + echo "[config]" > .deployment + echo "SCM_DO_BUILD_DURING_DEPLOYMENT=true" >> .deployment + fi + + # Verify .deployment content + if [ -f ".deployment" ]; then + echo "šŸ“„ .deployment file content:" + cat .deployment + echo "" fi echo "āœ… All required files verified at root level" echo " - package.json: āœ“" + echo " - package-lock.json: āœ“" echo " - src/index.js: āœ“" echo " - web.config: āœ“" - if [ -f ".deployment" ]; then - echo " - .deployment: āœ“" - fi + echo " - .deployment: āœ“" - name: Login to Azure uses: azure/login@v2 @@ -205,7 +235,7 @@ jobs: echo " Configuration → General settings → Stack settings" echo " Should show: Node.js 20.x" - - name: Deploy using GitHub Action + - name: Deploy to Azure (npm install runs automatically) uses: azure/webapps-deploy@v3 id: deploy-to-webapp with: @@ -213,59 +243,25 @@ jobs: slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - - name: Install dependencies on Azure + - name: Wait for deployment and npm install to complete run: | - echo "Waiting for deployment to complete..." - sleep 30 - - echo "Installing npm dependencies on Azure App Service..." - - # Get publishing credentials - PUBLISH_CREDS=$(az webapp deployment list-publishing-profiles \ - --name Maya \ - --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ - --query "[?publishMethod=='MSDeploy'].{userName:userName,userPWD:userPWD}" \ - --output json | jq -r '.[0]') - - if [ -z "$PUBLISH_CREDS" ] || [ "$PUBLISH_CREDS" = "null" ]; then - echo "WARNING: Could not get publishing credentials. Manual npm install required:" - echo " Kudu: https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - echo " Command: cd D:\\home\\site\\wwwroot && npm install --production" - exit 0 - fi - - USERNAME=$(echo "$PUBLISH_CREDS" | jq -r '.userName') - PASSWORD=$(echo "$PUBLISH_CREDS" | jq -r '.userPWD') - - if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] || [ "$USERNAME" = "null" ] || [ "$PASSWORD" = "null" ]; then - echo "WARNING: Could not extract credentials. Manual npm install required." - exit 0 - fi - - # Use Kudu API to run npm install - KUDU_URL="https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - COMMAND="cd D:\\home\\site\\wwwroot && npm install --production" - - echo "Executing npm install via Kudu API..." - - # Execute command via Kudu REST API - RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ - -X POST \ - -H "Content-Type: application/json" \ - -d "{\"command\": \"$COMMAND\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" \ - "$KUDU_URL/api/command" 2>&1) - - if echo "$RESPONSE" | grep -q "error\|Error\|ERROR"; then - echo "WARNING: npm install may have failed. Check Kudu logs." - echo "Response: $RESPONSE" - else - echo "āœ… npm install command submitted" - fi + echo "ā³ Waiting for deployment to complete..." + echo " Azure will automatically run 'npm install' during deployment" + echo " (This is why sampleBackend takes ~20 minutes - same process)" + echo " SCM_DO_BUILD_DURING_DEPLOYMENT=true ensures npm install runs automatically" + echo "" + echo " Deployment includes:" + echo " 1. File upload (~1-2 minutes)" + echo " 2. npm install (~10-15 minutes) - automatic via Azure" + echo " 3. Application startup (~1 minute)" + echo "" + echo " Total time: ~15-20 minutes (matching sampleBackend)" - echo "Waiting 90 seconds for npm install to complete..." - sleep 90 + # Wait for deployment to fully complete (including npm install) + # The deployment action completes when files are uploaded, but npm install continues + sleep 120 - echo "āœ… Dependency installation completed" - echo "āš ļø If errors persist, verify node_modules exists via Kudu Console" + echo "āœ… Deployment should be complete. Azure runs npm install automatically." + echo " Check deployment logs in Azure Portal if needed." \ No newline at end of file From f4d0d124bab1e9eecf9d0cbb82dd1661e2fa7420 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 22:43:37 +0530 Subject: [PATCH 86/91] updated the deployment configurations --- .github/workflows/dev_maya.yml | 104 +++++++++++++++++++++++++++------ 1 file changed, 87 insertions(+), 17 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 1c67e4c..adf9caf 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -235,7 +235,7 @@ jobs: echo " Configuration → General settings → Stack settings" echo " Should show: Node.js 20.x" - - name: Deploy to Azure (npm install runs automatically) + - name: Deploy files to Azure uses: azure/webapps-deploy@v3 id: deploy-to-webapp with: @@ -243,25 +243,95 @@ jobs: slot-name: 'Production' package: . # Point to the current directory where artifact was downloaded - - name: Wait for deployment and npm install to complete + - name: Trigger npm install build (like sampleBackend) run: | - echo "ā³ Waiting for deployment to complete..." - echo " Azure will automatically run 'npm install' during deployment" - echo " (This is why sampleBackend takes ~20 minutes - same process)" - echo " SCM_DO_BUILD_DURING_DEPLOYMENT=true ensures npm install runs automatically" - echo "" - echo " Deployment includes:" - echo " 1. File upload (~1-2 minutes)" - echo " 2. npm install (~10-15 minutes) - automatic via Azure" - echo " 3. Application startup (~1 minute)" + echo "šŸ”Ø Triggering npm install build on Azure..." + echo " This matches how sampleBackend works - explicit build trigger" + echo " This will take ~10-15 minutes (matching sampleBackend deployment time)" + + # Get publishing credentials for Kudu API + PUBLISH_CREDS=$(az webapp deployment list-publishing-profiles \ + --name Maya \ + --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ + --query "[?publishMethod=='MSDeploy'].{userName:userName,userPWD:userPWD}" \ + --output json | jq -r '.[0]') + + if [ -z "$PUBLISH_CREDS" ] || [ "$PUBLISH_CREDS" = "null" ]; then + echo "āŒ ERROR: Could not get publishing credentials" + exit 1 + fi + + USERNAME=$(echo "$PUBLISH_CREDS" | jq -r '.userName') + PASSWORD=$(echo "$PUBLISH_CREDS" | jq -r '.userPWD') + + if [ -z "$USERNAME" ] || [ -z "$PASSWORD" ] || [ "$USERNAME" = "null" ] || [ "$PASSWORD" = "null" ]; then + echo "āŒ ERROR: Could not extract credentials" + exit 1 + fi + + KUDU_URL="https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" + + # Trigger build via Kudu build API (this is what sampleBackend does) + echo "Triggering build via Kudu API..." + BUILD_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + "$KUDU_URL/api/command" \ + -H "Content-Type: application/json" \ + -d "{\"command\": \"npm install --production\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" 2>&1) + + if echo "$BUILD_RESPONSE" | grep -q "error\|Error\|ERROR"; then + echo "āš ļø WARNING: Build trigger may have issues, but continuing..." + echo "Response: $BUILD_RESPONSE" + else + echo "āœ… Build command submitted" + fi + + # Wait for npm install to complete (this is why it takes 15-20 minutes total) echo "" - echo " Total time: ~15-20 minutes (matching sampleBackend)" + echo "ā³ Waiting for npm install to complete..." + echo " This is the same process as sampleBackend (~15-20 minutes total)" + echo " Checking every 30 seconds for node_modules..." - # Wait for deployment to fully complete (including npm install) - # The deployment action completes when files are uploaded, but npm install continues - sleep 120 + # Poll for node_modules directory (up to 20 minutes) + for i in {1..40}; do + sleep 30 + echo " Checking... ($((i * 30))s elapsed)" + + # Check if node_modules exists + CHECK_RESULT=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + -H "Content-Type: application/json" \ + -d "{\"command\": \"if (Test-Path 'D:\\\\home\\\\site\\\\wwwroot\\\\node_modules') { Write-Output 'EXISTS' } else { Write-Output 'MISSING' }\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" \ + "$KUDU_URL/api/command" 2>/dev/null | jq -r '.Output' 2>/dev/null || echo "MISSING") + + if echo "$CHECK_RESULT" | grep -q "EXISTS"; then + echo "āœ… node_modules found! npm install completed." + break + fi + + # If we've waited 20 minutes, break anyway + if [ $i -eq 40 ]; then + echo "āš ļø WARNING: Timeout waiting for node_modules. Check Azure logs manually." + fi + done - echo "āœ… Deployment should be complete. Azure runs npm install automatically." - echo " Check deployment logs in Azure Portal if needed." + # Final verification + FINAL_CHECK=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + -H "Content-Type: application/json" \ + -d "{\"command\": \"if (Test-Path 'D:\\\\home\\\\site\\\\wwwroot\\\\node_modules') { Write-Output 'EXISTS' } else { Write-Output 'MISSING' }\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" \ + "$KUDU_URL/api/command" 2>/dev/null | jq -r '.Output' 2>/dev/null || echo "MISSING") + + if echo "$FINAL_CHECK" | grep -q "EXISTS"; then + echo "" + echo "āœ… Deployment complete! Dependencies installed successfully." + echo " Total time: ~15-20 minutes (matching sampleBackend)" + else + echo "" + echo "āš ļø WARNING: node_modules may not exist. Check manually via Kudu:" + echo " $KUDU_URL" + echo " Navigate to: D:\\home\\site\\wwwroot" + exit 1 + fi \ No newline at end of file From 1652fa9fbeb993f08034aeb3f3c9529c494122dc Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 23:38:42 +0530 Subject: [PATCH 87/91] update --- .github/workflows/dev_maya.yml | 120 +++++++++++++++++++++++---------- Backend/.deploy.cmd | 18 +++++ 2 files changed, 104 insertions(+), 34 deletions(-) create mode 100644 Backend/.deploy.cmd diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index adf9caf..2336410 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -74,10 +74,35 @@ jobs: echo "SCM_DO_BUILD_DURING_DEPLOYMENT=true" >> .deployment fi + # Verify .deploy.cmd exists (deployment script for npm install) + if [ ! -f ".deploy.cmd" ]; then + echo "āš ļø WARNING: .deploy.cmd missing - creating it..." + cat > .deploy.cmd << 'EOF' +@if "%SCM_NODE_PATH"=="" ( + call :ExecuteCmd "npm install --production" +) else ( + call :ExecuteCmd "%SCM_NODE_PATH%\npm.cmd" install --production +) +goto :EOF + +:ExecuteCmd +setlocal +set _CMD_=%* +call %_CMD_% +if "%ERRORLEVEL%" neq "0" ( + echo Failed to execute '%_CMD_%' + exit /b %ERRORLEVEL% +) +endlocal +goto :EOF +EOF + fi + echo "āœ… Deployment package prepared:" echo " - package.json: āœ“" echo " - package-lock.json: āœ“" echo " - .deployment: āœ“" + echo " - .deploy.cmd: āœ“" echo " - web.config: āœ“" - name: Upload artifact for deployment job @@ -158,6 +183,29 @@ jobs: echo "SCM_DO_BUILD_DURING_DEPLOYMENT=true" >> .deployment fi + if [ ! -f ".deploy.cmd" ]; then + echo "āš ļø WARNING: .deploy.cmd missing - creating it..." + cat > .deploy.cmd << 'EOF' +@if "%SCM_NODE_PATH"=="" ( + call :ExecuteCmd "npm install --production" +) else ( + call :ExecuteCmd "%SCM_NODE_PATH%\npm.cmd" install --production +) +goto :EOF + +:ExecuteCmd +setlocal +set _CMD_=%* +call %_CMD_% +if "%ERRORLEVEL%" neq "0" ( + echo Failed to execute '%_CMD_%' + exit /b %ERRORLEVEL% +) +endlocal +goto :EOF +EOF + fi + # Verify .deployment content if [ -f ".deployment" ]; then echo "šŸ“„ .deployment file content:" @@ -171,6 +219,7 @@ jobs: echo " - src/index.js: āœ“" echo " - web.config: āœ“" echo " - .deployment: āœ“" + echo " - .deploy.cmd: āœ“" - name: Login to Azure uses: azure/login@v2 @@ -235,21 +284,25 @@ jobs: echo " Configuration → General settings → Stack settings" echo " Should show: Node.js 20.x" - - name: Deploy files to Azure - uses: azure/webapps-deploy@v3 - id: deploy-to-webapp - with: - app-name: 'Maya' - slot-name: 'Production' - package: . # Point to the current directory where artifact was downloaded + - name: Create deployment ZIP package + run: | + echo "šŸ“¦ Creating deployment ZIP package..." + # Create ZIP excluding git and other unnecessary files + zip -r deploy.zip . -x "*.git*" "*.DS_Store*" || { + # Fallback if zip command fails + echo "Using alternative ZIP method..." + find . -type f ! -path "*/\.*" -exec zip deploy.zip {} + + } + echo "āœ… ZIP package created" + ls -lh deploy.zip - - name: Trigger npm install build (like sampleBackend) + - name: Deploy via Kudu ZIP API (triggers build automatically) run: | - echo "šŸ”Ø Triggering npm install build on Azure..." - echo " This matches how sampleBackend works - explicit build trigger" - echo " This will take ~10-15 minutes (matching sampleBackend deployment time)" + echo "šŸš€ Deploying via Kudu ZIP API..." + echo " This method triggers SCM build automatically (like sampleBackend)" + echo " With SCM_DO_BUILD_DURING_DEPLOYMENT=true, npm install will run automatically" - # Get publishing credentials for Kudu API + # Get publishing credentials PUBLISH_CREDS=$(az webapp deployment list-publishing-profiles \ --name Maya \ --resource-group "${{ steps.get-rg.outputs.RESOURCE_GROUP }}" \ @@ -271,25 +324,24 @@ jobs: KUDU_URL="https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - # Trigger build via Kudu build API (this is what sampleBackend does) - echo "Triggering build via Kudu API..." - BUILD_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + # Deploy via Kudu ZIP API (this triggers build automatically) + echo "Uploading ZIP and triggering build..." + DEPLOY_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ -X POST \ - "$KUDU_URL/api/command" \ - -H "Content-Type: application/json" \ - -d "{\"command\": \"npm install --production\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" 2>&1) + "$KUDU_URL/api/zipdeploy?isAsync=true" \ + -H "Content-Type: application/zip" \ + --data-binary "@deploy.zip" 2>&1) - if echo "$BUILD_RESPONSE" | grep -q "error\|Error\|ERROR"; then - echo "āš ļø WARNING: Build trigger may have issues, but continuing..." - echo "Response: $BUILD_RESPONSE" - else - echo "āœ… Build command submitted" - fi + echo "Deployment response: $DEPLOY_RESPONSE" - # Wait for npm install to complete (this is why it takes 15-20 minutes total) + # Wait for deployment and build to complete + echo "" + echo "ā³ Waiting for deployment and npm install to complete..." + echo " This takes ~15-20 minutes (matching sampleBackend)" + echo " - ZIP upload: ~1-2 minutes" + echo " - npm install: ~10-15 minutes (automatic via SCM build)" + echo " - Application startup: ~1 minute" echo "" - echo "ā³ Waiting for npm install to complete..." - echo " This is the same process as sampleBackend (~15-20 minutes total)" echo " Checking every 30 seconds for node_modules..." # Poll for node_modules directory (up to 20 minutes) @@ -308,11 +360,6 @@ jobs: echo "āœ… node_modules found! npm install completed." break fi - - # If we've waited 20 minutes, break anyway - if [ $i -eq 40 ]; then - echo "āš ļø WARNING: Timeout waiting for node_modules. Check Azure logs manually." - fi done # Final verification @@ -328,9 +375,14 @@ jobs: echo " Total time: ~15-20 minutes (matching sampleBackend)" else echo "" - echo "āš ļø WARNING: node_modules may not exist. Check manually via Kudu:" - echo " $KUDU_URL" + echo "āš ļø WARNING: node_modules may not exist after 20 minutes." + echo " Check deployment logs in Azure Portal:" + echo " https://portal.azure.com -> App Service -> Deployment Center -> Logs" + echo "" + echo " Or check via Kudu: $KUDU_URL" echo " Navigate to: D:\\home\\site\\wwwroot" + echo "" + echo " Manual fix: Run 'npm install --production' via Kudu Console" exit 1 fi diff --git a/Backend/.deploy.cmd b/Backend/.deploy.cmd new file mode 100644 index 0000000..6cb0917 --- /dev/null +++ b/Backend/.deploy.cmd @@ -0,0 +1,18 @@ +@if "%SCM_NODE_PATH"=="" ( + call :ExecuteCmd "npm install --production" +) else ( + call :ExecuteCmd "%SCM_NODE_PATH%\npm.cmd" install --production +) +goto :EOF + +:ExecuteCmd +setlocal +set _CMD_=%* +call %_CMD_% +if "%ERRORLEVEL%" neq "0" ( + echo Failed to execute '%_CMD_%' + exit /b %ERRORLEVEL% +) +endlocal +goto :EOF + From 03b7c7d8c5f00db4a32913bac6edde7a5b508f01 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 23:39:57 +0530 Subject: [PATCH 88/91] updated the deploy config --- .github/workflows/dev_maya.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 2336410..44f9eb2 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -77,7 +77,7 @@ jobs: # Verify .deploy.cmd exists (deployment script for npm install) if [ ! -f ".deploy.cmd" ]; then echo "āš ļø WARNING: .deploy.cmd missing - creating it..." - cat > .deploy.cmd << 'EOF' + cat > .deploy.cmd << 'DEPLOY_EOF' @if "%SCM_NODE_PATH"=="" ( call :ExecuteCmd "npm install --production" ) else ( @@ -95,7 +95,7 @@ if "%ERRORLEVEL%" neq "0" ( ) endlocal goto :EOF -EOF +DEPLOY_EOF fi echo "āœ… Deployment package prepared:" @@ -185,7 +185,7 @@ EOF if [ ! -f ".deploy.cmd" ]; then echo "āš ļø WARNING: .deploy.cmd missing - creating it..." - cat > .deploy.cmd << 'EOF' + cat > .deploy.cmd << 'DEPLOY_EOF' @if "%SCM_NODE_PATH"=="" ( call :ExecuteCmd "npm install --production" ) else ( @@ -203,7 +203,7 @@ if "%ERRORLEVEL%" neq "0" ( ) endlocal goto :EOF -EOF +DEPLOY_EOF fi # Verify .deployment content From 646f3116c377b7df4158fe86461c097c132838c0 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sat, 8 Nov 2025 23:41:36 +0530 Subject: [PATCH 89/91] update --- .github/workflows/dev_maya.yml | 40 ++-------------------------------- 1 file changed, 2 insertions(+), 38 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 44f9eb2..07dee74 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -77,25 +77,7 @@ jobs: # Verify .deploy.cmd exists (deployment script for npm install) if [ ! -f ".deploy.cmd" ]; then echo "āš ļø WARNING: .deploy.cmd missing - creating it..." - cat > .deploy.cmd << 'DEPLOY_EOF' -@if "%SCM_NODE_PATH"=="" ( - call :ExecuteCmd "npm install --production" -) else ( - call :ExecuteCmd "%SCM_NODE_PATH%\npm.cmd" install --production -) -goto :EOF - -:ExecuteCmd -setlocal -set _CMD_=%* -call %_CMD_% -if "%ERRORLEVEL%" neq "0" ( - echo Failed to execute '%_CMD_%' - exit /b %ERRORLEVEL% -) -endlocal -goto :EOF -DEPLOY_EOF + printf '@if "%%SCM_NODE_PATH%%"=="" (\n call :ExecuteCmd "npm install --production" \n) else (\n call :ExecuteCmd "%%SCM_NODE_PATH%%\\npm.cmd" install --production\n)\ngoto :EOF\n\n:ExecuteCmd\nsetlocal\nset _CMD_=%%*\ncall %%_CMD_%%\nif "%%ERRORLEVEL%%" neq "0" (\n echo Failed to execute '\''%%_CMD_%%'\''\n exit /b %%ERRORLEVEL%%\n)\nendlocal\ngoto :EOF\n' > .deploy.cmd fi echo "āœ… Deployment package prepared:" @@ -185,25 +167,7 @@ DEPLOY_EOF if [ ! -f ".deploy.cmd" ]; then echo "āš ļø WARNING: .deploy.cmd missing - creating it..." - cat > .deploy.cmd << 'DEPLOY_EOF' -@if "%SCM_NODE_PATH"=="" ( - call :ExecuteCmd "npm install --production" -) else ( - call :ExecuteCmd "%SCM_NODE_PATH%\npm.cmd" install --production -) -goto :EOF - -:ExecuteCmd -setlocal -set _CMD_=%* -call %_CMD_% -if "%ERRORLEVEL%" neq "0" ( - echo Failed to execute '%_CMD_%' - exit /b %ERRORLEVEL% -) -endlocal -goto :EOF -DEPLOY_EOF + printf '@if "%%SCM_NODE_PATH%%"=="" (\n call :ExecuteCmd "npm install --production" \n) else (\n call :ExecuteCmd "%%SCM_NODE_PATH%%\\npm.cmd" install --production\n)\ngoto :EOF\n\n:ExecuteCmd\nsetlocal\nset _CMD_=%%*\ncall %%_CMD_%%\nif "%%ERRORLEVEL%%" neq "0" (\n echo Failed to execute '\''%%_CMD_%%'\''\n exit /b %%ERRORLEVEL%%\n)\nendlocal\ngoto :EOF\n' > .deploy.cmd fi # Verify .deployment content From 0f812355e2a6c671f425a182d6974c9f4f56acd5 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sun, 9 Nov 2025 00:08:48 +0530 Subject: [PATCH 90/91] update --- .github/workflows/dev_maya.yml | 42 ++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 07dee74..858f9e8 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -288,24 +288,48 @@ jobs: KUDU_URL="https://maya-b6d7g0ephnhhe4ay.scm.canadacentral-01.azurewebsites.net" - # Deploy via Kudu ZIP API (this triggers build automatically) - echo "Uploading ZIP and triggering build..." + # Deploy via Kudu ZIP API (synchronous to ensure files are deployed) + echo "Uploading ZIP package..." DEPLOY_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ -X POST \ - "$KUDU_URL/api/zipdeploy?isAsync=true" \ + "$KUDU_URL/api/zipdeploy" \ -H "Content-Type: application/zip" \ --data-binary "@deploy.zip" 2>&1) echo "Deployment response: $DEPLOY_RESPONSE" - # Wait for deployment and build to complete + # Wait a moment for files to be extracted + echo "Waiting for files to be extracted..." + sleep 10 + + # Trigger SCM build explicitly (ZIP deploy doesn't auto-trigger build) echo "" - echo "ā³ Waiting for deployment and npm install to complete..." - echo " This takes ~15-20 minutes (matching sampleBackend)" - echo " - ZIP upload: ~1-2 minutes" - echo " - npm install: ~10-15 minutes (automatic via SCM build)" - echo " - Application startup: ~1 minute" + echo "šŸ”Ø Triggering SCM build to run npm install..." + echo " ZIP deploy doesn't auto-trigger SCM build, so we trigger it manually" + + # Trigger build via Kudu build API + echo "Triggering build via Kudu build API..." + BUILD_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + "$KUDU_URL/api/build" \ + -H "Content-Type: application/json" \ + -d "{}" 2>&1) + + echo "Build API response: $BUILD_RESPONSE" + + # Also try to run the deployment script directly as a backup + echo "Also running deployment script directly..." + SCRIPT_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + -X POST \ + -H "Content-Type: application/json" \ + -d "{\"command\": \"cd D:\\\\home\\\\site\\\\wwwroot && if (Test-Path .deploy.cmd) { cmd /c .deploy.cmd } else { npm install --production }\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" 2>&1) + + echo "Script execution response: $SCRIPT_RESPONSE" + + # Wait for npm install to complete echo "" + echo "ā³ Waiting for npm install to complete..." + echo " This takes ~10-15 minutes (matching sampleBackend)" echo " Checking every 30 seconds for node_modules..." # Poll for node_modules directory (up to 20 minutes) From 499d2a1d9c78d3343b15b77d8f38e5d4d49397e6 Mon Sep 17 00:00:00 2001 From: rohitgami11 Date: Sun, 9 Nov 2025 00:42:25 +0530 Subject: [PATCH 91/91] update --- .github/workflows/dev_maya.yml | 37 +++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/.github/workflows/dev_maya.yml b/.github/workflows/dev_maya.yml index 858f9e8..c6942a7 100644 --- a/.github/workflows/dev_maya.yml +++ b/.github/workflows/dev_maya.yml @@ -302,29 +302,34 @@ jobs: echo "Waiting for files to be extracted..." sleep 10 - # Trigger SCM build explicitly (ZIP deploy doesn't auto-trigger build) + # Trigger npm install explicitly echo "" - echo "šŸ”Ø Triggering SCM build to run npm install..." - echo " ZIP deploy doesn't auto-trigger SCM build, so we trigger it manually" + echo "šŸ”Ø Running npm install explicitly..." + echo " ZIP deploy doesn't auto-trigger build, so we run npm install manually" - # Trigger build via Kudu build API - echo "Triggering build via Kudu build API..." - BUILD_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ + # Use Kudu command API to run npm install + echo "Running npm install via Kudu command API..." + EXEC_RESPONSE=$(curl -s -w "\nHTTP_CODE:%{http_code}" -u "$USERNAME:$PASSWORD" \ -X POST \ - "$KUDU_URL/api/build" \ + "$KUDU_URL/api/command" \ -H "Content-Type: application/json" \ - -d "{}" 2>&1) + -d "{\"command\": \"npm install --production\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" 2>&1) - echo "Build API response: $BUILD_RESPONSE" + HTTP_CODE=$(echo "$EXEC_RESPONSE" | grep -o "HTTP_CODE:[0-9]*" | cut -d: -f2) + RESPONSE_BODY=$(echo "$EXEC_RESPONSE" | sed '/HTTP_CODE:/d') - # Also try to run the deployment script directly as a backup - echo "Also running deployment script directly..." - SCRIPT_RESPONSE=$(curl -s -u "$USERNAME:$PASSWORD" \ - -X POST \ - -H "Content-Type: application/json" \ - -d "{\"command\": \"cd D:\\\\home\\\\site\\\\wwwroot && if (Test-Path .deploy.cmd) { cmd /c .deploy.cmd } else { npm install --production }\", \"dir\": \"D:\\\\home\\\\site\\\\wwwroot\"}" 2>&1) + echo "HTTP Status: ${HTTP_CODE:-unknown}" + echo "Response: $RESPONSE_BODY" + + if [ "$HTTP_CODE" = "200" ] || [ "$HTTP_CODE" = "202" ]; then + echo "āœ… npm install command submitted successfully" + else + echo "āš ļø Command API returned error, but continuing to poll for node_modules..." + echo " The command might still be running in the background" + fi - echo "Script execution response: $SCRIPT_RESPONSE" + # Give it a moment to start + sleep 5 # Wait for npm install to complete echo ""