Backend (Model, ACL, Events, Interactors) and external Frontend for "Feature: Zuarbeit"
For #1232 (closed) this implements a ShareLink model which may be used to authenticate external users in new or existing controllers (example: app/controllers/api/data_items_controller.rb
). A new controller rendering rails views was added (app/controllers/api/share_controller.rb
) which could load a custom (new) Vue App and reuse the existing components. Currently it renders plain rails views showcasing the data transferred and allowing to complete or cancel a share link.
To create a share link one should us the app/models/interactors/share_task_interactor.rb
#share
method. But currently it is only possible to create a ShareLink via RailsAdmin (which does not create a task-is-shared event).
API
share/show
A mock API controller is implemented to demonstrate what may be transferred when a task is shared via share_link. This controller / page may be reached via http://localhost:3000/api/share/show?share_link=__TOKEN-HERE__. It renders the api views (json) using the share_link access rights. Thus most metadata is removed:
Events
Below are some screenshots based on the existing test fixtures to demonstrate how events / data changes made by access via share_link look like. Generated for http://localhost:3000/tasks/152 with a share named Irgendwer (irgend@example.com)
Last change am Datenfeld
Events