public static string Connect(Address host, string username = null, string password = null) { url = "http://"; if (username != null && password != null) { haveCredentials = true; url += Uri.EscapeDataString(username) + ":" + Uri.EscapeDataString(password) + "@"; } else { haveCredentials = false; } url += host; Host = host; server = new MyCouchServerClient(url); SDSStore = new DataBase(url, "sds"); CCSStore = new DataBase(url, "ccs"); //client messages (and other changes, possibly; not right now) RCSStore = new DataBase(url, "rcs"); LogicStore = new DataBase(url, "logic"); ControlStore = new DataBase(url, "control"); HostsStore = new DataBase(url, "hosts"); return(url); }
private bool CreateDb() { if (string.IsNullOrEmpty(_couchDbSettings.Username) || string.IsNullOrEmpty(_couchDbSettings.Password)) { throw new CouchDbSetupException( "Please add the admin username and password for the database to the CouchDbSettings in appsettings.json [DONT CHECK IT IN!!!]"); } var connectionInfo = new ServerConnectionInfo(_couchDbSettings.Server) { BasicAuth = new BasicAuthString(_couchDbSettings.Username, _couchDbSettings.Password) }; using (var client = new MyCouchServerClient(connectionInfo)) { var databaseInfo = client.Databases.HeadAsync(_couchDbSettings.DatabaseName).Result; if (databaseInfo.IsSuccess) { return(false); } var createResult = client.Databases.PutAsync(_couchDbSettings.DatabaseName).Result; if (!createResult.IsSuccess) { throw new CouchDbSetupException( $"unable to create database: {_couchDbSettings.DatabaseName} reason: {createResult.Reason}"); } return(true); } }
void CreateDb(string dbName) { using var client = new MyCouchServerClient(CouchDbConnection.Current.ServerUrl); var resp = client.Databases.PutAsync(dbName).Result; if (!resp.IsSuccess) { throw new Exception(resp.Error + ":" + resp.Reason); } }
private void CreateDatabaseIfNotExists() { using (var couchDb = new MyCouchServerClient("http://*****:*****@localhost:5984")) { if (couchDb.Databases.GetAsync(_databaseName).Result.StatusCode == HttpStatusCode.OK) { return; } var response = couchDb.Databases.PutAsync(_databaseName); response.Result.StatusCode.Should().Be(HttpStatusCode.Created); } }
/// <summary> /// /// </summary> public CouchDbStore(string couchDbUrl) { if (string.IsNullOrEmpty(couchDbUrl)) { throw new ArgumentException($"couchDbUrl parameter must not be null or empty."); } var dbConnectionInfo = new DbConnectionInfo(couchDbUrl, EntityName); Client = new MyCouchClient(dbConnectionInfo); CouchServerClient = new MyCouchServerClient(couchDbUrl); Store = new MyCouchStore(Client); }
public CouchDbStoreBase(string database) { _database = database; using (var client = new MyCouchServerClient(SERVER)) { var d = client.Databases.PutAsync(_database).Result; if (!client.Databases.HeadAsync(_database).Result.IsSuccess) { throw new Exception($"Database '{_database}' not found!"); } } Store = new MyCouchStore(SERVER, _database); }
private void CreateDatabaseIfNotExists() { using (var couchDb = new MyCouchServerClient(_couchDbSettings.DatabaseUri)) { if (couchDb.Databases.GetAsync(_couchDbSettings.DatabaseName).Result.StatusCode == HttpStatusCode.OK) { return; } var response = couchDb.Databases.PutAsync(_couchDbSettings.DatabaseName); if (response.Result.StatusCode != HttpStatusCode.Created) { throw new InvalidOperationException("Unable to create database"); } } }
public CommentService() { using (var client = new MyCouchServerClient(SERVER)) { var d = client.Databases.PutAsync(DATABASE).Result; if (!client.Databases.HeadAsync(DATABASE).Result.IsSuccess) { throw new Exception($"Database '{DATABASE}' not found!"); } } using (var client = new MyCouchClient(SERVER, DATABASE)) { if (!client.Documents.HeadAsync("_design/comments").Result.IsSuccess) { var assembly = Assembly.GetExecutingAssembly(); var docName = "SocketComment.DesignDocuments.Comments.json"; using (Stream stream = assembly.GetManifestResourceStream(docName)) using (StreamReader reader = new StreamReader(stream)) { string docString = reader.ReadToEnd(); if (string.IsNullOrWhiteSpace(docString)) { throw new Exception("Failed to load document json file"); } var doc = client.Documents.PostAsync(docString).Result; if (!doc.IsSuccess) { throw new Exception("Failed to setup default view document"); } } } } _commentStore = new MyCouchStore(SERVER, DATABASE); _commentCache = CacheFactory.Build <Comment>(settings => { settings.WithMicrosoftMemoryCacheHandle(); }); }
private async Task prepareDB() { using (var client = new MyCouchServerClient("http://localhost:5984")) { var test = await client.Databases.GetAsync(new GetDatabaseRequest("tasks")); if (!test.IsSuccess && test.Reason == "not_found") { await client.Databases.PutAsync(new PutDatabaseRequest("tasks")); } } using (var client = new MyCouchClient("http://localhost:5984", "tasks")) { var viewResponse = await client.Documents.GetAsync(new GetDocumentRequest("_design/views")); if (!viewResponse.IsSuccess && viewResponse.Error == "not_found") { var designDocument = new PostDocumentRequest("{\n \"_id\": \"_design/views\",\n \"_rev\": \"13-e7f20fd89680fba468de1b2d2bfaffdc\",\n \"views\": {\n \"allDocs\": {\n \"map\": \"function (doc) {\\n emit(doc._id, doc._rev);\\n}\"\n },\n \"TasksByName\": {\n \"map\": \"function(doc) {\\r\\nif (\'name\' in doc) { \\r\\n emit(doc.name, doc._id);\\r\\n }\\r\\n} \\r\\n\"\n },\n \"byTag\": {\n \"reduce\": \"_count\",\n \"map\": \"function (doc) {\\n emit(doc.tag, 1);\\n}\"\n },\n \"byIsDone\": {\n \"map\": \"function (doc) {\\n emit(doc.isDone, 1);\\n}\",\n \"reduce\": \"_count\"\n }\n },\n \"language\": \"javascript\"\n}"); await client.Documents.PostAsync(designDocument); } } }