public async Task <string> Get(string docGuid, string code, string storagePath) { // 1. Verify code matched for doc var codeController = new CodeController(Config); var verifiedCode = await codeController.getCode(docGuid); if (verifiedCode == code) { // 2. Get existing blockusign1/{docGuid}.doc.storage.map.json DocStorageMapModel docStorageMap = await GetDocStorageMap(docGuid); if (!docStorageMap.storagePaths.Contains(storagePath)) { docStorageMap.storagePaths.Add(storagePath); } // 3. Write to blockusign1/{docGuid}.doc.storage.map.json var results = WriteDocStorageMap(docGuid, docStorageMap); return(JsonConvert.SerializeObject(results)); } else { return("code not verified"); } }
public async Task <DocStorageMapModel> WriteDocStorageMap(string docGuid, DocStorageMapModel docStorageMap) { var password = Config["EmailConfirmKey"]; var gaiaToken = Config["GaiaToken"]; string json = JsonConvert.SerializeObject(docStorageMap); var client2 = new RestClient($"https://hub.blockstack.org/store/1PoZGGAuQ4yPj72TrXbG4pKbgB9tvCUqQ1/blockusign/{docGuid}.doc.storage.map.json"); var request2 = new RestRequest(Method.POST); request2.AddHeader("Content-Type", "application/json"); request2.AddHeader("Authorization", gaiaToken); request2.AddParameter("application/json", json, ParameterType.RequestBody); IRestResponse response2 = client2.Execute(request2); if (response2.IsSuccessful) { return(await GetDocStorageMap(docGuid)); } else { return(null); } }
public async Task <DocStorageMapModel> GetDocStorageMap(string docGuid) { var client = new RestClient($"https://gaia.blockstack.org/hub/1PoZGGAuQ4yPj72TrXbG4pKbgB9tvCUqQ1/blockusign/{docGuid}.doc.storage.map.json"); var request = new RestRequest(Method.GET); IRestResponse response = await client.ExecuteAsync(request); if (response.IsSuccessful) { DocStorageMapModel docStoreMap = JsonConvert.DeserializeObject <DocStorageMapModel>(response.Content); if (docStoreMap.storagePaths.Count() > 0) { return(docStoreMap); } else { return(new DocStorageMapModel() { storagePaths = new List <string> { } }); } } else if (response.StatusCode == System.Net.HttpStatusCode.NotFound) { return(new DocStorageMapModel() { storagePaths = new List <string> { } }); } else { throw new Exception("Error fetching DocStorageMap"); } }