| 128 | } |
| 129 | |
| 130 | Error RPCServer::OpenDatabase(cproto::Context& ctx, p_string db, std::optional<bool> createDBIfMissing) { |
| 131 | auto* clientData = getClientDataSafe(ctx); |
| 132 | if (clientData->auth.HaveDB()) { |
| 133 | return Error(errParams, "Database already opened"); |
| 134 | } |
| 135 | auto status = dbMgr_.OpenDatabase(db.toString(), clientData->auth, createDBIfMissing && *createDBIfMissing); |
| 136 | if (!status.ok()) { |
| 137 | clientData->auth.ResetDB(); |
| 138 | } |
| 139 | return status; |
| 140 | } |
| 141 | |
| 142 | Error RPCServer::CloseDatabase(cproto::Context& ctx) { |
| 143 | auto clientData = getClientDataSafe(ctx); |
no test coverage detected