anchor.diff:              {<<"attribute">>, 10, {gs, ?ERROR_BAD_VALUE_BINARY(<<"attribute">>)}},
               {<<"attribute">>, <<"NaN">>, ?ERROR_BAD_VALUE_NOT_ALLOWED(<<"attribute">>, ?PRIVATE_BASIC_ATTRIBUTES)}
           ]
  -    },
  -    PublicDataSpec = #data_spec{
  +    };
  +get_attrs_data_spec(share_mode) ->
  +    #data_spec{
           optional = [<<"attribute">>],
           correct_values = #{<<"attribute">> => ?PUBLIC_BASIC_ATTRIBUTES},
           bad_values = [
  
positive.code:     get_user_root_dir_children_test/1,
      get_dir_children_on_provider_not_supporting_space_test/1,
  
      get_attrs_test/1,
      set_mode_test/1
  ]).
  
  
negative.code: 
  
  %% @private
  -spec validate_listed_files(
      ListedChildren :: term(),
      Format :: gs | rest | deprecated_rest,
      ShareId :: undefined | od_share:id(),
      Params :: map(),
      AllFiles :: [{file_id:file_guid(), Name :: binary(), Path :: binary()}]
  ) ->
      ok | no_return().
  validate_listed_files(ListedChildren, Format, ShareId, Params, AllFiles) ->
      Limit = maps:get(<<"limit">>, Params, 1000),
      Offset = maps:get(<<"offset">>, Params, 0),
  
      ExpFiles1 = case Offset >= length(AllFiles) of
          true ->
              [];
          false ->
              lists:sublist(AllFiles, Offset+1, Limit)
      end,
  
      ExpFiles2 = lists:map(fun({Guid, Name, Path}) ->
          {file_id:guid_to_share_guid(Guid, ShareId), Name, Path}
      end, ExpFiles1),
  
      ExpFiles3 = case Format of
          gs ->
              #{<<"children">> => lists:map(fun({Guid, _Name, _Path}) ->
                  Guid
              end, ExpFiles2)};
          rest ->
              #{<<"children">> => lists:map(fun({Guid, Name, _Path}) ->
                  {ok, ObjectId} = file_id:guid_to_objectid(Guid),
                  #{
                      <<"id">> => ObjectId,
                      <<"name">> => Name
                  }
              end, ExpFiles2)};
          deprecated_rest ->
              lists:map(fun({Guid, _Name, Path}) ->
                  {ok, ObjectId} = file_id:guid_to_objectid(Guid),
                  #{
                      <<"id">> => ObjectId,
                      <<"path">> => Path
                  }
              end, ExpFiles2)
      end,
  
      ?assertEqual(ExpFiles3, ListedChildren).
  
  
  %% @private
  get_children_data_spec() ->
      #data_spec{
          optional = [<<"limit">>, <<"offset">>],
  