finished creating second level todos in todoist as checklists in habitica

This commit is contained in:
2020-04-10 23:02:02 -04:00
parent 49275681fd
commit 0aaf15a89d
9 changed files with 125 additions and 59 deletions

View File

@@ -23,17 +23,6 @@ namespace Habitica.Todoist.Integration.Services
this.apiKey = apiKey;
}
public async Task<HabiticaReponse<HabiticaTask>> CreateChecklistItem(ChecklistItem checklistItem, string taskId)
{
using (var client = CreateWebClient())
{
var request = JsonConvert.SerializeObject(checklistItem);
var json = await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/checklist", "POST", request);
return JsonConvert.DeserializeObject<HabiticaReponse<HabiticaTask>>(json);
}
}
public async Task<HabiticaReponse<HabiticaTask>> CreateTask(HabiticaTask task)
{
using (var client = CreateWebClient())
@@ -45,19 +34,6 @@ namespace Habitica.Todoist.Integration.Services
}
}
public async Task<HabiticaReponse<List<HabiticaTask>>> ReadTasks(TaskType taskType = TaskType.Todo)
{
var taskTypeStr = Enum.GetName(taskType.GetType(), taskType).ToLower();
using (var client = CreateWebClient())
{
var json = await client.DownloadStringTaskAsync($"{baseUrl}/tasks/user");
var response = JsonConvert.DeserializeObject<HabiticaReponse<List<HabiticaTask>>>(json);
response.Data.RemoveAll(x => x.Type != taskTypeStr);
return response;
}
}
public async Task<HabiticaTask> UpdateTask(HabiticaTask task)
{
using (var client = CreateWebClient())
@@ -82,6 +58,53 @@ namespace Habitica.Todoist.Integration.Services
await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/score/{actionStr}", "POST", "");
}
//public async Task<HabiticaReponse<List<HabiticaTask>>> ReadTasks(TaskType taskType = TaskType.Todo)
//{
// var taskTypeStr = Enum.GetName(taskType.GetType(), taskType).ToLower();
// using (var client = CreateWebClient())
// {
// var json = await client.DownloadStringTaskAsync($"{baseUrl}/tasks/user");
// var response = JsonConvert.DeserializeObject<HabiticaReponse<List<HabiticaTask>>>(json);
// response.Data.RemoveAll(x => x.Type != taskTypeStr);
// return response;
// }
//} //public async Task<HabiticaReponse<List<HabiticaTask>>> ReadTasks(TaskType taskType = TaskType.Todo)
public async Task<HabiticaReponse<HabiticaTask>> CreateChecklistItem(ChecklistItem checklistItem, string taskId)
{
using (var client = CreateWebClient())
{
var request = JsonConvert.SerializeObject(checklistItem);
var json = await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/checklist", "POST", request);
return JsonConvert.DeserializeObject<HabiticaReponse<HabiticaTask>>(json);
}
}
public async Task<HabiticaReponse<HabiticaTask>> UpdateChecklistItem(ChecklistItem checklistItem, string taskId)
{
using (var client = CreateWebClient())
{
var request = JsonConvert.SerializeObject(checklistItem);
var json = await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/checklist/{checklistItem.Id}", "PUT", request);
return JsonConvert.DeserializeObject<HabiticaReponse<HabiticaTask>>(json);
}
}
public async Task DeleteChecklistItem(string taskId, string checklistItemId)
{
using (var client = CreateWebClient())
await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/checklist/{checklistItemId}", "DELETE", "");
}
public async Task ScoreChecklistItem(string taskId, string checklistItemId)
{
using (var client = CreateWebClient())
await client.UploadStringTaskAsync($"{baseUrl}/tasks/{taskId}/checklist/{checklistItemId}/score", "POST", "");
}
private WebClient CreateWebClient()
{
var client = new WebClient();