File indexing completed on 2024-05-12 05:22:24
0001 /* 0002 * SPDX-FileCopyrightText: 2019 David Barchiesi <david@barchie.si> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #pragma once 0008 0009 #include "kgapidrive_export.h" 0010 0011 #include "searchquery.h" 0012 0013 #include <QSharedDataPointer> 0014 #include <QVariant> 0015 0016 namespace KGAPI2 0017 { 0018 namespace Drive 0019 { 0020 0021 /** 0022 * TeamdriveSearchQuery class allows simply building even complex team drive search queries 0023 * for TeamdriveFetchJob. 0024 * 0025 * See https://developers.google.com/drive/web/search-parameters for allowed 0026 * combinations of fields, compare operators, and value types. 0027 * 0028 * @since 2.3 0029 */ 0030 class KGAPIDRIVE_EXPORT TeamdriveSearchQuery : public SearchQuery 0031 { 0032 public: 0033 enum Field { Name, CreatedTime, MemberCount, OrganizerCount }; 0034 0035 using SearchQuery::SearchQuery; 0036 0037 using SearchQuery::addQuery; 0038 void addQuery(Field field, CompareOperator op, const QVariant &value); 0039 0040 private: 0041 QString fieldToString(Field field); 0042 QString valueToString(TeamdriveSearchQuery::Field field, const QVariant &var); 0043 }; 0044 } 0045 }