Skip to content

Commit 9621baf

Browse files
sadakchapdplewissnyk-botdependabot[bot]davimacedo
authored
Merge latest OS changes (#430)
* Github Action (parse-community#1640) * [Snyk] Upgrade parse from 2.17.0 to 2.18.0 (parse-community#1629) * fix: upgrade parse from 2.17.0 to 2.18.0 Snyk has created this PR to upgrade parse from 2.17.0 to 2.18.0. See this package in npm: https://www.npmjs.com/package/parse See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * bump parse to 2.19.0 Co-authored-by: Diamond Lewis <[email protected]> * fix: upgrade commander from 6.2.0 to 6.2.1 (parse-community#1636) Snyk has created this PR to upgrade commander from 6.2.0 to 6.2.1. See this package in npm: https://www.npmjs.com/package/commander See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: Diamond Lewis <[email protected]> * fix: upgrade semver from 7.3.2 to 7.3.4 (parse-community#1634) Snyk has created this PR to upgrade semver from 7.3.2 to 7.3.4. See this package in npm: https://www.npmjs.com/package/semver See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: Diamond Lewis <[email protected]> * chore(deps): bump ini from 1.3.5 to 1.3.8 (parse-community#1641) Bumps [ini](https://github.com/isaacs/ini) from 1.3.5 to 1.3.8. - [Release notes](https://github.com/isaacs/ini/releases) - [Commits](npm/ini@v1.3.5...v1.3.8) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: upgrade react-ace from 8.0.0 to 9.2.1 (parse-community#1642) Snyk has created this PR to upgrade react-ace from 8.0.0 to 9.2.1. See this package in npm: https://www.npmjs.com/package/react-ace See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade query-string from 6.13.7 to 6.13.8 (parse-community#1647) Snyk has created this PR to upgrade query-string from 6.13.7 to 6.13.8. See this package in npm: https://www.npmjs.com/package/query-string See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade prismjs from 1.22.0 to 1.23.0 (parse-community#1646) Snyk has created this PR to upgrade prismjs from 1.22.0 to 1.23.0. See this package in npm: https://www.npmjs.com/package/prismjs See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.19.1 to 1.20.0 (parse-community#1651) Snyk has created this PR to upgrade react-json-view from 1.19.1 to 1.20.0. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.20.0 to 1.20.2 (parse-community#1652) Snyk has created this PR to upgrade react-json-view from 1.20.0 to 1.20.2. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.20.2 to 1.20.4 (parse-community#1655) Snyk has created this PR to upgrade react-json-view from 1.20.2 to 1.20.4. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-ace from 9.2.1 to 9.3.0 (parse-community#1659) Snyk has created this PR to upgrade react-ace from 9.2.1 to 9.3.0. See this package in npm: https://www.npmjs.com/package/react-ace See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.20.4 to 1.20.5 (parse-community#1660) Snyk has created this PR to upgrade react-json-view from 1.20.4 to 1.20.5. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade @babel/runtime from 7.12.5 to 7.12.13 (parse-community#1661) Snyk has created this PR to upgrade @babel/runtime from 7.12.5 to 7.12.13. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.20.5 to 1.21.0 (parse-community#1662) Snyk has created this PR to upgrade react-json-view from 1.20.5 to 1.21.0. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade react-json-view from 1.21.0 to 1.21.1 (parse-community#1663) Snyk has created this PR to upgrade react-json-view from 1.21.0 to 1.21.1. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade query-string from 6.13.8 to 6.14.0 (parse-community#1664) Snyk has created this PR to upgrade query-string from 6.13.8 to 6.14.0. See this package in npm: https://www.npmjs.com/package/query-string See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * chore(deps): bump elliptic from 6.5.3 to 6.5.4 (parse-community#1666) Bumps [elliptic](https://github.com/indutny/elliptic) from 6.5.3 to 6.5.4. - [Release notes](https://github.com/indutny/elliptic/releases) - [Commits](indutny/elliptic@v6.5.3...v6.5.4) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: upgrade @babel/runtime from 7.12.13 to 7.12.18 (parse-community#1667) Snyk has created this PR to upgrade @babel/runtime from 7.12.13 to 7.12.18. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade @babel/runtime from 7.12.18 to 7.13.6 (parse-community#1669) Snyk has created this PR to upgrade @babel/runtime from 7.12.18 to 7.13.6. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade @babel/runtime from 7.13.6 to 7.13.7 (parse-community#1670) Snyk has created this PR to upgrade @babel/runtime from 7.13.6 to 7.13.7. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade query-string from 6.14.0 to 6.14.1 (parse-community#1672) Snyk has created this PR to upgrade query-string from 6.14.0 to 6.14.1. See this package in npm: https://www.npmjs.com/package/query-string See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade @babel/runtime from 7.13.7 to 7.13.8 (parse-community#1673) Snyk has created this PR to upgrade @babel/runtime from 7.13.7 to 7.13.8. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade @babel/runtime from 7.13.8 to 7.13.9 (parse-community#1674) Snyk has created this PR to upgrade @babel/runtime from 7.13.8 to 7.13.9. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade @babel/runtime from 7.13.9 to 7.13.10 (parse-community#1676) Snyk has created this PR to upgrade @babel/runtime from 7.13.9 to 7.13.10. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade react-json-view from 1.21.1 to 1.21.3 (parse-community#1675) Snyk has created this PR to upgrade react-json-view from 1.21.1 to 1.21.3. See this package in npm: https://www.npmjs.com/package/react-json-view See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * Fix date filters (parse-community#1682) * Date pickups not working on filters * catching onClick event,stop propagating to parent * fix: upgrade react-ace from 9.3.0 to 9.4.0 (parse-community#1683) Snyk has created this PR to upgrade react-ace from 9.3.0 to 9.4.0. See this package in npm: https://www.npmjs.com/package/react-ace See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * chore(deps): bump ssri from 6.0.1 to 6.0.2 (parse-community#1684) Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2. - [Release notes](https://github.com/npm/ssri/releases) - [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md) - [Commits](npm/ssri@v6.0.1...v6.0.2) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * made expiresAt field readOnly (parse-community#1686) * showing error message on failed clone row task (parse-community#1687) * showing a message when no locale is setup (parse-community#1685) * Added tooltip for readonly fields (parse-community#1688) * added a tooltip for readonly fields * added updated package-lock.json * fix: upgrade js-beautify from 1.11.0 to 1.13.1 (parse-community#1649) Snyk has created this PR to upgrade js-beautify from 1.11.0 to 1.13.1. See this package in npm: https://www.npmjs.com/package/js-beautify See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: snyk-bot <[email protected]> * fix: upgrade js-beautify from 1.13.1 to 1.13.5 (parse-community#1689) Snyk has created this PR to upgrade js-beautify from 1.13.1 to 1.13.5. See this package in npm: https://www.npmjs.com/package/js-beautify See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * hiding setup locales msg (parse-community#1691) * exculde hidden culomns (parse-community#1694) * exculde hidden culomns * get columns from function instead of localStorage directly * excludeFields function * add ; * fix: upgrade js-beautify from 1.13.5 to 1.13.11 (parse-community#1696) Snyk has created this PR to upgrade js-beautify from 1.13.5 to 1.13.11. See this package in npm: https://www.npmjs.com/package/js-beautify See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * showing "(auto)" for readonly fields while adding new row (parse-community#1692) * chore(deps): bump lodash from 4.17.20 to 4.17.21 (parse-community#1699) Bumps [lodash](https://github.com/lodash/lodash) from 4.17.20 to 4.17.21. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](lodash/lodash@4.17.20...4.17.21) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump ua-parser-js from 0.7.22 to 0.7.28 (parse-community#1698) Bumps [ua-parser-js](https://github.com/faisalman/ua-parser-js) from 0.7.22 to 0.7.28. - [Release notes](https://github.com/faisalman/ua-parser-js/releases) - [Commits](faisalman/ua-parser-js@0.7.22...0.7.28) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: upgrade js-beautify from 1.13.11 to 1.13.13 (parse-community#1701) Snyk has created this PR to upgrade js-beautify from 1.13.11 to 1.13.13. See this package in npm: https://www.npmjs.com/package/js-beautify See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * chore(deps): bump hosted-git-info from 2.8.8 to 2.8.9 (parse-community#1702) Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9. - [Release notes](https://github.com/npm/hosted-git-info/releases) - [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md) - [Commits](npm/hosted-git-info@v2.8.8...v2.8.9) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Added ESC key binding (parse-community#1695) * added ESC key binding for new row * added more conditions for cancellling editing rows * updated cancelling editing condition * updating counter in sidebar on success clone rows (parse-community#1703) * updated fetch next query for pagination (parse-community#1706) * fix: upgrade @babel/runtime from 7.13.10 to 7.13.16 (parse-community#1704) Snyk has created this PR to upgrade @babel/runtime from 7.13.10 to 7.13.16. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * chore(deps): bump codemirror from 5.58.1 to 5.61.0 (parse-community#1705) Bumps [codemirror](https://github.com/codemirror/CodeMirror) from 5.58.1 to 5.61.0. - [Release notes](https://github.com/codemirror/CodeMirror/releases) - [Changelog](https://github.com/codemirror/CodeMirror/blob/master/CHANGELOG.md) - [Commits](codemirror/codemirror5@5.58.1...5.61.0) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: upgrade @babel/runtime from 7.13.16 to 7.13.17 (parse-community#1707) Snyk has created this PR to upgrade @babel/runtime from 7.13.16 to 7.13.17. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * added cancel button for new row (parse-community#1690) * added cancel button for new row * removed extra line on add new row * added "add" button for new row * changed order of button for new row * fix: upgrade @babel/runtime from 7.13.17 to 7.14.0 (parse-community#1710) Snyk has created this PR to upgrade @babel/runtime from 7.13.17 to 7.14.0. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * feat(preventSort): allow preventSort from columnPreferences props (parse-community#1709) * feat(preventSort): allow preventSort from columnPreferences props * feat(preventSort): add doc section of prevent sorting * chore(deps): bump browserslist from 4.14.5 to 4.16.6 (parse-community#1713) Bumps [browserslist](https://github.com/browserslist/browserslist) from 4.14.5 to 4.16.6. - [Release notes](https://github.com/browserslist/browserslist/releases) - [Changelog](https://github.com/browserslist/browserslist/blob/main/CHANGELOG.md) - [Commits](browserslist/browserslist@4.14.5...4.16.6) Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: Allow other key binding while adding new row (parse-community#1714) * update on file change (parse-community#1717) * update on file change * showing a spinner while uploading file * Fix: Column name starting with numbers (parse-community#1718) * validating column name * showing error note on fail add column op * chore(deps): bump normalize-url from 4.5.0 to 4.5.1 (parse-community#1725) Bumps [normalize-url](https://github.com/sindresorhus/normalize-url) from 4.5.0 to 4.5.1. - [Release notes](https://github.com/sindresorhus/normalize-url/releases) - [Commits](https://github.com/sindresorhus/normalize-url/commits) --- updated-dependencies: - dependency-name: normalize-url dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * updated parse to 3.2.0 (parse-community#1733) * fix: upgrade react-popper-tooltip from 4.2.0 to 4.3.0 (parse-community#1736) Snyk has created this PR to upgrade react-popper-tooltip from 4.2.0 to 4.3.0. See this package in npm: https://www.npmjs.com/package/react-popper-tooltip See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade react-ace from 9.4.0 to 9.4.1 (parse-community#1738) Snyk has created this PR to upgrade react-ace from 9.4.0 to 9.4.1. See this package in npm: https://www.npmjs.com/package/react-ace See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * chore(deps): bump prismjs from 1.23.0 to 1.24.0 (parse-community#1739) Bumps [prismjs](https://github.com/PrismJS/prism) from 1.23.0 to 1.24.0. - [Release notes](https://github.com/PrismJS/prism/releases) - [Changelog](https://github.com/PrismJS/prism/blob/master/CHANGELOG.md) - [Commits](PrismJS/prism@v1.23.0...v1.24.0) --- updated-dependencies: - dependency-name: prismjs dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: upgrade @babel/runtime from 7.14.0 to 7.14.5 (parse-community#1740) Snyk has created this PR to upgrade @babel/runtime from 7.14.0 to 7.14.5. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade @babel/runtime from 7.14.5 to 7.14.6 (parse-community#1742) Snyk has created this PR to upgrade @babel/runtime from 7.14.5 to 7.14.6. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: upgrade js-beautify from 1.13.13 to 1.14.0 (parse-community#1743) Snyk has created this PR to upgrade js-beautify from 1.13.13 to 1.14.0. See this package in npm: https://www.npmjs.com/package/js-beautify See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * updated issue and PR templates (parse-community#1741) * updated issue and PR templates * added browser info * updated wording * Showing * for required Columns (parse-community#1720) * passing down required field info * showing * for required columns * marked required columns for standard classes * showing required for new row * mark required fields as red on save new row * showing hidden when no value set * dynamically changing required text * showing (hidden) for hidden field * added new var isNewRow * update required fields if all are undefined _User * update required Fields after new col add * update required field on required col add * fix: upgrade regenerator-runtime from 0.13.5 to 0.13.8 (parse-community#1748) Snyk has created this PR to upgrade regenerator-runtime from 0.13.5 to 0.13.8. See this package in npm: https://www.npmjs.com/package/regenerator-runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * fix: package.json & package-lock.json to reduce vulnerabilities (parse-community#1745) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-WS-1296835 * fix: upgrade prismjs from 1.24.0 to 1.24.1 (parse-community#1749) * removing PR test from issue template dashboard does not have tests (yet), so only PRs with fixes should be encouraged * fixed comment style in issue template * Add option to create a field after creating a class parse-community#1726 (parse-community#1728) * combined create class flow * config revert * reformating -- 1 * reset forms after submitting * Improve feed back for add column dialog * improve add column dialog -- 2 * reverting isDisabled * mergeconflicts resolve 2 * required column changes * required col in addAndContinue * removed index.html Co-authored-by: Faisal Nadeem <[email protected]> * Arrays of Pointers dont render correctly #275 (parse-community#1727) * pointer array * fix for array Co-authored-by: Faisal Nadeem <[email protected]> * Delete index.html * Browse as Parse.User (Continuation) (parse-community#1750) * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed quickfix for next PR * Removed quickfix for next PR * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: don't update Array, Object or Polygon field on EditRowDialog when no changes * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed quickfix for next PR * Removed quickfix for next PR * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: don't update Array, Object or Polygon field on EditRowDialog when no changes * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed quickfix for next PR * Removed quickfix for next PR * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Used object shorthand on useMasterKey * Clear user & pass from LoginDialog on handleClose * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: don't update Array, Object or Polygon field on EditRowDialog when no changes * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed quickfix for next PR * Removed quickfix for next PR * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * Test ACL with parse user login * Login dialog upgrades; Expand / Collapse TextArea fields on EditRowDialog; Fix for live reload data on EditRowDialog when data is updated on server * fix: don't update Array, Object or Polygon field on EditRowDialog when no changes * fix: eslint fixes * UX changes in main nav bar for browse as user; Toggle new type added - HIDE_LABELS; * fix: eslint fixes * Use master key state property on editRowDialog and ObjectPickerDialog; Enabled using useMasteKey property for save actions and other actions * Removed quickfix for next PR * Removed quickfix for next PR * Removed EditRowDialog fixes for next PR * Reposition Browse as User menu item * setCurrent to null on BrowserMenu open * fix rebase GeoPointEditor.react.js * fix rebase TextInput.react.js * Update Browser.react.js * Update EditRowDialog.react.js * Update EditRowDialog.react.js * Update EditRowDialog.react.js * Update ObjectPickerDialog.react.js * Update README.md * Update README.md * added missing dynamic useMasterKey Co-authored-by: Nino Crljenec <[email protected]> * Improve cell value copying of pointer cell (parse-community#1708) * showing tooltip on mouse enter & leave * added new arrow svg * showing arrow icon if cell has follow link value * Pill pointer, relation to follow link if selected * added bottom margin for Pill * following link even if cell is not selected on icon click * using existing arrow icon * removed arrow.svg file * remove arrow outline * removed Download & delete option from file Editor * update Pill to download image on icon click * update Browser cell file value * opening upload dialog on double click * File Editor on Edit Row dialog * pill design update * removing extra padding from pill * showing new pointer layout on Edit row dialog * making input fields light blue * added margin in new pill design * added undefined placeholder for edit row modal * center toggle Input * removed ccss comment * Cloning Rows (parse-community#1697) * disabled clone rows option for standard classes * providing a way to edit clone rows on error 137 * allowing user to clone rows for standard classes * checking dirty clone objects on failed clone * giving option to clone or cancel per row for failed clone rows * fixed wrapTop for data rows when edit clone row * showing modal Clone menu * disabling other menu item on modal state * clone rows for requried field * showing cloned rows for missing required field error * removing username & authData for User class object * removed null initialization var * removing username while cloning User obj * added clone icon attribution note * added required placehlder text for edit clone rows * clearing required field row after abort add * udpating config file * dynamic update required fields from BrowserRow new * remove requiredColumnFields state var from Browser * Update package-lock.json * disabling all menu options on edit clone row modal state Co-authored-by: Manuel Trezza <[email protected]> * fix: upgrade @babel/runtime from 7.14.6 to 7.14.8 (parse-community#1755) Snyk has created this PR to upgrade @babel/runtime from 7.14.6 to 7.14.8. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * CSV Export of class data (parse-community#1494) * cell select height fix (parse-community#1754) * cell select height fix * cell height refactoring * row height to match cell height * refactor height * removed line height * cell padding fix * Cell lineheight fix * cell spacing -- 2 * Update BrowserCell.scss * Update Pill.scss Co-authored-by: Faisal Nadeem <[email protected]> Co-authored-by: Manuel <[email protected]> * Sidebar collapse (parse-community#1760) * feat: Sidebar collapse * fix: Handling app name text-overflow * fix overlaying JS console line number bar * removed toolbar ease-in animation * fixed pin icon padding * Update CHANGELOG.md * fixed pinned collapse state * fixed uncollapsing on mobile Co-authored-by: Douglas Muraoka <[email protected]> * fix: upgrade react-ace from 9.4.1 to 9.4.3 (parse-community#1762) * Exclude hidden fields (parse-community#1734) * get column preference correctly from localstorage * refreshing after a column is marked visible * prevent request for always cached fields * prevent request for password at _User * set flag cached & making request if not cached * add cache flag for cached preferences * refetch data on showAll columns * Open pointer in new browser tab with [Cmd] click (parse-community#1757) * cmd+click and context menu * removed console.log * fixed pill icon click * Pill click cleanup * Delete index.html * Reverting config.json Co-authored-by: Faisal Nadeem <[email protected]> Co-authored-by: Manuel <[email protected]> * fixed incorrect row height (related to parse-community#1754) * fixed incorrect row height (related to parse-community#1754) * Release 2.2.0 (parse-community#1763) * bump version * Update CHANGELOG.md * Update CHANGELOG.md * rebuilt package-lock (npm 6) * fixed incorrect row height (related to parse-community#1754) * Update CHANGELOG.md * Update CHANGELOG.md * Fix typo in changelog * Added missing entry to readme toc * ci(changelog): add changelog reminder (parse-community#1764) * added changelog reminder * Update CHANGELOG.md * enforce changelog syntax * Update ci.yml * rewording * fix typo in issue template * ci: add issue bot (parse-community#1766) * add issue bot * Update CHANGELOG.md * refactor: uniform issue templates across repos (parse-community#1767) * Update ---1-report-an-issue.md * Update ---1-report-an-issue.md * Update CHANGELOG.md * fix: date cell value not selected on double clicks (parse-community#1730) * removed old logic * date time fix * Changelog.MD update Added improvement to change-log * fix changelog entry * Update CHANGELOG.md Co-authored-by: Faisal Nadeem <[email protected]> Co-authored-by: Manuel <[email protected]> * fix: upgrade @babel/runtime from 7.14.8 to 7.15.3 (parse-community#1773) Snyk has created this PR to upgrade @babel/runtime from 7.14.8 to 7.15.3. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr * chore(deps): bump object-path from 0.11.5 to 0.11.7 (parse-community#1774) Bumps [object-path](https://github.com/mariocasciaro/object-path) from 0.11.5 to 0.11.7. - [Release notes](https://github.com/mariocasciaro/object-path/releases) - [Commits](https://github.com/mariocasciaro/object-path/commits) --- updated-dependencies: - dependency-name: object-path dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Edit Array of pointers (parse-community#1771) * show pill pointer design for array of pointers * ctrl+c copy array of pointer value * encoding data to avoid conversion of object to ParseObjects * updated changelog.md * Update CHANGELOG.md Co-authored-by: Manuel <[email protected]> * Improve ui for array of pointer field (parse-community#1776) * improve ui for array of pointer field * Updated changelog.md * Update CHANGELOG.md Co-authored-by: Manuel <[email protected]> * Edit menu design fix * Fix: Modal Z-index (parse-community#1778) * bring modal on top of Sidebar * updated changelog * refactor: remove parse issue bot (parse-community#1780) * ci: Fix docker image pushing to Docker Hub (parse-community#1781) * Create docker-publish.yml * update * update * Update CHANGELOG.md * change linux version * update access token * add correct tags * add latest tag * switch image_name * Update CHANGELOG.md * nit * add multi-platform * reduce platforms * remove arm7 * remove arm64 * only build on Intel * Nit * Update docker-publish.yml * allow latest tag to be set automatically * ci: refactor docker ci (parse-community#1786) * feat: Add MFA to Dashboard (parse-community#1624) * Update CloudCode.react.js * Allow Writing Cloud Code * Add MFA to Dashboard * add inquirer * add changelog * Update index.js * Update package.json * Revert "Update CloudCode.react.js" This reverts commit e9d3ea7. * Revert "Allow Writing Cloud Code" This reverts commit 2a5c050. * Update index.js * Update README.md * Update index.js * hide otp field by default * change to one-time * change to otp * fix package-lock * add readme * Update Authentication.js * change to SHA256 * Update CHANGELOG.md * Update README.md * use OTPAuth secrets * Update index.js * Update index.js * add cli helper * change to SHA1 * add digits option * refactoring mfa flow * more simplification * fixed unsafe instructions * fixed password copy to clipboard * add newline before CLI questions * style * refactored readme * removed RASS * replaced URL with secret * added url and secret to output Co-authored-by: Manuel <[email protected]> * Fix: Update CLP for new class (parse-community#1785) * update CLP for new class * update changelog.md Co-authored-by: Manuel <[email protected]> * fix(docker): increase node version in docker to 12 (parse-community#1788) BREAKING CHANGE The minimum requires Node version is bumped to 12. * ci: modernize steps (parse-community#1789) * Update ci.yml * Update CHANGELOG.md * adapt ci for node <10 * Update ci.yml * bump node-sass for node 16 compatibility * more chain bumps * Revert "more chain bumps" This reverts commit 89db4a9. * Revert "bump node-sass for node 16 compatibility" This reverts commit c3afc6e. * fix determine node major * fix determine node major * add docker * refactor docker * add madge for circular dependencies * run docker publish only on tag release * add ci check * changed default node vesion to 14 * Update ci.yml * Update ci.yml * fixed running ci self-check * changed default node to 16 * add docker builds * fix ci self-check * Update ci.yml * fix ci self-check * Update ciCheck.js * Update ci.yml * Update ci.yml * Update ci.yml * Update ci.yml * Update ci.yml * add node engine check * Update ci.yml * removed eol node envs * Update nodeEngineCheck.js * ci: Remove parse server dev dependency (parse-community#1796) * fix: bump node engine to 12.20.0 BREAKING CHANGE Bump is required to satisfy a dependency that requires that node version. In addition, Parse Dashboard is not officially compatible with Node 16 yet, as tests don't pass. * remove parse server dev dependency * minor fixes * just trying node 16 after removing parse server * enabling node 16 * enabling node 16 * disabling node 16 as it still doesn't pass * updating node engine requirement * Update sass and docker (parse-community#1792) * Update sass and docker * update lock file * Add change log * bump minimum node * revert node * docs: Update node in README Co-authored-by: Manuel <[email protected]> * fix: revert parse-community#1706 which introduced new database index requirements for pagination (parse-community#1800) * perf: asynchronously fetch classes counts in sidebar to not block dashboard (parse-community#1802) * fix: upgrade react-router from 5.1.2 to 5.2.1 (parse-community#1805) Snyk has created this PR to upgrade react-router from 5.1.2 to 5.2.1. See this package in npm: https://www.npmjs.com/package/react-router See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: Manuel <[email protected]> * fix: security upgrade prismjs from 1.24.1 to 1.25.0 (parse-community#1803) The following vulnerabilities are fixed with an upgrade: - https://snyk.io/vuln/SNYK-JS-PRISMJS-1585202 Co-authored-by: Manuel <[email protected]> * fix: upgrade react-router-dom from 5.1.2 to 5.2.1 (parse-community#1804) Snyk has created this PR to upgrade react-router-dom from 5.1.2 to 5.2.1. See this package in npm: https://www.npmjs.com/package/react-router-dom See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=upgrade-pr Co-authored-by: Manuel <[email protected]> * build: release 3.0.0 (parse-community#1806) * chore(deps): bump tmpl from 1.0.4 to 1.0.5 (parse-community#1808) Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5. - [Release notes](https://github.com/daaku/nodejs-tmpl/releases) - [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5) --- updated-dependencies: - dependency-name: tmpl dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: add release automation (parse-community#1810) * ci: fix incorrect npm auth token name * ci: remove changelog todo from pull request template * ci: update changelog todo in pull request template * docs: fixed incorrect links in changelog * ci: upgrade @babel/runtime from 7.15.3 to 7.15.4 (parse-community#1816) Snyk has created this PR to upgrade @babel/runtime from 7.15.3 to 7.15.4. See this package in npm: https://www.npmjs.com/package/@babel/runtime See this project in Snyk: https://app.snyk.io/org/acinader/project/953c8e1a-a9ef-4134-afbe-43474913abbb?utm_source=github&utm_medium=referral&page=upgrade-pr * menu icon css fix * added export functionality * fixed setCurrent error on opening menu * added protected fields security dialog * edit clone rows modal state * fixed sidebar collapse pin * added browser feature to tollbar * removed ci * Create submenu option for browser menu * added icon & active state * added browsing feature as sub menu * changed active styles * disabling subMenu * closing both menus on click * display submenu on hover * fixing style for submenu items * Import submenu * reduced 1px btw menu & submenu Co-authored-by: Diamond Lewis <[email protected]> Co-authored-by: Snyk bot <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Antonio Davi Macedo Coelho de Castro <[email protected]> Co-authored-by: Tom Fox <[email protected]> Co-authored-by: itzharDev <[email protected]> Co-authored-by: Christopher Brookes <[email protected]> Co-authored-by: Christopher Brookes <[email protected]> Co-authored-by: Manuel <[email protected]> Co-authored-by: fn-faisal <[email protected]> Co-authored-by: Faisal Nadeem <[email protected]> Co-authored-by: Nino Crljenec <[email protected]> Co-authored-by: Cory Imdieke <[email protected]> Co-authored-by: Douglas Muraoka <[email protected]> Co-authored-by: Corey <[email protected]> Co-authored-by: dblythy <[email protected]>
1 parent 9937af8 commit 9621baf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+1771
-365
lines changed

Dockerfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#
22
# --- Base Node Image ---
3-
FROM node:8-alpine AS base
3+
FROM node:lts-alpine AS base
44

55
RUN apk update; \
66
apk add git;
@@ -23,7 +23,7 @@ RUN npm run build
2323

2424
#
2525
# --- Production Image ---
26-
FROM node:8-alpine AS release
26+
FROM node:lts-alpine AS release
2727
WORKDIR /src
2828

2929
# Copy production node_modules

Parse-Dashboard/Authentication.js

+31-3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ var bcrypt = require('bcryptjs');
33
var csrf = require('csurf');
44
var passport = require('passport');
55
var LocalStrategy = require('passport-local').Strategy;
6+
const OTPAuth = require('otpauth')
67

78
/**
89
* Constructor for Authentication class
@@ -21,14 +22,22 @@ function initialize(app, options) {
2122
options = options || {};
2223
var self = this;
2324
passport.use('local', new LocalStrategy(
24-
function(username, password, cb) {
25+
{passReqToCallback:true},
26+
function(req, username, password, cb) {
2527
var match = self.authenticate({
2628
name: username,
27-
pass: password
29+
pass: password,
30+
otpCode: req.body.otpCode
2831
});
2932
if (!match.matchingUsername) {
3033
return cb(null, false, { message: 'Invalid username or password' });
3134
}
35+
if (match.otpMissing) {
36+
return cb(null, false, { message: 'Please enter your one-time password.' });
37+
}
38+
if (!match.otpValid) {
39+
return cb(null, false, { message: 'Invalid one-time password.' });
40+
}
3241
cb(null, match.matchingUsername);
3342
})
3443
);
@@ -82,6 +91,8 @@ function authenticate(userToTest, usernameOnly) {
8291
let appsUserHasAccessTo = null;
8392
let matchingUsername = null;
8493
let isReadOnly = false;
94+
let otpMissing = false;
95+
let otpValid = true;
8596

8697
//they provided auth
8798
let isAuthenticated = userToTest &&
@@ -91,6 +102,22 @@ function authenticate(userToTest, usernameOnly) {
91102
this.validUsers.find(user => {
92103
let isAuthenticated = false;
93104
let usernameMatches = userToTest.name == user.user;
105+
if (usernameMatches && user.mfa && !usernameOnly) {
106+
if (!userToTest.otpCode) {
107+
otpMissing = true;
108+
} else {
109+
const totp = new OTPAuth.TOTP({
110+
algorithm: user.mfaAlgorithm || 'SHA1',
111+
secret: OTPAuth.Secret.fromBase32(user.mfa)
112+
});
113+
const valid = totp.validate({
114+
token: userToTest.otpCode
115+
});
116+
if (valid === null) {
117+
otpValid = false;
118+
}
119+
}
120+
}
94121
let passwordMatches = this.useEncryptedPasswords && !usernameOnly ? bcrypt.compareSync(userToTest.pass, user.pass) : userToTest.pass == user.pass;
95122
if (usernameMatches && (usernameOnly || passwordMatches)) {
96123
isAuthenticated = true;
@@ -99,13 +126,14 @@ function authenticate(userToTest, usernameOnly) {
99126
appsUserHasAccessTo = user.apps || null;
100127
isReadOnly = !!user.readOnly; // make it true/false
101128
}
102-
103129
return isAuthenticated;
104130
}) ? true : false;
105131

106132
return {
107133
isAuthenticated,
108134
matchingUsername,
135+
otpMissing,
136+
otpValid,
109137
appsUserHasAccessTo,
110138
isReadOnly,
111139
};

Parse-Dashboard/parse-dashboard-config.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,6 @@
1212
"isOwner": true
1313
}
1414
}
15-
]
15+
],
16+
"iconsFolder": "icons"
1617
}

README.md

+110-33
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Parse Dashboard
1+
# Parse Dashboard <!-- omit in toc -->
22

33
[![Greenkeeper badge](https://badges.greenkeeper.io/parse-community/parse-dashboard.svg)](https://greenkeeper.io/)
44
[![Build Status](https://img.shields.io/travis/parse-community/parse-dashboard/master.svg?style=flat)](https://travis-ci.org/parse-community/parse-dashboard)
@@ -11,35 +11,40 @@
1111

1212
Parse Dashboard is a standalone dashboard for managing your [Parse Server](https://github.com/ParsePlatform/parse-server) apps.
1313

14-
* [Getting Started](#getting-started)
15-
* [Local Installation](#local-installation)
16-
* [Configuring Parse Dashboard](#configuring-parse-dashboard)
17-
* [File](#file)
18-
* [Environment variables](#environment-variables)
19-
* [Multiple apps](#multiple-apps)
20-
* [Single app](#single-app)
21-
* [Managing Multiple Apps](#managing-multiple-apps)
22-
* [GraphQL Playground](#graphql-playground)
23-
* [App Icon Configuration](#app-icon-configuration)
24-
* [App Background Color Configuration](#app-background-color-configuration)
25-
* [Other Configuration Options](#other-configuration-options)
26-
* [Running as Express Middleware](#running-as-express-middleware)
27-
* [Deploying Parse Dashboard](#deploying-parse-dashboard)
28-
* [Preparing for Deployment](#preparing-for-deployment)
29-
* [Security Considerations](#security-considerations)
30-
* [Configuring Basic Authentication](#configuring-basic-authentication)
31-
* [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
32-
* [Use Read-Only masterKey](#use-read-only-masterKey)
33-
* [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
34-
* [Makings users read-only](#makings-users-read-only)
35-
* [Making user's apps readOnly](#making-users-apps-readonly)
36-
* [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
37-
* [Run with Docker](#run-with-docker)
38-
* [Contributing](#contributing)
14+
- [Getting Started](#getting-started)
15+
- [Local Installation](#local-installation)
16+
- [Configuring Parse Dashboard](#configuring-parse-dashboard)
17+
- [File](#file)
18+
- [Environment variables](#environment-variables)
19+
- [Multiple apps](#multiple-apps)
20+
- [Single app](#single-app)
21+
- [Managing Multiple Apps](#managing-multiple-apps)
22+
- [GraphQL Playground](#graphql-playground)
23+
- [App Icon Configuration](#app-icon-configuration)
24+
- [App Background Color Configuration](#app-background-color-configuration)
25+
- [Other Configuration Options](#other-configuration-options)
26+
- [Prevent columns sorting](#prevent-columns-sorting)
27+
- [Running as Express Middleware](#running-as-express-middleware)
28+
- [Deploying Parse Dashboard](#deploying-parse-dashboard)
29+
- [Preparing for Deployment](#preparing-for-deployment)
30+
- [Security Considerations](#security-considerations)
31+
- [Configuring Basic Authentication](#configuring-basic-authentication)
32+
- [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)
33+
- [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
34+
- [Use Read-Only masterKey](#use-read-only-masterkey)
35+
- [Making an app read-only for all users](#making-an-app-read-only-for-all-users)
36+
- [Makings users read-only](#makings-users-read-only)
37+
- [Making user's apps readOnly](#making-users-apps-readonly)
38+
- [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
39+
- [Run with Docker](#run-with-docker)
40+
- [Features](#features)
41+
- [Browse as User](#browse-as-user)
42+
- [CSV Export](#csv-export)
43+
- [Contributing](#contributing)
3944

4045
# Getting Started
4146

42-
[Node.js](https://nodejs.org) version >= 8.9 is required to run the dashboard. You also need to be using Parse Server version 2.1.4 or higher.
47+
[Node.js](https://nodejs.org) version >= 12 is required to run the dashboard. You also need to be using Parse Server version 2.1.4 or higher.
4348

4449
# Local Installation
4550

@@ -57,7 +62,7 @@ parse-dashboard --dev --appId yourAppId --masterKey yourMasterKey --serverURL "h
5762

5863
You may set the host, port and mount path by supplying the `--host`, `--port` and `--mountPath` options to parse-dashboard. You can use anything you want as the app name, or leave it out in which case the app ID will be used.
5964

60-
NB: the `--dev` parameter is disabling production-ready security features, do not use this parameter when starting the dashboard in production. This parameter is useful if you are running on docker.
65+
NB: the `--dev` parameter is disabling production-ready security features, do not use this parameter when starting the dashboard in production. This parameter is useful if you are running on docker.
6166

6267
After starting the dashboard, you can visit http://localhost:4040 in your browser:
6368

@@ -241,6 +246,33 @@ You can set `appNameForURL` in the config file for each app to control the url o
241246

242247
To change the app to production, simply set `production` to `true` in your config file. The default value is false if not specified.
243248

249+
### Prevent columns sorting
250+
251+
You can prevent some columns to be sortable by adding `preventSort` to columnPreference options in each app configuration
252+
253+
```json
254+
255+
"apps": [
256+
{
257+
"appId": "local_app_id",
258+
"columnPreference": {
259+
"_User": [
260+
{
261+
"name": "createdAt",
262+
"visible": true,
263+
"preventSort": true
264+
},
265+
{
266+
"name": "updatedAt",
267+
"visible": true,
268+
"preventSort": false
269+
},
270+
]
271+
}
272+
}
273+
]
274+
```
275+
244276
# Running as Express Middleware
245277

246278
Instead of starting Parse Dashboard with the CLI, you can also run it as an [express](https://github.com/expressjs/express) middleware.
@@ -347,7 +379,33 @@ You can configure your dashboard for Basic Authentication by adding usernames an
347379
```
348380

349381
You can store the password in either `plain text` or `bcrypt` formats. To use the `bcrypt` format, you must set the config `useEncryptedPasswords` parameter to `true`.
350-
You can encrypt the password using any online bcrypt tool e.g. [https://www.bcrypt-generator.com](https://www.bcrypt-generator.com).
382+
You can generate encrypted passwords by using `parse-dashboard --createUser`, and pasting the result in your users config.
383+
384+
### Multi-Factor Authentication (One-Time Password)
385+
386+
You can add an additional layer of security for a user account by requiring multi-factor authentication (MFA) for the user to login.
387+
388+
With MFA enabled, a user must provide a one-time password that is typically bound to a physical device, in addition to their login password. This means in addition to knowing the login password, the user needs to have physical access to a device to generate the one-time password. This one-time password is time-based (TOTP) and only valid for a short amount of time, typically 30 seconds, until it expires.
389+
390+
The user requires an authenticator app to generate the one-time password. These apps are provided by many 3rd parties and mostly for free.
391+
392+
If you create a new user by running `parse-dashboard --createUser`, you will be asked whether you want to enable MFA for the new user. To enable MFA for an existing user,
393+
run `parse-dashboard --createMFA` to generate a `mfa` secret that you then add to the existing user configuration, for example:
394+
395+
```json
396+
{
397+
"apps": [{"...": "..."}],
398+
"users": [
399+
{
400+
"user":"user1",
401+
"pass":"pass",
402+
"mfa": "lmvmOIZGMTQklhOIhveqkumss"
403+
}
404+
]
405+
}
406+
```
407+
408+
Parse Dashboard follows the industry standard and supports the common OTP algorithm `SHA-1` by default, to be compatible with most authenticator apps. If you have specific security requirements regarding TOTP characteristics (algorithm, digit length, time period) you can customize them by using the guided configuration mentioned above.
351409

352410
### Separating App Access Based on User Identity
353411
If you have configured your dashboard to manage multiple applications, you can restrict the management of apps based on user identity.
@@ -421,15 +479,15 @@ You can mark a user as a read-only user:
421479
"appId": "myAppId1",
422480
"masterKey": "myMasterKey1",
423481
"readOnlyMasterKey": "myReadOnlyMasterKey1",
424-
"serverURL": "myURL1",
482+
"serverURL": "myURL1",
425483
"port": 4040,
426484
"production": true
427485
},
428486
{
429487
"appId": "myAppId2",
430488
"masterKey": "myMasterKey2",
431489
"readOnlyMasterKey": "myReadOnlyMasterKey2",
432-
"serverURL": "myURL2",
490+
"serverURL": "myURL2",
433491
"port": 4041,
434492
"production": true
435493
}
@@ -464,7 +522,7 @@ You can give read only access to a user on a per-app basis:
464522
"appId": "myAppId1",
465523
"masterKey": "myMasterKey1",
466524
"readOnlyMasterKey": "myReadOnlyMasterKey1",
467-
"serverURL": "myURL",
525+
"serverURL": "myURL",
468526
"port": 4040,
469527
"production": true
470528
},
@@ -505,7 +563,7 @@ You can provide a list of locales or languages you want to support for your dash
505563

506564
## Run with Docker
507565

508-
The official docker image is published on [docker hub](https://hub.docker.com/r/parseplatform/parse-dashboard)
566+
The official docker image is published on [docker hub](https://hub.docker.com/r/parseplatform/parse-dashboard)
509567

510568
Run the image with your ``config.json`` mounted as a volume
511569

@@ -529,6 +587,25 @@ docker run -d -p 80:8080 -v host/path/to/config.json:/src/Parse-Dashboard/parse-
529587

530588
If you are not familiar with Docker, ``--port 8080`` will be passed in as argument to the entrypoint to form the full command ``npm start -- --port 8080``. The application will start at port 8080 inside the container and port ``8080`` will be mounted to port ``80`` on your host machine.
531589

590+
# Features
591+
*(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*
592+
593+
## Browse as User
594+
595+
▶️ *Core > Browser > Browse*
596+
597+
This feature allows you to use the data browser as another user, respecting that user's data permissions. For example, you will only see records and fields the user has permission to see.
598+
599+
> ⚠️ Logging in as another user will trigger the same Cloud Triggers as if the user logged in themselves using any other login method. Logging in as another user requires to enter that user's password.
600+
601+
## CSV Export
602+
603+
▶️ *Core > Browser > Export*
604+
605+
This feature will take either selected rows or all rows of an individual class and saves them to a CSV file, which is then downloaded. CSV headers are added to the top of the file matching the column names.
606+
607+
> ⚠️ There is currently a 10,000 row limit when exporting all data. If more than 10,000 rows are present in the class, the CSV file will only contain 10,000 rows.
608+
532609
# Contributing
533610

534611
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Dashboard guide](CONTRIBUTING.md).

0 commit comments

Comments
 (0)