anchor.diff:  -export([
     get/0,
     get_by_uid/1,
  +  get_by_id/1,
     create/1,
     update/1,
     delete/1
  
positive.code: -spec(get_by_uid(UniqueId :: string()) -> {ok, Rec :: #device{}} | {error, string()}).
  get_by_uid(UniquiId) ->
    gen_server:call(?SERVER, {get, UniquiId}).
  
  -spec(create(Device :: #device{}) -> {ok, #device{}} | {error, string()}).
  create(Device) ->
  
negative.code:   {stop, Reason :: term(), NewState :: #state{}}).
  handle_call({get}, _From, State) ->
    do_get_devices(State);
  handle_call({get, Id}, _From, State) when is_integer(Id) ->
    do_get_device_by_id(State, Id);
  handle_call({get, UniqueId}, _From, State) when is_binary(UniqueId) ->
    do_get_device_by_uid(State, UniqueId);
  handle_call({create, Device}, _From, State) ->
    do_create_device(State, Device);
  