Remove public db record

COUCHDB-3288
diff --git a/src/cassim_security.erl b/src/cassim_security.erl
index 08fe791..ad33c2c 100644
--- a/src/cassim_security.erl
+++ b/src/cassim_security.erl
@@ -38,9 +38,7 @@
     get_security(DbName, [?ADMIN_CTX]).
 
 
-get_security(#db{name=DbName}, Options) ->
-    get_security(DbName, Options);
-get_security(DbName, Options) ->
+get_security(DbName, Options) when is_binary(DbName) ->
     case cassim:is_active() of
         true ->
             UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
@@ -50,7 +48,9 @@
             {proplists:delete(<<"_id">>, SecProps)};
         false ->
             fabric:get_security(DbName, Options)
-    end.
+    end;
+get_security(Db, Options) ->
+    get_security(couch_db:name(Db), Options).
 
 
 get_security_doc(DbName) when is_binary(DbName) ->
@@ -90,20 +90,22 @@
     set_security(DbName, SecProps, [?ADMIN_CTX]).
 
 
-set_security(#db{name=DbName0}, #doc{}=SecDoc0, Options) ->
+set_security(DbName0, #doc{}=SecDoc0, Options) when is_binary(DbName0) ->
     DbName = mem3:dbname(DbName0),
     MetaId = cassim_metadata_cache:security_meta_id(DbName),
     SecDoc = SecDoc0#doc{id=MetaId},
     UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
     MetaDbName = cassim_metadata_cache:metadata_db(),
-    MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
+    {ok, MetaDb} = couch_db:clustered_db(MetaDbName, ?ADMIN_USER),
     cassim:verify_admin_role(UserCtx),
     ok = validate_security_doc(SecDoc),
     {Status, Etag, {Body0}} =
         chttpd_db:update_doc(MetaDb, MetaId, SecDoc, Options),
     Body = {proplists:delete(<<"_id">>, Body0)},
     ok = cassim_metadata_cache:cleanup_old_docs(MetaId),
-    {Status, Etag, Body}.
+    {Status, Etag, Body};
+set_security(Db, SecDoc, Options) ->
+    set_security(couch_db:name(Db), SecDoc, Options).
 
 
 migrate_security_props(DbName0, {SecProps}) ->
@@ -111,7 +113,7 @@
     MetaId = cassim_metadata_cache:security_meta_id(DbName),
     SecDoc = #doc{id=MetaId, body={SecProps}},
     MetaDbName = cassim_metadata_cache:metadata_db(),
-    MetaDb = #db{name=MetaDbName, user_ctx=?ADMIN_USER},
+    {ok, MetaDb} = couch_db:clustered_db(MetaDbName, ?ADMIN_USER),
     %% Better way to construct a new #doc{} with the rev?
     {_, _, {Body}} = chttpd_db:update_doc(MetaDb, MetaId, SecDoc, [?ADMIN_CTX]),
     Rev = proplists:get_value(rev, Body),
@@ -149,8 +151,5 @@
 
 
 check_is_member(UserCtx, SecProps) ->
-    FakeDb = #db{
-        security = SecProps,
-        user_ctx = UserCtx
-    },
+    {ok, FakeDb} = couch_db:clustered_db(<<"foo">>, UserCtx, SecProps),
     couch_db:check_is_member(FakeDb).