From 9a0023067a84c35217a866feeb368b0113460b53 Mon Sep 17 00:00:00 2001 From: Manas Date: Sun, 11 Aug 2024 13:19:22 +0530 Subject: [PATCH 1/2] Email Endpoint Tested --- Website/Backend/config/db.ts | 17 - Website/Backend/controllers/sendEmail.ts | 0 Website/Backend/index.ts | 43 - Website/Backend/lib/definitions.ts | 12 - Website/Backend/middlewares/protectRoutes.ts | 37 - Website/Backend/models/certificate.ts | 29 - Website/Backend/models/user.ts | 19 - Website/Backend/nodemon.json | 6 - Website/Backend/package-lock.json | 2786 ------------------ Website/Backend/package.json | 33 - Website/Backend/routes/auth.ts | 148 - Website/Backend/routes/certificate.ts | 52 - Website/Backend/routes/services.ts | 6 - Website/Backend/tsconfig.json | 108 - Website/Frontend/models/Id_data.js | 21 - Website/Frontend/models/newsletter.js | 12 - Website/Frontend/models/waitlistuser.js | 14 - Website/Frontend/package-lock.json | 118 +- Website/Frontend/package.json | 4 +- 19 files changed, 56 insertions(+), 3409 deletions(-) delete mode 100644 Website/Backend/config/db.ts delete mode 100644 Website/Backend/controllers/sendEmail.ts delete mode 100644 Website/Backend/index.ts delete mode 100644 Website/Backend/lib/definitions.ts delete mode 100644 Website/Backend/middlewares/protectRoutes.ts delete mode 100644 Website/Backend/models/certificate.ts delete mode 100644 Website/Backend/models/user.ts delete mode 100644 Website/Backend/nodemon.json delete mode 100644 Website/Backend/package-lock.json delete mode 100644 Website/Backend/package.json delete mode 100644 Website/Backend/routes/auth.ts delete mode 100644 Website/Backend/routes/certificate.ts delete mode 100644 Website/Backend/routes/services.ts delete mode 100644 Website/Backend/tsconfig.json delete mode 100644 Website/Frontend/models/Id_data.js delete mode 100644 Website/Frontend/models/newsletter.js delete mode 100644 Website/Frontend/models/waitlistuser.js diff --git a/Website/Backend/config/db.ts b/Website/Backend/config/db.ts deleted file mode 100644 index 0c3af35..0000000 --- a/Website/Backend/config/db.ts +++ /dev/null @@ -1,17 +0,0 @@ -import mongoose from "mongoose"; - -export async function connectToDB(): Promise { - try { - // Database Uri - // const MONGO_URI: string = process.env.MONGO_TEST_URI as string; - const MONGO_URI: string = process.env.MONGO_PROD_URI as string; - - // logs - console.log("Connecting to Mongo Db :|"); - await mongoose.connect(MONGO_URI); - console.log("Connected to Mongo DB :)"); - } catch (error) { - console.log("Unable to connect to Mongo DB T_T"); - console.log(error); - } -} diff --git a/Website/Backend/controllers/sendEmail.ts b/Website/Backend/controllers/sendEmail.ts deleted file mode 100644 index e69de29..0000000 diff --git a/Website/Backend/index.ts b/Website/Backend/index.ts deleted file mode 100644 index 3431e33..0000000 --- a/Website/Backend/index.ts +++ /dev/null @@ -1,43 +0,0 @@ -import express, { Express, Request, Response } from "express"; -import cors from "cors"; -import { config } from "dotenv"; -import { connectToDB } from "./config/db"; -// Routes import -import certificatesRoute from "./routes/certificate"; -import authRoute from "./routes/auth"; - -// Load the env -config(); - -// connect to Database -connectToDB(); - -// configure app -const app: Express = express(); -const PORT: string = process.env.PORT || "5000"; - -// CORS configuration -const corsConfiguration = { - origin: ["https://certimailer.xyz"], - // origin: ["*"], - optionSucessStatus: 200, -}; - -// middleware to use import routes and enable cors -app.use(express.json()); -app.use(cors(corsConfiguration)); - -// Routes -app.use("/api/certificate", certificatesRoute); -app.use("/api/auth", authRoute); - -// Landing endpoint -app.get("/", (req: Request, res: Response) => { - res.status(200).json({ message: "200 OK :)" }); -}); - -// Listening at -app.listen(PORT, () => { - console.log(`Server active at port: ${PORT}`); - console.log(`Server active at: http://localhost:${PORT}`); -}); diff --git a/Website/Backend/lib/definitions.ts b/Website/Backend/lib/definitions.ts deleted file mode 100644 index a986ac2..0000000 --- a/Website/Backend/lib/definitions.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type certificatesParams = { - organization_logo_url: string; - organization_name: string; - organization_id: string; - organization_status: string; - organization_email: string; - issued_to: string; - issued_email: string; - issued_date: string; - expiry_date: string; -}; - diff --git a/Website/Backend/middlewares/protectRoutes.ts b/Website/Backend/middlewares/protectRoutes.ts deleted file mode 100644 index 383fd23..0000000 --- a/Website/Backend/middlewares/protectRoutes.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { createHash } from "crypto"; -import { Request, Response, NextFunction } from "express"; - -export const protectUserRoutes = ( - req: Request, - res: Response, - next: NextFunction -) => { - // To be updates -}; - -export const protectAdminRoutes = ( - req: Request, - res: Response, - next: NextFunction -) => { - // Get the header - const ADMIN_AUTH_KEY: string | undefined = req.header("admin-auth-token") as string; - if (ADMIN_AUTH_KEY === undefined) { - res.status(401).json({ message: "Access Denied" }); - return; - } - - // Get the hashed key - const ADMIN_HASHED_KEY: string = process.env.ADMIN_HASHED_KEY as string; - - // Compute double hash - let hash = createHash("sha256").update(ADMIN_AUTH_KEY).digest("hex"); - hash = createHash("sha256").update(hash).digest("hex"); - - // Check the Authenticity - if (hash === ADMIN_HASHED_KEY) { - next(); - } else { - res.status(401).json({ message: "Access Denied" }); - } -}; diff --git a/Website/Backend/models/certificate.ts b/Website/Backend/models/certificate.ts deleted file mode 100644 index dd3e460..0000000 --- a/Website/Backend/models/certificate.ts +++ /dev/null @@ -1,29 +0,0 @@ -import mongoose, { Schema } from "mongoose"; - -const certificateSchema = new mongoose.Schema( - { - organization_logo_url: { type: String, required: true }, - organization_name: { type: String, required: true }, - organization_id: { type: String, required: true }, - organization_status: { - type: String, - enum: ["verified", "unverified"], - required: true, - }, - organization_email: { type: String, required: true }, - _id: { - type: Schema.Types.ObjectId, - default: () => new mongoose.Types.ObjectId(), - }, - issued_to: { type: String, required: true }, - issued_email: { type: String, required: true }, - issued_date: { type: String, required: true }, - expiry_date: { type: String, required: true }, - }, - { - collection: "certificates", - } -); - -export default mongoose.models.Certificate || - mongoose.model("Certificate", certificateSchema); diff --git a/Website/Backend/models/user.ts b/Website/Backend/models/user.ts deleted file mode 100644 index f083fe3..0000000 --- a/Website/Backend/models/user.ts +++ /dev/null @@ -1,19 +0,0 @@ -import mongoose, { Schema } from "mongoose"; - -const userSchema = new mongoose.Schema( - { - _id: { - type: Schema.Types.ObjectId, - required: true, - default: () => new mongoose.Types.ObjectId(), - }, - name: { type: String, required: true }, - logo_url: { types: String, required: true }, - password: { type: String, required: true }, - }, - { - collection: "user", - } -); - -export default mongoose.models.User || mongoose.model("User", userSchema); diff --git a/Website/Backend/nodemon.json b/Website/Backend/nodemon.json deleted file mode 100644 index 8371155..0000000 --- a/Website/Backend/nodemon.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "watch": ["./"], - "ext": ".ts,.js", - "ignore": [], - "exec": "ts-node ./index.ts" -} \ No newline at end of file diff --git a/Website/Backend/package-lock.json b/Website/Backend/package-lock.json deleted file mode 100644 index c280a85..0000000 --- a/Website/Backend/package-lock.json +++ /dev/null @@ -1,2786 +0,0 @@ -{ - "name": "certimailer", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "certimailer", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "bcrypt": "^5.1.1", - "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "mongoose": "^8.5.2" - }, - "devDependencies": { - "@types/bcrypt": "^5.0.2", - "@types/cors": "^2.8.17", - "@types/dotenv": "^6.1.1", - "@types/express": "^4.17.21", - "@types/mongoose": "^5.11.96", - "@types/node": "^22.2.0", - "nodemon": "^3.1.4", - "rimraf": "^6.0.1", - "ts-node": "^10.9.2", - "typescript": "^5.5.4" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "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==", - "dev": 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/@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==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", - "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", - "license": "BSD-3-Clause", - "dependencies": { - "detect-libc": "^2.0.0", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.7", - "nopt": "^5.0.0", - "npmlog": "^5.0.1", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.11" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/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", - "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/@mapbox/node-pre-gyp/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", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@mongodb-js/saslprep": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", - "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", - "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==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", - "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@types/bcrypt": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", - "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/dotenv": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-6.1.1.tgz", - "integrity": "sha512-ftQl3DtBvqHl9L16tpqqzA4YzCSXZfi7g8cQceTz5rOlYtk/IZbFjAv3mLOQlNIgOaylCQWQoBdDQHPgEBJPHg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.5", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", - "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mongoose": { - "version": "5.11.96", - "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.11.96.tgz", - "integrity": "sha512-keiY22ljJtXyM7osgScmZOHV6eL5VFUD5tQumlu+hjS++HND5nM8jNEdj5CSWfKIJpVwQfPuwQ2SfBqUnCAVRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mongoose": "*" - } - }, - "node_modules/@types/node": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.2.0.tgz", - "integrity": "sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==", - "dev": true, - "dependencies": { - "undici-types": "~6.13.0" - } - }, - "node_modules/@types/qs": { - "version": "6.9.15", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", - "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "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/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "license": "ISC" - }, - "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.12.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", - "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.3", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", - "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", - "dev": true, - "dependencies": { - "acorn": "^8.11.0" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "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", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "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, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "license": "ISC" - }, - "node_modules/are-we-there-yet": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", - "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": 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/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/bcrypt": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", - "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.11", - "node-addon-api": "^5.0.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "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, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "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.11.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/body-parser/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/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "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==", - "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==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/bson": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", - "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", - "license": "Apache-2.0", - "engines": { - "node": ">=16.20.1" - } - }, - "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": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "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": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "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==", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "license": "ISC", - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "license": "ISC" - }, - "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/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "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/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/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.3.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", - "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "license": "MIT" - }, - "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.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", - "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dotenv": { - "version": "16.4.5", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", - "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "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/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "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", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "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/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==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/express": { - "version": "4.19.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", - "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.6.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "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" - } - }, - "node_modules/express/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/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "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/finalhandler/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/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/foreground-child": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", - "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "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/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-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "license": "ISC", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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" - }, - "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, - "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/gauge": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", - "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.2", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.1", - "object-assign": "^4.1.1", - "signal-exit": "^3.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/gauge/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", - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/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" - }, - "node_modules/gauge/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" - }, - "node_modules/gauge/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", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/gauge/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", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/glob": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", - "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^4.0.1", - "minimatch": "^10.0.0", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^2.0.0" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "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, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", - "license": "ISC" - }, - "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/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": "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", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "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/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 - }, - "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", - "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/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-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, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "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==", - "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, - "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==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jackspeak": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", - "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/kareem": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", - "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==", - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/lru-cache": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", - "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", - "dev": true, - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "license": "MIT", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/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", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memory-pager": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", - "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", - "license": "MIT" - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "license": "MIT", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mongodb": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", - "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", - "license": "Apache-2.0", - "dependencies": { - "@mongodb-js/saslprep": "^1.1.5", - "bson": "^6.7.0", - "mongodb-connection-string-url": "^3.0.0" - }, - "engines": { - "node": ">=16.20.1" - }, - "peerDependencies": { - "@aws-sdk/credential-providers": "^3.188.0", - "@mongodb-js/zstd": "^1.1.0", - "gcp-metadata": "^5.2.0", - "kerberos": "^2.0.1", - "mongodb-client-encryption": ">=6.0.0 <7", - "snappy": "^7.2.2", - "socks": "^2.7.1" - }, - "peerDependenciesMeta": { - "@aws-sdk/credential-providers": { - "optional": true - }, - "@mongodb-js/zstd": { - "optional": true - }, - "gcp-metadata": { - "optional": true - }, - "kerberos": { - "optional": true - }, - "mongodb-client-encryption": { - "optional": true - }, - "snappy": { - "optional": true - }, - "socks": { - "optional": true - } - } - }, - "node_modules/mongodb-connection-string-url": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", - "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", - "license": "Apache-2.0", - "dependencies": { - "@types/whatwg-url": "^11.0.2", - "whatwg-url": "^13.0.0" - } - }, - "node_modules/mongoose": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.2.tgz", - "integrity": "sha512-GZB4rHMdYfGatV+23IpCrqFbyCOjCNOHXgWbirr92KRwTEncBrtW3kgU9vmpKjsGf7nMmnAy06SwWUv1vhDkSg==", - "license": "MIT", - "dependencies": { - "bson": "^6.7.0", - "kareem": "2.6.3", - "mongodb": "6.7.0", - "mpath": "0.9.0", - "mquery": "5.0.0", - "ms": "2.1.3", - "sift": "17.1.3" - }, - "engines": { - "node": ">=16.20.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mongoose" - } - }, - "node_modules/mongoose/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/mpath": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", - "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mquery": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", - "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", - "license": "MIT", - "dependencies": { - "debug": "4.x" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-addon-api": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", - "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", - "license": "MIT" - }, - "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", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, - "node_modules/node-fetch/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" - }, - "node_modules/node-fetch/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", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/nodemon": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", - "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", - "dev": true, - "dependencies": { - "chokidar": "^3.5.2", - "debug": "^4", - "ignore-by-default": "^1.0.1", - "minimatch": "^3.1.2", - "pstree.remy": "^1.1.8", - "semver": "^7.5.3", - "simple-update-notifier": "^2.0.0", - "supports-color": "^5.5.0", - "touch": "^3.1.0", - "undefsafe": "^2.0.5" - }, - "bin": { - "nodemon": "bin/nodemon.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nodemon" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "license": "ISC", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npmlog": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", - "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", - "deprecated": "This package is no longer supported.", - "license": "ISC", - "dependencies": { - "are-we-there-yet": "^2.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^3.0.0", - "set-blocking": "^2.0.0" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", - "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "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", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", - "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", - "dev": true - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.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", - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", - "dev": true, - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/pstree.remy": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", - "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", - "dev": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "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/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rimraf": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", - "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", - "dev": true, - "dependencies": { - "glob": "^11.0.0", - "package-json-from-dist": "^1.0.0" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": "20 || >=22" - }, - "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", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "7.6.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", - "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/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/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "license": "MIT" - }, - "node_modules/send/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/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "license": "ISC" - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "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==", - "dev": 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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/sift": { - "version": "17.1.3", - "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", - "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==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/simple-update-notifier": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", - "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/sparse-bitfield": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", - "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", - "license": "MIT", - "dependencies": { - "memory-pager": "^1.0.2" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", - "dependencies": { - "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==", - "dev": 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==", - "dev": 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/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "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==", - "dev": 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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": 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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tar": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", - "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", - "license": "ISC", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/touch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", - "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", - "dev": true, - "bin": { - "nodetouch": "bin/nodetouch.js" - } - }, - "node_modules/tr46": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", - "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", - "license": "MIT", - "dependencies": { - "punycode": "^2.3.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undefsafe": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", - "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", - "dev": true - }, - "node_modules/undici-types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", - "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", - "dev": true - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/webidl-conversions": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", - "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-url": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", - "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", - "license": "MIT", - "dependencies": { - "tr46": "^4.1.1", - "webidl-conversions": "^7.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "license": "ISC", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/wide-align/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", - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/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" - }, - "node_modules/wide-align/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", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align/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", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": 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/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==", - "dev": 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/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/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==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?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==", - "dev": 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==", - "dev": 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==", - "dev": 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" - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "license": "ISC" - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - } - } -} diff --git a/Website/Backend/package.json b/Website/Backend/package.json deleted file mode 100644 index 43abbc8..0000000 --- a/Website/Backend/package.json +++ /dev/null @@ -1,33 +0,0 @@ -{ - "name": "certimailer", - "version": "1.0.0", - "description": "certimailer backend app", - "main": "index.js", - "scripts": { - "build": "npm install && rimraf ./build && tsc", - "deploy": "node ./build/index.js", - "dev": "nodemon", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "author": "Manas", - "license": "MIT", - "devDependencies": { - "@types/bcrypt": "^5.0.2", - "@types/cors": "^2.8.17", - "@types/dotenv": "^6.1.1", - "@types/express": "^4.17.21", - "@types/mongoose": "^5.11.96", - "@types/node": "^22.2.0", - "nodemon": "^3.1.4", - "rimraf": "^6.0.1", - "ts-node": "^10.9.2", - "typescript": "^5.5.4" - }, - "dependencies": { - "bcrypt": "^5.1.1", - "cors": "^2.8.5", - "dotenv": "^16.4.5", - "express": "^4.19.2", - "mongoose": "^8.5.2" - } -} diff --git a/Website/Backend/routes/auth.ts b/Website/Backend/routes/auth.ts deleted file mode 100644 index 5d0d9a1..0000000 --- a/Website/Backend/routes/auth.ts +++ /dev/null @@ -1,148 +0,0 @@ -import { Router, Request, Response } from "express"; - -// Initialse the router -const router = Router(); - -// Get JWT secret -const JWT_SECRET: string | undefined = process.env.JWT_SECRET; - -// PASSKEY for admin to approve the new user -const ADMIN_PASSKEY = "Manas Poddar" - -// Route - 1: Create new user -router.post('/create-user', async (req: Request, res: Response) => { - -}) - - - - -// // Route: 1 -> Creating user -// // creater user using post method -// router.post('/create-user', -// async (req, res) => { -// console.log(req.body) -// try { -// // check if user is already present -// let user = await User.findOne( -// { email: req.body.email } -// ); - -// // null is returned if no uset exists but it exist null is not returned -// if (user === undefined || null) { -// return res.status(400).json( -// { error: "sorry a user already exists" } -// ) -// } - -// // use bcrypt -// const salt = await bcrypt.genSalt(10); -// const secPass = await bcrypt.hash(req.body.password, salt); - -// // perform insertion if user does not ecxits -// user = await User.create({ -// name: req.body.name, -// password: secPass, -// email: req.body.email, -// }) -// console.log(user) -// res.json(user); -// } -// catch (error) { -// console.log(error.message); -// res.status(500).send("Some error occurred"); -// } - -// }) - - -// // Route - 2 : Authenticating user and sending a jwt -// // creater login endpoint -// router.post('/login', async (req, res) => { - -// // get the passed data -// const { email, password } = req.body; - -// try { - -// // find the user is database -// let user = await User.findOne( -// { -// email: email -// } -// ) - -// console.log(user) - -// // if nothing undefined or null is returned -// if (user === null || user === undefined) { -// return res.status(400).json( -// { -// status: false, -// message: "Wrong credentials" -// } -// ) -// } - -// // compare the password for authenticalton -// const passwordCompare = await bcrypt.compare(password, user.password) -// if (!passwordCompare) { -// return res.status(400).json( -// { -// status: false, -// message: "Wrong credentials" -// } -// ) -// } - - -// // get the fectehd user dataq -// const data = { -// user: { -// id: user.id -// } -// } - -// // return a jwt token if correct user -// const authToken = jwt.sign(data, JWT_SECRET); -// res.json(authToken) -// } -// catch (error) { -// console.log(error) -// res.status(500).json( -// { -// status: false, -// message: "Internal server error" -// } -// ) -// } - -// }) - - -// // Route -3 : Verify the user -// router.post('/get-user', fetchUser, async (req, res) => { -// try { - -// // get the user with the valid id -// const userId = req.user.id; -// const user = await User.findById(userId).select("-password"); - -// // send the respond -// res.status(200).send(user); - -// } catch (error) { -// console.log(error) -// return res.status(500).json( -// { -// message: "Internal server error" -// } -// ) -// } -// }) - - - - - -export default router; \ No newline at end of file diff --git a/Website/Backend/routes/certificate.ts b/Website/Backend/routes/certificate.ts deleted file mode 100644 index b2fe460..0000000 --- a/Website/Backend/routes/certificate.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { Router, Request, Response } from "express"; -import Certificate from "../models/certificate"; -import { certificatesParams } from "../lib/definitions"; -import { protectAdminRoutes } from "../middlewares/protectRoutes"; - -// Initialise the router -const router = Router(); - -// Route - 1: Get the certificates information -router.get("/get-info", async (req: Request, res: Response) => { - // Get the id to serach for - const { _id } = req.body; - - try { - const data: certificatesParams = (await Certificate.findById( - _id - )) as certificatesParams; - - if (data === null) { - res.status(404).json({ message: "No data found" }); - return; - } - - res.status(200).json(data); - } catch (error) { - console.log(error); - res.status(500).json({ message: "Internal Server Error" }); - } -}); - -export default router; - -// Router - 2: Insert data -router.post( - "/insert-data", - protectAdminRoutes, - async (req: Request, res: Response) => { - // Get the body data to be inserted - const bodyData: certificatesParams = req.body; - - try { - // Insert the data - const data = await Certificate.create(bodyData); - console.log(data); - - res.status(201).json({ message: "Data Successfully inserted" }); - } catch (error) { - console.log(error); - res.status(500).json({ message: "Internal Server Error" }); - } - } -); diff --git a/Website/Backend/routes/services.ts b/Website/Backend/routes/services.ts deleted file mode 100644 index 4b80baa..0000000 --- a/Website/Backend/routes/services.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Router, Response, Request } from "express"; - -// Initialise the router -const router = Router() - - diff --git a/Website/Backend/tsconfig.json b/Website/Backend/tsconfig.json deleted file mode 100644 index ae59877..0000000 --- a/Website/Backend/tsconfig.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ - - /* Projects */ - "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - - /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - - /* Modules */ - "module": "CommonJS", /* Specify what module code is generated. */ - "rootDir": "./", /* Specify the root folder within your source files. */ - "moduleResolution": "Node", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - "allowImportingTsExtensions": false, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./build", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - "noEmit": false, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ - - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } -} diff --git a/Website/Frontend/models/Id_data.js b/Website/Frontend/models/Id_data.js deleted file mode 100644 index 0f7efc9..0000000 --- a/Website/Frontend/models/Id_data.js +++ /dev/null @@ -1,21 +0,0 @@ -import mongoose from 'mongoose'; - -const idDataSchema = new mongoose.Schema( - { - orglogo: { type: String, required: true, unique: true }, - orgName: { type: String, required: true }, - orgId: { type: String, required: true, unique: true }, - orgStatus: { type: String, required: true }, - orgEmail: { type: String, required: true }, - issuedToName: { type: String, required: true }, - issueId: {type: String, required: true, unique: true}, - issuedToEmail: {type: String, required: true}, - issuedDate: {type: String, required: true}, - expiryDate: {type: String, required: true}, - }, - { - collection: 'id_data' - } -); - -export default mongoose.models.idData || mongoose.model('idData') \ No newline at end of file diff --git a/Website/Frontend/models/newsletter.js b/Website/Frontend/models/newsletter.js deleted file mode 100644 index 495f242..0000000 --- a/Website/Frontend/models/newsletter.js +++ /dev/null @@ -1,12 +0,0 @@ -import mongoose from "mongoose"; - -const newsLetterUserSchema = new mongoose.Schema( - { - email: { type: String, required: true, unique: false } - }, - { - collection: 'newsletterusers' - } -); - -export default mongoose.models.newsLetterUser || mongoose.model('newsLetterUser', newsLetterUserSchema) \ No newline at end of file diff --git a/Website/Frontend/models/waitlistuser.js b/Website/Frontend/models/waitlistuser.js deleted file mode 100644 index 6f57e23..0000000 --- a/Website/Frontend/models/waitlistuser.js +++ /dev/null @@ -1,14 +0,0 @@ -import mongoose from "mongoose"; - -const WaitListUserSchema = new mongoose.Schema( - { - name: { type: String, required: true }, - designation: { type: String, required: true }, - email: { type: String, required: true }, - }, - { - collection: ' waitlistusers' // collection in which the data is saved - } -); - -export default mongoose.models.waitListUser || mongoose.model('waitListUser', WaitListUserSchema) diff --git a/Website/Frontend/package-lock.json b/Website/Frontend/package-lock.json index adfca16..2db49fd 100644 --- a/Website/Frontend/package-lock.json +++ b/Website/Frontend/package-lock.json @@ -13,9 +13,8 @@ "clsx": "^2.1.1", "framer-motion": "^11.2.10", "mongoose": "^8.4.3", - "next": "14.2.4", + "next": "^14.2.5", "next-themes": "^0.3.0", - "nodemailer": "^6.9.14", "react": "^18", "react-dom": "^18", "react-icons": "^5.2.1", @@ -27,7 +26,6 @@ }, "devDependencies": { "@types/node": "^20", - "@types/nodemailer": "^6.4.15", "@types/react": "^18", "@types/react-dom": "^18", "eslint": "^8", @@ -286,9 +284,10 @@ } }, "node_modules/@next/env": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.4.tgz", - "integrity": "sha512-3EtkY5VDkuV2+lNmKlbkibIJxcO4oIHEhBWne6PaAp+76J9KoSsGvNikp6ivzAT8dhhBMYrm6op2pS1ApG0Hzg==" + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/env/-/env-14.2.5.tgz", + "integrity": "sha512-/zZGkrTOsraVfYjGP8uM0p6r0BDT6xWpkjdVbcz66PJVSpwXX3yNiRycxAuDfBKGWBrZBXRuK/YVlkNgxHGwmA==", + "license": "MIT" }, "node_modules/@next/eslint-plugin-next": { "version": "14.2.4", @@ -300,12 +299,13 @@ } }, "node_modules/@next/swc-darwin-arm64": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.4.tgz", - "integrity": "sha512-AH3mO4JlFUqsYcwFUHb1wAKlebHU/Hv2u2kb1pAuRanDZ7pD/A/KPD98RHZmwsJpdHQwfEc/06mgpSzwrJYnNg==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-14.2.5.tgz", + "integrity": "sha512-/9zVxJ+K9lrzSGli1///ujyRfon/ZneeZ+v4ptpiPoOU+GKZnm8Wj8ELWU1Pm7GHltYRBklmXMTUqM/DqQ99FQ==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -315,12 +315,13 @@ } }, "node_modules/@next/swc-darwin-x64": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.4.tgz", - "integrity": "sha512-QVadW73sWIO6E2VroyUjuAxhWLZWEpiFqHdZdoQ/AMpN9YWGuHV8t2rChr0ahy+irKX5mlDU7OY68k3n4tAZTg==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-14.2.5.tgz", + "integrity": "sha512-vXHOPCwfDe9qLDuq7U1OYM2wUY+KQ4Ex6ozwsKxp26BlJ6XXbHleOUldenM67JRyBfVjv371oneEvYd3H2gNSA==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "darwin" @@ -330,12 +331,13 @@ } }, "node_modules/@next/swc-linux-arm64-gnu": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.4.tgz", - "integrity": "sha512-KT6GUrb3oyCfcfJ+WliXuJnD6pCpZiosx2X3k66HLR+DMoilRb76LpWPGb4tZprawTtcnyrv75ElD6VncVamUQ==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-14.2.5.tgz", + "integrity": "sha512-vlhB8wI+lj8q1ExFW8lbWutA4M2ZazQNvMWuEDqZcuJJc78iUnLdPPunBPX8rC4IgT6lIx/adB+Cwrl99MzNaA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -345,12 +347,13 @@ } }, "node_modules/@next/swc-linux-arm64-musl": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.4.tgz", - "integrity": "sha512-Alv8/XGSs/ytwQcbCHwze1HmiIkIVhDHYLjczSVrf0Wi2MvKn/blt7+S6FJitj3yTlMwMxII1gIJ9WepI4aZ/A==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-14.2.5.tgz", + "integrity": "sha512-NpDB9NUR2t0hXzJJwQSGu1IAOYybsfeB+LxpGsXrRIb7QOrYmidJz3shzY8cM6+rO4Aojuef0N/PEaX18pi9OA==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -360,12 +363,13 @@ } }, "node_modules/@next/swc-linux-x64-gnu": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.4.tgz", - "integrity": "sha512-ze0ShQDBPCqxLImzw4sCdfnB3lRmN3qGMB2GWDRlq5Wqy4G36pxtNOo2usu/Nm9+V2Rh/QQnrRc2l94kYFXO6Q==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-14.2.5.tgz", + "integrity": "sha512-8XFikMSxWleYNryWIjiCX+gU201YS+erTUidKdyOVYi5qUQo/gRxv/3N1oZFCgqpesN6FPeqGM72Zve+nReVXQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -375,12 +379,13 @@ } }, "node_modules/@next/swc-linux-x64-musl": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.4.tgz", - "integrity": "sha512-8dwC0UJoc6fC7PX70csdaznVMNr16hQrTDAMPvLPloazlcaWfdPogq+UpZX6Drqb1OBlwowz8iG7WR0Tzk/diQ==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-14.2.5.tgz", + "integrity": "sha512-6QLwi7RaYiQDcRDSU/os40r5o06b5ue7Jsk5JgdRBGGp8l37RZEh9JsLSM8QF0YDsgcosSeHjglgqi25+m04IQ==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "linux" @@ -390,12 +395,13 @@ } }, "node_modules/@next/swc-win32-arm64-msvc": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.4.tgz", - "integrity": "sha512-jxyg67NbEWkDyvM+O8UDbPAyYRZqGLQDTPwvrBBeOSyVWW/jFQkQKQ70JDqDSYg1ZDdl+E3nkbFbq8xM8E9x8A==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-14.2.5.tgz", + "integrity": "sha512-1GpG2VhbspO+aYoMOQPQiqc/tG3LzmsdBH0LhnDS3JrtDx2QmzXe0B6mSZZiN3Bq7IOMXxv1nlsjzoS1+9mzZw==", "cpu": [ "arm64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -405,12 +411,13 @@ } }, "node_modules/@next/swc-win32-ia32-msvc": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.4.tgz", - "integrity": "sha512-twrmN753hjXRdcrZmZttb/m5xaCBFa48Dt3FbeEItpJArxriYDunWxJn+QFXdJ3hPkm4u7CKxncVvnmgQMY1ag==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-14.2.5.tgz", + "integrity": "sha512-Igh9ZlxwvCDsu6438FXlQTHlRno4gFpJzqPjSIBZooD22tKeI4fE/YMRoHVJHmrQ2P5YL1DoZ0qaOKkbeFWeMg==", "cpu": [ "ia32" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -420,12 +427,13 @@ } }, "node_modules/@next/swc-win32-x64-msvc": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.4.tgz", - "integrity": "sha512-tkLrjBzqFTP8DVrAAQmZelEahfR9OxWpFR++vAI9FBhCiIxtwHwBHC23SBHCTURBtwB4kc/x44imVOnkKGNVGg==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-14.2.5.tgz", + "integrity": "sha512-tEQ7oinq1/CjSG9uSTerca3v4AZ+dFa+4Yu6ihaG8Ud8ddqLQgFGcnwYls13H5X5CPDPZJdYxyeMui6muOLd4g==", "cpu": [ "x64" ], + "license": "MIT", "optional": true, "os": [ "win32" @@ -720,15 +728,6 @@ "undici-types": "~5.26.4" } }, - "node_modules/@types/nodemailer": { - "version": "6.4.15", - "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.15.tgz", - "integrity": "sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, "node_modules/@types/offscreencanvas": { "version": "2019.7.3", "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", @@ -4029,11 +4028,12 @@ "dev": true }, "node_modules/next": { - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/next/-/next-14.2.4.tgz", - "integrity": "sha512-R8/V7vugY+822rsQGQCjoLhMuC9oFj9SOi4Cl4b2wjDrseD0LRZ10W7R6Czo4w9ZznVSshKjuIomsRjvm9EKJQ==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/next/-/next-14.2.5.tgz", + "integrity": "sha512-0f8aRfBVL+mpzfBjYfQuLWh2WyAwtJXCRfkPF4UJ5qd2YwrHczsrSzXU4tRMV0OAxR8ZJZWPFn6uhSC56UTsLA==", + "license": "MIT", "dependencies": { - "@next/env": "14.2.4", + "@next/env": "14.2.5", "@swc/helpers": "0.5.5", "busboy": "1.6.0", "caniuse-lite": "^1.0.30001579", @@ -4048,15 +4048,15 @@ "node": ">=18.17.0" }, "optionalDependencies": { - "@next/swc-darwin-arm64": "14.2.4", - "@next/swc-darwin-x64": "14.2.4", - "@next/swc-linux-arm64-gnu": "14.2.4", - "@next/swc-linux-arm64-musl": "14.2.4", - "@next/swc-linux-x64-gnu": "14.2.4", - "@next/swc-linux-x64-musl": "14.2.4", - "@next/swc-win32-arm64-msvc": "14.2.4", - "@next/swc-win32-ia32-msvc": "14.2.4", - "@next/swc-win32-x64-msvc": "14.2.4" + "@next/swc-darwin-arm64": "14.2.5", + "@next/swc-darwin-x64": "14.2.5", + "@next/swc-linux-arm64-gnu": "14.2.5", + "@next/swc-linux-arm64-musl": "14.2.5", + "@next/swc-linux-x64-gnu": "14.2.5", + "@next/swc-linux-x64-musl": "14.2.5", + "@next/swc-win32-arm64-msvc": "14.2.5", + "@next/swc-win32-ia32-msvc": "14.2.5", + "@next/swc-win32-x64-msvc": "14.2.5" }, "peerDependencies": { "@opentelemetry/api": "^1.1.0", @@ -4113,14 +4113,6 @@ "node": "^10 || ^12 || >=14" } }, - "node_modules/nodemailer": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.14.tgz", - "integrity": "sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", diff --git a/Website/Frontend/package.json b/Website/Frontend/package.json index 17f4402..b616080 100644 --- a/Website/Frontend/package.json +++ b/Website/Frontend/package.json @@ -14,9 +14,8 @@ "clsx": "^2.1.1", "framer-motion": "^11.2.10", "mongoose": "^8.4.3", - "next": "14.2.4", + "next": "^14.2.5", "next-themes": "^0.3.0", - "nodemailer": "^6.9.14", "react": "^18", "react-dom": "^18", "react-icons": "^5.2.1", @@ -28,7 +27,6 @@ }, "devDependencies": { "@types/node": "^20", - "@types/nodemailer": "^6.4.15", "@types/react": "^18", "@types/react-dom": "^18", "eslint": "^8", From edee8d860d3f618b9ea4204e563ef53611640b21 Mon Sep 17 00:00:00 2001 From: Manas Date: Sun, 11 Aug 2024 20:47:35 +0530 Subject: [PATCH 2/2] Website: Test deploy --- README.md | 68 +- Website/Backend/Manas.pdf | Bin 0 -> 494258 bytes Website/Backend/config/db.ts | 17 + Website/Backend/controllers/sendEmail.ts | 0 Website/Backend/index.ts | 47 + Website/Backend/lib/definitions.ts | 22 + Website/Backend/middlewares/protectRoutes.ts | 37 + Website/Backend/models/certificate.ts | 29 + Website/Backend/models/newsletter.ts | 12 + Website/Backend/models/user.ts | 19 + Website/Backend/models/waitlist.ts | 14 + Website/Backend/nodemon.json | 6 + Website/Backend/package-lock.json | 2967 +++++++++++++++++ Website/Backend/package.json | 37 + Website/Backend/routes/auth.ts | 22 + Website/Backend/routes/certificate.ts | 58 + Website/Backend/routes/sendEmails.ts | 187 ++ Website/Backend/routes/services.ts | 5 + Website/Backend/routes/user.ts | 45 + Website/Backend/test.py | 22 + Website/Backend/tsconfig.json | 108 + Website/Frontend/app/api/news-letter/route.ts | 43 - Website/Frontend/app/api/send-email/route.ts | 52 - Website/Frontend/app/api/wait-list/route.ts | 47 - Website/Frontend/app/favicon.ico | Bin 25931 -> 15406 bytes Website/Frontend/app/globals.css | 17 + Website/Frontend/app/layout.tsx | 36 +- Website/Frontend/app/lib/action.ts | 71 - Website/Frontend/app/lib/definitions.ts | 22 +- .../Frontend/app/ui/components/Marquee.tsx | 2 +- Website/Frontend/app/ui/components/globe.tsx | 5 +- Website/Frontend/app/ui/landing/Footer.tsx | 39 +- Website/Frontend/app/ui/landing/Navbar.tsx | 5 +- Website/Frontend/app/ui/landing/Waitlist.tsx | 59 +- Website/Frontend/app/ui/loaders.tsx | 8 + .../Frontend/app/ui/verify/FetchedDetails.tsx | 54 +- Website/Frontend/app/verify/page.tsx | 91 +- Website/Frontend/models/Id_data.js | 21 + Website/Frontend/models/newsletter.js | 12 + Website/Frontend/models/waitlistuser.js | 14 + Website/Frontend/next.config.mjs | 8 + .../Frontend/public/assets/view/display.png | Bin 0 -> 309586 bytes 42 files changed, 4027 insertions(+), 301 deletions(-) create mode 100644 Website/Backend/Manas.pdf create mode 100644 Website/Backend/config/db.ts create mode 100644 Website/Backend/controllers/sendEmail.ts create mode 100644 Website/Backend/index.ts create mode 100644 Website/Backend/lib/definitions.ts create mode 100644 Website/Backend/middlewares/protectRoutes.ts create mode 100644 Website/Backend/models/certificate.ts create mode 100644 Website/Backend/models/newsletter.ts create mode 100644 Website/Backend/models/user.ts create mode 100644 Website/Backend/models/waitlist.ts create mode 100644 Website/Backend/nodemon.json create mode 100644 Website/Backend/package-lock.json create mode 100644 Website/Backend/package.json create mode 100644 Website/Backend/routes/auth.ts create mode 100644 Website/Backend/routes/certificate.ts create mode 100644 Website/Backend/routes/sendEmails.ts create mode 100644 Website/Backend/routes/services.ts create mode 100644 Website/Backend/routes/user.ts create mode 100644 Website/Backend/test.py create mode 100644 Website/Backend/tsconfig.json delete mode 100644 Website/Frontend/app/api/news-letter/route.ts delete mode 100644 Website/Frontend/app/api/send-email/route.ts delete mode 100644 Website/Frontend/app/api/wait-list/route.ts create mode 100644 Website/Frontend/models/Id_data.js create mode 100644 Website/Frontend/models/newsletter.js create mode 100644 Website/Frontend/models/waitlistuser.js create mode 100644 Website/Frontend/public/assets/view/display.png diff --git a/README.md b/README.md index 8731593..514a252 100644 --- a/README.md +++ b/README.md @@ -1 +1,67 @@ -Will shortly be updated \ No newline at end of file +
+ Logo +
+ +# 🔰 Certiailer + +An all in one tool to generate certificates is mass and mail them. Moreover the certificates are generated with unique-id which can be verfied at **https://certimailer.xyz** + +## Divisions + +CertiMailer is an open source project with a website as well as script version. The whole project is divided into two division for differnt users: +- `Python Script`: For advanced user who want to use the codebase or make their own. +- `Web version`: A web version is made hosted on free tier of different services. Intended for normal users. + +## 📚 Tech Stack + +### Python Script + +- Mailny python and its differnt libraries. + +### Website +- **Client:** Next JS, TailwindCSS. +- **Server:** Node, Express. +- **Datebase:** Mongo DB, Google cloud storage bucket. + + + +## 🔨 Setting Up + +To set up the project locally, follow the steps mentioned in their respective folders (for `python script` and `web version`). + +## ⚡ Features + +- `Various News Types Supported:` World, General, Nation, Business, Technology, Entertainment, Sports, Science, Health. + +- `Wide Range of Countries Supported:` India, Brazil, Canada, France, Japan, United States + +## 📁 File Structure : + +``` +. +├── Website +│ │── Frontend +│ │ └── ... Necessaty files +│ │── Backend +│ │ └── ... Necessaty files +│ └── README.md +├── python script +│ │── ... Necessaty files +│ └── README.md +├── .gitignore +├── LICENSE +└── README.md +``` +- For detail view of file structure for each part look into that specific part respectively. + +## 🔥 Contributing + +Contributions are always welcome! Additionally you can contact me by my email: **iamscientistmanas@gmail.com**. There are many thinsg which can be improved, if you feel something needs to be added/modified raise an issue. Additionally if you want you can work on that issue too. + +## 📷 Screenshots + + + +## 🔒 License + +This repository is open source and under [MIT](https://choosealicense.com/licenses/mit/) License. diff --git a/Website/Backend/Manas.pdf b/Website/Backend/Manas.pdf new file mode 100644 index 0000000000000000000000000000000000000000..df764be0b34da436d9700d314c451284a0bfa158 GIT binary patch literal 494258 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
{+Tq?&$j<5^C?gfIqPHv44&nBeUlx-# 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ℜ&YG;EL_Z?+wUeImkU4y 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∨(|XvnfgwYNcZ(D`Kk!lhb9?VwaFY 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
7ayMcoQH98E4?GCd_s~P4*EeOJj2BoZ@{eI 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 Y{U~?OKjR7)2Ch3o_^hmQ8uIx67ws%7iU0rr literal 0 HcmV?d00001 diff --git a/Website/Backend/config/db.ts b/Website/Backend/config/db.ts new file mode 100644 index 0000000..0c3af35 --- /dev/null +++ b/Website/Backend/config/db.ts @@ -0,0 +1,17 @@ +import mongoose from "mongoose"; + +export async function connectToDB(): Promise { + try { + // Database Uri + // const MONGO_URI: string = process.env.MONGO_TEST_URI as string; + const MONGO_URI: string = process.env.MONGO_PROD_URI as string; + + // logs + console.log("Connecting to Mongo Db :|"); + await mongoose.connect(MONGO_URI); + console.log("Connected to Mongo DB :)"); + } catch (error) { + console.log("Unable to connect to Mongo DB T_T"); + console.log(error); + } +} diff --git a/Website/Backend/controllers/sendEmail.ts b/Website/Backend/controllers/sendEmail.ts new file mode 100644 index 0000000..e69de29 diff --git a/Website/Backend/index.ts b/Website/Backend/index.ts new file mode 100644 index 0000000..aa7e99c --- /dev/null +++ b/Website/Backend/index.ts @@ -0,0 +1,47 @@ +import express, { Express, Request, Response } from "express"; +import cors from "cors"; +import { config } from "dotenv"; +import { connectToDB } from "./config/db"; +// Routes import +import certificatesRoute from "./routes/certificate"; +import authRoute from "./routes/auth"; +import sendEmailsRoute from "./routes/sendEmails"; +import UserRoute from "./routes/user"; + +// Load the env +config(); + +// connect to Database +connectToDB(); + +// configure app +const app: Express = express(); +const PORT: string = process.env.PORT || "5000"; + +// CORS configuration +const corsConfiguration = { + origin: ["https://certimailer.xyz"], + // origin: "*", + optionSucessStatus: 200, +}; + +// middleware to use import routes and enable cors +app.use(express.json()); +app.use(cors(corsConfiguration)); + +// Routes +app.use("/api/certificate", certificatesRoute); +app.use("/api/auth", authRoute); +app.use("/api/send-email", sendEmailsRoute); +app.use("/api/user", UserRoute); + +// Landing endpoint +app.get("/", (req: Request, res: Response) => { + res.status(200).json({ message: "200 OK Hello guys :)" }); +}); + +// Listening at +app.listen(PORT, () => { + console.log(`Server active at port: ${PORT}`); + // console.log(`Server active at: http://localhost:${PORT}`); +}); diff --git a/Website/Backend/lib/definitions.ts b/Website/Backend/lib/definitions.ts new file mode 100644 index 0000000..9f7c59a --- /dev/null +++ b/Website/Backend/lib/definitions.ts @@ -0,0 +1,22 @@ +export type certificatesParams = { + organization_logo_url: string; + organization_name: string; + organization_id: string; + organization_status: string; + organization_email: string; + _id: string; + issued_to: string; + issued_email: string; + issued_date: string; + expiry_date: string; +}; + +export type waitlistParams = { + name: string; + email: string; + designation: string; +}; + +export type newsLetterParams = { + email: string; +}; diff --git a/Website/Backend/middlewares/protectRoutes.ts b/Website/Backend/middlewares/protectRoutes.ts new file mode 100644 index 0000000..383fd23 --- /dev/null +++ b/Website/Backend/middlewares/protectRoutes.ts @@ -0,0 +1,37 @@ +import { createHash } from "crypto"; +import { Request, Response, NextFunction } from "express"; + +export const protectUserRoutes = ( + req: Request, + res: Response, + next: NextFunction +) => { + // To be updates +}; + +export const protectAdminRoutes = ( + req: Request, + res: Response, + next: NextFunction +) => { + // Get the header + const ADMIN_AUTH_KEY: string | undefined = req.header("admin-auth-token") as string; + if (ADMIN_AUTH_KEY === undefined) { + res.status(401).json({ message: "Access Denied" }); + return; + } + + // Get the hashed key + const ADMIN_HASHED_KEY: string = process.env.ADMIN_HASHED_KEY as string; + + // Compute double hash + let hash = createHash("sha256").update(ADMIN_AUTH_KEY).digest("hex"); + hash = createHash("sha256").update(hash).digest("hex"); + + // Check the Authenticity + if (hash === ADMIN_HASHED_KEY) { + next(); + } else { + res.status(401).json({ message: "Access Denied" }); + } +}; diff --git a/Website/Backend/models/certificate.ts b/Website/Backend/models/certificate.ts new file mode 100644 index 0000000..dd3e460 --- /dev/null +++ b/Website/Backend/models/certificate.ts @@ -0,0 +1,29 @@ +import mongoose, { Schema } from "mongoose"; + +const certificateSchema = new mongoose.Schema( + { + organization_logo_url: { type: String, required: true }, + organization_name: { type: String, required: true }, + organization_id: { type: String, required: true }, + organization_status: { + type: String, + enum: ["verified", "unverified"], + required: true, + }, + organization_email: { type: String, required: true }, + _id: { + type: Schema.Types.ObjectId, + default: () => new mongoose.Types.ObjectId(), + }, + issued_to: { type: String, required: true }, + issued_email: { type: String, required: true }, + issued_date: { type: String, required: true }, + expiry_date: { type: String, required: true }, + }, + { + collection: "certificates", + } +); + +export default mongoose.models.Certificate || + mongoose.model("Certificate", certificateSchema); diff --git a/Website/Backend/models/newsletter.ts b/Website/Backend/models/newsletter.ts new file mode 100644 index 0000000..a7ff070 --- /dev/null +++ b/Website/Backend/models/newsletter.ts @@ -0,0 +1,12 @@ +import mongoose from "mongoose"; + +const newsLetterSchema = new mongoose.Schema( + { + email: { type: String, required: true, unique: false } + }, + { + collection: 'newsletter' + } +); + +export default mongoose.models.newsLetter || mongoose.model('newsLetter', newsLetterSchema) \ No newline at end of file diff --git a/Website/Backend/models/user.ts b/Website/Backend/models/user.ts new file mode 100644 index 0000000..f083fe3 --- /dev/null +++ b/Website/Backend/models/user.ts @@ -0,0 +1,19 @@ +import mongoose, { Schema } from "mongoose"; + +const userSchema = new mongoose.Schema( + { + _id: { + type: Schema.Types.ObjectId, + required: true, + default: () => new mongoose.Types.ObjectId(), + }, + name: { type: String, required: true }, + logo_url: { types: String, required: true }, + password: { type: String, required: true }, + }, + { + collection: "user", + } +); + +export default mongoose.models.User || mongoose.model("User", userSchema); diff --git a/Website/Backend/models/waitlist.ts b/Website/Backend/models/waitlist.ts new file mode 100644 index 0000000..709eda9 --- /dev/null +++ b/Website/Backend/models/waitlist.ts @@ -0,0 +1,14 @@ +import mongoose from "mongoose"; + +const WaitListSchema = new mongoose.Schema( + { + name: { type: String, required: true }, + designation: { type: String, required: true }, + email: { type: String, required: true }, + }, + { + collection: ' waitlist' // collection in which the data is saved + } +); + +export default mongoose.models.waitList || mongoose.model('waitUser', WaitListSchema) diff --git a/Website/Backend/nodemon.json b/Website/Backend/nodemon.json new file mode 100644 index 0000000..8371155 --- /dev/null +++ b/Website/Backend/nodemon.json @@ -0,0 +1,6 @@ +{ + "watch": ["./"], + "ext": ".ts,.js", + "ignore": [], + "exec": "ts-node ./index.ts" +} \ No newline at end of file diff --git a/Website/Backend/package-lock.json b/Website/Backend/package-lock.json new file mode 100644 index 0000000..4f4a5b9 --- /dev/null +++ b/Website/Backend/package-lock.json @@ -0,0 +1,2967 @@ +{ + "name": "certimailer", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "certimailer", + "version": "1.0.0", + "license": "MIT", + "dependencies": { + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "mongoose": "^8.5.2", + "multer": "^1.4.5-lts.1", + "nodemailer": "^6.9.14" + }, + "devDependencies": { + "@types/bcrypt": "^5.0.2", + "@types/cors": "^2.8.17", + "@types/dotenv": "^6.1.1", + "@types/express": "^4.17.21", + "@types/mongoose": "^5.11.96", + "@types/multer": "^1.4.11", + "@types/node": "^22.2.0", + "@types/nodemailer": "^6.4.15", + "nodemon": "^3.1.4", + "rimraf": "^6.0.1", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "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==", + "dev": 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/@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==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@mapbox/node-pre-gyp": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.11.tgz", + "integrity": "sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==", + "license": "BSD-3-Clause", + "dependencies": { + "detect-libc": "^2.0.0", + "https-proxy-agent": "^5.0.0", + "make-dir": "^3.1.0", + "node-fetch": "^2.6.7", + "nopt": "^5.0.0", + "npmlog": "^5.0.1", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.11" + }, + "bin": { + "node-pre-gyp": "bin/node-pre-gyp" + } + }, + "node_modules/@mapbox/node-pre-gyp/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", + "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/@mapbox/node-pre-gyp/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", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@mongodb-js/saslprep": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz", + "integrity": "sha512-qKwC/M/nNNaKUBMQ0nuzm47b7ZYWQHN3pcXq4IIcoSBc2hOIrflAxJduIvvqmhoz3gR2TacTAs8vlsCVPkiEdQ==", + "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==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", + "dev": true + }, + "node_modules/@types/bcrypt": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.2.tgz", + "integrity": "sha512-6atioO8Y75fNcbmj0G7UjI9lXN2pQ/IGJ2FWT4a/btd0Lk9lQalHLKhkgKVZ3r+spnmWUKfbMi1GEe9wyHQfNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/cors": { + "version": "2.8.17", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", + "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/dotenv": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-6.1.1.tgz", + "integrity": "sha512-ftQl3DtBvqHl9L16tpqqzA4YzCSXZfi7g8cQceTz5rOlYtk/IZbFjAv3mLOQlNIgOaylCQWQoBdDQHPgEBJPHg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mongoose": { + "version": "5.11.96", + "resolved": "https://registry.npmjs.org/@types/mongoose/-/mongoose-5.11.96.tgz", + "integrity": "sha512-keiY22ljJtXyM7osgScmZOHV6eL5VFUD5tQumlu+hjS++HND5nM8jNEdj5CSWfKIJpVwQfPuwQ2SfBqUnCAVRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mongoose": "*" + } + }, + "node_modules/@types/multer": { + "version": "1.4.11", + "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.11.tgz", + "integrity": "sha512-svK240gr6LVWvv3YGyhLlA+6LRRWA4mnGIU7RcNmgjBYFl6665wcXrRfxGp5tEPVHUNm5FMcmq7too9bxCwX/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/node": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.2.0.tgz", + "integrity": "sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==", + "dev": true, + "dependencies": { + "undici-types": "~6.13.0" + } + }, + "node_modules/@types/nodemailer": { + "version": "6.4.15", + "resolved": "https://registry.npmjs.org/@types/nodemailer/-/nodemailer-6.4.15.tgz", + "integrity": "sha512-0EBJxawVNjPkng1zm2vopRctuWVCxk34JcIlRuXSf54habUWdz1FB7wHDqOqvDa8Mtpt0Q3LTXQkAs2LNyK5jQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" + } + }, + "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/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "license": "ISC" + }, + "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.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "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", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "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/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "license": "ISC" + }, + "node_modules/are-we-there-yet": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz", + "integrity": "sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": 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/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/bcrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.1.1.tgz", + "integrity": "sha512-AGBHOG5hPYZ5Xl9KXzU5iKq9516yEmvCKDg3ecP5kX2aB6UqTeXZxk2ELnDgDm6BQSMlLt9rDB4LoSMx0rYwww==", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "@mapbox/node-pre-gyp": "^1.0.11", + "node-addon-api": "^5.0.0" + }, + "engines": { + "node": ">= 10.0.0" + } + }, + "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, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", + "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", + "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.11.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/body-parser/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/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "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==", + "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==", + "dev": true, + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/bson": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/bson/-/bson-6.8.0.tgz", + "integrity": "sha512-iOJg8pr7wq2tg/zSlCCHMi3hMm5JTOxLTagf3zxhcenHsFp+c6uOs6K7W5UE7A4QIJGtqh/ZovFNMP4mOPJynQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=16.20.1" + } + }, + "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" + }, + "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", + "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": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "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": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "license": "ISC", + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "engines": [ + "node >= 0.8" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/concat-stream/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "license": "MIT" + }, + "node_modules/concat-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "license": "ISC" + }, + "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/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "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-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "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==", + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/debug": { + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "license": "MIT" + }, + "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.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", + "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "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/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "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", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "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/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==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.2", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.6.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "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" + } + }, + "node_modules/express/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/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "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/finalhandler/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/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "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/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-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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" + }, + "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, + "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/gauge": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-3.0.2.tgz", + "integrity": "sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.2", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.1", + "object-assign": "^4.1.1", + "signal-exit": "^3.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/gauge/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", + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/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" + }, + "node_modules/gauge/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" + }, + "node_modules/gauge/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", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/gauge/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", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.0.tgz", + "integrity": "sha512-9UiX/Bl6J2yaBbxKoEBRm4Cipxgok8kQYcOPEhScPwebu2I0HoQOuYdIO6S3hLuWoZgpDpwQZMzTFxgpkyT76g==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^4.0.1", + "minimatch": "^10.0.0", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^2.0.0" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "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, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "license": "ISC" + }, + "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/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": "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", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "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/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 + }, + "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", + "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/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-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, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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, + "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==", + "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, + "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==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jackspeak": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.0.1.tgz", + "integrity": "sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/kareem": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/kareem/-/kareem-2.6.3.tgz", + "integrity": "sha512-C3iHfuGUXK2u8/ipq9LfjFfXFxAZMQJJq7vLS45r3D9Y2xQ/m4S8zaR4zMLFWh9AsNPXmcFfUDhTEO8UIC/V6Q==", + "license": "Apache-2.0", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/lru-cache": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.0.0.tgz", + "integrity": "sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==", + "dev": true, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/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", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memory-pager": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/memory-pager/-/memory-pager-1.5.0.tgz", + "integrity": "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==", + "license": "MIT" + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "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", + "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==", + "dev": true, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mongodb": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/mongodb/-/mongodb-6.7.0.tgz", + "integrity": "sha512-TMKyHdtMcO0fYBNORiYdmM25ijsHs+Njs963r4Tro4OQZzqYigAzYQouwWRg4OIaiLRUEGUh/1UAcH5lxdSLIA==", + "license": "Apache-2.0", + "dependencies": { + "@mongodb-js/saslprep": "^1.1.5", + "bson": "^6.7.0", + "mongodb-connection-string-url": "^3.0.0" + }, + "engines": { + "node": ">=16.20.1" + }, + "peerDependencies": { + "@aws-sdk/credential-providers": "^3.188.0", + "@mongodb-js/zstd": "^1.1.0", + "gcp-metadata": "^5.2.0", + "kerberos": "^2.0.1", + "mongodb-client-encryption": ">=6.0.0 <7", + "snappy": "^7.2.2", + "socks": "^2.7.1" + }, + "peerDependenciesMeta": { + "@aws-sdk/credential-providers": { + "optional": true + }, + "@mongodb-js/zstd": { + "optional": true + }, + "gcp-metadata": { + "optional": true + }, + "kerberos": { + "optional": true + }, + "mongodb-client-encryption": { + "optional": true + }, + "snappy": { + "optional": true + }, + "socks": { + "optional": true + } + } + }, + "node_modules/mongodb-connection-string-url": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mongodb-connection-string-url/-/mongodb-connection-string-url-3.0.1.tgz", + "integrity": "sha512-XqMGwRX0Lgn05TDB4PyG2h2kKO/FfWJyCzYQbIhXUxz7ETt0I/FqHjUeqj37irJ+Dl1ZtU82uYyj14u2XsZKfg==", + "license": "Apache-2.0", + "dependencies": { + "@types/whatwg-url": "^11.0.2", + "whatwg-url": "^13.0.0" + } + }, + "node_modules/mongoose": { + "version": "8.5.2", + "resolved": "https://registry.npmjs.org/mongoose/-/mongoose-8.5.2.tgz", + "integrity": "sha512-GZB4rHMdYfGatV+23IpCrqFbyCOjCNOHXgWbirr92KRwTEncBrtW3kgU9vmpKjsGf7nMmnAy06SwWUv1vhDkSg==", + "license": "MIT", + "dependencies": { + "bson": "^6.7.0", + "kareem": "2.6.3", + "mongodb": "6.7.0", + "mpath": "0.9.0", + "mquery": "5.0.0", + "ms": "2.1.3", + "sift": "17.1.3" + }, + "engines": { + "node": ">=16.20.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mongoose" + } + }, + "node_modules/mongoose/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/mpath": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/mpath/-/mpath-0.9.0.tgz", + "integrity": "sha512-ikJRQTk8hw5DEoFVxHG1Gn9T/xcjtdnOKIU1JTmGjZZlg9LST2mBLmcX3/ICIbgJydT2GOc15RnNy5mHmzfSew==", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mquery": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/mquery/-/mquery-5.0.0.tgz", + "integrity": "sha512-iQMncpmEK8R8ncT8HJGsGc9Dsp8xcgYMVSbs5jgnm1lFHTZqMJTUWTDx1LBO8+mK3tPNZWFLBghQEIOULSTHZg==", + "license": "MIT", + "dependencies": { + "debug": "4.x" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multer": { + "version": "1.4.5-lts.1", + "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.5-lts.1.tgz", + "integrity": "sha512-ywPWvcDMeH+z9gQq5qYHCCy+ethsk4goepZ45GLD63fOu0YcNecQxi64nDs3qluZB+murG3/D4dJ7+dGctcCQQ==", + "license": "MIT", + "dependencies": { + "append-field": "^1.0.0", + "busboy": "^1.0.0", + "concat-stream": "^1.5.2", + "mkdirp": "^0.5.4", + "object-assign": "^4.1.1", + "type-is": "^1.6.4", + "xtend": "^4.0.0" + }, + "engines": { + "node": ">= 6.0.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/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-5.1.0.tgz", + "integrity": "sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==", + "license": "MIT" + }, + "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", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-fetch/node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "license": "MIT" + }, + "node_modules/node-fetch/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" + }, + "node_modules/node-fetch/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", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/nodemailer": { + "version": "6.9.14", + "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.14.tgz", + "integrity": "sha512-Dobp/ebDKBvz91sbtRKhcznLThrKxKt97GI2FAlAyy+fk19j73Uz3sBXolVtmcXjaorivqsbbbjDY+Jkt4/bQA==", + "license": "MIT-0", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/nodemon": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-3.1.4.tgz", + "integrity": "sha512-wjPBbFhtpJwmIeY2yP7QF+UKzPfltVGtfce1g/bB15/8vCGZj8uxD62b/b9M9/WVgme0NZudpownKN+c0plXlQ==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.2", + "debug": "^4", + "ignore-by-default": "^1.0.1", + "minimatch": "^3.1.2", + "pstree.remy": "^1.1.8", + "semver": "^7.5.3", + "simple-update-notifier": "^2.0.0", + "supports-color": "^5.5.0", + "touch": "^3.1.0", + "undefsafe": "^2.0.5" + }, + "bin": { + "nodemon": "bin/nodemon.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nodemon" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "license": "ISC", + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npmlog": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-5.0.1.tgz", + "integrity": "sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==", + "deprecated": "This package is no longer supported.", + "license": "ISC", + "dependencies": { + "are-we-there-yet": "^2.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^3.0.0", + "set-blocking": "^2.0.0" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "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", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.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", + "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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", + "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "dev": true, + "dependencies": { + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pstree.remy": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz", + "integrity": "sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w==", + "dev": true + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "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/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rimraf": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.0.1.tgz", + "integrity": "sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==", + "dev": true, + "dependencies": { + "glob": "^11.0.0", + "package-json-from-dist": "^1.0.0" + }, + "bin": { + "rimraf": "dist/esm/bin.mjs" + }, + "engines": { + "node": "20 || >=22" + }, + "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", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/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/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT" + }, + "node_modules/send/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/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "license": "ISC" + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "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==", + "dev": 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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sift": { + "version": "17.1.3", + "resolved": "https://registry.npmjs.org/sift/-/sift-17.1.3.tgz", + "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==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-update-notifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz", + "integrity": "sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sparse-bitfield": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz", + "integrity": "sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==", + "license": "MIT", + "dependencies": { + "memory-pager": "^1.0.2" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "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", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "license": "MIT", + "dependencies": { + "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==", + "dev": 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==", + "dev": 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/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "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==", + "dev": 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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": 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==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/touch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz", + "integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==", + "dev": true, + "bin": { + "nodetouch": "bin/nodetouch.js" + } + }, + "node_modules/tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "license": "MIT", + "dependencies": { + "punycode": "^2.3.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "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/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undefsafe": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz", + "integrity": "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA==", + "dev": true + }, + "node_modules/undici-types": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", + "dev": true + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/whatwg-url": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-13.0.0.tgz", + "integrity": "sha512-9WWbymnqj57+XEuqADHrCJ2eSXzn8WXIW/YSGaZtb2WKAInQ6CHfaUUcTyyver0p8BDg5StLQq8h1vtZuwmOig==", + "license": "MIT", + "dependencies": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "license": "ISC", + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wide-align/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", + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/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" + }, + "node_modules/wide-align/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", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align/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", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": 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/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==", + "dev": 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/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?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==", + "dev": 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==", + "dev": 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==", + "dev": 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" + }, + "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/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "license": "ISC" + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + } +} diff --git a/Website/Backend/package.json b/Website/Backend/package.json new file mode 100644 index 0000000..14e21d4 --- /dev/null +++ b/Website/Backend/package.json @@ -0,0 +1,37 @@ +{ + "name": "certimailer", + "version": "1.0.0", + "description": "certimailer backend app", + "main": "index.js", + "scripts": { + "build": "npm install && rimraf ./build && tsc", + "deploy": "node ./build/index.js", + "dev": "nodemon", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "author": "Manas", + "license": "MIT", + "devDependencies": { + "@types/bcrypt": "^5.0.2", + "@types/cors": "^2.8.17", + "@types/dotenv": "^6.1.1", + "@types/express": "^4.17.21", + "@types/mongoose": "^5.11.96", + "@types/multer": "^1.4.11", + "@types/node": "^22.2.0", + "@types/nodemailer": "^6.4.15", + "nodemon": "^3.1.4", + "rimraf": "^6.0.1", + "ts-node": "^10.9.2", + "typescript": "^5.5.4" + }, + "dependencies": { + "bcrypt": "^5.1.1", + "cors": "^2.8.5", + "dotenv": "^16.4.5", + "express": "^4.19.2", + "mongoose": "^8.5.2", + "multer": "^1.4.5-lts.1", + "nodemailer": "^6.9.14" + } +} diff --git a/Website/Backend/routes/auth.ts b/Website/Backend/routes/auth.ts new file mode 100644 index 0000000..9132fdf --- /dev/null +++ b/Website/Backend/routes/auth.ts @@ -0,0 +1,22 @@ +import { Router, Request, Response } from "express"; + +// Initialse the router +const router = Router(); + +// Get JWT secret +const JWT_SECRET: string | undefined = process.env.JWT_SECRET; + +// PASSKEY for admin to approve the new user +const ADMIN_PASSKEY = "Manas Poddar" + +// Route - 1: Create new user +router.post('/create-user', async (req: Request, res: Response) => { + +}) + + + + + + +export default router; \ No newline at end of file diff --git a/Website/Backend/routes/certificate.ts b/Website/Backend/routes/certificate.ts new file mode 100644 index 0000000..8240a41 --- /dev/null +++ b/Website/Backend/routes/certificate.ts @@ -0,0 +1,58 @@ +import { Router, Request, Response } from "express"; +import mongoose from "mongoose"; +import Certificate from "../models/certificate"; +import { certificatesParams } from "../lib/definitions"; +import { protectAdminRoutes } from "../middlewares/protectRoutes"; + +// Initialise the router +const router = Router(); + +// Route - 1: Get the certificates information +router.get("/get-info", async (req: Request, res: Response) => { + // Get the id to serach for + const { _id } = req.headers; + + if (!_id || !mongoose.Types.ObjectId.isValid(_id as string)) { + res.status(404).json({ message: "Invalid ID format" }); + return; + } + + try { + const data: certificatesParams = (await Certificate.findById( + _id + )) as certificatesParams; + + if (data === null) { + res.status(404).json({ message: "No data found" }); + return; + } + + res.status(200).json(data); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +export default router; + +// Router - 2: Insert data +router.post( + "/insert-data", + protectAdminRoutes, + async (req: Request, res: Response) => { + // Get the body data to be inserted + const bodyData: certificatesParams = req.body; + + try { + // Insert the data + const data = await Certificate.create(bodyData); + console.log(data); + + res.status(201).json({ message: "Data Successfully inserted" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } + } +); diff --git a/Website/Backend/routes/sendEmails.ts b/Website/Backend/routes/sendEmails.ts new file mode 100644 index 0000000..caec235 --- /dev/null +++ b/Website/Backend/routes/sendEmails.ts @@ -0,0 +1,187 @@ +import { Router, Request, Response, NextFunction } from "express"; +import nodemailer from "nodemailer"; +import multer from "multer"; + +const router = Router(); +const PORT: number = 465; +const storage = multer.memoryStorage(); // Store the files in memory +const upload = multer({ storage }); + +// Default Route for status +router.get("/", (req: Request, res: Response) => { + res.status(200).json({ message: "200 OK Hello :)" }); +}); + +// Route - 1: Mailing by admin credentials +router.post( + "/admin", + upload.single("file"), + async (req: Request, res: Response) => { + // Get the body + const { fromName="", toName = "", toEmail, subject, message } = req.body; + + // Get the uploaded file + const file = req.file; + + // Get the auth parameters + const EMAIL = process.env.ADMIN_EMAIL; + const PASSWORD = process.env.ADMIN_APP_PASSWORD; + console.log(EMAIL); + console.log(PASSWORD); + // Create transporter + const transporter = nodemailer.createTransport({ + host: "smtppro.zoho.in", + port: PORT, + secure: true, //Use SSL + auth: { + user: EMAIL, + pass: PASSWORD, + }, + }); + + // Mail options + const mailOptions: nodemailer.SendMailOptions = { + from: `${fromName} <${EMAIL}>`, + to: `${toName} <${toEmail}>`, + subject: subject, + text: message, + }; + + // If file is there the attach it + if (file) { + mailOptions.attachments = [ + { + filename: file.originalname, + content: file.buffer, + encoding: "base64", + }, + ]; + } + + try { + const info = await transporter.sendMail(mailOptions); + res.status(200).json({ message: "Mail sent successfully" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } + } +); + +// Route - 2: Mailing by Test credentials (Dev mode) +router.post( + "/test", + upload.single("file"), + async (req: Request, res: Response) => { + // Get the body + const { fromName="", toName = "", toEmail, subject, message } = req.body; + + // Get the uploaded file + const file = req.file; + + // Get the auth parameters + const EMAIL = process.env.TEST_EMAIL; + const PASSWORD = process.env.TEST_APP_PASSWORD; + + // Create transporter + const transporter = nodemailer.createTransport({ + host: "smtppro.zoho.in", + port: PORT, + secure: true, //Use SSL + auth: { + user: EMAIL, + pass: PASSWORD, + }, + }); + + // Mail options + const mailOptions: nodemailer.SendMailOptions = { + from: `${fromName} <${EMAIL}>`, + to: `${toName} <${toEmail}>`, + subject: subject, + text: message, + }; + + // If file is there the attach it + if (file) { + mailOptions.attachments = [ + { + filename: file.originalname, + content: file.buffer, + encoding: "base64", + }, + ]; + } + + try { + const info = await transporter.sendMail(mailOptions); + console.log(info); + res.status(200).json({ message: "Mail sent successfully" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } + } +); + +// Route - 3: Mailing by user credentials +router.post( + "/user-own", + upload.single("file"), + async (req: Request, res: Response) => { + // Get the body as well as auth credentials + const { + fromName="", + toName="", + toEmail, + subject, + message, + EMAIL, + PASSWORD, + host, + } = req.body; + + // Get the uploaded file + const file = req.file; + + // Create Transporter + const transporter = nodemailer.createTransport({ + host: host, + port: PORT, + secure: true, + auth: { + user: EMAIL, + pass: PASSWORD, + }, + }); + + // Mail options + const mailOptions: nodemailer.SendMailOptions = { + from: `${fromName} <${EMAIL}>`, + to: `${toName} <${toEmail}>`, + subject: subject, + text: message, + }; + + // If file is there the attach it + if (file) { + mailOptions.attachments = [ + { + filename: file.originalname, + content: file.buffer, + encoding: "base64", + }, + ]; + } + + try { + const info = await transporter.sendMail(mailOptions); + res.status(200).json({ message: "Mail sent successfully" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } + } +); + +export default router; diff --git a/Website/Backend/routes/services.ts b/Website/Backend/routes/services.ts new file mode 100644 index 0000000..800f7fc --- /dev/null +++ b/Website/Backend/routes/services.ts @@ -0,0 +1,5 @@ +import { Router, Response, Request } from "express"; + +// Initialise the router +const router = Router() + diff --git a/Website/Backend/routes/user.ts b/Website/Backend/routes/user.ts new file mode 100644 index 0000000..ccc1442 --- /dev/null +++ b/Website/Backend/routes/user.ts @@ -0,0 +1,45 @@ +import { Router, Request, Response, NextFunction } from "express"; +import { waitlistParams } from "../lib/definitions"; +import { newsLetterParams } from "../lib/definitions"; +import Waitlist from "../models/waitlist"; +import Newsletter from "../models/newsletter"; + +const router = Router(); + +// Route - 1 : Insert wailist user +router.post("/newsletter-insert-user", async (req: Request, res: Response) => { + // Get the body + const userData: newsLetterParams = req.body; + + try { + // insert data + const data = await Newsletter.create(userData); + res.status(201).json({ message: "Successfully added user to waitlist" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +// Route - 2: Insert email to newsletter +router.post("/waitlist-insert-user", async (req: Request, res: Response) => { + // Get the body + const email: waitlistParams = req.body; + + try { + // Insert data + const data = await Waitlist.create(email); + res.status(201).json({ message: "Successfully added user to newsletter" }); + } catch (error) { + console.log(error); + res.status(500).json({ message: "Internal Server Error" }); + } +}); + +router.get("/pending-users", (req: Request, res: Response) => {}); + +router.post("/approve-user", (req: Request, res: Response) => {}); + +router.post("/create-user", (req: Request, res: Response) => {}); + +export default router; diff --git a/Website/Backend/test.py b/Website/Backend/test.py new file mode 100644 index 0000000..67fcf68 --- /dev/null +++ b/Website/Backend/test.py @@ -0,0 +1,22 @@ +import requests + +url = 'http://localhost:5000/api/send-email/test' +data = { + "fromName": "Manas", + "toName": "Manas Poddar", + "toEmail": "iamscientistmanas@gmail.com", + "subject": "Test Mail", + "message" : "This is a test mail" +} + +# File path (optional) +file_path = 'Manas.pdf' # Can be a PDF or ZIP + +files = {'file': (file_path.split('/')[-1], open(file_path, 'rb'))} if file_path else None + +if files: + response = requests.post(url, files=files, data=data) +else: + response = requests.post(url, data=data) + +print(response.text) diff --git a/Website/Backend/tsconfig.json b/Website/Backend/tsconfig.json new file mode 100644 index 0000000..ae59877 --- /dev/null +++ b/Website/Backend/tsconfig.json @@ -0,0 +1,108 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "CommonJS", /* Specify what module code is generated. */ + "rootDir": "./", /* Specify the root folder within your source files. */ + "moduleResolution": "Node", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + "allowImportingTsExtensions": false, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./build", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + "noEmit": false, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "isolatedDeclarations": true, /* Require sufficient annotation on exports so other tools can trivially generate declaration files. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/Website/Frontend/app/api/news-letter/route.ts b/Website/Frontend/app/api/news-letter/route.ts deleted file mode 100644 index ce5f258..0000000 --- a/Website/Frontend/app/api/news-letter/route.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { NextResponse } from "next/server"; -import { connectToMongoDB } from "@/app/lib/db"; -import newsLetterUser from "@/models/newsletter"; - -export async function POST(request: Request) { - const DB_URL: string | undefined = process.env.MONGODB_URL; - - // connect to database - await connectToMongoDB(DB_URL); - - const { email } = await request.json(); - - try { - // create a new instance with the parsed data - const user_data = new newsLetterUser({ email }); - - // save the data - await user_data.save(); - - // Send the response (sucess) - return NextResponse.json( - { - success: true, - data: user_data, - }, - { - status: 201, - } - ); - } catch (error: any) { - console.log(error); - // Send the failure response - return NextResponse.json( - { - success: false, - error: error.message, - }, - { - status: 400, - } - ); - } -} diff --git a/Website/Frontend/app/api/send-email/route.ts b/Website/Frontend/app/api/send-email/route.ts deleted file mode 100644 index bb0f324..0000000 --- a/Website/Frontend/app/api/send-email/route.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { NextResponse } from "next/server"; -import nodemailer from "nodemailer"; -import { emailParams } from "@/app/lib/definitions"; - -export async function POST(request: Request) { - const body: emailParams = (await request.json()) as emailParams; - const { to, subject, text, toName = "", fromName } = body; - - // create a transporter object using SMTP transport - const transporter = nodemailer.createTransport({ - service: "gmail", - auth: { - user: process.env.APP_EMAIL, - pass: process.env.APP_EMAIL_PASSWORD, - }, - }); - - // set up email data - const mailOptions = { - from: `${fromName} <${process.env.APP_EMAIL}>`, - to: `${toName} <${to}>`, - subject: subject, - text: text, - }; - - // sending email - try { - await transporter.sendMail(mailOptions); - return NextResponse.json( - { - messsage: "Email sent sucessfuly", - success: true, - }, - { - status: 200, - } - ); - } catch (error) { - console.log(error); - return NextResponse.json( - { - message: error, - success: false, - }, - { - status: 500, // Internal server error - } - ); - } finally { - transporter.close(); - } -} diff --git a/Website/Frontend/app/api/wait-list/route.ts b/Website/Frontend/app/api/wait-list/route.ts deleted file mode 100644 index ceceb8f..0000000 --- a/Website/Frontend/app/api/wait-list/route.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { NextResponse } from "next/server"; -import waitListUser from "@/models/waitlistuser"; -import { connectToMongoDB } from "@/app/lib/db"; - -export async function POST(request: Request) { - const DB_URL: string | undefined = process.env.MONGODB_URL; - - // connect to latest database - await connectToMongoDB(DB_URL); - - // Parse the request body - const { name, designation, email } = await request.json(); - - try { - // Create a new user instance with the parsed data - const user_data = new waitListUser({ name, designation, email }); - - // Save the user to the database - await user_data.save(); - - // Send a success response with the saved user data - return NextResponse.json( - { - success: true, - data: user_data, - }, - { - status: 201, - } - ); - } catch (error: any) { - console.log(error); - // Send an error response with the error message - return NextResponse.json( - { success: false, error: error.message }, - { status: 400 } - ); - } -} - -export async function GET(request: Request) { - return NextResponse.json( - { - status: "200 OK" - } - ) -} \ No newline at end of file diff --git a/Website/Frontend/app/favicon.ico b/Website/Frontend/app/favicon.ico index 718d6fea4835ec2d246af9800eddb7ffb276240c..4957d8b7f9938bc3fa48dc98d8451ac01a66726b 100644 GIT binary patch literal 15406 zcmeHO2UL_t*IvJvqOqXHL9cj7l8$_AvOf0 zEi7eOSYX*+VGB#I3R0vA*rI|g_rLS5YgU2=jmh_)^M8BJJu~mTGjs3EJLS&v%+hFG zXfM$$ENB?o)4uOYqfMaEX!iET=V5(lv5tMRG}5GvLB5u?7Fb`&}pCcvhHi1$C1_K|9;Y4-oV)V6*H5Y zR+D#qQ_J7(uDWxHMyLOaJliA|4PyMncw4a6y-Kj-SX@R%+MbL|B_%%c;;1jAt?-Gc zrF91La&MBqpDe#;FGZ98+mh-nZwsq_wBlV^nc%^cOV@jWwS^gkl`++3>6rAUa zU<%&=->X|%kEyB$lJXlq+f=LI5$5Ac~s zK+HY?{yZVfleNOWoCmGP^>x_O#-9_N-rYie&2AVs&+^3vkrkfZ>1O0R&J&jfvOX0t8YYF^G1 zSGtFOl7(dxfAR(YFE>K`uME(p2125M4eB3^YV16g zZuX$^j67T%r!?dR3#+7ugT|V@qM|NL<|`fPHqR&a3jR(S!ok_y@y}T(#99C3pV%{W zdIW>f?a4V_%p0=K*rQBEA?wqB;^!QYVX+{&b~DlKxWV_;_b!#}{HN@gd_lW@^kI&} ze8HU@8bFt^q2==(qnZMzoY%jWz;3=jkZpi3MU7|Lmm9$p_UJ2b3Vt)CVq*JuSdGa=J7PP`RZcE!tR_Pyf^p#)# zri-o>dTDMa5`APnAff3uVFSGviN}0@;46unXPX4~5Gk(VX#r7pa&xr5<>V4kn}zD% zvN6q1Q`x*w)d~w$21*u4@7;Cs_kY<`uPL-ny*%M%ZA)vVpmR7GH zlvFy+A+=;a4a;mi%lT4uAow=fzlexQ_=_)O$&w*ch3mSR=+lhPC(}ycE2RP6;~8L< z!~kp4@7pWnI3gxz z99gqR2Paz7TwGqFx%$6slTy5JfUukzU++Z8?dU5vS}1+unl<}E%yi>EjC~;7aTvIP zbVvx;2HcC=ATekca00hNWbi>)uDk~yi&|kC+OR6k0H;b&e`X`YT)#cH;MZx~tc4@F zxqFB33Jwh6mo4wEzIU&e`d;m)sk!rTgeIxpl z@zGy;eVYw_4`*(My?wOK*~2^bP$q*7mt3}En@PKkLVO7_7T7=0LBT!-T7DqtrBR^a z2ZNG(7JO2qumanC0{i_mk%GH-oayuq_Xj6e*FTI)lWp{AE9S6P?Sm6jzCqsy{g(~i zMjLPr5L>vLjzETx2}Rmus4Py0BJ@X!^(m09Q^3ijBsf!W2iTVzKvUJIHr4qoA$!gK zH7u8HAm4Ki3efkt93_R~Pyu9khJ$1S15!78LwSJ;vgDCaTA-wSqT-BHC@oat{9r+< zgbTTPG2CdXRz8bfQ{IF%2lwbaLZOtcf)b__iY^JDI6?wt>@>(d84KdA$Dy_|A2LJ{ zP@qeKTxAU8DC3|I`y)plP5DX1x)f+?s*#)Oe3p>6!QHEbDS@0bT%-Ty&8EU^zXT{{ z$w7B49ICJ8fCl}sSOE_LMG^=Si6KZV0wF(&(qDx7wRN=(cAT66&!U^;P5g_;Dr`Rsbizwe zRhkJ6jkT(0)lKp%y_m_Q&6Ivz2Ywv-F)Zlj07s@R0}0w7IB*6uIOj<_HK{>3|A+)W zj9-M3EFs*yQH$fRN@dGb4g517&)minZuA}*UNQGF&GfGxFdp?=!TeX=hMz}#3R;gy zs4mKZ>or%PzP1EIBA1~7g@iY*m%}a8Uv#aa*go|#*P0R0Y5y;A-??`vzuAZMy|MpY zt(;)@bVu0#xdY67*%~~iuYfY8zM-zBtSqa({=TlJ4zlX6wba*KEv~y(UV5#z^h#k} zO=H=$vgkRR=~k0MW39~F__VmtBWNc1=0@E{{oBXQfrUM+z;&P>j!ncwKY9)t;NX(*^gGnHx5|Iw~P+)3D^CAhO4N#u9gU#_7lo{-KMX zW)c1P-H8pPFH*Oj1~-Q(Fu$t}tRHC$r`HUF)q^LlC*>_gRUf`7tD(QHx!2rZTpKqg zO7q$H#H`&P#HPP9imm;iBOOmmOW5Z>+Bo)b?mg@WVnc>!G#vZf6~}-LEbV6v-;Vf* z+Ph74*`DTF55#CSx8?=e@)AXzNIJaf7l16e#pf2 z!27fBV19Q81AX>#+m7lQL1(`5R$5b$ov>=2>HUP%!VjNxPBi5)4;5Y!QNOP}q#umm zf%J`- zU;kOn)7jF`KM6|ibicQ+Pjn>ocs3)hEk8sARpMMIiBjNt919B1h!{G}h>^4})Bbsu zpC5JJZJ*wmXSy@JtH9%uM@h2oUSXI3%0;;?63_5}pr1XTxlIcqI=}w3w@t`Qa+G)k zMx@22jBo$0v(KpiG5o2sfcL&?Il3gthAlc4Hn`hCXAvs{#19ff$+qdjF(Sjnn!Cl$`m zRM9`2`QJz5#t`4j*)PNX-@?09i`iME`)Sq;MYpk0^%sYoDO^mR=X(cR&Zhf!C-MJF zzllNl`dB@m0+(-^lCXMjHNo(rSMI3rU$td4 z9We=Kx^q`LB^Y;hri7%^F;0Y}k@rp)^FDQC->Y#%T=6|#D=d(cK5s>g=>ZJpw6x7( z*X=Or>L?r_EL+x1-F*8sb#s%wtbT4sc}!_!430?1*<|vU&o0~QnB;aSOT6B*jc_|LyLCW8#4({T+oCs;00m8LiMo_n^%}S?6!c^Oh&;O;g-Fd~4Y<>KpmH z(z|okA7)D3yxItMNjNNt8)7*>FbtW|Nv#EW8LfFl@}Dl5_Q)@=eldiT?bc6z zQ*X^L518TZJJHuSIvVlE*7V(h5BvUi44C>J_zhBb?1T7oTYw$#3u3{WAs#W{xbs^e zj$p&*eg!T{{DtjsAW;O1)0$zvtPO@Hw!%9}$O+&W+LLX>DbE(%EpZoS{((bwOw{!s zfgBs*kjId76ozPe7qYgKv!rFTW{NGpcoJFTNSns6087w*dX@oBmb8Lj{{5?d%6xlbgZa;nf0a3vqnqoLT)1Xz5;uX&w z#w}cIC%yJ%FZIoG#Q(3_CSQHD)|2vKTYRSKJUOl8%&**P#Gil1-yhnKIJ68oZP}UA zkd_h-3a&pSUfco7qySI}!XRA`isQo`_|li+VC*(qW42n-x?Y!8$URRKX$_Tgca6`sswvs#mPSMn|r!yAGCJUHX9t3 zwc;;C`G?+3%4CdUDb}23gaqmE+?&2~bBJa1F1)adQoSd9q zo;!D?#jubVCp(`23kPAD>?gRp34{MVL{8uJ5X5fV3H%6mkj5}T9)A*KoYSC)_XBC1FGym%ffITJei0PF zGPHj?j``!oZ4@@|hup;J+}n*Cp1{wTe+*Z|>Rnu2f8V2VjkJr&u*bFX57_>NWxG7G zJmP@2=@cBDvI^Hrv>kCpk6s}hmP?&XwlnFWNM6{Vp*`6t3Lav$% zd1?-1OIeT-=MV9kERZO9&`?{9{KB=67iBl8$Aw0FiM#f2s&vCq(0PZ!l}IsMiBF@X z6hk6}11Sj=g7zTd@%TOXJC8$CeK~Rt=5k&rD4gDjK`oMF*v zFAUqEySVk>Z}L%Jj*vo*U*aR1Gm*#1qBtxgkClb{L;krG$Un`2f>=H@)fD5Hh`@a- z0Q^K+_(5?U)<2XD55u$Kw8!kPtGx_?l}!)q`DN67j~DbEy2Ss);N+a-Al8aDKgNH> zU>k5>L&-u6n!gP>AkPRWNA8JmkJ{8=YHYZR3emrBgGK1$6Mxx7*+y|=zS2zUJ^2Ru zhvO%-vi^=Ex8&CsWII(2f6uui+1@cm?EWEtM(kD}3I+AyFzPN-?DvP^d)p}x?RFUQ zxbdJS+!abjN+4Vki{YTG5DudpBB8Vh4oZuGDH2fqufutft4@N(`m0c0e=Qu9QvTPA zXhR6y>kTC%LT=>#2>)Q@e-wLz;J}o{6!#ahau@plfe?>tPw?{XpbiX09?ob#>01SU z2YG5J$WlX4NNAKaOxGe;SAgHDsi6}2xf*Q4wa^z~x2X=Ed+;pePU@*Kf^*fxA4Yz6 z0KV=u9OfZ+wy?Vc{4(-05bp{A;r8>O^1TGQB>Xmf92bxHMADvzoFc_5;@Bb~_I+(d zj*(luS%d5U)ewh3p6#F*74acEwZEEd?I7$Tau3;&?HSiX)*Rx0n(V){d^hrMLy-Tn zf-hfvn`(!v%?H5WavF3#(NLw=Ky^hP)K}y~O=S-H4=89Sk@|{U4D-?Md<^s8Rzn5F zP2NWP3#-c6j)IDGD@o;Ua_6N3n>w8ofY^h|E8+s-OsG4L?d)It`e69Frw#1-cp!cY zYncDCEo>h*8@c5mxT?@m$edTE)|F+{NRqf?RZblT7-WQ;v>u4lR@GlBFw;k(TF&(KwLSlV+CEbC_nNykUw zeM%eTVXa`^YqsD!a}DH$37RUe6sgNfb5!DMHT9gDTfix;f`qC{gTDM~!PU}YQAKHy zyu7SPb)~dWF0ZVv(U+HHsEP~r6MpoAbK#>t3`??kf@z&fmL3l2qxOnWJkH%3=WoKs zqp-5?82Ab~>>VEtgcWaD!#w1&7xb`&MLh>Y__~A1#K--D?lHhoSs}MTKDVFd9$0AZ z8}M#YNZ~HrQVa}__!Q&jB*Y#~!*wY$(Rt$udmUgi5z0XCYlNR9l8t+kk(@TA~rknQO zjV{_Ycum{fVw-Y#Jq@{8=QAv8r_}rf??o#&*`}87c8Jrh>{RD=B9o9FV1eUDV$NNg zcw55ds`dxNiP`I5Nw1LWUz zu)t{acm9Z%5Z=0@Iy#%iq|;wfd4&5RN8U#In_52~+Hac6B#oSldB2>5ABRkbxm|5> zEwyc1Kluyl4*XMf;hoZfDFrSzvg**moWhUH^G?9;;FMgj+R2~!`x((ZLnq@B&xjvz z?Z2m|{I$pVf74hZz8qO!Mce(s)%pWi*k@!jeaTvf&ZuxmDfz-eeW$`&T=Tf!kG#^j z#G?K*Gk&Qv^|jB#c0WHw=gq1#`ODN=N_`6)KM(H^kUI^;esZTfc=?XD%@gNJ+t>57 zXNTm1>EqejZ=ROtdEb${KMJpKj?w-Y$n-J#oaC9hi$U$n#0NE|Ydjr7#yRN2@@O z--LV*9fQ@F?0#_p*8hBd7v6jQ?6mhYx4kp%3E6t8kJuyhg5D?kZb@_+R7rB-YC<|x zN%34BB5u=oMK%cBgMKAGQ)lXXQl3QtVfIgY_gB-ITl{+`9SZm{lO?Gx=jq!tez8y? z&2QC(@|Enp=ROv8fPFo$&TnI5dpZX^eh2({>uO()bvoEm7nyoY>3OL*GfB21z{iLD z9qWbuW-yt(7lnoWCI9Vd2F33@Iyhmo_c_e-!p?e6)Axekb&+_4ZBj8Jo7j8(-+RGz z|LxV0`$sa5utQq!n3jYC{$Ks=3jYQL$p-@_r+Nl4&Tl)||8J=NpQy5nKb|}O2}S?a L@!uYJ5k2s~Detb~ literal 25931 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 LrJugUA?W`A8`#=m diff --git a/Website/Frontend/app/globals.css b/Website/Frontend/app/globals.css index 0041257..8f46e9d 100644 --- a/Website/Frontend/app/globals.css +++ b/Website/Frontend/app/globals.css @@ -30,6 +30,22 @@ } } +@layer utilities { + + /* Hide scrollbar for Chrome, Safari and Opera */ + .no-scrollbar::-webkit-scrollbar { + display: none; + } + + /* Hide scrollbar for IE, Edge and Firefox */ + .no-scrollbar { + -ms-overflow-style: none; + /* IE and Edge */ + scrollbar-width: none; + /* Firefox */ + } +} + .glow-button { outline: none; position: relative; @@ -88,6 +104,7 @@ 0% { transform: translateX(0); } + 100% { transform: translateX(-100%); } diff --git a/Website/Frontend/app/layout.tsx b/Website/Frontend/app/layout.tsx index d3dac10..c15cd85 100644 --- a/Website/Frontend/app/layout.tsx +++ b/Website/Frontend/app/layout.tsx @@ -1,13 +1,43 @@ -import type { Metadata } from "next"; +import type { Metadata, Viewport } from "next"; import { Inter } from "next/font/google"; import "./globals.css"; +import displayImage from "@/public/assets/view/display.png"; import { Navbar } from "@/app/ui/landing/Navbar"; const inter = Inter({ subsets: ["latin"] }); export const metadata: Metadata = { - title: "CertiMailer | Home", - description: "A complete solution to generate, mail and verify certificates", + metadataBase: new URL("https://certimailer.xyz"), + title: "CertiMailer", + description: + "A complete solution to generate, mail, and verify certificates. Streamline your certification process with ease.", + keywords: + "certificate, certificate generator, email certificates, verify certificates, CertiMailer, certification, automated mailing, digital certificates", + // authors: "CertiMailer Team", + robots: "index, follow", + openGraph: { + title: "CertiMailer", + description: + "A complete solution to generate, mail, and verify certificates. Streamline your certification process with ease.", + url: "https://www.certimailer.xyz", // replace with your actual domain + type: "website", + locale: "en_US", + siteName: "CertiMailer", + images: displayImage.src, + }, + twitter: { + card: "summary_large_image", + title: "CertiMailer", + description: + "A complete solution to generate, mail, and verify certificates. Streamline your certification process with ease.", + // site: "@certimailer", // replace with your actual Twitter handle + creator: "@ScientistManas", // replace with your actual Twitter handle + images: displayImage.src, + }, +}; + +export const viewport: Viewport = { + themeColor: "pink", }; export default function RootLayout({ diff --git a/Website/Frontend/app/lib/action.ts b/Website/Frontend/app/lib/action.ts index e333984..29e9416 100644 --- a/Website/Frontend/app/lib/action.ts +++ b/Website/Frontend/app/lib/action.ts @@ -21,74 +21,3 @@ const newsLetterEmailSchema = z.object({ // ******************* Form Submission functions ********************** -export async function waitListUserFormSubmit(formData: FormData) { - const validateFields = waitListUserSchema.safeParse({ - name: formData.get("name"), - designation: formData.get("designation"), - email: formData.get("email"), - }); - - - // if form validation fails, return the error message - if (!validateFields.success) { - return { - errors: validateFields.error.flatten().fieldErrors, - message: "Missing values. Failed to add to database.", - }; - } - - // Prepare data to push to mongodb - const { name, designation, email } = validateFields.data; - - try { - const res = await fetch("http://localhost:3000/api/wait-list", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify({ - name, - designation, - email, - }), - }); - - // Get status of resposne - const data = await res.json(); - - if (data.success) { - console.log("Successfully waitlist user added"); - } else { - console.log(`Error: ${data.error}`); - return { - message: "DataBase Error: Failed to insert to database", - }; - } - } catch (error) { - console.log(`Error: ${error}`); - return { - message: "Server Error: Failed to insert to database", - }; - } -} - -// ******************************** Eamil sending section ******************************** - -export async function SendEmail(emailParams: emailParams) { - // call api - const res = await fetch("api/send-email", { - method: "POST", - headers: { - "Content-Type": "application/json", - }, - body: JSON.stringify(emailParams), - }); - - // check response - const data = await res.json(); - if (data.success == true && res.status == 200) { - console.log("Email sent sucessfully!"); - } else { - console.log(`Failed, Error: ${data.message}`); - } -} diff --git a/Website/Frontend/app/lib/definitions.ts b/Website/Frontend/app/lib/definitions.ts index 4c3a367..612c6b6 100644 --- a/Website/Frontend/app/lib/definitions.ts +++ b/Website/Frontend/app/lib/definitions.ts @@ -22,17 +22,17 @@ export type emailParams = { toName?: string; }; -export type IdFetchedDataProps = { +export type FetchedCertificateDataProps = { fetchedData: { - orgLogo: StaticImageData; - orgName: string; - orgId: string; - orgStatus: string; - orgEmail: string; - issuedToName: string; - issueId: string; - issuedToEmail: string; - issuedDate: string; - expiryDate: string; + organization_logo_url: string; + organization_name: string; + organization_id: string; + organization_status: string; + organization_email: string; + _id: string; + issued_to: string; + issued_email: string; + issued_date: string; + expiry_date: string; }; }; diff --git a/Website/Frontend/app/ui/components/Marquee.tsx b/Website/Frontend/app/ui/components/Marquee.tsx index b10f78e..2bad975 100644 --- a/Website/Frontend/app/ui/components/Marquee.tsx +++ b/Website/Frontend/app/ui/components/Marquee.tsx @@ -3,7 +3,7 @@ import Image from "next/image"; export function Marquee({svgs}: MarqueeProps): JSX.Element { return ( -
+
diff --git a/Website/Frontend/app/ui/components/globe.tsx b/Website/Frontend/app/ui/components/globe.tsx index cf5c5b3..6decc7c 100644 --- a/Website/Frontend/app/ui/components/globe.tsx +++ b/Website/Frontend/app/ui/components/globe.tsx @@ -395,7 +395,7 @@ export function Globe() { ]; return ( -
+
- -
+
diff --git a/Website/Frontend/app/ui/landing/Footer.tsx b/Website/Frontend/app/ui/landing/Footer.tsx index bd8ff68..d86412d 100644 --- a/Website/Frontend/app/ui/landing/Footer.tsx +++ b/Website/Frontend/app/ui/landing/Footer.tsx @@ -12,7 +12,6 @@ import logo from "@/public/assets/logo/logo_nobg.png"; import { useState } from "react"; import { BackgroundBeams } from "@/app/ui/animations/background-beams"; import { NewsLetterSubmitLoader } from "@/app/ui/loaders"; -import { SendEmail } from "@/app/lib/action"; export function Footer(): JSX.Element { const buttonText = "Want to contribute/contact ?"; @@ -26,12 +25,19 @@ export function Footer(): JSX.Element { e.preventDefault(); setSubmitted(() => true); + // API URI + const DATA_API = "https://certimailer.onrender.com/api/user/newsletter-insert-user"; + const EMAIL_API = "https://certimailer.onrender.com/api/send-email/admin"; + + // const DATA_API = "http://localhost:5000/api/user/newsletter-insert-user"; + // const EMAIL_API = "http://localhost:5000/api/send-email/admin"; + // Get the form data const formData = new FormData(e.currentTarget); const email: string = formData.get("email") as string; try { - const res = await fetch("/api/news-letter", { + await fetch(DATA_API, { method: "POST", headers: { "Content-Type": "application/json", @@ -40,8 +46,6 @@ export function Footer(): JSX.Element { email, }), }); - - const data = await res.json(); } catch (error) { console.error(error); throw new Error("Failed to subscribe to newsletter."); @@ -55,19 +59,30 @@ export function Footer(): JSX.Element { setIsEmail(() => false); // Sned the email after all things is done - const emailParams = { - to: email, - subject: "Subscribed to CertiMailer Newsletter !", - text: `You have sucessfully subscribed to CertiMailer with ${email}. From now you will be receiving the news about updates, blogs, and much more.\n\nBest Regards,\nTeam CertiMailer\n\nThis is an automated generated mail which will be not monitored. - `, - fromName: "No-Reply CertiMailer", + const emailData = { + fromName: "Manas", + toName: "", + toEmail: email, + subject: "Subscribed to CertiMailer Newsletter ! !", + message: `You have sucessfully subscribed to CertiMailer with ${email}. From now you will be receiving the news about updates, blogs, and much more.\n\nBest Regards,\nTeam CertiMailer\n(Open Source)\n\n(This is an automated generated mail which will be not monitored.)`, }; - await SendEmail(emailParams); + + try { + await fetch(EMAIL_API, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify(emailData), + }); + } catch (error) { + console.log(error); + } }; return (

kvoZju){Cx>Cf>^Zr`*PAA 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