parse-dashboard 7.3.0-alpha.40 → 7.3.0-alpha.42
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.
|
@@ -126,6 +126,15 @@ object-assign
|
|
|
126
126
|
* LICENSE file in the root directory of this source tree.
|
|
127
127
|
*/
|
|
128
128
|
|
|
129
|
+
/** @license React v16.14.0
|
|
130
|
+
* react-dom-server.browser.production.min.js
|
|
131
|
+
*
|
|
132
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
133
|
+
*
|
|
134
|
+
* This source code is licensed under the MIT license found in the
|
|
135
|
+
* LICENSE file in the root directory of this source tree.
|
|
136
|
+
*/
|
|
137
|
+
|
|
129
138
|
/** @license React v16.14.0
|
|
130
139
|
* react-dom.production.min.js
|
|
131
140
|
*
|
|
@@ -350,6 +350,13 @@
|
|
|
350
350
|
<path d="M58 75.25H7.81v-50.5H66V17H0v66h66V51h-8"/>
|
|
351
351
|
<path d="M80.613 18.543l-7.732 7.733L79.07 32H47.52C36.73 32 28 41.24 28 52.03V66h10.885V52.03c0-4.76 3.873-9.03 8.634-9.03h31.543l-6.187 6.583 7.732 7.733L100 37.93 80.613 18.542z"/>
|
|
352
352
|
</symbol>
|
|
353
|
+
<symbol id="sparkle-solid" viewBox="0 0 512 512">
|
|
354
|
+
<g>
|
|
355
|
+
<path class="st0" d="M247.355,106.9C222.705,82.241,205.833,39.18,197.46,0c-8.386,39.188-25.24,82.258-49.899,106.917
		c-24.65,24.642-67.724,41.514-106.896,49.904c39.188,8.373,82.254,25.235,106.904,49.895c24.65,24.65,41.522,67.72,49.908,106.9
		c8.373-39.188,25.24-82.258,49.886-106.917c24.65-24.65,67.724-41.514,106.896-49.904
		C315.08,148.422,272.014,131.551,247.355,106.9z"/>
|
|
356
|
+
<path class="st0" d="M407.471,304.339c-14.714-14.721-24.81-40.46-29.812-63.864c-5.011,23.404-15.073,49.142-29.803,63.872
		c-14.73,14.714-40.464,24.801-63.864,29.812c23.408,5.01,49.134,15.081,63.864,29.811c14.73,14.722,24.81,40.46,29.82,63.864
		c5.001-23.413,15.081-49.142,29.802-63.872c14.722-14.722,40.46-24.802,63.856-29.82
		C447.939,329.14,422.201,319.061,407.471,304.339z"/>
|
|
357
|
+
<path class="st0" d="M146.352,354.702c-4.207,19.648-12.655,41.263-25.019,53.626c-12.362,12.354-33.968,20.82-53.613,25.027
		c19.645,4.216,41.251,12.656,53.613,25.027c12.364,12.362,20.829,33.96,25.036,53.618c4.203-19.658,12.655-41.255,25.023-53.626
		c12.354-12.362,33.964-20.82,53.605-25.035c-19.64-4.2-41.251-12.656-53.613-25.019
		C159.024,395.966,150.555,374.351,146.352,354.702z"/>
|
|
358
|
+
</g>
|
|
359
|
+
</symbol>
|
|
353
360
|
<symbol id="trash-outline" viewBox="0 0 100 100">
|
|
354
361
|
<path d="M88 20.994C88 14.834 82.524 10 76.363 10H60.48c-.453-5.49-5.056-10-10.66-10S39.61 4.51 39.156 10h-15.52C17.474 10 12 14.833 12 20.994v15.874h4.024v51.96c0 6.16 5.013 11.172 11.174 11.172h45.604c6.16 0 11.173-5.012 11.173-11.173v-51.96H88V20.995zM49.82 5.932c2.328 0 4.266 1.86 4.684 4.068h-9.37c.417-2.21 2.356-4.068 4.685-4.068zM23.635 19h52.727C77.62 19 79 19.738 79 20.994V28H21v-7.006C21 19.738 22.38 19 23.636 19zM75.08 88.827c0 1.255-1.023 2.277-2.278 2.277H27.198c-1.256 0-2.278-1.022-2.278-2.277v-51.96h6.148V83c0 1.64 1.328 2.966 2.966 2.966C35.672 85.966 37 84.64 37 83V36.868h10.034V83c0 1.64 1.328 2.966 2.966 2.966 1.64 0 2.966-1.328 2.966-2.966V36.868H63V83c0 1.64 1.36 2.966 3 2.966s3-1.328 3-2.966V36.868h6.08v51.96z"/>
|
|
355
362
|
</symbol>
|
package/README.md
CHANGED
|
@@ -74,10 +74,14 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
74
74
|
- [Panel Item](#panel-item)
|
|
75
75
|
- [Prefetching](#prefetching)
|
|
76
76
|
- [Freeze Columns](#freeze-columns)
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
77
|
+
- [Browse as User](#browse-as-user)
|
|
78
|
+
- [Change Pointer Key](#change-pointer-key)
|
|
79
|
+
- [Limitations](#limitations)
|
|
80
|
+
- [CSV Export](#csv-export)
|
|
81
|
+
- [AI Agent](#ai-agent)
|
|
82
|
+
- [Configuration](#configuration)
|
|
83
|
+
- [Providers](#providers)
|
|
84
|
+
- [OpenAI](#openai)
|
|
81
85
|
- [Views](#views)
|
|
82
86
|
- [Data Sources](#data-sources)
|
|
83
87
|
- [Aggregation Pipeline](#aggregation-pipeline)
|
|
@@ -85,6 +89,7 @@ Parse Dashboard is a standalone dashboard for managing your [Parse Server](https
|
|
|
85
89
|
- [View Table](#view-table)
|
|
86
90
|
- [Pointer](#pointer)
|
|
87
91
|
- [Link](#link)
|
|
92
|
+
- [Image](#image)
|
|
88
93
|
- [Contributing](#contributing)
|
|
89
94
|
|
|
90
95
|
# Getting Started
|
|
@@ -1230,7 +1235,7 @@ Prefetching is particularly useful when navigating through lists of objects. To
|
|
|
1230
1235
|
|
|
1231
1236
|
Right-click on a table column header to freeze columns from the left up to the clicked column in the data browser. When scrolling horizontally, the frozen columns remain visible while the other columns scroll underneath.
|
|
1232
1237
|
|
|
1233
|
-
|
|
1238
|
+
### Browse as User
|
|
1234
1239
|
|
|
1235
1240
|
▶️ *Core > Browser > Browse*
|
|
1236
1241
|
|
|
@@ -1238,20 +1243,21 @@ This feature allows you to use the data browser as another user, respecting that
|
|
|
1238
1243
|
|
|
1239
1244
|
> ⚠️ 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.
|
|
1240
1245
|
|
|
1241
|
-
|
|
1246
|
+
### Change Pointer Key
|
|
1242
1247
|
|
|
1243
1248
|
▶️ *Core > Browser > Edit > Change pointer key*
|
|
1244
1249
|
|
|
1245
1250
|
This feature allows you to change how a pointer is represented in the browser. By default, a pointer is represented by the `objectId` of the linked object. You can change this to any other column of the object class. For example, if class `Installation` has a field that contains a pointer to class `User`, the pointer will show the `objectId` of the user by default. You can change this to display the field `email` of the user, so that a pointer displays the user's email address instead.
|
|
1246
1251
|
|
|
1247
|
-
|
|
1252
|
+
#### Limitations
|
|
1248
1253
|
|
|
1249
1254
|
- This does not work for an array of pointers; the pointer will always display the `objectId`.
|
|
1250
1255
|
- System columns like `createdAt`, `updatedAt`, `ACL` cannot be set as pointer key.
|
|
1251
1256
|
- This feature uses browser storage; switching to a different browser resets the pointer key to `objectId`.
|
|
1252
1257
|
|
|
1253
1258
|
> ⚠️ For each custom pointer key in each row, a server request is triggered to resolve the custom pointer key. For example, if the browser shows a class with 50 rows and each row contains 3 custom pointer keys, a total of 150 separate server requests are triggered.
|
|
1254
|
-
|
|
1259
|
+
|
|
1260
|
+
### CSV Export
|
|
1255
1261
|
|
|
1256
1262
|
▶️ *Core > Browser > Export*
|
|
1257
1263
|
|
|
@@ -1259,6 +1265,83 @@ This feature will take either selected rows or all rows of an individual class a
|
|
|
1259
1265
|
|
|
1260
1266
|
> ⚠️ 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.
|
|
1261
1267
|
|
|
1268
|
+
## AI Agent
|
|
1269
|
+
|
|
1270
|
+
The Parse Dashboard includes an AI agent that can help manage your Parse Server data through natural language commands. The agent can perform operations like creating classes, adding data, querying records, and more.
|
|
1271
|
+
|
|
1272
|
+
> [!Caution]
|
|
1273
|
+
> The AI agent has full access to your database using the master key. It can read, modify, and delete any data. This feature is highly recommended for development environments only. Always back up important data before using the AI agent.
|
|
1274
|
+
|
|
1275
|
+
### Configuration
|
|
1276
|
+
|
|
1277
|
+
To configure the AI agent for your dashboard, you need to add the `agent` configuration to your Parse Dashboard config:
|
|
1278
|
+
|
|
1279
|
+
```json
|
|
1280
|
+
{
|
|
1281
|
+
"apps": [
|
|
1282
|
+
// ...
|
|
1283
|
+
],
|
|
1284
|
+
"agent": {
|
|
1285
|
+
"models": [
|
|
1286
|
+
{
|
|
1287
|
+
"name": "ChatGPT 4.1",
|
|
1288
|
+
"provider": "openai",
|
|
1289
|
+
"model": "gpt-4.1",
|
|
1290
|
+
"apiKey": "YOUR_OPENAI_API_KEY"
|
|
1291
|
+
},
|
|
1292
|
+
]
|
|
1293
|
+
}
|
|
1294
|
+
}
|
|
1295
|
+
```
|
|
1296
|
+
|
|
1297
|
+
| Parameter | Type | Required | Description |
|
|
1298
|
+
|-----------------------------|--------|----------|--------------------------------------------------------------------------------|
|
|
1299
|
+
| `agent` | Object | Yes | The AI agent configuration object. |
|
|
1300
|
+
| `agent.models` | Array | Yes | Array of AI model configurations available to the agent. |
|
|
1301
|
+
| `agent.models[*].name` | String | Yes | The display name for the model (e.g., `ChatGPT 4.1`). |
|
|
1302
|
+
| `agent.models[*].provider` | String | Yes | The AI provider identifier (e.g., "openai"). |
|
|
1303
|
+
| `agent.models[*].model` | String | Yes | The specific model name from the provider (e.g., `gpt-4.1`). |
|
|
1304
|
+
| `agent.models[*].apiKey` | String | Yes | The API key for authenticating with the AI provider. |
|
|
1305
|
+
|
|
1306
|
+
The agent will use the configured models to process natural language commands and perform database operations using the master key from your app configuration.
|
|
1307
|
+
|
|
1308
|
+
### Providers
|
|
1309
|
+
|
|
1310
|
+
> [!Note]
|
|
1311
|
+
> Currently, only OpenAI models are supported. Support for additional providers may be added in future releases.
|
|
1312
|
+
|
|
1313
|
+
#### OpenAI
|
|
1314
|
+
|
|
1315
|
+
To get an OpenAI API key for use with the AI agent:
|
|
1316
|
+
|
|
1317
|
+
1. **Create an OpenAI account**: Visit [platform.openai.com](https://platform.openai.com) and sign up for an account if you don't already have one.
|
|
1318
|
+
|
|
1319
|
+
2. **Access the API section**: Once logged in, navigate to the API section of your OpenAI dashboard.
|
|
1320
|
+
|
|
1321
|
+
3. **Create a new project**:
|
|
1322
|
+
- Go to the "Projects" section
|
|
1323
|
+
- Click "Create project"
|
|
1324
|
+
- Name your project "Parse-Dashboard" (or any descriptive name)
|
|
1325
|
+
- Complete the project setup
|
|
1326
|
+
|
|
1327
|
+
4. **Configure model access**:
|
|
1328
|
+
- In your project, navigate to "Limits > Model Usage"
|
|
1329
|
+
- Select the AI models you want to use (e.g., `gpt-4`, `gpt-3.5-turbo`)
|
|
1330
|
+
- These model names will be used as the `agent.models[*].model` parameter in your dashboard configuration
|
|
1331
|
+
|
|
1332
|
+
5. **Generate an API key**:
|
|
1333
|
+
- Go to the "API Keys" page in your project settings
|
|
1334
|
+
- Click "Create new secret key"
|
|
1335
|
+
- Give your key a descriptive name (e.g., "Parse Dashboard Agent")
|
|
1336
|
+
- Copy the generated API key immediately (you won't be able to see it again)
|
|
1337
|
+
|
|
1338
|
+
6. **Set up billing**: Make sure you have a valid payment method added to your OpenAI account, as API usage incurs charges.
|
|
1339
|
+
|
|
1340
|
+
7. **Configure the dashboard**: Add the API key to your Parse Dashboard configuration as shown in the example above.
|
|
1341
|
+
|
|
1342
|
+
> [!Important]
|
|
1343
|
+
> Keep your API key secure and never commit it to version control. Consider using environment variables or secure configuration management for production deployments.
|
|
1344
|
+
|
|
1262
1345
|
## Views
|
|
1263
1346
|
|
|
1264
1347
|
▶️ *Core > Views*
|
|
@@ -1362,6 +1445,25 @@ In the example above, the query string will be escaped and added to the url, res
|
|
|
1362
1445
|
> [!Note]
|
|
1363
1446
|
> For security reasons, the link `<a>` tag contains the `rel="noreferrer"` attribute, which prevents the target website to know the referring website which in this case is the Parse Dashboard URL. That attribute is widely supported across modern browsers, but if in doubt check your browser's compatibility.
|
|
1364
1447
|
|
|
1448
|
+
#### Image
|
|
1449
|
+
|
|
1450
|
+
Images are rendered directly in the output table with an `<img>` tag. The content mode is always "scale to fit", meaning that if the image file is 100x50px and the specified dimensions are 50x50px, it would display as 50x25px, since it's scaled maintaining aspect ratio.
|
|
1451
|
+
|
|
1452
|
+
Example:
|
|
1453
|
+
|
|
1454
|
+
```json
|
|
1455
|
+
{
|
|
1456
|
+
"__type": "Image",
|
|
1457
|
+
"url": "https://example.com/image.png",
|
|
1458
|
+
"width": "50",
|
|
1459
|
+
"height": "50",
|
|
1460
|
+
"alt": "Image"
|
|
1461
|
+
}
|
|
1462
|
+
```
|
|
1463
|
+
|
|
1464
|
+
> [!Warning]
|
|
1465
|
+
> The URL will be directly invoked by the browser when trying to display the image. For security reasons, make sure you either control the full URL, including the image file name, or sanitize the URL before returning it to the dashboard. URLs containing `javascript:` or `<script` will be blocked automatically and replaced with a placeholder.
|
|
1466
|
+
|
|
1365
1467
|
# Contributing
|
|
1366
1468
|
|
|
1367
1469
|
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).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "parse-dashboard",
|
|
3
|
-
"version": "7.3.0-alpha.
|
|
3
|
+
"version": "7.3.0-alpha.42",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/parse-community/parse-dashboard"
|
|
@@ -53,6 +53,7 @@
|
|
|
53
53
|
"immutable-devtools": "0.1.5",
|
|
54
54
|
"inquirer": "12.6.3",
|
|
55
55
|
"js-beautify": "1.15.4",
|
|
56
|
+
"node-fetch": "3.3.2",
|
|
56
57
|
"otpauth": "8.0.3",
|
|
57
58
|
"package-json": "7.0.0",
|
|
58
59
|
"parse": "3.5.1",
|