Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. The organization information, including the levels, will be available as fields in the form or part of the user credentials.

  2. The Viewer role will be implemented in CHEFS before the RLS implementation.

Use Cases

Team Manager (Admin)

The user will log into CHEFS and assign permissions (add new user, modify existing user permission, remove user) per:

...

If the organization has multiple levels, then the user will be able to view and submit the data at each of the lower levels of the organization. image-20240415-193940.pngImage Removed

Form Designer and Owner (Form Developer)

The form developer will enable form permissions by record/submission using fields available in the form.

image-20240417-171011.pngImage Added

image-20240412-212414.png

Solution Approach

Here bellow the high-level system design wireframe of the proposed solution to handle RLS

RLS solution wireframe.pngImage Added

To accommodate this on DB level we need to add new table form_rls as well as add new column to form table - rls as bool (false as default) to make it easier to determine if we call list of submissions would we need additional filter by user’s field assignment.

RLS db new table architecture.pngImage Added

Also, as a part of current solution will be implemented Viewer role which is not exist yet in CHEFS currently. This way user with this role would only see the submission list without ability to update or delete them.