From d75cd8c0740dfd668a026a9539ceaafb5cedd38b Mon Sep 17 00:00:00 2001 From: Dwayne Harris Date: Sun, 22 Sep 2019 19:51:27 -0400 Subject: [PATCH] WIP --- package-lock.json | 167 +++++++++++++++++++++----------------- package.json | 20 ++--- src/plugins/api/groups.ts | 4 +- src/schemas.ts | 1 + src/types/collections.ts | 1 + 5 files changed, 108 insertions(+), 85 deletions(-) diff --git a/package-lock.json b/package-lock.json index e8057d2..9d61df0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,14 +5,16 @@ "requires": true, "dependencies": { "@azure/cosmos": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@azure/cosmos/-/cosmos-3.1.0.tgz", - "integrity": "sha512-aS3cZtpgfTApb785SRLoVaZ6F/aiZCaKdcA+/dwSz3mcdbPTpkhs2TCdMcNwgkcjqPlaAVhMK4cUQn8QoHOeqw==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@azure/cosmos/-/cosmos-3.2.0.tgz", + "integrity": "sha512-ULgHquAr6LuMs8nQR+6ra9Hv3Psm6Ckku1XN3+9IqG+VsUZ7wgFfBLMnDGJMfm2MA50yRmajFmjuu2EeqRNWCQ==", "requires": { "@azure/cosmos-sign": "1.0.2", + "@types/debug": "^4.1.4", "atob": "2.1.2", "binary-search-bounds": "2.0.3", "crypto-hash": "1.1.0", + "debug": "^4.1.1", "fast-json-stable-stringify": "2.0.0", "node-abort-controller": "1.0.3", "node-fetch": "2.6.0", @@ -21,6 +23,13 @@ "tslib": "^1.9.3", "universal-user-agent": "2.1.0", "uuid": "3.3.2" + }, + "dependencies": { + "uuid": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", + "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + } } }, "@azure/cosmos-sign": { @@ -72,6 +81,11 @@ "safe-buffer": "^5.1.2" } }, + "@types/debug": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.5.tgz", + "integrity": "sha512-Q1y515GcOdTHgagaVFhHnIFQ38ygs/kmxdNpvpou+raI9UO3YZcHDngBSYKQklcKlvA7iuQlmIKbzvmxcOE9CQ==" + }, "@types/dotenv": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/@types/dotenv/-/dotenv-6.1.1.tgz", @@ -82,18 +96,18 @@ } }, "@types/jsonwebtoken": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.3.2.tgz", - "integrity": "sha512-Mkjljd9DTpkPlrmGfTJvcP4aBU7yO2QmW7wNVhV4/6AEUxYoacqU7FJU/N0yFEHTsIrE4da3rUrjrR5ejicFmA==", + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.3.4.tgz", + "integrity": "sha512-R0eiYPpbo6Jl/XtGwpg7vQlapd7D38gp0g9WMKOSFr/e2NUTN9Udd3ty7n+2yUpmHr2Fti+/BSc+KSQ8zPN+vg==", "dev": true, "requires": { "@types/node": "*" } }, "@types/lodash": { - "version": "4.14.137", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.137.tgz", - "integrity": "sha512-g4rNK5SRKloO+sUGbuO7aPtwbwzMgjK+bm9BBhLD7jGUiGR7zhwYEhSln/ihgYQBeIJ5j7xjyaYzrWTcu3UotQ==", + "version": "4.14.138", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.138.tgz", + "integrity": "sha512-A4uJgHz4hakwNBdHNPdxOTkYmXNgmUAKLbXZ7PKGslgeV0Mb8P3BlbYfPovExek1qnod4pDfRbxuzcVs3dlFLg==", "dev": true }, "@types/node": { @@ -207,12 +221,12 @@ "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" }, "argon2": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.24.0.tgz", - "integrity": "sha512-796movQU1LIW4egM+FH2mrgaTBtIhjEvuTx3sfw0W+Ijbk29IvKOh/i1IDAKCS9s6Y+2GdlPVU5q/gQZ3lyp5w==", + "version": "0.24.1", + "resolved": "https://registry.npmjs.org/argon2/-/argon2-0.24.1.tgz", + "integrity": "sha512-2S677iO18I+SQEUONkpvyagF9BJDYdiT82KqSMPQ2zP0oIYagVIPM0Y8T5pJ/4F4CrnN9PTCGA+ye1S0KupW3g==", "requires": { "@phc/format": "^0.5.0", - "node-addon-api": "^1.6.3", + "node-addon-api": "^1.7.1", "node-gyp-build": "^4.1.0" } }, @@ -226,6 +240,14 @@ "chalk": "2.4.2", "leven": "2.1.0", "mri": "1.1.4" + }, + "dependencies": { + "camelcase": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", + "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "dev": true + } } }, "arr-diff": { @@ -377,14 +399,6 @@ "string-width": "^2.0.0", "term-size": "^1.2.0", "widest-line": "^2.0.0" - }, - "dependencies": { - "camelcase": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", - "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", - "dev": true - } } }, "brace-expansion": { @@ -449,9 +463,9 @@ } }, "camelcase": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.0.0.tgz", - "integrity": "sha512-faqwZqnWxbxn+F1d399ygeamQNy3lPp/H9H6rNrqYh4FSVCtcY+3cub1MxA8o9mDd55mM8Aghuu/kuyYA6VTsA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", "dev": true }, "camelize": { @@ -477,9 +491,9 @@ } }, "chokidar": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.6.tgz", - "integrity": "sha512-V2jUo67OKkc6ySiRpJrjlpJKl9kDuG+Xb8VgsGzb+aEouhgS1D0weyPU4lEzdAcsCAvrih2J2BqyXqHWvVLw5g==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", "dev": true, "requires": { "anymatch": "^2.0.0", @@ -803,9 +817,9 @@ } }, "dotenv": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.0.0.tgz", - "integrity": "sha512-30xVGqjLjiUOArT4+M5q9sYdvuR4riM6yK9wMcas9Vbp6zZa+ocC9dp6QoftuhTPhFAiLK/0C5Ni2nou/Bk8lg==" + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.1.0.tgz", + "integrity": "sha512-GUE3gqcDCaMltj2++g6bRQ5rBJWtkWTmqmD0fo1RnnMuUqHNCt2oTPeDnS9n6fKYvlhn7AeBkb38lymBtWBQdA==" }, "duplexer3": { "version": "0.1.4", @@ -1088,19 +1102,19 @@ "integrity": "sha512-q8BZ89jjc+mz08rSxROs8VsrBBcn1SIw1kq9NjolL509tkABRk9io01RAjSaEv1Xb2uFLt8VtRiZbGp5H8iDtg==" }, "fastify": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-2.7.1.tgz", - "integrity": "sha512-ScKPXD84lkdCgz7q0zjyBr1aLxKbXRt9HYL3XIt/L8ZD2f3fAcsLEyQ2/rHxLUzLGjPlEjIvprWUL3RZvlLRLw==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-2.8.0.tgz", + "integrity": "sha512-+HXe9xZzbj79680hlehEs0B1Z3e5RQT6CtPthseqgRJy2i7Wlro8EEdM7u7ewwL9XREjLWssCPlJiZ3G+t4qsw==", "requires": { "abstract-logging": "^1.0.0", "ajv": "^6.10.2", - "avvio": "^6.1.1", - "fast-json-stringify": "^1.15.0", + "avvio": "^6.2.2", + "fast-json-stringify": "^1.15.4", "find-my-way": "^2.0.0", "flatstr": "^1.0.12", "light-my-request": "^3.4.1", "middie": "^4.0.1", - "pino": "^5.13.1", + "pino": "^5.13.2", "proxy-addr": "^2.0.4", "readable-stream": "^3.1.1", "rfdc": "^1.1.2", @@ -1196,9 +1210,9 @@ } }, "find-my-way": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-2.1.0.tgz", - "integrity": "sha512-Hdx6ctcrzkZH5y9EREHtXryXAgc5Bc8z5Cvoa61y9kaoYj2KU4yXD6h8b6u0NUkYPVmQQeRdf0AtG1kQxQ+ukQ==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-2.1.1.tgz", + "integrity": "sha512-yznKDx1xELFkTrV2Ke9x3IOr9zn5isdFA2Af/NKjU8kmQQhtn3TmqrVZ6OiLO5pj1dAScxe4dAo92ieG4nGcoA==", "requires": { "fast-decode-uri-component": "^1.0.0", "safe-regex2": "^2.0.0", @@ -2210,9 +2224,9 @@ } }, "is-retry-allowed": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz", - "integrity": "sha1-EaBgVotnM5REAz0BJaYaINVk+zQ=", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz", + "integrity": "sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==", "dev": true }, "is-stream": { @@ -2603,14 +2617,14 @@ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==" }, "node-gyp-build": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.0.tgz", - "integrity": "sha512-rGLv++nK20BG8gc0MzzcYe1Nl3p3mtwJ74Q2QD0HTEDKZ6NvOFSelY6s2QBPWIHRR8h7hpad0LiwajfClBJfNg==" + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.1.1.tgz", + "integrity": "sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ==" }, "nodemon": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.1.tgz", - "integrity": "sha512-/DXLzd/GhiaDXXbGId5BzxP1GlsqtMGM9zTmkWrgXtSqjKmGSbLicM/oAy4FR0YWm14jCHRwnR31AHS2dYFHrg==", + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-1.19.2.tgz", + "integrity": "sha512-hRLYaw5Ihyw9zK7NF+9EUzVyS6Cvgc14yh8CAYr38tPxJa6UrOxwAQ351GwrgoanHCF0FalQFn6w5eoX/LGdJw==", "dev": true, "requires": { "chokidar": "^2.1.5", @@ -2836,9 +2850,9 @@ "dev": true }, "path-to-regexp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.0.0.tgz", - "integrity": "sha512-ZOtfhPttCrqp2M1PBBH4X13XlvnfhIwD7yCLx+GoGoXRPQyxGOTdQMpIzPSPKXAJT/JQrdfFrgdJOyAzvgpQ9A==" + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.1.0.tgz", + "integrity": "sha512-PtHLisEvUOepjc+sStXxJ/pDV/s5UBTOKWJY2SOz3e6E/iN/jLknY9WL72kTwRrwXDUbZTEAtSnJbz2fF127DA==" }, "path-type": { "version": "3.0.0", @@ -2862,22 +2876,29 @@ "dev": true }, "pino": { - "version": "5.13.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-5.13.1.tgz", - "integrity": "sha512-IxusG28L0g50uuf21kZELypdFOeNrJ/kRhktdi7LtdZQWCxLliMxG5iOrGUQ/ng7MiJ4XqXi/hfyXwZeKc1MxA==", + "version": "5.13.3", + "resolved": "https://registry.npmjs.org/pino/-/pino-5.13.3.tgz", + "integrity": "sha512-FL12DKlPwBlbhztlUz6kseR03PRR8nD+wvLdN/Sji9UiBYYfSjX+k8ocU7/NwW55JdFRONTn3iACoelXnMFVVQ==", "requires": { "fast-redact": "^1.4.4", - "fast-safe-stringify": "^2.0.6", + "fast-safe-stringify": "^2.0.7", "flatstr": "^1.0.9", "pino-std-serializers": "^2.3.0", "quick-format-unescaped": "^3.0.2", "sonic-boom": "^0.7.5" + }, + "dependencies": { + "fast-safe-stringify": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.0.7.tgz", + "integrity": "sha512-Utm6CdzT+6xsDk2m8S6uL8VHxNwI6Jub+e9NYTcAms28T84pTa25GJQV9j0CY0N1rM8hK4x6grpF2BQf+2qwVA==" + } } }, "pino-pretty": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-3.2.0.tgz", - "integrity": "sha512-0gdTD1CywMwskBA1ciSz4tu4ZvcPxbIBUCfE+lUlFlhl9Dsa2SHf2v7EYUYGtNtlHH9XRduT6WC76NzKpIwv3g==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-3.2.1.tgz", + "integrity": "sha512-PGdcRYw7HCF7ovMhrnepOUmEVh5+tATydRrBICEbP37oRasXV+lo2HA9gg8b7cE7LG6G1OZGVXTZ7MLd946k1Q==", "dev": true, "requires": { "@hapi/bourne": "^1.3.2", @@ -3362,9 +3383,9 @@ } }, "sonic-boom": { - "version": "0.7.5", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.5.tgz", - "integrity": "sha512-1pKrnAV6RfvntPnarY71tpthFTM3pWZWWQdghZY8ARjtDPGzG/inxqSuRwQY/7V1woUjfyxPb437zn4p5phgnQ==", + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-0.7.6.tgz", + "integrity": "sha512-k9E2QQ4zxuVRLDW+ZW6ISzJs3wlEorVdmM7ApDgor7wsGKSDG5YGHsGmgLY4XYh4DMlr/2ap2BWAE7yTFJtWnQ==", "requires": { "flatstr": "^1.0.12" } @@ -3589,9 +3610,9 @@ "dev": true }, "tiny-lru": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-6.0.1.tgz", - "integrity": "sha512-k/vdHz+bFALjmik0URLWBYNuO0hCABTL5dullbZBXvFDdlL8RrKaeLR6YuHfX+6ZXOLkHw+HpNLCUA7DtLMQmg==" + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-6.1.0.tgz", + "integrity": "sha512-lbz53M11ioFDKxPUBR2UVK7a8JolPZpSkzL0iXW60fpvU98P9+VqWQ7bGGJpGjqnIlILQzl9r+fikhqbcOs7bg==" }, "to-object-path": { "version": "0.3.0", @@ -3670,9 +3691,9 @@ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==" }, "typescript": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz", - "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==", + "version": "3.6.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.3.tgz", + "integrity": "sha512-N7bceJL1CtRQ2RiG0AQME13ksR7DiuQh/QehubYcghzv20tnh+MQnQIuJddTmsbqYj+dztchykemz0zFzlvdQw==", "dev": true }, "undefsafe": { @@ -3777,9 +3798,9 @@ "dev": true }, "upath": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.1.2.tgz", - "integrity": "sha512-kXpym8nmDmlCBr7nKdIx8P2jNBa+pBpIUFRnKJ4dr8htyYGJFokkr2ZvERRtUN+9SY+JqXouNgUPtv6JQva/2Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", "dev": true }, "update-notifier": { @@ -3844,9 +3865,9 @@ } }, "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.3.tgz", + "integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==" }, "validate-npm-package-license": { "version": "3.0.4", diff --git a/package.json b/package.json index dde20ad..b19bcf5 100644 --- a/package.json +++ b/package.json @@ -12,26 +12,26 @@ }, "devDependencies": { "@types/dotenv": "^6.1.1", - "@types/jsonwebtoken": "^8.3.2", - "@types/lodash": "^4.14.137", + "@types/jsonwebtoken": "^8.3.4", + "@types/lodash": "^4.14.138", "@types/uuid": "^3.4.5", - "nodemon": "^1.19.1", + "nodemon": "^1.19.2", "npm-run-all": "^4.1.5", - "pino-pretty": "^3.2.0", - "typescript": "^3.5.3" + "pino-pretty": "^3.2.1", + "typescript": "^3.6.3" }, "dependencies": { - "@azure/cosmos": "^3.1.0", + "@azure/cosmos": "^3.2.0", "@azure/storage-blob": "^10.5.0", - "argon2": "^0.24.0", - "dotenv": "^8.0.0", - "fastify": "^2.7.1", + "argon2": "^0.24.1", + "dotenv": "^8.1.0", + "fastify": "^2.8.0", "fastify-cors": "^2.1.3", "fastify-helmet": "^3.0.1", "jsonwebtoken": "^8.5.1", "lodash": "^4.17.15", "moment": "^2.24.0", - "uuid": "^3.3.2", + "uuid": "^3.3.3", "winston": "^3.2.1" } } diff --git a/src/plugins/api/groups.ts b/src/plugins/api/groups.ts index ceebc23..98f4300 100644 --- a/src/plugins/api/groups.ts +++ b/src/plugins/api/groups.ts @@ -373,7 +373,7 @@ function activateRoute(server: FastifyInstance( - `SELECT * FROM GroupDirectory d WHERE d.pk = 'pk' AND d.active = true ${registrationString} ORDER BY d.${sort}`, + `SELECT * FROM GroupDirectory d WHERE d.pk = 'pk' ${registrationString} ORDER BY d.${sort}`, { maxItemCount: 40, continuation, diff --git a/src/schemas.ts b/src/schemas.ts index 6bb0b51..9b09f47 100644 --- a/src/schemas.ts +++ b/src/schemas.ts @@ -59,6 +59,7 @@ export const groupListingSchema: JSONSchema = { properties: { id: { type: 'string' }, name: { type: 'string' }, + about: { type: 'string' }, imageUrl: { type: 'string' }, coverImageUrl: { type: 'string' }, requiresApproval: { type: 'boolean' }, diff --git a/src/types/collections.ts b/src/types/collections.ts index 0d21f4a..52db955 100644 --- a/src/types/collections.ts +++ b/src/types/collections.ts @@ -27,6 +27,7 @@ export interface GroupListing { id: string pk: 'pk' name: string + about?: string registration: GroupRegistrationType members: number posts: number