anchor.diff:  -behaviour(gen_server).
   
   -include("uce.hrl").
  -
  --type rolelocation() :: {list(), list()}.
   
   %
   % Public api
  
positive.code:             true
      end.
  
  -spec add_role(domain(), uid(), rolelocation()) -> {ok, updated} | erlang:throw({error, not_found}).
  add_role(Domain, Uid, {Role, Location}) ->
      % Just ensure the role and location exists
      case uce_meeting:exists(Domain, Location) of
  
negative.code:             throw({error, not_found})
      end.
  
  -spec delete_role(domain(), uid(), {role(), meeting_id()}) -> {ok, updated} | erlang:throw({error, not_found}).
  delete_role(Domain, Id, {Role, Location}) ->
      {ok, User} = get(Domain, Id),
      Roles = case lists:member({Role, Location}, User#uce_user.roles) of
  