From 4eb23b805b5c86647dc36f9948f4b0b5f2f6ae0f Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 17:17:16 +0700 Subject: [PATCH 01/18] Test --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0052992..aedc754 100644 --- a/README.md +++ b/README.md @@ -1 +1,2 @@ -# IP-RMT46 \ No newline at end of file +# IP-RMT46 +Test \ No newline at end of file From 83b12f5a360a3a9e1e36fb8858c3730040aabb1d Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 17:19:48 +0700 Subject: [PATCH 02/18] Test --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index aedc754..0052992 100644 --- a/README.md +++ b/README.md @@ -1,2 +1 @@ -# IP-RMT46 -Test \ No newline at end of file +# IP-RMT46 \ No newline at end of file From fb84b75d864c975c35004fa0139948b8d675155c Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 23:08:49 +0700 Subject: [PATCH 03/18] chore: create migration --- Server/config/config.json | 23 ++++++ .../migrations/20240312123545-create-user.js | 42 ++++++++++ .../migrations/20240312123552-create-meal.js | 37 +++++++++ .../20240312123559-create-order-detail.js | 53 ++++++++++++ Server/models/index.js | 43 ++++++++++ Server/models/meal.js | 59 ++++++++++++++ Server/models/orderdetail.js | 60 ++++++++++++++ Server/models/user.js | 81 +++++++++++++++++++ Server/seeders/20240312131326-seed-users.js | 38 +++++++++ 9 files changed, 436 insertions(+) create mode 100644 Server/config/config.json create mode 100644 Server/migrations/20240312123545-create-user.js create mode 100644 Server/migrations/20240312123552-create-meal.js create mode 100644 Server/migrations/20240312123559-create-order-detail.js create mode 100644 Server/models/index.js create mode 100644 Server/models/meal.js create mode 100644 Server/models/orderdetail.js create mode 100644 Server/models/user.js create mode 100644 Server/seeders/20240312131326-seed-users.js diff --git a/Server/config/config.json b/Server/config/config.json new file mode 100644 index 0000000..7c97cdc --- /dev/null +++ b/Server/config/config.json @@ -0,0 +1,23 @@ +{ + "development": { + "username": "postgres", + "password": "postgres", + "database": "FoodAppDB", + "host": "localhost", + "dialect": "postgres" + }, + "test": { + "username": "root", + "password": null, + "database": "database_test", + "host": "127.0.0.1", + "dialect": "mysql" + }, + "production": { + "username": "root", + "password": null, + "database": "database_production", + "host": "127.0.0.1", + "dialect": "mysql" + } +} diff --git a/Server/migrations/20240312123545-create-user.js b/Server/migrations/20240312123545-create-user.js new file mode 100644 index 0000000..d9d1cc2 --- /dev/null +++ b/Server/migrations/20240312123545-create-user.js @@ -0,0 +1,42 @@ +'use strict'; +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, Sequelize) { + await queryInterface.createTable('Users', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + name: { + type: Sequelize.STRING, + allowNull: false + }, + email: { + type: Sequelize.STRING, + allowNull: false, + unique: true + }, + password: { + type: Sequelize.STRING, + allowNull: false + }, + role: { + type: Sequelize.STRING, + defaultValue: "Customer" + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + async down(queryInterface, Sequelize) { + await queryInterface.dropTable('Users'); + } +}; \ No newline at end of file diff --git a/Server/migrations/20240312123552-create-meal.js b/Server/migrations/20240312123552-create-meal.js new file mode 100644 index 0000000..380ffb2 --- /dev/null +++ b/Server/migrations/20240312123552-create-meal.js @@ -0,0 +1,37 @@ +'use strict'; +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, Sequelize) { + await queryInterface.createTable('Meals', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + name: { + type: Sequelize.STRING, + allowNull: false + }, + description: { + type: Sequelize.STRING, + allowNull: false + }, + price: { + type: Sequelize.INTEGER, + allowNull: false + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + async down(queryInterface, Sequelize) { + await queryInterface.dropTable('Meals'); + } +}; \ No newline at end of file diff --git a/Server/migrations/20240312123559-create-order-detail.js b/Server/migrations/20240312123559-create-order-detail.js new file mode 100644 index 0000000..3a44fd8 --- /dev/null +++ b/Server/migrations/20240312123559-create-order-detail.js @@ -0,0 +1,53 @@ +'use strict'; +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up(queryInterface, Sequelize) { + await queryInterface.createTable('OrderDetails', { + id: { + allowNull: false, + autoIncrement: true, + primaryKey: true, + type: Sequelize.INTEGER + }, + quantity: { + type: Sequelize.INTEGER, + allowNull: false + }, + UserId: { + type: Sequelize.INTEGER, + allowNull: false, + references: { + model: { + tableName: "Users" + }, + key: "id" + }, + onUpdate: "cascade", + onDelete: "cascade" + }, + MealId: { + type: Sequelize.INTEGER, + allowNull: false, + references: { + model: { + tableName: "Meals" + }, + key: "id" + }, + onUpdate: "cascade", + onDelete: "cascade" + }, + createdAt: { + allowNull: false, + type: Sequelize.DATE + }, + updatedAt: { + allowNull: false, + type: Sequelize.DATE + } + }); + }, + async down(queryInterface, Sequelize) { + await queryInterface.dropTable('OrderDetails'); + } +}; \ No newline at end of file diff --git a/Server/models/index.js b/Server/models/index.js new file mode 100644 index 0000000..024200e --- /dev/null +++ b/Server/models/index.js @@ -0,0 +1,43 @@ +'use strict'; + +const fs = require('fs'); +const path = require('path'); +const Sequelize = require('sequelize'); +const process = require('process'); +const basename = path.basename(__filename); +const env = process.env.NODE_ENV || 'development'; +const config = require(__dirname + '/../config/config.json')[env]; +const db = {}; + +let sequelize; +if (config.use_env_variable) { + sequelize = new Sequelize(process.env[config.use_env_variable], config); +} else { + sequelize = new Sequelize(config.database, config.username, config.password, config); +} + +fs + .readdirSync(__dirname) + .filter(file => { + return ( + file.indexOf('.') !== 0 && + file !== basename && + file.slice(-3) === '.js' && + file.indexOf('.test.js') === -1 + ); + }) + .forEach(file => { + const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes); + db[model.name] = model; + }); + +Object.keys(db).forEach(modelName => { + if (db[modelName].associate) { + db[modelName].associate(db); + } +}); + +db.sequelize = sequelize; +db.Sequelize = Sequelize; + +module.exports = db; diff --git a/Server/models/meal.js b/Server/models/meal.js new file mode 100644 index 0000000..0e4fceb --- /dev/null +++ b/Server/models/meal.js @@ -0,0 +1,59 @@ +'use strict'; +const { + Model +} = require('sequelize'); +module.exports = (sequelize, DataTypes) => { + class Meal extends Model { + /** + * Helper method for defining associations. + * This method is not a part of Sequelize lifecycle. + * The `models/index` file will call this method automatically. + */ + static associate(models) { + // define association here + Meal.hasMany(models.OrderDetail, {foreignKey: "MealId"}) + } + } + Meal.init({ + name: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notNull: { + msg: "Name is required" + }, + notEmpty: { + msg: "Name is required" + } + } + }, + description: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notNull: { + msg: "Description is required" + }, + notEmpty: { + msg: "Description is required" + } + } + }, + price: { + type: DataTypes.INTEGER, + allowNull: false, + validate: { + notNull: { + msg: "Price is required" + }, + notEmpty: { + msg: "Price is required" + } + } + }, + }, { + sequelize, + modelName: 'Meal', + }); + return Meal; +}; \ No newline at end of file diff --git a/Server/models/orderdetail.js b/Server/models/orderdetail.js new file mode 100644 index 0000000..8aa3052 --- /dev/null +++ b/Server/models/orderdetail.js @@ -0,0 +1,60 @@ +'use strict'; +const { + Model +} = require('sequelize'); +module.exports = (sequelize, DataTypes) => { + class OrderDetail extends Model { + /** + * Helper method for defining associations. + * This method is not a part of Sequelize lifecycle. + * The `models/index` file will call this method automatically. + */ + static associate(models) { + // define association here + OrderDetail.belongsTo(models.User, {foreignKey: "UserId"}) + OrderDetail.belongsTo(models.Meal, {foreignKey: "MealId"}) + } + } + OrderDetail.init({ + quantity: { + type: DataTypes.INTEGER, + allowNull: false, + validate: { + notNull: { + msg: "Quantity is required" + }, + notEmpty: { + msg: "Quantity is required" + } + } + }, + UserId: { + type: DataTypes.INTEGER, + allowNull: false, + validate: { + notNull: { + msg: "User is required" + }, + notEmpty: { + msg: "User is required" + } + } + }, + MealId: { + type: DataTypes.INTEGER, + allowNull: false, + validate: { + notNull: { + msg: "Meal is required" + }, + notEmpty: { + msg: "Meal is required" + } + } + }, + }, { + sequelize, + modelName: 'OrderDetail', + }); + return OrderDetail; +}; \ No newline at end of file diff --git a/Server/models/user.js b/Server/models/user.js new file mode 100644 index 0000000..9036a83 --- /dev/null +++ b/Server/models/user.js @@ -0,0 +1,81 @@ +'use strict'; +const {hashPassword} = require("../helpers/bcrypt") +const { + Model +} = require('sequelize'); +module.exports = (sequelize, DataTypes) => { + class User extends Model { + /** + * Helper method for defining associations. + * This method is not a part of Sequelize lifecycle. + * The `models/index` file will call this method automatically. + */ + static associate(models) { + // define association here + User.hasMany(models.OrderDetail, {foreignKey: "UserId"}) + } + } + User.init({ + name: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notNull: { + msg: "Name is required" + }, + notEmpty: { + msg: "Name is required" + } + } + }, + email: { + type: DataTypes.STRING, + allowNull: false, + unique: { + args: true, + msg: "Email is already registered" + }, + validate: { + notNull: { + msg: "Email is required" + }, + notEmpty: { + msg: "Email is required" + }, + isEmail: { + args: true, + msg: "Invalid email format" + } + } + }, + password: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notNull: { + msg: "Password is required" + }, + notEmpty: { + msg: "Password is required" + }, + len: { + args: [5], + msg: "Password is too short" + } + } + }, + role: { + type: DataTypes.STRING, + defaultValue: "Customer" + }, + }, { + sequelize, + modelName: 'User', + hooks: { + beforeCreate (value, option) { + value.password = hashPassword(value.password) + } + } + }); + return User; +}; \ No newline at end of file diff --git a/Server/seeders/20240312131326-seed-users.js b/Server/seeders/20240312131326-seed-users.js new file mode 100644 index 0000000..7964514 --- /dev/null +++ b/Server/seeders/20240312131326-seed-users.js @@ -0,0 +1,38 @@ +'use strict'; +const {hashPassword} = require("../helpers/bcrypt") + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add seed commands here. + * + * Example: + * await queryInterface.bulkInsert('People', [{ + * name: 'John Doe', + * isBetaMember: false + * }], {}); + */ + const data = require("../data/users.json") + .map((el) => { + el.password = hashPassword(el.password), + el.createdAt = el.updatedAt = new Date() + return el + }) + await queryInterface.bulkInsert('Users', data); + }, + + async down (queryInterface, Sequelize) { + /** + * Add commands to revert seed here. + * + * Example: + * await queryInterface.bulkDelete('People', null, {}); + */ + await queryInterface.bulkDelete('Users', null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + } +}; From c0cfb4589349b2d74b2deb1c725c39d1fa2243f8 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 23:09:24 +0700 Subject: [PATCH 04/18] chore: create routing and import data from spoonicular api --- Server/app.js | 26 +++++++++++++++ Server/controllers/MealController.js | 25 ++++++++++++++ Server/controllers/UserController.js | 49 ++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) create mode 100644 Server/app.js create mode 100644 Server/controllers/MealController.js create mode 100644 Server/controllers/UserController.js diff --git a/Server/app.js b/Server/app.js new file mode 100644 index 0000000..6af3a1e --- /dev/null +++ b/Server/app.js @@ -0,0 +1,26 @@ +if(process.env.NODE_ENV !== "production") { + require('dotenv').config(); +} + +const express = require("express"); +const app = express(); +const port = 3000; + +const UserController = require("./controllers/UserController"); +const MealController = require("./controllers/MealController"); + +app.use(express.urlencoded({extended: true})); +app.use(express.json()); + +app.get("/", (req, res) => { + res.json({message: "Welcome to the TastyBites API"}) +}) + +app.post("/register", UserController.registerUser); +app.post("/login", UserController.loginUser); + +app.get("/meals", MealController.getMeals); + +app.listen(port, () => { + console.log(`Listening on port ${port}`) +}) \ No newline at end of file diff --git a/Server/controllers/MealController.js b/Server/controllers/MealController.js new file mode 100644 index 0000000..a4f6ebb --- /dev/null +++ b/Server/controllers/MealController.js @@ -0,0 +1,25 @@ +const {Meal} = require("../models"); +const {apiKey} = require("../helpers/jwt"); +const spoonacularEndPoint = "https://api.spoonacular.com"; +const axios = require("axios"); + +module.exports = class MealController { + static async getMeals(req, res) { + try { + const {query} = req.query; + if(!query) { + throw {name: "Not found"} + } + const url = `${spoonacularEndPoint}/recipes/complexSearch?apiKey=${apiKey}&query=${query}`; + const response = await axios.get(url) + console.log(response.data); + res.status(200).json(response.data.results) + } catch (error) { + console.log(error); + if(error.name === "Not found") { + return res.status(404).json({message: "Data not found"}) + } + return res.status(500).json({message: "Internal Server Error"}); + } + } +} \ No newline at end of file diff --git a/Server/controllers/UserController.js b/Server/controllers/UserController.js new file mode 100644 index 0000000..9780a42 --- /dev/null +++ b/Server/controllers/UserController.js @@ -0,0 +1,49 @@ +const {User} = require("../models") +const {comparePassword} = require("../helpers/bcrypt") +const {signToken} = require("../helpers/jwt") + +module.exports = class UserController { + static async registerUser(req, res) { + try { + const {name, email, password, role} = req.body; + await User.create({name, email, password, role}); + res.status(201).json({name, email, role}) + } catch (error) { + console.log(error) + if(error.name === "SequelizeValidationError" || error.name === "SequelizeUniqueConstraintError") { + return res.status(400).json({message: error.errors[0].message}) + } + return res.status(500).json({message: "Internal Server Error"}) + } + } + + static async loginUser(req, res) { + try { + const {email, password} = req.body; + if(!email) { + throw {name: "CustomEmailError"} + } + if(!password) { + throw {name: "CustomPasswordError"} + } + const userData = await User.findOne({where: {email: email}}); + if(!userData || !comparePassword(password, userData.password)) { + throw {name: "CustomError"} + } + const token = signToken({id: userData.id}) + res.status(200).json({access_token: token}) + } catch (error) { + console.log(error); + if(error.name === "CustomEmailError") { + return res.status(400).json({message: "Email is required"}) + } + if(error.name === "CustomPasswordError") { + return res.status(400).json({message: "Password is required"}) + } + if(error.name === "CustomError") { + return res.status(401).json({message: "Invalid email/password"}) + } + return res.status(500).json({message: "Internal Server Error"}) + } + } +} \ No newline at end of file From 0106855a558fbce4471779b5c747e30bf9fd055e Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 23:10:02 +0700 Subject: [PATCH 05/18] chore: create environment variables --- Server/.env | 2 ++ Server/.env.example | 2 ++ 2 files changed, 4 insertions(+) create mode 100644 Server/.env create mode 100644 Server/.env.example diff --git a/Server/.env b/Server/.env new file mode 100644 index 0000000..a66fdf3 --- /dev/null +++ b/Server/.env @@ -0,0 +1,2 @@ +JWT_SECRET=secret +SPOONACULAR_API_KEY=79065275aa294d75920ec3658901ac12 \ No newline at end of file diff --git a/Server/.env.example b/Server/.env.example new file mode 100644 index 0000000..993c269 --- /dev/null +++ b/Server/.env.example @@ -0,0 +1,2 @@ +JWT_SECRET= +SPOONACULAR_API_KEY= \ No newline at end of file From 405065ff7581ce5183c3779aa5b5e5dd7bc3971e Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Tue, 12 Mar 2024 23:11:04 +0700 Subject: [PATCH 06/18] package.json --- Server/.gitignore | 1 + Server/data/users.json | 16 + Server/helpers/bcrypt.js | 6 + Server/helpers/jwt.js | 18 + Server/package-lock.json | 8288 ++++++++++++++++++++++++++++++++++++++ Server/package.json | 28 + 6 files changed, 8357 insertions(+) create mode 100644 Server/.gitignore create mode 100644 Server/data/users.json create mode 100644 Server/helpers/bcrypt.js create mode 100644 Server/helpers/jwt.js create mode 100644 Server/package-lock.json create mode 100644 Server/package.json diff --git a/Server/.gitignore b/Server/.gitignore new file mode 100644 index 0000000..b512c09 --- /dev/null +++ b/Server/.gitignore @@ -0,0 +1 @@ +node_modules \ No newline at end of file diff --git a/Server/data/users.json b/Server/data/users.json new file mode 100644 index 0000000..99165a7 --- /dev/null +++ b/Server/data/users.json @@ -0,0 +1,16 @@ +[{ + "name": "Trevor Budding", + "email": "tbudding0@123-reg.co.uk", + "password": "gM2%+8AFz2p", + "role": "Admin" + }, { + "name": "Benton Dunbobin", + "email": "bdunbobin1@baidu.com", + "password": "lY6*a5J.Gm+", + "role": "Admin" + }, { + "name": "Maxie Tarply", + "email": "mtarply2@latimes.com", + "password": "iN0!E7yZ,'B|+#z", + "role": "Staff" + }] \ No newline at end of file diff --git a/Server/helpers/bcrypt.js b/Server/helpers/bcrypt.js new file mode 100644 index 0000000..2fe399b --- /dev/null +++ b/Server/helpers/bcrypt.js @@ -0,0 +1,6 @@ +const {hashSync, compareSync} = require("bcryptjs"); + +module.exports = { + hashPassword: (password) => hashSync(password, 10), + comparePassword: (password, db_password) => compareSync(password, db_password) +} \ No newline at end of file diff --git a/Server/helpers/jwt.js b/Server/helpers/jwt.js new file mode 100644 index 0000000..8d0976d --- /dev/null +++ b/Server/helpers/jwt.js @@ -0,0 +1,18 @@ +const jsonwebtoken = require("jsonwebtoken") + +const secret = process.env.JWT_SECRET; +const apiKey = process.env.SPOONACULAR_API_KEY; + +function signToken(payload) { + return jsonwebtoken.sign(payload, secret) +} + +function verifyToken(token) { + return jsonwebtoken.verify(token, secret) +} + +module.exports = { + signToken, + verifyToken, + apiKey +} \ No newline at end of file diff --git a/Server/package-lock.json b/Server/package-lock.json new file mode 100644 index 0000000..3b2a1ea --- /dev/null +++ b/Server/package-lock.json @@ -0,0 +1,8288 @@ +{ + "name": "server", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "server", + "version": "1.0.0", + "license": "ISC", + "dependencies": { + "axios": "^1.6.7", + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "ejs": "^3.1.9", + "express": "^4.18.3", + "jsonwebtoken": "^9.0.2", + "pg": "^8.11.3", + "sequelize": "^6.37.1", + "sequelize-cli": "^6.6.2", + "spoonacular_api": "^1.0.0" + }, + "devDependencies": { + "jest": "^29.7.0", + "supertest": "^6.3.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/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/@babel/code-frame/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/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", + "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.0", + "@babel/parser": "^7.24.0", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/core/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==", + "dev": true + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", + "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/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/@babel/highlight/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/@babel/parser": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", + "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", + "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@babel/traverse/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==", + "dev": true + }, + "node_modules/@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "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==", + "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/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/core/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/@jest/core/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/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/reporters/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/@jest/reporters/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@jest/reporters/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/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "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/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==" + }, + "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==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.11.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz", + "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/validator": { + "version": "13.11.9", + "resolved": "https://registry.npmjs.org/@types/validator/-/validator-13.11.9.tgz", + "integrity": "sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==" + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "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/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/arr-diff": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz", + "integrity": "sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==", + "optional": true, + "dependencies": { + "arr-flatten": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-unique": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz", + "integrity": "sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "dev": true + }, + "node_modules/assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" + }, + "node_modules/async-each": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.6.tgz", + "integrity": "sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "optional": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "optional": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-cli": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-cli/-/babel-cli-6.26.0.tgz", + "integrity": "sha512-wau+BDtQfuSBGQ9PzzFL3REvR9Sxnd4LKwtcHAiPjhugA7K/80vpHXafj+O5bAqJOuSefjOx5ZJnNSR2J1Qw6Q==", + "dependencies": { + "babel-core": "^6.26.0", + "babel-polyfill": "^6.26.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "commander": "^2.11.0", + "convert-source-map": "^1.5.0", + "fs-readdir-recursive": "^1.0.0", + "glob": "^7.1.2", + "lodash": "^4.17.4", + "output-file-sync": "^1.1.2", + "path-is-absolute": "^1.0.1", + "slash": "^1.0.0", + "source-map": "^0.5.6", + "v8flags": "^2.1.1" + }, + "bin": { + "babel": "bin/babel.js", + "babel-doctor": "bin/babel-doctor.js", + "babel-external-helpers": "bin/babel-external-helpers.js", + "babel-node": "bin/babel-node.js" + }, + "optionalDependencies": { + "chokidar": "^1.6.1" + } + }, + "node_modules/babel-cli/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "node_modules/babel-cli/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/babel-cli/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "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/babel-cli/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-cli/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==", + "dependencies": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-code-frame/node_modules/js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==" + }, + "node_modules/babel-code-frame/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-code-frame/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + } + }, + "node_modules/babel-core/node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/babel-core/node_modules/json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==", + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/babel-core/node_modules/slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-core/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "dependencies": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + } + }, + "node_modules/babel-generator/node_modules/jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/babel-generator/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==", + "dependencies": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==", + "dependencies": { + "babel-runtime": "^6.22.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-polyfill": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz", + "integrity": "sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==", + "dependencies": { + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "regenerator-runtime": "^0.10.5" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==", + "dependencies": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + } + }, + "node_modules/babel-register/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-register/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dependencies": { + "source-map": "^0.5.6" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, + "node_modules/babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==", + "dependencies": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==", + "dependencies": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + } + }, + "node_modules/babel-traverse/node_modules/globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==", + "dependencies": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "node_modules/babel-types/node_modules/to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", + "bin": { + "babylon": "bin/babylon.js" + } + }, + "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/base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "optional": true, + "dependencies": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bcryptjs": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", + "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" + }, + "node_modules/binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "optional": true, + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "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==", + "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/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.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "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==", + "dev": true + }, + "node_modules/buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "optional": true, + "dependencies": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cache-base/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001597", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz", + "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chokidar": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-1.7.0.tgz", + "integrity": "sha512-mk8fAWcRUOxY7btlLtitj3A45jOwSAxH4tOFOoEGbVsl6cL6pPMWUy7dwZ/canfj3QEdP6FHSnf/l1c6/WkzVg==", + "deprecated": "Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.", + "optional": true, + "dependencies": { + "anymatch": "^1.3.0", + "async-each": "^1.0.0", + "glob-parent": "^2.0.0", + "inherits": "^2.0.1", + "is-binary-path": "^1.0.0", + "is-glob": "^2.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.0.0" + }, + "optionalDependencies": { + "fsevents": "^1.0.0" + } + }, + "node_modules/chokidar/node_modules/anymatch": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz", + "integrity": "sha512-0XNayC8lTHQ2OI8aljNCN3sSx6hsr/1+rlcDAotXJR7C1oZZHCNsfpbKwMjRA3Uqb5tF1Rae2oloTr4xpq+WjA==", + "optional": true, + "dependencies": { + "micromatch": "^2.1.5", + "normalize-path": "^2.0.0" + } + }, + "node_modules/chokidar/node_modules/braces": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz", + "integrity": "sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==", + "optional": true, + "dependencies": { + "expand-range": "^1.8.1", + "preserve": "^0.2.0", + "repeat-element": "^1.1.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar/node_modules/fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "deprecated": "The v1 package contains DANGEROUS / INSECURE binaries. Upgrade to safe fsevents v2", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "dependencies": { + "bindings": "^1.5.0", + "nan": "^2.12.1" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/chokidar/node_modules/micromatch": { + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz", + "integrity": "sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==", + "optional": true, + "dependencies": { + "arr-diff": "^2.0.0", + "array-unique": "^0.2.1", + "braces": "^1.8.2", + "expand-brackets": "^0.1.4", + "extglob": "^0.3.1", + "filename-regex": "^2.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.1", + "kind-of": "^3.0.2", + "normalize-path": "^2.0.1", + "object.omit": "^2.0.0", + "parse-glob": "^3.0.4", + "regex-cache": "^0.4.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/chokidar/node_modules/normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==", + "optional": true, + "dependencies": { + "remove-trailing-separator": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "optional": true, + "dependencies": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/class-utils/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/class-utils/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/cli-color": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/cli-color/-/cli-color-2.0.4.tgz", + "integrity": "sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.64", + "es6-iterator": "^2.0.3", + "memoizee": "^0.4.15", + "timers-ext": "^0.1.7" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/cliui/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==", + "optional": true, + "dependencies": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/component-emitter": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz", + "integrity": "sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "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==", + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "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==" + }, + "node_modules/cookiejar": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz", + "integrity": "sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw==" + }, + "node_modules/copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, + "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==" + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/d": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.2.tgz", + "integrity": "sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==", + "dependencies": { + "es5-ext": "^0.10.64", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", + "optional": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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/define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/define-property/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "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==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==", + "dependencies": { + "repeating": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dezalgo": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.4.tgz", + "integrity": "sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig==", + "dev": true, + "dependencies": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/dottie": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/dottie/-/dottie-2.0.6.tgz", + "integrity": "sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dependencies": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "bin": { + "editorconfig": "bin/editorconfig" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/editorconfig/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/editorconfig/node_modules/minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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==" + }, + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.701", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.701.tgz", + "integrity": "sha512-K3WPQ36bUOtXg/1+69bFlFOvdSm0/0bGqmsfPDLRXLanoKXdA+pIWuf/VbA9b+2CwBFuONgl4NEz4OEm+OJOKA==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "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==", + "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==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es5-ext": { + "version": "0.10.64", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.64.tgz", + "integrity": "sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==", + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "esniff": "^2.0.1", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.4.tgz", + "integrity": "sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==", + "dependencies": { + "d": "^1.0.2", + "ext": "^1.7.0" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esniff": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esniff/-/esniff-2.0.1.tgz", + "integrity": "sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.62", + "event-emitter": "^0.3.5", + "type": "^2.7.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==", + "dependencies": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/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==", + "dev": true + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expand-brackets": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz", + "integrity": "sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==", + "optional": true, + "dependencies": { + "is-posix-bracket": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz", + "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==", + "optional": true, + "dependencies": { + "fill-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/fill-range": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz", + "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==", + "optional": true, + "dependencies": { + "is-number": "^2.1.0", + "isobject": "^2.0.0", + "randomatic": "^3.0.0", + "repeat-element": "^1.1.2", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expand-range/node_modules/is-number": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz", + "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/express": { + "version": "4.18.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", + "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "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.5.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/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==", + "optional": true, + "dependencies": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend-shallow/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extglob": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz", + "integrity": "sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "optional": true + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/filename-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz", + "integrity": "sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "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==", + "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/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/for-own": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz", + "integrity": "sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==", + "optional": true, + "dependencies": { + "for-in": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formidable": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.1.2.tgz", + "integrity": "sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g==", + "dev": true, + "dependencies": { + "dezalgo": "^1.0.4", + "hexoid": "^1.0.0", + "once": "^1.4.0", + "qs": "^6.11.0" + }, + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==", + "optional": true, + "dependencies": { + "map-cache": "^0.2.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-readdir-recursive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" + }, + "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==" + }, + "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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "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==", + "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/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-base": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz", + "integrity": "sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==", + "optional": true, + "dependencies": { + "glob-parent": "^2.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/glob-parent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz", + "integrity": "sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==", + "optional": true, + "dependencies": { + "is-glob": "^2.0.0" + } + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" + } + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==", + "optional": true, + "dependencies": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-values/node_modules/kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hexoid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", + "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==", + "dependencies": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "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/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "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==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflection": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/inflection/-/inflection-1.13.4.tgz", + "integrity": "sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==", + "engines": [ + "node >= 0.4.0" + ] + }, + "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==", + "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==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "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==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-accessor-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz", + "integrity": "sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==", + "optional": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==", + "optional": true, + "dependencies": { + "binary-extensions": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "optional": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-descriptor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz", + "integrity": "sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==", + "optional": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-descriptor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.3.tgz", + "integrity": "sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-dotfile": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz", + "integrity": "sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-equal-shallow": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz", + "integrity": "sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==", + "optional": true, + "dependencies": { + "is-primitive": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz", + "integrity": "sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==", + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-glob": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz", + "integrity": "sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==", + "optional": true, + "dependencies": { + "is-extglob": "^1.0.0" + }, + "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/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "optional": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-plain-object/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-posix-bracket": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz", + "integrity": "sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz", + "integrity": "sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.2.2.tgz", + "integrity": "sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==" + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "optional": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/istanbul-lib-source-maps/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==", + "dev": true + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/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/jest-cli/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/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/jest-cli/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/jest-cli/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/jest-cli/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "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/jest-cli/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-cli/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-beautify": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.15.1.tgz", + "integrity": "sha512-ESjNzSlt/sWE8sciZH8kBF8BPlwXPwhR6pWKAw8bw4Bwj+iZcnKW6ONWUutJ7eObuBZQpiIb8S7OYspWrKt7rA==", + "dependencies": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.4", + "glob": "^10.3.3", + "js-cookie": "^3.0.5", + "nopt": "^7.2.0" + }, + "bin": { + "css-beautify": "js/bin/css-beautify.js", + "html-beautify": "js/bin/html-beautify.js", + "js-beautify": "js/bin/js-beautify.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/js-cookie": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz", + "integrity": "sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==", + "engines": { + "node": ">=14" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.2.tgz", + "integrity": "sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==", + "dependencies": { + "jws": "^3.2.2", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jsonwebtoken/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/jwa": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", + "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", + "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", + "dependencies": { + "jwa": "^1.4.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lru-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/lru-queue/-/lru-queue-0.1.0.tgz", + "integrity": "sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==", + "dependencies": { + "es5-ext": "~0.10.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==", + "optional": true, + "dependencies": { + "object-visit": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/math-random": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz", + "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==", + "optional": 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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memoizee": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/memoizee/-/memoizee-0.4.15.tgz", + "integrity": "sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==", + "dependencies": { + "d": "^1.0.1", + "es5-ext": "^0.10.53", + "es6-weak-map": "^2.0.3", + "event-emitter": "^0.3.5", + "is-promise": "^2.2.2", + "lru-queue": "^0.1.0", + "next-tick": "^1.1.0", + "timers-ext": "^0.1.7" + } + }, + "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==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "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==", + "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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=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==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "optional": true, + "dependencies": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/mixin-deep/node_modules/is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "optional": true, + "dependencies": { + "is-plain-object": "^2.0.4" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.45", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.45.tgz", + "integrity": "sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==", + "dependencies": { + "moment": "^2.29.4" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/nan": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", + "integrity": "sha512-nO1xXxfh/RWNxfd/XPfbIfFk5vgLsAxUR9y5O0cHMJu/AW9U95JLXqthYHjEp+8gQ5p96K9jUp8nbVOxCdRbtw==", + "optional": true + }, + "node_modules/nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nanomatch/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "node_modules/nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dependencies": { + "abbrev": "^2.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "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/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==", + "optional": true, + "dependencies": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-copy/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==", + "optional": true, + "dependencies": { + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-visit/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.omit": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz", + "integrity": "sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==", + "optional": true, + "dependencies": { + "for-own": "^0.1.4", + "is-extendable": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==", + "optional": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object.pick/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/output-file-sync": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/output-file-sync/-/output-file-sync-1.1.2.tgz", + "integrity": "sha512-uQLlclru4xpCi+tfs80l3QF24KL81X57ELNMy7W/dox+JTtxUf1bLyQ8968fFCmSqqbokjW0kn+WBIlO+rSkNg==", + "dependencies": { + "graceful-fs": "^4.1.4", + "mkdirp": "^0.5.1", + "object-assign": "^4.1.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "node_modules/parse-glob": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz", + "integrity": "sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==", + "optional": true, + "dependencies": { + "glob-base": "^0.3.0", + "is-dotfile": "^1.0.0", + "is-extglob": "^1.0.0", + "is-glob": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dependencies": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "engines": { + "node": "14 || >=16.14" + } + }, + "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==" + }, + "node_modules/pg": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-pool": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", + "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/preserve": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz", + "integrity": "sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", + "engines": { + "node": ">= 0.6" + } + }, + "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==" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "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==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/randomatic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz", + "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==", + "optional": true, + "dependencies": { + "is-number": "^4.0.0", + "kind-of": "^6.0.0", + "math-random": "^1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/randomatic/node_modules/is-number": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz", + "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/randomatic/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "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==", + "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/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "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==", + "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/readable-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==" + }, + "node_modules/readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "optional": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/readdirp/node_modules/arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "optional": true, + "dependencies": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/braces/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==", + "optional": true, + "dependencies": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/expand-brackets/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/expand-brackets/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/expand-brackets/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/readdirp/node_modules/extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "optional": true, + "dependencies": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/extglob/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/extglob/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/fill-range/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/is-number/node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "optional": true, + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "optional": true, + "dependencies": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/readdirp/node_modules/to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==", + "optional": true, + "dependencies": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz", + "integrity": "sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==" + }, + "node_modules/regex-cache": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz", + "integrity": "sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==", + "optional": true, + "dependencies": { + "is-equal-shallow": "^0.1.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "optional": true, + "dependencies": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==", + "optional": true + }, + "node_modules/repeat-element": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz", + "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "optional": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==", + "dependencies": { + "is-finite": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "optional": true + }, + "node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "optional": true, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/retry-as-promised": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/retry-as-promised/-/retry-as-promised-7.0.4.tgz", + "integrity": "sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==" + }, + "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" + } + ] + }, + "node_modules/safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==", + "optional": true, + "dependencies": { + "ret": "~0.1.10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "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==", + "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/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/sequelize": { + "version": "6.37.1", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.1.tgz", + "integrity": "sha512-vIKKzQ9dGp2aBOxQRD1FmUYViuQiKXSJ8yah8TsaBx4U3BokJt+Y2A0qz2C4pj08uX59qpWxRqSLEfRmVOEgQw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/sequelize" + } + ], + "dependencies": { + "@types/debug": "^4.1.8", + "@types/validator": "^13.7.17", + "debug": "^4.3.4", + "dottie": "^2.0.6", + "inflection": "^1.13.4", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "moment-timezone": "^0.5.43", + "pg-connection-string": "^2.6.1", + "retry-as-promised": "^7.0.4", + "semver": "^7.5.4", + "sequelize-pool": "^7.1.0", + "toposort-class": "^1.0.1", + "uuid": "^8.3.2", + "validator": "^13.9.0", + "wkx": "^0.5.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependenciesMeta": { + "ibm_db": { + "optional": true + }, + "mariadb": { + "optional": true + }, + "mysql2": { + "optional": true + }, + "oracledb": { + "optional": true + }, + "pg": { + "optional": true + }, + "pg-hstore": { + "optional": true + }, + "snowflake-sdk": { + "optional": true + }, + "sqlite3": { + "optional": true + }, + "tedious": { + "optional": true + } + } + }, + "node_modules/sequelize-cli": { + "version": "6.6.2", + "resolved": "https://registry.npmjs.org/sequelize-cli/-/sequelize-cli-6.6.2.tgz", + "integrity": "sha512-V8Oh+XMz2+uquLZltZES6MVAD+yEnmMfwfn+gpXcDiwE3jyQygLt4xoI0zG8gKt6cRcs84hsKnXAKDQjG/JAgg==", + "dependencies": { + "cli-color": "^2.0.3", + "fs-extra": "^9.1.0", + "js-beautify": "^1.14.5", + "lodash": "^4.17.21", + "resolve": "^1.22.1", + "umzug": "^2.3.0", + "yargs": "^16.2.0" + }, + "bin": { + "sequelize": "lib/sequelize", + "sequelize-cli": "lib/sequelize" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sequelize-pool": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/sequelize-pool/-/sequelize-pool-7.1.0.tgz", + "integrity": "sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/sequelize/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/sequelize/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/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==", + "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-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==", + "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/set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "optional": true, + "dependencies": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/set-value/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "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==", + "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==", + "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==", + "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/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "optional": true, + "dependencies": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "optional": true, + "dependencies": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==", + "optional": true, + "dependencies": { + "is-descriptor": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-node/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "optional": true, + "dependencies": { + "kind-of": "^3.2.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "optional": true, + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/snapdragon/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/snapdragon/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "optional": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "optional": true + }, + "node_modules/split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "optional": true, + "dependencies": { + "extend-shallow": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/spoonacular_api": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spoonacular_api/-/spoonacular_api-1.0.0.tgz", + "integrity": "sha512-Mt/XeoAXMwOIWaH7yYFC470lVL/THHVFH+8LxmHrIhNvNoQDsB6/Aow/L18xbOT8y9b0UNmE7aHn1Zz7D8k24Q==", + "dependencies": { + "babel-cli": "^6.26.0", + "superagent": "3.7.0" + } + }, + "node_modules/spoonacular_api/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/spoonacular_api/node_modules/form-data": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.5.1.tgz", + "integrity": "sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/spoonacular_api/node_modules/formidable": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/formidable/-/formidable-1.2.6.tgz", + "integrity": "sha512-KcpbcpuLNOwrEjnbpMC0gS+X8ciDoZE1kkqzat4a8vrprf+s9pKNQ/QIwWfbfs4ltgmFl3MD177SNTkve3BwGQ==", + "deprecated": "Please upgrade to latest, formidable@v2 or formidable@v3! Check these notes: https://bit.ly/2ZEqIau", + "funding": { + "url": "https://ko-fi.com/tunnckoCore/commissions" + } + }, + "node_modules/spoonacular_api/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==" + }, + "node_modules/spoonacular_api/node_modules/superagent": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-3.7.0.tgz", + "integrity": "sha512-/8trxO6NbLx4YXb7IeeFTSmsQ35pQBiTBsLNvobZx7qBzBeHYvKCyIIhW2gNcWbLzYxPAjdgFbiepd8ypwC0Gw==", + "deprecated": "Please upgrade to v7.0.2+ of superagent. We have fixed numerous issues with streams, form-data, attach(), filesystem errors not bubbling up (ENOENT on attach()), and all tests are now passing. See the releases tab for more information at .", + "dependencies": { + "component-emitter": "^1.2.0", + "cookiejar": "^2.1.0", + "debug": "^3.1.0", + "extend": "^3.0.0", + "form-data": "^2.3.1", + "formidable": "^1.1.1", + "methods": "^1.1.1", + "mime": "^1.4.1", + "qs": "^6.5.1", + "readable-stream": "^2.0.5" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==", + "optional": true, + "dependencies": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==", + "optional": true, + "dependencies": { + "is-descriptor": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-extend/node_modules/is-descriptor": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.7.tgz", + "integrity": "sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==", + "optional": true, + "dependencies": { + "is-accessor-descriptor": "^1.0.1", + "is-data-descriptor": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/string_decoder/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==" + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length/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-length/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/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "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==", + "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==", + "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==" + }, + "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==", + "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==", + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/superagent": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/superagent/-/superagent-8.1.2.tgz", + "integrity": "sha512-6WTxW1EB6yCxV5VFOIPQruWGHqc3yI7hEmZK6h+pyk69Lk/Ut7rLUY6W/ONF2MjBuGjvmMiIpsrVJ2vjrHlslA==", + "dev": true, + "dependencies": { + "component-emitter": "^1.3.0", + "cookiejar": "^2.1.4", + "debug": "^4.3.4", + "fast-safe-stringify": "^2.1.1", + "form-data": "^4.0.0", + "formidable": "^2.1.2", + "methods": "^1.1.2", + "mime": "2.6.0", + "qs": "^6.11.0", + "semver": "^7.3.8" + }, + "engines": { + "node": ">=6.4.0 <13 || >=14" + } + }, + "node_modules/superagent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/superagent/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/superagent/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==", + "dev": true + }, + "node_modules/supertest": { + "version": "6.3.4", + "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.3.4.tgz", + "integrity": "sha512-erY3HFDG0dPnhw4U+udPfrzXa4xhSG+n4rxfRuZWCUvjFWwKl+OxWf/7zk50s84/fAAs7vf5QAb9uRa0cCykxw==", + "dev": true, + "dependencies": { + "methods": "^1.1.2", + "superagent": "^8.1.2" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/timers-ext": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/timers-ext/-/timers-ext-0.1.7.tgz", + "integrity": "sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==", + "dependencies": { + "es5-ext": "~0.10.46", + "next-tick": "1" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==", + "optional": true, + "dependencies": { + "kind-of": "^3.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "optional": true, + "dependencies": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toposort-class": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", + "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==" + }, + "node_modules/trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/umzug": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", + "integrity": "sha512-Z274K+e8goZK8QJxmbRPhl89HPO1K+ORFtm6rySPhFKfKc5GHhqdzD0SGhSWHkzoXasqJuItdhorSvY7/Cgflw==", + "dependencies": { + "bluebird": "^3.7.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "optional": true, + "dependencies": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==", + "optional": true, + "dependencies": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==", + "optional": true, + "dependencies": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-value/node_modules/isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==", + "optional": true, + "dependencies": { + "isarray": "1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/unset-value/node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "optional": true + }, + "node_modules/use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/user-home": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz", + "integrity": "sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==", + "bin": { + "user-home": "cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "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==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8flags": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-2.1.1.tgz", + "integrity": "sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==", + "dependencies": { + "user-home": "^1.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "engines": { + "node": ">= 0.10" + } + }, + "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==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wkx": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/wkx/-/wkx-0.5.0.tgz", + "integrity": "sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==", + "dependencies": { + "@types/node": "*" + } + }, + "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==", + "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==", + "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==", + "engines": { + "node": ">=8" + } + }, + "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==" + }, + "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==", + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/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==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "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==" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/write-file-atomic/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/Server/package.json b/Server/package.json new file mode 100644 index 0000000..1402100 --- /dev/null +++ b/Server/package.json @@ -0,0 +1,28 @@ +{ + "name": "server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "axios": "^1.6.7", + "bcryptjs": "^2.4.3", + "dotenv": "^16.4.5", + "ejs": "^3.1.9", + "express": "^4.18.3", + "jsonwebtoken": "^9.0.2", + "pg": "^8.11.3", + "sequelize": "^6.37.1", + "sequelize-cli": "^6.6.2", + "spoonacular_api": "^1.0.0" + }, + "devDependencies": { + "jest": "^29.7.0", + "supertest": "^6.3.4" + } +} From 7705fd91efddb91ce90146e1357ba769556909e8 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Wed, 13 Mar 2024 18:26:34 +0700 Subject: [PATCH 07/18] chore: create migration and seeding --- ...eal.js => 20240312123552-create-burger.js} | 8 ++-- ...etail.js => 20240312123559-create-cart.js} | 8 ++-- .../20240313081614-add-Done-to-Cart.js | 27 +++++++++++++ .../20240313081632-add-doneDate-to-Cart.js | 28 ++++++++++++++ .../20240313092719-add-veg-to-Burger.js | 27 +++++++++++++ .../20240313092739-add-images-to-Burger.js | 27 +++++++++++++ Server/models/{meal.js => burger.js} | 34 ++++++++++++++--- Server/models/{orderdetail.js => cart.js} | 26 ++++++++----- Server/models/user.js | 2 +- Server/seeders/20240313081437-seed-burgers.js | 38 +++++++++++++++++++ 10 files changed, 202 insertions(+), 23 deletions(-) rename Server/migrations/{20240312123552-create-meal.js => 20240312123552-create-burger.js} (82%) rename Server/migrations/{20240312123559-create-order-detail.js => 20240312123559-create-cart.js} (87%) create mode 100644 Server/migrations/20240313081614-add-Done-to-Cart.js create mode 100644 Server/migrations/20240313081632-add-doneDate-to-Cart.js create mode 100644 Server/migrations/20240313092719-add-veg-to-Burger.js create mode 100644 Server/migrations/20240313092739-add-images-to-Burger.js rename Server/models/{meal.js => burger.js} (64%) rename Server/models/{orderdetail.js => cart.js} (69%) create mode 100644 Server/seeders/20240313081437-seed-burgers.js diff --git a/Server/migrations/20240312123552-create-meal.js b/Server/migrations/20240312123552-create-burger.js similarity index 82% rename from Server/migrations/20240312123552-create-meal.js rename to Server/migrations/20240312123552-create-burger.js index 380ffb2..a5d72c5 100644 --- a/Server/migrations/20240312123552-create-meal.js +++ b/Server/migrations/20240312123552-create-burger.js @@ -2,7 +2,7 @@ /** @type {import('sequelize-cli').Migration} */ module.exports = { async up(queryInterface, Sequelize) { - await queryInterface.createTable('Meals', { + await queryInterface.createTable('Burgers', { id: { allowNull: false, autoIncrement: true, @@ -13,8 +13,8 @@ module.exports = { type: Sequelize.STRING, allowNull: false }, - description: { - type: Sequelize.STRING, + desc: { + type: Sequelize.TEXT, allowNull: false }, price: { @@ -32,6 +32,6 @@ module.exports = { }); }, async down(queryInterface, Sequelize) { - await queryInterface.dropTable('Meals'); + await queryInterface.dropTable('Burgers'); } }; \ No newline at end of file diff --git a/Server/migrations/20240312123559-create-order-detail.js b/Server/migrations/20240312123559-create-cart.js similarity index 87% rename from Server/migrations/20240312123559-create-order-detail.js rename to Server/migrations/20240312123559-create-cart.js index 3a44fd8..d3d5988 100644 --- a/Server/migrations/20240312123559-create-order-detail.js +++ b/Server/migrations/20240312123559-create-cart.js @@ -2,7 +2,7 @@ /** @type {import('sequelize-cli').Migration} */ module.exports = { async up(queryInterface, Sequelize) { - await queryInterface.createTable('OrderDetails', { + await queryInterface.createTable('Carts', { id: { allowNull: false, autoIncrement: true, @@ -25,12 +25,12 @@ module.exports = { onUpdate: "cascade", onDelete: "cascade" }, - MealId: { + BurgerId: { type: Sequelize.INTEGER, allowNull: false, references: { model: { - tableName: "Meals" + tableName: "Burgers" }, key: "id" }, @@ -48,6 +48,6 @@ module.exports = { }); }, async down(queryInterface, Sequelize) { - await queryInterface.dropTable('OrderDetails'); + await queryInterface.dropTable('Carts'); } }; \ No newline at end of file diff --git a/Server/migrations/20240313081614-add-Done-to-Cart.js b/Server/migrations/20240313081614-add-Done-to-Cart.js new file mode 100644 index 0000000..de43df0 --- /dev/null +++ b/Server/migrations/20240313081614-add-Done-to-Cart.js @@ -0,0 +1,27 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + await queryInterface.addColumn("Carts", "Purchased", { + type: Sequelize.DataTypes.BOOLEAN, + allowNull: false + }); + }, + + async down (queryInterface, Sequelize) { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.removeColumn("Carts", "Purchased"); + } +}; diff --git a/Server/migrations/20240313081632-add-doneDate-to-Cart.js b/Server/migrations/20240313081632-add-doneDate-to-Cart.js new file mode 100644 index 0000000..452a5ab --- /dev/null +++ b/Server/migrations/20240313081632-add-doneDate-to-Cart.js @@ -0,0 +1,28 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + await queryInterface.addColumn("Carts", "purchasedAt", { + type: Sequelize.DataTypes.DATE, + allowNull: false, + defaultValue: null + }); + }, + + async down (queryInterface, Sequelize) { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.removeColumn("Carts", "purchasedAt"); + } +}; diff --git a/Server/migrations/20240313092719-add-veg-to-Burger.js b/Server/migrations/20240313092719-add-veg-to-Burger.js new file mode 100644 index 0000000..2dcdada --- /dev/null +++ b/Server/migrations/20240313092719-add-veg-to-Burger.js @@ -0,0 +1,27 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + await queryInterface.addColumn("Burgers", "veg", { + type: Sequelize.DataTypes.BOOLEAN, + allowNull: false + }); + }, + + async down (queryInterface, Sequelize) { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.removeColumn("Burgers", "veg"); + } +}; diff --git a/Server/migrations/20240313092739-add-images-to-Burger.js b/Server/migrations/20240313092739-add-images-to-Burger.js new file mode 100644 index 0000000..386bcc6 --- /dev/null +++ b/Server/migrations/20240313092739-add-images-to-Burger.js @@ -0,0 +1,27 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + await queryInterface.addColumn("Burgers", "images", { + type: Sequelize.DataTypes.STRING, + allowNull: false + }); + }, + + async down (queryInterface, Sequelize) { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.removeColumn("Burgers", "images"); + } +}; diff --git a/Server/models/meal.js b/Server/models/burger.js similarity index 64% rename from Server/models/meal.js rename to Server/models/burger.js index 0e4fceb..989ad26 100644 --- a/Server/models/meal.js +++ b/Server/models/burger.js @@ -3,7 +3,7 @@ const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { - class Meal extends Model { + class Burger extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. @@ -11,10 +11,10 @@ module.exports = (sequelize, DataTypes) => { */ static associate(models) { // define association here - Meal.hasMany(models.OrderDetail, {foreignKey: "MealId"}) + Burger.hasMany(models.Cart, {foreignKey: "BurgerId"}) } } - Meal.init({ + Burger.init({ name: { type: DataTypes.STRING, allowNull: false, @@ -51,9 +51,33 @@ module.exports = (sequelize, DataTypes) => { } } }, + veg: { + type: DataTypes.BOOLEAN, + allowNull: false, + validate: { + notNull: { + msg: "Veg status is required" + }, + notEmpty: { + msg: "Veg status is required" + } + } + }, + images: { + type: DataTypes.STRING, + allowNull: false, + validate: { + notNull: { + msg: "Image is required" + }, + notEmpty: { + msg: "Image is required" + } + } + } }, { sequelize, - modelName: 'Meal', + modelName: 'Burger', }); - return Meal; + return Burger; }; \ No newline at end of file diff --git a/Server/models/orderdetail.js b/Server/models/cart.js similarity index 69% rename from Server/models/orderdetail.js rename to Server/models/cart.js index 8aa3052..00264ba 100644 --- a/Server/models/orderdetail.js +++ b/Server/models/cart.js @@ -3,7 +3,7 @@ const { Model } = require('sequelize'); module.exports = (sequelize, DataTypes) => { - class OrderDetail extends Model { + class Cart extends Model { /** * Helper method for defining associations. * This method is not a part of Sequelize lifecycle. @@ -11,11 +11,11 @@ module.exports = (sequelize, DataTypes) => { */ static associate(models) { // define association here - OrderDetail.belongsTo(models.User, {foreignKey: "UserId"}) - OrderDetail.belongsTo(models.Meal, {foreignKey: "MealId"}) + Cart.belongsTo(models.User, {foreignKey: "UserId"}) + Cart.belongsTo(models.Burger, {foreignKey: "BurgerId"}) } } - OrderDetail.init({ + Cart.init({ quantity: { type: DataTypes.INTEGER, allowNull: false, @@ -40,21 +40,29 @@ module.exports = (sequelize, DataTypes) => { } } }, - MealId: { + BurgerId: { type: DataTypes.INTEGER, allowNull: false, validate: { notNull: { - msg: "Meal is required" + msg: "Burger is required" }, notEmpty: { - msg: "Meal is required" + msg: "Burger is required" } } }, + purchased: { + type: DataTypes.BOOLEAN, + allowNull: false + }, + purchasedAt: { + type: DataTypes.DATE, + allowNull: false + }, }, { sequelize, - modelName: 'OrderDetail', + modelName: 'Cart', }); - return OrderDetail; + return Cart; }; \ No newline at end of file diff --git a/Server/models/user.js b/Server/models/user.js index 9036a83..773d6dd 100644 --- a/Server/models/user.js +++ b/Server/models/user.js @@ -12,7 +12,7 @@ module.exports = (sequelize, DataTypes) => { */ static associate(models) { // define association here - User.hasMany(models.OrderDetail, {foreignKey: "UserId"}) + User.hasMany(models.Cart, {foreignKey: "UserId"}) } } User.init({ diff --git a/Server/seeders/20240313081437-seed-burgers.js b/Server/seeders/20240313081437-seed-burgers.js new file mode 100644 index 0000000..b13f61d --- /dev/null +++ b/Server/seeders/20240313081437-seed-burgers.js @@ -0,0 +1,38 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add seed commands here. + * + * Example: + * await queryInterface.bulkInsert('People', [{ + * name: 'John Doe', + * isBetaMember: false + * }], {}); + */ + const data = require("../data/burgersWithoutIngredients.json") + .map((el) => { + delete(el.id), + el.price = el.price * 15000, + el.createdAt = el.updatedAt = new Date() + return el + }) + await queryInterface.bulkInsert('Burgers', data); + }, + + async down (queryInterface, Sequelize) { + /** + * Add commands to revert seed here. + * + * Example: + * await queryInterface.bulkDelete('People', null, {}); + */ + await queryInterface.bulkDelete('Burgers', null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + } +}; From 0741070cf766e101dad849d80eb418278160e71a Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Wed, 13 Mar 2024 18:27:01 +0700 Subject: [PATCH 08/18] chore: create routes --- Server/app.js | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Server/app.js b/Server/app.js index 6af3a1e..a813982 100644 --- a/Server/app.js +++ b/Server/app.js @@ -7,19 +7,26 @@ const app = express(); const port = 3000; const UserController = require("./controllers/UserController"); -const MealController = require("./controllers/MealController"); +const BurgerController = require("./controllers/BurgerController"); app.use(express.urlencoded({extended: true})); app.use(express.json()); app.get("/", (req, res) => { - res.json({message: "Welcome to the TastyBites API"}) + res.json({message: "Welcome to the Burger Bites API"}) }) app.post("/register", UserController.registerUser); app.post("/login", UserController.loginUser); -app.get("/meals", MealController.getMeals); +app.get("/burgers", BurgerController.getBurgers); +app.get("/burgers/:burgerId", BurgerController.getBurgerById); +app.post("/burgers/add", BurgerController.addBurger); +app.put("/burgers/:burgerId", BurgerController.updateBurgerById); +app.delete("/burgers/:burgerId", BurgerController.deleteBurgerById); +app.patch("/burgers/:burgerId/image", BurgerController.updateImageById); +app.get("/burgers/mycart", BurgerController.getMyBurger); +app.post("/burgers/:burgerId/mycart", BurgerController.addToCart); app.listen(port, () => { console.log(`Listening on port ${port}`) From 94d180a3664783e9cc62271c145b65f157b6607a Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Wed, 13 Mar 2024 18:27:17 +0700 Subject: [PATCH 09/18] create CRUD --- Server/controllers/BurgerController.js | 178 +++++++++++++++++++++++++ Server/controllers/MealController.js | 25 ---- 2 files changed, 178 insertions(+), 25 deletions(-) create mode 100644 Server/controllers/BurgerController.js delete mode 100644 Server/controllers/MealController.js diff --git a/Server/controllers/BurgerController.js b/Server/controllers/BurgerController.js new file mode 100644 index 0000000..7147128 --- /dev/null +++ b/Server/controllers/BurgerController.js @@ -0,0 +1,178 @@ +const { Burger } = require("../models"); +const { apiKey } = require("../helpers/apiKey"); +const burgersHubEndPoint = "https://burgers-hub.p.rapidapi.com"; +const axios = require("axios"); + +module.exports = class BurgerController { + static async getBurgers(req, res) { + + const options = { + method: 'GET', + url: `${burgersHubEndPoint}/burgers`, + headers: { + 'X-RapidAPI-Key': `${apiKey}`, + 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + } + }; + + try { + const response = await axios.request(options); + console.log(response.data); + res.status(200).json(response.data) + } catch (error) { + console.error(error); + return res.status(500).json({ message: "Internal Server Error" }); + } + } + + static async getBurgerById(req, res) { + + const {burgerId} = req.params; + + const options = { + method: 'GET', + url: `${burgersHubEndPoint}/burgers/${burgerId}`, + headers: { + 'X-RapidAPI-Key': `${apiKey}`, + 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + } + }; + + try { + const response = await axios.request(options); + console.log(response.data); + res.status(200).json(response.data) + } catch (error) { + console.error(error); + return res.status(500).json({ message: "Internal Server Error" }); + } + } + + static async getBurgerByName(req, res) { + + const {name} = req.query; + + const options = { + method: 'GET', + url: `${burgersHubEndPoint}/find-burger/`, + params: { + searchQuery: "search", + search: name + }, + headers: { + 'X-RapidAPI-Key': `${apiKey}`, + 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + } + }; + + try { + const response = await axios.request(options); + console.log(response.data); + res.status(200).json(response.data) + } catch (error) { + console.error(error); + return res.status(500).json({ message: "Internal Server Error" }); + } + } + + static async getMyBurger(req, res) { + + try { + const myBurgerData = await Cart.findAll({where: {UserId: req.user.id}}); + return res.status(200).json(myBurgerData); + + } catch (error) { + console.log(error); + next(error) + } + } + + static async addBurger(req, res, next) { + try { + const {name, desc, price, veg, images} = req.body; + const burgerData = await Grocery.create({name, desc, price, veg, images}); + return res.status(201).json({message: "Burger successfully added", burgerData}); + + } catch (error) { + console.log(error); + next(error) + } +} + +static async updateBurgerById(req, res, next) { + try { + const {burgerId} = req.params; + const burgerData = await Burger.findByPk(burgerId); + if(!burgerData) { + throw {name: "Not found"} + } + const {name, desc, price, veg, images} = req.body; + await Grocery.update({name, desc, price, veg, images}, {where: {id: req.params.id}}); + return res.status(200).json({message: "Burger has been updated"}); + + } catch (error) { + console.log(error); + next(error) + } +} + +static async deleteBurgerById(req, res, next) { + try { + const {burgerId} = req.params; + const burgerData = await Burger.findByPk(burgerId); + if(!burgerData) { + throw {name: "Not found"} + } + await Burger.destroy({where: {id: req.params.id}}); + return res.status(200).json({message: "Burger has been deleted"}); + + } catch (error) { + console.log(error); + next(error) + } +} + +static async updateImageById(req, res, next) { + try { + + if(!req.file) throw { name: "CustomFileError" } + + const cloudinary = require("cloudinary").v2; + cloudinary.config({ + cloud_name: process.env.cloudinary_cloud_name, + api_key: process.env.cloudinary_api_key, + api_secret: process.env.cloudinary_api_secret + }); + const dataURI = `data:${req.file.mimetype};base64,${Buffer.from(req.file.buffer).toString("base64")}` + const result = await cloudinary.uploader.upload(dataURI, { public_id: "test" }) + + const { burgerId } = req.params; + const burger = await Burger.findByPk(burgerId); + + if (!burger) throw { name: "CustomBurgerError" }; + + await burger.update({ image: result.secure_url }); + + res.json({ message: "Image successfully updated" }) + } catch (error) { + next(error); + } +} + +static async addToCart(req, res, next) { + try { + const {burgerId} = req.params; + const burgerData = await Burger.findByPk(burgerId); + if(!burgerData) { + throw {name: "Not found"} + } + const {quantity} = req.body; + await Cart.create({quantity, BurgerId: burgerId, UserId: req.user.id}); + return res.status(201).json({message: "Burger successfully added to cart", burgerData}); + + } catch (error) { + console.log(error); + next(error) + } +} +} \ No newline at end of file diff --git a/Server/controllers/MealController.js b/Server/controllers/MealController.js deleted file mode 100644 index a4f6ebb..0000000 --- a/Server/controllers/MealController.js +++ /dev/null @@ -1,25 +0,0 @@ -const {Meal} = require("../models"); -const {apiKey} = require("../helpers/jwt"); -const spoonacularEndPoint = "https://api.spoonacular.com"; -const axios = require("axios"); - -module.exports = class MealController { - static async getMeals(req, res) { - try { - const {query} = req.query; - if(!query) { - throw {name: "Not found"} - } - const url = `${spoonacularEndPoint}/recipes/complexSearch?apiKey=${apiKey}&query=${query}`; - const response = await axios.get(url) - console.log(response.data); - res.status(200).json(response.data.results) - } catch (error) { - console.log(error); - if(error.name === "Not found") { - return res.status(404).json({message: "Data not found"}) - } - return res.status(500).json({message: "Internal Server Error"}); - } - } -} \ No newline at end of file From d236c4e2dc3ec410cb1e6415409cdbc8b6e50ac7 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Wed, 13 Mar 2024 18:27:49 +0700 Subject: [PATCH 10/18] chore: create authentication and authorization --- Server/.env | 5 +- Server/.env.example | 2 +- Server/burgers.js | 17 + Server/data/burgers.json | 637 +++++++++++++++++++++ Server/data/burgersWithoutIngredients.json | 122 ++++ Server/helpers/apiKey.js | 5 + Server/helpers/jwt.js | 2 - Server/middlewares/authentication.js | 36 ++ Server/middlewares/authorization.js | 22 + Server/package-lock.json | 86 ++- Server/package.json | 2 + 11 files changed, 930 insertions(+), 6 deletions(-) create mode 100644 Server/burgers.js create mode 100644 Server/data/burgers.json create mode 100644 Server/data/burgersWithoutIngredients.json create mode 100644 Server/helpers/apiKey.js create mode 100644 Server/middlewares/authentication.js create mode 100644 Server/middlewares/authorization.js diff --git a/Server/.env b/Server/.env index a66fdf3..e7e5eef 100644 --- a/Server/.env +++ b/Server/.env @@ -1,2 +1,5 @@ JWT_SECRET=secret -SPOONACULAR_API_KEY=79065275aa294d75920ec3658901ac12 \ No newline at end of file +BURGERS_HUB_API_KEY=e24fa33343msh86fdf1e6fb9528cp11d37fjsnc7dc32fb9a00 +cloudinary_cloud_name=dyu4z0lrb +cloudinary_api_key=923716154539216 +cloudinary_api_secret=ZYr_5pcxS3rqAbQM4w8u73wnmL8 \ No newline at end of file diff --git a/Server/.env.example b/Server/.env.example index 993c269..be8506d 100644 --- a/Server/.env.example +++ b/Server/.env.example @@ -1,2 +1,2 @@ JWT_SECRET= -SPOONACULAR_API_KEY= \ No newline at end of file +BURGERS_HUB_API_KEY= \ No newline at end of file diff --git a/Server/burgers.js b/Server/burgers.js new file mode 100644 index 0000000..7ac0100 --- /dev/null +++ b/Server/burgers.js @@ -0,0 +1,17 @@ +const fs = require("fs") + +const burgerData = require("./data/burgers.json") + +const burgerWithoutIngredients = burgerData.map((item) => { + const {ingredients, images, ...rest} = item + const filteredImages = images.map(({sm, ...image}) => image).filter((image) => Object.keys(image).length !== 0) + return {...rest, images:filteredImages} +}) + +fs.writeFile("./data/burgersWithoutIngredients.json", JSON.stringify(burgerWithoutIngredients, null, 2), (error) => { + if(error) { + console.error("Error writing file", error) + return; + } + console.log("File has been created") +}) \ No newline at end of file diff --git a/Server/data/burgers.json b/Server/data/burgers.json new file mode 100644 index 0000000..533652a --- /dev/null +++ b/Server/data/burgers.json @@ -0,0 +1,637 @@ +[ + { + "id": 1, + "name": "Bacon,Egg & Cheese Biscuit", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + } + ], + "desc": "The McDonald's Bacon, Egg & Cheese Biscuit breakfast sandwich features a warm, buttermilk biscuit brushed with real butter, thick cut Applewood smoked bacon, a fluffy folded egg, and a slice of melty American cheese. There are 460 calories in a Bacon, Egg & Cheese Biscuit at McDonald's. ", + "ingredients": [ + { + "id": 1, + "name": "Biscuit", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/biscuit" + }, + { + "id": 2, + "name": "Folded Egg", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/folded_egg" + }, + { + "id": 3, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 4, + "name": "Thick Cut Applewood Smoked Bacon", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/applewood_bacon" + }, + { + "id": 5, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + }, + { + "id": 6, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 3.23, + "veg": false + }, + { + "id": 2, + "name": "Egg McMuffin", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Egg-McMuffin-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Egg-McMuffin-1:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "Our Egg McMuffin® breakfast sandwich is an excellent source of protein and oh so delicious. We place a freshly cracked Grade A egg on a toasted English Muffin topped with real butter and add lean Canadian bacon and melty American cheese. There are 310 calories in an Egg McMuffin®.", + "ingredients": [ + { + "id": 1, + "name": "English Muffin", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/english_muffin" + }, + { + "id": 2, + "name": "Egg", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/round_egg" + }, + { + "id": 3, + "name": "Canadian Bacon", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/canadian_bacon" + }, + { + "id": 4, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 5, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + }, + { + "id": 6, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 5, + "veg": false + }, + { + "id": 3, + "name": "Sausage McMuffin", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin:product-header-mobile?wid=768&hei=441&dpr=off" + } + ], + "desc": "McDonald's Sausage McMuffin® recipe features a warm, freshly toasted English muffin, topped with a savory hot sausage patty and a slice of melty American cheese. There are 400 calories in a Sausage McMuffin® at McDonald's. ", + "ingredients": [ + { + "id": 1, + "name": "English Muffin", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/english_muffin" + }, + { + "id": 2, + "name": "Sausage Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/sausage" + }, + { + "id": 3, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + }, + { + "id": 4, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 12, + "veg": false + }, + { + "id": 4, + "name": "Sausage McMuffin® with Egg", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin-with-Egg:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin-with-Egg:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "McDonald’s Sausage McMuffin® with Egg features a savory hot sausage, a slice of melty American cheese, and a delicious freshly cracked egg all on a freshly toasted English muffin. There are 480 calories in Sausage McMuffin® with Egg at McDonald's.", + "ingredients": [ + { + "id": 1, + "name": "English Muffin", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/english_muffin" + }, + { + "id": 2, + "name": "Sausage Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/sausage" + }, + { + "id": 3, + "name": "Egg", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/round_egg" + }, + { + "id": 4, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 5, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + }, + { + "id": 6, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 5.6, + "veg": false + }, + { + "id": 5, + "name": "Sausage Biscuit", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-Regular-Size-Biscuit-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-Regular-Size-Biscuit-1:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "McDonald’s Sausage Biscuit is the perfect sausage breakfast sandwich, made with sizzling hot sausage on a warm buttermilk biscuit that’s topped with real butter and baked to perfection. There are 460 calories in a McDonald's Sausage Biscuit.", + "ingredients": [ + { + "id": 1, + "name": "Biscuit", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/biscuit" + }, + { + "id": 2, + "name": "Sausage Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/sausage" + }, + { + "id": 5, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + } + ], + "price": 12, + "veg": false + }, + { + "id": 6, + "name": "Sausage Biscuit with Egg", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-with-Egg-Regular-Size-Biscuit-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-with-Egg-Regular-Size-Biscuit-1:product-header-mobile?wid=768&hei=441&dpr=off" + } + ], + "desc": "McDonald's Sausage and Egg Biscuit features a warm, flaky biscuit brushed with real butter, a sizzling hot pork sausage patty, and a classic McDonald's folded egg. It's the perfect savory breakfast sandwich when you're looking for a quick, easy breakfast.", + "ingredients": [ + { + "id": 1, + "name": "Biscuit", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/biscuit" + }, + { + "id": 2, + "name": "Folded Egg", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/folded_egg" + }, + { + "id": 3, + "name": "Sausage Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/sausage" + }, + { + "id": 4, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + }, + { + "id": 5, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 4.6, + "veg": false + }, + { + "id": 7, + "name": "Bacon, Egg & Cheese McGriddles®", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Egg-Cheese-McGriddles-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Egg-Cheese-McGriddles:product-header-mobile?wid=768&hei=441&dpr=off" + } + ], + "desc": "Sausage, Egg & Cheese McGriddles® feature soft, warm griddle cakes—with the sweet taste of maple—that hold a fluffy folded egg, savory sausage, and melty American cheese. McGriddles® cakes have no artificial preservatives or flavors and no colors from artificial sources. There are 550 calories in a Sausage, Egg, and Cheese McGriddles®.", + "ingredients": [ + { + "id": 1, + "name": "Griddle Cakes", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/McGriddles_top" + }, + { + "id": 2, + "name": "Sausage Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/sausage" + }, + { + "id": 3, + "name": "Folded Egg", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/folded_egg" + }, + { + "id": 4, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 5, + "name": "Clarified Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/clarified_butter" + } + ], + "price": 12, + "veg": false + }, + { + "id": 8, + "name": "Crispy Chicken Sandwich", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-crispy-chicken-sandwich:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "McDonald's Crispy Chicken Sandwich is a southern style fried chicken sandwich that's crispy, juicy and tender perfection. It’s topped with crinkle-cut pickles and served on a toasted, buttered potato roll. The Crispy Chicken sandwich has 470 calories.", + "ingredients": [ + { + "id": 1, + "name": "Crispy Chicken Fillet", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crispy-chicken-fillet" + }, + { + "id": 2, + "name": "Potato Roll", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-potato-roll" + }, + { + "id": 3, + "name": "Crinkle Cut Pickle", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crinkle-cut-pickle" + }, + { + "id": 4, + "name": "Salted Butter", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/butter_salted" + } + ], + "price": 8, + "veg": false + }, + { + "id": 9, + "name": "Deluxe Crispy Chicken Sandwich", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-deluxe-crispy-chicken-sandwich:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-deluxe-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "Get a little extra with toppings. Go deluxe with shredded lettuce, Roma tomatoes and mayo to take crispy, juicy and tender to the next level. The Deluxe Crispy Chicken sandwich has 530 calories.", + "ingredients": [ + { + "id": 1, + "name": "Crispy Chicken Fillet", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crispy-chicken-fillet" + }, + { + "id": 2, + "name": "Potato Roll", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-potato-roll" + }, + { + "id": 3, + "name": "Roma Tomato", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/Ingredients_Tomato_180x180" + }, + { + "id": 4, + "name": "Shredded Lettuce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/shredded_lettuce" + }, + { + "id": 5, + "name": "Mayonnaise", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/mayonnaise" + } + ], + "price": 10, + "veg": false + }, + { + "id": 10, + "name": "Spicy Crispy Chicken Sandwich", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-crispy-chicken-sandwich:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-crispy-chicken-sandwich:product-header-mobile?product-header-desktop&wid=768&hei=443&dpr=off" + } + ], + "desc": "With our Spicy Pepper Sauce topping the southern style fried chicken fillet on a toasted potato roll, this sandwich was made for those who like it crispy, juicy, tender and hot. The Spicy Crispy Chicken sandwich has 530 calories.", + "ingredients": [ + { + "id": 1, + "name": "Crispy Chicken Fillet", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crispy-chicken-fillet" + }, + { + "id": 2, + "name": "Potato Roll", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-potato-roll" + }, + { + "id": 3, + "name": "Spicy Pepper Sauce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-original-spicy-sauce" + }, + { + "id": 4, + "name": "Crinkle Cut Pickle", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crinkle-cut-pickle" + } + ], + "price": 9.6, + "veg": false + }, + { + "id": 11, + "name": "Spicy Deluxe Crispy Chicken Sandwich", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-deluxe-crispy-chicken-sandwich:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-deluxe-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=441&dpr=off" + } + ], + "desc": "The Spicy Deluxe Crispy Chicken is big on everything, including heat. Our southern-style fried chicken fillet on a potato roll, topped with shredded lettuce, Roma tomatoes and Spicy Pepper Sauce kicks crispy, juicy and tender up to the highest level. The Spicy Deluxe Crispy Chicken sandwich has 540 calories.", + "ingredients": [ + { + "id": 1, + "name": "Crispy Chicken Fillet", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-crispy-chicken-fillet" + }, + { + "id": 2, + "name": "Potato Roll", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-potato-roll" + }, + { + "id": 3, + "name": "Roma Tomato", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/Ingredients_Tomato_180x180" + }, + { + "id": 4, + "name": "Spicy Pepper Sauce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/t-original-spicy-sauce" + }, + { + "id": 5, + "name": "Shredded Lettuce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/shredded_lettuce" + } + ], + "price": 15, + "veg": false + }, + { + "id": 12, + "name": "Filet-O-Fish®", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Filet-O-Fish-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Filet-O-Fish-1:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "Dive into our wild-caught Filet-O-Fish®! This McDonald’s fish sandwich has fish sourced from sustainably managed fisheries, on melty American cheese and topped with creamy McDonald’s tartar sauce, all served on a soft, steamed bun. There are 390 calories in McDonald's Filet-O-Fish.", + "ingredients": [ + { + "id": 1, + "name": "Fish Filet Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/fish" + }, + { + "id": 2, + "name": "Regular Bun", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/regular_bun" + }, + { + "id": 3, + "name": "Tartar Sauce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/default_logo" + }, + { + "id": 4, + "name": "Pasteurized Process American Cheese Half Slice", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/american_cheese_half" + }, + { + "id": 5, + "name": "Shredded Lettuce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/shredded_lettuce" + } + ], + "price": 7, + "veg": false + }, + { + "id": 13, + "name": "McChicken®", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-McChicken-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-McChicken-1:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "It’s a classic for a reason. Savor the satisfying crunch of our juicy chicken patty, topped with shredded lettuce and just the right amount of creamy mayonnaise, all served on a perfectly toasted bun.* The McChicken® has 400 calories.", + "ingredients": [ + { + "id": 1, + "name": "McChicken Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/mcchicken" + }, + { + "id": 2, + "name": "Regular Bun", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/regular_bun" + }, + { + "id": 3, + "name": "Shredded Lettuce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/shredded_lettuce" + }, + { + "id": 4, + "name": "Mayonnaisee", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/mayonnaisef" + } + ], + "price": 8, + "veg": false + }, + { + "id": 14, + "name": "Big Mac®", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Big-Mac-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Big-Mac-1:product-header-mobile?wid=768&hei=441&dpr=off" + } + ], + "desc": "Ever wondered what's on a Big Mac®? The McDonald's Big Mac® is a 100% beef burger with a taste like no other. The mouthwatering perfection starts with two 100% pure all beef patties and Big Mac® sauce sandwiched between a sesame seed bun. It’s topped off with pickles, crisp shredded lettuce, finely chopped onion, and a slice of American cheese. It contains no artificial flavors, preservatives, or added colors from artificial sources. Our pickle contains an artificial preservative, so skip it if you like. There are 550 calories in a Big Mac® from McDonald's. Pair it with any of our beverages or grab a Big Mac® Combo Meal with our World Famous Fries® and Coca-Cola® or any of your favorite fountain drinks.", + "ingredients": [ + { + "id": 1, + "name": "Big Mac Bun", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/big_mac_bun" + }, + { + "id": 2, + "name": "100% Beef Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/10_1_patty" + }, + { + "id": 3, + "name": "Shredded Lettuce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/shredded_lettuce" + }, + { + "id": 4, + "name": "Big Mac Sauce", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/big_mac_sauce" + }, + { + "id": 5, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 6, + "name": "Pickle Slices", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/pickles" + }, + { + "id": 7, + "name": "Onions", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/reconstituted_onions" + } + ], + "price": 10.45, + "veg": false + }, + { + "id": 15, + "name": "Quarter Pounder®* with Cheese", + "images": [ + { + "sm": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Quarter-Pounder-with-Cheese-1:1-4-product-tile-desktop" + }, + { + "lg": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Quarter-Pounder-with-Cheese-1:product-header-mobile?wid=768&hei=443&dpr=off" + } + ], + "desc": "Each Quarter Pounder® with Cheese burger features a ¼ lb.* of 100% fresh beef that’s hot, deliciously juicy and cooked when you order. It’s seasoned with just a pinch of salt and pepper, sizzled on a flat iron grill, then topped with slivered onions, tangy pickles and two slices of melty American cheese on a sesame seed bun. Our QPC® contains no artificial flavors, preservatives or added colors from artificial sources. **Our pickle contains an artificial preservative, so skip it if you like. A Quarter Pounder® with Cheese has 520 Calories. ", + "ingredients": [ + { + "id": 1, + "name": "Quarter Pound 100% Beef Patty", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/default_logo" + }, + { + "id": 2, + "name": "Quarter Pound Bun", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/quarter_pounder_bun" + }, + { + "id": 3, + "name": "Pasteurized Process American Cheese", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ingredient_american_cheese_180x180" + }, + { + "id": 4, + "name": "Ketchup", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/ketchup" + }, + { + "id": 5, + "name": "Pickle Slices", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/pickles" + }, + { + "id": 6, + "name": "Onions", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/slivered_onions" + }, + { + "id": 7, + "name": "Mustard", + "img": "https://s7d1.scene7.com/is/image/mcdonalds/mustard" + } + ], + "price": 6, + "veg": false + } +] \ No newline at end of file diff --git a/Server/data/burgersWithoutIngredients.json b/Server/data/burgersWithoutIngredients.json new file mode 100644 index 0000000..dfc13cf --- /dev/null +++ b/Server/data/burgersWithoutIngredients.json @@ -0,0 +1,122 @@ +[ + { + "id": 1, + "name": "Bacon,Egg & Cheese Biscuit", + "desc": "The McDonald's Bacon, Egg & Cheese Biscuit breakfast sandwich features a warm, buttermilk biscuit brushed with real butter, thick cut Applewood smoked bacon, a fluffy folded egg, and a slice of melty American cheese. There are 460 calories in a Bacon, Egg & Cheese Biscuit at McDonald's. ", + "price": 3.23, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + }, + { + "id": 2, + "name": "Egg McMuffin", + "desc": "Our Egg McMuffin® breakfast sandwich is an excellent source of protein and oh so delicious. We place a freshly cracked Grade A egg on a toasted English Muffin topped with real butter and add lean Canadian bacon and melty American cheese. There are 310 calories in an Egg McMuffin®.", + "price": 5, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Egg-McMuffin-1:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 3, + "name": "Sausage McMuffin", + "desc": "McDonald's Sausage McMuffin® recipe features a warm, freshly toasted English muffin, topped with a savory hot sausage patty and a slice of melty American cheese. There are 400 calories in a Sausage McMuffin® at McDonald's. ", + "price": 12, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin:product-header-mobile?wid=768&hei=441&dpr=off" + }, + { + "id": 4, + "name": "Sausage McMuffin® with Egg", + "desc": "McDonald’s Sausage McMuffin® with Egg features a savory hot sausage, a slice of melty American cheese, and a delicious freshly cracked egg all on a freshly toasted English muffin. There are 480 calories in Sausage McMuffin® with Egg at McDonald's.", + "price": 5.6, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-McMuffin-with-Egg:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 5, + "name": "Sausage Biscuit", + "desc": "McDonald’s Sausage Biscuit is the perfect sausage breakfast sandwich, made with sizzling hot sausage on a warm buttermilk biscuit that’s topped with real butter and baked to perfection. There are 460 calories in a McDonald's Sausage Biscuit.", + "price": 12, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-Regular-Size-Biscuit-1:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 6, + "name": "Sausage Biscuit with Egg", + "desc": "McDonald's Sausage and Egg Biscuit features a warm, flaky biscuit brushed with real butter, a sizzling hot pork sausage patty, and a classic McDonald's folded egg. It's the perfect savory breakfast sandwich when you're looking for a quick, easy breakfast.", + "price": 4.6, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Biscuit-with-Egg-Regular-Size-Biscuit-1:product-header-mobile?wid=768&hei=441&dpr=off" + }, + { + "id": 7, + "name": "Bacon, Egg & Cheese McGriddles®", + "desc": "Sausage, Egg & Cheese McGriddles® feature soft, warm griddle cakes—with the sweet taste of maple—that hold a fluffy folded egg, savory sausage, and melty American cheese. McGriddles® cakes have no artificial preservatives or flavors and no colors from artificial sources. There are 550 calories in a Sausage, Egg, and Cheese McGriddles®.", + "price": 12, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Sausage-Egg-Cheese-McGriddles:product-header-mobile?wid=768&hei=441&dpr=off" + }, + { + "id": 8, + "name": "Crispy Chicken Sandwich", + "desc": "McDonald's Crispy Chicken Sandwich is a southern style fried chicken sandwich that's crispy, juicy and tender perfection. It’s topped with crinkle-cut pickles and served on a toasted, buttered potato roll. The Crispy Chicken sandwich has 470 calories.", + "price": 8, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 9, + "name": "Deluxe Crispy Chicken Sandwich", + "desc": "Get a little extra with toppings. Go deluxe with shredded lettuce, Roma tomatoes and mayo to take crispy, juicy and tender to the next level. The Deluxe Crispy Chicken sandwich has 530 calories.", + "price": 10, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-deluxe-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 10, + "name": "Spicy Crispy Chicken Sandwich", + "desc": "With our Spicy Pepper Sauce topping the southern style fried chicken fillet on a toasted potato roll, this sandwich was made for those who like it crispy, juicy, tender and hot. The Spicy Crispy Chicken sandwich has 530 calories.", + "price": 9.6, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-crispy-chicken-sandwich:product-header-mobile?product-header-desktop&wid=768&hei=443&dpr=off" + }, + { + "id": 11, + "name": "Spicy Deluxe Crispy Chicken Sandwich", + "desc": "The Spicy Deluxe Crispy Chicken is big on everything, including heat. Our southern-style fried chicken fillet on a potato roll, topped with shredded lettuce, Roma tomatoes and Spicy Pepper Sauce kicks crispy, juicy and tender up to the highest level. The Spicy Deluxe Crispy Chicken sandwich has 540 calories.", + "price": 15, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-spicy-deluxe-crispy-chicken-sandwich:product-header-mobile?wid=768&hei=441&dpr=off" + }, + { + "id": 12, + "name": "Filet-O-Fish®", + "desc": "Dive into our wild-caught Filet-O-Fish®! This McDonald’s fish sandwich has fish sourced from sustainably managed fisheries, on melty American cheese and topped with creamy McDonald’s tartar sauce, all served on a soft, steamed bun. There are 390 calories in McDonald's Filet-O-Fish.", + "price": 7, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Filet-O-Fish-1:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 13, + "name": "McChicken®", + "desc": "It’s a classic for a reason. Savor the satisfying crunch of our juicy chicken patty, topped with shredded lettuce and just the right amount of creamy mayonnaise, all served on a perfectly toasted bun.* The McChicken® has 400 calories.", + "price": 8, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-McChicken-1:product-header-mobile?wid=768&hei=443&dpr=off" + }, + { + "id": 14, + "name": "Big Mac®", + "desc": "Ever wondered what's on a Big Mac®? The McDonald's Big Mac® is a 100% beef burger with a taste like no other. The mouthwatering perfection starts with two 100% pure all beef patties and Big Mac® sauce sandwiched between a sesame seed bun. It’s topped off with pickles, crisp shredded lettuce, finely chopped onion, and a slice of American cheese. It contains no artificial flavors, preservatives, or added colors from artificial sources. Our pickle contains an artificial preservative, so skip it if you like. There are 550 calories in a Big Mac® from McDonald's. Pair it with any of our beverages or grab a Big Mac® Combo Meal with our World Famous Fries® and Coca-Cola® or any of your favorite fountain drinks.", + "price": 10.45, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Big-Mac-1:product-header-mobile?wid=768&hei=441&dpr=off" + }, + { + "id": 15, + "name": "Quarter Pounder®* with Cheese", + "desc": "Each Quarter Pounder® with Cheese burger features a ¼ lb.* of 100% fresh beef that’s hot, deliciously juicy and cooked when you order. It’s seasoned with just a pinch of salt and pepper, sizzled on a flat iron grill, then topped with slivered onions, tangy pickles and two slices of melty American cheese on a sesame seed bun. Our QPC® contains no artificial flavors, preservatives or added colors from artificial sources. **Our pickle contains an artificial preservative, so skip it if you like. A Quarter Pounder® with Cheese has 520 Calories. ", + "price": 6, + "veg": false, + "images": "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Quarter-Pounder-with-Cheese-1:product-header-mobile?wid=768&hei=443&dpr=off" + } +] \ No newline at end of file diff --git a/Server/helpers/apiKey.js b/Server/helpers/apiKey.js new file mode 100644 index 0000000..05a65bf --- /dev/null +++ b/Server/helpers/apiKey.js @@ -0,0 +1,5 @@ +const apiKey = process.env.BURGERS_HUB_API_KEY; + +module.exports = { + apiKey +} \ No newline at end of file diff --git a/Server/helpers/jwt.js b/Server/helpers/jwt.js index 8d0976d..5be55b5 100644 --- a/Server/helpers/jwt.js +++ b/Server/helpers/jwt.js @@ -1,7 +1,6 @@ const jsonwebtoken = require("jsonwebtoken") const secret = process.env.JWT_SECRET; -const apiKey = process.env.SPOONACULAR_API_KEY; function signToken(payload) { return jsonwebtoken.sign(payload, secret) @@ -14,5 +13,4 @@ function verifyToken(token) { module.exports = { signToken, verifyToken, - apiKey } \ No newline at end of file diff --git a/Server/middlewares/authentication.js b/Server/middlewares/authentication.js new file mode 100644 index 0000000..fe57ce2 --- /dev/null +++ b/Server/middlewares/authentication.js @@ -0,0 +1,36 @@ +const { User } = require("../models"); +const { verifyToken } = require("../helpers/jwt"); + +async function authentication(req, res, next) { + try { + const { authorization } = req.headers; + if (!authorization) { + throw { name: "Unauthenticated" } + } + const [type, token] = authorization.split(" "); + if (type !== "Bearer") { + throw { name: "Unauthenticated" } + } + const payload = verifyToken(token); + const user = await User.findByPk(payload.id) + if (!user) { + throw { name: "Unauthenticated" } + } + req.user = { + id: user.id, + email: user.email + } + + // next(); + + } catch (error) { + console.log(error); + if(error.name === "Unauthenticated" || error.name === "JsonWebTokenError") { + return res.status(401).json({message: "Invalid token"}); + } + return res.status(500).json({ message: "Internal server error" }) + // next(error) + } +} + +module.exports = authentication; \ No newline at end of file diff --git a/Server/middlewares/authorization.js b/Server/middlewares/authorization.js new file mode 100644 index 0000000..3cdecf9 --- /dev/null +++ b/Server/middlewares/authorization.js @@ -0,0 +1,22 @@ +const { Burger } = require("../models"); + +async function authorization(req, res, next) { + try { + const {burgerId} = req.params; + const burgerData = await Burger.findByPk(burgerId); + if(!burgerData) { + throw {name: "Not found"} + } + if(burgerData.UserId !== req.user.id) { + throw {name: "Unauthorized"} + } + + next(); + + } catch (error) { + console.log(error); + next(error) + } +} + +module.exports = authorization; \ No newline at end of file diff --git a/Server/package-lock.json b/Server/package-lock.json index 3b2a1ea..b3c1975 100644 --- a/Server/package-lock.json +++ b/Server/package-lock.json @@ -11,10 +11,12 @@ "dependencies": { "axios": "^1.6.7", "bcryptjs": "^2.4.3", + "cloudinary": "^2.0.3", "dotenv": "^16.4.5", "ejs": "^3.1.9", "express": "^4.18.3", "jsonwebtoken": "^9.0.2", + "multer": "^1.4.5-lts.1", "pg": "^8.11.3", "sequelize": "^6.37.1", "sequelize-cli": "^6.6.2", @@ -1400,6 +1402,11 @@ "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==" + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", @@ -2169,8 +2176,7 @@ "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==", - "dev": true + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-writer": { "version": "2.0.0", @@ -2180,6 +2186,17 @@ "node": ">=4" } }, + "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", @@ -2543,6 +2560,18 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/cloudinary": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/cloudinary/-/cloudinary-2.0.3.tgz", + "integrity": "sha512-2JPxAUuV4iHwiW4ATSOZvii6+BhhKI9+9KscgUkxJPKa6V6wOnZJHlYyovBGrrIbIgEdmGSZgqEsLfD0wWBhBg==", + "dependencies": { + "lodash": "^4.17.21", + "q": "^1.5.1" + }, + "engines": { + "node": ">=9" + } + }, "node_modules/co": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", @@ -2620,6 +2649,20 @@ "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" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, "node_modules/config-chain": { "version": "1.1.13", "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", @@ -5585,6 +5628,23 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "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==", + "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/nan": { "version": "2.19.0", "resolved": "https://registry.npmjs.org/nan/-/nan-2.19.0.tgz", @@ -6305,6 +6365,15 @@ } ] }, + "node_modules/q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" + } + }, "node_modules/qs": { "version": "6.11.0", "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", @@ -7418,6 +7487,14 @@ "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.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", @@ -7830,6 +7907,11 @@ "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==" + }, "node_modules/umzug": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/umzug/-/umzug-2.3.0.tgz", diff --git a/Server/package.json b/Server/package.json index 1402100..8ca1215 100644 --- a/Server/package.json +++ b/Server/package.json @@ -12,10 +12,12 @@ "dependencies": { "axios": "^1.6.7", "bcryptjs": "^2.4.3", + "cloudinary": "^2.0.3", "dotenv": "^16.4.5", "ejs": "^3.1.9", "express": "^4.18.3", "jsonwebtoken": "^9.0.2", + "multer": "^1.4.5-lts.1", "pg": "^8.11.3", "sequelize": "^6.37.1", "sequelize-cli": "^6.6.2", From 1788c1ac1e504e39dfa286158fbc3393483d9d8a Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Fri, 15 Mar 2024 15:54:46 +0700 Subject: [PATCH 11/18] chore: create home page --- Client/Burger Bites/.eslintrc.cjs | 21 + Client/Burger Bites/.gitignore | 24 + Client/Burger Bites/README.md | 8 + Client/Burger Bites/index.html | 34 + Client/Burger Bites/package-lock.json | 3808 +++++++++++++++++ Client/Burger Bites/package.json | 29 + Client/Burger Bites/public/vite.svg | 1 + Client/Burger Bites/src/App.css | 42 + Client/Burger Bites/src/App.jsx | 8 + Client/Burger Bites/src/Pages/AboutPage.jsx | 176 + Client/Burger Bites/src/Pages/AdminPanel.jsx | 90 + Client/Burger Bites/src/Pages/BurgerTable.jsx | 157 + .../Burger Bites/src/Pages/CheckOutPage.jsx | 0 Client/Burger Bites/src/Pages/ErrorPage.jsx | 16 + Client/Burger Bites/src/Pages/HomePage.html | 385 ++ Client/Burger Bites/src/Pages/HomePage.jsx | 336 ++ Client/Burger Bites/src/Pages/LoginPage.jsx | 166 + Client/Burger Bites/src/Pages/NavBar.jsx | 68 + .../Burger Bites/src/Pages/NotFoundPage.jsx | 13 + Client/Burger Bites/src/Pages/OrderPage.jsx | 361 ++ Client/Burger Bites/src/Pages/ReviewPage.jsx | 219 + Client/Burger Bites/src/Pages/SignUpPage.jsx | 185 + Client/Burger Bites/src/Pages/style.css | 1135 +++++ Client/Burger Bites/src/assets/react.svg | 1 + Client/Burger Bites/src/index.css | 68 + .../Burger Bites/src/layouts/RootLayout.jsx | 15 + Client/Burger Bites/src/main.jsx | 13 + Client/Burger Bites/src/router/index.jsx | 110 + Client/Burger Bites/src/utils/axios.js | 6 + Client/Burger Bites/src/utils/sweetAlert.js | 27 + Client/Burger Bites/vite.config.js | 7 + 31 files changed, 7529 insertions(+) create mode 100644 Client/Burger Bites/.eslintrc.cjs create mode 100644 Client/Burger Bites/.gitignore create mode 100644 Client/Burger Bites/README.md create mode 100644 Client/Burger Bites/index.html create mode 100644 Client/Burger Bites/package-lock.json create mode 100644 Client/Burger Bites/package.json create mode 100644 Client/Burger Bites/public/vite.svg create mode 100644 Client/Burger Bites/src/App.css create mode 100644 Client/Burger Bites/src/App.jsx create mode 100644 Client/Burger Bites/src/Pages/AboutPage.jsx create mode 100644 Client/Burger Bites/src/Pages/AdminPanel.jsx create mode 100644 Client/Burger Bites/src/Pages/BurgerTable.jsx create mode 100644 Client/Burger Bites/src/Pages/CheckOutPage.jsx create mode 100644 Client/Burger Bites/src/Pages/ErrorPage.jsx create mode 100644 Client/Burger Bites/src/Pages/HomePage.html create mode 100644 Client/Burger Bites/src/Pages/HomePage.jsx create mode 100644 Client/Burger Bites/src/Pages/LoginPage.jsx create mode 100644 Client/Burger Bites/src/Pages/NavBar.jsx create mode 100644 Client/Burger Bites/src/Pages/NotFoundPage.jsx create mode 100644 Client/Burger Bites/src/Pages/OrderPage.jsx create mode 100644 Client/Burger Bites/src/Pages/ReviewPage.jsx create mode 100644 Client/Burger Bites/src/Pages/SignUpPage.jsx create mode 100644 Client/Burger Bites/src/Pages/style.css create mode 100644 Client/Burger Bites/src/assets/react.svg create mode 100644 Client/Burger Bites/src/index.css create mode 100644 Client/Burger Bites/src/layouts/RootLayout.jsx create mode 100644 Client/Burger Bites/src/main.jsx create mode 100644 Client/Burger Bites/src/router/index.jsx create mode 100644 Client/Burger Bites/src/utils/axios.js create mode 100644 Client/Burger Bites/src/utils/sweetAlert.js create mode 100644 Client/Burger Bites/vite.config.js diff --git a/Client/Burger Bites/.eslintrc.cjs b/Client/Burger Bites/.eslintrc.cjs new file mode 100644 index 0000000..3e212e1 --- /dev/null +++ b/Client/Burger Bites/.eslintrc.cjs @@ -0,0 +1,21 @@ +module.exports = { + root: true, + env: { browser: true, es2020: true }, + extends: [ + 'eslint:recommended', + 'plugin:react/recommended', + 'plugin:react/jsx-runtime', + 'plugin:react-hooks/recommended', + ], + ignorePatterns: ['dist', '.eslintrc.cjs'], + parserOptions: { ecmaVersion: 'latest', sourceType: 'module' }, + settings: { react: { version: '18.2' } }, + plugins: ['react-refresh'], + rules: { + 'react/jsx-no-target-blank': 'off', + 'react-refresh/only-export-components': [ + 'warn', + { allowConstantExport: true }, + ], + }, +} diff --git a/Client/Burger Bites/.gitignore b/Client/Burger Bites/.gitignore new file mode 100644 index 0000000..a547bf3 --- /dev/null +++ b/Client/Burger Bites/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/Client/Burger Bites/README.md b/Client/Burger Bites/README.md new file mode 100644 index 0000000..f768e33 --- /dev/null +++ b/Client/Burger Bites/README.md @@ -0,0 +1,8 @@ +# React + Vite + +This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. + +Currently, two official plugins are available: + +- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh +- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh diff --git a/Client/Burger Bites/index.html b/Client/Burger Bites/index.html new file mode 100644 index 0000000..96fecdf --- /dev/null +++ b/Client/Burger Bites/index.html @@ -0,0 +1,34 @@ + + + + + + + + Burger Bites + + + + + + + + + + + + + +
+ + + + + diff --git a/Client/Burger Bites/package-lock.json b/Client/Burger Bites/package-lock.json new file mode 100644 index 0000000..dc9e9b5 --- /dev/null +++ b/Client/Burger Bites/package-lock.json @@ -0,0 +1,3808 @@ +{ + "name": "burger-bites", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "burger-bites", + "version": "0.0.0", + "dependencies": { + "axios": "^1.6.7", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3", + "sweetalert2": "^11.10.6" + }, + "devDependencies": { + "@types/react": "^18.2.64", + "@types/react-dom": "^18.2.21", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.5", + "vite": "^5.1.6" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@remix-run/router": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", + "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz", + "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz", + "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz", + "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz", + "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz", + "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz", + "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz", + "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz", + "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz", + "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz", + "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz", + "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz", + "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz", + "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@swc/core": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.8.tgz", + "integrity": "sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.8", + "@swc/core-darwin-x64": "1.4.8", + "@swc/core-linux-arm-gnueabihf": "1.4.8", + "@swc/core-linux-arm64-gnu": "1.4.8", + "@swc/core-linux-arm64-musl": "1.4.8", + "@swc/core-linux-x64-gnu": "1.4.8", + "@swc/core-linux-x64-musl": "1.4.8", + "@swc/core-win32-arm64-msvc": "1.4.8", + "@swc/core-win32-ia32-msvc": "1.4.8", + "@swc/core-win32-x64-msvc": "1.4.8" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz", + "integrity": "sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz", + "integrity": "sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz", + "integrity": "sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz", + "integrity": "sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz", + "integrity": "sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz", + "integrity": "sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz", + "integrity": "sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz", + "integrity": "sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz", + "integrity": "sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz", + "integrity": "sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "dev": true + }, + "node_modules/@swc/types": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.5.tgz", + "integrity": "sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.65", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.65.tgz", + "integrity": "sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.2.22", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.22.tgz", + "integrity": "sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.6.0.tgz", + "integrity": "sha512-XFRbsGgpGxGzEV5i5+vRiro1bwcIaZDIdBRP16qwm+jP68ue/S8FJTBEgOeojtVDYrbSua3XFp71kC8VJE6v+g==", + "dev": true, + "dependencies": { + "@swc/core": "^1.3.107" + }, + "peerDependencies": { + "vite": "^4 || ^5" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "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/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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz", + "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", + "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.1.0", + "es-shim-unscopables": "^1.0.2" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dev": true, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", + "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", + "dependencies": { + "follow-redirects": "^1.15.4", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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==", + "dev": true, + "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/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "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/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": 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==", + "dev": true, + "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/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/es-abstract": { + "version": "1.22.5", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", + "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.1", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.0", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.8", + "string.prototype.trimend": "^1.0.7", + "string.prototype.trimstart": "^1.0.7", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.5", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.17", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", + "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "dev": true, + "dependencies": { + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.4", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.2", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz", + "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlast": "^1.2.4", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.3", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.17", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7", + "object.hasown": "^1.1.3", + "object.values": "^1.1.7", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.10" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.6.tgz", + "integrity": "sha512-NjGXdm7zgcKRkKMua34qVO9doI7VOxZ6ancSvBELJSSoX97jyndXcSoa8XBh69JoB31dNz3EEzlMcizZl7LaMA==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "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/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", + "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", + "dev": true, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "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/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "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==", + "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==", + "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==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", + "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true + }, + "node_modules/react-router": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", + "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==", + "dependencies": { + "@remix-run/router": "1.15.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.3", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz", + "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==", + "dependencies": { + "@remix-run/router": "1.15.3", + "react-router": "6.22.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", + "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.0.0", + "get-intrinsic": "^1.2.3", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.13.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz", + "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.13.0", + "@rollup/rollup-android-arm64": "4.13.0", + "@rollup/rollup-darwin-arm64": "4.13.0", + "@rollup/rollup-darwin-x64": "4.13.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.13.0", + "@rollup/rollup-linux-arm64-gnu": "4.13.0", + "@rollup/rollup-linux-arm64-musl": "4.13.0", + "@rollup/rollup-linux-riscv64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-gnu": "4.13.0", + "@rollup/rollup-linux-x64-musl": "4.13.0", + "@rollup/rollup-win32-arm64-msvc": "4.13.0", + "@rollup/rollup-win32-ia32-msvc": "4.13.0", + "@rollup/rollup-win32-x64-msvc": "4.13.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "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==", + "dev": true, + "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/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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==", + "dev": true, + "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/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", + "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", + "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", + "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/sweetalert2": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.6.tgz", + "integrity": "sha512-CINZPLZXZRSZqSOE7H7j1F7X8e8O1kLOiXPmtJn1DYxvXsKBr3d16d90+IcwTTs7dJww20h8r8QIxIwsLGX+6A==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", + "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/vite": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz", + "integrity": "sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "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/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dev": true, + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/Client/Burger Bites/package.json b/Client/Burger Bites/package.json new file mode 100644 index 0000000..4072a82 --- /dev/null +++ b/Client/Burger Bites/package.json @@ -0,0 +1,29 @@ +{ + "name": "burger-bites", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "lint": "eslint . --ext js,jsx --report-unused-disable-directives --max-warnings 0", + "preview": "vite preview" + }, + "dependencies": { + "axios": "^1.6.7", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.3", + "sweetalert2": "^11.10.6" + }, + "devDependencies": { + "@types/react": "^18.2.64", + "@types/react-dom": "^18.2.21", + "@vitejs/plugin-react-swc": "^3.5.0", + "eslint": "^8.57.0", + "eslint-plugin-react": "^7.34.0", + "eslint-plugin-react-hooks": "^4.6.0", + "eslint-plugin-react-refresh": "^0.4.5", + "vite": "^5.1.6" + } +} diff --git a/Client/Burger Bites/public/vite.svg b/Client/Burger Bites/public/vite.svg new file mode 100644 index 0000000..e7b8dfb --- /dev/null +++ b/Client/Burger Bites/public/vite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Client/Burger Bites/src/App.css b/Client/Burger Bites/src/App.css new file mode 100644 index 0000000..b9d355d --- /dev/null +++ b/Client/Burger Bites/src/App.css @@ -0,0 +1,42 @@ +#root { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + text-align: center; +} + +.logo { + height: 6em; + padding: 1.5em; + will-change: filter; + transition: filter 300ms; +} +.logo:hover { + filter: drop-shadow(0 0 2em #646cffaa); +} +.logo.react:hover { + filter: drop-shadow(0 0 2em #61dafbaa); +} + +@keyframes logo-spin { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + +@media (prefers-reduced-motion: no-preference) { + a:nth-of-type(2) .logo { + animation: logo-spin infinite 20s linear; + } +} + +.card { + padding: 2em; +} + +.read-the-docs { + color: #888; +} diff --git a/Client/Burger Bites/src/App.jsx b/Client/Burger Bites/src/App.jsx new file mode 100644 index 0000000..7066bad --- /dev/null +++ b/Client/Burger Bites/src/App.jsx @@ -0,0 +1,8 @@ +import {RouterProvider} from "react-router-dom" +import router from "./router/index.jsx" + +function App() { + return +} + +export default App diff --git a/Client/Burger Bites/src/Pages/AboutPage.jsx b/Client/Burger Bites/src/Pages/AboutPage.jsx new file mode 100644 index 0000000..84a7c7f --- /dev/null +++ b/Client/Burger Bites/src/Pages/AboutPage.jsx @@ -0,0 +1,176 @@ +// import { useState, useEffect } from "react" +// import NavBar from "../components/NavBar" +// import SearchBar from "../components/SearchBar" +// import SortBy from "../components/SortBy" +// import Card from "./Card" +// import { localRequest } from "../../utils/axios" + +export default function Home() { + // const [jobsData, setJobsData] = useState([]) + // const [filteredJobs, setFilteredJobs] = useState([]) + // const [searchTerm, setSearchTerm] = useState(""); + // const [sortOrder, setSortOrder] = useState("asc"); + // const [currentPage, setCurrentpage] = useState(1); + // const [totalPages, setTotalPages] = useState(1); + // const [filterJobType, setFilterJobType] = useState(""); + // const [companiesData, setCompaniesData] = useState([]); + // const [filterCompanyId, setFilterCompanyId] = useState(""); + // useEffect(() => { + // async function getJobs() { + // try { + // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); + // setJobsData(response.data.data) + // setFilteredJobs(response.data.data) + // setTotalPages(response.data.totalPage) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getJobs() + // }, [filterCompanyId, searchTerm]); + + // useEffect(() => { + // async function getCompanies() { + // try { + // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); + // setCompaniesData(response.data) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getCompanies() + // }, []); + + + // const handleSearch = (term) => { + // setSearchTerm(term); + // } + + // const handleSort = (order) => { + // setSortOrder(order); + // const sortedJobs = [...filteredJobs].sort((a, b) => { + // if (order === "asc") { + // return new Date(a.createdAt) - new Date(b.createdAt); + // } else { + // return new Date(b.createdAt) - new Date(a.createdAt); + // } + // }); + // setFilteredJobs(sortedJobs); + // }; + + // const handlePageChange = (pageNumber) => { + // setCurrentpage(pageNumber); + // window.scrollTo(0, 0) + // } + + // const handleFilterJobType = (jobType) => { + // setFilterJobType(jobType); + // if (jobType === "") { + // setFilteredJobs(jobsData); + // } else { + // const filtered = jobsData.filter((job) => job.jobType === jobType); + // setFilteredJobs(filtered); + // } + // } + + // const handleFilterCompany = (companyId) => { + // setFilterCompanyId(companyId); + // }; + + // const startIndex = (currentPage - 1) * 10 + // const endIndex = startIndex + 10 + + // console.log({ companiesData }); + + return ( + <> +
+ +
+ {/* Navbar End */} + {/* About Section Start */} +
+
+ +
+
+
About us
+

Burger king

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe sed + repellat, cum, enim doloribus fugit incidunt aut sunt, autem doloremque + quae laboriosam velit maiores? Voluptatum incidunt animi illo! + Reprehenderit quis minus adipisci accusantium atque omnis assumenda + aperiam architecto, nulla qui ad doloribus harum doloremque ducimus + iusto alias exercitationem corporis mollitia! +

+ +
+
+ {/* About Section End */} + {/* Footer Start */} +
+
+
+

+ © Copyright Burger Bites. All Rights Reserved. +

+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/AdminPanel.jsx b/Client/Burger Bites/src/Pages/AdminPanel.jsx new file mode 100644 index 0000000..9b6e586 --- /dev/null +++ b/Client/Burger Bites/src/Pages/AdminPanel.jsx @@ -0,0 +1,90 @@ +import { useNavigate, Link } from "react-router-dom" + +export default function SideBar() { + const nav = useNavigate(); + const handleLogout = () => { + localStorage.removeItem("token") + nav("/login") + } + return ( + <> +
+ +
+

Welcome to the Burger Bites Admin Panel

+
+
+
+
+
+

+ © Copyright Burger Bites. All Rights Reserved. +

+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/BurgerTable.jsx b/Client/Burger Bites/src/Pages/BurgerTable.jsx new file mode 100644 index 0000000..bd4a0d7 --- /dev/null +++ b/Client/Burger Bites/src/Pages/BurgerTable.jsx @@ -0,0 +1,157 @@ +// import { useState, useEffect } from "react" +// import { localRequest } from "../../utils/axios" +// import { Link, useNavigate, Outlet } from "react-router-dom" + +export default function JobsTable() { + function formatCreatedAt(createdAt) { + const date = new Date(createdAt); + return date.toLocaleDateString("en-us", { + year: "numeric", + month: "long", + day: "numeric" + }) + } + // const [jobsData, setJobsData] = useState([]) + // const [loading, setLoading] = useState(false) + // const [error, setError] = useState("") + + // const navigate = useNavigate() + + // const fetchJobs = async () => { + // setLoading("Loading...") + // setError("") + // try { + // let { data } = await localRequest({ + // url: "/jobs", + // headers: { + // Authorization: `Bearer ${localStorage.getItem("token")}` + // } + // }) + // setJobsData(data) + // console.log(data) + // } catch (error) { + // console.log(error.response?.data.message || error.message) + // setError(error) + // } finally { + // setLoading(false) + // } + // } + + // const deleteJob = async (jobId) => { + // try { + // let { data } = await localRequest({ + // url: `/jobs/${jobId}`, + // method: "delete", + // headers: { + // Authorization: `Bearer ${localStorage.getItem("token")}` + // } + // }) + // setJobsData(jobsData.filter((job) => job.id !== jobId)) + // console.log(data) + // } catch (error) { + // console.log(error.response?.data.message || error.message) + // setError(error) + // } + // } + + // useEffect(() => { + // fetchJobs() + // }, []); + + // if (error) { + // return

{error.message ?? error}

+ // } + + // if (loading) { + // return

Loading...

+ // } + + return ( + <> + {/* */} +
+
+

Jobs

+ {/* */} + + {/* */} +
+
+
+ + + + + + + + + + + + + + + + {jobsData.map((job, index) => ( + + + + + + + + + + + + + ))} + +
IDName + Description + + Price + VegImageCreated AtUpdated At + Actions +
{index + 1}{job.title} + {job.description} + + + {job.jobType}{job.CompanyId}{job.AuthorId}{formatCreatedAt(job.createdAt)}{formatCreatedAt(job.updatedAt)} + + deleteJob(job.id)}> + + delete + + + {/* */} + + + edit + + + {/* */} + {/* */} + + + image + + + {/* */} + +
+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/CheckOutPage.jsx b/Client/Burger Bites/src/Pages/CheckOutPage.jsx new file mode 100644 index 0000000..e69de29 diff --git a/Client/Burger Bites/src/Pages/ErrorPage.jsx b/Client/Burger Bites/src/Pages/ErrorPage.jsx new file mode 100644 index 0000000..e29f73c --- /dev/null +++ b/Client/Burger Bites/src/Pages/ErrorPage.jsx @@ -0,0 +1,16 @@ +import { useRouteError } from "react-router-dom" + +export default function ErrorPage() { + const error = useRouteError(); + console.error(error); + + return ( +
+

Oops!

+

Sorry, an Unexpected error has occured.

+

+ {error.statusText || error.message} +

+
+ ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/HomePage.html b/Client/Burger Bites/src/Pages/HomePage.html new file mode 100644 index 0000000..1c102cb --- /dev/null +++ b/Client/Burger Bites/src/Pages/HomePage.html @@ -0,0 +1,385 @@ + + + + + + + + + + + + + + + + Burger Bites + + + + + + +
+
+

A Tasty Burger is What
You Deserve!

+

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quisquam aliquid facere quod nulla aut rerum earum magnam minima laudantium magni.

+ +
+
+ +
+
+ + +
+
+

What We Serve

+
+
+
+ +
+

High Quality Food

+

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

+ +
+
+
+ +
+

High Quality Food

+

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

+
+
+
+ +
+

High Quality Food

+

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

+
+
+
+
+ + +
+

Our Food Menu

+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+
+ +
+

Burger + + + + +

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

+
$65
+ +
+
+
+
+ + + + + + + + +
+
+ +
+
+
About us
+

Burger king

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe sed repellat, cum, enim doloribus fugit incidunt aut sunt, autem doloremque quae laboriosam velit maiores? Voluptatum incidunt animi illo! Reprehenderit quis minus adipisci accusantium atque omnis assumenda aperiam architecto, nulla qui ad doloribus harum doloremque ducimus iusto alias exercitationem corporis mollitia!

+ +
+
+ + +
+
+

Order Now

+

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Voluptate quod dolorum mollitia fugit, itaque asperiores reiciendis sapiente laudantium quam. Ipsa.

+ + + +
+ + +
+
+ + + + + + +
+
+
+ + +
+

What's Our Customers Say

+
+
+
+ + + + + +
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

+
Elon Musk
+
+
+
+ + + + + +
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

+
Elon Musk
+
+
+
+ + + + + +
+

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

+
Elon Musk
+
+
+
+ + +
+ + +
+ + + + + + + + \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/HomePage.jsx b/Client/Burger Bites/src/Pages/HomePage.jsx new file mode 100644 index 0000000..88553ad --- /dev/null +++ b/Client/Burger Bites/src/Pages/HomePage.jsx @@ -0,0 +1,336 @@ +// import { useState, useEffect } from "react" +// import NavBar from "./NavBar" +// import SearchBar from "../components/SearchBar" +// import SortBy from "../components/SortBy" +// import Card from "./Card" +// import { localRequest } from "../../utils/axios" + +export default function Home() { + // const [jobsData, setJobsData] = useState([]) + // const [filteredJobs, setFilteredJobs] = useState([]) + // const [searchTerm, setSearchTerm] = useState(""); + // const [sortOrder, setSortOrder] = useState("asc"); + // const [currentPage, setCurrentpage] = useState(1); + // const [totalPages, setTotalPages] = useState(1); + // const [filterJobType, setFilterJobType] = useState(""); + // const [companiesData, setCompaniesData] = useState([]); + // const [filterCompanyId, setFilterCompanyId] = useState(""); + // useEffect(() => { + // async function getJobs() { + // try { + // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); + // setJobsData(response.data.data) + // setFilteredJobs(response.data.data) + // setTotalPages(response.data.totalPage) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getJobs() + // }, [filterCompanyId, searchTerm]); + + // useEffect(() => { + // async function getCompanies() { + // try { + // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); + // setCompaniesData(response.data) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getCompanies() + // }, []); + + + // const handleSearch = (term) => { + // setSearchTerm(term); + // } + + // const handleSort = (order) => { + // setSortOrder(order); + // const sortedJobs = [...filteredJobs].sort((a, b) => { + // if (order === "asc") { + // return new Date(a.createdAt) - new Date(b.createdAt); + // } else { + // return new Date(b.createdAt) - new Date(a.createdAt); + // } + // }); + // setFilteredJobs(sortedJobs); + // }; + + // const handlePageChange = (pageNumber) => { + // setCurrentpage(pageNumber); + // window.scrollTo(0, 0) + // } + + // const handleFilterJobType = (jobType) => { + // setFilterJobType(jobType); + // if (jobType === "") { + // setFilteredJobs(jobsData); + // } else { + // const filtered = jobsData.filter((job) => job.jobType === jobType); + // setFilteredJobs(filtered); + // } + // } + + // const handleFilterCompany = (companyId) => { + // setFilterCompanyId(companyId); + // }; + + // const startIndex = (currentPage - 1) * 10 + // const endIndex = startIndex + 10 + + // console.log({ companiesData }); + + return ( + <> + {/* */} + {/* Home Section Start */} +
+
+

+ A Tasty Burger is What
+ You Deserve! +

+

+ Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quisquam + aliquid facere quod nulla aut rerum earum magnam minima laudantium + magni. +

+ +
+
+ +
+
+ {/* Home Section End */} + {/* Offer Section Start */} +
+
+

+ What We Serve +

+
+
+
+ +
+

High Quality Burger

+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam + facilis voluptatem doloribus eligendi natus maxime eum aliquid + dignissimos dicta? +

+
+
+
+ +
+

Fresh and Premium Ingredients

+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam + facilis voluptatem doloribus eligendi natus maxime eum aliquid + dignissimos dicta? +

+
+
+
+ +
+

Locally Sourced Ingredients

+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam + facilis voluptatem doloribus eligendi natus maxime eum aliquid + dignissimos dicta? +

+
+
+
+
+ {/* Offer Section End */} + {/* Our Menu Start */} +
+
+

+ Our Burger Menu +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+
+
+
+ {/* Our Menu End */} + {/* Footer Start */} +
+
+
+

+ © Copyright Burger Bites. All Rights Reserved. +

+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/LoginPage.jsx b/Client/Burger Bites/src/Pages/LoginPage.jsx new file mode 100644 index 0000000..3cac120 --- /dev/null +++ b/Client/Burger Bites/src/Pages/LoginPage.jsx @@ -0,0 +1,166 @@ +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { errorAlert, successToast } from "../utils/sweetAlert"; +import { useNavigate, Link } from "react-router-dom" + +export default function Login() { + const navigate = useNavigate() + const [userData, setUserData] = useState({ + email: "", + password: "" + }); + + const handleChangeInput = (event) => { + const key = event.target.name + const value = event.target.value + + setUserData({ + ...userData, + [key]: value + }) + } + + const handleSubmit = async (event) => { + event.preventDefault(); + try { + let { data } = await localRequest({ + url: "/login", + method: "post", + data: userData + }) + localStorage.setItem("token", data.access_token) + successToast("Login success"); + navigate("/") + } catch (error) { + console.log(error.response.data.message) + errorAlert(err.response.data.message); + } + } + + const handleCredentialResponse = async ({ credential }) => { + const { data } = await localRequest.post("/google-login", { + googleToken: credential + }) + localStorage.setItem("access_token", data.access_token); + console.log(data.message, "<<<<<") + successToast(data.message); + navigate("/") + } + + useEffect(() => { + + google.accounts.id.initialize({ + client_id: "483160331749-3i3b3l3nvvostt3ccublhnmi64dtmkob.apps.googleusercontent.com", + callback: handleCredentialResponse + }); + google.accounts.id.renderButton( + document.getElementById("buttonDiv"), + { theme: "outline", size: "large" } // customization attributes + ); + google.accounts.id.prompt(); // also display the One Tap dialog + + }, []) + + return ( + + <> + {/*--------------------- Main Container ------------------------*/} +
+ {/*--------------------- Login Container ------------------------*/} +
+ {/*------------------------- Left Box ---------------------------*/} +
+
+ +
+

+ Become a member +

+ + Join our community by signing up today and enhance your experience with us! + +
+ {/*------------------ ------ Right Box --------------------------*/} +
+
+
+
+

Hello, Again

+

We are happy to have you back.

+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+
+ + Don't have an account? Sign Up + +
+
+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/NavBar.jsx b/Client/Burger Bites/src/Pages/NavBar.jsx new file mode 100644 index 0000000..3698211 --- /dev/null +++ b/Client/Burger Bites/src/Pages/NavBar.jsx @@ -0,0 +1,68 @@ +import { Link } from "react-router-dom" + +export default function NavBar() { + return ( + <> +
+ +
+ {/* Navbar End */} + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/NotFoundPage.jsx b/Client/Burger Bites/src/Pages/NotFoundPage.jsx new file mode 100644 index 0000000..b8a9098 --- /dev/null +++ b/Client/Burger Bites/src/Pages/NotFoundPage.jsx @@ -0,0 +1,13 @@ +import { useRouteError } from "react-router-dom" + +export default function ErrorPage() { + const error = useRouteError(); + console.error(error); + + return ( +
+

Oops!

+

404: Page Not Found

+
+ ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/OrderPage.jsx b/Client/Burger Bites/src/Pages/OrderPage.jsx new file mode 100644 index 0000000..5990637 --- /dev/null +++ b/Client/Burger Bites/src/Pages/OrderPage.jsx @@ -0,0 +1,361 @@ +// import { useState, useEffect } from "react" +// import NavBar from "../components/NavBar" +// import SearchBar from "../components/SearchBar" +// import SortBy from "../components/SortBy" +// import Card from "./Card" +// import { localRequest } from "../../utils/axios" + +export default function Home() { + // const [jobsData, setJobsData] = useState([]) + // const [filteredJobs, setFilteredJobs] = useState([]) + // const [searchTerm, setSearchTerm] = useState(""); + // const [sortOrder, setSortOrder] = useState("asc"); + // const [currentPage, setCurrentpage] = useState(1); + // const [totalPages, setTotalPages] = useState(1); + // const [filterJobType, setFilterJobType] = useState(""); + // const [companiesData, setCompaniesData] = useState([]); + // const [filterCompanyId, setFilterCompanyId] = useState(""); + // useEffect(() => { + // async function getJobs() { + // try { + // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); + // setJobsData(response.data.data) + // setFilteredJobs(response.data.data) + // setTotalPages(response.data.totalPage) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getJobs() + // }, [filterCompanyId, searchTerm]); + + // useEffect(() => { + // async function getCompanies() { + // try { + // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); + // setCompaniesData(response.data) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getCompanies() + // }, []); + + + // const handleSearch = (term) => { + // setSearchTerm(term); + // } + + // const handleSort = (order) => { + // setSortOrder(order); + // const sortedJobs = [...filteredJobs].sort((a, b) => { + // if (order === "asc") { + // return new Date(a.createdAt) - new Date(b.createdAt); + // } else { + // return new Date(b.createdAt) - new Date(a.createdAt); + // } + // }); + // setFilteredJobs(sortedJobs); + // }; + + // const handlePageChange = (pageNumber) => { + // setCurrentpage(pageNumber); + // window.scrollTo(0, 0) + // } + + // const handleFilterJobType = (jobType) => { + // setFilterJobType(jobType); + // if (jobType === "") { + // setFilteredJobs(jobsData); + // } else { + // const filtered = jobsData.filter((job) => job.jobType === jobType); + // setFilteredJobs(filtered); + // } + // } + + // const handleFilterCompany = (companyId) => { + // setFilterCompanyId(companyId); + // }; + + // const startIndex = (currentPage - 1) * 10 + // const endIndex = startIndex + 10 + + // console.log({ companiesData }); + + return ( + <> +
+ +
+ {/* Navbar End */} + {/* Home Section Start */} + + {/* Offer Section Start */} +
+
+

+ Order Now! +

+
+
+
+ +
+

High Quality Burger

+

+ Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam + facilis voluptatem doloribus eligendi natus maxime eum aliquid + dignissimos dicta? +

+
+
+
+
+ {/* Offer Section End */} + {/* Our Menu Start */} +
+
+

+ Our Burger Menu +

+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+
+ +
+

+ Burger + + + + +

+

+ Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, + eligendi? +

+
+ $65 +
+
+
+
+
+ {/* Our Menu End */} + {/* Footer Start */} +
+
+
+

+ © Copyright Burger Bites. All Rights Reserved. +

+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/ReviewPage.jsx b/Client/Burger Bites/src/Pages/ReviewPage.jsx new file mode 100644 index 0000000..98fdb9a --- /dev/null +++ b/Client/Burger Bites/src/Pages/ReviewPage.jsx @@ -0,0 +1,219 @@ +// import { useState, useEffect } from "react" +// import NavBar from "../components/NavBar" +// import SearchBar from "../components/SearchBar" +// import SortBy from "../components/SortBy" +// import Card from "./Card" +// import { localRequest } from "../../utils/axios" + +export default function Home() { + // const [jobsData, setJobsData] = useState([]) + // const [filteredJobs, setFilteredJobs] = useState([]) + // const [searchTerm, setSearchTerm] = useState(""); + // const [sortOrder, setSortOrder] = useState("asc"); + // const [currentPage, setCurrentpage] = useState(1); + // const [totalPages, setTotalPages] = useState(1); + // const [filterJobType, setFilterJobType] = useState(""); + // const [companiesData, setCompaniesData] = useState([]); + // const [filterCompanyId, setFilterCompanyId] = useState(""); + // useEffect(() => { + // async function getJobs() { + // try { + // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); + // setJobsData(response.data.data) + // setFilteredJobs(response.data.data) + // setTotalPages(response.data.totalPage) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getJobs() + // }, [filterCompanyId, searchTerm]); + + // useEffect(() => { + // async function getCompanies() { + // try { + // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); + // setCompaniesData(response.data) + // console.log(response); + // } catch (error) { + // console.error(error); + // } + // } + // getCompanies() + // }, []); + + + // const handleSearch = (term) => { + // setSearchTerm(term); + // } + + // const handleSort = (order) => { + // setSortOrder(order); + // const sortedJobs = [...filteredJobs].sort((a, b) => { + // if (order === "asc") { + // return new Date(a.createdAt) - new Date(b.createdAt); + // } else { + // return new Date(b.createdAt) - new Date(a.createdAt); + // } + // }); + // setFilteredJobs(sortedJobs); + // }; + + // const handlePageChange = (pageNumber) => { + // setCurrentpage(pageNumber); + // window.scrollTo(0, 0) + // } + + // const handleFilterJobType = (jobType) => { + // setFilterJobType(jobType); + // if (jobType === "") { + // setFilteredJobs(jobsData); + // } else { + // const filtered = jobsData.filter((job) => job.jobType === jobType); + // setFilteredJobs(filtered); + // } + // } + + // const handleFilterCompany = (companyId) => { + // setFilterCompanyId(companyId); + // }; + + // const startIndex = (currentPage - 1) * 10 + // const endIndex = startIndex + 10 + + // console.log({ companiesData }); + + return ( + <> +
+ +
+ {/* Navbar End */} + {/* Reviews Start */} +
+

+ What's Our Customers Say +

+
+
+
+ + + + + +
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis + repudiandae dolorum ab beatae perferendis asperiores rem corrupti + blanditiis commodi et? +

+
+ + Elon Musk +
+
+
+
+ + + + + +
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis + repudiandae dolorum ab beatae perferendis asperiores rem corrupti + blanditiis commodi et? +

+
+ + Elon Musk +
+
+
+
+ + + + + +
+

+ Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis + repudiandae dolorum ab beatae perferendis asperiores rem corrupti + blanditiis commodi et? +

+
+ + Elon Musk +
+
+
+
+ {/* Reviews End */} + {/* Footer Start */} +
+
+
+

+ © Copyright Burger Bites. All Rights Reserved. +

+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/SignUpPage.jsx b/Client/Burger Bites/src/Pages/SignUpPage.jsx new file mode 100644 index 0000000..594f7b3 --- /dev/null +++ b/Client/Burger Bites/src/Pages/SignUpPage.jsx @@ -0,0 +1,185 @@ +import { useState, useEffect } from "react" +// import { localRequest } from "../../utils/axios" +// import toast from "../../utils/toast" +// import Button from "../components/Button" +// import NavBar from "../components/NavBar" +// import { useNavigate, Link } from "react-router-dom" +import axios from "axios" + +export default function SignUp() { + const [userData, setUserData] = useState({ + email: "", + password: "" + }); + + const handleChangeInput = (event) => { + const key = event.target.name + const value = event.target.value + + setUserData({ + ...userData, + [key]: value + }) + } + + // const navigate = useNavigate() + const handleSubmit = async (event) => { + event.preventDefault(); + try { + let { data } = await localRequest({ + url: "/login", + method: "post", + data: userData + }) + localStorage.setItem("token", data.access_token) + toast({ message: "Login successful!", backgroundColor: "green" }) + navigate("/cms") + } catch (error) { + console.log(error.response.data.message) + toast({ message: error.response?.data?.message + "!" || error.message, status: "error" }) + } + } + + const handleCredentialResponse = async ({ credential }) => { + const { data } = await axios.post("http://localhost:3000/google-login", { + googleToken: credential + }) + localStorage.setItem("token", data.access_token); + console.log(data.message, "<<<<<") + // navigate("/") + } + + useEffect(() => { + + google.accounts.id.initialize({ + client_id: "483160331749-3i3b3l3nvvostt3ccublhnmi64dtmkob.apps.googleusercontent.com", + callback: handleCredentialResponse + }); + google.accounts.id.renderButton( + document.getElementById("buttonDiv"), + { theme: "outline", size: "large" } // customization attributes + ); + google.accounts.id.prompt(); // also display the One Tap dialog + + }, []) + + return ( + + <> + {/*--------------------- Main Container ------------------------*/} +
+ {/*--------------------- Login Container ------------------------*/} +
+ {/*------------------------- Left Box ---------------------------*/} +
+
+ +
+

+ Become a member +

+ + Join our community by signing up today and enhance your experience with us! + +
+ {/*------------------ ------ Right Box --------------------------*/} +
+
+
+
+

Taste the difference

+

Sign Up Today!

+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+
+
+ +
+
+
+
+
+ + Already a member? Login + +
+
+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/style.css b/Client/Burger Bites/src/Pages/style.css new file mode 100644 index 0000000..5e3026e --- /dev/null +++ b/Client/Burger Bites/src/Pages/style.css @@ -0,0 +1,1135 @@ +/* Login Page */ + +@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500&display=swap'); +body{ + font-family: 'Poppins', sans-serif; + background: #ececec; +} +/*------------ Login container ------------*/ +.box-area{ + width: 930px; +} +/*------------ Right box ------------*/ +.right-box{ + padding: 40px 30px 40px 40px; +} +/*------------ Custom Placeholder ------------*/ +::placeholder{ + font-size: 16px; +} +.rounded-4{ + border-radius: 20px; +} +.rounded-5{ + border-radius: 30px; +} +/*------------ For small screens------------*/ +@media only screen and (max-width: 768px){ + .box-area{ + margin: 0 10px; + } + .left-box{ + height: 100px; + overflow: hidden; + } + .right-box{ + padding: 20px; + } +} + +/* Home Page */ + +*{ + margin: 0; + padding: 0; + box-sizing: border-box; + text-decoration: none; + list-style: none; + scroll-behavior: smooth; + font-family: 'Montserrat', sans-serif; +} +html::-webkit-scrollbar-track{ + background: transparent; +} +html::-webkit-scrollbar-thumb{ + background-color: #c28d56; + border-radius: 10px; +} +html::-webkit-scrollbar{ + width: 10px; +} +body{ + background-color: #f9f9fb; +} +/* Navbar Start */ +.navbar{ + padding: 16px 12.5%; + background-color: white; + width: 100%; +} +.content .logo img{ + width: 10%; + cursor: pointer; +} +.navbar nav{ + position: relative; + display: flex; + max-width: calc(100% = 200px); + margin: 0 auto; + height: 70px; + align-items: center; + justify-content: space-between; +} +nav .content{ + display: flex; + align-items: center; +} +nav .content .links{ + display: flex; +} +.content .links li{ + list-style: none; + line-height: 70px; +} +.content .links li a, +.content .links li label{ + color: #080707; + font-size: 18px; + padding: 9px 17px; + font-weight: bold; + border-radius: 5px; + transition: all 0.3s ease; +} +.content .links li label{ + display: none; +} +.content .links li a:hover, +.content .links li label:hover{ + background-color: #f9f9fb; + color: #080707; +} +.navbar .search-icon, +.navbar .menu-icon{ + color: #080707; + font-size: 18px; + line-height: 70px; + width: 70px; + text-align: center; + cursor: pointer; +} +.navbar .menu-icon{ + display: none; +} +.navbar #show-search:checked ~ .search-icon i::before{ + content: "\f00d"; +} +.navbar .search-box{ + position: absolute; + height: 100%; + max-width: calc(100% - 50px); + width: 100%; + opacity: 0; + pointer-events: none; + transition: all 0.3s ease; +} +.navbar #show-search:checked ~ .search-box{ + opacity: 1; + pointer-events: auto; +} +.search-box input{ + width: 100%; + height: 100%; + border: none; + outline: none; + font-size: 17px; + color: #080707; + background-color: white; + padding: 0 100px 0 15px; +} +.search-box input::placeholder{ + color: #080707; +} +.search-box .go-icon{ + position: absolute; + right: 10px; + top: 50%; + transform: translateY(-50%); + line-height: 60px; + width: 70px; + background-color: #f9f9fb; + border: none; + outline: none; + color: #080707; + font-size: 20px; + cursor: pointer; +} +.navbar input[type="checkbox"]{ + display: none; +} +/* Responsive */ +@media(max-width:1250px){ + .navbar nav{ + max-width: 100%; + padding: 0 20px; + } + nav .content .links{ + margin-left: 30px; + } + .content .links li a{ + padding: 8px 13px; + } + .navbar .search-box{ + max-width: calc(100% - 100px); + } + .navbar .search-box input{ + padding: 0 100px 0 15px; + } +} +@media (max-width:900px){ + .content .logo{ + text-align: center; + } + .navbar .menu-icon{ + display: block; + } + .navbar #show-menu:checked ~ .menu-icon i::before{ + content: "\f00d"; + } + nav .content .links{ + display: block; + position: fixed; + background-color: white; + border: 1.5px solid #080707; + height: 100%; + width: 100%; + top: 70px; + left: -100%; + margin-left: 0; + max-width: 350px; + overflow-y: auto; + padding-bottom: 100%; + transition: all 0.3s ease; + } + nav #show-menu:checked ~ .content .links{ + left: 0%; + } + .content .links li{ + margin: 15px 20px; + } + .content .links li a, + .content .links li label{ + line-height: 40px; + font-size: 20px; + display: block; + padding: 8px 18px; + cursor: pointer; + } + .content .links li a.desktop-link{ + display: none; + } +} +/* Responsive */ +/* Navbar End */ +/* Home Section Start */ +.home{ + width: 100%; + height: 90vh; + background-color: white; + display: flex; + align-items: center; + justify-content: center; + flex-wrap: wrap; + z-index: 0; + padding: 100px 12.5% 100px; + transition: all .50s ease; +} +.home-content{ + flex: 1 400px; + margin-left: 15px; +} +.img{ + flex: 1 1 150px; +} +.img img{ + width: 100%; +} +.home-content h3{ + color: #080707; + font-size: 43px; + font-weight: 600; +} +.home-content p{ + color: #080707; + font-size: 15px; + font-weight: 500; + letter-spacing: 1px; + margin-top: 6px; +} +#btn{ + width: 150px; + height: 38px; + font-size: 16px; + font-weight: 500; + background-color: #c28d56; + border-radius: 5px; + border: none; + margin-top: 20px; + transition: 0.5s; + cursor: pointer; +} +#btn a{ + color: #f9f9fb; +} +#btn i{ + padding: 11px; + background-color: #f9f9fb; + color: #080707; + border-radius: 5px; +} +#btn:hover{ + width: 175px; +} +@media(max-width:900px){ + .home{ + height: auto; + } +} +@media (max-width:660px){ + .home-content h3{ + font-size: 25px; + } +} +@media(max-width:597px){ + .home{ + text-align: center; + } +} +/* Home Section End */ +/* Offer Section Start */ +.offer{ + padding: 120px 12.5% 120px; +} +.main-text h3{ + font-size: 30px; + color: #080707; + font-weight: bold; +} +.main-text h3 span{ + border-bottom: 2px solid #c28d56; +} +.offer .card-content{ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, auto)); + text-align: center; + gap: 0.90rem; + margin-top: 30px; +} +.offer .card-content .row{ + padding: 20px; + background: white; + position: relative; + overflow: hidden; + border-radius: 10px; + transition: 0.5s; + cursor: pointer; +} +.offer .card-content .row:hover{ + background: #c28d56; +} +.offer .row img{ + width: 100px; +} +.offer .card-body h3{ + margin-top: 13px; + font-size: 20px; + color: #080707; +} +.offer .card-body p{ + font-weight: 500; + margin-top: 5px; + font-size: 13px; + letter-spacing: 1px; +} +@media(max-width:920px){ + .offer .card-content{ + grid-template-columns: 1fr; + } +} +/* Offer Section End */ +/* Our Menu Start */ +.our-menu{ + padding: 100px 12.5% 100px; + transition: all .50s ease; +} +.heading h1{ + font-size: 30px; + color: #080707; + font-weight: bold; +} +.heading h1 span{ + border-bottom: 2px solid #c28d56; +} +.our-menu .card-content{ + display: grid; + grid-template-columns: repeat(auto-fit, minmax(100px, auto)); + gap: 0.90rem; + margin-top: 30px; +} +.our-menu .card-content .row{ + width: 100%; + padding: 10px; + background-color: white; + color: #080707; + position: relative; + overflow: hidden; + border-radius: 5px; + box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px; + transition: 0.5s; + cursor: pointer; +} +.our-menu .card-content .row:hover{ + background-color: #c28d56; +} +.our-menu .img{ + text-align: center; +} +.our-menu .img img{ + width: 200px; +} +.our-menu .card-body h3{ + margin-top: 15px; + font-size: 20px; + color: #080707; +} +.our-menu .card-body p{ + font-size: 15px; + margin-top: 5px; + color: #080707; +} +.our-menu .card-body i{ + margin-top: 6px; + color: orange; + font-size: 13px; + margin-left: 5px; + float: right; + cursor: pointer; +} +.our-menu .card-body h5{ + font-size: 16px; + color: #080707; + margin-top: 10px; +} +.our-menu .card-body h5 button{ + float: right; + width: 100px; + height: 20px; + background-color: #080707; + color: #fff; + border: none; + border-radius: 6px; + cursor: pointer; +} +@media (max-width:920px){ + .our-menu .card-content{ + grid-template-columns: 1fr; + grid-template-columns: repeat(auto-fit, minmax(240px, auto)); + } +} +@media (max-width:951px){ + .our-menu{ + padding: 100px 12% 100px; + height: auto; + } +} +/* Our Menu End */ +/* Banner Start */ +.banner{ + position: relative; + display: flex; + align-items: center; + justify-content: center; + width: 100%; + height: 50vh; + background-image: linear-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.3)), url(../images/banner.png); + background-size: cover; + background-repeat: no-repeat; +} +.banner h1{ + color: #f9f9fb; +} +.banner h1 span{ + border-bottom: 2px solid #c28d56; +} +@media (max-width:600px){ + .banner h1{ + font-size: 20px; + } +} +/* Banner End */ +/* Our Popular Menu Start */ +.popular-menu{ + padding: 100px 12.5% 100px; +} +.popular-menu h3{ + font-size: 30px; + color: #080707; + font-weight: bold; +} +.popular-menu h3 span{ + border-bottom: 2px solid #c28d56; +} +.popular-menu .card-content{ + margin-top: 50px; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, auto)); + align-items: center; + gap: 0.90rem; +} +.popular-menu .card-content .row{ + position: relative; + overflow: hidden; + border-radius: 10px; + cursor: pointer; +} +.popular-menu .card-content .row img{ + width: 100%; + border-radius: 10px; + display: block; + transition: 0.5s; +} +.popular-menu .card-content .row:hover img{ + transform: scale(1.1); +} +.layer{ + width: 100%; + height: 0%; + background: linear-gradient(rgba(0,0,0,0.1), #c28d56); + position: absolute; + left: 0; + bottom: 0; + overflow: hidden; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + padding: 0 40px; + transition: 0.5s ease; +} +.popular-menu .row:hover .layer{ + height: 100%; +} +.layer button{ + background-color: white; + width: 100px; + height: 25px; + color: #080707; + border: none; + border-radius: 5px; + cursor: pointer; +} +.layer h3{ + font-size: 25px; + font-weight: 550; + color: #f9f9fb; + letter-spacing: 2px; +} +.layer p{ + font-weight: 500; + color: #f9f9fb; + letter-spacing: 1px; +} +@media(max-width:920px){ + .popular-menu .card-content{ + grid-template-columns: 1fr; + } +} +/* Our Popular Menu End */ +/* About Section Start */ +.about{ + padding: 50px 12.5% 0px; + height: 100vh; + background-color: white; + display: grid; + grid-template-columns: repeat(2, 1fr); + align-items: center; + gap: 1.5rem; + transition: all .50s ease; + display: flex; + justify-content: center; + align-items: center; + padding: 100px 0; +} +.about-img img{ + max-width: 530px; + height: auto; + width: 100%; + background-color: #c28d56; + border-radius: 10px; + transition: all .50s ease; + cursor: pointer; +} +.about-info h6{ + margin-bottom: 10px; + font-size: 15px; + color: #c28d56; +} +.about-info h3{ + color: #080707; + font-size: 30px; + line-height: 1; +} +.about-info p{ + color: #080707; + font-size: 15px; + margin-bottom: 2rem; + margin-top: 10px; +} +.about-btn{ + width: 150px; + height: 36px; + font-weight: bold; + background-color: #c28d56; + color: #f9f9fb; + border-radius: 5px; + border: none; + transition: 0.5s; + cursor: pointer; +} +.about-btn:hover{ + width: 165px; +} +@media(max-width:920px){ + .about{ + grid-template-columns: 1fr; + } + .about-img{ + text-align: center; + order: 2; + } + .about-img img{ + width: 100%; + height: auto; + max-width: 100%; + } + @media(max-width:951px){ + .about{ + padding: 100px 12% 100px; + height: auto; + } + } +} +/* About Section End */ +/* Order Section Start */ +.order{ + padding: 100px 12.5% 100px; + display: grid; + grid-template-columns: repeat(2, 1fr); + align-items: center; + gap: 2.5rem; + transition: all .50s ease; +} +.order h3{ + font-size: 30px; + color: #080707; + font-weight: bold; +} +.order h3 span{ + border-bottom: 2px solid #c28d56; +} +.order-info{ + margin-bottom: 10px; +} +.order-info p{ + margin-top: 15px; + font-size: 13px; + color: #080707; +} +.list{ + margin-top: 10px; +} +.list li{ + margin-bottom: 12px; +} +.list li a{ + display: block; + color: #080707; + font-weight: bold; + font-size: 15px; + transition: 0.5s; +} +.social i{ + padding: 10px; + background: transparent; + color: white; + border: 2px solid white; + margin-top: 10px; + border-radius: 5px; + transition: 0.5s; + cursor: pointer; +} +.social i:hover{ + background-color: white; + color: #080707; +} +.order-form form{ + position: relative; +} +.order-form form input, +form textarea{ + width: 100%; + padding: 10px; + background-color: white; + color: #080707; + border: none; + outline: none; + font-size: 15px; + border-radius: 5px; + margin-bottom: 10px; +} +.order-form textarea{ + resize: none; + height: 160px; +} +.order-form input::placeholder{ + color: #080707; +} +.order-form textarea::placeholder{ + color: #080707; +} +.order-form .submit{ + display: inline-block; + font-size: 15px; + background-color: white; + color: #080707; + width: 160px; + transition: 0.5s; + cursor: pointer; +} +.order-form .submit:hover{ + width: 175px; +} +@media(max-width:920px){ + .order{ + grid-template-columns: 1fr; + max-width: 100%; + } +} +@media(max-width:951px){ + .order{ + padding: 100px 12% 100px; + height: auto; + } +} +/* Order Section End */ +/* Review Section Start */ +.reviews{ + padding: 100px 12.5% 100px; +} +.reviews h3{ + font-size: 30px; + color: #080707; + font-weight: bold; +} +.reviews h3 span{ + border-bottom: 2px solid #c28d56; +} +.review-card{ + margin-top: 60px; + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, auto)); + align-items: center; + gap: 0.90rem; +} +.review-card .row{ + position: relative; + overflow: hidden; + border: 2px solid white; + border-radius: 5px; + transition: 0.5s ease; + cursor: pointer; +} +.review-card .row:hover{ + background-color: white; +} +.reviews .rating{ + padding: 10px; +} +.checked{ + color: orange; +} +.reviews p{ + color: #080707; + padding: 10px; + font-size: 13px; + font-weight: 600; +} +.reviews h6{ + padding: 10px; + color: #080707; +} +.reviews h6 img{ + width: 10%; +} +@media (max-width:920px){ + .review-card{ + grid-template-columns: 1fr; + } +} +@media (max-width:951px){ + .reviews{ + padding: 100px 12% 100px; + height: auto; + } +} +/* Review Section End */ +/* Footer Start */ +.logo img{ + width: 50px; +} +.footer-content{ + text-align: center; + padding-top: 5%; +} +.footer-content p{ + color: #080707; + font-weight: 550; + margin-top: 5px; + letter-spacing: 1px; + font-size: 13px; +} +.socail-links i{ + margin-top: 20px; + padding: 10px; + border-radius: 5px; + font-size: 20px; + color: #080707; + margin-left: 10px; + margin-bottom: 10px; + transition: 0.5s; + cursor: pointer; +} +.socail-links i:hover{ + background-color: #c28d56; + color: #f9f9fb; +} +.hr{ + width: 100%; + height: 1.5px; + background-color: #080707; +} +.footer-bottom{ + text-align: center; + background-color: white; +} +.footer-bottom p{ + color: #080707; + font-size: 15px; +} +.footer-bottom p a{ + color: #080707; + font-weight: 600; +} +/* Footer End */ + +/* Admin Panel */ + +body { + margin: 0; + font-family: 'NotoIKEA', 'Verdana', -apple-system, BlinkMacSystemFont, + 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; + font-size: 0.875rem; + font-weight: 400; + line-height: 1.57; + color: #484848; + text-align: left; + background-color: #F9F9F9; + } + + /* + * Heading + */ + + h1, + h3, + h6, + .h1, + .h3, + .h6 { + margin-bottom: 0.5rem; + font-weight: 600; + line-height: 1.2; + color: #111; + } + + h1, + .h1 { + font-size: 2.25rem; + } + + h3, + .h3 { + font-size: 1.5rem; + } + + h6, + .h6 { + font-size: 1rem; + } + + .display-1 { + font-size: 6rem; + font-weight: 700; + line-height: 1.2; + } + + .display-2 { + font-size: 5.5rem; + font-weight: 700; + line-height: 1.2; + } + + .display-1 { + font-size: 1.4rem; + font-weight: 700; + line-height: 1.2; + margin-bottom: 1.5rem; + letter-spacing: -0.0625em; + } + + .display-2 { + font-size: 1.2rem; + font-weight: 700; + line-height: 1.2; + margin-bottom: 1rem; + letter-spacing: -0.0625em; + } + + @media (min-width: 768px) { + .display-1 { + font-size: 1.5rem; + } + .display-2 { + font-size: 1.5rem; + } + } + + a:hover { + color: #111; + text-decoration: underline; + } + + a { + text-decoration: none; + } + + .icon { + vertical-align: middle; + line-height: 1rem; + margin-bottom: 4px; + } + + /* + * Sidebar + */ + + .sidebar { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 100; + padding: 80px 0 0; + box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1); + } + + .sidebar .nav-link { + font-weight: 500; + color: #333; + } + + .sidebar .nav-link.active { + color: #111; + } + + .sidebar-heading { + font-size: 0.75rem; + } + + /* + * Navbar + */ + + .custom-navbar { + background-color: #141413ff; + padding: 20px 0; + height: 80px; + } + + .navbar-nav .nav-link, + .navbar-brand, + .navbar-nav .nav-link.active { + color: #eceff4ff; + } + + .custom-navbar .navbar-brand { + font-weight: bold; + color: #eceff4ff; + } + + .custom-navbar .navbar-nav .nav-link:hover { + text-decoration: underline; + font-weight: bold; + } + + .custom-login-btn { + background-color: #1971c2; + } + + .custom-login-btn:hover { + background-color: #1971c2; + font-weight: bold; + } + + /* + * Form + */ + + .form-control { + height: 45px; + line-height: 1rem; + font-size: 0.875rem; + } + + textarea.form-control { + height: 60px; + line-height: 1rem; + font-size: 0.875rem; + } + + .form-select { + height: 45px; + line-height: 1rem; + font-size: 0.875rem; + } + + /* + * Button + */ + + .btn { + height: 45px; + font-size: 0.875rem; + } + + .btn-lg { + height: 55px; + font-size: 0.875rem; + display: inline-flex; + justify-content: center; + align-items: center; + font-weight: bold; + text-decoration: none; + white-space: nowrap; + } + + .btn-lg:hover { + text-decoration: none; + } + + .dropdown-toggle { + height: inherit; + } + + .btn-primary { + --bs-btn-color: #fff; + --bs-btn-bg: #0058a3; + --bs-btn-border-color: #0058a3; + --bs-btn-hover-color: #fff; + --bs-btn-hover-bg: #004683; + --bs-btn-hover-border-color: #014e92; + --bs-btn-focus-shadow-rgb: 49, 132, 253; + --bs-btn-active-color: #fff; + --bs-btn-active-bg: #003869; + --bs-btn-active-border-color: transparent; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #fff; + --bs-btn-disabled-bg: #0058a3; + --bs-btn-disabled-border-color: #0058a3; + } + + .btn-light { + --bs-btn-color: #111; + --bs-btn-bg: #fff; + --bs-btn-border-color: #ced4da; + --bs-btn-hover-color: #111; + --bs-btn-hover-bg: #fff; + --bs-btn-hover-border-color: #ced4da; + --bs-btn-active-color: #111; + --bs-btn-active-bg: #fff; + --bs-btn-active-border-color: #ced4da; + --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + --bs-btn-disabled-color: #111; + --bs-btn-disabled-bg: #fff; + --bs-btn-disabled-border-color: #ced4da; + } + + /* + * Card + */ + + .card-number { + font-size: 3rem; + } + + .details-button:hover { + text-decoration: underline; + font-weight: bold; + } + + .card-image { + width: 50%; + height: auto; + } + + .zoom-card { + transition: transform 0.3s ease; + } + + .zoom-card:hover { + transform: scale(1.05); + z-index: 1; + background-color: #dff3feff; + } + + .filters { + position: fixed; + top: 0; + bottom: 0; + left: 0; + z-index: 100; + padding: 180px 60px 0; + box-shadow: inset -1px 0 0 rgba(0, 0, 0, 0.1); + } + + /* + * Preloader + */ + + #preloader { + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + z-index: 9999; + background-color: #fff; + opacity: 0.8; + } + + #preloader .loading { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + } \ No newline at end of file diff --git a/Client/Burger Bites/src/assets/react.svg b/Client/Burger Bites/src/assets/react.svg new file mode 100644 index 0000000..6c87de9 --- /dev/null +++ b/Client/Burger Bites/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Client/Burger Bites/src/index.css b/Client/Burger Bites/src/index.css new file mode 100644 index 0000000..6119ad9 --- /dev/null +++ b/Client/Burger Bites/src/index.css @@ -0,0 +1,68 @@ +:root { + font-family: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif; + line-height: 1.5; + font-weight: 400; + + color-scheme: light dark; + color: rgba(255, 255, 255, 0.87); + background-color: #242424; + + font-synthesis: none; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +a { + font-weight: 500; + color: #646cff; + text-decoration: inherit; +} +a:hover { + color: #535bf2; +} + +body { + margin: 0; + display: flex; + place-items: center; + min-width: 320px; + min-height: 100vh; +} + +h1 { + font-size: 3.2em; + line-height: 1.1; +} + +button { + border-radius: 8px; + border: 1px solid transparent; + padding: 0.6em 1.2em; + font-size: 1em; + font-weight: 500; + font-family: inherit; + background-color: #1a1a1a; + cursor: pointer; + transition: border-color 0.25s; +} +button:hover { + border-color: #646cff; +} +button:focus, +button:focus-visible { + outline: 4px auto -webkit-focus-ring-color; +} + +@media (prefers-color-scheme: light) { + :root { + color: #213547; + background-color: #ffffff; + } + a:hover { + color: #747bff; + } + button { + background-color: #f9f9f9; + } +} diff --git a/Client/Burger Bites/src/layouts/RootLayout.jsx b/Client/Burger Bites/src/layouts/RootLayout.jsx new file mode 100644 index 0000000..59dce15 --- /dev/null +++ b/Client/Burger Bites/src/layouts/RootLayout.jsx @@ -0,0 +1,15 @@ +import { Outlet } from "react-router-dom" + +import NavBar from "../Pages/NavBar" + + +export default function RootLayout() { + return ( + <> + +
+ +
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/main.jsx b/Client/Burger Bites/src/main.jsx new file mode 100644 index 0000000..458ad85 --- /dev/null +++ b/Client/Burger Bites/src/main.jsx @@ -0,0 +1,13 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' +import App from './App.jsx' +import './index.css' +// import HomePage from "./Pages/HomePage.jsx" +import "./Pages/style.css" + +ReactDOM.createRoot(document.getElementById('root')).render( + + + {/* */} + , +) diff --git a/Client/Burger Bites/src/router/index.jsx b/Client/Burger Bites/src/router/index.jsx new file mode 100644 index 0000000..3506462 --- /dev/null +++ b/Client/Burger Bites/src/router/index.jsx @@ -0,0 +1,110 @@ +import { createBrowserRouter, redirect } from "react-router-dom"; + +import Login from "../Pages/LoginPage"; +import SignUp from "../Pages/SignUpPage"; +import About from "../Pages/AboutPage"; +import Review from "../Pages/ReviewPage"; +import Order from "../Pages/OrderPage"; +// import CheckOut from "../Pages/CheckOutPage"; +import AdminPanel from "../Pages/AdminPanel"; +import Burger from "../Pages/BurgerTable"; +import Home from "../Pages/HomePage"; + +import RootLayout from "../layouts/RootLayout"; + +import ErrorPage from "../Pages/ErrorPage.jsx"; +import NotFound from "../Pages/NotFoundPage.jsx"; + +const router = createBrowserRouter([ + { + path: "/signUp", + element: , + loader: () => { + redirect("/login"); + } + }, + { + path: "/login", + element: , + loader: () => { + return localStorage.getItem("token") ? redirect("/") : null; + } + }, + { + path: "/", + element: , + errorElement: , + loader: () => { + return !localStorage.getItem("token") ? redirect("/login") : null; + }, + children: [ + { + path: "", + element: + }, + { + path: "about", + element: , + + }, + { + path: "reviews", + element: , + + }, + // { + // path: "about", + // element: , + // children: [ + // { + // path: "delete/:id", + // element: + // } + // ], + + // }, + // { + + + // path: "add", + // element: , + // }, + // { + // path: "update/:id", + // element: , + // }, + // { + // path: "updateImgUrl/:id", + // element: , + // }, + // { + // path: "companies", + // element: , + // children: [ + // { + // path: "add", + // element: , + // }, + // { + // path: "update", + // element: , + // } + // ] + // }, + // { + // path: "users", + // element: + // } + ] + }, + // { + // path: "/", + // element: , + // }, + // { + // path: "/jobs/:id", + // element: , + // } +]) + +export default router; \ No newline at end of file diff --git a/Client/Burger Bites/src/utils/axios.js b/Client/Burger Bites/src/utils/axios.js new file mode 100644 index 0000000..3cd495b --- /dev/null +++ b/Client/Burger Bites/src/utils/axios.js @@ -0,0 +1,6 @@ +import axios from "axios" + +export const localRequest = axios.create({ + // baseURL: "https://career-portal-api.dhirenkirpalani.com/", + baseURL: "http://localhost:3000/" +}) \ No newline at end of file diff --git a/Client/Burger Bites/src/utils/sweetAlert.js b/Client/Burger Bites/src/utils/sweetAlert.js new file mode 100644 index 0000000..c5767a0 --- /dev/null +++ b/Client/Burger Bites/src/utils/sweetAlert.js @@ -0,0 +1,27 @@ +import Swal from 'sweetalert2'; + +export const errorAlert = (message) => { + Swal.fire({ + icon: "error", + title: "Oops...", + text: message, + }); +} +const Toast = Swal.mixin({ + toast: true, + position: "top-end", + showConfirmButton: false, + timer: 3000, + timerProgressBar: true, + didOpen: (toast) => { + toast.onmouseenter = Swal.stopTimer; + toast.onmouseleave = Swal.resumeTimer; + } +}); + +export const successToast = (message) => { + Toast.fire({ + icon: "success", + title: message + }); +} \ No newline at end of file diff --git a/Client/Burger Bites/vite.config.js b/Client/Burger Bites/vite.config.js new file mode 100644 index 0000000..861b04b --- /dev/null +++ b/Client/Burger Bites/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import react from '@vitejs/plugin-react-swc' + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [react()], +}) From 001bf44a777fe550e70857148366aec84bfd5526 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sat, 16 Mar 2024 17:52:27 +0700 Subject: [PATCH 12/18] feat: update cart --- Client/Burger Bites/index.html | 63 +- Client/Burger Bites/package-lock.json | 36 + Client/Burger Bites/package.json | 2 + Client/Burger Bites/src/App.jsx | 5 + Client/Burger Bites/src/Pages/AboutPage.jsx | 51 +- .../Burger Bites/src/Pages/AddBurgerForm.jsx | 160 +++ Client/Burger Bites/src/Pages/AdminPanel.jsx | 75 +- Client/Burger Bites/src/Pages/BurgerTable.jsx | 168 +-- Client/Burger Bites/src/Pages/Card.jsx | 82 ++ .../Burger Bites/src/Pages/CheckOutPage.jsx | 271 ++++ .../Burger Bites/src/Pages/EditBurgerForm.jsx | 178 +++ Client/Burger Bites/src/Pages/LoginPage.jsx | 204 +-- Client/Burger Bites/src/Pages/NavBar.jsx | 52 +- Client/Burger Bites/src/Pages/OrderPage.jsx | 285 +--- Client/Burger Bites/src/Pages/ProfilePage.jsx | 75 ++ Client/Burger Bites/src/Pages/Register.jsx | 176 +++ Client/Burger Bites/src/Pages/ReviewPage.jsx | 49 +- Client/Burger Bites/src/Pages/SideBar.jsx | 85 ++ Client/Burger Bites/src/Pages/SignUpPage.jsx | 185 --- .../src/Pages/UpdateBurgerImage.jsx | 110 ++ .../src/Pages/UpdateProfileImage.jsx | 85 ++ Client/Burger Bites/src/Pages/style.css | 31 + Client/Burger Bites/src/main.jsx | 2 +- Client/Burger Bites/src/router/index.jsx | 99 +- Server/.env | 5 - Server/.env.example | 4 +- Server/.gitignore | 3 +- Server/__tests__/addBurger.test.js | 116 ++ Server/__tests__/burgers.test.js | 52 + Server/__tests__/cart.test.js | 101 ++ Server/__tests__/deleteBurger.test.js | 116 ++ Server/__tests__/login.test.js | 73 + Server/__tests__/register.test.js | 103 ++ Server/__tests__/updateBurger.test.js | 166 +++ Server/__tests__/userProfile.test.js | 63 + Server/app.js | 38 +- Server/bin/www | 6 + Server/config/config.json | 9 +- Server/controllers/BurgerController.js | 389 ++++-- Server/controllers/UserController.js | 54 +- Server/coverage/clover.xml | 379 ++++++ Server/coverage/coverage-final.json | 13 + .../coverage/lcov-report/Server/app.js.html | 235 ++++ .../controllers/BurgerController.js.html | 1183 +++++++++++++++++ .../Server/controllers/UserController.js.html | 193 +++ .../lcov-report/Server/controllers/index.html | 131 ++ .../lcov-report/Server/helpers/bcrypt.js.html | 100 ++ .../lcov-report/Server/helpers/index.html | 131 ++ .../lcov-report/Server/helpers/jwt.js.html | 130 ++ Server/coverage/lcov-report/Server/index.html | 116 ++ .../Server/middlewares/authentication.js.html | 169 +++ .../Server/middlewares/authorization.js.html | 148 +++ .../Server/middlewares/errorHandler.js.html | 232 ++++ .../lcov-report/Server/middlewares/index.html | 146 ++ .../lcov-report/Server/models/burger.js.html | 343 +++++ .../lcov-report/Server/models/cart.js.html | 289 ++++ .../lcov-report/Server/models/index.html | 161 +++ .../lcov-report/Server/models/index.js.html | 214 +++ .../lcov-report/Server/models/user.js.html | 337 +++++ Server/coverage/lcov-report/base.css | 224 ++++ .../coverage/lcov-report/block-navigation.js | 87 ++ Server/coverage/lcov-report/favicon.png | Bin 0 -> 445 bytes Server/coverage/lcov-report/index.html | 176 +++ Server/coverage/lcov-report/prettify.css | 1 + Server/coverage/lcov-report/prettify.js | 2 + .../lcov-report/sort-arrow-sprite.png | Bin 0 -> 138 bytes Server/coverage/lcov-report/sorter.js | 196 +++ Server/coverage/lcov.info | 580 ++++++++ Server/data/cart.json | 23 + Server/data/users.json | 2 +- Server/helpers/apiKey.js | 5 - Server/helpers/jwt.js | 2 +- Server/middlewares/authentication.js | 13 +- Server/middlewares/authorization.js | 4 +- Server/middlewares/errorHandler.js | 50 + .../20240312123552-create-burger.js | 3 +- .../20240313081614-add-Done-to-Cart.js | 7 +- .../20240313081632-add-doneDate-to-Cart.js | 3 +- .../20240314064742-add-image-to-User.js | 28 + Server/models/burger.js | 6 +- Server/models/cart.js | 5 +- Server/models/user.js | 4 + Server/package-lock.json | 263 +++- Server/package.json | 7 +- Server/seeders/20240313081437-seed-burgers.js | 49 +- Server/seeders/20240314051613-seed-carts.js | 36 + 86 files changed, 9230 insertions(+), 1023 deletions(-) create mode 100644 Client/Burger Bites/src/Pages/AddBurgerForm.jsx create mode 100644 Client/Burger Bites/src/Pages/Card.jsx create mode 100644 Client/Burger Bites/src/Pages/EditBurgerForm.jsx create mode 100644 Client/Burger Bites/src/Pages/ProfilePage.jsx create mode 100644 Client/Burger Bites/src/Pages/Register.jsx create mode 100644 Client/Burger Bites/src/Pages/SideBar.jsx delete mode 100644 Client/Burger Bites/src/Pages/SignUpPage.jsx create mode 100644 Client/Burger Bites/src/Pages/UpdateBurgerImage.jsx create mode 100644 Client/Burger Bites/src/Pages/UpdateProfileImage.jsx delete mode 100644 Server/.env create mode 100644 Server/__tests__/addBurger.test.js create mode 100644 Server/__tests__/burgers.test.js create mode 100644 Server/__tests__/cart.test.js create mode 100644 Server/__tests__/deleteBurger.test.js create mode 100644 Server/__tests__/login.test.js create mode 100644 Server/__tests__/register.test.js create mode 100644 Server/__tests__/updateBurger.test.js create mode 100644 Server/__tests__/userProfile.test.js create mode 100644 Server/bin/www create mode 100644 Server/coverage/clover.xml create mode 100644 Server/coverage/coverage-final.json create mode 100644 Server/coverage/lcov-report/Server/app.js.html create mode 100644 Server/coverage/lcov-report/Server/controllers/BurgerController.js.html create mode 100644 Server/coverage/lcov-report/Server/controllers/UserController.js.html create mode 100644 Server/coverage/lcov-report/Server/controllers/index.html create mode 100644 Server/coverage/lcov-report/Server/helpers/bcrypt.js.html create mode 100644 Server/coverage/lcov-report/Server/helpers/index.html create mode 100644 Server/coverage/lcov-report/Server/helpers/jwt.js.html create mode 100644 Server/coverage/lcov-report/Server/index.html create mode 100644 Server/coverage/lcov-report/Server/middlewares/authentication.js.html create mode 100644 Server/coverage/lcov-report/Server/middlewares/authorization.js.html create mode 100644 Server/coverage/lcov-report/Server/middlewares/errorHandler.js.html create mode 100644 Server/coverage/lcov-report/Server/middlewares/index.html create mode 100644 Server/coverage/lcov-report/Server/models/burger.js.html create mode 100644 Server/coverage/lcov-report/Server/models/cart.js.html create mode 100644 Server/coverage/lcov-report/Server/models/index.html create mode 100644 Server/coverage/lcov-report/Server/models/index.js.html create mode 100644 Server/coverage/lcov-report/Server/models/user.js.html create mode 100644 Server/coverage/lcov-report/base.css create mode 100644 Server/coverage/lcov-report/block-navigation.js create mode 100644 Server/coverage/lcov-report/favicon.png create mode 100644 Server/coverage/lcov-report/index.html create mode 100644 Server/coverage/lcov-report/prettify.css create mode 100644 Server/coverage/lcov-report/prettify.js create mode 100644 Server/coverage/lcov-report/sort-arrow-sprite.png create mode 100644 Server/coverage/lcov-report/sorter.js create mode 100644 Server/coverage/lcov.info create mode 100644 Server/data/cart.json delete mode 100644 Server/helpers/apiKey.js create mode 100644 Server/middlewares/errorHandler.js create mode 100644 Server/migrations/20240314064742-add-image-to-User.js create mode 100644 Server/seeders/20240314051613-seed-carts.js diff --git a/Client/Burger Bites/index.html b/Client/Burger Bites/index.html index 96fecdf..4a977e9 100644 --- a/Client/Burger Bites/index.html +++ b/Client/Burger Bites/index.html @@ -1,34 +1,35 @@ - - - - - - Burger Bites - - - - - - - - - - - + - - -
- - - - - + + + +
+ + + + + + \ No newline at end of file diff --git a/Client/Burger Bites/package-lock.json b/Client/Burger Bites/package-lock.json index dc9e9b5..f705f63 100644 --- a/Client/Burger Bites/package-lock.json +++ b/Client/Burger Bites/package-lock.json @@ -8,6 +8,8 @@ "name": "burger-bites", "version": "0.0.0", "dependencies": { + "@react-oauth/google": "^0.12.1", + "aos": "^2.3.4", "axios": "^1.6.7", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -526,6 +528,15 @@ "node": ">= 8" } }, + "node_modules/@react-oauth/google": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/@react-oauth/google/-/google-0.12.1.tgz", + "integrity": "sha512-qagsy22t+7UdkYAiT5ZhfM4StXi9PPNvw0zuwNmabrWyMKddczMtBIOARflbaIj+wHiQjnMAsZmzsUYuXeyoSg==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@remix-run/router": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", @@ -1030,6 +1041,16 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/aos": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/aos/-/aos-2.3.4.tgz", + "integrity": "sha512-zh/ahtR2yME4I51z8IttIt4lC1Nw0ktsFtmeDzID1m9naJnWXhCoARaCgNOGXb5CLy3zm+wqmRAEgMYB5E2HUw==", + "dependencies": { + "classlist-polyfill": "^1.0.3", + "lodash.debounce": "^4.0.6", + "lodash.throttle": "^4.0.1" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", @@ -1272,6 +1293,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/classlist-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/classlist-polyfill/-/classlist-polyfill-1.2.0.tgz", + "integrity": "sha512-GzIjNdcEtH4ieA2S8NmrSxv7DfEV5fmixQeyTmqmRmRJPGpRBaSnA2a0VrCjyT8iW8JjEdMbKzDotAJf+ajgaQ==" + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2670,12 +2696,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, "node_modules/lodash.merge": { "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", "dev": true }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==" + }, "node_modules/loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", diff --git a/Client/Burger Bites/package.json b/Client/Burger Bites/package.json index 4072a82..34779c6 100644 --- a/Client/Burger Bites/package.json +++ b/Client/Burger Bites/package.json @@ -10,6 +10,8 @@ "preview": "vite preview" }, "dependencies": { + "@react-oauth/google": "^0.12.1", + "aos": "^2.3.4", "axios": "^1.6.7", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/Client/Burger Bites/src/App.jsx b/Client/Burger Bites/src/App.jsx index 7066bad..0908b7a 100644 --- a/Client/Burger Bites/src/App.jsx +++ b/Client/Burger Bites/src/App.jsx @@ -1,7 +1,12 @@ import {RouterProvider} from "react-router-dom" import router from "./router/index.jsx" +import { useEffect } from "react" +import AOS from "aos" function App() { + useEffect(() => { + AOS.init(); + }, []) return } diff --git a/Client/Burger Bites/src/Pages/AboutPage.jsx b/Client/Burger Bites/src/Pages/AboutPage.jsx index 84a7c7f..8dac8a3 100644 --- a/Client/Burger Bites/src/Pages/AboutPage.jsx +++ b/Client/Burger Bites/src/Pages/AboutPage.jsx @@ -86,51 +86,6 @@ export default function Home() { return ( <> -
- -
- {/* Navbar End */} {/* About Section Start */}
About us
-

Burger king

+

Burger Bites

Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe sed repellat, cum, enim doloribus fugit incidunt aut sunt, autem doloremque @@ -166,10 +121,6 @@ export default function Home() {

- - ) diff --git a/Client/Burger Bites/src/Pages/AddBurgerForm.jsx b/Client/Burger Bites/src/Pages/AddBurgerForm.jsx new file mode 100644 index 0000000..02fd0aa --- /dev/null +++ b/Client/Burger Bites/src/Pages/AddBurgerForm.jsx @@ -0,0 +1,160 @@ +import { localRequest } from "../utils/axios" +import { useState } from "react" +import { useNavigate, Link } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function AddJob() { + const nav = useNavigate(); + const [formData, setFormData] = useState({ + name: "", + desc: "", + price: "", + veg: "", + images: "" + }) + + const handleChange = (e) => { + const { name, value } = e.target + setFormData({ + ...formData, + [name]: value, + }) + } + + const handleSubmit = async (event) => { + event.preventDefault() + try { + let { data } = await localRequest({ + url: "/burgers", + method: "post", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: formData + }) + setFormData({}) + console.log(data) + successToast("Burger successfully added!"); + nav("/adminpanel/burgers") + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(error.response.data.message); + } + } + + return ( + <> +
+
+

Add Burger

+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+ + + Cancel + + +
+
+
+
+
+
+ + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/AdminPanel.jsx b/Client/Burger Bites/src/Pages/AdminPanel.jsx index 9b6e586..e4c06bc 100644 --- a/Client/Burger Bites/src/Pages/AdminPanel.jsx +++ b/Client/Burger Bites/src/Pages/AdminPanel.jsx @@ -1,78 +1,11 @@ -import { useNavigate, Link } from "react-router-dom" +import SideBar from "./SideBar" -export default function SideBar() { - const nav = useNavigate(); - const handleLogout = () => { - localStorage.removeItem("token") - nav("/login") - } +export default function AdminPanel() { return ( <> +
- -
+

Welcome to the Burger Bites Admin Panel

diff --git a/Client/Burger Bites/src/Pages/BurgerTable.jsx b/Client/Burger Bites/src/Pages/BurgerTable.jsx index bd4a0d7..f7916b5 100644 --- a/Client/Burger Bites/src/Pages/BurgerTable.jsx +++ b/Client/Burger Bites/src/Pages/BurgerTable.jsx @@ -1,8 +1,10 @@ -// import { useState, useEffect } from "react" -// import { localRequest } from "../../utils/axios" -// import { Link, useNavigate, Outlet } from "react-router-dom" +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { Link, useNavigate, Outlet } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; +import SideBar from "./SideBar"; -export default function JobsTable() { +export default function BurgerTable() { function formatCreatedAt(createdAt) { const date = new Date(createdAt); return date.toLocaleDateString("en-us", { @@ -11,75 +13,90 @@ export default function JobsTable() { day: "numeric" }) } - // const [jobsData, setJobsData] = useState([]) - // const [loading, setLoading] = useState(false) - // const [error, setError] = useState("") - // const navigate = useNavigate() + function formatCurrency(amount) { + + const formatter = new Intl.NumberFormat('id-ID', { + style: 'currency', + currency: 'IDR' + }); + + + return formatter.format(amount); + } + + const [burgersData, setBurgersData] = useState([]) + const [loading, setLoading] = useState(false) + const [error, setError] = useState("") - // const fetchJobs = async () => { - // setLoading("Loading...") - // setError("") - // try { - // let { data } = await localRequest({ - // url: "/jobs", - // headers: { - // Authorization: `Bearer ${localStorage.getItem("token")}` - // } - // }) - // setJobsData(data) - // console.log(data) - // } catch (error) { - // console.log(error.response?.data.message || error.message) - // setError(error) - // } finally { - // setLoading(false) - // } - // } + const navigate = useNavigate() - // const deleteJob = async (jobId) => { - // try { - // let { data } = await localRequest({ - // url: `/jobs/${jobId}`, - // method: "delete", - // headers: { - // Authorization: `Bearer ${localStorage.getItem("token")}` - // } - // }) - // setJobsData(jobsData.filter((job) => job.id !== jobId)) - // console.log(data) - // } catch (error) { - // console.log(error.response?.data.message || error.message) - // setError(error) - // } - // } + const fetchBurgers = async () => { + setLoading("Loading...") + setError("") + try { + let { data } = await localRequest({ + url: "/burgers", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setBurgersData(data) + console.log(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } finally { + setLoading(false) + } + } - // useEffect(() => { - // fetchJobs() - // }, []); + const deleteBurger = async (burgerId) => { + try { + let { data } = await localRequest({ + url: `/burgers/${burgerId}`, + method: "delete", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setBurgersData(burgersData.filter((burger) => burger.id !== burgerId)) + console.log(data) + successToast("Burger deleted successfully"); + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert("Unable to delete Burger"); + setError(error) + } + } - // if (error) { - // return

{error.message ?? error}

- // } + useEffect(() => { + fetchBurgers() + }, []); - // if (loading) { - // return

Loading...

- // } + if (error) { + return

{error.message ?? error}

+ } + + if (loading) { + return

Loading...

+ } return ( <> + {/* */}
-

Jobs

- {/* */} - - {/* */} +
@@ -103,46 +120,49 @@ export default function JobsTable() { - - {jobsData.map((job, index) => ( - + + {burgersData.map((burger, index) => ( + {index + 1} - {job.title} + {burger.name} - {job.description} + {burger.desc} + {formatCurrency(burger.price)} + {burger.veg.toString()} - {job.jobType} - {job.CompanyId} - {job.AuthorId} - {formatCreatedAt(job.createdAt)} - {formatCreatedAt(job.updatedAt)} + + + {formatCreatedAt(burger.createdAt)} + {formatCreatedAt(burger.updatedAt)} - deleteJob(job.id)}> + { + e.preventDefault(); + deleteBurger(burger.id)}}> delete - {/* */} + edit - {/* */} - {/* */} + + image - {/* */} + diff --git a/Client/Burger Bites/src/Pages/Card.jsx b/Client/Burger Bites/src/Pages/Card.jsx new file mode 100644 index 0000000..c52ebd8 --- /dev/null +++ b/Client/Burger Bites/src/Pages/Card.jsx @@ -0,0 +1,82 @@ +// import { Link } from "react-router-dom" +import { useState } from "react" +import { localRequest } from "../utils/axios" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function Card({ burgerId, name, desc, price, veg, images, title = "Add to Cart" }) { + function formatCurrency(amount) { + + const formatter = new Intl.NumberFormat('id-ID', { + style: 'currency', + currency: 'IDR' + }); + + + return formatter.format(amount); + } + + const [quantity, setQuantity] = useState(0); + + const handleInputChange = (event) => { + const value = parseInt(event.target.value); + if (!isNaN(value) && value >= 0) { + setQuantity(value); + } + }; + + const handleAddToCart = async () => { + if (quantity > 0) { + try { + const response = await localRequest.post(`/cart/${burgerId}`, { quantity }); + console.log("Added to cart:", response.data); + successToast(`${name} Burger successfully added to cart!`); + + } catch (error) { + console.error("Error adding to cart:", error); + errorAlert(error.response.data.message); + + } + } else { + console.log("Quantity should be greater than 0"); + errorAlert("Quantity should be greater than 0"); + + } + }; + + return ( + <> +
+
+
+
+ Burger Image +
+

+ {name} + + + + +

+

+ {desc} +

+

+ {veg ? "Veg" : "Non-Veg"} +

+
+ {formatCurrency(price)} +
+ +
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/CheckOutPage.jsx b/Client/Burger Bites/src/Pages/CheckOutPage.jsx index e69de29..92b93eb 100644 --- a/Client/Burger Bites/src/Pages/CheckOutPage.jsx +++ b/Client/Burger Bites/src/Pages/CheckOutPage.jsx @@ -0,0 +1,271 @@ +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { Link, useNavigate, Outlet } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function BurgerTable() { + function formatCreatedAt(createdAt) { + const date = new Date(createdAt); + return date.toLocaleDateString("en-us", { + year: "numeric", + month: "long", + day: "numeric" + }) + } + + function formatCurrency(amount) { + + const formatter = new Intl.NumberFormat('id-ID', { + style: 'currency', + currency: 'IDR' + }); + + + return formatter.format(amount); + } + + const [cartData, setCartData] = useState([]) + const [burgerData, setBurgerData] = useState([]) + const [loading, setLoading] = useState(false) + const [error, setError] = useState("") + const [purchased, setPurchased] = useState(false); + const [transactionToken, setTransactionToken] = useState(""); + + const navigate = useNavigate() + + const fetchCart = async () => { + setLoading("Loading...") + setError("") + try { + let { data } = await localRequest({ + url: "/cart", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setCartData(data) + console.log(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } finally { + setLoading(false) + } + } + + const fetchBurgers = async () => { + setLoading("Loading...") + setError("") + try { + let { data } = await localRequest({ + url: "/burgers", + }) + setBurgerData(data) + console.log(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } finally { + setLoading(false) + } + } + + const deleteBurger = async (burgerId) => { + try { + let { data } = await localRequest({ + url: `/cart/${burgerId}`, + method: "delete", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setCartData(cartData.filter((cart) => cart.BurgerId !== burgerId)) + console.log(data) + successToast("Burger removed from cart"); + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert("Unable to delete Burger"); + setError(error) + } + } + + useEffect(() => { + fetchCart() + fetchBurgers() + }, []); + + useEffect(() => { + if (purchased) { + console.log("Burgers purchased"); + } + }, [purchased]); + + if (error) { + return

{error.message ?? error}

+ } + + if (loading) { + return

Loading...

+ } + + const totalPrice = cartData.reduce((acc, cart) => { + const burger = burgerData.find((burger) => burger.id === cart.BurgerId); + return acc + burger.price * cart.quantity; + }, 0); + + const handleCheckout = async () => { + try { + // await localRequest({ + // url: "/cart/purchase", + // method: "patch", + // headers: { + // Authorization: `Bearer ${localStorage.getItem("token")}` + // } + // }); + const {data} = await localRequest({ + url: "/cart/generateMidTransToken", + method: "post", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: { + totalPrice: totalPrice // Pass the totalPrice to the backend + } + }); + console.log(data.token, "<<<<<<<<<<<<<<<<<<,") + // setTransactionToken(data.token) + window.snap.pay(data.token, { + onSuccess: function(result){ + /* You may add your own implementation here */ + alert("payment success!"); console.log(result); + }, + onPending: function(result){ + /* You may add your own implementation here */ + alert("wating your payment!"); console.log(result); + }, + onError: function(result){ + /* You may add your own implementation here */ + alert("payment failed!"); console.log(result); + }, + onClose: function(){ + /* You may add your own implementation here */ + alert('you closed the popup without finishing the payment'); + }, + + + }) + // successToast("Burgers have been purchased"); + // setCartData([]); + setPurchased(true); + } catch (error) { + console.log(error.response?.data.message || error.message); + errorAlert("Unable to purchase Burgers"); + } + }; + + return ( + <> + {/* */} +
+
+

My Cart

+
+
+
+ + + + + + + + + + + + + + + + + {cartData.map((cart) => { + const burger = burgerData.find((burger) => burger.id === cart.BurgerId) + return ( + + + + + + + + + + + + + + ) + })} + +
Name + Description + + Price + Burger TypeImageQuantityUpdated At + Actions +
{burger.name} + {burger.desc} + {formatCurrency(burger.price)}{burger.veg ? "Veg" : "Non-Veg"} + + + {cart.quantity} + {formatCreatedAt(burger.updatedAt)} + + { + e.preventDefault(); + deleteBurger(cart.BurgerId) + }}> + + delete + + + + +
+
+
+
+
+ {!purchased && ( + <> +

Total Price: {formatCurrency(totalPrice)}

+ + + + + + )} + {purchased && ( + + + + )} +
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/EditBurgerForm.jsx b/Client/Burger Bites/src/Pages/EditBurgerForm.jsx new file mode 100644 index 0000000..f3a07f2 --- /dev/null +++ b/Client/Burger Bites/src/Pages/EditBurgerForm.jsx @@ -0,0 +1,178 @@ +import { localRequest } from "../utils/axios" +import { useState, useEffect } from "react" +import { useNavigate, useParams, Link } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function UpdateJob() { + const { burgerId } = useParams() + const nav = useNavigate(); + const [formData, setFormData] = useState({ + name: "", + desc: "", + price: "", + veg: "", + images: "" + }) + + useEffect(() => { + const fetchBurgers = async () => { + try { + let { data } = await localRequest({ + url: `/burgers/${burgerId}`, + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setFormData(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(err.response.data.message); + setError(error) + } + } + fetchBurgers() + }, [burgerId]); + + const handleChange = (event) => { + const { name, value } = event.target + setFormData({ + ...formData, + [name]: value, + }) + } + + const handleSubmit = async (event) => { + event.preventDefault() + try { + let { data } = await localRequest({ + url: `/burgers/${burgerId}`, + method: "put", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: formData + }) + console.log(data) + successToast("Burger successfully updated!"); + nav("/adminpanel/burgers") + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(error.response.data.message); + } + } + return ( + <> +
+
+

Update Burger

+
+
+
+
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+
+
+ +
+
+ + + Cancel + + +
+
+
+
+
+
+ + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/LoginPage.jsx b/Client/Burger Bites/src/Pages/LoginPage.jsx index 3cac120..e7fa594 100644 --- a/Client/Burger Bites/src/Pages/LoginPage.jsx +++ b/Client/Burger Bites/src/Pages/LoginPage.jsx @@ -20,6 +20,13 @@ export default function Login() { }) } + const [showPassword, setShowPassword] = useState(false); + + const togglePasswordVisibility = () => { + setShowPassword((prev) => !prev); + }; + + const handleSubmit = async (event) => { event.preventDefault(); try { @@ -33,7 +40,7 @@ export default function Login() { navigate("/") } catch (error) { console.log(error.response.data.message) - errorAlert(err.response.data.message); + errorAlert(error.response.data.message); } } @@ -41,7 +48,7 @@ export default function Login() { const { data } = await localRequest.post("/google-login", { googleToken: credential }) - localStorage.setItem("access_token", data.access_token); + localStorage.setItem("token", data.token); console.log(data.message, "<<<<<") successToast(data.message); navigate("/") @@ -62,105 +69,118 @@ export default function Login() { }, []) return ( - - <> - {/*--------------------- Main Container ------------------------*/} -
- {/*--------------------- Login Container ------------------------*/} -
- {/*------------------------- Left Box ---------------------------*/} -
-
- -
-

- Become a member -

- - Join our community by signing up today and enhance your experience with us! - + + <> + {/*--------------------- Main Container ------------------------*/} +
+ {/*--------------------- Login Container ------------------------*/} +
+ {/*------------------------- Left Box ---------------------------*/} +
+
+
- {/*------------------ ------ Right Box --------------------------*/} -
-
-
-
-

Hello, Again

-

We are happy to have you back.

-
-
- - -
-
- -
-
- - -
-
- -
-
-
+

+ Become a member +

+ + Join our community by signing up today and enhance your experience with us! + +
+ {/*------------------ ------ Right Box --------------------------*/} +
+
+
+
+

Hello, Again

+

We are happy to have you back.

+
+
+ + +
- + +
+
+ +
-
-
+
+ +
-
- - Don't have an account? Sign Up - +
+
+
+ +
+
+
+
+ + Don't have an account? + + Sign Up + + +
- +
+ + + - - ) } \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/NavBar.jsx b/Client/Burger Bites/src/Pages/NavBar.jsx index 3698211..b36e602 100644 --- a/Client/Burger Bites/src/Pages/NavBar.jsx +++ b/Client/Burger Bites/src/Pages/NavBar.jsx @@ -16,32 +16,49 @@ export default function NavBar() {
{/* Navbar End */} diff --git a/Client/Burger Bites/src/Pages/OrderPage.jsx b/Client/Burger Bites/src/Pages/OrderPage.jsx index 5990637..1c93f61 100644 --- a/Client/Burger Bites/src/Pages/OrderPage.jsx +++ b/Client/Burger Bites/src/Pages/OrderPage.jsx @@ -1,12 +1,10 @@ -// import { useState, useEffect } from "react" -// import NavBar from "../components/NavBar" -// import SearchBar from "../components/SearchBar" -// import SortBy from "../components/SortBy" -// import Card from "./Card" -// import { localRequest } from "../../utils/axios" +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import Card from "./Card"; export default function Home() { - // const [jobsData, setJobsData] = useState([]) + const [burgerData, setBurgerData] = useState([]) + const [loading, setLoading] = useState(false); // const [filteredJobs, setFilteredJobs] = useState([]) // const [searchTerm, setSearchTerm] = useState(""); // const [sortOrder, setSortOrder] = useState("asc"); @@ -15,20 +13,35 @@ export default function Home() { // const [filterJobType, setFilterJobType] = useState(""); // const [companiesData, setCompaniesData] = useState([]); // const [filterCompanyId, setFilterCompanyId] = useState(""); - // useEffect(() => { - // async function getJobs() { - // try { - // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); - // setJobsData(response.data.data) - // setFilteredJobs(response.data.data) - // setTotalPages(response.data.totalPage) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getJobs() - // }, [filterCompanyId, searchTerm]); + useEffect(() => { + async function getBurgers() { + setLoading(true); + try { + const response = await localRequest.get(`/burgers`); + setBurgerData(prevData => [...prevData, ...response.data]); + console.log(response); + } catch (error) { + console.error(error); + } + setLoading(false); + } + getBurgers() + + window.addEventListener("scroll", handleScroll); + + return () => { + window.removeEventListener("scroll", handleScroll); + }; + }, []); + + const handleScroll = () => { + if ( + window.innerHeight + document.documentElement.scrollTop === + document.documentElement.offsetHeight + ) { + getBurgers(); + } + }; // useEffect(() => { // async function getCompanies() { @@ -86,53 +99,6 @@ export default function Home() { return ( <> -
- -
- {/* Navbar End */} - {/* Home Section Start */} - {/* Offer Section Start */}
Our Burger Menu
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
- $65 -
-
-
-
+ {burgerData.map((burger) => ( + + ))} + {loading &&
Loading...
}
{/* Our Menu End */} {/* Footer Start */} diff --git a/Client/Burger Bites/src/Pages/ProfilePage.jsx b/Client/Burger Bites/src/Pages/ProfilePage.jsx new file mode 100644 index 0000000..8a06c55 --- /dev/null +++ b/Client/Burger Bites/src/Pages/ProfilePage.jsx @@ -0,0 +1,75 @@ +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { Link, useNavigate, Outlet } from "react-router-dom" + +export default function ProfilePage() { + function formatCreatedAt(updatedAt) { + const date = new Date(updatedAt); + return date.toLocaleDateString("en-us", { + year: "numeric", + month: "long", + day: "numeric" + }) + } + const [userData, setUserData] = useState({}) + const [loading, setLoading] = useState(false) + const [error, setError] = useState("") + + const navigate = useNavigate() + + const fetchUser = async () => { + setLoading("Loading...") + setError("") + try { + let { data } = await localRequest({ + url: "/users", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setUserData(data) + console.log(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } finally { + setLoading(false) + } + } + + useEffect(() => { + fetchUser() + }, []); + + if (error) { + return

{error.message ?? error}

+ } + + if (loading) { + return

Loading...

+ } + return ( + <> +
+ +
+
{userData.name}
+

+ {userData.email} +

+

+ {userData.role} +

+

+ Updated at: {formatCreatedAt(userData.updatedAt)} +

+ + + +
+
+ + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/Register.jsx b/Client/Burger Bites/src/Pages/Register.jsx new file mode 100644 index 0000000..82a037c --- /dev/null +++ b/Client/Burger Bites/src/Pages/Register.jsx @@ -0,0 +1,176 @@ +import { useState } from "react" +import { localRequest } from "../utils/axios" +import { errorAlert, successToast } from "../utils/sweetAlert"; +import { useNavigate, Link } from "react-router-dom" + +export default function Register() { + const navigate = useNavigate() + const [formData, setFormData] = useState({ + name: "", + email: "", + password: "" + }); + + const handleChangeInput = (e) => { + const { name, value } = e.target + + setFormData({ + ...formData, + [name]: value, + }) + } + + const handleSubmit = async (event) => { + event.preventDefault(); + try { + let { data } = await localRequest({ + url: "/register", + method: "post", + data: formData + }) + successToast("Sign Up successful"); + navigate("/login") + } catch (error) { + console.log(error.response.data.message) + errorAlert(err.response.data.message); + } + } + + const [showPassword, setShowPassword] = useState(false); + + const togglePasswordVisibility = () => { + setShowPassword((prev) => !prev); + }; + + return ( + + <> + {/*--------------------- Main Container ------------------------*/} +
+ {/*--------------------- Login Container ------------------------*/} +
+ {/*------------------------- Left Box ---------------------------*/} +
+
+ +
+

+ Become a member +

+ + Join our community by signing up today and enhance your experience with us! + +
+ {/*------------------ ------ Right Box --------------------------*/} +
+
+
+
+

Taste the difference

+

Sign Up Today!

+
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ +
+
+
+
+
+
+
+ + Already a member? + + Login + + +
+
+
+
+
+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/ReviewPage.jsx b/Client/Burger Bites/src/Pages/ReviewPage.jsx index 98fdb9a..94a844f 100644 --- a/Client/Burger Bites/src/Pages/ReviewPage.jsx +++ b/Client/Burger Bites/src/Pages/ReviewPage.jsx @@ -86,51 +86,6 @@ export default function Home() { return ( <> -
- -
- {/* Navbar End */} {/* Reviews Start */}

- What's Our Customers Say + What Our Customers Say

@@ -200,7 +155,7 @@ export default function Home() {
{/* Reviews End */} {/* Footer Start */} -
+

diff --git a/Client/Burger Bites/src/Pages/SideBar.jsx b/Client/Burger Bites/src/Pages/SideBar.jsx new file mode 100644 index 0000000..a841e35 --- /dev/null +++ b/Client/Burger Bites/src/Pages/SideBar.jsx @@ -0,0 +1,85 @@ +import { useNavigate, Link } from "react-router-dom" + +export default function SideBar() { + const nav = useNavigate(); + const handleLogout = () => { + localStorage.removeItem("token") + nav("/login") + } + return ( + <> + +

+ + + + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/SignUpPage.jsx b/Client/Burger Bites/src/Pages/SignUpPage.jsx deleted file mode 100644 index 594f7b3..0000000 --- a/Client/Burger Bites/src/Pages/SignUpPage.jsx +++ /dev/null @@ -1,185 +0,0 @@ -import { useState, useEffect } from "react" -// import { localRequest } from "../../utils/axios" -// import toast from "../../utils/toast" -// import Button from "../components/Button" -// import NavBar from "../components/NavBar" -// import { useNavigate, Link } from "react-router-dom" -import axios from "axios" - -export default function SignUp() { - const [userData, setUserData] = useState({ - email: "", - password: "" - }); - - const handleChangeInput = (event) => { - const key = event.target.name - const value = event.target.value - - setUserData({ - ...userData, - [key]: value - }) - } - - // const navigate = useNavigate() - const handleSubmit = async (event) => { - event.preventDefault(); - try { - let { data } = await localRequest({ - url: "/login", - method: "post", - data: userData - }) - localStorage.setItem("token", data.access_token) - toast({ message: "Login successful!", backgroundColor: "green" }) - navigate("/cms") - } catch (error) { - console.log(error.response.data.message) - toast({ message: error.response?.data?.message + "!" || error.message, status: "error" }) - } - } - - const handleCredentialResponse = async ({ credential }) => { - const { data } = await axios.post("http://localhost:3000/google-login", { - googleToken: credential - }) - localStorage.setItem("token", data.access_token); - console.log(data.message, "<<<<<") - // navigate("/") - } - - useEffect(() => { - - google.accounts.id.initialize({ - client_id: "483160331749-3i3b3l3nvvostt3ccublhnmi64dtmkob.apps.googleusercontent.com", - callback: handleCredentialResponse - }); - google.accounts.id.renderButton( - document.getElementById("buttonDiv"), - { theme: "outline", size: "large" } // customization attributes - ); - google.accounts.id.prompt(); // also display the One Tap dialog - - }, []) - - return ( - - <> - {/*--------------------- Main Container ------------------------*/} -
- {/*--------------------- Login Container ------------------------*/} -
- {/*------------------------- Left Box ---------------------------*/} -
-
- -
-

- Become a member -

- - Join our community by signing up today and enhance your experience with us! - -
- {/*------------------ ------ Right Box --------------------------*/} -
-
-
-
-

Taste the difference

-

Sign Up Today!

-
-
- - -
-
- -
-
- - -
-
- -
-
- - -
-
- -
-
-
-
- -
-
-
-
-
- - Already a member? Login - -
-
-
-
-
- - - - - ) -} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/UpdateBurgerImage.jsx b/Client/Burger Bites/src/Pages/UpdateBurgerImage.jsx new file mode 100644 index 0000000..db4fdf3 --- /dev/null +++ b/Client/Burger Bites/src/Pages/UpdateBurgerImage.jsx @@ -0,0 +1,110 @@ +import { localRequest } from "../utils/axios" +import { useState, useEffect } from "react" +import { useNavigate, useParams, Link } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function UpdateImage() { + const { burgerId } = useParams() + const nav = useNavigate(); + const [burger, setBurger] = useState("") + const [image, setImage] = useState(null) + const [error, setError] = useState("") + + useEffect(() => { + const fetchBurgerDetails = async () => { + try { + const response = await localRequest({ + url: `burgers/${burgerId}`, + method: "get", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setBurger(response.data) + } catch (error) { + console.error("Error fetching job details:", error); + setError("Error fetching job details") + } + } + fetchBurgerDetails() + }, [burgerId]) + + const handleImageChange = (e) => { + const file = e.target.files[0] + setImage(file) + } + + const handleSubmit = async (e) => { + e.preventDefault() + if(!image) { + errorAlert("Please select an image to update."); + return; + } + try { + const formData = new FormData() + formData.append("image", image) + let response = await localRequest({ + url: `/burgers/${burgerId}/image`, + method: "patch", + headers: { + "Content-Type": "multipart/form-data", + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: formData + }) + console.log(response.data) + successToast("Image successfully updated!"); + nav("/adminpanel/burgers") + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(error.response.data.message); + } + } + return ( + <> +
+
+
+
Burger Details
+

Burger Name: {burger.name}

+
+

Current Burger Image:

Burger Image +
+
+

+
+
+
+
+

Update Burger Image

+
+ +
+ + + + Cancel + +
+
+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/UpdateProfileImage.jsx b/Client/Burger Bites/src/Pages/UpdateProfileImage.jsx new file mode 100644 index 0000000..f6de6bf --- /dev/null +++ b/Client/Burger Bites/src/Pages/UpdateProfileImage.jsx @@ -0,0 +1,85 @@ +import { localRequest } from "../utils/axios" +import { useState, useEffect } from "react" +import { useNavigate, Link } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function UpdateProfileImage() { + const nav = useNavigate(); + const [user, setUser] = useState("") + const [image, setImage] = useState(null) + const [error, setError] = useState("") + + const handleImageChange = (e) => { + const file = e.target.files[0] + setImage(file) + } + + const handleSubmit = async (e) => { + e.preventDefault() + if(!image) { + errorAlert(err.response.data.message); + return; + } + try { + const formData = new FormData() + formData.append("image", image) + let response = await localRequest({ + url: `/users/profile`, + method: "patch", + headers: { + "Content-Type": "multipart/form-data", + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: formData + }) + console.log(response.data) + successToast("Image successfully updated!"); + nav("/profile") + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(err.response.data.message); + } finally { + nav("/profile") + } + } + return ( + <> +
+
+
+
+
+

Update Profile Image

+
+ +
+ + + + Cancel + +
+
+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/style.css b/Client/Burger Bites/src/Pages/style.css index 5e3026e..d72f18a 100644 --- a/Client/Burger Bites/src/Pages/style.css +++ b/Client/Burger Bites/src/Pages/style.css @@ -1132,4 +1132,35 @@ body { left: 50%; top: 50%; transform: translate(-50%, -50%); + } + + /* Profile Page */ + + .card { + margin-top: 2em; + padding: 1.5em 0.5em 0.5em; + border-radius: 2em; + text-align: center; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + } + .card img { + width: 65%; + border-radius: 50%; + margin: 0 auto; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); + } + .card .card-title { + font-weight: 700; + font-size: 1.5em; + } + .card .btn { + border-radius: 2em; + background-color: teal; + color: #ffffff; + padding: 0.5em 1.5em; + } + .card .btn:hover { + background-color: rgba(0, 128, 128, 0.7); + color: #ffffff; + box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); } \ No newline at end of file diff --git a/Client/Burger Bites/src/main.jsx b/Client/Burger Bites/src/main.jsx index 458ad85..09ac784 100644 --- a/Client/Burger Bites/src/main.jsx +++ b/Client/Burger Bites/src/main.jsx @@ -2,8 +2,8 @@ import React from 'react' import ReactDOM from 'react-dom/client' import App from './App.jsx' import './index.css' -// import HomePage from "./Pages/HomePage.jsx" import "./Pages/style.css" +// import HomePage from "./Pages/HomePage.jsx" ReactDOM.createRoot(document.getElementById('root')).render( diff --git a/Client/Burger Bites/src/router/index.jsx b/Client/Burger Bites/src/router/index.jsx index 3506462..ebb6e4b 100644 --- a/Client/Burger Bites/src/router/index.jsx +++ b/Client/Burger Bites/src/router/index.jsx @@ -1,27 +1,32 @@ import { createBrowserRouter, redirect } from "react-router-dom"; import Login from "../Pages/LoginPage"; -import SignUp from "../Pages/SignUpPage"; +import Register from "../Pages/Register"; import About from "../Pages/AboutPage"; import Review from "../Pages/ReviewPage"; import Order from "../Pages/OrderPage"; -// import CheckOut from "../Pages/CheckOutPage"; +import ProfilePage from "../Pages/ProfilePage"; +import UpdateProfileImage from "../Pages/UpdateProfileImage.jsx"; +import CheckOut from "../Pages/CheckOutPage"; import AdminPanel from "../Pages/AdminPanel"; -import Burger from "../Pages/BurgerTable"; +import BurgerTable from "../Pages/BurgerTable"; import Home from "../Pages/HomePage"; +import AddBurgerForm from "../Pages/AddBurgerForm.jsx"; +import EditBurgerForm from "../Pages/EditBurgerForm.jsx"; +import UpdateBurgerImage from "../Pages/UpdateBurgerImage.jsx"; import RootLayout from "../layouts/RootLayout"; import ErrorPage from "../Pages/ErrorPage.jsx"; -import NotFound from "../Pages/NotFoundPage.jsx"; +// import NotFound from "../Pages/NotFoundPage.jsx"; const router = createBrowserRouter([ { - path: "/signUp", - element: , - loader: () => { - redirect("/login"); - } + path: "/register", + element: , + // loader: () => { + // redirect("/login"); + // } }, { path: "/login", @@ -52,17 +57,26 @@ const router = createBrowserRouter([ element: , }, - // { - // path: "about", - // element: , - // children: [ - // { - // path: "delete/:id", - // element: - // } - // ], + { + path: "orders", + element: , - // }, + }, + { + path: "profile", + element: , + + }, + { + path: "updateProfileImage", + element: , + + }, + { + path: "cart", + element: + + }, // { @@ -97,10 +111,49 @@ const router = createBrowserRouter([ // } ] }, - // { - // path: "/", - // element: , - // }, + { + path: "/adminpanel", + element: , + errorElement: , + loader: () => { + return !localStorage.getItem("token") ? redirect("/login") : null; + }, + children: [ + { + path: "", + element: + }, + { + path: "burgers", + element: , + children: [ + { + path: "delete/:burgerId", + element: + } + ], + + }, + { + + + path: "add", + element: , + }, + { + path: "update/:burgerId", + element: , + }, + { + path: "updateImgUrl/:burgerId", + element: , + }, + { + path: "adminprofile", + element: , + }, + ] + } // { // path: "/jobs/:id", // element: , diff --git a/Server/.env b/Server/.env deleted file mode 100644 index e7e5eef..0000000 --- a/Server/.env +++ /dev/null @@ -1,5 +0,0 @@ -JWT_SECRET=secret -BURGERS_HUB_API_KEY=e24fa33343msh86fdf1e6fb9528cp11d37fjsnc7dc32fb9a00 -cloudinary_cloud_name=dyu4z0lrb -cloudinary_api_key=923716154539216 -cloudinary_api_secret=ZYr_5pcxS3rqAbQM4w8u73wnmL8 \ No newline at end of file diff --git a/Server/.env.example b/Server/.env.example index be8506d..d92480d 100644 --- a/Server/.env.example +++ b/Server/.env.example @@ -1,2 +1,4 @@ JWT_SECRET= -BURGERS_HUB_API_KEY= \ No newline at end of file +BURGERS_HUB_API_KEY= +Google_Client_ID= +Google_Client_secret= \ No newline at end of file diff --git a/Server/.gitignore b/Server/.gitignore index b512c09..1dcef2d 100644 --- a/Server/.gitignore +++ b/Server/.gitignore @@ -1 +1,2 @@ -node_modules \ No newline at end of file +node_modules +.env \ No newline at end of file diff --git a/Server/__tests__/addBurger.test.js b/Server/__tests__/addBurger.test.js new file mode 100644 index 0000000..a22ca9d --- /dev/null +++ b/Server/__tests__/addBurger.test.js @@ -0,0 +1,116 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +describe("post /burgers/add", () => { + describe("Success", () => { + test("should return status 201 and burgers data", async () => { + const burgerData = { + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + } + let { status, body } = await request(app) + .post("/burgers/add") + .set("Authorization", `Bearer ${access_token}`) + .send(burgerData) + console.log(body.burgerData, "<<<<<<") + expect(status).toBe(201); + expect(body.burgerData).toHaveProperty("name", burgerData.name); + expect(body.burgerData).toHaveProperty("desc", burgerData.desc); + expect(body.burgerData).toHaveProperty("price", burgerData.price); + expect(body.burgerData).toHaveProperty("veg", burgerData.veg); + expect(body.burgerData).toHaveProperty("images", burgerData.images); + expect(body.burgerData).toHaveProperty("createdAt", expect.any(String)); + expect(body.burgerData).toHaveProperty("updatedAt", expect.any(String)); + }) + }) + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .post("/burgers/add") + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + }) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 400 and name is required", async () => { + let { status, body } = await request(app) + .post("/burgers/add") + .set("Authorization", `Bearer ${access_token}`) + .send({ + name: "", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off", + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Name is required"); + }) + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .post("/burgers/add") + .set("Authorization", `Bearer ${damaged_token}`) + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + }) + console.log(body, "<<<<< from addBurgerTest") + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .post("/burgers/add") + .set("Authorization", `Beare ${access_token}`) + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" + }) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: "test", + email: "test@gmail.com", + password: hashPassword("admin"), + role: "Admin", + createdAt: new Date(), + updatedAt: new Date() + }]) + const admin = await User.findOne({ where: { email: "test@gmail.com" } }); + access_token = signToken({ id: admin.id }); + damaged_token = signToken({ id: admin.id }); + damaged_token += "i"; + +}) + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/burgers.test.js b/Server/__tests__/burgers.test.js new file mode 100644 index 0000000..afd55e2 --- /dev/null +++ b/Server/__tests__/burgers.test.js @@ -0,0 +1,52 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); + +describe("get /burgers", () => { + describe("Success", () => { + test("should return status 200 and object of burgers", async () => { + let { status, body } = await request(app) + .get("/burgers") + expect(status).toBe(200); + expect(body[0]).toHaveProperty("name", expect.any(String)); + expect(body[0]).toHaveProperty("desc", expect.any(String)); + expect(body[0]).toHaveProperty("price", expect.any(Number)); + expect(body[0]).toHaveProperty("veg", expect.any(Boolean)); + expect(body[0]).toHaveProperty("images", expect.any(String)); + expect(body[0]).toHaveProperty("createdAt", expect.any(String)); + expect(body[0]).toHaveProperty("updatedAt", expect.any(String)); + }) + + test("should return status 200 and object of burgers", async () => { + let { status, body } = await request(app) + .get("/burgers?filter=1") + expect(status).toBe(200); + expect(body[0]).toHaveProperty("name", expect.any(String)); + expect(body[0]).toHaveProperty("desc", expect.any(String)); + expect(body[0]).toHaveProperty("price", expect.any(Number)); + expect(body[0]).toHaveProperty("veg", expect.any(Boolean)); + expect(body[0]).toHaveProperty("images", expect.any(String)); + expect(body[0]).toHaveProperty("createdAt", expect.any(String)); + expect(body[0]).toHaveProperty("updatedAt", expect.any(String)); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + return el; + })) +}) + + +afterAll(async () => { + await queryInterface.bulkDelete("Burgers", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/cart.test.js b/Server/__tests__/cart.test.js new file mode 100644 index 0000000..7e12f78 --- /dev/null +++ b/Server/__tests__/cart.test.js @@ -0,0 +1,101 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +let user_1 = { + name: "Admin", + email: "admin@gmail.com", + password: "admin", + role: "Admin" +} + +let access_token_user_1; + +describe("get /mycart", () => { + describe("Success", () => { + test("should return status 200 and object of burger", async () => { + let { status, body } = await request(app) + .get("/mycart") + .set("Authorization", `Bearer ${access_token_user_1}`) + console.log(body[0], "<<<") + expect(status).toBe(200); + expect(body).not.toHaveLength(0); + expect(body[0]).toHaveProperty("quantity", expect.any(Number)); + expect(body[0]).toHaveProperty("UserId", expect.any(Number)); + expect(body[0]).toHaveProperty("BurgerId", expect.any(Number)); + expect(body[0]).toHaveProperty("purchased", expect.any(Boolean)); + expect(body[0]).toHaveProperty("purchasedAt", expect.any(String)); + expect(body[0]).toHaveProperty("createdAt", expect.any(String)); + expect(body[0]).toHaveProperty("updatedAt", expect.any(String)); + }) + }) + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .get("/mycart") + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 401 and token is required", async () => { + let { status, body } = await request(app) + .get("/mycart") + .set("Authorization", `Bearer ${damaged_token_user_1}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .get("/mycart") + .set("Authorization", `Beare ${access_token_user_1}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: user_1.name, + email: user_1.email, + password: hashPassword(user_1.password), + role: user_1.role, + createdAt: new Date(), + updatedAt: new Date() + } + ]) + + const admin = await User.findOne({ where: { email: user_1.email } }); + access_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 += "i"; + + await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + return el; + })) + + await queryInterface.bulkInsert("Carts", require("../data/cart.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + el.UserId = 1 + return el; + })) +}) + + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) + + await queryInterface.bulkDelete("Carts", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/deleteBurger.test.js b/Server/__tests__/deleteBurger.test.js new file mode 100644 index 0000000..52e73d6 --- /dev/null +++ b/Server/__tests__/deleteBurger.test.js @@ -0,0 +1,116 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +let user_1 = { + name: "Admin1", + email: "admin1@gmail.com", + password: "admin", + role: "Admin" +} + +let user_2 = { + name: "Customer", + email: "customer@gmail.com", + password: "customer", + role: "Customer" +} + +let access_token_user_1; +let access_token_user_2; + +describe("delete /burgers/1", () => { + describe("Success", () => { + test("should return status 200 and message that the burger has been deleted", async () => { + let { status, body } = await request(app) + .delete("/burgers/1") + .set("Authorization", `Bearer ${access_token_user_1}`) + expect(status).toBe(200); + expect(body).toHaveProperty("message", `Burger has been deleted`); + }) + }) + describe("Failed", () => { + test("should return status 401 and token is required", async () => { + let { status, body } = await request(app) + .delete("/burgers/1") + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 401 and token is required", async () => { + let { status, body } = await request(app) + .delete("/burgers/1") + .set("Authorization", `Bearer ${damaged_token_user_1}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 400 and invalid token", async () => { + let { status, body } = await request(app) + .delete("/burgers/1") + .set("Authorization", `Beare ${access_token_user_1}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 404 and burger not available", async () => { + let { status, body } = await request(app) + .delete("/burgers/30") + .set("Authorization", `Bearer ${access_token_user_1}`) + expect(status).toBe(404); + expect(body).toHaveProperty("message", "Data not found"); + }) + test("should return status 403 and forbidden", async () => { + let { status, body } = await request(app) + .delete("/burgers/2") + .set("Authorization", `Bearer ${access_token_user_2}`) + expect(status).toBe(403); + expect(body).toHaveProperty("message", "Forbidden"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: user_1.name, + email: user_1.email, + password: hashPassword(user_1.password), + role: user_1.role, + createdAt: new Date(), + updatedAt: new Date() + },{ + name: user_2.name, + email: user_2.email, + password: hashPassword(user_2.password), + role: user_2.role, + createdAt: new Date(), + updatedAt: new Date() + } + ]) + + const admin = await User.findOne({ where: { email: user_1.email } }); + access_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 += "i"; + + const customer = await User.findOne({ where: { email: user_2.email } }); + access_token_user_2 = signToken({ id: customer.id }); + damaged_token_user_2 = signToken({ id: customer.id }); + damaged_token_user_2 += "i"; + + await queryInterface.bulkInsert("burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + el.UserId = 1 + return el; + })) +}) + + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/login.test.js b/Server/__tests__/login.test.js new file mode 100644 index 0000000..db88236 --- /dev/null +++ b/Server/__tests__/login.test.js @@ -0,0 +1,73 @@ +const app = require("../app.js"); +const request = require("supertest"); +const {sequelize} = require("../models"); +const {queryInterface} = sequelize; +const {hashPassword} = require("../helpers/bcrypt.js"); +const {signToken} = require("../helpers/jwt.js"); + +let user_1 = { + email: "admin@gmail.com", + password: "admin" +} + +describe.skip("post /login", () => { + describe("Success", () => { + test("should return status 200 and access token", async () => { + let {status, body} = await request(app) + .post("/login") + .send(user_1) + expect(status).toBe(200); + expect(body).toHaveProperty("access_token", expect.any(String)); + }) + }) + describe("Failed", () => { + test("should return status 400 and invalid email", async() => { + let {status, body} = await request(app) + .post("/login") + .send({email: "staff@gmail.com", password: user_1.password}) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid email or password"); + }) + test("should return status 400 and invalid password", async() => { + let {status, body} = await request(app) + .post("/login") + .send({email: user_1.email, password: "staff"}) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid email or password"); + }) + test("should return status 400 when no email is given", async() => { + let {status, body} = await request(app) + .post("/login") + .send({email: "", password: user_1.password}) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Email is required"); + }) + test("should return status 400 when no password is given", async() => { + let {status, body} = await request(app) + .post("/login") + .send({email: user_1.email, password: ""}) + console.log(body, "from login.test.js") + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Password is required"); + }) + }) +}) + +beforeAll(async() => { + await queryInterface.bulkInsert("Users", [{ + name: "Admin", + email: "admin@gmail.com", + password: hashPassword("admin"), + role: "Admin", + createdAt: new Date(), + updatedAt: new Date() + }]) +}) + +afterAll(async() => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/register.test.js b/Server/__tests__/register.test.js new file mode 100644 index 0000000..7a2deb0 --- /dev/null +++ b/Server/__tests__/register.test.js @@ -0,0 +1,103 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +let access_token; +let damaged_token; + +let user_1 = { + name: "Admin1", + email: "admin1@gmail.com", + password: "admin", + role: "Admin" +} + +describe.skip("post /register", () => { + describe("Success", () => { + test("should return status 201 and object of new user", async () => { + let { status, body } = await request(app) + .post("/register") + .send(user_1) + expect(status).toBe(201); + expect(body).toHaveProperty("name", user_1.name); + expect(body).toHaveProperty("email", user_1.email); + expect(body).toHaveProperty("role", user_1.role); + }) + }) + describe("Failed", () => { + test("should return status 400 and email is required", async () => { + let { status, body } = await request(app) + .post("/register") + .send({ + name: "Admin1", + password: "admin", + role: "Admin" + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Email is required"); + }) + test("should return status 400 and password is required", async () => { + let { status, body } = await request(app) + .post("/register") + .send({ + name: "Admin1", + email: "admin1@gmail.com", + role: "Admin" + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Password is required"); + }) + test("should return status 400 and email is already registered", async () => { + let { status, body } = await request(app) + .post("/register") + .send({ + name: "Admin1", + email: "admin1@gmail.com", + password: "admin", + role: "Admin" + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Email is already registered"); + }) + test("should return status 400 and invalid email format", async () => { + let { status, body } = await request(app) + .post("/register") + .send({ + name: "Admin1", + email: "admin1", + password: "admin", + role: "Admin" + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Invalid email format"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: "test", + email: "test@gmail.com", + password: "admin", + role: "Admin", + createdAt: new Date(), + updatedAt: new Date() + }]) + const admin = await User.findOne({ where: { email: "test@gmail.com" } }); + access_token = signToken({ id: admin.id }); + damaged_token = signToken({ id: admin.id }); + damaged_token += "i"; + +}) + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/updateBurger.test.js b/Server/__tests__/updateBurger.test.js new file mode 100644 index 0000000..56b74c3 --- /dev/null +++ b/Server/__tests__/updateBurger.test.js @@ -0,0 +1,166 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +let user_1 = { + name: "Admin1", + email: "admin1@gmail.com", + password: "admin", + role: "Admin" +} + +let user_2 = { + name: "Customer", + email: "customer@gmail.com", + password: "customer", + role: "Customer" +} + +let access_token_user_1; +let access_token_user_2; + +describe("put /burgers/1", () => { + describe("Success", () => { + test("should return status 200 and message that the burger has been updated", async () => { + const burgerData = { + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + } + let { status, body } = await request(app) + .put("/burgers/1") + .set("Authorization", `Bearer ${access_token_user_1}`) + .send(burgerData) + expect(status).toBe(200); + expect(body).toHaveProperty("message", "Burger has been updated"); + }) + }) + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .put("/burgers/1") + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + }) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 400 and name is required", async () => { + let { status, body } = await request(app) + .put("/burgers/1") + .set("Authorization", `Bearer ${access_token_user_1}`) + .send({ + name: "", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + }) + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Name is required"); + }) + test("should return status 401 and token is required", async () => { + let { status, body } = await request(app) + .put("/burgers/1") + .set("Authorization", `Bearer ${damaged_token_user_1}`) + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + }) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 400 and invalid token", async () => { + let { status, body } = await request(app) + .put("/burgers/1") + .set("Authorization", `Beare ${access_token_user_1}`) + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + }) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 404 and burger not available", async () => { + let { status, body } = await request(app) + .put("/burgers/30") + .set("Authorization", `Bearer ${access_token_user_1}`) + expect(status).toBe(404); + expect(body).toHaveProperty("message", "Data not found"); + }) + test("should return status 403 and forbidden", async () => { + let { status, body } = await request(app) + .put("/burgers/1") + .set("Authorization", `Bearer ${access_token_user_2}`) + .send({ + name: "Test", + desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", + price: 50000, + veg: false, + images: "Test" + }) + expect(status).toBe(403); + expect(body).toHaveProperty("message", "Forbidden"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: user_1.name, + email: user_1.email, + password: hashPassword(user_1.password), + role: user_1.role, + createdAt: new Date(), + updatedAt: new Date() + },{ + name: user_2.name, + email: user_2.email, + password: hashPassword(user_2.password), + role: user_2.role, + createdAt: new Date(), + updatedAt: new Date() + } + ]) + + const admin = await User.findOne({ where: { email: user_1.email } }); + access_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 = signToken({ id: admin.id }); + damaged_token_user_1 += "i"; + + const customer = await User.findOne({ where: { email: user_2.email } }); + access_token_user_2 = signToken({ id: customer.id }); + damaged_token_user_2 = signToken({ id: customer.id }); + damaged_token_user_2 += "i"; + + await queryInterface.bulkInsert("burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + el.UserId = 1 + return el; + })) +}) + + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/__tests__/userProfile.test.js b/Server/__tests__/userProfile.test.js new file mode 100644 index 0000000..010bc4d --- /dev/null +++ b/Server/__tests__/userProfile.test.js @@ -0,0 +1,63 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +describe.skip("get /userProfile", () => { + describe("Success", () => { + test("should return status 200 and object of user", async () => { + let { status, body } = await request(app) + .get("/userProfile") + .set("Authorization", `Bearer ${access_token}`) + expect(status).toBe(200); + expect(body).toHaveProperty("name", expect.any(String)); + expect(body).toHaveProperty("email", expect.any(String)); + expect(body).toHaveProperty("role", expect.any(String)); + expect(body).toHaveProperty("imageUrl", expect.any(String)); + }) + }) + describe("Failed", () => { + test("should return status 401 and token is required", async () => { + let { status, body } = await request(app) + .get("/userProfile") + .set("Authorization", `Bearer ${damaged_token}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + test("should return status 400 and invalid token", async () => { + let { status, body } = await request(app) + .get("/userProfile") + + .set("Authorization", `Beare ${access_token}`) + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + }) +}) + +beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: "test", + email: "test@gmail.com", + password: hashPassword("admin"), + role: "Admin", + createdAt: new Date(), + updatedAt: new Date() + }]) + const admin = await User.findOne({ where: { email: "test@gmail.com" } }); + access_token = signToken({ id: admin.id }); + damaged_token = signToken({ id: admin.id }); + damaged_token += "i"; + +}) + +afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) +}) \ No newline at end of file diff --git a/Server/app.js b/Server/app.js index a813982..3a2dc5c 100644 --- a/Server/app.js +++ b/Server/app.js @@ -8,9 +8,17 @@ const port = 3000; const UserController = require("./controllers/UserController"); const BurgerController = require("./controllers/BurgerController"); +const authentication = require("./middlewares/authentication"); +const authorization = require("./middlewares/authorization"); +const errorHandler = require("./middlewares/errorHandler"); + +const multer = require("multer"); +const upload = multer({ storage: multer.memoryStorage() }); +const cors = require("cors"); app.use(express.urlencoded({extended: true})); app.use(express.json()); +app.use(cors()); app.get("/", (req, res) => { res.json({message: "Welcome to the Burger Bites API"}) @@ -20,14 +28,24 @@ app.post("/register", UserController.registerUser); app.post("/login", UserController.loginUser); app.get("/burgers", BurgerController.getBurgers); + +app.post("/google-login", BurgerController.googleLogin); + +// app.use(authentication); + +app.get("/users", authentication, BurgerController.getUser); +app.patch("/users/profile", authentication, upload.single("image"), BurgerController.updateUserImage); +app.get("/cart", authentication,BurgerController.getMyBurger); +app.patch("/cart/purchase", authentication, BurgerController.purchaseBurger); +app.post("/cart/generateMidTransToken", authentication, BurgerController.generateMidTransToken); +app.post("/burgers", authentication, BurgerController.addBurger); app.get("/burgers/:burgerId", BurgerController.getBurgerById); -app.post("/burgers/add", BurgerController.addBurger); -app.put("/burgers/:burgerId", BurgerController.updateBurgerById); -app.delete("/burgers/:burgerId", BurgerController.deleteBurgerById); -app.patch("/burgers/:burgerId/image", BurgerController.updateImageById); -app.get("/burgers/mycart", BurgerController.getMyBurger); -app.post("/burgers/:burgerId/mycart", BurgerController.addToCart); - -app.listen(port, () => { - console.log(`Listening on port ${port}`) -}) \ No newline at end of file +app.put("/burgers/:burgerId", authentication, authorization, BurgerController.updateBurgerById); +app.delete("/burgers/:burgerId", authentication, authorization, BurgerController.deleteBurgerById); +app.patch("/burgers/:burgerId/image", authentication, authorization, upload.single("image"), BurgerController.updateImageById); +app.post("/cart/:burgerId", authentication, BurgerController.addToCart); +app.delete("/cart/:burgerId", authentication, BurgerController.removeFromCart); + +app.use(errorHandler); + +module.exports = app; \ No newline at end of file diff --git a/Server/bin/www b/Server/bin/www new file mode 100644 index 0000000..9ea6a38 --- /dev/null +++ b/Server/bin/www @@ -0,0 +1,6 @@ +const app = require("../app.js"); +const PORT = process.env.PORT || 3000 + +app.listen(PORT, () => { + console.log(`Listening on port ${PORT}`); +}); \ No newline at end of file diff --git a/Server/config/config.json b/Server/config/config.json index 7c97cdc..e494f66 100644 --- a/Server/config/config.json +++ b/Server/config/config.json @@ -7,11 +7,12 @@ "dialect": "postgres" }, "test": { - "username": "root", - "password": null, + "username": "postgres", + "password": "postgres", "database": "database_test", - "host": "127.0.0.1", - "dialect": "mysql" + "host": "localhost", + "dialect": "postgres", + "logging": false }, "production": { "username": "root", diff --git a/Server/controllers/BurgerController.js b/Server/controllers/BurgerController.js index 7147128..75928a5 100644 --- a/Server/controllers/BurgerController.js +++ b/Server/controllers/BurgerController.js @@ -1,56 +1,101 @@ -const { Burger } = require("../models"); -const { apiKey } = require("../helpers/apiKey"); +const { User, Burger, Cart } = require("../models"); +const { Op } = require("sequelize"); const burgersHubEndPoint = "https://burgers-hub.p.rapidapi.com"; const axios = require("axios"); +const { OAuth2Client } = require('google-auth-library'); +const client = new OAuth2Client(); +const { signToken } = require("../helpers/jwt"); +const midtransClient = require('midtrans-client'); module.exports = class BurgerController { - static async getBurgers(req, res) { + static async getBurgers(req, res, next) { + try { + const { filter, search, sort, page } = req.query; + let option = {} + if (filter) { + option.where = { - const options = { - method: 'GET', - url: `${burgersHubEndPoint}/burgers`, - headers: { - 'X-RapidAPI-Key': `${apiKey}`, - 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' - } - }; + id: filter - try { - const response = await axios.request(options); - console.log(response.data); - res.status(200).json(response.data) + } + } + if (search) { + option.where = { + name: { + [Op.iLike]: `%${search}%` + } + } + } + if (sort) { + const orderby = sort[0] === "-" ? "desc" : "asc" + const columnName = orderby === "desc" ? sort.slice(1) : sort + option.order = [[columnName, orderby]] + } + const burgerData = await Burger.findAll(option); + res.status(200).json(burgerData) } catch (error) { - console.error(error); - return res.status(500).json({ message: "Internal Server Error" }); + console.log(error) + next(error); } - } - static async getBurgerById(req, res) { - const {burgerId} = req.params; + // const options = { + // method: 'GET', + // url: `${burgersHubEndPoint}/burgers`, + // headers: { + // 'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY, + // 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + // } + // }; - const options = { - method: 'GET', - url: `${burgersHubEndPoint}/burgers/${burgerId}`, - headers: { - 'X-RapidAPI-Key': `${apiKey}`, - 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' - } - }; + // try { + // const response = await axios.request(options); + // console.log(response.data); + // res.status(200).json(response.data) + // } catch (error) { + // console.error(error); + // return res.status(500).json({ message: "Internal Server Error" }); + // } + } + + static async getBurgerById(req, res, next) { + + const { burgerId } = req.params; try { - const response = await axios.request(options); - console.log(response.data); - res.status(200).json(response.data) + const burgerData = await Burger.findByPk(burgerId); + if (!burgerData) { + throw { name: "Not found" } + } + res.status(200).json(burgerData) } catch (error) { - console.error(error); - return res.status(500).json({ message: "Internal Server Error" }); + console.log(error) + next(error); } + + + // const options = { + // method: 'GET', + // url: `${burgersHubEndPoint}/burgers/${burgerId}`, + // headers: { + // 'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY, + // 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + // } + // }; + + // try { + // const response = await axios.request(options); + // console.log(response.data); + // res.status(200).json(response.data) + // } catch (error) { + // console.error(error); + // return res.status(500).json({ message: "Internal Server Error" }); + // } } - static async getBurgerByName(req, res) { + static async getBurgerByName(req, res, next) { - const {name} = req.query; + const { name } = req.query; const options = { method: 'GET', @@ -60,7 +105,7 @@ module.exports = class BurgerController { search: name }, headers: { - 'X-RapidAPI-Key': `${apiKey}`, + 'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY, 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' } }; @@ -71,77 +116,83 @@ module.exports = class BurgerController { res.status(200).json(response.data) } catch (error) { console.error(error); - return res.status(500).json({ message: "Internal Server Error" }); + next(error); } } - static async getMyBurger(req, res) { + static async getMyBurger(req, res, next) { try { - const myBurgerData = await Cart.findAll({where: {UserId: req.user.id}}); + const myBurgerData = await Cart.findAll({ where: { UserId: req.user.id } }); + if(!myBurgerData) { + throw {name: "Not found"} + } return res.status(200).json(myBurgerData); - - } catch (error) { + + } catch (error) { console.log(error); next(error) - } + } } static async addBurger(req, res, next) { try { - const {name, desc, price, veg, images} = req.body; - const burgerData = await Grocery.create({name, desc, price, veg, images}); - return res.status(201).json({message: "Burger successfully added", burgerData}); - + if(req.user.role !== "Admin") { + throw {name: "Unauthorized"} + } + const { name, desc, price, veg, images } = req.body; + const burgerData = await Burger.create({ name, desc, price, veg, images }); + return res.status(201).json({ message: "Burger successfully added", burgerData }); + } catch (error) { - console.log(error); - next(error) - } -} - -static async updateBurgerById(req, res, next) { - try { - const {burgerId} = req.params; - const burgerData = await Burger.findByPk(burgerId); - if(!burgerData) { - throw {name: "Not found"} - } - const {name, desc, price, veg, images} = req.body; - await Grocery.update({name, desc, price, veg, images}, {where: {id: req.params.id}}); - return res.status(200).json({message: "Burger has been updated"}); - - } catch (error) { console.log(error); next(error) + } } -} - -static async deleteBurgerById(req, res, next) { - try { - const {burgerId} = req.params; - const burgerData = await Burger.findByPk(burgerId); - if(!burgerData) { - throw {name: "Not found"} - } - await Burger.destroy({where: {id: req.params.id}}); - return res.status(200).json({message: "Burger has been deleted"}); - - } catch (error) { + + static async updateBurgerById(req, res, next) { + try { + const { burgerId } = req.params; + const burgerData = await Burger.findByPk(burgerId); + if (!burgerData) { + throw { name: "Not found" } + } + const { name, desc, price, veg, images } = req.body; + await Burger.update({ name, desc, price, veg, images }, { where: { id: req.params.burgerId } }); + return res.status(200).json({ message: "Burger has been updated" }); + + } catch (error) { + console.log(error); + next(error) + } + } + + static async deleteBurgerById(req, res, next) { + try { + const { burgerId } = req.params; + const burgerData = await Burger.findByPk(burgerId); + if (!burgerData) { + throw { name: "Not found" } + } + await Burger.destroy({ where: { id: req.params.burgerId } }); + return res.status(200).json({ message: "Burger has been deleted" }); + + } catch (error) { console.log(error); next(error) + } } -} -static async updateImageById(req, res, next) { - try { + static async updateImageById(req, res, next) { + try { - if(!req.file) throw { name: "CustomFileError" } + if (!req.file) throw { name: "CustomFileError" } const cloudinary = require("cloudinary").v2; cloudinary.config({ - cloud_name: process.env.cloudinary_cloud_name, - api_key: process.env.cloudinary_api_key, - api_secret: process.env.cloudinary_api_secret + cloud_name: process.env.cloudinary_cloud_name, + api_key: process.env.cloudinary_api_key, + api_secret: process.env.cloudinary_api_secret }); const dataURI = `data:${req.file.mimetype};base64,${Buffer.from(req.file.buffer).toString("base64")}` const result = await cloudinary.uploader.upload(dataURI, { public_id: "test" }) @@ -149,30 +200,168 @@ static async updateImageById(req, res, next) { const { burgerId } = req.params; const burger = await Burger.findByPk(burgerId); - if (!burger) throw { name: "CustomBurgerError" }; + if (!burger) throw { name: "Not found" }; - await burger.update({ image: result.secure_url }); + await burger.update({ images: result.secure_url }); res.json({ message: "Image successfully updated" }) - } catch (error) { + } catch (error) { next(error); + } } -} - -static async addToCart(req, res, next) { - try { - const {burgerId} = req.params; - const burgerData = await Burger.findByPk(burgerId); - if(!burgerData) { - throw {name: "Not found"} - } - const {quantity} = req.body; - await Cart.create({quantity, BurgerId: burgerId, UserId: req.user.id}); - return res.status(201).json({message: "Burger successfully added to cart", burgerData}); + + static async addToCart(req, res, next) { + try { + const { burgerId } = req.params; + const burgerData = await Burger.findByPk(burgerId); + if (!burgerData) { + throw { name: "Not found" } + } + const { quantity } = req.body; + await Cart.create({ quantity, BurgerId: burgerId, UserId: req.user.id }); + return res.status(201).json({ message: "Burger successfully added to cart", burgerData }); + + } catch (error) { + console.log(error); + next(error) + } + } + + static async removeFromCart(req, res, next) { + try { + const { burgerId } = req.params; + const burgerData = await Cart.findOne({where: { BurgerId: burgerId }}); + if (!burgerData) { + throw { name: "Not found" } + } - } catch (error) { + await Cart.destroy({ where: { BurgerId: req.params.burgerId } }); + return res.status(201).json({ message: "Burger successfully removed from cart" }); + + } catch (error) { + console.log(error); + next(error) + } + } + + static async getUser(req, res, next) { + + try { + const userData = await User.findByPk(req.user.id); + const { name, email, role, imageUrl, createdAt, updatedAt } = userData; + return res.status(200).json({ name, email, role, imageUrl, createdAt, updatedAt }); + + } catch (error) { + console.log(error); + next(error) + } + } + + static async updateUserImage(req, res, next) { + try { + + if (!req.file) throw { name: "CustomFileError" } + + const cloudinary = require("cloudinary").v2; + cloudinary.config({ + cloud_name: process.env.cloudinary_cloud_name, + api_key: process.env.cloudinary_api_key, + api_secret: process.env.cloudinary_api_secret + }); + const dataURI = `data:${req.file.mimetype};base64,${Buffer.from(req.file.buffer).toString("base64")}` + const result = await cloudinary.uploader.upload(dataURI, { public_id: "test" }) + + const user = await User.findByPk(req.user.id); + + if (!user) throw { name: "Not found" }; + + await user.update({ imageUrl: result.secure_url }); + + res.json({ message: "Image successfully updated" }) + } catch (error) { + next(error); + } + } + + static async googleLogin(req, res, next) { + + const { googleToken } = req.body; + + console.log(req.body) + + try { + const ticket = await client.verifyIdToken({ + idToken: googleToken, + audience: "483160331749-3i3b3l3nvvostt3ccublhnmi64dtmkob.apps.googleusercontent.com", // Specify the CLIENT_ID of the app that accesses the backend + // Or, if multiple clients access the backend: + //[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3] + }); + const { email, name } = ticket.getPayload(); + const [user, created] = await User.findOrCreate({ + where: { email }, + defaults: { + name, + email, + password: Math.random().toString() + } + }); + console.log({ user, created }) + const token = signToken({ id: user.id }) + res.status(200).json({ message: `Login as ${user.email}`, token }); + + } catch (error) { + console.log(error); + next(error); + } + } + + static async purchaseBurger(req, res, next) { + try { + await Cart.update({ purchased: true, purchasedAt: new Date() }, { where: { UserId: req.user.id } }); + return res.status(200).json({ message: "Burger has been purchased" }); + + } catch (error) { console.log(error); next(error) + } + } + + static async generateMidTransToken(req, res, next) { + try { + const userData = await User.findByPk(req.user.id); + const cartData = await Cart.findAll({ where: { UserId: userData.id } }); + console.log(userData, cartData, "<<<<<") + if (cartData.purchased) { + throw { name: "CustomPurchaseError" } // error code: 400 + } + let snap = new midtransClient.Snap({ + // Set to true if you want Production Environment (accept real transaction). + isProduction: false, + serverKey: process.env.MIDTRANS_SERVER_KEY + }); + + let parameter = { + transaction_details: { + order_id: `TRANSACTION_${Math.floor(100000 + Math.random() * 900000)}`, + gross_amount: req.body.totalPrice + }, + credit_card: { + secure: true + }, + customer_details: { + name: userData.name, + email: userData.email + } + }; + + const midtransToken = await snap.createTransaction(parameter); + console.log(midtransToken, "<<<<") + res.status(201).json(midtransToken); + + + } catch (error) { + console.log(error); + next(error); + } } -} } \ No newline at end of file diff --git a/Server/controllers/UserController.js b/Server/controllers/UserController.js index 9780a42..7188dbf 100644 --- a/Server/controllers/UserController.js +++ b/Server/controllers/UserController.js @@ -1,49 +1,37 @@ -const {User} = require("../models") -const {comparePassword} = require("../helpers/bcrypt") -const {signToken} = require("../helpers/jwt") +const { User } = require("../models") +const { comparePassword } = require("../helpers/bcrypt") +const { signToken } = require("../helpers/jwt") module.exports = class UserController { - static async registerUser(req, res) { + static async registerUser(req, res, next) { try { - const {name, email, password, role} = req.body; - await User.create({name, email, password, role}); - res.status(201).json({name, email, role}) + const { name, email, password, role } = req.body; + await User.create({ name, email, password, role }); + res.status(201).json({ name, email, role }) } catch (error) { - console.log(error) - if(error.name === "SequelizeValidationError" || error.name === "SequelizeUniqueConstraintError") { - return res.status(400).json({message: error.errors[0].message}) - } - return res.status(500).json({message: "Internal Server Error"}) + console.log(error); + next(error); } } - static async loginUser(req, res) { + static async loginUser(req, res, next) { try { - const {email, password} = req.body; - if(!email) { - throw {name: "CustomEmailError"} + const { email, password } = req.body; + if (!email) { + throw { name: "CustomEmailError" } } - if(!password) { - throw {name: "CustomPasswordError"} + if (!password) { + throw { name: "CustomPasswordError" } } - const userData = await User.findOne({where: {email: email}}); - if(!userData || !comparePassword(password, userData.password)) { - throw {name: "CustomError"} + const userData = await User.findOne({ where: { email: email } }); + if (!userData || !comparePassword(password, userData.password)) { + throw { name: "CustomError" } } - const token = signToken({id: userData.id}) - res.status(200).json({access_token: token}) + const token = signToken({ id: userData.id }) + res.status(200).json({ access_token: token }) } catch (error) { console.log(error); - if(error.name === "CustomEmailError") { - return res.status(400).json({message: "Email is required"}) - } - if(error.name === "CustomPasswordError") { - return res.status(400).json({message: "Password is required"}) - } - if(error.name === "CustomError") { - return res.status(401).json({message: "Invalid email/password"}) - } - return res.status(500).json({message: "Internal Server Error"}) + next(error); } } } \ No newline at end of file diff --git a/Server/coverage/clover.xml b/Server/coverage/clover.xml new file mode 100644 index 0000000..460196a --- /dev/null +++ b/Server/coverage/clover.xml @@ -0,0 +1,379 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Server/coverage/coverage-final.json b/Server/coverage/coverage-final.json new file mode 100644 index 0000000..2af0675 --- /dev/null +++ b/Server/coverage/coverage-final.json @@ -0,0 +1,13 @@ +{"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\app.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\app.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}},"1":{"start":{"line":2,"column":4},"end":{"line":2,"column":31}},"2":{"start":{"line":5,"column":16},"end":{"line":5,"column":34}},"3":{"start":{"line":6,"column":12},"end":{"line":6,"column":21}},"4":{"start":{"line":7,"column":13},"end":{"line":7,"column":17}},"5":{"start":{"line":9,"column":23},"end":{"line":9,"column":62}},"6":{"start":{"line":10,"column":25},"end":{"line":10,"column":66}},"7":{"start":{"line":11,"column":23},"end":{"line":11,"column":62}},"8":{"start":{"line":12,"column":22},"end":{"line":12,"column":60}},"9":{"start":{"line":13,"column":21},"end":{"line":13,"column":58}},"10":{"start":{"line":15,"column":15},"end":{"line":15,"column":32}},"11":{"start":{"line":16,"column":15},"end":{"line":16,"column":58}},"12":{"start":{"line":17,"column":13},"end":{"line":17,"column":28}},"13":{"start":{"line":19,"column":0},"end":{"line":19,"column":46}},"14":{"start":{"line":20,"column":0},"end":{"line":20,"column":24}},"15":{"start":{"line":21,"column":0},"end":{"line":21,"column":16}},"16":{"start":{"line":23,"column":0},"end":{"line":25,"column":2}},"17":{"start":{"line":24,"column":4},"end":{"line":24,"column":58}},"18":{"start":{"line":27,"column":0},"end":{"line":27,"column":51}},"19":{"start":{"line":28,"column":0},"end":{"line":28,"column":45}},"20":{"start":{"line":30,"column":0},"end":{"line":30,"column":49}},"21":{"start":{"line":32,"column":0},"end":{"line":32,"column":56}},"22":{"start":{"line":36,"column":0},"end":{"line":36,"column":66}},"23":{"start":{"line":37,"column":0},"end":{"line":37,"column":114}},"24":{"start":{"line":38,"column":0},"end":{"line":38,"column":64}},"25":{"start":{"line":39,"column":0},"end":{"line":39,"column":87}},"26":{"start":{"line":40,"column":0},"end":{"line":40,"column":106}},"27":{"start":{"line":41,"column":0},"end":{"line":41,"column":69}},"28":{"start":{"line":42,"column":0},"end":{"line":42,"column":62}},"29":{"start":{"line":43,"column":0},"end":{"line":43,"column":96}},"30":{"start":{"line":44,"column":0},"end":{"line":44,"column":99}},"31":{"start":{"line":45,"column":0},"end":{"line":45,"column":127}},"32":{"start":{"line":46,"column":0},"end":{"line":46,"column":85}},"33":{"start":{"line":47,"column":0},"end":{"line":47,"column":97}},"34":{"start":{"line":49,"column":0},"end":{"line":49,"column":22}},"35":{"start":{"line":51,"column":0},"end":{"line":51,"column":21}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":23,"column":13},"end":{"line":23,"column":14}},"loc":{"start":{"line":23,"column":27},"end":{"line":25,"column":1}},"line":23}},"branchMap":{"0":{"loc":{"start":{"line":1,"column":0},"end":{"line":3,"column":1}},"type":"if","locations":[{"start":{"line":1,"column":0},"end":{"line":3,"column":1}},{"start":{},"end":{}}],"line":1}},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"10":8,"11":8,"12":8,"13":8,"14":8,"15":8,"16":8,"17":0,"18":8,"19":8,"20":8,"21":8,"22":8,"23":8,"24":8,"25":8,"26":8,"27":8,"28":8,"29":8,"30":8,"31":8,"32":8,"33":8,"34":8,"35":8},"f":{"0":0},"b":{"0":[8,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"f4520df086b090f85c696895f5f4376def2bdc2c"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\controllers\\BurgerController.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\controllers\\BurgerController.js","statementMap":{"0":{"start":{"line":1,"column":31},"end":{"line":1,"column":51}},"1":{"start":{"line":2,"column":15},"end":{"line":2,"column":35}},"2":{"start":{"line":3,"column":27},"end":{"line":3,"column":63}},"3":{"start":{"line":4,"column":14},"end":{"line":4,"column":30}},"4":{"start":{"line":5,"column":25},"end":{"line":5,"column":55}},"5":{"start":{"line":6,"column":15},"end":{"line":6,"column":33}},"6":{"start":{"line":7,"column":22},"end":{"line":7,"column":47}},"7":{"start":{"line":8,"column":23},"end":{"line":8,"column":49}},"8":{"start":{"line":10,"column":0},"end":{"line":367,"column":1}},"9":{"start":{"line":12,"column":4},"end":{"line":39,"column":5}},"10":{"start":{"line":13,"column":45},"end":{"line":13,"column":54}},"11":{"start":{"line":14,"column":19},"end":{"line":14,"column":21}},"12":{"start":{"line":15,"column":6},"end":{"line":21,"column":7}},"13":{"start":{"line":16,"column":8},"end":{"line":20,"column":9}},"14":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"15":{"start":{"line":23,"column":8},"end":{"line":27,"column":9}},"16":{"start":{"line":29,"column":6},"end":{"line":33,"column":7}},"17":{"start":{"line":30,"column":24},"end":{"line":30,"column":56}},"18":{"start":{"line":31,"column":27},"end":{"line":31,"column":68}},"19":{"start":{"line":32,"column":8},"end":{"line":32,"column":46}},"20":{"start":{"line":34,"column":25},"end":{"line":34,"column":53}},"21":{"start":{"line":35,"column":6},"end":{"line":35,"column":38}},"22":{"start":{"line":37,"column":6},"end":{"line":37,"column":24}},"23":{"start":{"line":38,"column":6},"end":{"line":38,"column":18}},"24":{"start":{"line":64,"column":25},"end":{"line":64,"column":35}},"25":{"start":{"line":65,"column":4},"end":{"line":74,"column":5}},"26":{"start":{"line":66,"column":25},"end":{"line":66,"column":56}},"27":{"start":{"line":67,"column":6},"end":{"line":69,"column":7}},"28":{"start":{"line":68,"column":8},"end":{"line":68,"column":35}},"29":{"start":{"line":70,"column":6},"end":{"line":70,"column":38}},"30":{"start":{"line":72,"column":6},"end":{"line":72,"column":24}},"31":{"start":{"line":73,"column":6},"end":{"line":73,"column":18}},"32":{"start":{"line":98,"column":21},"end":{"line":98,"column":30}},"33":{"start":{"line":100,"column":20},"end":{"line":111,"column":5}},"34":{"start":{"line":113,"column":4},"end":{"line":120,"column":5}},"35":{"start":{"line":114,"column":23},"end":{"line":114,"column":51}},"36":{"start":{"line":115,"column":6},"end":{"line":115,"column":33}},"37":{"start":{"line":116,"column":6},"end":{"line":116,"column":41}},"38":{"start":{"line":118,"column":6},"end":{"line":118,"column":27}},"39":{"start":{"line":119,"column":6},"end":{"line":119,"column":18}},"40":{"start":{"line":125,"column":4},"end":{"line":135,"column":5}},"41":{"start":{"line":126,"column":27},"end":{"line":126,"column":81}},"42":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"43":{"start":{"line":128,"column":8},"end":{"line":128,"column":33}},"44":{"start":{"line":130,"column":6},"end":{"line":130,"column":48}},"45":{"start":{"line":133,"column":6},"end":{"line":133,"column":25}},"46":{"start":{"line":134,"column":6},"end":{"line":134,"column":17}},"47":{"start":{"line":139,"column":4},"end":{"line":150,"column":5}},"48":{"start":{"line":140,"column":6},"end":{"line":142,"column":5}},"49":{"start":{"line":141,"column":8},"end":{"line":141,"column":36}},"50":{"start":{"line":143,"column":49},"end":{"line":143,"column":57}},"51":{"start":{"line":144,"column":25},"end":{"line":144,"column":80}},"52":{"start":{"line":145,"column":6},"end":{"line":145,"column":88}},"53":{"start":{"line":148,"column":6},"end":{"line":148,"column":25}},"54":{"start":{"line":149,"column":6},"end":{"line":149,"column":17}},"55":{"start":{"line":154,"column":4},"end":{"line":167,"column":5}},"56":{"start":{"line":155,"column":27},"end":{"line":155,"column":37}},"57":{"start":{"line":156,"column":25},"end":{"line":156,"column":56}},"58":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"59":{"start":{"line":158,"column":8},"end":{"line":158,"column":35}},"60":{"start":{"line":160,"column":49},"end":{"line":160,"column":57}},"61":{"start":{"line":161,"column":6},"end":{"line":161,"column":102}},"62":{"start":{"line":162,"column":6},"end":{"line":162,"column":74}},"63":{"start":{"line":165,"column":6},"end":{"line":165,"column":25}},"64":{"start":{"line":166,"column":6},"end":{"line":166,"column":17}},"65":{"start":{"line":171,"column":4},"end":{"line":183,"column":5}},"66":{"start":{"line":172,"column":27},"end":{"line":172,"column":37}},"67":{"start":{"line":173,"column":25},"end":{"line":173,"column":56}},"68":{"start":{"line":174,"column":6},"end":{"line":176,"column":7}},"69":{"start":{"line":175,"column":8},"end":{"line":175,"column":35}},"70":{"start":{"line":177,"column":6},"end":{"line":177,"column":67}},"71":{"start":{"line":178,"column":6},"end":{"line":178,"column":74}},"72":{"start":{"line":181,"column":6},"end":{"line":181,"column":25}},"73":{"start":{"line":182,"column":6},"end":{"line":182,"column":17}},"74":{"start":{"line":187,"column":4},"end":{"line":210,"column":5}},"75":{"start":{"line":189,"column":6},"end":{"line":189,"column":54}},"76":{"start":{"line":189,"column":21},"end":{"line":189,"column":54}},"77":{"start":{"line":191,"column":25},"end":{"line":191,"column":49}},"78":{"start":{"line":192,"column":6},"end":{"line":196,"column":9}},"79":{"start":{"line":197,"column":22},"end":{"line":197,"column":107}},"80":{"start":{"line":198,"column":21},"end":{"line":198,"column":85}},"81":{"start":{"line":200,"column":27},"end":{"line":200,"column":37}},"82":{"start":{"line":201,"column":21},"end":{"line":201,"column":52}},"83":{"start":{"line":203,"column":6},"end":{"line":203,"column":47}},"84":{"start":{"line":203,"column":19},"end":{"line":203,"column":47}},"85":{"start":{"line":205,"column":6},"end":{"line":205,"column":57}},"86":{"start":{"line":207,"column":6},"end":{"line":207,"column":57}},"87":{"start":{"line":209,"column":6},"end":{"line":209,"column":18}},"88":{"start":{"line":214,"column":4},"end":{"line":227,"column":5}},"89":{"start":{"line":215,"column":27},"end":{"line":215,"column":37}},"90":{"start":{"line":216,"column":25},"end":{"line":216,"column":56}},"91":{"start":{"line":217,"column":6},"end":{"line":219,"column":7}},"92":{"start":{"line":218,"column":8},"end":{"line":218,"column":35}},"93":{"start":{"line":220,"column":27},"end":{"line":220,"column":35}},"94":{"start":{"line":221,"column":6},"end":{"line":221,"column":79}},"95":{"start":{"line":222,"column":6},"end":{"line":222,"column":96}},"96":{"start":{"line":225,"column":6},"end":{"line":225,"column":25}},"97":{"start":{"line":226,"column":6},"end":{"line":226,"column":17}},"98":{"start":{"line":231,"column":4},"end":{"line":244,"column":5}},"99":{"start":{"line":232,"column":27},"end":{"line":232,"column":37}},"100":{"start":{"line":233,"column":25},"end":{"line":233,"column":76}},"101":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"102":{"start":{"line":235,"column":8},"end":{"line":235,"column":35}},"103":{"start":{"line":238,"column":6},"end":{"line":238,"column":71}},"104":{"start":{"line":239,"column":6},"end":{"line":239,"column":88}},"105":{"start":{"line":242,"column":6},"end":{"line":242,"column":25}},"106":{"start":{"line":243,"column":6},"end":{"line":243,"column":17}},"107":{"start":{"line":249,"column":4},"end":{"line":257,"column":5}},"108":{"start":{"line":250,"column":23},"end":{"line":250,"column":55}},"109":{"start":{"line":251,"column":46},"end":{"line":251,"column":54}},"110":{"start":{"line":252,"column":6},"end":{"line":252,"column":67}},"111":{"start":{"line":255,"column":6},"end":{"line":255,"column":25}},"112":{"start":{"line":256,"column":6},"end":{"line":256,"column":17}},"113":{"start":{"line":261,"column":4},"end":{"line":283,"column":5}},"114":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"115":{"start":{"line":263,"column":21},"end":{"line":263,"column":54}},"116":{"start":{"line":265,"column":25},"end":{"line":265,"column":49}},"117":{"start":{"line":266,"column":6},"end":{"line":270,"column":9}},"118":{"start":{"line":271,"column":22},"end":{"line":271,"column":107}},"119":{"start":{"line":272,"column":21},"end":{"line":272,"column":85}},"120":{"start":{"line":274,"column":19},"end":{"line":274,"column":51}},"121":{"start":{"line":276,"column":6},"end":{"line":276,"column":45}},"122":{"start":{"line":276,"column":17},"end":{"line":276,"column":45}},"123":{"start":{"line":278,"column":6},"end":{"line":278,"column":57}},"124":{"start":{"line":280,"column":6},"end":{"line":280,"column":57}},"125":{"start":{"line":282,"column":6},"end":{"line":282,"column":18}},"126":{"start":{"line":288,"column":28},"end":{"line":288,"column":36}},"127":{"start":{"line":290,"column":4},"end":{"line":290,"column":25}},"128":{"start":{"line":292,"column":4},"end":{"line":315,"column":5}},"129":{"start":{"line":293,"column":21},"end":{"line":298,"column":8}},"130":{"start":{"line":299,"column":30},"end":{"line":299,"column":49}},"131":{"start":{"line":300,"column":30},"end":{"line":307,"column":8}},"132":{"start":{"line":308,"column":6},"end":{"line":308,"column":36}},"133":{"start":{"line":309,"column":27},"end":{"line":309,"column":53}},"134":{"start":{"line":310,"column":6},"end":{"line":310,"column":80}},"135":{"start":{"line":313,"column":6},"end":{"line":313,"column":25}},"136":{"start":{"line":314,"column":6},"end":{"line":314,"column":18}},"137":{"start":{"line":319,"column":4},"end":{"line":326,"column":5}},"138":{"start":{"line":320,"column":6},"end":{"line":320,"column":81}},"139":{"start":{"line":321,"column":6},"end":{"line":321,"column":76}},"140":{"start":{"line":324,"column":6},"end":{"line":324,"column":25}},"141":{"start":{"line":325,"column":6},"end":{"line":325,"column":17}},"142":{"start":{"line":330,"column":4},"end":{"line":365,"column":5}},"143":{"start":{"line":331,"column":23},"end":{"line":331,"column":55}},"144":{"start":{"line":332,"column":23},"end":{"line":332,"column":77}},"145":{"start":{"line":333,"column":6},"end":{"line":333,"column":46}},"146":{"start":{"line":334,"column":6},"end":{"line":336,"column":7}},"147":{"start":{"line":335,"column":8},"end":{"line":335,"column":45}},"148":{"start":{"line":337,"column":17},"end":{"line":341,"column":8}},"149":{"start":{"line":343,"column":22},"end":{"line":355,"column":7}},"150":{"start":{"line":357,"column":28},"end":{"line":357,"column":67}},"151":{"start":{"line":358,"column":6},"end":{"line":358,"column":40}},"152":{"start":{"line":359,"column":6},"end":{"line":359,"column":42}},"153":{"start":{"line":363,"column":6},"end":{"line":363,"column":25}},"154":{"start":{"line":364,"column":6},"end":{"line":364,"column":18}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":11,"column":2},"end":{"line":11,"column":3}},"loc":{"start":{"line":11,"column":42},"end":{"line":60,"column":3}},"line":11},"1":{"name":"(anonymous_1)","decl":{"start":{"line":62,"column":2},"end":{"line":62,"column":3}},"loc":{"start":{"line":62,"column":45},"end":{"line":94,"column":3}},"line":62},"2":{"name":"(anonymous_2)","decl":{"start":{"line":96,"column":2},"end":{"line":96,"column":3}},"loc":{"start":{"line":96,"column":47},"end":{"line":121,"column":3}},"line":96},"3":{"name":"(anonymous_3)","decl":{"start":{"line":123,"column":2},"end":{"line":123,"column":3}},"loc":{"start":{"line":123,"column":43},"end":{"line":136,"column":3}},"line":123},"4":{"name":"(anonymous_4)","decl":{"start":{"line":138,"column":2},"end":{"line":138,"column":3}},"loc":{"start":{"line":138,"column":41},"end":{"line":151,"column":3}},"line":138},"5":{"name":"(anonymous_5)","decl":{"start":{"line":153,"column":2},"end":{"line":153,"column":3}},"loc":{"start":{"line":153,"column":48},"end":{"line":168,"column":3}},"line":153},"6":{"name":"(anonymous_6)","decl":{"start":{"line":170,"column":2},"end":{"line":170,"column":3}},"loc":{"start":{"line":170,"column":48},"end":{"line":184,"column":3}},"line":170},"7":{"name":"(anonymous_7)","decl":{"start":{"line":186,"column":2},"end":{"line":186,"column":3}},"loc":{"start":{"line":186,"column":47},"end":{"line":211,"column":3}},"line":186},"8":{"name":"(anonymous_8)","decl":{"start":{"line":213,"column":2},"end":{"line":213,"column":3}},"loc":{"start":{"line":213,"column":41},"end":{"line":228,"column":3}},"line":213},"9":{"name":"(anonymous_9)","decl":{"start":{"line":230,"column":2},"end":{"line":230,"column":3}},"loc":{"start":{"line":230,"column":46},"end":{"line":245,"column":3}},"line":230},"10":{"name":"(anonymous_10)","decl":{"start":{"line":247,"column":2},"end":{"line":247,"column":3}},"loc":{"start":{"line":247,"column":33},"end":{"line":258,"column":3}},"line":247},"11":{"name":"(anonymous_11)","decl":{"start":{"line":260,"column":2},"end":{"line":260,"column":3}},"loc":{"start":{"line":260,"column":47},"end":{"line":284,"column":3}},"line":260},"12":{"name":"(anonymous_12)","decl":{"start":{"line":286,"column":2},"end":{"line":286,"column":3}},"loc":{"start":{"line":286,"column":43},"end":{"line":316,"column":3}},"line":286},"13":{"name":"(anonymous_13)","decl":{"start":{"line":318,"column":2},"end":{"line":318,"column":3}},"loc":{"start":{"line":318,"column":46},"end":{"line":327,"column":3}},"line":318},"14":{"name":"(anonymous_14)","decl":{"start":{"line":329,"column":2},"end":{"line":329,"column":3}},"loc":{"start":{"line":329,"column":53},"end":{"line":366,"column":3}},"line":329}},"branchMap":{"0":{"loc":{"start":{"line":15,"column":6},"end":{"line":21,"column":7}},"type":"if","locations":[{"start":{"line":15,"column":6},"end":{"line":21,"column":7}},{"start":{},"end":{}}],"line":15},"1":{"loc":{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},"type":"if","locations":[{"start":{"line":22,"column":6},"end":{"line":28,"column":7}},{"start":{},"end":{}}],"line":22},"2":{"loc":{"start":{"line":29,"column":6},"end":{"line":33,"column":7}},"type":"if","locations":[{"start":{"line":29,"column":6},"end":{"line":33,"column":7}},{"start":{},"end":{}}],"line":29},"3":{"loc":{"start":{"line":30,"column":24},"end":{"line":30,"column":56}},"type":"cond-expr","locations":[{"start":{"line":30,"column":42},"end":{"line":30,"column":48}},{"start":{"line":30,"column":51},"end":{"line":30,"column":56}}],"line":30},"4":{"loc":{"start":{"line":31,"column":27},"end":{"line":31,"column":68}},"type":"cond-expr","locations":[{"start":{"line":31,"column":48},"end":{"line":31,"column":61}},{"start":{"line":31,"column":64},"end":{"line":31,"column":68}}],"line":31},"5":{"loc":{"start":{"line":67,"column":6},"end":{"line":69,"column":7}},"type":"if","locations":[{"start":{"line":67,"column":6},"end":{"line":69,"column":7}},{"start":{},"end":{}}],"line":67},"6":{"loc":{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},"type":"if","locations":[{"start":{"line":127,"column":6},"end":{"line":129,"column":7}},{"start":{},"end":{}}],"line":127},"7":{"loc":{"start":{"line":140,"column":6},"end":{"line":142,"column":5}},"type":"if","locations":[{"start":{"line":140,"column":6},"end":{"line":142,"column":5}},{"start":{},"end":{}}],"line":140},"8":{"loc":{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},"type":"if","locations":[{"start":{"line":157,"column":6},"end":{"line":159,"column":7}},{"start":{},"end":{}}],"line":157},"9":{"loc":{"start":{"line":174,"column":6},"end":{"line":176,"column":7}},"type":"if","locations":[{"start":{"line":174,"column":6},"end":{"line":176,"column":7}},{"start":{},"end":{}}],"line":174},"10":{"loc":{"start":{"line":189,"column":6},"end":{"line":189,"column":54}},"type":"if","locations":[{"start":{"line":189,"column":6},"end":{"line":189,"column":54}},{"start":{},"end":{}}],"line":189},"11":{"loc":{"start":{"line":203,"column":6},"end":{"line":203,"column":47}},"type":"if","locations":[{"start":{"line":203,"column":6},"end":{"line":203,"column":47}},{"start":{},"end":{}}],"line":203},"12":{"loc":{"start":{"line":217,"column":6},"end":{"line":219,"column":7}},"type":"if","locations":[{"start":{"line":217,"column":6},"end":{"line":219,"column":7}},{"start":{},"end":{}}],"line":217},"13":{"loc":{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},"type":"if","locations":[{"start":{"line":234,"column":6},"end":{"line":236,"column":7}},{"start":{},"end":{}}],"line":234},"14":{"loc":{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},"type":"if","locations":[{"start":{"line":263,"column":6},"end":{"line":263,"column":54}},{"start":{},"end":{}}],"line":263},"15":{"loc":{"start":{"line":276,"column":6},"end":{"line":276,"column":45}},"type":"if","locations":[{"start":{"line":276,"column":6},"end":{"line":276,"column":45}},{"start":{},"end":{}}],"line":276},"16":{"loc":{"start":{"line":334,"column":6},"end":{"line":336,"column":7}},"type":"if","locations":[{"start":{"line":334,"column":6},"end":{"line":336,"column":7}},{"start":{},"end":{}}],"line":334}},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":2,"48":2,"49":0,"50":2,"51":2,"52":1,"53":1,"54":1,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":2,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,2],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"e2818d9dfba91adcbccf486404f14ca3522e9619"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\controllers\\UserController.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\controllers\\UserController.js","statementMap":{"0":{"start":{"line":1,"column":17},"end":{"line":1,"column":37}},"1":{"start":{"line":2,"column":28},"end":{"line":2,"column":56}},"2":{"start":{"line":3,"column":22},"end":{"line":3,"column":47}},"3":{"start":{"line":5,"column":0},"end":{"line":37,"column":1}},"4":{"start":{"line":7,"column":8},"end":{"line":14,"column":9}},"5":{"start":{"line":8,"column":52},"end":{"line":8,"column":60}},"6":{"start":{"line":9,"column":12},"end":{"line":9,"column":63}},"7":{"start":{"line":10,"column":12},"end":{"line":10,"column":55}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":31}},"9":{"start":{"line":13,"column":12},"end":{"line":13,"column":24}},"10":{"start":{"line":18,"column":8},"end":{"line":35,"column":9}},"11":{"start":{"line":19,"column":40},"end":{"line":19,"column":48}},"12":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"13":{"start":{"line":21,"column":16},"end":{"line":21,"column":50}},"14":{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},"15":{"start":{"line":24,"column":16},"end":{"line":24,"column":53}},"16":{"start":{"line":26,"column":29},"end":{"line":26,"column":76}},"17":{"start":{"line":27,"column":12},"end":{"line":29,"column":13}},"18":{"start":{"line":28,"column":16},"end":{"line":28,"column":45}},"19":{"start":{"line":30,"column":26},"end":{"line":30,"column":56}},"20":{"start":{"line":31,"column":12},"end":{"line":31,"column":57}},"21":{"start":{"line":33,"column":12},"end":{"line":33,"column":31}},"22":{"start":{"line":34,"column":12},"end":{"line":34,"column":24}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":4},"end":{"line":6,"column":5}},"loc":{"start":{"line":6,"column":46},"end":{"line":15,"column":5}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":17,"column":4},"end":{"line":17,"column":5}},"loc":{"start":{"line":17,"column":43},"end":{"line":36,"column":5}},"line":17}},"branchMap":{"0":{"loc":{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},"type":"if","locations":[{"start":{"line":20,"column":12},"end":{"line":22,"column":13}},{"start":{},"end":{}}],"line":20},"1":{"loc":{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},{"start":{},"end":{}}],"line":23},"2":{"loc":{"start":{"line":27,"column":12},"end":{"line":29,"column":13}},"type":"if","locations":[{"start":{"line":27,"column":12},"end":{"line":29,"column":13}},{"start":{},"end":{}}],"line":27},"3":{"loc":{"start":{"line":27,"column":16},"end":{"line":27,"column":74}},"type":"binary-expr","locations":[{"start":{"line":27,"column":16},"end":{"line":27,"column":25}},{"start":{"line":27,"column":29},"end":{"line":27,"column":74}}],"line":27}},"s":{"0":8,"1":8,"2":8,"3":8,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0},"f":{"0":0,"1":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c0368cd7f232ad1d1c1fa4cf60922d8beebfc6cb"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\helpers\\bcrypt.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\helpers\\bcrypt.js","statementMap":{"0":{"start":{"line":1,"column":32},"end":{"line":1,"column":51}},"1":{"start":{"line":3,"column":0},"end":{"line":6,"column":1}},"2":{"start":{"line":4,"column":32},"end":{"line":4,"column":54}},"3":{"start":{"line":5,"column":48},"end":{"line":5,"column":82}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":18},"end":{"line":4,"column":19}},"loc":{"start":{"line":4,"column":32},"end":{"line":4,"column":54}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":21},"end":{"line":5,"column":22}},"loc":{"start":{"line":5,"column":48},"end":{"line":5,"column":82}},"line":5}},"branchMap":{},"s":{"0":8,"1":8,"2":6,"3":0},"f":{"0":6,"1":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"283a82c342fbe47d587311c05328dde31fb78f38"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\helpers\\jwt.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\helpers\\jwt.js","statementMap":{"0":{"start":{"line":1,"column":21},"end":{"line":1,"column":44}},"1":{"start":{"line":3,"column":15},"end":{"line":3,"column":37}},"2":{"start":{"line":6,"column":4},"end":{"line":6,"column":45}},"3":{"start":{"line":10,"column":4},"end":{"line":10,"column":45}},"4":{"start":{"line":13,"column":0},"end":{"line":16,"column":1}}},"fnMap":{"0":{"name":"signToken","decl":{"start":{"line":5,"column":9},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":28},"end":{"line":7,"column":1}},"line":5},"1":{"name":"verifyToken","decl":{"start":{"line":9,"column":9},"end":{"line":9,"column":20}},"loc":{"start":{"line":9,"column":28},"end":{"line":11,"column":1}},"line":9}},"branchMap":{},"s":{"0":8,"1":8,"2":12,"3":3,"4":8},"f":{"0":12,"1":3},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"4725645022cf265441c52baaedb9a52a659a4d33"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\authentication.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\authentication.js","statementMap":{"0":{"start":{"line":1,"column":17},"end":{"line":1,"column":37}},"1":{"start":{"line":2,"column":24},"end":{"line":2,"column":49}},"2":{"start":{"line":5,"column":4},"end":{"line":26,"column":5}},"3":{"start":{"line":6,"column":34},"end":{"line":6,"column":45}},"4":{"start":{"line":7,"column":8},"end":{"line":9,"column":9}},"5":{"start":{"line":8,"column":12},"end":{"line":8,"column":45}},"6":{"start":{"line":10,"column":30},"end":{"line":10,"column":54}},"7":{"start":{"line":11,"column":8},"end":{"line":13,"column":9}},"8":{"start":{"line":12,"column":12},"end":{"line":12,"column":45}},"9":{"start":{"line":14,"column":24},"end":{"line":14,"column":42}},"10":{"start":{"line":15,"column":21},"end":{"line":15,"column":52}},"11":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"12":{"start":{"line":17,"column":12},"end":{"line":17,"column":45}},"13":{"start":{"line":19,"column":8},"end":{"line":19,"column":24}},"14":{"start":{"line":21,"column":8},"end":{"line":21,"column":15}},"15":{"start":{"line":24,"column":8},"end":{"line":24,"column":27}},"16":{"start":{"line":25,"column":8},"end":{"line":25,"column":20}},"17":{"start":{"line":29,"column":0},"end":{"line":29,"column":32}}},"fnMap":{"0":{"name":"authentication","decl":{"start":{"line":4,"column":15},"end":{"line":4,"column":29}},"loc":{"start":{"line":4,"column":46},"end":{"line":27,"column":1}},"line":4}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":8},"end":{"line":9,"column":9}},"type":"if","locations":[{"start":{"line":7,"column":8},"end":{"line":9,"column":9}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":11,"column":8},"end":{"line":13,"column":9}},"type":"if","locations":[{"start":{"line":11,"column":8},"end":{"line":13,"column":9}},{"start":{},"end":{}}],"line":11},"2":{"loc":{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},"type":"if","locations":[{"start":{"line":16,"column":8},"end":{"line":18,"column":9}},{"start":{},"end":{}}],"line":16}},"s":{"0":8,"1":8,"2":5,"3":5,"4":5,"5":1,"6":4,"7":4,"8":1,"9":3,"10":2,"11":2,"12":0,"13":2,"14":2,"15":3,"16":3,"17":8},"f":{"0":5},"b":{"0":[1,4],"1":[1,3],"2":[0,2]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"c2192f1f1fd8af309af86037c800a59dfd3054bb"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\authorization.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\authorization.js","statementMap":{"0":{"start":{"line":1,"column":19},"end":{"line":1,"column":39}},"1":{"start":{"line":4,"column":4},"end":{"line":19,"column":5}},"2":{"start":{"line":5,"column":27},"end":{"line":5,"column":37}},"3":{"start":{"line":6,"column":31},"end":{"line":6,"column":62}},"4":{"start":{"line":7,"column":12},"end":{"line":9,"column":13}},"5":{"start":{"line":8,"column":16},"end":{"line":8,"column":41}},"6":{"start":{"line":10,"column":12},"end":{"line":12,"column":13}},"7":{"start":{"line":11,"column":16},"end":{"line":11,"column":44}},"8":{"start":{"line":14,"column":4},"end":{"line":14,"column":11}},"9":{"start":{"line":17,"column":8},"end":{"line":17,"column":27}},"10":{"start":{"line":18,"column":8},"end":{"line":18,"column":20}},"11":{"start":{"line":22,"column":0},"end":{"line":22,"column":31}}},"fnMap":{"0":{"name":"authorization","decl":{"start":{"line":3,"column":15},"end":{"line":3,"column":28}},"loc":{"start":{"line":3,"column":45},"end":{"line":20,"column":1}},"line":3}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":12},"end":{"line":9,"column":13}},"type":"if","locations":[{"start":{"line":7,"column":12},"end":{"line":9,"column":13}},{"start":{},"end":{}}],"line":7},"1":{"loc":{"start":{"line":10,"column":12},"end":{"line":12,"column":13}},"type":"if","locations":[{"start":{"line":10,"column":12},"end":{"line":12,"column":13}},{"start":{},"end":{}}],"line":10}},"s":{"0":8,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":8},"f":{"0":0},"b":{"0":[0,0],"1":[0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"40650b0c6e7261c6f8c51ecf8ae365cfd482481a"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\errorHandler.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\middlewares\\errorHandler.js","statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":50,"column":1}},"1":{"start":{"line":2,"column":4},"end":{"line":2,"column":53}},"2":{"start":{"line":3,"column":17},"end":{"line":3,"column":36}},"3":{"start":{"line":4,"column":18},"end":{"line":4,"column":58}},"4":{"start":{"line":6,"column":4},"end":{"line":47,"column":5}},"5":{"start":{"line":9,"column":12},"end":{"line":9,"column":24}},"6":{"start":{"line":10,"column":12},"end":{"line":10,"column":37}},"7":{"start":{"line":11,"column":12},"end":{"line":11,"column":18}},"8":{"start":{"line":13,"column":12},"end":{"line":13,"column":24}},"9":{"start":{"line":14,"column":12},"end":{"line":14,"column":49}},"10":{"start":{"line":15,"column":12},"end":{"line":15,"column":18}},"11":{"start":{"line":17,"column":12},"end":{"line":17,"column":24}},"12":{"start":{"line":18,"column":12},"end":{"line":18,"column":33}},"13":{"start":{"line":19,"column":12},"end":{"line":19,"column":18}},"14":{"start":{"line":21,"column":12},"end":{"line":21,"column":24}},"15":{"start":{"line":22,"column":12},"end":{"line":22,"column":38}},"16":{"start":{"line":23,"column":12},"end":{"line":23,"column":18}},"17":{"start":{"line":26,"column":13},"end":{"line":26,"column":25}},"18":{"start":{"line":27,"column":13},"end":{"line":27,"column":46}},"19":{"start":{"line":28,"column":13},"end":{"line":28,"column":19}},"20":{"start":{"line":30,"column":12},"end":{"line":30,"column":24}},"21":{"start":{"line":31,"column":12},"end":{"line":31,"column":41}},"22":{"start":{"line":32,"column":12},"end":{"line":32,"column":18}},"23":{"start":{"line":34,"column":12},"end":{"line":34,"column":24}},"24":{"start":{"line":35,"column":12},"end":{"line":35,"column":44}},"25":{"start":{"line":36,"column":12},"end":{"line":36,"column":18}},"26":{"start":{"line":38,"column":12},"end":{"line":38,"column":24}},"27":{"start":{"line":39,"column":12},"end":{"line":39,"column":46}},"28":{"start":{"line":40,"column":12},"end":{"line":40,"column":18}},"29":{"start":{"line":42,"column":12},"end":{"line":42,"column":24}},"30":{"start":{"line":43,"column":12},"end":{"line":43,"column":49}},"31":{"start":{"line":44,"column":12},"end":{"line":44,"column":18}},"32":{"start":{"line":46,"column":12},"end":{"line":46,"column":18}},"33":{"start":{"line":49,"column":4},"end":{"line":49,"column":55}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":1,"column":17},"end":{"line":1,"column":18}},"loc":{"start":{"line":1,"column":44},"end":{"line":50,"column":1}},"line":1}},"branchMap":{"0":{"loc":{"start":{"line":3,"column":17},"end":{"line":3,"column":36}},"type":"binary-expr","locations":[{"start":{"line":3,"column":17},"end":{"line":3,"column":29}},{"start":{"line":3,"column":33},"end":{"line":3,"column":36}}],"line":3},"1":{"loc":{"start":{"line":4,"column":18},"end":{"line":4,"column":58}},"type":"binary-expr","locations":[{"start":{"line":4,"column":18},"end":{"line":4,"column":31}},{"start":{"line":4,"column":35},"end":{"line":4,"column":58}}],"line":4},"2":{"loc":{"start":{"line":6,"column":4},"end":{"line":47,"column":5}},"type":"switch","locations":[{"start":{"line":7,"column":8},"end":{"line":7,"column":33}},{"start":{"line":8,"column":8},"end":{"line":11,"column":18}},{"start":{"line":12,"column":8},"end":{"line":15,"column":18}},{"start":{"line":16,"column":8},"end":{"line":19,"column":18}},{"start":{"line":20,"column":8},"end":{"line":23,"column":18}},{"start":{"line":24,"column":8},"end":{"line":24,"column":40}},{"start":{"line":25,"column":8},"end":{"line":28,"column":19}},{"start":{"line":29,"column":8},"end":{"line":32,"column":18}},{"start":{"line":33,"column":8},"end":{"line":36,"column":18}},{"start":{"line":37,"column":8},"end":{"line":40,"column":18}},{"start":{"line":41,"column":8},"end":{"line":44,"column":18}},{"start":{"line":45,"column":8},"end":{"line":46,"column":18}}],"line":6}},"s":{"0":8,"1":4,"2":4,"3":4,"4":4,"5":3,"6":3,"7":3,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":1,"18":1,"19":1,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":4},"f":{"0":4},"b":{"0":[4,4],"1":[4,2],"2":[1,3,0,0,0,1,1,0,0,0,0,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"095144e40615b750aaef2ad349267997d32f7aff"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\burger.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\burger.js","statementMap":{"0":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"1":{"start":{"line":5,"column":0},"end":{"line":87,"column":2}},"2":{"start":{"line":14,"column":6},"end":{"line":14,"column":59}},"3":{"start":{"line":17,"column":2},"end":{"line":85,"column":5}},"4":{"start":{"line":86,"column":2},"end":{"line":86,"column":16}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":43},"end":{"line":87,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":29},"end":{"line":15,"column":5}},"line":12}},"branchMap":{},"s":{"0":8,"1":8,"2":8,"3":8,"4":8},"f":{"0":8,"1":8},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"1a0207079c463ca8b8dcfadab484d368330df6d9"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\cart.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\cart.js","statementMap":{"0":{"start":{"line":4,"column":4},"end":{"line":4,"column":24}},"1":{"start":{"line":5,"column":0},"end":{"line":69,"column":2}},"2":{"start":{"line":14,"column":6},"end":{"line":14,"column":57}},"3":{"start":{"line":15,"column":6},"end":{"line":15,"column":61}},"4":{"start":{"line":18,"column":2},"end":{"line":67,"column":5}},"5":{"start":{"line":68,"column":2},"end":{"line":68,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":5,"column":17},"end":{"line":5,"column":18}},"loc":{"start":{"line":5,"column":43},"end":{"line":69,"column":1}},"line":5},"1":{"name":"(anonymous_1)","decl":{"start":{"line":12,"column":4},"end":{"line":12,"column":5}},"loc":{"start":{"line":12,"column":29},"end":{"line":16,"column":5}},"line":12}},"branchMap":{},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":8},"f":{"0":8,"1":8},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"8b5ed71edbdded249d96f768fed7dcc6d1f0d787"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\index.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\index.js","statementMap":{"0":{"start":{"line":3,"column":11},"end":{"line":3,"column":24}},"1":{"start":{"line":4,"column":13},"end":{"line":4,"column":28}},"2":{"start":{"line":5,"column":18},"end":{"line":5,"column":38}},"3":{"start":{"line":6,"column":16},"end":{"line":6,"column":34}},"4":{"start":{"line":7,"column":17},"end":{"line":7,"column":42}},"5":{"start":{"line":8,"column":12},"end":{"line":8,"column":49}},"6":{"start":{"line":9,"column":15},"end":{"line":9,"column":65}},"7":{"start":{"line":10,"column":11},"end":{"line":10,"column":13}},"8":{"start":{"line":13,"column":0},"end":{"line":17,"column":1}},"9":{"start":{"line":14,"column":2},"end":{"line":14,"column":74}},"10":{"start":{"line":16,"column":2},"end":{"line":16,"column":87}},"11":{"start":{"line":19,"column":0},"end":{"line":32,"column":5}},"12":{"start":{"line":22,"column":4},"end":{"line":27,"column":6}},"13":{"start":{"line":30,"column":18},"end":{"line":30,"column":85}},"14":{"start":{"line":31,"column":4},"end":{"line":31,"column":27}},"15":{"start":{"line":34,"column":0},"end":{"line":38,"column":3}},"16":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"17":{"start":{"line":36,"column":4},"end":{"line":36,"column":32}},"18":{"start":{"line":40,"column":0},"end":{"line":40,"column":25}},"19":{"start":{"line":41,"column":0},"end":{"line":41,"column":25}},"20":{"start":{"line":43,"column":0},"end":{"line":43,"column":20}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":21,"column":10},"end":{"line":21,"column":11}},"loc":{"start":{"line":21,"column":18},"end":{"line":28,"column":3}},"line":21},"1":{"name":"(anonymous_1)","decl":{"start":{"line":29,"column":11},"end":{"line":29,"column":12}},"loc":{"start":{"line":29,"column":19},"end":{"line":32,"column":3}},"line":29},"2":{"name":"(anonymous_2)","decl":{"start":{"line":34,"column":24},"end":{"line":34,"column":25}},"loc":{"start":{"line":34,"column":37},"end":{"line":38,"column":1}},"line":34}},"branchMap":{"0":{"loc":{"start":{"line":8,"column":12},"end":{"line":8,"column":49}},"type":"binary-expr","locations":[{"start":{"line":8,"column":12},"end":{"line":8,"column":32}},{"start":{"line":8,"column":36},"end":{"line":8,"column":49}}],"line":8},"1":{"loc":{"start":{"line":13,"column":0},"end":{"line":17,"column":1}},"type":"if","locations":[{"start":{"line":13,"column":0},"end":{"line":17,"column":1}},{"start":{"line":15,"column":7},"end":{"line":17,"column":1}}],"line":13},"2":{"loc":{"start":{"line":23,"column":6},"end":{"line":26,"column":37}},"type":"binary-expr","locations":[{"start":{"line":23,"column":6},"end":{"line":23,"column":29}},{"start":{"line":24,"column":6},"end":{"line":24,"column":23}},{"start":{"line":25,"column":6},"end":{"line":25,"column":30}},{"start":{"line":26,"column":6},"end":{"line":26,"column":37}}],"line":23},"3":{"loc":{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},"type":"if","locations":[{"start":{"line":35,"column":2},"end":{"line":37,"column":3}},{"start":{},"end":{}}],"line":35}},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":0,"10":8,"11":8,"12":32,"13":24,"14":24,"15":8,"16":24,"17":24,"18":8,"19":8,"20":8},"f":{"0":32,"1":24,"2":24},"b":{"0":[8,0],"1":[0,8],"2":[32,32,24,24],"3":[24,0]},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"36e427aa426f30bb39fa2ef766d57c87c1c9b162"} +,"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\user.js": {"path":"C:\\Users\\Dhiren Kirpalani\\OneDrive\\Documents\\Individual-project\\IP-RMT46\\Server\\models\\user.js","statementMap":{"0":{"start":{"line":2,"column":23},"end":{"line":2,"column":51}},"1":{"start":{"line":5,"column":4},"end":{"line":5,"column":24}},"2":{"start":{"line":6,"column":0},"end":{"line":85,"column":2}},"3":{"start":{"line":15,"column":6},"end":{"line":15,"column":55}},"4":{"start":{"line":18,"column":2},"end":{"line":83,"column":5}},"5":{"start":{"line":80,"column":8},"end":{"line":80,"column":53}},"6":{"start":{"line":84,"column":2},"end":{"line":84,"column":14}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":6,"column":17},"end":{"line":6,"column":18}},"loc":{"start":{"line":6,"column":43},"end":{"line":85,"column":1}},"line":6},"1":{"name":"(anonymous_1)","decl":{"start":{"line":13,"column":4},"end":{"line":13,"column":5}},"loc":{"start":{"line":13,"column":29},"end":{"line":16,"column":5}},"line":13},"2":{"name":"(anonymous_2)","decl":{"start":{"line":79,"column":6},"end":{"line":79,"column":7}},"loc":{"start":{"line":79,"column":35},"end":{"line":81,"column":7}},"line":79}},"branchMap":{},"s":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":0,"6":8},"f":{"0":8,"1":8,"2":0},"b":{},"_coverageSchema":"1a1c01bbd47fc00a2c39e90264f33305004495a9","hash":"48ddf4bb6d1e8a52979732d43a9185762b859c92"} +} diff --git a/Server/coverage/lcov-report/Server/app.js.html b/Server/coverage/lcov-report/Server/app.js.html new file mode 100644 index 0000000..06868b8 --- /dev/null +++ b/Server/coverage/lcov-report/Server/app.js.html @@ -0,0 +1,235 @@ + + + + + + Code coverage report for Server/app.js + + + + + + + + + +
+
+

All files / Server app.js

+
+ +
+ 97.22% + Statements + 35/36 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 97.22% + Lines + 35/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +518x +8x +  +  +8x +8x +8x +  +8x +8x +8x +8x +8x +  +8x +8x +8x +  +8x +8x +8x +  +8x +  +  +  +8x +8x +  +8x +  +8x +  +  +  +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +8x +  +8x +  +8x
Eif(process.env.NODE_ENV !== "production") {
+    require('dotenv').config();
+}
+ 
+const express = require("express");
+const app = express();
+const port = 3000;
+ 
+const UserController = require("./controllers/UserController");
+const BurgerController = require("./controllers/BurgerController");
+const authentication = require("./middlewares/authentication");
+const authorization = require("./middlewares/authorization");
+const errorHandler = require("./middlewares/errorHandler");
+ 
+const multer = require("multer");
+const upload = multer({ storage: multer.memoryStorage() });
+const cors = require("cors");
+ 
+app.use(express.urlencoded({extended: true}));
+app.use(express.json());
+app.use(cors());
+ 
+app.get("/", (req, res) => {
+    res.json({message: "Welcome to the Burger Bites API"})
+})
+ 
+app.post("/register", UserController.registerUser);
+app.post("/login", UserController.loginUser);
+ 
+app.get("/burgers", BurgerController.getBurgers);
+ 
+app.post("/google-login", BurgerController.googleLogin);
+ 
+// app.use(authentication);
+ 
+app.get("/userProfile", authentication, BurgerController.getUser); // /users
+app.patch("/burgers/userProfile/image", authentication, upload.single("image"), BurgerController.updateUserImage); // /users/profile
+app.get("/mycart", authentication,BurgerController.getMyBurger);
+app.patch("/burgers/mycart/purchase", authentication, BurgerController.purchaseBurger); //change
+app.post("/burgers/mycart/generateMidTransToken", authentication, BurgerController.generateMidTransToken); //change
+app.post("/burgers/add", authentication, BurgerController.addBurger); // change add
+app.get("/burgers/:burgerId", BurgerController.getBurgerById);
+app.put("/burgers/:burgerId", authentication, authorization, BurgerController.updateBurgerById);
+app.delete("/burgers/:burgerId", authentication, authorization, BurgerController.deleteBurgerById);
+app.patch("/burgers/:burgerId/image", authentication, authorization, upload.single("image"), BurgerController.updateImageById);
+app.post("/burgers/:burgerId/addToCart", authentication, BurgerController.addToCart); // /cart/:burgerId
+app.delete("/burgers/:burgerId/removeFromCart", authentication, BurgerController.removeFromCart); // /cart/:burgerId
+ 
+app.use(errorHandler);
+ 
+module.exports = app;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/controllers/BurgerController.js.html b/Server/coverage/lcov-report/Server/controllers/BurgerController.js.html new file mode 100644 index 0000000..c9c395c --- /dev/null +++ b/Server/coverage/lcov-report/Server/controllers/BurgerController.js.html @@ -0,0 +1,1183 @@ + + + + + + Code coverage report for Server/controllers/BurgerController.js + + + + + + + + + +
+
+

All files / Server/controllers BurgerController.js

+
+ +
+ 10.32% + Statements + 16/155 +
+ + +
+ 2.94% + Branches + 1/34 +
+ + +
+ 6.66% + Functions + 1/15 +
+ + +
+ 10.59% + Lines + 16/151 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87 +88 +89 +90 +91 +92 +93 +94 +95 +96 +97 +98 +99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +3678x +8x +8x +8x +8x +8x +8x +8x +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +2x +2x +  +  +2x +2x +1x +  +  +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
const { User, Burger, Cart } = require("../models");
+const { Op } = require("sequelize");
+const burgersHubEndPoint = "https://burgers-hub.p.rapidapi.com";
+const axios = require("axios");
+const { OAuth2Client } = require('google-auth-library');
+const client = new OAuth2Client();
+const { signToken } = require("../helpers/jwt");
+const midtransClient = require('midtrans-client');
+ 
+module.exports = class BurgerController {
+  static async getBurgers(req, res, next) {
+    try {
+      const { filter, search, sort, page } = req.query;
+      let option = {}
+      if (filter) {
+        option.where = {
+ 
+          id: filter
+ 
+        }
+      }
+      if (search) {
+        option.where = {
+          name: {
+            [Op.iLike]: `%${search}%`
+          }
+        }
+      }
+      if (sort) {
+        const orderby = sort[0] === "-" ? "desc" : "asc"
+        const columnName = orderby === "desc" ? sort.slice(1) : sort
+        option.order = [[columnName, orderby]]
+      }
+      const burgerData = await Burger.findAll(option);
+      res.status(200).json(burgerData)
+    } catch (error) {
+      console.log(error)
+      next(error);
+    }
+ 
+ 
+    // const options = {
+    //   method: 'GET',
+    //   url: `${burgersHubEndPoint}/burgers`,
+    //   headers: {
+    //     'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY,
+    //     'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com'
+    //   }
+    // };
+ 
+    // try {
+    //   const response = await axios.request(options);
+    //   console.log(response.data);
+    //   res.status(200).json(response.data)
+    // } catch (error) {
+    //   console.error(error);
+    //   return res.status(500).json({ message: "Internal Server Error" });
+    // }
+ 
+  }
+ 
+  static async getBurgerById(req, res, next) {
+ 
+    const { burgerId } = req.params;
+    try {
+      const burgerData = await Burger.findByPk(burgerId);
+      if (!burgerData) {
+        throw { name: "Not found" }
+      }
+      res.status(200).json(burgerData)
+    } catch (error) {
+      console.log(error)
+      next(error);
+    }
+ 
+ 
+    // const options = {
+    //   method: 'GET',
+    //   url: `${burgersHubEndPoint}/burgers/${burgerId}`,
+    //   headers: {
+    //     'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY,
+    //     'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com'
+    //   }
+    // };
+ 
+    // try {
+    //   const response = await axios.request(options);
+    //   console.log(response.data);
+    //   res.status(200).json(response.data)
+    // } catch (error) {
+    //   console.error(error);
+    //   return res.status(500).json({ message: "Internal Server Error" });
+    // }
+  }
+ 
+  static async getBurgerByName(req, res, next) {
+ 
+    const { name } = req.query;
+ 
+    const options = {
+      method: 'GET',
+      url: `${burgersHubEndPoint}/find-burger/`,
+      params: {
+        searchQuery: "search",
+        search: name
+      },
+      headers: {
+        'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY,
+        'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com'
+      }
+    };
+ 
+    try {
+      const response = await axios.request(options);
+      console.log(response.data);
+      res.status(200).json(response.data)
+    } catch (error) {
+      console.error(error);
+      next(error);
+    }
+  }
+ 
+  static async getMyBurger(req, res, next) {
+ 
+    try {
+      const myBurgerData = await Cart.findAll({ where: { UserId: req.user.id } });
+      if(!myBurgerData) {
+        throw {name: "Not found"}
+      }
+      return res.status(200).json(myBurgerData);
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async addBurger(req, res, next) {
+    try {
+      Iif(req.user.role !== "Admin") {
+        throw {name: "Unauthorized"}
+    }
+      const { name, desc, price, veg, images } = req.body;
+      const burgerData = await Burger.create({ name, desc, price, veg, images });
+      return res.status(201).json({ message: "Burger successfully added", burgerData });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async updateBurgerById(req, res, next) {
+    try {
+      const { burgerId } = req.params;
+      const burgerData = await Burger.findByPk(burgerId);
+      if (!burgerData) {
+        throw { name: "Not found" }
+      }
+      const { name, desc, price, veg, images } = req.body;
+      await Burger.update({ name, desc, price, veg, images }, { where: { id: req.params.burgerId } });
+      return res.status(200).json({ message: "Burger has been updated" });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async deleteBurgerById(req, res, next) {
+    try {
+      const { burgerId } = req.params;
+      const burgerData = await Burger.findByPk(burgerId);
+      if (!burgerData) {
+        throw { name: "Not found" }
+      }
+      await Burger.destroy({ where: { id: req.params.burgerId } });
+      return res.status(200).json({ message: "Burger has been deleted" });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async updateImageById(req, res, next) {
+    try {
+ 
+      if (!req.file) throw { name: "CustomFileError" }
+ 
+      const cloudinary = require("cloudinary").v2;
+      cloudinary.config({
+        cloud_name: process.env.cloudinary_cloud_name,
+        api_key: process.env.cloudinary_api_key,
+        api_secret: process.env.cloudinary_api_secret
+      });
+      const dataURI = `data:${req.file.mimetype};base64,${Buffer.from(req.file.buffer).toString("base64")}`
+      const result = await cloudinary.uploader.upload(dataURI, { public_id: "test" })
+ 
+      const { burgerId } = req.params;
+      const burger = await Burger.findByPk(burgerId);
+ 
+      if (!burger) throw { name: "Not found" };
+ 
+      await burger.update({ images: result.secure_url });
+ 
+      res.json({ message: "Image successfully updated" })
+    } catch (error) {
+      next(error);
+    }
+  }
+ 
+  static async addToCart(req, res, next) {
+    try {
+      const { burgerId } = req.params;
+      const burgerData = await Burger.findByPk(burgerId);
+      if (!burgerData) {
+        throw { name: "Not found" }
+      }
+      const { quantity } = req.body;
+      await Cart.create({ quantity, BurgerId: burgerId, UserId: req.user.id });
+      return res.status(201).json({ message: "Burger successfully added to cart", burgerData });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async removeFromCart(req, res, next) {
+    try {
+      const { burgerId } = req.params;
+      const burgerData = await Cart.findOne({where: { BurgerId: burgerId }});
+      if (!burgerData) {
+        throw { name: "Not found" }
+      }
+      
+      await Cart.destroy({ where: { BurgerId: req.params.burgerId } });
+      return res.status(201).json({ message: "Burger successfully removed from cart" });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async getUser(req, res) {
+ 
+    try {
+      const userData = await User.findByPk(req.user.id);
+      const { name, email, role, imageUrl } = userData;
+      return res.status(200).json({ name, email, role, imageUrl });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async updateUserImage(req, res, next) {
+    try {
+ 
+      if (!req.file) throw { name: "CustomFileError" }
+ 
+      const cloudinary = require("cloudinary").v2;
+      cloudinary.config({
+        cloud_name: process.env.cloudinary_cloud_name,
+        api_key: process.env.cloudinary_api_key,
+        api_secret: process.env.cloudinary_api_secret
+      });
+      const dataURI = `data:${req.file.mimetype};base64,${Buffer.from(req.file.buffer).toString("base64")}`
+      const result = await cloudinary.uploader.upload(dataURI, { public_id: "test" })
+ 
+      const user = await User.findByPk(req.user.id);
+ 
+      if (!user) throw { name: "Not found" };
+ 
+      await user.update({ imageUrl: result.secure_url });
+ 
+      res.json({ message: "Image successfully updated" })
+    } catch (error) {
+      next(error);
+    }
+  }
+ 
+  static async googleLogin(req, res, next) {
+ 
+    const { googleToken } = req.body;
+ 
+    console.log(req.body)
+ 
+    try {
+      const ticket = await client.verifyIdToken({
+        idToken: googleToken,
+        audience: "483160331749-3i3b3l3nvvostt3ccublhnmi64dtmkob.apps.googleusercontent.com",  // Specify the CLIENT_ID of the app that accesses the backend
+        // Or, if multiple clients access the backend:
+        //[CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3]
+      });
+      const { email, name } = ticket.getPayload();
+      const [user, created] = await User.findOrCreate({
+        where: { email },
+        defaults: {
+          name,
+          email,
+          password: Math.random().toString()
+        }
+      });
+      console.log({ user, created })
+      const access_token = signToken({ id: user.id })
+      res.status(200).json({ message: `Login as ${user.email}`, access_token });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error);
+    }
+  }
+ 
+  static async purchaseBurger(req, res, next) {
+    try {
+      await Cart.update({ purchased: true }, { where: { UserId: req.user.id } });
+      return res.status(200).json({ message: "Burger has been purchased" });
+ 
+    } catch (error) {
+      console.log(error);
+      next(error)
+    }
+  }
+ 
+  static async generateMidTransToken(req, res, next) {
+    try {
+      const userData = await User.findByPk(req.user.id);
+      const cartData = await Cart.findAll({ where: { UserId: userData.id } });
+      console.log(userData, cartData, "<<<<<")
+      if (cartData.purchased) {
+        throw { name: "CustomPurchaseError" } // error code: 400
+      }
+      let snap = new midtransClient.Snap({
+        // Set to true if you want Production Environment (accept real transaction).
+        isProduction: false,
+        serverKey: process.env.MIDTRANS_SERVER_KEY
+      });
+ 
+      let parameter = {
+        transaction_details: {
+          order_id: `TRANSACTION_${Math.floor(100000 + Math.random() * 900000)}`,
+          gross_amount: 10000
+        },
+        credit_card: {
+          secure: true
+        },
+        customer_details: {
+          name: userData.name,
+          email: userData.email
+        }
+      };
+ 
+      const midtransToken = await snap.createTransaction(parameter);
+      console.log(midtransToken, "<<<<")
+      res.status(201).json(midtransToken);
+ 
+ 
+    } catch (error) {
+      console.log(error);
+      next(error);
+    }
+  }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/controllers/UserController.js.html b/Server/coverage/lcov-report/Server/controllers/UserController.js.html new file mode 100644 index 0000000..ac46a18 --- /dev/null +++ b/Server/coverage/lcov-report/Server/controllers/UserController.js.html @@ -0,0 +1,193 @@ + + + + + + Code coverage report for Server/controllers/UserController.js + + + + + + + + + +
+
+

All files / Server/controllers UserController.js

+
+ +
+ 17.39% + Statements + 4/23 +
+ + +
+ 0% + Branches + 0/8 +
+ + +
+ 0% + Functions + 0/2 +
+ + +
+ 17.39% + Lines + 4/23 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +378x +8x +8x +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  + 
const { User } = require("../models")
+const { comparePassword } = require("../helpers/bcrypt")
+const { signToken } = require("../helpers/jwt")
+ 
+module.exports = class UserController {
+    static async registerUser(req, res, next) {
+        try {
+            const { name, email, password, role } = req.body;
+            await User.create({ name, email, password, role });
+            res.status(201).json({ name, email, role })
+        } catch (error) {
+            console.log(error);
+            next(error);
+        }
+    }
+ 
+    static async loginUser(req, res, next) {
+        try {
+            const { email, password } = req.body;
+            if (!email) {
+                throw { name: "CustomEmailError" }
+            }
+            if (!password) {
+                throw { name: "CustomPasswordError" }
+            }
+            const userData = await User.findOne({ where: { email: email } });
+            if (!userData || !comparePassword(password, userData.password)) {
+                throw { name: "CustomError" }
+            }
+            const token = signToken({ id: userData.id })
+            res.status(200).json({ access_token: token })
+        } catch (error) {
+            console.log(error);
+            next(error);
+        }
+    }
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/controllers/index.html b/Server/coverage/lcov-report/Server/controllers/index.html new file mode 100644 index 0000000..c8ed9e4 --- /dev/null +++ b/Server/coverage/lcov-report/Server/controllers/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for Server/controllers + + + + + + + + + +
+
+

All files Server/controllers

+
+ +
+ 11.23% + Statements + 20/178 +
+ + +
+ 2.38% + Branches + 1/42 +
+ + +
+ 5.88% + Functions + 1/17 +
+ + +
+ 11.49% + Lines + 20/174 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
BurgerController.js +
+
10.32%16/1552.94%1/346.66%1/1510.59%16/151
UserController.js +
+
17.39%4/230%0/80%0/217.39%4/23
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/helpers/bcrypt.js.html b/Server/coverage/lcov-report/Server/helpers/bcrypt.js.html new file mode 100644 index 0000000..5cc0d75 --- /dev/null +++ b/Server/coverage/lcov-report/Server/helpers/bcrypt.js.html @@ -0,0 +1,100 @@ + + + + + + Code coverage report for Server/helpers/bcrypt.js + + + + + + + + + +
+
+

All files / Server/helpers bcrypt.js

+
+ +
+ 75% + Statements + 3/4 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 50% + Functions + 1/2 +
+ + +
+ 75% + Lines + 3/4 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +68x +  +8x +6x +  + 
const {hashSync, compareSync} = require("bcryptjs");
+ 
+module.exports = {
+    hashPassword: (password) => hashSync(password, 10),
+    comparePassword: (password, db_password) => compareSync(password, db_password)
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/helpers/index.html b/Server/coverage/lcov-report/Server/helpers/index.html new file mode 100644 index 0000000..37d7bfb --- /dev/null +++ b/Server/coverage/lcov-report/Server/helpers/index.html @@ -0,0 +1,131 @@ + + + + + + Code coverage report for Server/helpers + + + + + + + + + +
+
+

All files Server/helpers

+
+ +
+ 88.88% + Statements + 8/9 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 75% + Functions + 3/4 +
+ + +
+ 88.88% + Lines + 8/9 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
bcrypt.js +
+
75%3/4100%0/050%1/275%3/4
jwt.js +
+
100%5/5100%0/0100%2/2100%5/5
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/helpers/jwt.js.html b/Server/coverage/lcov-report/Server/helpers/jwt.js.html new file mode 100644 index 0000000..5a24ef7 --- /dev/null +++ b/Server/coverage/lcov-report/Server/helpers/jwt.js.html @@ -0,0 +1,130 @@ + + + + + + Code coverage report for Server/helpers/jwt.js + + + + + + + + + +
+
+

All files / Server/helpers jwt.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +168x +  +8x +  +  +12x +  +  +  +3x +  +  +8x +  +  + 
const jsonwebtoken = require("jsonwebtoken")
+ 
+const secret = process.env.JWT_SECRET;
+ 
+function signToken(payload) {
+    return jsonwebtoken.sign(payload, secret)
+}
+ 
+function verifyToken(token) {
+    return jsonwebtoken.verify(token, secret)
+}
+ 
+module.exports = {
+    signToken,
+    verifyToken
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/index.html b/Server/coverage/lcov-report/Server/index.html new file mode 100644 index 0000000..a19f72e --- /dev/null +++ b/Server/coverage/lcov-report/Server/index.html @@ -0,0 +1,116 @@ + + + + + + Code coverage report for Server + + + + + + + + + +
+
+

All files Server

+
+ +
+ 97.22% + Statements + 35/36 +
+ + +
+ 50% + Branches + 1/2 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 97.22% + Lines + 35/36 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
app.js +
+
97.22%35/3650%1/20%0/197.22%35/36
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/middlewares/authentication.js.html b/Server/coverage/lcov-report/Server/middlewares/authentication.js.html new file mode 100644 index 0000000..42b36f0 --- /dev/null +++ b/Server/coverage/lcov-report/Server/middlewares/authentication.js.html @@ -0,0 +1,169 @@ + + + + + + Code coverage report for Server/middlewares/authentication.js + + + + + + + + + +
+
+

All files / Server/middlewares authentication.js

+
+ +
+ 94.44% + Statements + 17/18 +
+ + +
+ 83.33% + Branches + 5/6 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 94.44% + Lines + 17/18 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +298x +8x +  +  +5x +5x +5x +1x +  +4x +4x +1x +  +3x +2x +2x +  +  +2x +  +2x +  +  +3x +3x +  +  +  +8x
const { User } = require("../models");
+const { verifyToken } = require("../helpers/jwt");
+ 
+async function authentication(req, res, next) {
+    try {
+        const { authorization } = req.headers;
+        if (!authorization) {
+            throw { name: "Unauthenticated" }
+        }
+        const [type, token] = authorization.split(" ");
+        if (type !== "Bearer") {
+            throw { name: "Unauthenticated" }
+        }
+        const payload = verifyToken(token);
+        const user = await User.findByPk(payload.id)
+        Iif (!user) {
+            throw { name: "Unauthenticated" }
+        }
+        req.user = user;
+ 
+        next();
+ 
+    } catch (error) {
+        console.log(error);
+        next(error);
+    }
+}
+ 
+module.exports = authentication;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/middlewares/authorization.js.html b/Server/coverage/lcov-report/Server/middlewares/authorization.js.html new file mode 100644 index 0000000..7ab074a --- /dev/null +++ b/Server/coverage/lcov-report/Server/middlewares/authorization.js.html @@ -0,0 +1,148 @@ + + + + + + Code coverage report for Server/middlewares/authorization.js + + + + + + + + + +
+
+

All files / Server/middlewares authorization.js

+
+ +
+ 16.66% + Statements + 2/12 +
+ + +
+ 0% + Branches + 0/4 +
+ + +
+ 0% + Functions + 0/1 +
+ + +
+ 16.66% + Lines + 2/12 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +228x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x
const { Burger } = require("../models");
+ 
+async function authorization(req, res, next) {
+    try {
+        const {burgerId} = req.params;
+            const burgerData = await Burger.findByPk(burgerId);
+            if(!burgerData) {
+                throw {name: "Not found"}
+            }
+            if(req.user.role !== "Admin") {
+                throw {name: "Unauthorized"}
+            }
+ 
+    next();
+ 
+    } catch (error) {
+        console.log(error);
+        next(error);
+    }
+}
+ 
+module.exports = authorization;
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/middlewares/errorHandler.js.html b/Server/coverage/lcov-report/Server/middlewares/errorHandler.js.html new file mode 100644 index 0000000..9c2c365 --- /dev/null +++ b/Server/coverage/lcov-report/Server/middlewares/errorHandler.js.html @@ -0,0 +1,232 @@ + + + + + + Code coverage report for Server/middlewares/errorHandler.js + + + + + + + + + +
+
+

All files / Server/middlewares errorHandler.js

+
+ +
+ 35.29% + Statements + 12/34 +
+ + +
+ 50% + Branches + 8/16 +
+ + +
+ 100% + Functions + 1/1 +
+ + +
+ 35.29% + Lines + 12/34 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +508x +4x +4x +4x +  +4x +  +  +3x +3x +3x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +1x +1x +1x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +4x + 
module.exports = (error, req, res, next) => {
+    console.log(error, "<<<<<<<<< from errorHandler")
+    let status = error.status || 500;
+    let message = error.message || "Internal Server Error";
+ 
+    switch (error.name) {
+        case "JsonWebTokenError":
+        case "Unauthenticated":
+            status = 401
+            message = "Invalid token"
+            break;
+        case "CustomError":
+            status = 401
+            message = "Invalid email or password"
+            break;
+        case "Unauthorized":
+            status = 403
+            message = "Forbidden"
+            break;
+        case "Not found":
+            status = 404
+            message = `Data not found`
+            break;
+        case "SequelizeValidationError":
+        case "SequelizeUniqueConstraintError":
+             status = 400
+             message = error.errors[0].message
+             break;
+        case "CustomEmailError":
+            status = 400
+            message = "Email is required"
+            break;
+        case "CustomPasswordError":
+            status = 400
+            message = "Password is required"
+            break;
+        case "CustomFileError":
+            status = 400
+            message = "Image file is required"
+            break;
+        case "CustomPurchaseError":
+            status = 400
+            message = "Burger has been purchased"
+            break;
+        default:
+            break;
+    }
+ 
+    res.status(status).json({message: message, error});
+}
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/middlewares/index.html b/Server/coverage/lcov-report/Server/middlewares/index.html new file mode 100644 index 0000000..fecfcc9 --- /dev/null +++ b/Server/coverage/lcov-report/Server/middlewares/index.html @@ -0,0 +1,146 @@ + + + + + + Code coverage report for Server/middlewares + + + + + + + + + +
+
+

All files Server/middlewares

+
+ +
+ 48.43% + Statements + 31/64 +
+ + +
+ 50% + Branches + 13/26 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 48.43% + Lines + 31/64 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
authentication.js +
+
94.44%17/1883.33%5/6100%1/194.44%17/18
authorization.js +
+
16.66%2/120%0/40%0/116.66%2/12
errorHandler.js +
+
35.29%12/3450%8/16100%1/135.29%12/34
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/models/burger.js.html b/Server/coverage/lcov-report/Server/models/burger.js.html new file mode 100644 index 0000000..6373ad5 --- /dev/null +++ b/Server/coverage/lcov-report/Server/models/burger.js.html @@ -0,0 +1,343 @@ + + + + + + Code coverage report for Server/models/burger.js + + + + + + + + + +
+
+

All files / Server/models burger.js

+
+ +
+ 100% + Statements + 5/5 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 5/5 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85 +86 +87  +  +  +8x +8x +  +  +  +  +  +  +  +  +8x +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x + 
'use strict';
+const {
+  Model
+} = require('sequelize');
+module.exports = (sequelize, DataTypes) => {
+  class Burger extends Model {
+    /**
+     * Helper method for defining associations.
+     * This method is not a part of Sequelize lifecycle.
+     * The `models/index` file will call this method automatically.
+     */
+    static associate(models) {
+      // define association here
+      Burger.hasMany(models.Cart, {foreignKey: "BurgerId"})
+    }
+  }
+  Burger.init({
+    name: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      unique: {
+        args: true,
+        msg: "Burger already exists"
+      },
+      validate: {
+        notNull: {
+          msg: "Name is required"
+        },
+        notEmpty: {
+          msg: "Name is required"
+        }
+      }
+    },
+    desc: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Description is required"
+        },
+        notEmpty: {
+          msg: "Description is required"
+        }
+      }
+    },
+    price: {
+      type: DataTypes.INTEGER,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Price is required"
+        },
+        notEmpty: {
+          msg: "Price is required"
+        }
+      }
+    },
+    veg: {
+      type: DataTypes.BOOLEAN,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Veg status is required"
+        },
+        notEmpty: {
+          msg: "Veg status is required"
+        }
+      }
+    },
+    images: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Image is required"
+        },
+        notEmpty: {
+          msg: "Image is required"
+        }
+      }
+    }
+  }, {
+    sequelize,
+    modelName: 'Burger',
+  });
+  return Burger;
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/models/cart.js.html b/Server/coverage/lcov-report/Server/models/cart.js.html new file mode 100644 index 0000000..4d3c3c5 --- /dev/null +++ b/Server/coverage/lcov-report/Server/models/cart.js.html @@ -0,0 +1,289 @@ + + + + + + Code coverage report for Server/models/cart.js + + + + + + + + + +
+
+

All files / Server/models cart.js

+
+ +
+ 100% + Statements + 6/6 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 100% + Functions + 2/2 +
+ + +
+ 100% + Lines + 6/6 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69  +  +  +8x +8x +  +  +  +  +  +  +  +  +8x +8x +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x + 
'use strict';
+const {
+  Model
+} = require('sequelize');
+module.exports = (sequelize, DataTypes) => {
+  class Cart extends Model {
+    /**
+     * Helper method for defining associations.
+     * This method is not a part of Sequelize lifecycle.
+     * The `models/index` file will call this method automatically.
+     */
+    static associate(models) {
+      // define association here
+      Cart.belongsTo(models.User, {foreignKey: "UserId"})
+      Cart.belongsTo(models.Burger, {foreignKey: "BurgerId"})
+    }
+  }
+  Cart.init({
+    quantity: {
+      type: DataTypes.INTEGER,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Quantity is required"
+        },
+        notEmpty: {
+          msg: "Quantity is required"
+        }
+      }
+    },
+    UserId: {
+      type: DataTypes.INTEGER,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "User is required"
+        },
+        notEmpty: {
+          msg: "User is required"
+        }
+      }
+    },
+    BurgerId: {
+      type: DataTypes.INTEGER,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Burger is required"
+        },
+        notEmpty: {
+          msg: "Burger is required"
+        }
+      }
+    },
+    purchased: {
+      type: DataTypes.BOOLEAN,
+      allowNull: false,
+      defaultValue: false
+    },
+    purchasedAt: {
+      type: DataTypes.DATE,
+      allowNull: true
+    },
+  }, {
+    sequelize,
+    modelName: 'Cart',
+  });
+  return Cart;
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/models/index.html b/Server/coverage/lcov-report/Server/models/index.html new file mode 100644 index 0000000..79d462f --- /dev/null +++ b/Server/coverage/lcov-report/Server/models/index.html @@ -0,0 +1,161 @@ + + + + + + Code coverage report for Server/models + + + + + + + + + +
+
+

All files Server/models

+
+ +
+ 94.87% + Statements + 37/39 +
+ + +
+ 70% + Branches + 7/10 +
+ + +
+ 90% + Functions + 9/10 +
+ + +
+ 94.87% + Lines + 37/39 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
burger.js +
+
100%5/5100%0/0100%2/2100%5/5
cart.js +
+
100%6/6100%0/0100%2/2100%6/6
index.js +
+
95.23%20/2170%7/10100%3/395.23%20/21
user.js +
+
85.71%6/7100%0/066.66%2/385.71%6/7
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/models/index.js.html b/Server/coverage/lcov-report/Server/models/index.js.html new file mode 100644 index 0000000..db456fe --- /dev/null +++ b/Server/coverage/lcov-report/Server/models/index.js.html @@ -0,0 +1,214 @@ + + + + + + Code coverage report for Server/models/index.js + + + + + + + + + +
+
+

All files / Server/models index.js

+
+ +
+ 95.23% + Statements + 20/21 +
+ + +
+ 70% + Branches + 7/10 +
+ + +
+ 100% + Functions + 3/3 +
+ + +
+ 95.23% + Lines + 20/21 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44  +  +8x +8x +8x +8x +8x +8x +8x +8x +  +  +8x +  +  +8x +  +  +8x +  +  +32x +  +  +  +  +  +  +  +24x +24x +  +  +8x +24x +24x +  +  +  +8x +8x +  +8x + 
'use strict';
+ 
+const fs = require('fs');
+const path = require('path');
+const Sequelize = require('sequelize');
+const process = require('process');
+const basename = path.basename(__filename);
+const env = process.env.NODE_ENV || 'development';
+const config = require(__dirname + '/../config/config.json')[env];
+const db = {};
+ 
+let sequelize;
+Iif (config.use_env_variable) {
+  sequelize = new Sequelize(process.env[config.use_env_variable], config);
+} else {
+  sequelize = new Sequelize(config.database, config.username, config.password, config);
+}
+ 
+fs
+  .readdirSync(__dirname)
+  .filter(file => {
+    return (
+      file.indexOf('.') !== 0 &&
+      file !== basename &&
+      file.slice(-3) === '.js' &&
+      file.indexOf('.test.js') === -1
+    );
+  })
+  .forEach(file => {
+    const model = require(path.join(__dirname, file))(sequelize, Sequelize.DataTypes);
+    db[model.name] = model;
+  });
+ 
+Object.keys(db).forEach(modelName => {
+  Eif (db[modelName].associate) {
+    db[modelName].associate(db);
+  }
+});
+ 
+db.sequelize = sequelize;
+db.Sequelize = Sequelize;
+ 
+module.exports = db;
+ 
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/Server/models/user.js.html b/Server/coverage/lcov-report/Server/models/user.js.html new file mode 100644 index 0000000..7351c50 --- /dev/null +++ b/Server/coverage/lcov-report/Server/models/user.js.html @@ -0,0 +1,337 @@ + + + + + + Code coverage report for Server/models/user.js + + + + + + + + + +
+
+

All files / Server/models user.js

+
+ +
+ 85.71% + Statements + 6/7 +
+ + +
+ 100% + Branches + 0/0 +
+ + +
+ 66.66% + Functions + 2/3 +
+ + +
+ 85.71% + Lines + 6/7 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+

+
1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15 +16 +17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 +84 +85  +8x +  +  +8x +8x +  +  +  +  +  +  +  +  +8x +  +  +8x +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +  +8x + 
'use strict';
+const {hashPassword} = require("../helpers/bcrypt")
+const {
+  Model
+} = require('sequelize');
+module.exports = (sequelize, DataTypes) => {
+  class User extends Model {
+    /**
+     * Helper method for defining associations.
+     * This method is not a part of Sequelize lifecycle.
+     * The `models/index` file will call this method automatically.
+     */
+    static associate(models) {
+      // define association here
+      User.hasMany(models.Cart, {foreignKey: "UserId"})
+    }
+  }
+  User.init({
+    name: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Name is required"
+        },
+        notEmpty: {
+          msg: "Name is required"
+        }
+      }
+    },
+    email: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      unique: {
+        args: true,
+        msg: "Email is already registered"
+      },
+      validate: {
+        notNull: {
+          msg: "Email is required"
+        },
+        notEmpty: {
+          msg: "Email is required"
+        },
+        isEmail: {
+          args: true,
+          msg: "Invalid email format"
+        }
+      }
+    },
+    password: {
+      type: DataTypes.STRING,
+      allowNull: false,
+      validate: {
+        notNull: {
+          msg: "Password is required"
+        },
+        notEmpty: {
+          msg: "Password is required"
+        },
+        len: {
+          args: [5],
+          msg: "Password is too short"
+        }
+      }
+    },
+    role: {
+      type: DataTypes.STRING,
+      defaultValue: "Customer"
+    },
+    imageUrl: {
+      type: DataTypes.STRING,
+      defaultValue: "https://t4.ftcdn.net/jpg/04/10/43/77/360_F_410437733_hdq4Q3QOH9uwh0mcqAhRFzOKfrCR24Ta.jpg"
+    }
+  }, {
+    sequelize,
+    modelName: 'User',
+    hooks: {
+      beforeCreate (value, option) {
+        value.password = hashPassword(value.password)
+      }
+    }
+  });
+  return User;
+};
+ +
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/base.css b/Server/coverage/lcov-report/base.css new file mode 100644 index 0000000..f418035 --- /dev/null +++ b/Server/coverage/lcov-report/base.css @@ -0,0 +1,224 @@ +body, html { + margin:0; padding: 0; + height: 100%; +} +body { + font-family: Helvetica Neue, Helvetica, Arial; + font-size: 14px; + color:#333; +} +.small { font-size: 12px; } +*, *:after, *:before { + -webkit-box-sizing:border-box; + -moz-box-sizing:border-box; + box-sizing:border-box; + } +h1 { font-size: 20px; margin: 0;} +h2 { font-size: 14px; } +pre { + font: 12px/1.4 Consolas, "Liberation Mono", Menlo, Courier, monospace; + margin: 0; + padding: 0; + -moz-tab-size: 2; + -o-tab-size: 2; + tab-size: 2; +} +a { color:#0074D9; text-decoration:none; } +a:hover { text-decoration:underline; } +.strong { font-weight: bold; } +.space-top1 { padding: 10px 0 0 0; } +.pad2y { padding: 20px 0; } +.pad1y { padding: 10px 0; } +.pad2x { padding: 0 20px; } +.pad2 { padding: 20px; } +.pad1 { padding: 10px; } +.space-left2 { padding-left:55px; } +.space-right2 { padding-right:20px; } +.center { text-align:center; } +.clearfix { display:block; } +.clearfix:after { + content:''; + display:block; + height:0; + clear:both; + visibility:hidden; + } +.fl { float: left; } +@media only screen and (max-width:640px) { + .col3 { width:100%; max-width:100%; } + .hide-mobile { display:none!important; } +} + +.quiet { + color: #7f7f7f; + color: rgba(0,0,0,0.5); +} +.quiet a { opacity: 0.7; } + +.fraction { + font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace; + font-size: 10px; + color: #555; + background: #E8E8E8; + padding: 4px 5px; + border-radius: 3px; + vertical-align: middle; +} + +div.path a:link, div.path a:visited { color: #333; } +table.coverage { + border-collapse: collapse; + margin: 10px 0 0 0; + padding: 0; +} + +table.coverage td { + margin: 0; + padding: 0; + vertical-align: top; +} +table.coverage td.line-count { + text-align: right; + padding: 0 5px 0 20px; +} +table.coverage td.line-coverage { + text-align: right; + padding-right: 10px; + min-width:20px; +} + +table.coverage td span.cline-any { + display: inline-block; + padding: 0 5px; + width: 100%; +} +.missing-if-branch { + display: inline-block; + margin-right: 5px; + border-radius: 3px; + position: relative; + padding: 0 4px; + background: #333; + color: yellow; +} + +.skip-if-branch { + display: none; + margin-right: 10px; + position: relative; + padding: 0 4px; + background: #ccc; + color: white; +} +.missing-if-branch .typ, .skip-if-branch .typ { + color: inherit !important; +} +.coverage-summary { + border-collapse: collapse; + width: 100%; +} +.coverage-summary tr { border-bottom: 1px solid #bbb; } +.keyline-all { border: 1px solid #ddd; } +.coverage-summary td, .coverage-summary th { padding: 10px; } +.coverage-summary tbody { border: 1px solid #bbb; } +.coverage-summary td { border-right: 1px solid #bbb; } +.coverage-summary td:last-child { border-right: none; } +.coverage-summary th { + text-align: left; + font-weight: normal; + white-space: nowrap; +} +.coverage-summary th.file { border-right: none !important; } +.coverage-summary th.pct { } +.coverage-summary th.pic, +.coverage-summary th.abs, +.coverage-summary td.pct, +.coverage-summary td.abs { text-align: right; } +.coverage-summary td.file { white-space: nowrap; } +.coverage-summary td.pic { min-width: 120px !important; } +.coverage-summary tfoot td { } + +.coverage-summary .sorter { + height: 10px; + width: 7px; + display: inline-block; + margin-left: 0.5em; + background: url(sort-arrow-sprite.png) no-repeat scroll 0 0 transparent; +} +.coverage-summary .sorted .sorter { + background-position: 0 -20px; +} +.coverage-summary .sorted-desc .sorter { + background-position: 0 -10px; +} +.status-line { height: 10px; } +/* yellow */ +.cbranch-no { background: yellow !important; color: #111; } +/* dark red */ +.red.solid, .status-line.low, .low .cover-fill { background:#C21F39 } +.low .chart { border:1px solid #C21F39 } +.highlighted, +.highlighted .cstat-no, .highlighted .fstat-no, .highlighted .cbranch-no{ + background: #C21F39 !important; +} +/* medium red */ +.cstat-no, .fstat-no, .cbranch-no, .cbranch-no { background:#F6C6CE } +/* light red */ +.low, .cline-no { background:#FCE1E5 } +/* light green */ +.high, .cline-yes { background:rgb(230,245,208) } +/* medium green */ +.cstat-yes { background:rgb(161,215,106) } +/* dark green */ +.status-line.high, .high .cover-fill { background:rgb(77,146,33) } +.high .chart { border:1px solid rgb(77,146,33) } +/* dark yellow (gold) */ +.status-line.medium, .medium .cover-fill { background: #f9cd0b; } +.medium .chart { border:1px solid #f9cd0b; } +/* light yellow */ +.medium { background: #fff4c2; } + +.cstat-skip { background: #ddd; color: #111; } +.fstat-skip { background: #ddd; color: #111 !important; } +.cbranch-skip { background: #ddd !important; color: #111; } + +span.cline-neutral { background: #eaeaea; } + +.coverage-summary td.empty { + opacity: .5; + padding-top: 4px; + padding-bottom: 4px; + line-height: 1; + color: #888; +} + +.cover-fill, .cover-empty { + display:inline-block; + height: 12px; +} +.chart { + line-height: 0; +} +.cover-empty { + background: white; +} +.cover-full { + border-right: none !important; +} +pre.prettyprint { + border: none !important; + padding: 0 !important; + margin: 0 !important; +} +.com { color: #999 !important; } +.ignore-none { color: #999; font-weight: normal; } + +.wrapper { + min-height: 100%; + height: auto !important; + height: 100%; + margin: 0 auto -48px; +} +.footer, .push { + height: 48px; +} diff --git a/Server/coverage/lcov-report/block-navigation.js b/Server/coverage/lcov-report/block-navigation.js new file mode 100644 index 0000000..cc12130 --- /dev/null +++ b/Server/coverage/lcov-report/block-navigation.js @@ -0,0 +1,87 @@ +/* eslint-disable */ +var jumpToCode = (function init() { + // Classes of code we would like to highlight in the file view + var missingCoverageClasses = ['.cbranch-no', '.cstat-no', '.fstat-no']; + + // Elements to highlight in the file listing view + var fileListingElements = ['td.pct.low']; + + // We don't want to select elements that are direct descendants of another match + var notSelector = ':not(' + missingCoverageClasses.join('):not(') + ') > '; // becomes `:not(a):not(b) > ` + + // Selecter that finds elements on the page to which we can jump + var selector = + fileListingElements.join(', ') + + ', ' + + notSelector + + missingCoverageClasses.join(', ' + notSelector); // becomes `:not(a):not(b) > a, :not(a):not(b) > b` + + // The NodeList of matching elements + var missingCoverageElements = document.querySelectorAll(selector); + + var currentIndex; + + function toggleClass(index) { + missingCoverageElements + .item(currentIndex) + .classList.remove('highlighted'); + missingCoverageElements.item(index).classList.add('highlighted'); + } + + function makeCurrent(index) { + toggleClass(index); + currentIndex = index; + missingCoverageElements.item(index).scrollIntoView({ + behavior: 'smooth', + block: 'center', + inline: 'center' + }); + } + + function goToPrevious() { + var nextIndex = 0; + if (typeof currentIndex !== 'number' || currentIndex === 0) { + nextIndex = missingCoverageElements.length - 1; + } else if (missingCoverageElements.length > 1) { + nextIndex = currentIndex - 1; + } + + makeCurrent(nextIndex); + } + + function goToNext() { + var nextIndex = 0; + + if ( + typeof currentIndex === 'number' && + currentIndex < missingCoverageElements.length - 1 + ) { + nextIndex = currentIndex + 1; + } + + makeCurrent(nextIndex); + } + + return function jump(event) { + if ( + document.getElementById('fileSearch') === document.activeElement && + document.activeElement != null + ) { + // if we're currently focused on the search input, we don't want to navigate + return; + } + + switch (event.which) { + case 78: // n + case 74: // j + goToNext(); + break; + case 66: // b + case 75: // k + case 80: // p + goToPrevious(); + break; + } + }; +})(); +window.addEventListener('keydown', jumpToCode); diff --git a/Server/coverage/lcov-report/favicon.png b/Server/coverage/lcov-report/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..c1525b811a167671e9de1fa78aab9f5c0b61cef7 GIT binary patch literal 445 zcmV;u0Yd(XP))rP{nL}Ln%S7`m{0DjX9TLF* zFCb$4Oi7vyLOydb!7n&^ItCzb-%BoB`=x@N2jll2Nj`kauio%aw_@fe&*}LqlFT43 z8doAAe))z_%=P%v^@JHp3Hjhj^6*Kr_h|g_Gr?ZAa&y>wxHE99Gk>A)2MplWz2xdG zy8VD2J|Uf#EAw*bo5O*PO_}X2Tob{%bUoO2G~T`@%S6qPyc}VkhV}UifBuRk>%5v( z)x7B{I~z*k<7dv#5tC+m{km(D087J4O%+<<;K|qwefb6@GSX45wCK}Sn*> + + + + Code coverage report for All files + + + + + + + + + +
+
+

All files

+
+ +
+ 40.18% + Statements + 131/326 +
+ + +
+ 27.5% + Branches + 22/80 +
+ + +
+ 42.85% + Functions + 15/35 +
+ + +
+ 40.68% + Lines + 131/322 +
+ + +
+

+ Press n or j to go to the next uncovered block, b, p or k for the previous block. +

+ +
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FileStatementsBranchesFunctionsLines
Server +
+
97.22%35/3650%1/20%0/197.22%35/36
Server/controllers +
+
11.23%20/1782.38%1/425.88%1/1711.49%20/174
Server/helpers +
+
88.88%8/9100%0/075%3/488.88%8/9
Server/middlewares +
+
48.43%31/6450%13/2666.66%2/348.43%31/64
Server/models +
+
94.87%37/3970%7/1090%9/1094.87%37/39
+
+
+
+ + + + + + + + \ No newline at end of file diff --git a/Server/coverage/lcov-report/prettify.css b/Server/coverage/lcov-report/prettify.css new file mode 100644 index 0000000..b317a7c --- /dev/null +++ b/Server/coverage/lcov-report/prettify.css @@ -0,0 +1 @@ +.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee} diff --git a/Server/coverage/lcov-report/prettify.js b/Server/coverage/lcov-report/prettify.js new file mode 100644 index 0000000..b322523 --- /dev/null +++ b/Server/coverage/lcov-report/prettify.js @@ -0,0 +1,2 @@ +/* eslint-disable */ +window.PR_SHOULD_USE_CONTINUATION=true;(function(){var h=["break,continue,do,else,for,if,return,while"];var u=[h,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"];var p=[u,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];var l=[p,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];var x=[p,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"];var R=[x,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"];var r="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes";var w=[p,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];var s="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END";var I=[h,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];var f=[h,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];var H=[h,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"];var A=[l,R,w,s+I,f,H];var e=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/;var C="str";var z="kwd";var j="com";var O="typ";var G="lit";var L="pun";var F="pln";var m="tag";var E="dec";var J="src";var P="atn";var n="atv";var N="nocode";var M="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*";function k(Z){var ad=0;var S=false;var ac=false;for(var V=0,U=Z.length;V122)){if(!(al<65||ag>90)){af.push([Math.max(65,ag)|32,Math.min(al,90)|32])}if(!(al<97||ag>122)){af.push([Math.max(97,ag)&~32,Math.min(al,122)&~32])}}}}af.sort(function(av,au){return(av[0]-au[0])||(au[1]-av[1])});var ai=[];var ap=[NaN,NaN];for(var ar=0;arat[0]){if(at[1]+1>at[0]){an.push("-")}an.push(T(at[1]))}}an.push("]");return an.join("")}function W(al){var aj=al.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g"));var ah=aj.length;var an=[];for(var ak=0,am=0;ak=2&&ai==="["){aj[ak]=X(ag)}else{if(ai!=="\\"){aj[ak]=ag.replace(/[a-zA-Z]/g,function(ao){var ap=ao.charCodeAt(0);return"["+String.fromCharCode(ap&~32,ap|32)+"]"})}}}}return aj.join("")}var aa=[];for(var V=0,U=Z.length;V=0;){S[ac.charAt(ae)]=Y}}var af=Y[1];var aa=""+af;if(!ag.hasOwnProperty(aa)){ah.push(af);ag[aa]=null}}ah.push(/[\0-\uffff]/);V=k(ah)})();var X=T.length;var W=function(ah){var Z=ah.sourceCode,Y=ah.basePos;var ad=[Y,F];var af=0;var an=Z.match(V)||[];var aj={};for(var ae=0,aq=an.length;ae=5&&"lang-"===ap.substring(0,5);if(am&&!(ai&&typeof ai[1]==="string")){am=false;ap=J}if(!am){aj[ag]=ap}}var ab=af;af+=ag.length;if(!am){ad.push(Y+ab,ap)}else{var al=ai[1];var ak=ag.indexOf(al);var ac=ak+al.length;if(ai[2]){ac=ag.length-ai[2].length;ak=ac-al.length}var ar=ap.substring(5);B(Y+ab,ag.substring(0,ak),W,ad);B(Y+ab+ak,al,q(ar,al),ad);B(Y+ab+ac,ag.substring(ac),W,ad)}}ah.decorations=ad};return W}function i(T){var W=[],S=[];if(T.tripleQuotedStrings){W.push([C,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""])}else{if(T.multiLineStrings){W.push([C,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"])}else{W.push([C,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"])}}if(T.verbatimStrings){S.push([C,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null])}var Y=T.hashComments;if(Y){if(T.cStyleComments){if(Y>1){W.push([j,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"])}else{W.push([j,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"])}S.push([C,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])}else{W.push([j,/^#[^\r\n]*/,null,"#"])}}if(T.cStyleComments){S.push([j,/^\/\/[^\r\n]*/,null]);S.push([j,/^\/\*[\s\S]*?(?:\*\/|$)/,null])}if(T.regexLiterals){var X=("/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/");S.push(["lang-regex",new RegExp("^"+M+"("+X+")")])}var V=T.types;if(V){S.push([O,V])}var U=(""+T.keywords).replace(/^ | $/g,"");if(U.length){S.push([z,new RegExp("^(?:"+U.replace(/[\s,]+/g,"|")+")\\b"),null])}W.push([F,/^\s+/,null," \r\n\t\xA0"]);S.push([G,/^@[a-z_$][a-z_$@0-9]*/i,null],[O,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[F,/^[a-z_$][a-z_$@0-9]*/i,null],[G,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[F,/^\\[\s\S]?/,null],[L,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]);return g(W,S)}var K=i({keywords:A,hashComments:true,cStyleComments:true,multiLineStrings:true,regexLiterals:true});function Q(V,ag){var U=/(?:^|\s)nocode(?:\s|$)/;var ab=/\r\n?|\n/;var ac=V.ownerDocument;var S;if(V.currentStyle){S=V.currentStyle.whiteSpace}else{if(window.getComputedStyle){S=ac.defaultView.getComputedStyle(V,null).getPropertyValue("white-space")}}var Z=S&&"pre"===S.substring(0,3);var af=ac.createElement("LI");while(V.firstChild){af.appendChild(V.firstChild)}var W=[af];function ae(al){switch(al.nodeType){case 1:if(U.test(al.className)){break}if("BR"===al.nodeName){ad(al);if(al.parentNode){al.parentNode.removeChild(al)}}else{for(var an=al.firstChild;an;an=an.nextSibling){ae(an)}}break;case 3:case 4:if(Z){var am=al.nodeValue;var aj=am.match(ab);if(aj){var ai=am.substring(0,aj.index);al.nodeValue=ai;var ah=am.substring(aj.index+aj[0].length);if(ah){var ak=al.parentNode;ak.insertBefore(ac.createTextNode(ah),al.nextSibling)}ad(al);if(!ai){al.parentNode.removeChild(al)}}}break}}function ad(ak){while(!ak.nextSibling){ak=ak.parentNode;if(!ak){return}}function ai(al,ar){var aq=ar?al.cloneNode(false):al;var ao=al.parentNode;if(ao){var ap=ai(ao,1);var an=al.nextSibling;ap.appendChild(aq);for(var am=an;am;am=an){an=am.nextSibling;ap.appendChild(am)}}return aq}var ah=ai(ak.nextSibling,0);for(var aj;(aj=ah.parentNode)&&aj.nodeType===1;){ah=aj}W.push(ah)}for(var Y=0;Y=S){ah+=2}if(V>=ap){Z+=2}}}var t={};function c(U,V){for(var S=V.length;--S>=0;){var T=V[S];if(!t.hasOwnProperty(T)){t[T]=U}else{if(window.console){console.warn("cannot override language handler %s",T)}}}}function q(T,S){if(!(T&&t.hasOwnProperty(T))){T=/^\s*]*(?:>|$)/],[j,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[L,/^(?:<[%?]|[%?]>)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]);c(g([[F,/^[\s]+/,null," \t\r\n"],[n,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[m,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[P,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[L,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]);c(g([],[[n,/^[\s\S]+/]]),["uq.val"]);c(i({keywords:l,hashComments:true,cStyleComments:true,types:e}),["c","cc","cpp","cxx","cyc","m"]);c(i({keywords:"null,true,false"}),["json"]);c(i({keywords:R,hashComments:true,cStyleComments:true,verbatimStrings:true,types:e}),["cs"]);c(i({keywords:x,cStyleComments:true}),["java"]);c(i({keywords:H,hashComments:true,multiLineStrings:true}),["bsh","csh","sh"]);c(i({keywords:I,hashComments:true,multiLineStrings:true,tripleQuotedStrings:true}),["cv","py"]);c(i({keywords:s,hashComments:true,multiLineStrings:true,regexLiterals:true}),["perl","pl","pm"]);c(i({keywords:f,hashComments:true,multiLineStrings:true,regexLiterals:true}),["rb"]);c(i({keywords:w,cStyleComments:true,regexLiterals:true}),["js"]);c(i({keywords:r,hashComments:3,cStyleComments:true,multilineStrings:true,tripleQuotedStrings:true,regexLiterals:true}),["coffee"]);c(g([],[[C,/^[\s\S]+/]]),["regex"]);function d(V){var U=V.langExtension;try{var S=a(V.sourceNode);var T=S.sourceCode;V.sourceCode=T;V.spans=S.spans;V.basePos=0;q(U,T)(V);D(V)}catch(W){if("console" in window){console.log(W&&W.stack?W.stack:W)}}}function y(W,V,U){var S=document.createElement("PRE");S.innerHTML=W;if(U){Q(S,U)}var T={langExtension:V,numberLines:U,sourceNode:S};d(T);return S.innerHTML}function b(ad){function Y(af){return document.getElementsByTagName(af)}var ac=[Y("pre"),Y("code"),Y("xmp")];var T=[];for(var aa=0;aa=0){var ah=ai.match(ab);var am;if(!ah&&(am=o(aj))&&"CODE"===am.tagName){ah=am.className.match(ab)}if(ah){ah=ah[1]}var al=false;for(var ak=aj.parentNode;ak;ak=ak.parentNode){if((ak.tagName==="pre"||ak.tagName==="code"||ak.tagName==="xmp")&&ak.className&&ak.className.indexOf("prettyprint")>=0){al=true;break}}if(!al){var af=aj.className.match(/\blinenums\b(?::(\d+))?/);af=af?af[1]&&af[1].length?+af[1]:true:false;if(af){Q(aj,af)}S={langExtension:ah,sourceNode:aj,numberLines:af};d(S)}}}if(X]*(?:>|$)/],[PR.PR_COMMENT,/^<\!--[\s\S]*?(?:-\->|$)/],[PR.PR_PUNCTUATION,/^(?:<[%?]|[%?]>)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],["lang-",/^]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-handlebars",/^]*type\s*=\s*['"]?text\/x-handlebars-template['"]?\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-js",/^]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i],[PR.PR_DECLARATION,/^{{[#^>/]?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{&?\s*[\w.][^}]*}}/],[PR.PR_DECLARATION,/^{{{>?\s*[\w.][^}]*}}}/],[PR.PR_COMMENT,/^{{![^}]*}}/]]),["handlebars","hbs"]);PR.registerLangHandler(PR.createSimpleLexer([[PR.PR_PLAIN,/^[ \t\r\n\f]+/,null," \t\r\n\f"]],[[PR.PR_STRING,/^\"(?:[^\n\r\f\\\"]|\\(?:\r\n?|\n|\f)|\\[\s\S])*\"/,null],[PR.PR_STRING,/^\'(?:[^\n\r\f\\\']|\\(?:\r\n?|\n|\f)|\\[\s\S])*\'/,null],["lang-css-str",/^url\(([^\)\"\']*)\)/i],[PR.PR_KEYWORD,/^(?:url|rgb|\!important|@import|@page|@media|@charset|inherit)(?=[^\-\w]|$)/i,null],["lang-css-kw",/^(-?(?:[_a-z]|(?:\\[0-9a-f]+ ?))(?:[_a-z0-9\-]|\\(?:\\[0-9a-f]+ ?))*)\s*:/i],[PR.PR_COMMENT,/^\/\*[^*]*\*+(?:[^\/*][^*]*\*+)*\//],[PR.PR_COMMENT,/^(?:)/],[PR.PR_LITERAL,/^(?:\d+|\d*\.\d+)(?:%|[a-z]+)?/i],[PR.PR_LITERAL,/^#(?:[0-9a-f]{3}){1,2}/i],[PR.PR_PLAIN,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i],[PR.PR_PUNCTUATION,/^[^\s\w\'\"]+/]]),["css"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_KEYWORD,/^-?(?:[_a-z]|(?:\\[\da-f]+ ?))(?:[_a-z\d\-]|\\(?:\\[\da-f]+ ?))*/i]]),["css-kw"]);PR.registerLangHandler(PR.createSimpleLexer([],[[PR.PR_STRING,/^[^\)\"\']+/]]),["css-str"]); diff --git a/Server/coverage/lcov-report/sort-arrow-sprite.png b/Server/coverage/lcov-report/sort-arrow-sprite.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed68316eb3f65dec9063332d2f69bf3093bbfab GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^>_9Bd!3HEZxJ@+%Qh}Z>jv*C{$p!i!8j}?a+@3A= zIAGwzjijN=FBi!|L1t?LM;Q;gkwn>2cAy-KV{dn nf0J1DIvEHQu*n~6U}x}qyky7vi4|9XhBJ7&`njxgN@xNA8m%nc literal 0 HcmV?d00001 diff --git a/Server/coverage/lcov-report/sorter.js b/Server/coverage/lcov-report/sorter.js new file mode 100644 index 0000000..2bb296a --- /dev/null +++ b/Server/coverage/lcov-report/sorter.js @@ -0,0 +1,196 @@ +/* eslint-disable */ +var addSorting = (function() { + 'use strict'; + var cols, + currentSort = { + index: 0, + desc: false + }; + + // returns the summary table element + function getTable() { + return document.querySelector('.coverage-summary'); + } + // returns the thead element of the summary table + function getTableHeader() { + return getTable().querySelector('thead tr'); + } + // returns the tbody element of the summary table + function getTableBody() { + return getTable().querySelector('tbody'); + } + // returns the th element for nth column + function getNthColumn(n) { + return getTableHeader().querySelectorAll('th')[n]; + } + + function onFilterInput() { + const searchValue = document.getElementById('fileSearch').value; + const rows = document.getElementsByTagName('tbody')[0].children; + for (let i = 0; i < rows.length; i++) { + const row = rows[i]; + if ( + row.textContent + .toLowerCase() + .includes(searchValue.toLowerCase()) + ) { + row.style.display = ''; + } else { + row.style.display = 'none'; + } + } + } + + // loads the search box + function addSearchBox() { + var template = document.getElementById('filterTemplate'); + var templateClone = template.content.cloneNode(true); + templateClone.getElementById('fileSearch').oninput = onFilterInput; + template.parentElement.appendChild(templateClone); + } + + // loads all columns + function loadColumns() { + var colNodes = getTableHeader().querySelectorAll('th'), + colNode, + cols = [], + col, + i; + + for (i = 0; i < colNodes.length; i += 1) { + colNode = colNodes[i]; + col = { + key: colNode.getAttribute('data-col'), + sortable: !colNode.getAttribute('data-nosort'), + type: colNode.getAttribute('data-type') || 'string' + }; + cols.push(col); + if (col.sortable) { + col.defaultDescSort = col.type === 'number'; + colNode.innerHTML = + colNode.innerHTML + ''; + } + } + return cols; + } + // attaches a data attribute to every tr element with an object + // of data values keyed by column name + function loadRowData(tableRow) { + var tableCols = tableRow.querySelectorAll('td'), + colNode, + col, + data = {}, + i, + val; + for (i = 0; i < tableCols.length; i += 1) { + colNode = tableCols[i]; + col = cols[i]; + val = colNode.getAttribute('data-value'); + if (col.type === 'number') { + val = Number(val); + } + data[col.key] = val; + } + return data; + } + // loads all row data + function loadData() { + var rows = getTableBody().querySelectorAll('tr'), + i; + + for (i = 0; i < rows.length; i += 1) { + rows[i].data = loadRowData(rows[i]); + } + } + // sorts the table using the data for the ith column + function sortByIndex(index, desc) { + var key = cols[index].key, + sorter = function(a, b) { + a = a.data[key]; + b = b.data[key]; + return a < b ? -1 : a > b ? 1 : 0; + }, + finalSorter = sorter, + tableBody = document.querySelector('.coverage-summary tbody'), + rowNodes = tableBody.querySelectorAll('tr'), + rows = [], + i; + + if (desc) { + finalSorter = function(a, b) { + return -1 * sorter(a, b); + }; + } + + for (i = 0; i < rowNodes.length; i += 1) { + rows.push(rowNodes[i]); + tableBody.removeChild(rowNodes[i]); + } + + rows.sort(finalSorter); + + for (i = 0; i < rows.length; i += 1) { + tableBody.appendChild(rows[i]); + } + } + // removes sort indicators for current column being sorted + function removeSortIndicators() { + var col = getNthColumn(currentSort.index), + cls = col.className; + + cls = cls.replace(/ sorted$/, '').replace(/ sorted-desc$/, ''); + col.className = cls; + } + // adds sort indicators for current column being sorted + function addSortIndicators() { + getNthColumn(currentSort.index).className += currentSort.desc + ? ' sorted-desc' + : ' sorted'; + } + // adds event listeners for all sorter widgets + function enableUI() { + var i, + el, + ithSorter = function ithSorter(i) { + var col = cols[i]; + + return function() { + var desc = col.defaultDescSort; + + if (currentSort.index === i) { + desc = !currentSort.desc; + } + sortByIndex(i, desc); + removeSortIndicators(); + currentSort.index = i; + currentSort.desc = desc; + addSortIndicators(); + }; + }; + for (i = 0; i < cols.length; i += 1) { + if (cols[i].sortable) { + // add the click event handler on the th so users + // dont have to click on those tiny arrows + el = getNthColumn(i).querySelector('.sorter').parentElement; + if (el.addEventListener) { + el.addEventListener('click', ithSorter(i)); + } else { + el.attachEvent('onclick', ithSorter(i)); + } + } + } + } + // adds sorting functionality to the UI + return function() { + if (!getTable()) { + return; + } + cols = loadColumns(); + loadData(); + addSearchBox(); + addSortIndicators(); + enableUI(); + }; +})(); + +window.addEventListener('load', addSorting); diff --git a/Server/coverage/lcov.info b/Server/coverage/lcov.info new file mode 100644 index 0000000..ef83707 --- /dev/null +++ b/Server/coverage/lcov.info @@ -0,0 +1,580 @@ +TN: +SF:app.js +FN:23,(anonymous_0) +FNF:1 +FNH:0 +FNDA:0,(anonymous_0) +DA:1,8 +DA:2,8 +DA:5,8 +DA:6,8 +DA:7,8 +DA:9,8 +DA:10,8 +DA:11,8 +DA:12,8 +DA:13,8 +DA:15,8 +DA:16,8 +DA:17,8 +DA:19,8 +DA:20,8 +DA:21,8 +DA:23,8 +DA:24,0 +DA:27,8 +DA:28,8 +DA:30,8 +DA:32,8 +DA:36,8 +DA:37,8 +DA:38,8 +DA:39,8 +DA:40,8 +DA:41,8 +DA:42,8 +DA:43,8 +DA:44,8 +DA:45,8 +DA:46,8 +DA:47,8 +DA:49,8 +DA:51,8 +LF:36 +LH:35 +BRDA:1,0,0,8 +BRDA:1,0,1,0 +BRF:2 +BRH:1 +end_of_record +TN: +SF:controllers\BurgerController.js +FN:11,(anonymous_0) +FN:62,(anonymous_1) +FN:96,(anonymous_2) +FN:123,(anonymous_3) +FN:138,(anonymous_4) +FN:153,(anonymous_5) +FN:170,(anonymous_6) +FN:186,(anonymous_7) +FN:213,(anonymous_8) +FN:230,(anonymous_9) +FN:247,(anonymous_10) +FN:260,(anonymous_11) +FN:286,(anonymous_12) +FN:318,(anonymous_13) +FN:329,(anonymous_14) +FNF:15 +FNH:1 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +FNDA:0,(anonymous_2) +FNDA:0,(anonymous_3) +FNDA:2,(anonymous_4) +FNDA:0,(anonymous_5) +FNDA:0,(anonymous_6) +FNDA:0,(anonymous_7) +FNDA:0,(anonymous_8) +FNDA:0,(anonymous_9) +FNDA:0,(anonymous_10) +FNDA:0,(anonymous_11) +FNDA:0,(anonymous_12) +FNDA:0,(anonymous_13) +FNDA:0,(anonymous_14) +DA:1,8 +DA:2,8 +DA:3,8 +DA:4,8 +DA:5,8 +DA:6,8 +DA:7,8 +DA:8,8 +DA:10,8 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:22,0 +DA:23,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:38,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:98,0 +DA:100,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:118,0 +DA:119,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:130,0 +DA:133,0 +DA:134,0 +DA:139,2 +DA:140,2 +DA:141,0 +DA:143,2 +DA:144,2 +DA:145,1 +DA:148,1 +DA:149,1 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:165,0 +DA:166,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:177,0 +DA:178,0 +DA:181,0 +DA:182,0 +DA:187,0 +DA:189,0 +DA:191,0 +DA:192,0 +DA:197,0 +DA:198,0 +DA:200,0 +DA:201,0 +DA:203,0 +DA:205,0 +DA:207,0 +DA:209,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:225,0 +DA:226,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:238,0 +DA:239,0 +DA:242,0 +DA:243,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:255,0 +DA:256,0 +DA:261,0 +DA:263,0 +DA:265,0 +DA:266,0 +DA:271,0 +DA:272,0 +DA:274,0 +DA:276,0 +DA:278,0 +DA:280,0 +DA:282,0 +DA:288,0 +DA:290,0 +DA:292,0 +DA:293,0 +DA:299,0 +DA:300,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:313,0 +DA:314,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:324,0 +DA:325,0 +DA:330,0 +DA:331,0 +DA:332,0 +DA:333,0 +DA:334,0 +DA:335,0 +DA:337,0 +DA:343,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:363,0 +DA:364,0 +LF:151 +LH:16 +BRDA:15,0,0,0 +BRDA:15,0,1,0 +BRDA:22,1,0,0 +BRDA:22,1,1,0 +BRDA:29,2,0,0 +BRDA:29,2,1,0 +BRDA:30,3,0,0 +BRDA:30,3,1,0 +BRDA:31,4,0,0 +BRDA:31,4,1,0 +BRDA:67,5,0,0 +BRDA:67,5,1,0 +BRDA:127,6,0,0 +BRDA:127,6,1,0 +BRDA:140,7,0,0 +BRDA:140,7,1,2 +BRDA:157,8,0,0 +BRDA:157,8,1,0 +BRDA:174,9,0,0 +BRDA:174,9,1,0 +BRDA:189,10,0,0 +BRDA:189,10,1,0 +BRDA:203,11,0,0 +BRDA:203,11,1,0 +BRDA:217,12,0,0 +BRDA:217,12,1,0 +BRDA:234,13,0,0 +BRDA:234,13,1,0 +BRDA:263,14,0,0 +BRDA:263,14,1,0 +BRDA:276,15,0,0 +BRDA:276,15,1,0 +BRDA:334,16,0,0 +BRDA:334,16,1,0 +BRF:34 +BRH:1 +end_of_record +TN: +SF:controllers\UserController.js +FN:6,(anonymous_0) +FN:17,(anonymous_1) +FNF:2 +FNH:0 +FNDA:0,(anonymous_0) +FNDA:0,(anonymous_1) +DA:1,8 +DA:2,8 +DA:3,8 +DA:5,8 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:12,0 +DA:13,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:23,0 +DA:24,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:30,0 +DA:31,0 +DA:33,0 +DA:34,0 +LF:23 +LH:4 +BRDA:20,0,0,0 +BRDA:20,0,1,0 +BRDA:23,1,0,0 +BRDA:23,1,1,0 +BRDA:27,2,0,0 +BRDA:27,2,1,0 +BRDA:27,3,0,0 +BRDA:27,3,1,0 +BRF:8 +BRH:0 +end_of_record +TN: +SF:helpers\bcrypt.js +FN:4,(anonymous_0) +FN:5,(anonymous_1) +FNF:2 +FNH:1 +FNDA:6,(anonymous_0) +FNDA:0,(anonymous_1) +DA:1,8 +DA:3,8 +DA:4,6 +DA:5,0 +LF:4 +LH:3 +BRF:0 +BRH:0 +end_of_record +TN: +SF:helpers\jwt.js +FN:5,signToken +FN:9,verifyToken +FNF:2 +FNH:2 +FNDA:12,signToken +FNDA:3,verifyToken +DA:1,8 +DA:3,8 +DA:6,12 +DA:10,3 +DA:13,8 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:middlewares\authentication.js +FN:4,authentication +FNF:1 +FNH:1 +FNDA:5,authentication +DA:1,8 +DA:2,8 +DA:5,5 +DA:6,5 +DA:7,5 +DA:8,1 +DA:10,4 +DA:11,4 +DA:12,1 +DA:14,3 +DA:15,2 +DA:16,2 +DA:17,0 +DA:19,2 +DA:21,2 +DA:24,3 +DA:25,3 +DA:29,8 +LF:18 +LH:17 +BRDA:7,0,0,1 +BRDA:7,0,1,4 +BRDA:11,1,0,1 +BRDA:11,1,1,3 +BRDA:16,2,0,0 +BRDA:16,2,1,2 +BRF:6 +BRH:5 +end_of_record +TN: +SF:middlewares\authorization.js +FN:3,authorization +FNF:1 +FNH:0 +FNDA:0,authorization +DA:1,8 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:10,0 +DA:11,0 +DA:14,0 +DA:17,0 +DA:18,0 +DA:22,8 +LF:12 +LH:2 +BRDA:7,0,0,0 +BRDA:7,0,1,0 +BRDA:10,1,0,0 +BRDA:10,1,1,0 +BRF:4 +BRH:0 +end_of_record +TN: +SF:middlewares\errorHandler.js +FN:1,(anonymous_0) +FNF:1 +FNH:1 +FNDA:4,(anonymous_0) +DA:1,8 +DA:2,4 +DA:3,4 +DA:4,4 +DA:6,4 +DA:9,3 +DA:10,3 +DA:11,3 +DA:13,0 +DA:14,0 +DA:15,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,1 +DA:27,1 +DA:28,1 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:49,4 +LF:34 +LH:12 +BRDA:3,0,0,4 +BRDA:3,0,1,4 +BRDA:4,1,0,4 +BRDA:4,1,1,2 +BRDA:6,2,0,1 +BRDA:6,2,1,3 +BRDA:6,2,2,0 +BRDA:6,2,3,0 +BRDA:6,2,4,0 +BRDA:6,2,5,1 +BRDA:6,2,6,1 +BRDA:6,2,7,0 +BRDA:6,2,8,0 +BRDA:6,2,9,0 +BRDA:6,2,10,0 +BRDA:6,2,11,0 +BRF:16 +BRH:8 +end_of_record +TN: +SF:models\burger.js +FN:5,(anonymous_0) +FN:12,(anonymous_1) +FNF:2 +FNH:2 +FNDA:8,(anonymous_0) +FNDA:8,(anonymous_1) +DA:4,8 +DA:5,8 +DA:14,8 +DA:17,8 +DA:86,8 +LF:5 +LH:5 +BRF:0 +BRH:0 +end_of_record +TN: +SF:models\cart.js +FN:5,(anonymous_0) +FN:12,(anonymous_1) +FNF:2 +FNH:2 +FNDA:8,(anonymous_0) +FNDA:8,(anonymous_1) +DA:4,8 +DA:5,8 +DA:14,8 +DA:15,8 +DA:18,8 +DA:68,8 +LF:6 +LH:6 +BRF:0 +BRH:0 +end_of_record +TN: +SF:models\index.js +FN:21,(anonymous_0) +FN:29,(anonymous_1) +FN:34,(anonymous_2) +FNF:3 +FNH:3 +FNDA:32,(anonymous_0) +FNDA:24,(anonymous_1) +FNDA:24,(anonymous_2) +DA:3,8 +DA:4,8 +DA:5,8 +DA:6,8 +DA:7,8 +DA:8,8 +DA:9,8 +DA:10,8 +DA:13,8 +DA:14,0 +DA:16,8 +DA:19,8 +DA:22,32 +DA:30,24 +DA:31,24 +DA:34,8 +DA:35,24 +DA:36,24 +DA:40,8 +DA:41,8 +DA:43,8 +LF:21 +LH:20 +BRDA:8,0,0,8 +BRDA:8,0,1,0 +BRDA:13,1,0,0 +BRDA:13,1,1,8 +BRDA:23,2,0,32 +BRDA:23,2,1,32 +BRDA:23,2,2,24 +BRDA:23,2,3,24 +BRDA:35,3,0,24 +BRDA:35,3,1,0 +BRF:10 +BRH:7 +end_of_record +TN: +SF:models\user.js +FN:6,(anonymous_0) +FN:13,(anonymous_1) +FN:79,(anonymous_2) +FNF:3 +FNH:2 +FNDA:8,(anonymous_0) +FNDA:8,(anonymous_1) +FNDA:0,(anonymous_2) +DA:2,8 +DA:5,8 +DA:6,8 +DA:15,8 +DA:18,8 +DA:80,0 +DA:84,8 +LF:7 +LH:6 +BRF:0 +BRH:0 +end_of_record diff --git a/Server/data/cart.json b/Server/data/cart.json new file mode 100644 index 0000000..95860b1 --- /dev/null +++ b/Server/data/cart.json @@ -0,0 +1,23 @@ +[ + { + "quantity": 1, + "UserId": 1, + "BurgerId": 1, + "purchased": true, + "purchasedAt": "2024/03/10" + }, + { + "quantity": 2, + "UserId": 2, + "BurgerId": 2, + "purchased": false, + "purchasedAt": "2024/03/11" + }, + { + "quantity": 3, + "UserId": 3, + "BurgerId": 3, + "purchased": true, + "purchasedAt": "2024/03/12" + } +] \ No newline at end of file diff --git a/Server/data/users.json b/Server/data/users.json index 99165a7..52cfa6a 100644 --- a/Server/data/users.json +++ b/Server/data/users.json @@ -12,5 +12,5 @@ "name": "Maxie Tarply", "email": "mtarply2@latimes.com", "password": "iN0!E7yZ,'B|+#z", - "role": "Staff" + "role": "Admin" }] \ No newline at end of file diff --git a/Server/helpers/apiKey.js b/Server/helpers/apiKey.js deleted file mode 100644 index 05a65bf..0000000 --- a/Server/helpers/apiKey.js +++ /dev/null @@ -1,5 +0,0 @@ -const apiKey = process.env.BURGERS_HUB_API_KEY; - -module.exports = { - apiKey -} \ No newline at end of file diff --git a/Server/helpers/jwt.js b/Server/helpers/jwt.js index 5be55b5..a45833c 100644 --- a/Server/helpers/jwt.js +++ b/Server/helpers/jwt.js @@ -12,5 +12,5 @@ function verifyToken(token) { module.exports = { signToken, - verifyToken, + verifyToken } \ No newline at end of file diff --git a/Server/middlewares/authentication.js b/Server/middlewares/authentication.js index fe57ce2..299c38a 100644 --- a/Server/middlewares/authentication.js +++ b/Server/middlewares/authentication.js @@ -16,20 +16,13 @@ async function authentication(req, res, next) { if (!user) { throw { name: "Unauthenticated" } } - req.user = { - id: user.id, - email: user.email - } + req.user = user; - // next(); + next(); } catch (error) { console.log(error); - if(error.name === "Unauthenticated" || error.name === "JsonWebTokenError") { - return res.status(401).json({message: "Invalid token"}); - } - return res.status(500).json({ message: "Internal server error" }) - // next(error) + next(error); } } diff --git a/Server/middlewares/authorization.js b/Server/middlewares/authorization.js index 3cdecf9..ac9fe22 100644 --- a/Server/middlewares/authorization.js +++ b/Server/middlewares/authorization.js @@ -7,7 +7,7 @@ async function authorization(req, res, next) { if(!burgerData) { throw {name: "Not found"} } - if(burgerData.UserId !== req.user.id) { + if(req.user.role !== "Admin") { throw {name: "Unauthorized"} } @@ -15,7 +15,7 @@ async function authorization(req, res, next) { } catch (error) { console.log(error); - next(error) + next(error); } } diff --git a/Server/middlewares/errorHandler.js b/Server/middlewares/errorHandler.js new file mode 100644 index 0000000..c004c49 --- /dev/null +++ b/Server/middlewares/errorHandler.js @@ -0,0 +1,50 @@ +module.exports = (error, req, res, next) => { + console.log(error, "<<<<<<<<< from errorHandler") + let status = error.status || 500; + let message = error.message || "Internal Server Error"; + + switch (error.name) { + case "JsonWebTokenError": + case "Unauthenticated": + status = 401 + message = "Invalid token" + break; + case "CustomError": + status = 401 + message = "Invalid email or password" + break; + case "Unauthorized": + status = 403 + message = "Forbidden" + break; + case "Not found": + status = 404 + message = `Data not found` + break; + case "SequelizeValidationError": + case "SequelizeUniqueConstraintError": + status = 400 + message = error.errors[0].message + break; + case "CustomEmailError": + status = 400 + message = "Email is required" + break; + case "CustomPasswordError": + status = 400 + message = "Password is required" + break; + case "CustomFileError": + status = 400 + message = "Image file is required" + break; + case "CustomPurchaseError": + status = 400 + message = "Burger has been purchased" + break; + default: + break; + } + + res.status(status).json({message: message, error}); +} \ No newline at end of file diff --git a/Server/migrations/20240312123552-create-burger.js b/Server/migrations/20240312123552-create-burger.js index a5d72c5..15305b9 100644 --- a/Server/migrations/20240312123552-create-burger.js +++ b/Server/migrations/20240312123552-create-burger.js @@ -11,7 +11,8 @@ module.exports = { }, name: { type: Sequelize.STRING, - allowNull: false + allowNull: false, + unique: true }, desc: { type: Sequelize.TEXT, diff --git a/Server/migrations/20240313081614-add-Done-to-Cart.js b/Server/migrations/20240313081614-add-Done-to-Cart.js index de43df0..08da92f 100644 --- a/Server/migrations/20240313081614-add-Done-to-Cart.js +++ b/Server/migrations/20240313081614-add-Done-to-Cart.js @@ -9,9 +9,10 @@ module.exports = { * Example: * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); */ - await queryInterface.addColumn("Carts", "Purchased", { + await queryInterface.addColumn("Carts", "purchased", { type: Sequelize.DataTypes.BOOLEAN, - allowNull: false + allowNull: false, + defaultValue: false }); }, @@ -22,6 +23,6 @@ module.exports = { * Example: * await queryInterface.dropTable('users'); */ - await queryInterface.removeColumn("Carts", "Purchased"); + await queryInterface.removeColumn("Carts", "purchased"); } }; diff --git a/Server/migrations/20240313081632-add-doneDate-to-Cart.js b/Server/migrations/20240313081632-add-doneDate-to-Cart.js index 452a5ab..994adbf 100644 --- a/Server/migrations/20240313081632-add-doneDate-to-Cart.js +++ b/Server/migrations/20240313081632-add-doneDate-to-Cart.js @@ -11,8 +11,7 @@ module.exports = { */ await queryInterface.addColumn("Carts", "purchasedAt", { type: Sequelize.DataTypes.DATE, - allowNull: false, - defaultValue: null + allowNull: true }); }, diff --git a/Server/migrations/20240314064742-add-image-to-User.js b/Server/migrations/20240314064742-add-image-to-User.js new file mode 100644 index 0000000..2e21da3 --- /dev/null +++ b/Server/migrations/20240314064742-add-image-to-User.js @@ -0,0 +1,28 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add altering commands here. + * + * Example: + * await queryInterface.createTable('users', { id: Sequelize.INTEGER }); + */ + await queryInterface.addColumn("Users", "imageUrl", { + type: Sequelize.DataTypes.STRING, + allowNull: false, + defaultValue: "https://t4.ftcdn.net/jpg/04/10/43/77/360_F_410437733_hdq4Q3QOH9uwh0mcqAhRFzOKfrCR24Ta.jpg" + }); + }, + + async down (queryInterface, Sequelize) { + /** + * Add reverting commands here. + * + * Example: + * await queryInterface.dropTable('users'); + */ + await queryInterface.removeColumn("Users", "imageUrl"); + } +}; diff --git a/Server/models/burger.js b/Server/models/burger.js index 989ad26..91bd523 100644 --- a/Server/models/burger.js +++ b/Server/models/burger.js @@ -18,6 +18,10 @@ module.exports = (sequelize, DataTypes) => { name: { type: DataTypes.STRING, allowNull: false, + unique: { + args: true, + msg: "Burger already exists" + }, validate: { notNull: { msg: "Name is required" @@ -27,7 +31,7 @@ module.exports = (sequelize, DataTypes) => { } } }, - description: { + desc: { type: DataTypes.STRING, allowNull: false, validate: { diff --git a/Server/models/cart.js b/Server/models/cart.js index 00264ba..b3d6dfc 100644 --- a/Server/models/cart.js +++ b/Server/models/cart.js @@ -54,11 +54,12 @@ module.exports = (sequelize, DataTypes) => { }, purchased: { type: DataTypes.BOOLEAN, - allowNull: false + allowNull: false, + defaultValue: false }, purchasedAt: { type: DataTypes.DATE, - allowNull: false + allowNull: true }, }, { sequelize, diff --git a/Server/models/user.js b/Server/models/user.js index 773d6dd..a0b66ac 100644 --- a/Server/models/user.js +++ b/Server/models/user.js @@ -68,6 +68,10 @@ module.exports = (sequelize, DataTypes) => { type: DataTypes.STRING, defaultValue: "Customer" }, + imageUrl: { + type: DataTypes.STRING, + defaultValue: "https://t4.ftcdn.net/jpg/04/10/43/77/360_F_410437733_hdq4Q3QOH9uwh0mcqAhRFzOKfrCR24Ta.jpg" + } }, { sequelize, modelName: 'User', diff --git a/Server/package-lock.json b/Server/package-lock.json index b3c1975..7e8fe39 100644 --- a/Server/package-lock.json +++ b/Server/package-lock.json @@ -12,10 +12,13 @@ "axios": "^1.6.7", "bcryptjs": "^2.4.3", "cloudinary": "^2.0.3", + "cors": "^2.8.5", "dotenv": "^16.4.5", "ejs": "^3.1.9", "express": "^4.18.3", + "google-auth-library": "^9.7.0", "jsonwebtoken": "^9.0.2", + "midtrans-client": "^1.3.1", "multer": "^1.4.5-lts.1", "pg": "^8.11.3", "sequelize": "^6.37.1", @@ -1349,6 +1352,38 @@ "node": ">= 0.6" } }, + "node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/agent-base/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/agent-base/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/ansi-escapes": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", @@ -2055,11 +2090,38 @@ "node": ">=0.10.0" } }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/bcryptjs": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.4.3.tgz", "integrity": "sha512-V/Hy/X9Vt7f3BbPJEi8BdVFMByHi+jNXrYkW3huaybV/kQ0KJg0Y6PkEMbn+zeT+i+SiKZ/HMqJGIIt4LZDqNQ==" }, + "node_modules/bignumber.js": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", + "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", + "engines": { + "node": "*" + } + }, "node_modules/binary-extensions": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", @@ -2736,6 +2798,18 @@ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" }, + "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==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, "node_modules/create-jest": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", @@ -3651,6 +3725,32 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/gaxios": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-6.3.0.tgz", + "integrity": "sha512-p+ggrQw3fBwH2F5N/PAI4k/G/y1art5OxKpb2J2chwNNHM4hHuAOtivjPuirMF4KNKwTTUal/lPfL2+7h2mEcg==", + "dependencies": { + "extend": "^3.0.2", + "https-proxy-agent": "^7.0.1", + "is-stream": "^2.0.0", + "node-fetch": "^2.6.9" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/gcp-metadata": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-6.1.0.tgz", + "integrity": "sha512-Jh/AIwwgaxan+7ZUUmRLCjtchyDiqh4KjBJ5tW3plBZb5iL/BPcso8A5DlzeD9qlw0duCamnNdpFjxwaT0KyKg==", + "dependencies": { + "gaxios": "^6.0.0", + "json-bigint": "^1.0.0" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", @@ -3790,6 +3890,41 @@ "node": ">=4" } }, + "node_modules/google-auth-library": { + "version": "9.7.0", + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-9.7.0.tgz", + "integrity": "sha512-I/AvzBiUXDzLOy4iIZ2W+Zq33W4lcukQv1nl7C8WUA6SQwyQwUwu3waNmWNAvzds//FG8SZ+DnKnW/2k6mQS8A==", + "dependencies": { + "base64-js": "^1.3.0", + "ecdsa-sig-formatter": "^1.0.11", + "gaxios": "^6.1.1", + "gcp-metadata": "^6.1.0", + "gtoken": "^7.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/google-auth-library/node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/google-auth-library/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/gopd": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", @@ -3806,6 +3941,37 @@ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" }, + "node_modules/gtoken": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-7.1.0.tgz", + "integrity": "sha512-pCcEwRi+TKpMlxAQObHDQ56KawURgyAf6jtIY046fJ5tIv3zDe/LEIubckAO8fj6JnAxLdmWkUfNyulQ2iKdEw==", + "dependencies": { + "gaxios": "^6.0.0", + "jws": "^4.0.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/gtoken/node_modules/jwa": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", + "dependencies": { + "buffer-equal-constant-time": "1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/gtoken/node_modules/jws": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", + "dependencies": { + "jwa": "^2.0.0", + "safe-buffer": "^5.0.1" + } + }, "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", @@ -3991,6 +4157,39 @@ "node": ">= 0.8" } }, + "node_modules/https-proxy-agent": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.4.tgz", + "integrity": "sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/https-proxy-agent/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/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -4290,7 +4489,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, "engines": { "node": ">=8" }, @@ -5204,6 +5402,14 @@ "node": ">=4" } }, + "node_modules/json-bigint": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", + "dependencies": { + "bignumber.js": "^9.0.0" + } + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -5502,6 +5708,23 @@ "node": ">=8.6" } }, + "node_modules/midtrans-client": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/midtrans-client/-/midtrans-client-1.3.1.tgz", + "integrity": "sha512-GoT2j9m0yHct9aBGeHLTYW9KWyaqep29gzbky8npffyMJfld/Y8OD9eBGM2hT4QNhe1M2e4XqyK/iyjU+KJMYA==", + "dependencies": { + "axios": "^0.26.0", + "lodash": "^4.17.21" + } + }, + "node_modules/midtrans-client/node_modules/axios": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz", + "integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -5719,6 +5942,25 @@ "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==" }, + "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==", + "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-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", @@ -7861,6 +8103,11 @@ "resolved": "https://registry.npmjs.org/toposort-class/-/toposort-class-1.0.1.tgz", "integrity": "sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==" }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, "node_modules/trim-right": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", @@ -8144,6 +8391,20 @@ "makeerror": "1.0.12" } }, + "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==" + }, + "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==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", diff --git a/Server/package.json b/Server/package.json index 8ca1215..6e4c8d1 100644 --- a/Server/package.json +++ b/Server/package.json @@ -4,7 +4,9 @@ "description": "", "main": "index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "jest --detectOpenHandles --forceExit --verbose --runInBand --coverage", + "start": "node bin/www", + "dev": "node --watch bin/www" }, "keywords": [], "author": "", @@ -13,10 +15,13 @@ "axios": "^1.6.7", "bcryptjs": "^2.4.3", "cloudinary": "^2.0.3", + "cors": "^2.8.5", "dotenv": "^16.4.5", "ejs": "^3.1.9", "express": "^4.18.3", + "google-auth-library": "^9.7.0", "jsonwebtoken": "^9.0.2", + "midtrans-client": "^1.3.1", "multer": "^1.4.5-lts.1", "pg": "^8.11.3", "sequelize": "^6.37.1", diff --git a/Server/seeders/20240313081437-seed-burgers.js b/Server/seeders/20240313081437-seed-burgers.js index b13f61d..b03b6f7 100644 --- a/Server/seeders/20240313081437-seed-burgers.js +++ b/Server/seeders/20240313081437-seed-burgers.js @@ -1,8 +1,10 @@ 'use strict'; +require('dotenv').config(); +const axios = require("axios"); /** @type {import('sequelize-cli').Migration} */ module.exports = { - async up (queryInterface, Sequelize) { + async up(queryInterface, Sequelize) { /** * Add seed commands here. * @@ -12,17 +14,44 @@ module.exports = { * isBetaMember: false * }], {}); */ - const data = require("../data/burgersWithoutIngredients.json") - .map((el) => { - delete(el.id), - el.price = el.price * 15000, - el.createdAt = el.updatedAt = new Date() - return el - }) - await queryInterface.bulkInsert('Burgers', data); + // const data = require("../data/burgersWithoutIngredients.json") + // .map((el) => { + // delete (el.id), + // el.price = el.price * 15000, + // el.createdAt = el.updatedAt = new Date() + // return el + // }) + // await queryInterface.bulkInsert('Burgers', data); + console.log(process.env.BURGERS_HUB_API_KEY) + try { + const burgersHubEndPoint = "https://burgers-hub.p.rapidapi.com/burgers"; + const options = { + headers: { + 'X-RapidAPI-Key': process.env.BURGERS_HUB_API_KEY, + 'X-RapidAPI-Host': 'burgers-hub.p.rapidapi.com' + } + }; + const response = await axios.get(burgersHubEndPoint, options); + const burgers = response.data; + const data = burgers + .map((el) => { + return { + name: el.name, + desc: el.desc, + price: el.price * 15000, + veg: el.veg, + images: el.images[0].sm, + createdAt: new Date(), + updatedAt: new Date() + } + }) + await queryInterface.bulkInsert('Burgers', data); + } catch (error) { + console.error(error); + } }, - async down (queryInterface, Sequelize) { + async down(queryInterface, Sequelize) { /** * Add commands to revert seed here. * diff --git a/Server/seeders/20240314051613-seed-carts.js b/Server/seeders/20240314051613-seed-carts.js new file mode 100644 index 0000000..d254fb4 --- /dev/null +++ b/Server/seeders/20240314051613-seed-carts.js @@ -0,0 +1,36 @@ +'use strict'; + +/** @type {import('sequelize-cli').Migration} */ +module.exports = { + async up (queryInterface, Sequelize) { + /** + * Add seed commands here. + * + * Example: + * await queryInterface.bulkInsert('People', [{ + * name: 'John Doe', + * isBetaMember: false + * }], {}); + */ + const data = require("../data/cart.json") + .map((el) => { + el.createdAt = el.updatedAt = new Date() + return el + }) + await queryInterface.bulkInsert('Carts', data); + }, + + async down (queryInterface, Sequelize) { + /** + * Add commands to revert seed here. + * + * Example: + * await queryInterface.bulkDelete('People', null, {}); + */ + await queryInterface.bulkDelete('Carts', null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + } +}; From 9e86234f4f73792880978daa6d45c120d4fb8ca4 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sun, 17 Mar 2024 01:31:02 +0700 Subject: [PATCH 13/18] feat: create Redux --- Server/Card.jsx | 86 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 Server/Card.jsx diff --git a/Server/Card.jsx b/Server/Card.jsx new file mode 100644 index 0000000..9d8548c --- /dev/null +++ b/Server/Card.jsx @@ -0,0 +1,86 @@ +// import { Link } from "react-router-dom" +import { useState } from "react" +import { localRequest } from "../utils/axios" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function Card({ burgerId, name, desc, price, veg, images, title = "Add to Cart" }) { + function formatCurrency(amount) { + + const formatter = new Intl.NumberFormat('id-ID', { + style: 'currency', + currency: 'IDR' + }); + + + return formatter.format(amount); + } + + const [quantity, setQuantity] = useState(0); + + const handleInputChange = (event) => { + const value = parseInt(event.target.value); + if (!isNaN(value) && value >= 0) { + setQuantity(value); + } + }; + + const handleAddToCart = async () => { + if (quantity > 0) { + try { + const response = await localRequest.post(`/cart/${burgerId}`, { quantity },{ + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + }); + console.log("Added to cart:", response.data); + successToast(`${name} Burger successfully added to cart!`); + + } catch (error) { + console.error("Error adding to cart:", error); + errorAlert(error.response.data.message); + + } + } else { + console.log("Quantity should be greater than 0"); + errorAlert("Quantity should be greater than 0"); + + } + }; + + return ( + <> +
+
+
+
+ Burger Image +
+

+ {name} + + + + +

+

+ {desc} +

+

+ {veg ? "Veg" : "Non-Veg"} +

+
+ {formatCurrency(price)} +
+ +
+
+
+ + ) +} \ No newline at end of file From 29a33708bcc7b701b656623ecfb7957ce21058db Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sun, 17 Mar 2024 17:36:21 +0700 Subject: [PATCH 14/18] chore: create TDD --- Server/__tests__/addBurger.test.js | 14 +-- Server/__tests__/addToCart.test.js | 77 ++++++++++++ Server/__tests__/burgers.test.js | 41 +++--- Server/__tests__/burgersDetail.test.js | 47 +++++++ Server/__tests__/cart.test.js | 138 +++++++++------------ Server/__tests__/deleteBurger.test.js | 27 ++-- Server/__tests__/login.test.js | 2 +- Server/__tests__/register.test.js | 2 +- Server/__tests__/updateBurger.test.js | 21 +++- Server/__tests__/updateBurgerImage.test.js | 117 +++++++++++++++++ Server/__tests__/userProfile.test.js | 8 +- 11 files changed, 365 insertions(+), 129 deletions(-) create mode 100644 Server/__tests__/addToCart.test.js create mode 100644 Server/__tests__/burgersDetail.test.js create mode 100644 Server/__tests__/updateBurgerImage.test.js diff --git a/Server/__tests__/addBurger.test.js b/Server/__tests__/addBurger.test.js index a22ca9d..bb58c86 100644 --- a/Server/__tests__/addBurger.test.js +++ b/Server/__tests__/addBurger.test.js @@ -6,7 +6,7 @@ const { hashPassword } = require("../helpers/bcrypt.js"); const { signToken } = require("../helpers/jwt.js"); const { User } = require("../models"); -describe("post /burgers/add", () => { +describe("post /burgers", () => { describe("Success", () => { test("should return status 201 and burgers data", async () => { const burgerData = { @@ -17,10 +17,10 @@ describe("post /burgers/add", () => { images: "https://s7d1.scene7.com/is/image/mcdonalds/t-mcdonalds-Bacon-Egg-Cheese-Biscuit-Regular-Size-Biscuit-1:product-header-desktop?wid=829&hei=455&dpr=off" } let { status, body } = await request(app) - .post("/burgers/add") + .post("/burgers") .set("Authorization", `Bearer ${access_token}`) .send(burgerData) - console.log(body.burgerData, "<<<<<<") + console.log(body, "<<<<<<") expect(status).toBe(201); expect(body.burgerData).toHaveProperty("name", burgerData.name); expect(body.burgerData).toHaveProperty("desc", burgerData.desc); @@ -34,7 +34,7 @@ describe("post /burgers/add", () => { describe("Failed", () => { test("should return status 401 and invalid token", async () => { let { status, body } = await request(app) - .post("/burgers/add") + .post("/burgers") .send({ name: "Test", desc: "sit amet justo morbi ut odio cras mi pede malesuada in imperdiet", @@ -47,7 +47,7 @@ describe("post /burgers/add", () => { }) test("should return status 400 and name is required", async () => { let { status, body } = await request(app) - .post("/burgers/add") + .post("/burgers") .set("Authorization", `Bearer ${access_token}`) .send({ name: "", @@ -61,7 +61,7 @@ describe("post /burgers/add", () => { }) test("should return status 401 and invalid token", async () => { let { status, body } = await request(app) - .post("/burgers/add") + .post("/burgers") .set("Authorization", `Bearer ${damaged_token}`) .send({ name: "Test", @@ -76,7 +76,7 @@ describe("post /burgers/add", () => { }) test("should return status 401 and invalid token", async () => { let { status, body } = await request(app) - .post("/burgers/add") + .post("/burgers") .set("Authorization", `Beare ${access_token}`) .send({ name: "Test", diff --git a/Server/__tests__/addToCart.test.js b/Server/__tests__/addToCart.test.js new file mode 100644 index 0000000..97bda37 --- /dev/null +++ b/Server/__tests__/addToCart.test.js @@ -0,0 +1,77 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); + +let access_token; +let damaged_token; + +describe("post /cart/:burgerId", () => { + beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: "test", + email: "test@gmail.com", + password: hashPassword("admin"), + role: "Admin", + createdAt: new Date(), + updatedAt: new Date() + }]); + + const admin = await User.findOne({ where: { email: "test@gmail.com" } }); + access_token = signToken({ id: admin.id }); + damaged_token = signToken({ id: admin.id }) + "i"; + }); + + afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + }); + + describe("Success", () => { + test("should return status 201 and message with burgerData", async () => { + + const { status, body } = await request(app) + .post(`/cart/1`) + .set("Authorization", `Bearer ${access_token}`) + .send({ quantity }); + expect(status).toBe(201); + expect(body).toHaveProperty("message", "Burger successfully added to cart"); + + }); + }); + + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + const { status, body } = await request(app) + .post("/cart/1") + .send({ quantity: 1 }); + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }); + + test("should return status 401 and invalid token", async () => { + const { status, body } = await request(app) + .post("/cart/1") + .set("Authorization", "Bearer ") + .send({ quantity: 1 }); + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }); + + test("should return status 401 and invalid token when token is malformed", async () => { + const { status, body } = await request(app) + .post("/cart/1") + .set("Authorization", "Bearer randomtokenwithoutbearer") + .send({ quantity: 1 }); + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }); + + }); +}); diff --git a/Server/__tests__/burgers.test.js b/Server/__tests__/burgers.test.js index afd55e2..6ceec2d 100644 --- a/Server/__tests__/burgers.test.js +++ b/Server/__tests__/burgers.test.js @@ -2,15 +2,30 @@ const app = require("../app.js"); const request = require("supertest"); const { sequelize } = require("../models"); const { queryInterface } = sequelize; -const { hashPassword } = require("../helpers/bcrypt.js"); -const { signToken } = require("../helpers/jwt.js"); describe("get /burgers", () => { + beforeAll(async () => { + await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + return el; + })) + }) + + afterAll(async () => { + await queryInterface.bulkDelete("Burgers", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) + }) + describe("Success", () => { - test("should return status 200 and object of burgers", async () => { + test("should return status 200 and object of burgers without filter", async () => { let { status, body } = await request(app) .get("/burgers") expect(status).toBe(200); + expect(Array.isArray(body)).toBe(true); + expect(body.length).toBeGreaterThan(0); expect(body[0]).toHaveProperty("name", expect.any(String)); expect(body[0]).toHaveProperty("desc", expect.any(String)); expect(body[0]).toHaveProperty("price", expect.any(Number)); @@ -20,10 +35,12 @@ describe("get /burgers", () => { expect(body[0]).toHaveProperty("updatedAt", expect.any(String)); }) - test("should return status 200 and object of burgers", async () => { + test("should return status 200 and object of burgers with filter", async () => { let { status, body } = await request(app) .get("/burgers?filter=1") expect(status).toBe(200); + expect(Array.isArray(body)).toBe(true); + expect(body.length).toBeGreaterThan(0); expect(body[0]).toHaveProperty("name", expect.any(String)); expect(body[0]).toHaveProperty("desc", expect.any(String)); expect(body[0]).toHaveProperty("price", expect.any(Number)); @@ -34,19 +51,3 @@ describe("get /burgers", () => { }) }) }) - -beforeAll(async () => { - await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { - el.createdAt = el.updatedAt = new Date(); - return el; - })) -}) - - -afterAll(async () => { - await queryInterface.bulkDelete("Burgers", null, { - truncate: true, - restartIdentity: true, - cascade: true - }) -}) \ No newline at end of file diff --git a/Server/__tests__/burgersDetail.test.js b/Server/__tests__/burgersDetail.test.js new file mode 100644 index 0000000..3c5557b --- /dev/null +++ b/Server/__tests__/burgersDetail.test.js @@ -0,0 +1,47 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models/index.js"); +const { queryInterface } = sequelize; + +describe("get /burgers/1", () => { + beforeAll(async () => { + await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { + el.createdAt = el.updatedAt = new Date(); + return el; + })) + }) + + describe("Success", () => { + test("should return status 200 and object of burgers", async () => { + let { status, body } = await request(app) + .get("/burgers/1") + expect(status).toBe(200); + expect(body).toHaveProperty("id", expect.any(Number)); + expect(body).toHaveProperty("name", expect.any(String)); + expect(body).toHaveProperty("desc", expect.any(String)); + expect(body).toHaveProperty("price", expect.any(Number)); + expect(body).toHaveProperty("veg", expect.any(Boolean)); + expect(body).toHaveProperty("images", expect.any(String)); + expect(body).toHaveProperty("createdAt", expect.any(String)); + expect(body).toHaveProperty("updatedAt", expect.any(String)); + }) + }) + + describe("Failed", () => { + test("should return status 404 and burger not available", async () => { + let { status, body } = await request(app) + .get("/burgers/30") + + expect(status).toBe(404); + expect(body).toHaveProperty("message", "Data not found"); + }) + }) + + afterAll(async () => { + await queryInterface.bulkDelete("Burgers", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) + }) +}) diff --git a/Server/__tests__/cart.test.js b/Server/__tests__/cart.test.js index 7e12f78..08fe8d3 100644 --- a/Server/__tests__/cart.test.js +++ b/Server/__tests__/cart.test.js @@ -4,7 +4,7 @@ const { sequelize } = require("../models"); const { queryInterface } = sequelize; const { hashPassword } = require("../helpers/bcrypt.js"); const { signToken } = require("../helpers/jwt.js"); -const { User } = require("../models"); +const { User, Cart } = require("../models"); let user_1 = { name: "Admin", @@ -15,87 +15,67 @@ let user_1 = { let access_token_user_1; -describe("get /mycart", () => { - describe("Success", () => { - test("should return status 200 and object of burger", async () => { - let { status, body } = await request(app) - .get("/mycart") - .set("Authorization", `Bearer ${access_token_user_1}`) - console.log(body[0], "<<<") - expect(status).toBe(200); - expect(body).not.toHaveLength(0); - expect(body[0]).toHaveProperty("quantity", expect.any(Number)); - expect(body[0]).toHaveProperty("UserId", expect.any(Number)); - expect(body[0]).toHaveProperty("BurgerId", expect.any(Number)); - expect(body[0]).toHaveProperty("purchased", expect.any(Boolean)); - expect(body[0]).toHaveProperty("purchasedAt", expect.any(String)); - expect(body[0]).toHaveProperty("createdAt", expect.any(String)); - expect(body[0]).toHaveProperty("updatedAt", expect.any(String)); - }) - }) - describe("Failed", () => { - test("should return status 401 and invalid token", async () => { - let { status, body } = await request(app) - .get("/mycart") - expect(status).toBe(401); - expect(body).toHaveProperty("message", "Invalid token"); - }) - test("should return status 401 and token is required", async () => { - let { status, body } = await request(app) - .get("/mycart") - .set("Authorization", `Bearer ${damaged_token_user_1}`) - expect(status).toBe(401); - expect(body).toHaveProperty("message", "Invalid token"); - }) - test("should return status 401 and invalid token", async () => { - let { status, body } = await request(app) - .get("/mycart") - .set("Authorization", `Beare ${access_token_user_1}`) - expect(status).toBe(401); - expect(body).toHaveProperty("message", "Invalid token"); - }) - }) -}) +describe("GET /cart", () => { + beforeAll(async () => { + await queryInterface.bulkInsert("Users", [{ + name: user_1.name, + email: user_1.email, + password: hashPassword(user_1.password), + role: user_1.role, + createdAt: new Date(), + updatedAt: new Date() + }]); -beforeAll(async () => { - await queryInterface.bulkInsert("Users", [{ - name: user_1.name, - email: user_1.email, - password: hashPassword(user_1.password), - role: user_1.role, - createdAt: new Date(), - updatedAt: new Date() - } - ]) + const admin = await User.findOne({ where: { email: user_1.email } }); + access_token_user_1 = signToken({ id: admin.id }); + }); - const admin = await User.findOne({ where: { email: user_1.email } }); - access_token_user_1 = signToken({ id: admin.id }); - damaged_token_user_1 = signToken({ id: admin.id }); - damaged_token_user_1 += "i"; - - await queryInterface.bulkInsert("Burgers", require("../data/burgersWithoutIngredients.json").map((el) => { - el.createdAt = el.updatedAt = new Date(); - return el; - })) + afterAll(async () => { + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + }); + describe("Success", () => { + test("should return status 200 and object of cart", async () => { + const response = await request(app) + .get("/cart") + .set("Authorization", `Bearer ${access_token_user_1}`); + + expect(response.status).toBe(200); + expect(Array.isArray(response.body)).toBe(true); + expect(response.body.length).toBeGreaterThanOrEqual(0); + if (response.body.length > 0) { + + expect(response.body[0]).toHaveProperty("quantity", expect.any(Number)); + expect(response.body[0]).toHaveProperty("UserId", expect.any(Number)); + expect(response.body[0]).toHaveProperty("BurgerId", expect.any(Number)); + expect(response.body[0]).toHaveProperty("purchased", expect.any(Boolean)); + expect(response.body[0]).toHaveProperty("purchasedAt", expect.any(String)); + expect(response.body[0]).toHaveProperty("createdAt", expect.any(String)); + expect(response.body[0]).toHaveProperty("updatedAt", expect.any(String)); + } + }); + }); + - await queryInterface.bulkInsert("Carts", require("../data/cart.json").map((el) => { - el.createdAt = el.updatedAt = new Date(); - el.UserId = 1 - return el; - })) -}) + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + const response = await request(app) + .get("/cart"); + expect(response.status).toBe(401); + expect(response.body).toHaveProperty("message", "Invalid token"); + }); -afterAll(async () => { - await queryInterface.bulkDelete("Users", null, { - truncate: true, - restartIdentity: true, - cascade: true - }) + test("should return status 401 and token is required", async () => { + const response = await request(app) + .get("/cart") + .set("Authorization", `Bearer ${access_token_user_1.slice(0, -5)}`); - await queryInterface.bulkDelete("Carts", null, { - truncate: true, - restartIdentity: true, - cascade: true - }) -}) \ No newline at end of file + expect(response.status).toBe(401); + expect(response.body).toHaveProperty("message", "Invalid token"); + }); + }); +}); diff --git a/Server/__tests__/deleteBurger.test.js b/Server/__tests__/deleteBurger.test.js index 52e73d6..ba87193 100644 --- a/Server/__tests__/deleteBurger.test.js +++ b/Server/__tests__/deleteBurger.test.js @@ -61,13 +61,6 @@ describe("delete /burgers/1", () => { expect(status).toBe(404); expect(body).toHaveProperty("message", "Data not found"); }) - test("should return status 403 and forbidden", async () => { - let { status, body } = await request(app) - .delete("/burgers/2") - .set("Authorization", `Bearer ${access_token_user_2}`) - expect(status).toBe(403); - expect(body).toHaveProperty("message", "Forbidden"); - }) }) }) @@ -99,11 +92,16 @@ beforeAll(async () => { damaged_token_user_2 = signToken({ id: customer.id }); damaged_token_user_2 += "i"; - await queryInterface.bulkInsert("burgers", require("../data/burgersWithoutIngredients.json").map((el) => { - el.createdAt = el.updatedAt = new Date(); - el.UserId = 1 - return el; - })) + await queryInterface.bulkInsert("Burgers", [{ + name: "Burger", + desc: "Burger", + price: 50000, + veg: false, + images: "Test", + createdAt: new Date(), + updatedAt: new Date() + } + ]) }) @@ -113,4 +111,9 @@ afterAll(async () => { restartIdentity: true, cascade: true }) + await queryInterface.bulkDelete("Burgers", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) }) \ No newline at end of file diff --git a/Server/__tests__/login.test.js b/Server/__tests__/login.test.js index db88236..3f47be7 100644 --- a/Server/__tests__/login.test.js +++ b/Server/__tests__/login.test.js @@ -10,7 +10,7 @@ let user_1 = { password: "admin" } -describe.skip("post /login", () => { +describe("post /login", () => { describe("Success", () => { test("should return status 200 and access token", async () => { let {status, body} = await request(app) diff --git a/Server/__tests__/register.test.js b/Server/__tests__/register.test.js index 7a2deb0..dd7013d 100644 --- a/Server/__tests__/register.test.js +++ b/Server/__tests__/register.test.js @@ -16,7 +16,7 @@ let user_1 = { role: "Admin" } -describe.skip("post /register", () => { +describe("post /register", () => { describe("Success", () => { test("should return status 201 and object of new user", async () => { let { status, body } = await request(app) diff --git a/Server/__tests__/updateBurger.test.js b/Server/__tests__/updateBurger.test.js index 56b74c3..ed6434d 100644 --- a/Server/__tests__/updateBurger.test.js +++ b/Server/__tests__/updateBurger.test.js @@ -37,6 +37,7 @@ describe("put /burgers/1", () => { .put("/burgers/1") .set("Authorization", `Bearer ${access_token_user_1}`) .send(burgerData) + expect(status).toBe(200); expect(body).toHaveProperty("message", "Burger has been updated"); }) @@ -149,11 +150,16 @@ beforeAll(async () => { damaged_token_user_2 = signToken({ id: customer.id }); damaged_token_user_2 += "i"; - await queryInterface.bulkInsert("burgers", require("../data/burgersWithoutIngredients.json").map((el) => { - el.createdAt = el.updatedAt = new Date(); - el.UserId = 1 - return el; - })) + await queryInterface.bulkInsert("Burgers", [{ + name: "Burger", + desc: "Burger", + price: 50000, + veg: false, + images: "Test", + createdAt: new Date(), + updatedAt: new Date() + } + ]) }) @@ -163,4 +169,9 @@ afterAll(async () => { restartIdentity: true, cascade: true }) + await queryInterface.bulkDelete("Burgers", null, { + truncate: true, + restartIdentity: true, + cascade: true + }) }) \ No newline at end of file diff --git a/Server/__tests__/updateBurgerImage.test.js b/Server/__tests__/updateBurgerImage.test.js new file mode 100644 index 0000000..e13f225 --- /dev/null +++ b/Server/__tests__/updateBurgerImage.test.js @@ -0,0 +1,117 @@ +const app = require("../app.js"); +const request = require("supertest"); +const { sequelize } = require("../models"); +const { queryInterface } = sequelize; +const { hashPassword } = require("../helpers/bcrypt.js"); +const { signToken } = require("../helpers/jwt.js"); +const { User } = require("../models"); +const fs = require('fs'); +const path = require('path'); + +const filePath = path.resolve(__dirname, "../data/burger.png"); +const image = fs.createReadStream(filePath); + +let user_1 = { + name: "admin", + email: "admin@gmail.com", + password: "admin", + role: "Admin", +} + +let user_2 = { + name: "user", + email: "user@gmail.com", + password: "user", + role: "User", +} + +let access_token_user_1; +let access_token_user_2; + +describe("patch /burgers/1/image", () => { + beforeAll(async () => { + + await queryInterface.bulkInsert("Users", [{ + name: user_1.name, + email: user_1.email, + password: hashPassword(user_1.password), + role: user_1.role, + createdAt: new Date(), + updatedAt: new Date() + }]); + + + await queryInterface.bulkInsert("Users", [{ + name: user_2.name, + email: user_2.email, + password: hashPassword(user_2.password), + role: user_2.role, + createdAt: new Date(), + updatedAt: new Date() + }]); + + + const admin = await User.findOne({ where: { email: user_1.email } }); + access_token_user_1 = signToken({ id: admin.id }); + + const user = await User.findOne({ where: { email: user_2.email } }); + access_token_user_2 = signToken({ id: user.id }); + }); + + describe("Success", () => { + test("should return status 200 and message that the image has been updated", async () => { + let { status, body } = await request(app) + .patch("/burgers/1/image") + .set("Authorization", `Bearer ${access_token_user_1}`) + .attach("image", image, "burger.png"); + expect(status).toBe(200); + expect(body).toHaveProperty("message", "Image successfully updated"); + }) + }) + + describe("Failed", () => { + test("should return status 401 and invalid token", async () => { + let { status, body } = await request(app) + .patch("/burgers/1/image") + .attach("image", image, "burger.png"); + expect(status).toBe(401); + expect(body).toHaveProperty("message", "Invalid token"); + }) + + test("should return status 400 and image file is required", async () => { + let { status, body } = await request(app) + .patch("/burgers/1/image") + .set("Authorization", `Bearer ${access_token_user_1}`) + + expect(status).toBe(400); + expect(body).toHaveProperty("message", "Image file is required"); + }) + + test("should return status 404 and burger not available", async () => { + let { status, body } = await request(app) + .patch("/burgers/30/image") + .set("Authorization", `Bearer ${access_token_user_1}`) + .attach("image", image, "burger.png"); + expect(status).toBe(404); + expect(body).toHaveProperty("message", "Data not found"); + }) + + test("should return status 403 and forbidden", async () => { + let { status, body } = await request(app) + .patch("/burgers/5/image") + .set("Authorization", `Bearer ${access_token_user_2}`) + .attach("image", image, "burger.png"); + expect(status).toBe(403); + expect(body).toHaveProperty("message", "Forbidden"); + }) + }) + + afterAll(async () => { + + await queryInterface.bulkDelete("Users", null, { + truncate: true, + restartIdentity: true, + cascade: true + }); + }); +}); diff --git a/Server/__tests__/userProfile.test.js b/Server/__tests__/userProfile.test.js index 010bc4d..7f57869 100644 --- a/Server/__tests__/userProfile.test.js +++ b/Server/__tests__/userProfile.test.js @@ -6,11 +6,11 @@ const { hashPassword } = require("../helpers/bcrypt.js"); const { signToken } = require("../helpers/jwt.js"); const { User } = require("../models"); -describe.skip("get /userProfile", () => { +describe("get /users", () => { describe("Success", () => { test("should return status 200 and object of user", async () => { let { status, body } = await request(app) - .get("/userProfile") + .get("/users") .set("Authorization", `Bearer ${access_token}`) expect(status).toBe(200); expect(body).toHaveProperty("name", expect.any(String)); @@ -22,14 +22,14 @@ describe.skip("get /userProfile", () => { describe("Failed", () => { test("should return status 401 and token is required", async () => { let { status, body } = await request(app) - .get("/userProfile") + .get("/users") .set("Authorization", `Bearer ${damaged_token}`) expect(status).toBe(401); expect(body).toHaveProperty("message", "Invalid token"); }) test("should return status 400 and invalid token", async () => { let { status, body } = await request(app) - .get("/userProfile") + .get("/users") .set("Authorization", `Beare ${access_token}`) expect(status).toBe(401); From 7001569dd758667d78c6f68d7322ee1bc9835d5a Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sun, 17 Mar 2024 17:36:50 +0700 Subject: [PATCH 15/18] docs: Update API Docs --- Server/apidocs.md | 625 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 625 insertions(+) create mode 100644 Server/apidocs.md diff --git a/Server/apidocs.md b/Server/apidocs.md new file mode 100644 index 0000000..3f95189 --- /dev/null +++ b/Server/apidocs.md @@ -0,0 +1,625 @@ +# Burger Bites API Documentation + +## Endpoints : + +List of available endpoints: + +- `GET /` +- `POST /register` +- `POST /login` +- `GET /burgers` +- `POST /burgers` +- `GET /burgers/:burgerId` +- `PUT /burgers/:burgerId` +- `DELETE /burgers/:burgerId` +- `PATCH /burgers/:burgerId/image` +- `GET /users` +- `PATCH /users/profile` +- `GET /cart` +- `POST /cart/:burgerId` +- `DELETE /cart/:burgerId` +- `PATCH /cart/purchase` +- `POST /cart/generateMidTransToken` +- `POST /google-login` + +### 1. GET / + +#### Description: + +Show Welcome to the Burger Bites API + +#### Request: + +*Response (200 - OK)* +```json +{ + "message": "Welcome to the Burger Bites API" +} +``` + +### 2. POST /register + +#### Description: + +Register + +#### Request: + +*Response (200 - OK)* +```json +{ + "name": "string", + "email": "string", + "role": "string" +} +``` +*Response (400 - Bad Request)* +```json +{ + "message": "Name is required" +} +OR +{ + "message": "Email is required" +} +OR +{ + "message": "Password is required" +} +OR +{ + "message": "Role is required" +} + +``` +### 3. POST /login + +#### Description: + +Login + +#### Request: + +- body: +```json +{ + "email": "string", + "password": "string", +} +``` +*Response (200 - OK)* +```json +{ + "access_token": "string" +} +``` +*Response (400 - Bad Request)* +```json +{ + "message": "Email is required" +} +OR +{ + "message": "Password is required" +} +``` +*Response (401 - Unauthorized)* +```json +{ + "message": "Invalid email or password" +} +``` + +### 4. GET /burgers + +#### Description: + +Get all burgers from database + +#### Request: + +*Response (200 - OK)* +```json +[ + { + "id": "integer", + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string", + "createdAt": "string", + "updatedAt": "string", + }, + { + "id": "integer", + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string", + "createdAt": "string", + "updatedAt": "string", + }, + ..., +] +``` +### 5. POST /burgers + +#### Description: + +Add burger to the database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +- body: +```json +{ + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string" + } +``` +*Response (201 - Created)* +```json + { + "message": "string", + "burgerData": { + "id": "integer", + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string", + "createdAt": "string", + "updatedAt": "string", + } + } +``` +*Response (400 - Bad Request)* +```json +{ + "message": "Name is required" +} +OR +{ + "message": "Description is required" +} +OR +{ + "message": "Price is required" +} +OR +{ + "message": "Veg status is required" +} +OR +{ + "message": "Image file is required" +} +``` +### 6. GET /burgers/:burgerId + +#### Description: + +Get burger based on the burger id from database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +- params: +```json +{ + "id": "integer (required)" +} +``` +*Response (200 - OK)* +```json + { + "id": "integer", + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string", + "createdAt": "string", + "updatedAt": "string" + } +``` +*Response (404 - Not Found)* +```json +{ + "message": "Burger not found" +} +``` +### 7. PUT /burgers/:burgerId + +#### Description: + +Update burger based on the burger id from database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +- params: +```json +{ + "id": "integer (required)" +} +``` +*Response (200 - OK)* +```json + { + "message": "Burger has been updated" + } +``` +*Response (404 - Not Found)* +```json +{ + "message": "Data not found" +} +``` +*Response (400 - Bad Request)* +```json +{ + "message": "Name is required" +} +OR +{ + "message": "Description is required" +} +OR +{ + "message": "Price is required" +} +OR +{ + "message": "Veg status is required" +} +OR +{ + "message": "Image file is required" +} +``` +*Response (403 - Forbidden)* +```json +{ + "message": "Forbidden" +} +``` +### 8. DELETE /burgers/:burgerId + +#### Description: + +Delete burger based on the burger id from database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +- params: +```json +{ + "id": "integer (required)" +} +``` +*Response (200 - OK)* +```json + { + "message": "Burger has been deleted" + } +``` +*Response (404 - Not Found)* +```json +{ + "message": "Data not found" +} +``` +*Response (403 - Forbidden)* +```json +{ + "message": "Forbidden" +} +``` +### 9. PATCH /burgers/:burgerId/image + +#### Description: + +Update the burger image based on the job id from database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +- params: +```json +{ + "id": "integer (required)" +} +``` +*Response (200 - OK)* +```json +{ + "message": "Image successfully updated" +} +``` +*Response (404 - Not Found)* +```json +{ + "message": "Burger not found" +} +``` +### 10. GET /users + +#### Description: + +Get logged in user from database + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +*Response (200 - OK)* +```json + + { + "name": "string", + "email": "string", + "role": "string", + "imageUrl": "string", + "createdAt": "string", + "updatedAt": "string" + } + +``` +### 11. PATCH /users/profile + +#### Description: + +Update user profile image + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` +*Response (200 - OK)* +```json +{ + "message": "Image successfully updated" +} +``` +*Response (404 - Not Found)* +```json +{ + "message": "Data not found" +} +``` + +### 12. GET /cart + +#### Description: + +Get all items in the cart for the logged in user + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` + +*Response (200 - OK)* +```json + [ + { + "id": "integer", + "quantity": "integer", + "UserId": "integer", + "BurgerId": "integer", + "purchased": "boolean", + "purchasedAt": "string", + "createdAt": "string", + "updatedAt": "string" + }, + { + "id": "integer", + "quantity": "integer", + "UserId": "integer", + "BurgerId": "integer", + "purchased": "boolean", + "purchasedAt": "string", + "createdAt": "string", + "updatedAt": "string" + }, + ..., +] +``` + +### 13. POST /cart/:burgerId + +#### Description: + +Add burger to the cart + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` + +- body: +```json +{ + "quantity": "integer", +} +``` +*Response (201 - Created)* +```json +{ + "message": "Burger successfully added to cart", + "burgerData": { + "id": "integer", + "name": "string", + "desc": "string", + "price": "integer", + "veg": "boolean", + "images": "string", + "createdAt": "string", + "updatedAt": "string" + } +} + +``` +*Response (400 - Bad Request)* +```json +{ + "message": "Quantity is required" +} +``` +*Response (404 - Not Found)* +```json +{ + "message": "Data not found" +} +``` + +### 14. DELETE /cart/:burgerId + +#### Description: + +Delete items from cart + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` + +*Response (200 - OK)* +```json +{ + "message": "Burger successfully removed from cart" +} +``` + +*Response (404 - Not Found)* +```json +{ + "message": "Data not found" +} +``` + +### 15. PATCH /cart/purchase + +#### Description: + +Update purchased status and purchasedAt date in cart after successful payment + +#### Request: + +- headers: +```json +{ + "Authorization": "Bearer " +} +``` + +*Response (200 - OK)* +```json + { + "message": "Burger has been purchased" +} +``` + +### 16. POST /cart/generateMidTransToken + +#### Description: + +Create midtrans token + +#### Request: + +*Response (201 - Created)* +```json +{ + "token": "string" +} +``` + +### 17. POST /cart/google-login + +#### Description: + +Create google login token + +#### Request: + +*Response (201 - Created)* +```json +{ + "token": "string" +} +``` + +### Global Error + +#### Description: + +Global errors when accessing the endpoints + +#### Request: + +*Response (401 - Unauthorized)* +```json +{ + "message": "Invalid token" +} +``` +*Response (500 - Internal Server Error)* +```json +{ + "message": "Internal server error" +} +``` \ No newline at end of file From 33eb17e993c12bb6ba58fe4c6e37240e3bf25278 Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sun, 17 Mar 2024 17:37:04 +0700 Subject: [PATCH 16/18] chore: Update images --- Server/data/burger.png | Bin 0 -> 275092 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Server/data/burger.png diff --git a/Server/data/burger.png b/Server/data/burger.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4134c52aa66d0aff0017248140eb18ecf56b1b GIT binary patch literal 275092 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%0Dj+7hxf)u^cq;01%t}pXDQBB!uo&$ zBS(pZzyGc^lWZu)e?P=U`O;54MD>Gr6}wM9kkN?D`~tJ|Hu+uGS&tcaA5zs{Oa)k4 zBPta!g5cnveXzlE3>}yAzwJPQ^9jR|`DfXvL5mUh(XUT`7=Aqyu{^iNI@oA%pfgm( z!QL_b!FgeWD;KZ+6To>f<-j@T;;2TyO`(7Pn>e&idkX9+0CTZ7J3 zQK07SAJ)2diRzbm33P}$G2Tp%1&;~4X%F5^j+_!6Dd)EH!U9B)VbvmS3Oh*Z?bqyc z)qz!HEsT@r;yzX;!N*@tnmD-YZjyS)#^m+*D)>!x<*k|CI(00X6{Z_^*z{6FeI05L z?dA+(~ev&YwQ5r7KDT(qXGMdrGFW*uq}74cVb1~nz^gP zgq~?f`Y)>ILo7$7NPHo_ncoIJXt0?wGU7W7VzR$4Gt|lYI*N1EWuFnPeKv6uHvW*~ zJ85yaSf_rSI3nVd4!X7$wkDA!jl3}XY08_3kF)HuMs~KRCPf`Phnd}!rAsxeIuR;G zNAMN$vDH}rsd$h%o`jbG6MLO6ll&`7rzU@rO$u&Cb0978mvq>7!} zw`FDw@3QhYmR?^#)wIWaGu8VWgcexJQ@fpbH&xvXS|kT*IV`vuOt#ON7C`{-fbNMa zhjrCa(Pn9o%z}3N)sqUgcKns=(t@0lrj}2YzZ&corz(KH#{gzI6WO_1+WYPYRpGw- z#{l)4C&67OxJO5g^4Ml{fv~?CoMZ?g?;)2EXs%x0*bc$$O9n8cFA*rYLdr@6y zymar^1WV^)*>VaX=#DJvR{emME$JMW;ZzHzCySM;Mn z_!05Q-V+m=x;@s7#ggOUUbzM_Q$YMhv)x|4e`RaEdbWOL?HRlWjr-84cuD5m{2A-0?#2hINy$xv!6u`R3CT8DA_Le&7!>@za*84>3>DKk*t2ldjcwTyVT z-kBKYp+T6(OHAlb#LDBt0)7QehuMa3xD>;d9hUGm`*>lAZ*Ku&CJvevhpi1NDjHxM>IL4l`9Ljp_^=sH6Klvc%hg1H%qtUGN!TV2sU5BAznE=-P7nr|!5)LTUoR)(%NJKv6s zd^|aKYxTd`KQ45R9}1-o-P(_~(RvMbT14vU&4bsmo_FR>WELQB^yXKQXBD?ie{g`% z?9);EC9ryYA_}z&hM6_*y6{mFT;J08z??*(9r$D%bBeHG}Yv1QnigXHju*-Wd=&8-8)K^X6X$> zq2{r(SxDJd*xU6i4-h}&C%+7B_a9`iw#ulAcz%90Skoc|zsMG-)l{gfTc{Xv4H)q zf5MavsDL0mwa5pe>|1%jH6+@8FFPk?U=$(m*GDm z6^8d)@GK=dX&Dhu3I0n0P^ftW`#&gx$P!{lLm(?9y>;LLxBd59i}u}58F{$oS*KiVzvnxVvh pi2vI-|81QAj-3C`KCABg$N5D#PoE0Rz#lz4Z-E*L5IKvG{{iWeCoKQ~ literal 0 HcmV?d00001 From b3c574414ded45d4822aab5615ecf4713b3c6aec Mon Sep 17 00:00:00 2001 From: DhirenKirpalani Date: Sun, 17 Mar 2024 17:37:32 +0700 Subject: [PATCH 17/18] feat: Update features --- Client/Burger Bites/index.html | 10 +- Client/Burger Bites/package-lock.json | 99 ++++- Client/Burger Bites/package.json | 2 + Client/Burger Bites/src/App.jsx | 9 +- Client/Burger Bites/src/Pages/AboutPage.jsx | 87 +--- .../src/Pages/AdminProfilePage.jsx | 100 +++++ .../Burger Bites/src/Pages/BurgerDetails.jsx | 75 ++++ Client/Burger Bites/src/Pages/Card.jsx | 6 +- .../Burger Bites/src/Pages/CheckOutPage.jsx | 38 +- Client/Burger Bites/src/Pages/HomePage.html | 385 ------------------ Client/Burger Bites/src/Pages/HomePage.jsx | 272 +++---------- Client/Burger Bites/src/Pages/LoginPage.jsx | 13 +- Client/Burger Bites/src/Pages/NavBar.jsx | 72 ++-- Client/Burger Bites/src/Pages/OrderPage.jsx | 99 +---- Client/Burger Bites/src/Pages/ProfilePage.jsx | 39 +- Client/Burger Bites/src/Pages/Register.jsx | 11 +- Client/Burger Bites/src/Pages/ReviewPage.jsx | 9 +- .../src/Pages/UpdateAdminProfileImage.jsx | 84 ++++ Client/Burger Bites/src/Pages/style.css | 22 +- .../src/assets/Avatar Image (1).png | Bin 0 -> 19707 bytes .../src/assets/Avatar Image (2).png | Bin 0 -> 17918 bytes .../Burger Bites/src/assets/Avatar Image.png | Bin 0 -> 17450 bytes Client/Burger Bites/src/assets/Logo.png | Bin 0 -> 35597 bytes Client/Burger Bites/src/assets/about-img.png | Bin 0 -> 229598 bytes Client/Burger Bites/src/assets/i1.png | Bin 0 -> 20289 bytes Client/Burger Bites/src/assets/i2.png | Bin 0 -> 27956 bytes Client/Burger Bites/src/assets/i3.png | Bin 0 -> 13853 bytes .../src/assets/images-1/images/banner.png | Bin 0 -> 433137 bytes .../src/assets/images-1/images/bg-img | Bin 0 -> 265202 bytes .../src/assets/images-1/images/burger (1).png | Bin 0 -> 275092 bytes .../src/assets/images-1/images/burger (2).png | Bin 0 -> 256674 bytes .../src/assets/images-1/images/burger (3).png | Bin 0 -> 308631 bytes .../src/assets/images-1/images/burger (4).png | Bin 0 -> 250474 bytes .../src/assets/images-1/images/burger (5).png | Bin 0 -> 228470 bytes .../src/assets/images-1/images/burger (6).png | Bin 0 -> 278483 bytes .../src/assets/images-1/images/burger (7).png | Bin 0 -> 251165 bytes .../src/assets/images-1/images/burger (8).png | Bin 0 -> 268327 bytes .../assets/images-1/images/cheeseburger.png | Bin 0 -> 280733 bytes .../assets/images-1/images/chicken-burger.png | Bin 0 -> 375005 bytes .../assets/images-1/images/crispy chicken.png | Bin 0 -> 573478 bytes .../assets/images-1/images/french-fries.png | Bin 0 -> 589580 bytes .../src/assets/images-1/images/logo | Bin 0 -> 30748 bytes .../src/assets/images-1/images/vector.png | Bin 0 -> 210414 bytes .../src/features/burger/burgerSlice.js | 44 ++ Client/Burger Bites/src/router/index.jsx | 52 +-- Client/Burger Bites/src/sanbox.js | 37 ++ Client/Burger Bites/src/store.js | 13 + 47 files changed, 685 insertions(+), 893 deletions(-) create mode 100644 Client/Burger Bites/src/Pages/AdminProfilePage.jsx create mode 100644 Client/Burger Bites/src/Pages/BurgerDetails.jsx delete mode 100644 Client/Burger Bites/src/Pages/HomePage.html create mode 100644 Client/Burger Bites/src/Pages/UpdateAdminProfileImage.jsx create mode 100644 Client/Burger Bites/src/assets/Avatar Image (1).png create mode 100644 Client/Burger Bites/src/assets/Avatar Image (2).png create mode 100644 Client/Burger Bites/src/assets/Avatar Image.png create mode 100644 Client/Burger Bites/src/assets/Logo.png create mode 100644 Client/Burger Bites/src/assets/about-img.png create mode 100644 Client/Burger Bites/src/assets/i1.png create mode 100644 Client/Burger Bites/src/assets/i2.png create mode 100644 Client/Burger Bites/src/assets/i3.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/banner.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/bg-img create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (1).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (2).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (3).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (4).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (5).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (6).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (7).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/burger (8).png create mode 100644 Client/Burger Bites/src/assets/images-1/images/cheeseburger.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/chicken-burger.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/crispy chicken.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/french-fries.png create mode 100644 Client/Burger Bites/src/assets/images-1/images/logo create mode 100644 Client/Burger Bites/src/assets/images-1/images/vector.png create mode 100644 Client/Burger Bites/src/features/burger/burgerSlice.js create mode 100644 Client/Burger Bites/src/sanbox.js create mode 100644 Client/Burger Bites/src/store.js diff --git a/Client/Burger Bites/index.html b/Client/Burger Bites/index.html index 4a977e9..eabf574 100644 --- a/Client/Burger Bites/index.html +++ b/Client/Burger Bites/index.html @@ -3,13 +3,12 @@ - + Burger Bites - @@ -19,8 +18,11 @@ - + diff --git a/Client/Burger Bites/package-lock.json b/Client/Burger Bites/package-lock.json index f705f63..443ca84 100644 --- a/Client/Burger Bites/package-lock.json +++ b/Client/Burger Bites/package-lock.json @@ -9,10 +9,12 @@ "version": "0.0.0", "dependencies": { "@react-oauth/google": "^0.12.1", + "@reduxjs/toolkit": "^2.2.1", "aos": "^2.3.4", "axios": "^1.6.7", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-redux": "^9.1.0", "react-router-dom": "^6.22.3", "sweetalert2": "^11.10.6" }, @@ -537,6 +539,29 @@ "react-dom": ">=16.8.0" } }, + "node_modules/@reduxjs/toolkit": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.2.1.tgz", + "integrity": "sha512-8CREoqJovQW/5I4yvvijm/emUiCCmcs4Ev4XPWd4mizSO+dD3g5G6w34QK5AGeNrSH7qM8Fl66j4vuV7dpOdkw==", + "dependencies": { + "immer": "^10.0.3", + "redux": "^5.0.1", + "redux-thunk": "^3.1.0", + "reselect": "^5.0.1" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17.0.0 || ^18", + "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-redux": { + "optional": true + } + } + }, "node_modules/@remix-run/router": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz", @@ -934,13 +959,13 @@ "version": "15.7.11", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true + "devOptional": true }, "node_modules/@types/react": { "version": "18.2.65", "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.65.tgz", "integrity": "sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==", - "dev": true, + "devOptional": true, "dependencies": { "@types/prop-types": "*", "@types/scheduler": "*", @@ -960,7 +985,12 @@ "version": "0.16.8", "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true + "devOptional": true + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", @@ -1351,7 +1381,7 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true + "devOptional": true }, "node_modules/debug": { "version": "4.3.4", @@ -2207,6 +2237,15 @@ "node": ">= 4" } }, + "node_modules/immer": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/immer/-/immer-10.0.4.tgz", + "integrity": "sha512-cuBuGK40P/sk5IzWa9QPUaAdvPHjkk1c+xYsd9oZw+YQQEV+10G0P5uMpGctZZKnyQ+ibRO08bD25nWLmYi2pw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, "node_modules/import-fresh": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", @@ -3117,6 +3156,32 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", "dev": true }, + "node_modules/react-redux": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.0.tgz", + "integrity": "sha512-6qoDzIO+gbrza8h3hjMA9aq4nwVFCKFtY2iLxCtVT38Swyy2C/dJCGBXHeHLtx6qlg/8qzc2MrhOeduf5K32wQ==", + "dependencies": { + "@types/use-sync-external-store": "^0.0.3", + "use-sync-external-store": "^1.0.0" + }, + "peerDependencies": { + "@types/react": "^18.2.25", + "react": "^18.0", + "react-native": ">=0.69", + "redux": "^5.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react-native": { + "optional": true + }, + "redux": { + "optional": true + } + } + }, "node_modules/react-router": { "version": "6.22.3", "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz", @@ -3147,6 +3212,19 @@ "react-dom": ">=16.8" } }, + "node_modules/redux": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-thunk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", + "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", + "peerDependencies": { + "redux": "^5.0.0" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz", @@ -3186,6 +3264,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/reselect": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.0.tgz", + "integrity": "sha512-aw7jcGLDpSgNDyWBQLv2cedml85qd95/iszJjN988zX1t7AVRJi19d9kto5+W7oCfQ94gyo40dVbT6g2k4/kXg==" + }, "node_modules/resolve": { "version": "2.0.0-next.5", "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", @@ -3673,6 +3756,14 @@ "punycode": "^2.1.0" } }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/vite": { "version": "5.1.6", "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz", diff --git a/Client/Burger Bites/package.json b/Client/Burger Bites/package.json index 34779c6..c454f74 100644 --- a/Client/Burger Bites/package.json +++ b/Client/Burger Bites/package.json @@ -11,10 +11,12 @@ }, "dependencies": { "@react-oauth/google": "^0.12.1", + "@reduxjs/toolkit": "^2.2.1", "aos": "^2.3.4", "axios": "^1.6.7", "react": "^18.2.0", "react-dom": "^18.2.0", + "react-redux": "^9.1.0", "react-router-dom": "^6.22.3", "sweetalert2": "^11.10.6" }, diff --git a/Client/Burger Bites/src/App.jsx b/Client/Burger Bites/src/App.jsx index 0908b7a..83b8851 100644 --- a/Client/Burger Bites/src/App.jsx +++ b/Client/Burger Bites/src/App.jsx @@ -2,12 +2,19 @@ import {RouterProvider} from "react-router-dom" import router from "./router/index.jsx" import { useEffect } from "react" import AOS from "aos" +import {store} from "./store.js" +import {Provider} from "react-redux" function App() { useEffect(() => { AOS.init(); }, []) - return + return ( + + + + ) + } export default App diff --git a/Client/Burger Bites/src/Pages/AboutPage.jsx b/Client/Burger Bites/src/Pages/AboutPage.jsx index 8dac8a3..2385258 100644 --- a/Client/Burger Bites/src/Pages/AboutPage.jsx +++ b/Client/Burger Bites/src/Pages/AboutPage.jsx @@ -1,88 +1,6 @@ -// import { useState, useEffect } from "react" -// import NavBar from "../components/NavBar" -// import SearchBar from "../components/SearchBar" -// import SortBy from "../components/SortBy" -// import Card from "./Card" -// import { localRequest } from "../../utils/axios" +import logo from "../assets/Logo.png" export default function Home() { - // const [jobsData, setJobsData] = useState([]) - // const [filteredJobs, setFilteredJobs] = useState([]) - // const [searchTerm, setSearchTerm] = useState(""); - // const [sortOrder, setSortOrder] = useState("asc"); - // const [currentPage, setCurrentpage] = useState(1); - // const [totalPages, setTotalPages] = useState(1); - // const [filterJobType, setFilterJobType] = useState(""); - // const [companiesData, setCompaniesData] = useState([]); - // const [filterCompanyId, setFilterCompanyId] = useState(""); - // useEffect(() => { - // async function getJobs() { - // try { - // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); - // setJobsData(response.data.data) - // setFilteredJobs(response.data.data) - // setTotalPages(response.data.totalPage) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getJobs() - // }, [filterCompanyId, searchTerm]); - - // useEffect(() => { - // async function getCompanies() { - // try { - // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); - // setCompaniesData(response.data) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getCompanies() - // }, []); - - - // const handleSearch = (term) => { - // setSearchTerm(term); - // } - - // const handleSort = (order) => { - // setSortOrder(order); - // const sortedJobs = [...filteredJobs].sort((a, b) => { - // if (order === "asc") { - // return new Date(a.createdAt) - new Date(b.createdAt); - // } else { - // return new Date(b.createdAt) - new Date(a.createdAt); - // } - // }); - // setFilteredJobs(sortedJobs); - // }; - - // const handlePageChange = (pageNumber) => { - // setCurrentpage(pageNumber); - // window.scrollTo(0, 0) - // } - - // const handleFilterJobType = (jobType) => { - // setFilterJobType(jobType); - // if (jobType === "") { - // setFilteredJobs(jobsData); - // } else { - // const filtered = jobsData.filter((job) => job.jobType === jobType); - // setFilteredJobs(filtered); - // } - // } - - // const handleFilterCompany = (companyId) => { - // setFilterCompanyId(companyId); - // }; - - // const startIndex = (currentPage - 1) * 10 - // const endIndex = startIndex + 10 - - // console.log({ companiesData }); return ( <> @@ -94,7 +12,7 @@ export default function Home() { data-aos-duration={1500} >
- +
About us
@@ -107,7 +25,6 @@ export default function Home() { aperiam architecto, nulla qui ad doloribus harum doloremque ducimus iusto alias exercitationem corporis mollitia!

-
{/* About Section End */} diff --git a/Client/Burger Bites/src/Pages/AdminProfilePage.jsx b/Client/Burger Bites/src/Pages/AdminProfilePage.jsx new file mode 100644 index 0000000..82298f5 --- /dev/null +++ b/Client/Burger Bites/src/Pages/AdminProfilePage.jsx @@ -0,0 +1,100 @@ +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { Link, useNavigate, Outlet } from "react-router-dom" + +export default function AdminProfilePage() { + function formatCreatedAt(updatedAt) { + const date = new Date(updatedAt); + return date.toLocaleDateString("en-us", { + year: "numeric", + month: "long", + day: "numeric" + }) + } + const [userData, setUserData] = useState({}) + const [loading, setLoading] = useState(false) + const [error, setError] = useState("") + + const navigate = useNavigate() + + const fetchUser = async () => { + setLoading("Loading...") + setError("") + try { + let { data } = await localRequest({ + url: "/users", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }) + setUserData(data) + console.log(data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } finally { + setLoading(false) + } + } + + useEffect(() => { + fetchUser() + }, []); + + if (error) { + return

{error.message ?? error}

+ } + + if (loading) { + return

Loading...

+ } + return ( + <> +
+
+ +
+
+ +
+ + {userData.name} +
+

+ {userData.email} +

+

+ {userData.role} +

+

+ Updated at: {formatCreatedAt(userData.updatedAt)} +

+ + + +
+
+
+
+ + + +
+
+
+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/BurgerDetails.jsx b/Client/Burger Bites/src/Pages/BurgerDetails.jsx new file mode 100644 index 0000000..e3d7ac2 --- /dev/null +++ b/Client/Burger Bites/src/Pages/BurgerDetails.jsx @@ -0,0 +1,75 @@ +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { useParams } from "react-router-dom" +import { Link } from "react-router-dom" + +export default function Detail() { + const { burgerId } = useParams() + const [burgerDetails, setBurgerDetails] = useState("") + + useEffect(() => { + const fetchBurgerDetails = async () => { + try { + let response = await localRequest({ + url: `/burgers?filter=${burgerId}` + }) + setBurgerDetails(response.data[0]) + console.log(response.data) + } catch (error) { + console.log(error.response?.data.message || error.message) + setError(error) + } + } + fetchBurgerDetails() + }, [burgerId]); + + return ( + <> +
+
+ +
+
+ +
+ {" "} + {burgerDetails.name} +
+

+ {burgerDetails.desc} +

+

+ {burgerDetails.veg ? "Veg" : "Non-Veg"} +

+ + + + + +
+
+
+
+ + + +
+
+
+
+
+
+ + + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/Card.jsx b/Client/Burger Bites/src/Pages/Card.jsx index c52ebd8..7fa0f3b 100644 --- a/Client/Burger Bites/src/Pages/Card.jsx +++ b/Client/Burger Bites/src/Pages/Card.jsx @@ -27,7 +27,11 @@ export default function Card({ burgerId, name, desc, price, veg, images, title = const handleAddToCart = async () => { if (quantity > 0) { try { - const response = await localRequest.post(`/cart/${burgerId}`, { quantity }); + const response = await localRequest.post(`/cart/${burgerId}`, { quantity }, { + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + } + }); console.log("Added to cart:", response.data); successToast(`${name} Burger successfully added to cart!`); diff --git a/Client/Burger Bites/src/Pages/CheckOutPage.jsx b/Client/Burger Bites/src/Pages/CheckOutPage.jsx index 92b93eb..14dfa8b 100644 --- a/Client/Burger Bites/src/Pages/CheckOutPage.jsx +++ b/Client/Burger Bites/src/Pages/CheckOutPage.jsx @@ -43,8 +43,9 @@ export default function BurgerTable() { Authorization: `Bearer ${localStorage.getItem("token")}` } }) - setCartData(data) - console.log(data) + const unpurchasedCartData = data.filter(cartItem => !cartItem.purchased); + setCartData(unpurchasedCartData) + console.log(unpurchasedCartData) } catch (error) { console.log(error.response?.data.message || error.message) setError(error) @@ -132,24 +133,43 @@ export default function BurgerTable() { totalPrice: totalPrice // Pass the totalPrice to the backend } }); - console.log(data.token, "<<<<<<<<<<<<<<<<<<,") + console.log(data.token) // setTransactionToken(data.token) window.snap.pay(data.token, { - onSuccess: function(result){ + onSuccess: async function(result){ /* You may add your own implementation here */ - alert("payment success!"); console.log(result); + try { + await localRequest({ + url: "/cart/purchase", // Adjust the URL to match your backend route + method: "patch", + headers: { + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: { + // Pass any necessary data here + } + }); + successToast("Payment successful!"); + setPurchased(true); + setCartData([]); // Empty the cart after successful payment + } catch (error) { + console.error("Error updating cart after payment:", error); + errorAlert("Unable to update cart after payment"); + } + + successToast("Payment successful!"); console.log(result); }, onPending: function(result){ /* You may add your own implementation here */ - alert("wating your payment!"); console.log(result); + errorAlert("Waiting for your payment!"); console.log(result); }, onError: function(result){ /* You may add your own implementation here */ - alert("payment failed!"); console.log(result); + errorAlert("Payment failed!"); console.log(result); }, onClose: function(){ /* You may add your own implementation here */ - alert('you closed the popup without finishing the payment'); + errorAlert('Payment not completed!'); }, @@ -220,7 +240,7 @@ export default function BurgerTable() { {cart.quantity} - {formatCreatedAt(burger.updatedAt)} + {formatCreatedAt(cart.updatedAt)} diff --git a/Client/Burger Bites/src/Pages/HomePage.html b/Client/Burger Bites/src/Pages/HomePage.html deleted file mode 100644 index 1c102cb..0000000 --- a/Client/Burger Bites/src/Pages/HomePage.html +++ /dev/null @@ -1,385 +0,0 @@ - - - - - - - - - - - - - - - - Burger Bites - - -
- - - -
-
-

A Tasty Burger is What
You Deserve!

-

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Quisquam aliquid facere quod nulla aut rerum earum magnam minima laudantium magni.

- -
-
- -
-
- - -
-
-

What We Serve

-
-
-
- -
-

High Quality Food

-

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

- -
-
-
- -
-

High Quality Food

-

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

-
-
-
- -
-

High Quality Food

-

Lorem ipsum, dolor sit amet consectetur adipisicing elit. Quod ipsam facilis voluptatem doloribus eligendi natus maxime eum aliquid dignissimos dicta?

-
-
-
-
- - -
-

Our Food Menu

-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
-
- -
-

Burger - - - - -

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, eligendi?

-
$65
- -
-
-
-
- - - - - - - - -
-
- -
-
-
About us
-

Burger king

-

Lorem ipsum dolor sit amet consectetur adipisicing elit. Saepe sed repellat, cum, enim doloribus fugit incidunt aut sunt, autem doloremque quae laboriosam velit maiores? Voluptatum incidunt animi illo! Reprehenderit quis minus adipisci accusantium atque omnis assumenda aperiam architecto, nulla qui ad doloribus harum doloremque ducimus iusto alias exercitationem corporis mollitia!

- -
-
- - -
-
-

Order Now

-

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Voluptate quod dolorum mollitia fugit, itaque asperiores reiciendis sapiente laudantium quam. Ipsa.

- - - -
- - -
-
- - - - - - -
-
-
- - -
-

What's Our Customers Say

-
-
-
- - - - - -
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

-
Elon Musk
-
-
-
- - - - - -
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

-
Elon Musk
-
-
-
- - - - - -
-

Lorem ipsum dolor sit amet, consectetur adipisicing elit. Omnis repudiandae dolorum ab beatae perferendis asperiores rem corrupti blanditiis commodi et?

-
Elon Musk
-
-
-
- - -
- - -
- - - - - - - - \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/HomePage.jsx b/Client/Burger Bites/src/Pages/HomePage.jsx index 88553ad..2c6917a 100644 --- a/Client/Burger Bites/src/Pages/HomePage.jsx +++ b/Client/Burger Bites/src/Pages/HomePage.jsx @@ -1,88 +1,27 @@ -// import { useState, useEffect } from "react" -// import NavBar from "./NavBar" -// import SearchBar from "../components/SearchBar" -// import SortBy from "../components/SortBy" -// import Card from "./Card" -// import { localRequest } from "../../utils/axios" +import { useState, useEffect } from "react" +import { localRequest } from "../utils/axios" +import { Link } from "react-router-dom" +import Image from "../assets/about-img.png" +import Icon1 from "../assets/i1.png" +import Icon2 from "../assets/i2.png" +import Icon3 from "../assets/i3.png" export default function Home() { - // const [jobsData, setJobsData] = useState([]) - // const [filteredJobs, setFilteredJobs] = useState([]) - // const [searchTerm, setSearchTerm] = useState(""); - // const [sortOrder, setSortOrder] = useState("asc"); - // const [currentPage, setCurrentpage] = useState(1); - // const [totalPages, setTotalPages] = useState(1); - // const [filterJobType, setFilterJobType] = useState(""); - // const [companiesData, setCompaniesData] = useState([]); - // const [filterCompanyId, setFilterCompanyId] = useState(""); - // useEffect(() => { - // async function getJobs() { - // try { - // const response = await localRequest.get(`https://career-portal-api.dhirenkirpalani.com/pub/jobs?filter=${filterCompanyId}&search=${searchTerm}`); - // setJobsData(response.data.data) - // setFilteredJobs(response.data.data) - // setTotalPages(response.data.totalPage) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getJobs() - // }, [filterCompanyId, searchTerm]); - - // useEffect(() => { - // async function getCompanies() { - // try { - // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); - // setCompaniesData(response.data) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getCompanies() - // }, []); - - - // const handleSearch = (term) => { - // setSearchTerm(term); - // } - - // const handleSort = (order) => { - // setSortOrder(order); - // const sortedJobs = [...filteredJobs].sort((a, b) => { - // if (order === "asc") { - // return new Date(a.createdAt) - new Date(b.createdAt); - // } else { - // return new Date(b.createdAt) - new Date(a.createdAt); - // } - // }); - // setFilteredJobs(sortedJobs); - // }; - - // const handlePageChange = (pageNumber) => { - // setCurrentpage(pageNumber); - // window.scrollTo(0, 0) - // } - - // const handleFilterJobType = (jobType) => { - // setFilterJobType(jobType); - // if (jobType === "") { - // setFilteredJobs(jobsData); - // } else { - // const filtered = jobsData.filter((job) => job.jobType === jobType); - // setFilteredJobs(filtered); - // } - // } - - // const handleFilterCompany = (companyId) => { - // setFilterCompanyId(companyId); - // }; - - // const startIndex = (currentPage - 1) * 10 - // const endIndex = startIndex + 10 - - // console.log({ companiesData }); + const [burgerData, setBurgerData] = useState([]) + useEffect(() => { + async function getBurgers() { + + try { + const response = await localRequest.get(`/burgers`); + setBurgerData(response.data); + console.log(response); + } catch (error) { + console.error(error); + } + + } + getBurgers() +}, []); return ( <> @@ -106,7 +45,7 @@ export default function Home() {
- +
{/* Home Section End */} @@ -122,9 +61,9 @@ export default function Home() { What We Serve -
+
- +

High Quality Burger

@@ -135,7 +74,7 @@ export default function Home() {

- +

Fresh and Premium Ingredients

@@ -146,7 +85,7 @@ export default function Home() {

- +

Locally Sourced Ingredients

@@ -166,154 +105,39 @@ export default function Home() { Our Burger Menu

+ {burgerData.map((burger) => (
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- + Burger Image

- Burger + {burger.name}

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

-
-
-
-
-
- -
-

- Burger - - - - -

-

- Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptas, - eligendi? -

+
+
+
+ + + +
+
+
+ ))} {/* Our Menu End */} {/* Footer Start */} @@ -326,10 +150,6 @@ export default function Home() {
- - ) diff --git a/Client/Burger Bites/src/Pages/LoginPage.jsx b/Client/Burger Bites/src/Pages/LoginPage.jsx index e7fa594..91e62a4 100644 --- a/Client/Burger Bites/src/Pages/LoginPage.jsx +++ b/Client/Burger Bites/src/Pages/LoginPage.jsx @@ -2,6 +2,7 @@ import { useState, useEffect } from "react" import { localRequest } from "../utils/axios" import { errorAlert, successToast } from "../utils/sweetAlert"; import { useNavigate, Link } from "react-router-dom" +import logo from "../assets/Logo.png" export default function Login() { const navigate = useNavigate() @@ -40,7 +41,7 @@ export default function Login() { navigate("/") } catch (error) { console.log(error.response.data.message) - errorAlert(error.response.data.message); + errorAlert(error.response?.data?.message); } } @@ -49,7 +50,7 @@ export default function Login() { googleToken: credential }) localStorage.setItem("token", data.token); - console.log(data.message, "<<<<<") + console.log(data.message) successToast(data.message); navigate("/") } @@ -74,15 +75,15 @@ export default function Login() { {/*--------------------- Main Container ------------------------*/}
{/*--------------------- Login Container ------------------------*/} -
+
{/*------------------------- Left Box ---------------------------*/}
@@ -169,7 +170,7 @@ export default function Login() { Don't have an account? - Sign Up + Sign Up diff --git a/Client/Burger Bites/src/Pages/NavBar.jsx b/Client/Burger Bites/src/Pages/NavBar.jsx index b36e602..8325c05 100644 --- a/Client/Burger Bites/src/Pages/NavBar.jsx +++ b/Client/Burger Bites/src/Pages/NavBar.jsx @@ -1,6 +1,12 @@ -import { Link } from "react-router-dom" +import { useNavigate, Link } from "react-router-dom" +import logo from "../assets/Logo.png" export default function NavBar() { + const nav = useNavigate(); + const handleLogout = () => { + localStorage.removeItem("token") + nav("/login") + } return ( <>
@@ -15,6 +21,11 @@ export default function NavBar() {
    +
  • + + + +
  • Home @@ -38,33 +49,46 @@ export default function NavBar() {
  • - -
    - - +
  • + + -
  • -
    + + +
  • -
  • + + +
  • + + + + +
  • +
  • + + + + +
  • +
  • + + + + +
  • +
-
{/* Navbar End */} diff --git a/Client/Burger Bites/src/Pages/OrderPage.jsx b/Client/Burger Bites/src/Pages/OrderPage.jsx index 1c93f61..d398b33 100644 --- a/Client/Burger Bites/src/Pages/OrderPage.jsx +++ b/Client/Burger Bites/src/Pages/OrderPage.jsx @@ -1,31 +1,16 @@ -import { useState, useEffect } from "react" -import { localRequest } from "../utils/axios" +import { useEffect } from "react" import Card from "./Card"; +import { useDispatch, useSelector } from "react-redux"; +import {getBurgers} from "../features/burger/burgerSlice" -export default function Home() { - const [burgerData, setBurgerData] = useState([]) - const [loading, setLoading] = useState(false); - // const [filteredJobs, setFilteredJobs] = useState([]) - // const [searchTerm, setSearchTerm] = useState(""); - // const [sortOrder, setSortOrder] = useState("asc"); - // const [currentPage, setCurrentpage] = useState(1); - // const [totalPages, setTotalPages] = useState(1); - // const [filterJobType, setFilterJobType] = useState(""); - // const [companiesData, setCompaniesData] = useState([]); - // const [filterCompanyId, setFilterCompanyId] = useState(""); +export default function Order() { + const dispatch = useDispatch() + const burgerData = useSelector((state) => state.burgerData.list); + const loading = useSelector((state) => state.burgerData.loading); + console.log(burgerData) + useEffect(() => { - async function getBurgers() { - setLoading(true); - try { - const response = await localRequest.get(`/burgers`); - setBurgerData(prevData => [...prevData, ...response.data]); - console.log(response); - } catch (error) { - console.error(error); - } - setLoading(false); - } - getBurgers() + dispatch(getBurgers()) window.addEventListener("scroll", handleScroll); @@ -39,64 +24,10 @@ export default function Home() { window.innerHeight + document.documentElement.scrollTop === document.documentElement.offsetHeight ) { - getBurgers(); + dispatch(getBurgers()) } }; - // useEffect(() => { - // async function getCompanies() { - // try { - // const response = await localRequest.get('https://career-portal-api.dhirenkirpalani.com/pub/companies'); - // setCompaniesData(response.data) - // console.log(response); - // } catch (error) { - // console.error(error); - // } - // } - // getCompanies() - // }, []); - - - // const handleSearch = (term) => { - // setSearchTerm(term); - // } - - // const handleSort = (order) => { - // setSortOrder(order); - // const sortedJobs = [...filteredJobs].sort((a, b) => { - // if (order === "asc") { - // return new Date(a.createdAt) - new Date(b.createdAt); - // } else { - // return new Date(b.createdAt) - new Date(a.createdAt); - // } - // }); - // setFilteredJobs(sortedJobs); - // }; - - // const handlePageChange = (pageNumber) => { - // setCurrentpage(pageNumber); - // window.scrollTo(0, 0) - // } - - // const handleFilterJobType = (jobType) => { - // setFilterJobType(jobType); - // if (jobType === "") { - // setFilteredJobs(jobsData); - // } else { - // const filtered = jobsData.filter((job) => job.jobType === jobType); - // setFilteredJobs(filtered); - // } - // } - - // const handleFilterCompany = (companyId) => { - // setFilterCompanyId(companyId); - // }; - - // const startIndex = (currentPage - 1) * 10 - // const endIndex = startIndex + 10 - - // console.log({ companiesData }); - return ( <> {/* Offer Section Start */} @@ -134,7 +65,9 @@ export default function Home() {
{burgerData.map((burger) => ( -
- - ) diff --git a/Client/Burger Bites/src/Pages/ProfilePage.jsx b/Client/Burger Bites/src/Pages/ProfilePage.jsx index 8a06c55..ccb3df9 100644 --- a/Client/Burger Bites/src/Pages/ProfilePage.jsx +++ b/Client/Burger Bites/src/Pages/ProfilePage.jsx @@ -50,12 +50,21 @@ export default function ProfilePage() { } return ( <> -
- -
-
{userData.name}
-

+

+
+ +
+
+ +
+ + {userData.name} +
+

{userData.email}

@@ -67,9 +76,25 @@ export default function ProfilePage() { +

+
+
+
+ + + +
+
+
+
- ) } \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/Register.jsx b/Client/Burger Bites/src/Pages/Register.jsx index 82a037c..bc14c2b 100644 --- a/Client/Burger Bites/src/Pages/Register.jsx +++ b/Client/Burger Bites/src/Pages/Register.jsx @@ -2,6 +2,7 @@ import { useState } from "react" import { localRequest } from "../utils/axios" import { errorAlert, successToast } from "../utils/sweetAlert"; import { useNavigate, Link } from "react-router-dom" +import logo from "../assets/Logo.png" export default function Register() { const navigate = useNavigate() @@ -32,7 +33,7 @@ export default function Register() { navigate("/login") } catch (error) { console.log(error.response.data.message) - errorAlert(err.response.data.message); + errorAlert(error.response.data.message); } } @@ -48,15 +49,15 @@ export default function Register() { {/*--------------------- Main Container ------------------------*/}
{/*--------------------- Login Container ------------------------*/} -
+
{/*------------------------- Left Box ---------------------------*/}
@@ -160,7 +161,7 @@ export default function Register() { Already a member? - Login + Login
diff --git a/Client/Burger Bites/src/Pages/ReviewPage.jsx b/Client/Burger Bites/src/Pages/ReviewPage.jsx index 94a844f..8e16fcf 100644 --- a/Client/Burger Bites/src/Pages/ReviewPage.jsx +++ b/Client/Burger Bites/src/Pages/ReviewPage.jsx @@ -4,6 +4,9 @@ // import SortBy from "../components/SortBy" // import Card from "./Card" // import { localRequest } from "../../utils/axios" +import Avatar1 from "../assets/Avatar Image.png" +import Avatar2 from "../assets/Avatar Image (1).png" +import Avatar3 from "../assets/Avatar Image (2).png" export default function Home() { // const [jobsData, setJobsData] = useState([]) @@ -111,7 +114,7 @@ export default function Home() { blanditiis commodi et?

- + Elon Musk
@@ -129,7 +132,7 @@ export default function Home() { blanditiis commodi et?

- + Elon Musk
@@ -147,7 +150,7 @@ export default function Home() { blanditiis commodi et?

- + Elon Musk
diff --git a/Client/Burger Bites/src/Pages/UpdateAdminProfileImage.jsx b/Client/Burger Bites/src/Pages/UpdateAdminProfileImage.jsx new file mode 100644 index 0000000..d2cdc2e --- /dev/null +++ b/Client/Burger Bites/src/Pages/UpdateAdminProfileImage.jsx @@ -0,0 +1,84 @@ +import { localRequest } from "../utils/axios" +import { useState, useEffect } from "react" +import { useNavigate, Link } from "react-router-dom" +import { errorAlert, successToast } from "../utils/sweetAlert"; + +export default function UpdateAdminProfileImage() { + const nav = useNavigate(); + const [user, setUser] = useState("") + const [image, setImage] = useState(null) + const [error, setError] = useState("") + + const handleImageChange = (e) => { + const file = e.target.files[0] + setImage(file) + } + + const handleSubmit = async (e) => { + e.preventDefault() + if(!image) { + errorAlert("Please upload an image"); + return; + } + try { + const formData = new FormData() + formData.append("image", image) + let response = await localRequest({ + url: `/users/profile`, + method: "patch", + headers: { + "Content-Type": "multipart/form-data", + Authorization: `Bearer ${localStorage.getItem("token")}` + }, + data: formData + }) + console.log(response.data) + successToast("Image successfully updated!"); + nav("/adminprofile") + } catch (error) { + console.log(error.response?.data.message || error.message) + errorAlert(error.response.data.message); + } finally { + nav("/adminprofile") + } + } + return ( + <> +
+
+
+
+
+

Update Profile Image

+
+ +
+ + + Cancel + +
+
+
+
+
+ + ) +} \ No newline at end of file diff --git a/Client/Burger Bites/src/Pages/style.css b/Client/Burger Bites/src/Pages/style.css index d72f18a..7613049 100644 --- a/Client/Burger Bites/src/Pages/style.css +++ b/Client/Burger Bites/src/Pages/style.css @@ -59,13 +59,20 @@ html::-webkit-scrollbar{ width: 10px; } body{ - background-color: #f9f9fb; + background-color: white; } /* Navbar Start */ -.navbar{ - padding: 16px 12.5%; - background-color: white; - width: 100%; +.navbar { + display: flex; + align-items: center; + padding: 10px 20px; + background-color: #ffffff; +} + +.navbar-logo { + width: 100px; + height: auto; + margin-right: 20px; } .content .logo img{ width: 10%; @@ -564,7 +571,6 @@ nav .content .links{ max-width: 530px; height: auto; width: 100%; - background-color: #c28d56; border-radius: 10px; transition: all .50s ease; cursor: pointer; @@ -834,7 +840,7 @@ form textarea{ /* Admin Panel */ -body { +/* body { margin: 0; font-family: 'NotoIKEA', 'Verdana', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; @@ -844,7 +850,7 @@ body { color: #484848; text-align: left; background-color: #F9F9F9; - } + } */ /* * Heading diff --git a/Client/Burger Bites/src/assets/Avatar Image (1).png b/Client/Burger Bites/src/assets/Avatar Image (1).png new file mode 100644 index 0000000000000000000000000000000000000000..9b43a50a6e5e1b1ce07b7f408a0af919ad8bfe20 GIT binary patch literal 19707 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%0D%Z}G` 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 literal 0 HcmV?d00001 diff --git a/Client/Burger Bites/src/assets/Logo.png b/Client/Burger Bites/src/assets/Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..36ae1bbf033d2d1cac161e37d1754506568c6088 GIT binary patch literal 35597 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 P$)J*)x@xkaq literal 0 HcmV?d00001 diff --git a/Client/Burger Bites/src/assets/about-img.png b/Client/Burger Bites/src/assets/about-img.png new file mode 100644 index 0000000000000000000000000000000000000000..078c59de4887cffe81b245c3bb3676d2f8723544 GIT binary patch literal 229598 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 Y1M%#16=_L?rvLx|07*qoM6N<$f&!lFjQ{`u literal 0 HcmV?d00001 diff --git a/Client/Burger Bites/src/assets/i2.png b/Client/Burger Bites/src/assets/i2.png new file mode 100644 index 0000000000000000000000000000000000000000..ad653a6ea53b70dc9b5eaad3fb13897f910491c6 GIT binary patch literal 27956 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 literal 0 HcmV?d00001 diff --git a/Client/Burger Bites/src/assets/i3.png b/Client/Burger Bites/src/assets/i3.png new file mode 100644 index 0000000000000000000000000000000000000000..27d30409d7f98319f79919328a51be5a580a0ad5 GIT binary patch literal 13853 zcmc(GRZ|>H)Ar)-u8RhD*Tvo4B{;z$!QFxfce`;XxNC4*+}$m>!}8|&3*X6iFw+M! z)zx+NOiNW?QEDo(XvoCK0000@UQSBmpA7onLWKXf4~m*k{1Z^_8nP0A+G)~L0DuA@ zFD0(!Wpe3{;AJeE`6yJj?MrK{m}V*8Vq_r{pUXca63mZ>FM)O;Awf5xy50vvqJT(A zX{mpf#EfFj5L_Z$U(d`?oGFH_qL^Tx^rs|?;U7+QsgPmmv+4&6}D-~KkqS@X-Vr&LU1m+@){NrGU11SiH6gC-<0o#Wp3PbmNO~=zm15mjp;_r_H zRX}}#atWFFck(We#{Tc7AH2%-uBv^IJRoO>%OwOOPy%XWih?(W~N!=KEe-!9)i)8K_z z0jR>ho5-6Sz4U}hN(JKVlV72c`T^MAJPv7mSuu_G1D7-5ZBdEMB`t>DXqdTm93mkq zGehfzk5Z#CSA}mCBBkG~uIeskVirLC+|!}#1jH?PKEiQ;hk(JRR3`nYftti$>v@5D zikFv$qIA$eE`#HD`Yp&0O|D z!1`6SWJ+Ck#9EjfcPU~c9O5zfEVJ+`__-S@R4im{{(~70+SPL~B_iTNjvqQ=VE{ht z&w(o9bWra>lhSO%+Ho_!G?H2R-b>E!VU*VEhGuF62mWG&EGco{#ThAQ3^-#7((U^s- zn8@gof7#ih)2vN1eX@+Q{H70iUNOxGEx_E1@os4G_YC?K6moB*?$>j(f$wwimxdsl z->_#SHX9wbi!V4BfbQ&`7i5x7V1pFUqmTd~R>>bmK32!yZ~rx%dqqL9JW88S24^yU z#~&;*OE;j>e!U;U8GV_AxzKnI8H8dw%YXH)2t3Ozfk^ukuBvnenim#Hz!DxQm*+iU zOw=r7s>*z9cfZV-+J9T8f>K*&-yez5&3)QJrh#Y&k|yJujj>viqVB?2(PMX5Rf zz?3g+(0D4a=5-JWB>LMG@P`NKLx`0|nHnG!QdSmE<9BAb(0lu~SJl%6biLFTFh(t; zx5eJI$l#+A`E1}stG79){#!fGwjJ74`m%0)KbG#&7#+so6Ey^UeD?- zOc$`=@)DVPHI&XaY0WCj({OXn41dPjN<3^#=;)u8BuGD9Zr+aawX`}y!l1<_R8{rA zLpr}u0G!s2f9A48B8bV?$Rq=e6{}2?-DZz;SB`Am6lbdJqG5spN*}3qWf=`O1s+rD z#QqB-YNw*^*J3S|dpz8?KpaH$plry9?+AA`9ZV_{!4~O04wr>=JFXukU;|23vLScU zOf$YCVK8DdN6tvH7gCnca&Zy3aAJM*)jJB}(gO@gRRd|{_<%!3L4%hfBoOv{B3;u# z%pd<`jn9-#&{`R++TlXwCrzq0SP5Fc22N9@!w*i8g+Va5lMi&eNhZV_2o4MHh#=|} zwp#Rd2Ca3PO!or)4*=s(W}{Gw0K~omm)Zho>PSXnfO1wXQ<-a6D+n2|a7NW^kah5E z`A4_c$7bU(T`RC%OmU4Nntc3?uaw~zh584RH1EAd;)o@*fFu0e-BwF%iHdJ!F%&t( zWW9w2$ZlqCKX`BY&xg?1;;Ddw{%}EH~-n5N2uDh9xBpJO^ENy;(} z>XIR3!PS0^3suLL$__qzIRvb_EIL&|bU1Rmu zS~I;}N-!P{`k%>DFI1N<07^_2yPvGE7P2DOcV zhzE7;vZ(>20@J#vCL5|Gg%B&rv!35WFGZ>ozn|)00U;U@%CZmd6KP!M3)omqmx;jE zW=H>4C=xVfu7HM<7G0(`wpcOLPh{4FB8=^i+f+R7WAVu< za+Yb}>efHKi40L|@y(u6gqAFFnz&}E{{=nPB)rS|t}kIw zgJ;3Q=V>KOGaujyhMl7BZ%TlZ)pwTdqs~}<02Q#WIMyImLWH!{6uC$%eNT%ck=}Ky zKzN!B&D^73_A+%~#OsZ=MhZaRg!h8RF~yM-Nr(jK@Q1~qB$G=`B9}p#yW7^WhDN{i zhD_z=B5X&2M;D4omZl8a4(McY#wT8$IG_rA?^wPm~%)?O{3YO206fr zlaRR5=S)t!@Qkc4zunwW{u3GZ`{!=m*g}Oz+*dDLK+2vU-gyGLO6qp8x)gvAdn%)0 z=XO4``Jg>r^XI_qsB7t8w)Z)60R5(d z$Kr`JcHf)Q8^psyzaRflTYIiy&GuYiLQ^}*vyvlDbyXN+gpy&Bu4%I!B5-hK7BP}1 z#LDIrYz@4xKn%TQXM;|HZJU7Jhe8Qf1s5^uJKEo0g;TBif( zll3g!6?NxHIo!Cw!Wr)kQm;EFr%sgUQLLzK34!9qssuny;K^(X%s zWHM91E{|Cvv*0Gjq+p>`#%D)5$z638S}JYx?zYrk7LfDXD!|Y3lFi|HGzYE>LT6EZ z@no^c_RsJzUc^u>A&VWs^b&oI!{NoVpW`GY4039zGznQd8U&0YH?#2Se+wAsYJ^d> zFSV_&qIZaQ0XpT7uTq-OVhb3n@G+UBbL2*mN}lzoJH#g&zaBcDFtS3d4)^LMaHvoV zh-#GzZFmrZV1&4>7&E`27Uqa4XE6`^2l;ALCAIJnO7>x&5NKz#-tJv-=eSseS{$~37CUy|7EYOaltU{>R%Tg%QA0Cr-()j=P^ggssNoQpYA5b6 zYC{sihDbqek3VtLX}Q#EDZf_gL+(yKs?=P5D^TA?qLv0Dkb7l>_uJP8YLa*7dLImu zs+X`!!r)_=5ebBq1_#s-7p8@bDKplb>zMm{WjJ-y#6J2(*vgQ-wz4IMbZ#__%=6^Ej!N<0R``T${~fp zDcT%TjJWPHLm3{lLEsS09z2($$dY)e%m%Tc%>ex(0$N-3}9X-t-N?(bUdL++ESKFtR4|_V+|}Ap&B50 z)WhG~f5)T>4oZfRm#(E0#_suI=0?ElnYaYaO%b_P=wFWSO{0wPc8mUJ0Ocvidv(NS z_;6{l*|Yx^|T8dP@Dx>HEMg2fVB=B@13U1TmnJ-C$`~&*fBfrB@ZM_k6$DF6v`$DKo@z7izREKLjvIIs^poLBeOc3()%8- z+`UkXyi>1!P%o3j`meBAf0nZ-^I;*vd|m0=X)#B=xC$MHCM1qT)BO7lQQ0heF{HD) z#B0eUh`b0-KP`loEEqG3wcwPL`M$7Ie<4gD=iqX&37-+BncxqfQp+Fy{U{cLC1t12P zmNVo$p^U_P&d6MkYy42=H@+CCzQ)ur0UGu1(4Cu23VuAor3XOJZXl#KgVBne{{J0IemLzm^5)Tw*4Eul~?n1RuELK7C1|9)%)dxW77)EVUto zx}z;%7cW$`4!7?BhEh=y!JdIIqKMJg+u?JuoZAt^+`% z+kiuWVQ4PNu9yL3(B~gFB~&ycivZgBF>20F4?+ z2;eq1Sfnh8`9m&j{=(qZ7j&Z&P_*<{3=M;yQv9$?zKD~VAxEjs?`sS0Tb~te1$+)G z?^8-G$FbT>Gu}KFlOouN!>B=)^(aj|lZdI6G>L+}rEM3Q;Y!67F0*qGxuGeF1j@60W!B}LyMF}ug*;uYx}HAP%xpC{OzD@E zXf$Gws-Tb(0LuTp?8$lpUOg!$m!{$smiqhQRM#4$IyE7#Z-&PRCS zzf#7ne1zNQsgtm7D-rWimaGeKhX(&pN^W(&wZB-;928TPfeun?q`>Ke!-fJMDvfjx z8wp=57S20J=+ve4z&h4(c?JC<8a;2}h9OSDnUSLogG$;MWC%cDUCirye|K8RLSj2G zON$H0>#HE>J_l;rbUh+)u$X}$$Ls5*D)QU@b9UcA?5uzb-)EUbM9+c#Uv9tqOZW^R zg=9jEWo(j-68(|Yi&dBbnP}-DR8Q&uK^ve|dW3p;%(25;k;jZ3p2X3z%U@EqCTrpr zw0LU9hhV*Ew6hq`)yO1bG56G68{G?c>slq98bL3jS75K2P_7kdtL|$BrTeba0?<7U zz}v|z05NF=A3`cD7mqJx`z9YW)t+Sv082eQ4;3s4hJ5h=m`vC#YGjmDd>mY@9m_zv zEjw($4+`;V>Iy!z6L+-hi12ni=XWskl5j6mR!Qv#38;SeW~8U{=)#>%i96@M?B8eo zf>wWC$QEtjG04F=iooh8esZAkfW^X07nX&Tl56>-%tu2n8)xs3g6_h>KoOE-XM34X=P;faxMf z$rPaJ1XFn5tU!nx2z;m;WdmF@{5_WUXgy?K$PErc8K##)Gv|Wha``=D`^WzkTlk2l z(9l^-MKu&lQ?9VyT7p27l!F3CpNJYMlM&TTZWWyYYI3}3H+Sr~+2ej*W@{vNx{IZ9@5_l@$}SYT>R~DX^0Qx1E7n(TP4y6VoQ!vBdlRnhEsBr zk4KYK7!*;Pe07e}IW}L!uyHffIKsV~&@`t<*O2YTh0~@eyJx~pGjvY(I+Z2%C-lbvlD7e^DrBIh<#jTqn{gShVtIOA+pp{4&Pe_t3 zDOSg|PHHS+c7qK{dcm6f#gwu&CZJ8oG{S}57E2{pf~|(Uj7X6R5x4r>1N?+F^)7iz zOfxS;iKGKJQ%COpCG|U!pu@pJ_WlX~g6W%cs#nI+zn>|HT0q{T4L3z|D@&#;DH=-Y zr&btMwZ4-Ae7t4%AltCW*#EIZHg@cyP)`y8401)E;QfWd?^e%YHQn&T4W6hXZ{Qfi z6XKG<8bZ|ET$7L+F#S!3i~!KFv`vxJMG}iaF>~j}q$Oc5&FE2(^Mmq`aj1BDQ=KmC zPqYX!rzSaQHh(+{6|Lh?`gPAyYhBSF?;Z6~wY?;&! zkc@vv4cH`MJp1~>;D`B|J(CK1^mC)9AFWqPFIIE4uzIZ%;17krmvshi1ha#(3oEZS zmQ7TO)iXuNli~TV`;PtR*PRIolir{lCc<#Ai4KB=M4@wGE6)I9FZ1PUA&A)WNhe8* zN$-ZPx-}cBr8=ysX=C>xm3s`{_X^h%auV8^Q4%6~2JPX|Mt>P7$WPyc2njfdT|K&l z!(iEK45Fd^(6g5d8aIc;Jn=CFGC~}B(JP_H5qHcgi2`R0ZyZ?TplXn6wZp;pmPcw4 zgY1|CDO-3o31C;Oz7?^)mzH-ilAh73mgyblS+Jmy z{Mm=?P(^9f7lxQSrh&$<8FV7s8TJVS6VN|L6)AXF!?ml&DX%t)j9fWfizK?|cCi%N zTw7}o$mgzzUWotLE5zvpl=PkphR2O7M%A7%Lu+h8=jhP8J_QHi=kv*#sN znquH^YG&X;`QY$)^=E|evPH!%1$E^GVL*%R5|R;ZGUZ2vshFTiv&1GzLfbxKn3uGZ zOo_8838KZ}r>Rg1?EHqUv|-ug{k)xFiAC|+Bm>zueixnD|Du!cKHIR6lD0Q(#Z$@Q z_qgR*W4QlaUtS1f<`(m$>5N}V!ahT7fUVr>)`!8GGQouWytDw$}}BPi!pD*>F4Ncom9^ zA?3-E;lh*)V<5E${&86@fCZ2h9>V{5T1VUs5h4{p8BJV><%Tv7w#P1l-~h$ssU_7| zf|-lN&G@hBe^JKmpcf>bc=5r=2nW^goHE!(HC59$lud2AuYvqJs`U;qS~oieIqus{ z%=UA5j@cTCiQ~xt34zDsP)qIIrJ^jqoN8p;vO>YvSg=slL0|R1t0Z9iA(pDcv!!&W z<+Ym?>=|3N%bO=XQt*_8{=gqQKnNMIek)M3Hu*0yRiB;|SAQeFF07=l*duO_(sqck zOzrot8pCqjU* z1I2h|4BO3?AuJd@)Pdp@dF%tBz70d!3k-`TN$e&A&FTsV4^yVW!6J3?W@Zg7pheAL z!C+5pqj`IJ+E?Li_Lphvaf}nV^JpmKu$giBioR6qKgG#Q`~3o-_p};FT>W=l*Vys6 zKo#z&E+eK(1l1|>l%_0fAPILMl8ND^dJ+Q^VCwjV6OsX zqcP#~j(Ld;f<*#+F|p(?+Qq_DYDgyP6GbSZJq<;v{deN5Xu*DHk_~wIg`Qha z=`ok%9rOmSP-$bI&RGl-__iGrs~*EX`OdMwzonU0_hC;8z}SR*7z>Ul^_Q9rWi^kK zL6N^t(z(S+ZpKghV(J{b-g+xyez|jbV1^aXzwo4F`hww;GMS0pbL<^GT@u@hSnR)q zCRypf*Z+Ma1PF^Lp}Xdm%nw-mE~Wj4a@EZ6ceJG_a&@87mBP9PMd86%k%FXLev!+6 z^v2)6LXbbGsaf&-Vpott3ogRc1keQ?np~19grOrc1|&Lfa1={KlO0I$M%DaVLqEtQ z3C~D_aIgWloY)07Zyv=gnMhnvoAn$@zd_+Yiys-H*_FmBFr6umW2tE8|FD!9*9(y_!9@!L*?tF>8U-qx%VTM)xTaKZG7t@1?3<7_4DT3^X zUBX#)+sAlZKw<@O?4%9*h1|v+SN(V8jH4kIt1g%WPySw6NVPzj`=c6`NjawKGee8Lu^+%b+sw);{tn z`!ofiXiMt9W^|~DF+op#RQZ>`dW$Q+{MTxNVqwb zwgTK^w^$S9TK^TQtCv_try7^3sjnF`!hH!0{i3YBEtM*sv|m?_NvvIJaAwrl>uZG@ewIhJuC;W#*nh6QX3@S85b-EZ(SOnHeSKZkCC3D%1`ss78#C z=fPve))KQP-q{Gso{_k7t7H>|>I<7d)emu+kI12*IiapUH*02wR^-uWnyW1#CeQTU zBAHO3^u2!C-e&R&@S)exYuW2sJS`PS7>06Npcg|dL=*9|&^rV|<9v*+Qc8plqQQiD z0~ZZ6hN~D;D0NgnWcw&2B>6NE#c9DF8E(kIa#Y8sqm~lS?dD4P_Wd-(i@5d52D<{! zqTy zeEI#rdgEA9?NG=tlHxtla6%s7#t(qoW+*lw-boT;^qdb|Cp4O&JsOGr%EfAgPhou7 zCytL)347#C7))2;atlMx)+c$0qVBV@h>iW8qFdmJa}b^>VQLnX&0r@nH-%DvKc)Mx zAV}~G2+ZFJP^3@NYrh@%2LRCsYWXJz832Gc@xNIBK)1z5FI?6#+|=!k5d1qhIh3mn zKGYUU-|mnJK?R?$(yc=5wHaNBE)G(NIpcKEH$T&2eiba*CMpdD)ntTW-LkN^KufpZ zM2j-JVT6(lhZs`r;Ug!aaI9o~Jc?hXQTw&p)CB=u7pMFY%C_h)Q-N5F*W)Ox)N&HM z`s$F};Ygh{j$|Rl@{TurtRJB98}JqZL*bL=Amu>5C}DkNMI_c{?a4e)6`dUi@jKb- zB*0(}U&YDskDYtgtd>>Z0M9671f!zW9*YLPDY*48M41nh`j->VxJ`zEBisM&NwAr?-c6oJx z*sgs4c>?gBLd3FtSzcCkn*yEuOnj#A*99{dnS9?bMs8G?o^u5Wx?B}AA4QR@vvV_| zpsTrPdQ64eHm}sj)G~L)$WXiCEjQo*Le>d*QaL;0;pFP%WAU(6QMQyQHTc%yLFZP@)XWFOz{#B1<(;jq4Si z=tuh!BA|)mVWu_kxBzirSS&kav5L(k)xloy2XMzCzfF|RV*&{kN75uH%aVsQp=(iC zB8Hki&6=Qxmg>jX(Y`*wBiTwqPmc*<3*7ud$&S2NeDWWcrAYHRQGxg_A=Hr;@Wx6| z#H%0;v*DT$9wK8Wn>g*FpA#R5kh+RkF50QOb@DvFtE#BLz@Mudubr~@ZjzU`I~`l3qeJsf;Qgq4*?oMYd8 zr24+6xm8SXbJ?VrW@^NR7@YHO^2w_O3vex9#{3(B_vPs@$s?Jsvae z8EpDQ&AHGt8)~&_QK#J8?*kd zWWbb!sVRt8v=u7Q;0fXW(PI#kl{pae8-eoR&|R|JTW%6B3HaOZxT#^TNd5?Y9zPMJ z+Eq97pI>A$A}tQoObr`9J7$b{x|LuyZbCz$Uu5Rgm}c5tGI^|)e&dLL-mj9piP+i= zdK8bSehCV5FpTyaJHEpPX#G$o?-d3GA=o-Q%LWDlQFG--j*5UUm`Bq&NSez#dhl{W zdZjR%4X)*_!0n#Hx0UThI&I#e0Yz01UW;8hTPS^w0;{4VH%wvafU-!7q&N3}o=xKv z?Jps673$st{Ki_-)Wd_ab096;%2QtG?eHN#?yya-2P3kc>>=m;^I;324s*IHtKAbk zU8CT66=Ueom)p(St3fc!vr|xizxn%4BxspLpgDj*)b)mR68yIFQ`kp6lx0nR z1w8c&58X&_r=dqY(rSer4Ql&RT+*@QyhGJ^kr1Iz((_#oI_MN%C*OaI^V_)m2zrpJ zk*DOg+E)JF3)F?B0`lhfialwodf{bRMs1c{(5nb7BWEUROLsk7yg3CQ_fL$#oe#Z6 z2LWbfxwoTE@Ad&0uagY4oK- z?Pu?&6$muN6Bn|MSE zMmMXGl%=o>q}$JzOj61*8u*uC8dKB7)y}s3_v{HJ{UnWQI$OacY&!NXefj5#I-dqC zV1(7zL`b?@h#soPRYgpaw;j8le;RJHY;J8)L+m@9{16wPD<+yOK4&)S!|L`YI;+W( z;!kLTaCH915i1c!H@%Aq(9b{#s4V7O`!*>tVhw^18sqDw?AWIeb-cUfboYW(4C>F&*sL~>jsVpC_uzCBlbE}Mf>vU=KCu;42F=cC*Q zAj7EocZC%X$|Vl@4tZO(oI_)P5ssV*IuR<^GFYopEDZ@)I6XA=9 z@~Zr3iu7O<7~t~)ffZ-<@cBUMmER@Kodzyln|9;|qw_f=cmcE3f2LlU4LsS!<}uIy z9nrM-0?hw%kPLYOvU>ZkK3*gIeV(O+?@hErsy1-ly@4v2<07A!0rvhS34H=xn|-HB z>@#HT#y#$FL*pi=FegU5C0a>~-vHMOyUX#BwV$UVCQbK<8~I;0yL~@sAgcb{zbe({ zS`tX}L}mn5K9kz%PU@`*=lS;BmXLUUp3N8eOZQGsT5dmClM zY)<#94|JLnMLN;1^*>wwhl}i&u=hp;OCNi5af?$^L!4I@mx{HXpOYixJ?GwELWtd< zb!*ypp8pH7@aNbJyjsM+`aG`-8rc6y!e0B$_)gzHoi+c0OvVRSuRg4^i? zLLGh(j#+Bpff3QtQvaBJ0!mB2)tA)3Ec;)Airv#Wp@qGcui_OJfp$5D`Fc-_(~@Mm zvjheloBfqM$N5&unI9hSnXcVCa%{clg=L?oYb3S3nOZgbde3{!%l|nk;Gqg)(B(tf zMpns-hNDlpSqi3}OgV4*q5Qa5p&Uz%nGQU(Fnzfgk1~@GoT>7YnSYkUa+%+MwZ>?k=gHk zJYir8ozh(2O$b-O&3oD^ILwLm=9)TTf4TQ1_W%HkaebNH3t4I;nE9N#Q5i73Yv=2F zD|+!a-sCL_IG)LkQ4P3<0fz`XxEYjt4Jjy)=l|rPOa1flw4Gr3d8_MEKIv5nceXJK>(v5JP-;aAc_t!sfHi3R&8UwfyET%oA z1bKm?N0V6$>Z&U0-;Id{wnxZ3w?cjY8b?;2|JPC)ktC_Qeap6-gXir0`G}V8ymft{ z9buQ@%?EavCIJp?;~szjwc3bni`}{?9pA{X62lha6TV zrE$QEXaCP?^8+_z#-YL*@GT>Mdr0iJ5Z}_o@>Tc8A!i}3t>yKYUom^E6uJ5#C+a@;rPh!{B#qr}W|a;(3_ojv1|9b0K2iBZ{$iNEOEeUH%5v#L!t{I~ryj58`IWy&#MNneBZ!P(MXZ69B(4zAa`Ev08 z#=gMNdl4$_@|5?MjF zo5kx>Z3Zlh5UfPu-g>KAi7BI4|A!npC<$g5$#=2*YO}V$0At$u zm#dE7(d7K@=EqvAv$yfvUBahu|HfJI5%syx^;8yXCu8o+VMK+*+yc)OwjlLd_$;(} zO0~`7b`W-Cr z_C4=)Df~^Q(XiLJ6_WpXUIzMH>z_6`FvduernA-{Y6`kKJfwO5F#Lp+GHv^wYNw9m zMMHAk$xS}{l1mF04>!7U0)*5*p6BM%0w(KoNuOfPS6XP0>?VlgCalOq>F#E4HD~D_ zxbF1(!l@_TMb?HW!{k4UvZhXoh-0mSPefQ7GmB>X#d=t=3w#2MJ!>l0rc#BRPj=rR zx6i&#kVls7P0#vuc^z%)tB%n_H_m-|i?Tq|*RGuAsU&T7#wwUbVkmu*b|1AufyD_nvN&^uJ!a;rUh(@M&th^ovB# z;&LtSCkyj4dO}vO@0=1A)t5a+PltCeaPj-3%TMsASKg4O$H&KfGQqYdEjO2{swxil zoZ#e2V&S{VR07&;0#V4oPk^@Z&io~WW`$@ZwnmdoB+6kj4*U&nDVPAaAzQJd~PzW02s@4Zsa+=a|<8kH*0nzwBTi<39x zD#f(l5d;K0h8*(6dxF`P?<@y_9}|)w41Z_Gj?&kPrPKMqWR)*`hcKRX)E5B@w3S@B z2S~Opq&R!4RqjD(~LC!WsoFt>yWlYxK zIQQX>z!%!&>`@Nq!eRaWg>1dWwx&1e55Ve`Ul^!7X3g?bY>GrxzV((bLV37V0sG4u<4Z?kO(ADN)X zNs^Iu`CEfj|G$Fg&mpT2$tKLPzJGi#fV{MdRIP+r$o~Q5?v76Y literal 0 HcmV?d00001 diff --git a/Client/Burger Bites/src/assets/images-1/images/banner.png b/Client/Burger Bites/src/assets/images-1/images/banner.png new file mode 100644 index 0000000000000000000000000000000000000000..1add8b4f783ec7d3c67212f166a721ff848d252f GIT binary patch literal 433137 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

Qx2un~!Ejhhjyfo#daG@#{ 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

qZe&pk9xok7@ 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%0D0M{7Yatl$DTr%Xo0KaBTGa-r(do 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

xJ=^80m!2dHJ?7J9BI@t?F`)v- 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