anchor.diff:                 end,
       Res = mongoc:transaction(Topology, Callback),
       do_delete_result(Res, to_map(permission, Rec), permission).
  -
  -
  -do_get_permission(#state{topology = Topology}, Query) ->
  -  Callback = fun(Conf) ->
  -                mongoc:find_one(Conf, ?COLLECTION_PERMISSIONS, Query, #{}, 0)
  -             end,
  -  Item = mongoc:transaction_query(Topology, Callback),
  -  do_get_result(Item, permission).
   
   do_get_permissions(#state{topology = Topology}, Query) ->
       Callback = fun(Conf) ->
  
positive.code:     {reply, do_update_user(State, Rec), State};
  handle_call({delete_user, Rec}, _From, State) ->
      {reply, do_delete_user(State, Rec), State};
  handle_call({get_user, Query}, _From, State) ->
      {reply, do_get_user(State, Query), State};
  handle_call({get_users}, _From, State) ->
      {reply, do_get_users(State), State};
  
  
negative.code: update_user(Rec) ->
      gen_server:call(?SERVER, {update_user, Rec}).
  
  -spec(get_users() -> {ok, [#user{}]} | {error, string() | [string()]}).
  get_users() ->
      gen_server:call(?SERVER, {get_users}).
  