Just putting this here for now...
## example implementation of limited / field supervisor-type role ("canOnlyIfOriginatedData")
## (Admin 'canOnlyIfOriginatedData' fields would be 'false')
{
"name": 'Field Supervisor',
"description": 'This role can view all data, and can conditionally create, update, and delete data',
"permissions": {
'projects': {
'canCreate': false,
'canRead': false,
'canUpdate': false,
'canDelete': false,
'canUpdateRelationships': false
},
'equipment': {
'canCreate': true,
'canRead': true,
'canUpdate': true,
'canDelete': true,
'canOnlyIfOriginatedData': true,
},
'production_goals': {
'canCreate': true,
'canRead': true,
'canUpdate': true,
'canDelete': true,
'canOnlyIfOriginatedData': true
},
# ...
}
}