parse-dashboard 5.4.0 → 6.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,3 +1,11 @@
1
+ /*
2
+ * based on code from:
3
+ *
4
+ * @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
5
+ * Available via the MIT or new BSD license.
6
+ * see: http://github.com/jrburke/requirejs for details
7
+ */
8
+
1
9
  /*
2
10
  object-assign
3
11
  (c) Sindre Sorhus
package/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
  [![Build Status](https://github.com/parse-community/parse-dashboard/workflows/ci/badge.svg?branch=release)](https://github.com/parse-community/parse-dashboard/actions?query=workflow%3Aci+branch%3Arelease)
8
8
  [![Snyk Badge](https://snyk.io/test/github/parse-community/parse-dashboard/badge.svg)](https://snyk.io/test/github/parse-community/parse-dashboard)
9
9
 
10
- [![Node Version](https://img.shields.io/badge/nodejs-14,_16,_18-green.svg?logo=node.js&style=flat)](https://nodejs.org/)
10
+ [![Node Version](https://img.shields.io/badge/nodejs-18,_20-green.svg?logo=node.js&style=flat)](https://nodejs.org/)
11
11
  [![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
12
12
 
13
13
  [![npm latest version](https://img.shields.io/npm/v/parse-dashboard/latest.svg)](https://www.npmjs.com/package/parse-dashboard)
@@ -49,6 +49,7 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
49
49
  - [Deploying Parse Dashboard](#deploying-parse-dashboard)
50
50
  - [Preparing for Deployment](#preparing-for-deployment)
51
51
  - [Security Considerations](#security-considerations)
52
+ - [Security Checks](#security-checks)
52
53
  - [Configuring Basic Authentication](#configuring-basic-authentication)
53
54
  - [Multi-Factor Authentication (One-Time Password)](#multi-factor-authentication-one-time-password)
54
55
  - [Separating App Access Based on User Identity](#separating-app-access-based-on-user-identity)
@@ -59,6 +60,8 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
59
60
  - [Configuring Localized Push Notifications](#configuring-localized-push-notifications)
60
61
  - [Run with Docker](#run-with-docker)
61
62
  - [Features](#features)
63
+ - [Data Browser](#data-browser)
64
+ - [Filters](#filters)
62
65
  - [Browse as User](#browse-as-user)
63
66
  - [Change Pointer Key](#change-pointer-key)
64
67
  - [Limitations](#limitations)
@@ -107,9 +110,8 @@ Parse Dashboard is continuously tested with the most recent releases of Node.js
107
110
 
108
111
  | Version | Latest Version | End-of-Life | Compatible |
109
112
  |------------|----------------|-------------|------------|
110
- | Node.js 14 | 14.20.1 | April 2023 | ✅ Yes |
111
- | Node.js 16 | 16.17.0 | April 2024 | ✅ Yes |
112
- | Node.js 18 | 18.9.0 | May 2025 | ✅ Yes |
113
+ | Node.js 18 | 18.9.1 | May 2025 | ✅ Yes |
114
+ | Node.js 20 | 20.11.1 | April 2026 | ✅ Yes |
113
115
 
114
116
  ## Configuring Parse Dashboard
115
117
 
@@ -124,6 +126,7 @@ Parse Dashboard is continuously tested with the most recent releases of Node.js
124
126
  | `apps.scripts.cloudCodeFunction` | String | no | - | `'deleteUser'` | The name of the Parse Cloud Function to execute. |
125
127
  | `apps.scripts.showConfirmationDialog` | Bool | yes | `false` | `true` | Is `true` if a confirmation dialog should be displayed before the script is executed, `false` if the script should be executed immediately. |
126
128
  | `apps.scripts.confirmationDialogStyle` | String | yes | `info` | `critical` | The style of the confirmation dialog. Valid values: `info` (blue style), `critical` (red style). |
129
+ | `apps.cloudConfigHistoryLimit` | Integer | yes | `100` | `100` | The number of historic values that should be saved in the Cloud Config change history. Valid values: `0`...`Number.MAX_SAFE_INTEGER`. |
127
130
 
128
131
  ### File
129
132
 
@@ -397,6 +400,31 @@ You can specify scripts to execute Cloud Functions with the `scripts` option:
397
400
  ]
398
401
  ```
399
402
 
403
+ You can also specify custom fields with the `scrips` option:
404
+
405
+ ```json
406
+ "apps": [
407
+ {
408
+ "scripts": [
409
+ {
410
+ "title": "Delete account",
411
+ "classes": [
412
+ {
413
+ "name": "_User",
414
+ "fields": [
415
+ { "name": "createdAt", "validator": "value => value > new Date(\"2025\")" }
416
+ ]
417
+ }
418
+ ],
419
+ "cloudCodeFunction": "deleteAccount"
420
+ }
421
+ ]
422
+ }
423
+ ]
424
+
425
+ ```
426
+
427
+
400
428
  Next, define the Cloud Function in Parse Server that will be called. The object that has been selected in the data browser will be made available as a request parameter:
401
429
 
402
430
  ```js
@@ -540,7 +568,7 @@ var dashboard = new ParseDashboard({
540
568
  });
541
569
  ```
542
570
 
543
- ## Security Checks
571
+ ### Security Checks
544
572
 
545
573
  You can view the security status of your Parse Server by enabling the dashboard option `enableSecurityChecks`, and visiting App Settings > Security.
546
574
 
@@ -558,8 +586,6 @@ const dashboard = new ParseDashboard({
558
586
  });
559
587
  ```
560
588
 
561
-
562
-
563
589
  ### Configuring Basic Authentication
564
590
  You can configure your dashboard for Basic Authentication by adding usernames and passwords your `parse-dashboard-config.json` configuration file:
565
591
 
@@ -791,6 +817,26 @@ If you are not familiar with Docker, ``--port 8080`` will be passed in as argume
791
817
  # Features
792
818
  *(The following is not a complete list of features but a work in progress to build a comprehensive feature list.)*
793
819
 
820
+ ## Data Browser
821
+
822
+ ### Filters
823
+
824
+ ▶️ *Core > Browser > Filter*
825
+
826
+ The filter dialog allows to add relational filter conditions based on other classes that have a pointer to the current class.
827
+
828
+ For example, users in the `_User` class may have:
829
+
830
+ - purchases in a `Purchase` class with a `_User` pointer field
831
+ - transactions in a `Payment` class with a `_User` pointer field
832
+
833
+ A relational filter allows you filter all users who:
834
+
835
+ - purchased a specific item (in `Purchase` class)
836
+ - payed with a specific payment method (in `Payment` class)
837
+
838
+ To apply such a filter, simply go to the `_User` class and add the two required filter conditions with the `Purchase` and `Payment` classes.
839
+
794
840
  ## Browse as User
795
841
 
796
842
  ▶️ *Core > Browser > Browse*
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "parse-dashboard",
3
- "version": "5.4.0",
3
+ "version": "6.0.0-alpha.10",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/ParsePlatform/parse-dashboard"
@@ -45,13 +45,13 @@
45
45
  "copy-to-clipboard": "3.3.2",
46
46
  "core-js": "3.28.0",
47
47
  "csurf": "1.11.0",
48
- "express": "4.18.1",
48
+ "express": "4.19.2",
49
49
  "graphiql": "2.0.8",
50
50
  "graphql": "16.8.1",
51
51
  "immutable": "4.1.0",
52
52
  "immutable-devtools": "0.1.5",
53
53
  "inquirer": "8.2.4",
54
- "js-beautify": "1.14.6",
54
+ "js-beautify": "1.14.10",
55
55
  "otpauth": "8.0.3",
56
56
  "package-json": "7.0.0",
57
57
  "parse": "3.4.2",
@@ -61,7 +61,7 @@
61
61
  "prop-types": "15.8.1",
62
62
  "qrcode": "1.5.1",
63
63
  "react": "16.14.0",
64
- "react-ace": "10.1.0",
64
+ "react-ace": "11.0.1",
65
65
  "react-dnd": "10.0.2",
66
66
  "react-dnd-html5-backend": "10.0.2",
67
67
  "react-dom": "16.14.0",
@@ -69,9 +69,7 @@
69
69
  "react-json-view": "1.21.3",
70
70
  "react-popper-tooltip": "4.4.2",
71
71
  "react-router-dom": "6.4.1",
72
- "regenerator-runtime": "0.13.11",
73
- "semver": "7.5.2",
74
- "typescript": "4.8.3"
72
+ "regenerator-runtime": "0.13.11"
75
73
  },
76
74
  "devDependencies": {
77
75
  "@actions/core": "1.9.1",
@@ -110,8 +108,10 @@
110
108
  "sass": "1.58.1",
111
109
  "sass-loader": "13.2.0",
112
110
  "semantic-release": "17.4.6",
111
+ "semver": "7.5.2",
113
112
  "style-loader": "3.3.1",
114
113
  "svg-prep": "1.0.4",
114
+ "typescript": "4.8.3",
115
115
  "webpack": "5.75.0",
116
116
  "webpack-cli": "5.0.1",
117
117
  "yaml": "1.10.0"
@@ -137,7 +137,7 @@
137
137
  "parse-dashboard": "./bin/parse-dashboard"
138
138
  },
139
139
  "engines": {
140
- "node": ">=14.20.1"
140
+ "node": ">=18.0.0 <21"
141
141
  },
142
142
  "main": "Parse-Dashboard/app.js",
143
143
  "jest": {