parse-community / parse-dashboard

A dashboard for managing Parse Server
https://parseplatform.org
Other
3.74k stars 1.39k forks source link

Enable / disable script in context menu based on object field values #2487

Closed mtrezza closed 3 months ago

mtrezza commented 1 year ago

New Feature / Enhancement Checklist

Current Limitation

Currently, a script is visible in the data browser cell context menu based on the object class and (soon) object field.

Feature / Enhancement Description

Enable / Disable script in context menu based on a combination of object field values. The script should be shown but grayed out in the context menu, so that the dashboard user knows that a script is available but currently disabled based on field values.

Example Use Case

For example, a purchase transaction in which there is a buyingUser and sellingUser, but only the buyingUser can be flagged:

"apps": [
  {
    "scripts": [
      {
        "title": "Flag fraudulent purchase",
        "classes": ["Transaction$buyingUser"],
        "requiredObjectValues": {
           "completed": true,
           "status": 1,
           "country": "US"
        },
        "cloudCodeFunction": "flagUser"
      }
    ]
  }
]

The conditions should support bool, string, number types and conditions should be AND related, i.e. all conditions need to be met for a script to be enabled. The default (if no conditions are set if that no fields are required and the script is always enabled.

There may be a better syntax for how to define these conditions, especially considering possible future additions (see below).

Possible Future Extension

parse-github-assistant[bot] commented 1 year ago

Thanks for opening this issue!

parseplatformorg commented 3 months ago

🎉 This change has been released in version 6.0.0-alpha.8