anchor.diff:    {noreply, NewState :: #state{}, timeout() | hibernate} |
     {stop, Reason :: term(), Reply :: term(), NewState :: #state{}} |
     {stop, Reason :: term(), NewState :: #state{}}).
  +handle_call({get, Id}, _From, State) when is_integer(Id) ->
  +  do_get_permissions_by_user_id(State, Id);
  +handle_call({create, Permission}, _From, State) ->
  +  do_create_permission(State, Permission);
  +handle_call({delete, Permission}, _From, State) ->
  +  do_delete_permission(State, Permission);
   handle_call(_Request, _From, State) ->
     {reply, ok, State}.
   
  
positive.code: 
  %% API
  -export([start_link/0]).
  
  %% gen_server callbacks
  -export([init/1,
  
negative.code: %%%===================================================================
  %%% API
  %%%===================================================================
  -spec(get_by_user_id(Id :: integer()) -> {ok, [Rec :: #permission{}]} | {error, string()}).
  get_by_user_id(Id) ->
    gen_server:call(?SERVER, {get, Id}).
  
  -spec(create(Permission :: #permission{}) -> {ok, #permission{}} | {error, string()}).
  create(Permission) ->
    gen_server:call(?SERVER, {create, Permission}).
  
  -spec(delete(Permission :: #permission{}) -> {ok, #permission{}} | {error, string()}).
  delete(Permission) ->
    gen_server:call(?SERVER, {delete, Permission}).
  
  %%--------------------------------------------------------------------
  %% @doc
  