Beispiel #1
0
        /// <summary>
        /// Start a database transaction
        /// </summary>
        /// <param name="log">The log you want your transaction to target</param>
        /// <param name="command">The transaction function</param>
        public void Transaction(UuidObject log, Command command)
        {
            string resp = NetworkHandler.Send(this.NodeLocation.HttpAddress(), $"transaction/{command.ToString("g").ToLower()}/{log.Id}", "", "POST");

            if (command == Command.Begin)
            {
                CurrentTransaction = resp;
            }
            else
            {
                CurrentTransaction = "NONE";
            }
        }
Beispiel #2
0
        /// <summary>
        /// Send a document to the database server
        /// </summary>
        /// <param name="doc">The document you want to send</param>
        /// <param name="log">The log you want to send your document to</param>
        /// <param name="addedUuidDescription">The description that the automatically generated UuidObject in the Manager will get</param>
        /// <param name="method">Sending method</param>
        public void PostDocument(Document doc, UuidObject log, string addedUuidDescription, Method method = Method.Post)
        {
            string transaction = (CurrentTransaction == "NONE") ? "" : $"/transaction/{CurrentTransaction}";
            string json        = JsonConvert.SerializeObject(doc);
            string resp;

            if (method == Method.Post)
            {
                resp = NetworkHandler.Send(this.NodeLocation.HttpAddress(), $"document/{log.Id}{transaction}", json, "POST");
            }
            else
            {
                resp = NetworkHandler.Send(this.NodeLocation.HttpAddress(), $"document/{log.Id}{transaction}", json, "PUT");
            }
            UuidManager.Add(resp, addedUuidDescription, UuidObject.UuidType.Key);
        }
Beispiel #3
0
 /// <summary>
 /// End an established session with the database server
 /// </summary>
 public void Logout()
 {
     NetworkHandler.Send(this.NodeLocation.HttpAddress(), $"auth/logout", "", "POST");
 }
Beispiel #4
0
        /// <summary>
        /// Start a session with the database server
        /// </summary>
        /// <param name="auth">Authentication data wich is specified in the config file of your database</param>
        public void Login(Authentication auth)
        {
            string json = JsonConvert.SerializeObject(auth);

            NetworkHandler.Send(this.NodeLocation.HttpAddress(), $"auth/login", json, "POST");
        }