[go: nahoru, domu]

blob: cf75800b32e0cec4d2d9cd7ca5141920702d49a5 [file] [log] [blame]
// Copyright 2023 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef GOOGLE_APIS_TASKS_TASKS_API_URL_GENERATOR_UTILS_H_
#define GOOGLE_APIS_TASKS_TASKS_API_URL_GENERATOR_UTILS_H_
#include <string>
#include "third_party/abseil-cpp/absl/types/optional.h"
class GURL;
namespace google_apis::tasks {
// Returns a URL to fetch all the authenticated user's task lists.
// `max_results` - maximum number of task lists returned on one page.
// Adds `maxResults` query parameter if not `absl::nullopt`.
// `page_token` - token specifying the result page to return.
// Adds `pageToken` query parameter if not empty.
// https://developers.google.com/tasks/reference/rest/v1/tasklists/list
GURL GetListTaskListsUrl(absl::optional<int> max_results,
const std::string& page_token);
// Returns a URL to fetch all tasks in the specified task list.
// `task_list_id` - task list identifier.
// `include_completed` - flag indicating whether completed tasks are returned
// in the result.
// `max_results` - maximum number of tasks returned on one page. Adds
// `maxResults` query parameter if not `absl::nullopt`.
// `page_token` - token specifying the result page to return. Adds
// `pageToken` query parameter if not empty.
// https://developers.google.com/tasks/reference/rest/v1/tasks/list
GURL GetListTasksUrl(const std::string& task_list_id,
bool include_completed,
absl::optional<int> max_results,
const std::string& page_token);
// Returns a URL to partially update the specified task.
// `task_list_id` - task list identifier.
// `task_id` - task identifier.
GURL GetPatchTaskUrl(const std::string& task_list_id,
const std::string& task_id);
// Returns a URL to create a new task on the specified task list.
// `task_list_id` - task list identifier.
// `previous_task_id` - previous sibling task identifier.
GURL GetInsertTaskUrl(const std::string& task_list_id,
const std::string& previous_task_id);
} // namespace google_apis::tasks
#endif // GOOGLE_APIS_TASKS_TASKS_API_URL_GENERATOR_UTILS_H_