diff --git a/apps/app/package.json b/apps/app/package.json index 7eeeb496..d6a27286 100644 --- a/apps/app/package.json +++ b/apps/app/package.json @@ -21,6 +21,7 @@ }, "dependencies": { "@expo/vector-icons": "^12.0.0", + "@react-native-community/checkbox": "^0.5.11", "@react-navigation/bottom-tabs": "^6.0.5", "@react-navigation/native": "^6.0.2", "@react-navigation/native-stack": "^6.1.0", @@ -34,12 +35,13 @@ "expo-random": "^12.1.2", "expo-splash-screen": "~0.14.0", "expo-status-bar": "~1.2.0", - "expo-web-browser": "~10.1.0", + "expo-web-browser": "~10.1.1", "react": "17.0.1", "react-dom": "17.0.1", "react-native": "0.64.3", "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", + "react-native-sync-localstorage": "^0.0.3", "react-native-web": "0.17.1" }, "devDependencies": { diff --git a/package-lock.json b/package-lock.json index 826b652a..597a1e1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,20 +23,25 @@ "@mdi/js": "^6.5.95", "@mui/icons-material": "^5.3.1", "@mui/material": "^5.4.0", + "@react-native-community/checkbox": "^0.5.11", "axios": "^0.25.0", "babel": "^6.23.0", + "form-data": "^4.0.0", "next-dark-mode": "^3.0.0", "react": "^17.0.2", "react-grid-layout": "^1.3.3", "react-native": "^0.67.2", + "react-native-elements": "^3.4.2", + "react-native-sync-localstorage": "^0.0.3", "react-native-vector-icons": "^9.1.0", + "react-native-web": "^0.17.7", "spinners-react": "^1.0.6", "universal-cookie": "^4.0.4" }, "devDependencies": { "@types/react-native-vector-icons": "^6.4.10", "prettier": "^2.5.1", - "turbo": "latest" + "turbo": "*" }, "engines": { "node": ">=14.0.0", @@ -48,7 +53,7 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "axios": "*", + "axios": "^0.26.0", "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", "cors": "^2.8.5", @@ -56,11 +61,15 @@ "express": "*", "express-openapi-validator": "^4.13.5", "express-session": "^1.17.2", + "form-data": "^4.0.0", "jsonwebtoken": "^8.5.1", + "md5": "^2.3.0", "pg": "^8.7.1", - "puppeteer": "^13.1.2", + "puppeteer": "^13.4.0", "puppeteer-stream": "^2.0.9", - "swagger-ui-express": "^4.3.0" + "swagger-ui-express": "^4.3.0", + "uuid": "^8.3.2", + "ws": "^8.5.0" }, "devDependencies": { "@types/bcryptjs": "^2.4.2", @@ -69,8 +78,11 @@ "@types/express": "^4.17.13", "@types/express-session": "^1.17.4", "@types/jsonwebtoken": "^8.5.8", + "@types/md5": "^2.3.2", "@types/pg": "^8.6.4", "@types/swagger-ui-express": "^4.1.3", + "@types/uuid": "^8.3.4", + "@types/ws": "^8.5.1", "eslint": "^8.6.0", "eslint-config-prettier": "^8.3.0", "eslint-config-react-app": "^7.0.0", @@ -133,6 +145,14 @@ "dev": true, "license": "Python-2.0" }, + "apps/api/node_modules/axios": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", + "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", + "dependencies": { + "follow-redirects": "^1.14.8" + } + }, "apps/api/node_modules/eslint": { "version": "8.8.0", "dev": true, @@ -316,11 +336,40 @@ "js-yaml": "bin/js-yaml.js" } }, + "apps/api/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" + } + }, + "apps/api/node_modules/ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "apps/app": { "name": "@area/app", "version": "1.0.0", "dependencies": { "@expo/vector-icons": "^12.0.0", + "@react-native-community/checkbox": "^0.5.11", "@react-navigation/bottom-tabs": "^6.0.5", "@react-navigation/native": "^6.0.2", "@react-navigation/native-stack": "^6.1.0", @@ -334,12 +383,13 @@ "expo-random": "^12.1.2", "expo-splash-screen": "~0.14.0", "expo-status-bar": "~1.2.0", - "expo-web-browser": "~10.1.0", + "expo-web-browser": "~10.1.1", "react": "17.0.1", "react-dom": "17.0.1", "react-native": "0.64.3", "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", + "react-native-sync-localstorage": "^0.0.3", "react-native-web": "0.17.1" }, "devDependencies": { @@ -599,6 +649,28 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "apps/app/node_modules/fbjs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", + "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "dependencies": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + } + }, + "apps/app/node_modules/fbjs/node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, "apps/app/node_modules/glob-parent": { "version": "6.0.2", "dev": true, @@ -703,6 +775,24 @@ "react-native": "*" } }, + "apps/app/node_modules/react-native-web": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.17.1.tgz", + "integrity": "sha512-lUnn+2O8ynQ6/gJKylSxm7DLi2vHw6AujdDV1+LSa8Epe1bYFJNUcJTEhJf0jNYUFGOujzMtuG8Mkz3HdWTkag==", + "dependencies": { + "array-find-index": "^1.0.2", + "create-react-class": "^15.7.0", + "fbjs": "^3.0.0", + "hyphenate-style-name": "^1.0.4", + "inline-style-prefixer": "^6.0.0", + "normalize-css-color": "^1.0.2", + "prop-types": "^15.6.0" + }, + "peerDependencies": { + "react": ">=17.0.1", + "react-dom": ">=17.0.1" + } + }, "apps/app/node_modules/react-refresh": { "version": "0.4.3", "license": "MIT", @@ -739,6 +829,7 @@ "apps/front": { "name": "@area/front", "dependencies": { + "md5": "^2.3.0", "next": "12.0.9", "react": "17.0.2", "react-dom": "17.0.2", @@ -747,6 +838,7 @@ "devDependencies": { "@types/node": "17.0.8", "@types/react": "17.0.38", + "babel-plugin-react-native-web": "^0.17.7", "eslint": "^8.6.0", "eslint-config-next": "12.0.8", "eslint-config-react-app": "^7.0.0", @@ -1014,19 +1106,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "apps/front/node_modules/fbjs": { - "version": "3.0.4", - "license": "MIT", - "dependencies": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" - } - }, "apps/front/node_modules/glob-parent": { "version": "6.0.2", "dev": true, @@ -1049,30 +1128,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "apps/front/node_modules/promise": { - "version": "7.3.1", - "license": "MIT", - "dependencies": { - "asap": "~2.0.3" - } - }, - "apps/front/node_modules/react-native-web": { - "version": "0.17.5", - "license": "MIT", - "dependencies": { - "array-find-index": "^1.0.2", - "create-react-class": "^15.7.0", - "fbjs": "^3.0.0", - "hyphenate-style-name": "^1.0.4", - "inline-style-prefixer": "^6.0.0", - "normalize-css-color": "^1.0.2", - "prop-types": "^15.6.0" - }, - "peerDependencies": { - "react": ">=17.0.1", - "react-dom": ">=17.0.1" - } - }, "apps/front/node_modules/typescript": { "version": "4.5.4", "dev": true, @@ -6560,6 +6615,21 @@ "url": "https://opencollective.com/popperjs" } }, + "node_modules/@react-native-community/checkbox": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@react-native-community/checkbox/-/checkbox-0.5.11.tgz", + "integrity": "sha512-VkZ6w+q3rIWUPTNw2yRlr/4Kz0EStVNXABs3ht9xKrDwt8jaglavo61JzAnjPEurCwV34nCfjIXNthMfAptnEQ==", + "peerDependencies": { + "react": "*", + "react-native": ">= 0.62", + "react-native-windows": ">=0.62" + }, + "peerDependenciesMeta": { + "react-native-windows": { + "optional": true + } + } + }, "node_modules/@react-native-community/cli": { "version": "5.0.1", "license": "MIT", @@ -7585,6 +7655,12 @@ "@types/node": "*" } }, + "node_modules/@types/md5": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.2.tgz", + "integrity": "sha512-v+JFDu96+UYJ3/UWzB0mEglIS//MZXgRaJ4ubUPwOM0gvLc/kcQ3TWNYwENEK7/EcXGQVrW8h/XqednSjBd/Og==", + "dev": true + }, "node_modules/@types/mime": { "version": "1.3.2", "license": "MIT" @@ -7679,7 +7755,6 @@ "version": "6.4.10", "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.10.tgz", "integrity": "sha512-z4sexbuZ7nmYsp7Z9YB5fSQoN3KFn6nZA3QsCkQLOYnVmVlxX4U22v/bM9Xx/6dOA1vClxoRZo2CFDX16uryXQ==", - "dev": true, "dependencies": { "@types/react": "*", "@types/react-native": "*" @@ -7744,6 +7819,12 @@ "source-map": "^0.6.1" } }, + "node_modules/@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, "node_modules/@types/webpack": { "version": "4.41.32", "license": "MIT", @@ -7772,6 +7853,15 @@ "node": ">= 8" } }, + "node_modules/@types/ws": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.1.tgz", + "integrity": "sha512-UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, "node_modules/@types/yargs": { "version": "15.0.14", "license": "MIT", @@ -8832,7 +8922,8 @@ }, "node_modules/axios": { "version": "0.25.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", "dependencies": { "follow-redirects": "^1.14.7" } @@ -9103,8 +9194,9 @@ } }, "node_modules/babel-plugin-react-native-web": { - "version": "0.17.5", - "license": "MIT" + "version": "0.17.7", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.17.7.tgz", + "integrity": "sha512-UBLfIsfU3vi//Ab4i0WSWAfm1whLTK9uJoH0RPZ6a67eS/h9JGYjKy7+1RpHxSBviHi9NIMiYfWseTLjyIsE1g==" }, "node_modules/babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0", @@ -11655,8 +11747,9 @@ "license": "MIT" }, "node_modules/devtools-protocol": { - "version": "0.0.948846", - "license": "BSD-3-Clause" + "version": "0.0.960912", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.960912.tgz", + "integrity": "sha512-I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==" }, "node_modules/dicer": { "version": "0.2.5", @@ -14053,8 +14146,9 @@ "license": "MIT" }, "node_modules/expo-web-browser": { - "version": "10.1.0", - "license": "MIT", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-10.1.1.tgz", + "integrity": "sha512-SRG7TzqLgsDjL9PzLppdUdBi49r2xos2aLD63+zB6ZAvNQTszmCfddkPMQH8vSq7m2fg7YReotVdWwcZtR/YZA==", "dependencies": { "compare-urls": "^2.0.0" }, @@ -14759,14 +14853,15 @@ } }, "node_modules/follow-redirects": { - "version": "1.14.7", + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==", "funding": [ { "type": "individual", "url": "https://github.com/sponsors/RubenVerborgh" } ], - "license": "MIT", "engines": { "node": ">=4.0" }, @@ -14988,9 +15083,9 @@ } }, "node_modules/form-data": { - "version": "3.0.1", - "dev": true, - "license": "MIT", + "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", @@ -18203,6 +18298,20 @@ "node": ">=0.4.0" } }, + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/jsdom/node_modules/ws": { "version": "7.5.6", "dev": true, @@ -18860,7 +18969,8 @@ }, "node_modules/md5": { "version": "2.3.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "dependencies": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -20758,6 +20868,14 @@ "node": ">=12" } }, + "node_modules/opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==", + "bin": { + "opencollective-postinstall": "index.js" + } + }, "node_modules/opn": { "version": "5.5.0", "license": "MIT", @@ -23207,22 +23325,23 @@ } }, "node_modules/puppeteer": { - "version": "13.1.3", + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.4.0.tgz", + "integrity": "sha512-WrHtFF2WpYC6KWFP4OCPOHWCjW4f8tFk+FkYZeNQ8/lHn+asjXBEXiIWauune8CY2xIHBVExGas+WI6Ay8/MgQ==", "hasInstallScript": true, - "license": "Apache-2.0", "dependencies": { - "debug": "4.3.2", - "devtools-protocol": "0.0.948846", + "cross-fetch": "3.1.5", + "debug": "4.3.3", + "devtools-protocol": "0.0.960912", "extract-zip": "2.0.1", "https-proxy-agent": "5.0.0", - "node-fetch": "2.6.7", "pkg-dir": "4.2.0", "progress": "2.0.3", "proxy-from-env": "1.1.0", "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.2.3" + "ws": "8.5.0" }, "engines": { "node": ">=10.18.1" @@ -23235,58 +23354,10 @@ "puppeteer": "^13.1.3" } }, - "node_modules/puppeteer/node_modules/debug": { - "version": "4.3.2", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/puppeteer/node_modules/node-fetch": { - "version": "2.6.7", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/puppeteer/node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/puppeteer/node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/puppeteer/node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/puppeteer/node_modules/ws": { - "version": "8.2.3", - "license": "MIT", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "engines": { "node": ">=10.0.0" }, @@ -23917,6 +23988,46 @@ "nullthrows": "^1.1.1" } }, + "node_modules/react-native-elements": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-3.4.2.tgz", + "integrity": "sha512-m0eAWOn7JuR1wNTNY0WHuaqst4LI/gFE4N5Bbyfsc4DiryWsMST7aAg5w/Gos4IexWIzhLKCIkPxthND1m/8Xg==", + "hasInstallScript": true, + "dependencies": { + "@types/react-native-vector-icons": "^6.4.6", + "color": "^3.1.2", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.3", + "react-native-ratings": "8.0.4", + "react-native-size-matters": "^0.3.1" + }, + "peerDependencies": { + "react-native-safe-area-context": "^3.1.9", + "react-native-vector-icons": ">7.0.0" + } + }, + "node_modules/react-native-elements/node_modules/deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-native-ratings": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.0.4.tgz", + "integrity": "sha512-Xczu5lskIIRD6BEdz9A0jDRpEck/SFxRqiglkXi0u67yAtI1/pcJC76P4MukCbT8K4BPVl+42w83YqXBoBRl7A==", + "dependencies": { + "lodash": "^4.17.15" + }, + "peerDependencies": { + "react": "*", + "react-native": "*" + } + }, "node_modules/react-native-safe-area-context": { "version": "3.3.2", "license": "MIT", @@ -23925,6 +24036,19 @@ "react-native": "*" } }, + "node_modules/react-native-size-matters": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", + "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", + "peerDependencies": { + "react-native": "*" + } + }, + "node_modules/react-native-sync-localstorage": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/react-native-sync-localstorage/-/react-native-sync-localstorage-0.0.3.tgz", + "integrity": "sha512-xp9/JahQj9RYL+Bv2FBJXpqH0DGvIjVYD+GNBVjNwavHKvk0mB8FtzWYdZW5leQ9mvHEU5qaefyB+bdJeLVJcw==" + }, "node_modules/react-native-vector-icons": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.1.0.tgz", @@ -23998,8 +24122,9 @@ } }, "node_modules/react-native-web": { - "version": "0.17.1", - "license": "MIT", + "version": "0.17.7", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.17.7.tgz", + "integrity": "sha512-4OOU/QjyRySOXyHfTvljEMS4VXKn42Qs3y9uHDPMwaCUFjwg0oasR/j706OaVgan9kF4Ipa2vJ3F6Z/Xqy8KeQ==", "dependencies": { "array-find-index": "^1.0.2", "create-react-class": "^15.7.0", @@ -30697,9 +30822,12 @@ "@types/express": "^4.17.13", "@types/express-session": "^1.17.4", "@types/jsonwebtoken": "^8.5.8", + "@types/md5": "^2.3.2", "@types/pg": "^8.6.4", "@types/swagger-ui-express": "^4.1.3", - "axios": "*", + "@types/uuid": "^8.3.4", + "@types/ws": "^8.5.1", + "axios": "^0.26.0", "bcryptjs": "^2.4.3", "cookie-parser": "^1.4.6", "cors": "^2.8.5", @@ -30713,17 +30841,21 @@ "express-jsdoc-swagger": "^1.6.7", "express-openapi-validator": "^4.13.5", "express-session": "^1.17.2", + "form-data": "^4.0.0", "jsonwebtoken": "^8.5.1", + "md5": "^2.3.0", "openapi-typescript": "^5.1.1", "openapi-typescript-codegen": "^0.18.1", "pg": "^8.7.1", "prettier": "^2.5.1", - "puppeteer": "^13.1.2", + "puppeteer": "^13.4.0", "puppeteer-stream": "^2.0.9", "rimraf": "^3.0.2", "swagger-ui-express": "^4.3.0", "ts-node": "^10.4.0", - "typescript": "^4.5.4" + "typescript": "^4.5.4", + "uuid": "^8.3.2", + "ws": "^8.5.0" }, "dependencies": { "@eslint/eslintrc": { @@ -30758,6 +30890,14 @@ "version": "2.0.1", "dev": true }, + "axios": { + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", + "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", + "requires": { + "follow-redirects": "^1.14.8" + } + }, "eslint": { "version": "8.8.0", "dev": true, @@ -30880,6 +31020,17 @@ "requires": { "argparse": "^2.0.1" } + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + }, + "ws": { + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", + "requires": {} } } }, @@ -30889,6 +31040,7 @@ "@babel/core": "^7.12.9", "@babel/runtime": "^7.17.2", "@expo/vector-icons": "^12.0.0", + "@react-native-community/checkbox": "^0.5.11", "@react-navigation/bottom-tabs": "^6.0.5", "@react-navigation/native": "^6.0.2", "@react-navigation/native-stack": "^6.1.0", @@ -30909,7 +31061,7 @@ "expo-random": "^12.1.2", "expo-splash-screen": "~0.14.0", "expo-status-bar": "~1.2.0", - "expo-web-browser": "~10.1.0", + "expo-web-browser": "~10.1.1", "jest": "^26.6.3", "jest-expo": "~44.0.1", "prettier": "^2.5.1", @@ -30918,6 +31070,7 @@ "react-native": "0.64.3", "react-native-safe-area-context": "3.3.2", "react-native-screens": "~3.10.1", + "react-native-sync-localstorage": "^0.0.3", "react-native-web": "0.17.1", "react-test-renderer": "17.0.1", "typescript": "~4.3.5" @@ -31079,6 +31232,30 @@ } } }, + "fbjs": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-3.0.4.tgz", + "integrity": "sha512-ucV0tDODnGV3JCnnkmoszb5lf4bNpzjv80K41wd4k798Etq+UYD0y0TIfalLjZoKgjive6/adkRnszwapiDgBQ==", + "requires": { + "cross-fetch": "^3.1.5", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.30" + }, + "dependencies": { + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + } + } + }, "glob-parent": { "version": "6.0.2", "dev": true, @@ -31152,6 +31329,20 @@ "warn-once": "^0.1.0" } }, + "react-native-web": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.17.1.tgz", + "integrity": "sha512-lUnn+2O8ynQ6/gJKylSxm7DLi2vHw6AujdDV1+LSa8Epe1bYFJNUcJTEhJf0jNYUFGOujzMtuG8Mkz3HdWTkag==", + "requires": { + "array-find-index": "^1.0.2", + "create-react-class": "^15.7.0", + "fbjs": "^3.0.0", + "hyphenate-style-name": "^1.0.4", + "inline-style-prefixer": "^6.0.0", + "normalize-css-color": "^1.0.2", + "prop-types": "^15.6.0" + } + }, "react-refresh": { "version": "0.4.3" }, @@ -31176,11 +31367,13 @@ "requires": { "@types/node": "17.0.8", "@types/react": "17.0.38", + "babel-plugin-react-native-web": "^0.17.7", "eslint": "^8.6.0", "eslint-config-next": "12.0.8", "eslint-config-react-app": "^7.0.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-react": "^7.28.0", + "md5": "^2.3.0", "next": "12.0.9", "prettier": "^2.5.1", "react": "17.0.2", @@ -31365,18 +31558,6 @@ } } }, - "fbjs": { - "version": "3.0.4", - "requires": { - "cross-fetch": "^3.1.5", - "fbjs-css-vars": "^1.0.0", - "loose-envify": "^1.0.0", - "object-assign": "^4.1.0", - "promise": "^7.1.1", - "setimmediate": "^1.0.5", - "ua-parser-js": "^0.7.30" - } - }, "glob-parent": { "version": "6.0.2", "dev": true, @@ -31391,24 +31572,6 @@ "argparse": "^2.0.1" } }, - "promise": { - "version": "7.3.1", - "requires": { - "asap": "~2.0.3" - } - }, - "react-native-web": { - "version": "0.17.5", - "requires": { - "array-find-index": "^1.0.2", - "create-react-class": "^15.7.0", - "fbjs": "^3.0.0", - "hyphenate-style-name": "^1.0.4", - "inline-style-prefixer": "^6.0.0", - "normalize-css-color": "^1.0.2", - "prop-types": "^15.6.0" - } - }, "typescript": { "version": "4.5.4", "dev": true @@ -34897,6 +35060,12 @@ "@popperjs/core": { "version": "2.11.2" }, + "@react-native-community/checkbox": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@react-native-community/checkbox/-/checkbox-0.5.11.tgz", + "integrity": "sha512-VkZ6w+q3rIWUPTNw2yRlr/4Kz0EStVNXABs3ht9xKrDwt8jaglavo61JzAnjPEurCwV34nCfjIXNthMfAptnEQ==", + "requires": {} + }, "@react-native-community/cli": { "version": "5.0.1", "requires": { @@ -35721,6 +35890,12 @@ "@types/node": "*" } }, + "@types/md5": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.2.tgz", + "integrity": "sha512-v+JFDu96+UYJ3/UWzB0mEglIS//MZXgRaJ4ubUPwOM0gvLc/kcQ3TWNYwENEK7/EcXGQVrW8h/XqednSjBd/Og==", + "dev": true + }, "@types/mime": { "version": "1.3.2" }, @@ -35799,7 +35974,6 @@ "version": "6.4.10", "resolved": "https://registry.npmjs.org/@types/react-native-vector-icons/-/react-native-vector-icons-6.4.10.tgz", "integrity": "sha512-z4sexbuZ7nmYsp7Z9YB5fSQoN3KFn6nZA3QsCkQLOYnVmVlxX4U22v/bM9Xx/6dOA1vClxoRZo2CFDX16uryXQ==", - "dev": true, "requires": { "@types/react": "*", "@types/react-native": "*" @@ -35854,6 +36028,12 @@ "source-map": "^0.6.1" } }, + "@types/uuid": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-8.3.4.tgz", + "integrity": "sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw==", + "dev": true + }, "@types/webpack": { "version": "4.41.32", "requires": { @@ -35878,6 +36058,15 @@ } } }, + "@types/ws": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.1.tgz", + "integrity": "sha512-UxlLOfkuQnT2YSBCNq0x86SGOUxas6gAySFeDe2DcnEnA8655UIPoCDorWZCugcvKIL8IUI4oueUfJ1hhZSE2A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, "@types/yargs": { "version": "15.0.14", "requires": { @@ -36551,6 +36740,8 @@ }, "axios": { "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", "requires": { "follow-redirects": "^1.14.7" } @@ -36731,7 +36922,9 @@ } }, "babel-plugin-react-native-web": { - "version": "0.17.5" + "version": "0.17.7", + "resolved": "https://registry.npmjs.org/babel-plugin-react-native-web/-/babel-plugin-react-native-web-0.17.7.tgz", + "integrity": "sha512-UBLfIsfU3vi//Ab4i0WSWAfm1whLTK9uJoH0RPZ6a67eS/h9JGYjKy7+1RpHxSBviHi9NIMiYfWseTLjyIsE1g==" }, "babel-plugin-syntax-trailing-function-commas": { "version": "7.0.0-beta.0" @@ -38441,7 +38634,9 @@ } }, "devtools-protocol": { - "version": "0.0.948846" + "version": "0.0.960912", + "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.960912.tgz", + "integrity": "sha512-I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==" }, "dicer": { "version": "0.2.5", @@ -40067,7 +40262,9 @@ "version": "1.2.0" }, "expo-web-browser": { - "version": "10.1.0", + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/expo-web-browser/-/expo-web-browser-10.1.1.tgz", + "integrity": "sha512-SRG7TzqLgsDjL9PzLppdUdBi49r2xos2aLD63+zB6ZAvNQTszmCfddkPMQH8vSq7m2fg7YReotVdWwcZtR/YZA==", "requires": { "compare-urls": "^2.0.0" } @@ -40525,7 +40722,9 @@ } }, "follow-redirects": { - "version": "1.14.7" + "version": "1.14.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz", + "integrity": "sha512-MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==" }, "fontfaceobserver": { "version": "2.1.0" @@ -40671,8 +40870,9 @@ } }, "form-data": { - "version": "3.0.1", - "dev": true, + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "requires": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -42802,6 +43002,17 @@ "version": "8.7.0", "dev": true }, + "form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, "ws": { "version": "7.5.6", "dev": true, @@ -43249,6 +43460,8 @@ }, "md5": { "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", "requires": { "charenc": "0.0.2", "crypt": "0.0.2", @@ -44598,6 +44811,11 @@ } } }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" + }, "opn": { "version": "5.5.0", "requires": { @@ -46187,49 +46405,28 @@ "version": "2.1.1" }, "puppeteer": { - "version": "13.1.3", + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-13.4.0.tgz", + "integrity": "sha512-WrHtFF2WpYC6KWFP4OCPOHWCjW4f8tFk+FkYZeNQ8/lHn+asjXBEXiIWauune8CY2xIHBVExGas+WI6Ay8/MgQ==", "requires": { - "debug": "4.3.2", - "devtools-protocol": "0.0.948846", + "cross-fetch": "3.1.5", + "debug": "4.3.3", + "devtools-protocol": "0.0.960912", "extract-zip": "2.0.1", "https-proxy-agent": "5.0.0", - "node-fetch": "2.6.7", "pkg-dir": "4.2.0", "progress": "2.0.3", "proxy-from-env": "1.1.0", "rimraf": "3.0.2", "tar-fs": "2.1.1", "unbzip2-stream": "1.4.3", - "ws": "8.2.3" + "ws": "8.5.0" }, "dependencies": { - "debug": { - "version": "4.3.2", - "requires": { - "ms": "2.1.2" - } - }, - "node-fetch": { - "version": "2.6.7", - "requires": { - "whatwg-url": "^5.0.0" - } - }, - "tr46": { - "version": "0.0.3" - }, - "webidl-conversions": { - "version": "3.0.1" - }, - "whatwg-url": { - "version": "5.0.0", - "requires": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "ws": { - "version": "8.2.3", + "version": "8.5.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz", + "integrity": "sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==", "requires": {} } } @@ -46941,10 +47138,51 @@ "nullthrows": "^1.1.1" } }, + "react-native-elements": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/react-native-elements/-/react-native-elements-3.4.2.tgz", + "integrity": "sha512-m0eAWOn7JuR1wNTNY0WHuaqst4LI/gFE4N5Bbyfsc4DiryWsMST7aAg5w/Gos4IexWIzhLKCIkPxthND1m/8Xg==", + "requires": { + "@types/react-native-vector-icons": "^6.4.6", + "color": "^3.1.2", + "deepmerge": "^4.2.2", + "hoist-non-react-statics": "^3.3.2", + "lodash.isequal": "^4.5.0", + "opencollective-postinstall": "^2.0.3", + "react-native-ratings": "8.0.4", + "react-native-size-matters": "^0.3.1" + }, + "dependencies": { + "deepmerge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", + "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + } + } + }, + "react-native-ratings": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/react-native-ratings/-/react-native-ratings-8.0.4.tgz", + "integrity": "sha512-Xczu5lskIIRD6BEdz9A0jDRpEck/SFxRqiglkXi0u67yAtI1/pcJC76P4MukCbT8K4BPVl+42w83YqXBoBRl7A==", + "requires": { + "lodash": "^4.17.15" + } + }, "react-native-safe-area-context": { "version": "3.3.2", "requires": {} }, + "react-native-size-matters": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/react-native-size-matters/-/react-native-size-matters-0.3.1.tgz", + "integrity": "sha512-mKOfBLIBFBcs9br1rlZDvxD5+mAl8Gfr5CounwJtxI6Z82rGrMO+Kgl9EIg3RMVf3G855a85YVqHJL2f5EDRlw==", + "requires": {} + }, + "react-native-sync-localstorage": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/react-native-sync-localstorage/-/react-native-sync-localstorage-0.0.3.tgz", + "integrity": "sha512-xp9/JahQj9RYL+Bv2FBJXpqH0DGvIjVYD+GNBVjNwavHKvk0mB8FtzWYdZW5leQ9mvHEU5qaefyB+bdJeLVJcw==" + }, "react-native-vector-icons": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/react-native-vector-icons/-/react-native-vector-icons-9.1.0.tgz", @@ -47001,7 +47239,9 @@ } }, "react-native-web": { - "version": "0.17.1", + "version": "0.17.7", + "resolved": "https://registry.npmjs.org/react-native-web/-/react-native-web-0.17.7.tgz", + "integrity": "sha512-4OOU/QjyRySOXyHfTvljEMS4VXKn42Qs3y9uHDPMwaCUFjwg0oasR/j706OaVgan9kF4Ipa2vJ3F6Z/Xqy8KeQ==", "requires": { "array-find-index": "^1.0.2", "create-react-class": "^15.7.0",