Dwayne Harris 5 years ago
parent
commit
d75cd8c074
  1. 167
      package-lock.json
  2. 20
      package.json
  3. 4
      src/plugins/api/groups.ts
  4. 1
      src/schemas.ts
  5. 1
      src/types/collections.ts

167
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",

20
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"
}
}

4
src/plugins/api/groups.ts

@ -373,7 +373,7 @@ function activateRoute(server: FastifyInstance<Server, IncomingMessage, ServerRe
name: group.name,
pk: 'pk',
registration: group.registration,
members: 0,
members: 1,
posts: 0,
awards: 0,
points: 0,
@ -436,7 +436,7 @@ function listRoute(server: FastifyInstance<Server, IncomingMessage, ServerRespon
const container = containerFor(server.database.client, 'GroupDirectory')
const { resources: groups, requestCharge, continuation: newContinuation } = await container.items.query<GroupListing>(
`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,

1
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' },

1
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

Loading…
Cancel
Save