usersValidations function

Future<Map<String, dynamic>> usersValidations(
  1. dynamic data,
  2. Map<String, dynamic> editorConfig,
  3. String action,
  4. Map<String, dynamic> params,
  5. BuildContext? context,
)

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;
}