You control whether app users can Add, Delete, or Edit rows in a table. You can specify combinations of these options for each table in the Data > Tables tab of the app editor.
Separate permissions can be chosen for table slices (Data > Slices tab), but they must be at least as strict as the permissions of the original table.
In advanced scenarios, you can use an expression to dynamically compute the update mode. Click on the flask icon to set up the expression. There are two common use cases for dynamic update modes:
- To allow some users to make updates but restrict this functionality for others
- To allow updates for some rows but restrict updates for other rows
The following are the allowed values when using expressions:
For example, allows
email@example.com to update content and allows all other users read-only access.
Allow Adds but do not show existing rows
In some apps (like public apps that are used to collect data from anonymous users), you may want to capture new data (that is, allow Adds) but not show any existing data. There is a convenient Hide Existing Rows option to set this up. You can find this option in the Security section of the Table definition (Data > Tables tab). If you enable this option for a table, none of the existing rows are read.