usersValidations function
Implementation
Future<Map<String, dynamic>> usersValidations(
dynamic data,
Map<String, dynamic> editorConfig,
String action,
Map<String, dynamic> params,
BuildContext? context,
) async {
Map<String, dynamic> result = genericFuncArrayDefaultValue(data);
Map<String, dynamic> userData = params['currentUser'];
switch (action) {
case actionDelete:
if (data['superuser'] == '1' && userData['superuser'] == '0') {
result['error'] =
'${result['error'] == '' ? '' : '<BR/>'}'
'Super users can be deleted only by other Super users.';
}
if (data['id'] == userData['id']) {
result['error'] =
'${result['error'] == '' ? '' : '<BR/>'}'
'You cannot delete yourself';
}
if (userData['superuser'] == '0' && data['id'] != userData['id']) {
result['error'] =
'${result['error'] == '' ? '' : '<BR/>'}'
'You cannot delete other\'s records';
}
break;
case actionUpdate:
if (userData['superuser'] == '0' && data['id'] != userData['id']) {
result['error'] =
'${result['error'] == '' ? '' : '<BR/>'}'
'You cannot modify other\'s records';
}
break;
case actionCreate:
if (userData['superuser'] == '0') {
result['error'] =
'${result['error'] == '' ? '' : '<BR/>'}'
'You cannot create new users';
}
break;
case actionRead:
case actionList:
break;
default:
break;
}
return result;
}