1 /* 2 SPDX-FileCopyrightText: 2017-2021 Laurent Montel <montel@kde.org> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #pragma once 8 9 #include "librestapi_private_export.h" 10 #include <QString> 11 12 namespace RestApiUtil 13 { 14 enum class RestApiUrlType { 15 Login, 16 Logout, 17 Me, 18 UsersCreate, 19 UsersDelete, 20 UsersCreateToken, 21 UsersGetPresence, 22 UsersInfo, 23 UsersList, 24 UsersRegister, 25 UsersGetAvatar, 26 UsersResetAvatar, 27 UsersSetAvatar, 28 UsersUpdate, 29 UsersPresence, /*since 1.1.0*/ 30 UsersUpdateOwnBasicInfo, 31 UsersRegeneratePersonalAccessToken, 32 UsersGetUsernameSuggestion, 33 UsersRemovePersonalAccessToken, 34 UsersGeneratePersonalAccessToken, 35 UsersSetStatus, 36 UsersGetStatus, 37 /* ... 2.4 ? */ 38 UsersAutocomplete, 39 /* ... 3.1 ? */ 40 UsersRemoveOtherTokens, 41 UsersDeleteOwnAccount, 42 UsersSetActiveStatus, 43 44 ChatDelete, 45 ChatGetMessage, 46 ChatPinMessage, 47 ChatPostMessage, 48 ChatReact, 49 ChatSearch, 50 ChatStarMessage, 51 ChatUnPinMessage, 52 ChatUnStarMessage, 53 ChatUpdate, 54 ChatIgnoreUser, 55 ChatReportMessage, 56 // Since 1.0.0 57 ChatFollowMessage, 58 ChatUnFollowMessage, 59 ChatGetThreadsList, 60 ChatSyncThreadMessages, 61 ChatGetThreadMessages, 62 ChatSyncThreadsList, 63 ChatGetDeletedMessage, 64 ChatSendMessage, 65 ChatMessageReadReceipts, 66 // Since 2.0.0 67 ChatGetPinnedMessages, 68 ChatGetMentionedMessages, 69 70 // Since 2.2.x 71 ChatGetStarredMessages, 72 ChatGetSnippetedMessages, 73 74 ChannelsAddAll, 75 //@since 0.75 76 ChannelsAddLeader, 77 ChannelsAddModerator, 78 ChannelsAddOwner, 79 ChannelsArchive, 80 ChannelsClose, 81 ChannelsCreate, 82 ChannelsGetIntegrations, 83 ChannelsHistory, 84 ChannelsInfo, 85 ChannelsInvite, 86 ChannelsKick, 87 ChannelsLeave, 88 ChannelsList, 89 ChannelsListJoined, 90 ChannelsOpen, 91 ChannelsRemoveModerator, 92 ChannelsRemoveOwner, 93 //@since 0.75 94 ChannelsRemoveLeader, 95 ChannelsRename, 96 ChannelsSetDescription, 97 ChannelsSetJoinCode, 98 ChannelsSetPurpose, 99 ChannelsSetReadOnly, 100 ChannelsSetTopic, 101 ChannelsSetType, 102 ChannelsSetAnnouncement, 103 ChannelsFiles, 104 ChannelsUnarchive, 105 ChannelsCounters, 106 ChannelsMembers, 107 ChannelsJoin, 108 ChannelsOnline, 109 // since 0.70 110 ChannelsModerators, 111 // Since 0.71 112 ChannelsDelete, 113 // since 0.65 114 ChannelsRoles, 115 // since 0.63 116 ChannelsGetAllUserMentionsByChannel, 117 GroupsAddAll, 118 GroupsAddModerator, 119 GroupsAddOwner, 120 GroupsAddLeader, 121 GroupsArchive, 122 GroupsClose, 123 GroupsCreate, 124 // since 0.70 125 GroupsDelete, 126 GroupsGetIntegrations, 127 GroupsHistory, 128 GroupsInfo, 129 GroupsInvite, 130 GroupsKick, 131 GroupsLeave, 132 GroupsList, 133 GroupsOpen, 134 GroupsRemoveModerator, 135 GroupRemoveOwner, 136 GroupRemoveLeader, 137 GroupsRename, 138 GroupsSetDescription, 139 GroupsSetPurpose, 140 GroupsSetReadOnly, 141 GroupsSetTopic, 142 GroupsSetType, 143 GroupsUnarchive, 144 GroupsSetAnnouncement, 145 GroupsFiles, 146 GroupsListAll, 147 GroupsMembers, 148 // Since 0.65 149 GroupsRoles, 150 GroupsCounters, 151 GroupsSetEncrypted, 152 ServerInfo, 153 Settings, 154 SettingsPublic, 155 Spotlight, 156 LoadEmojiCustom, 157 EmojiCustomDelete, 158 EmojiCustomCreate, 159 EmojiCustomUpdate, 160 EmojiCustomAll, 161 162 RoomsUpload, 163 RoomsSaveNotification, 164 RoomsSaveSettings, 165 RoomsAdminRooms, 166 RoomsAdminRoomsGetRoom, 167 ImClose, 168 ImCreate, 169 ImHistory, 170 ImFiles, 171 ImOpen, 172 ImMessages, 173 ImDelete, 174 // Since 0.59 175 ImMembers, 176 ImSetTopic, 177 SubscriptionsRead, 178 SubscriptionsUnRead, 179 SettingsOauth, 180 RoomsGet, 181 RoomsFavorite, 182 RoomsCleanHistory, 183 RoomsInfo, 184 RoomsLeave, 185 RoomsCreateDiscussion, 186 RoomsGetDiscussions, 187 RoomsExport, 188 RoomsChangeArchivactionState, 189 190 ForgotPassword, 191 CommandsList, 192 CommandsGet, 193 CommandsRun, 194 CommandsPreview, 195 // since 0.70 196 E2ESetRoomKeyID, 197 E2EfetchMyKeys, 198 E2EupdateGroupKey, 199 E2ESetUserPublicAndPrivateKeys, 200 E2EGetUsersOfRoomWithoutKey, 201 E2ERequestSubscriptionKeys, 202 203 RolesList, 204 RolesCreate, 205 RolesUpdate, 206 RolesSync, 207 RolesDelete, 208 RolesAddUserToRole, 209 RolesGetUsersInRole, 210 RolesRemoveUserFromRole, 211 212 // since 0.74 213 VideoConfJitsi, 214 215 // Autotranslate @since 2.0 216 AutoTranslateGetSupportedLanguages, 217 AutoTranslateSaveSettings, 218 AutoTranslateTranslateMessage, 219 220 // Since 2.4 221 CustomUserStatusList, 222 CustomUserStatusCreate, 223 CustomUserStatusDelete, 224 CustomUserStatusUpdate, 225 CustomSoundsList, 226 227 // Invite since 2.5 ? 228 FindOrCreateInvite, 229 ListInvites, 230 RemoveInvite, 231 UseInviteToken, 232 ValidateInviteToken, 233 234 // Since 2.4.0 235 RoomsAutocompleteChannelAndPrivate, 236 237 // two factor authentication 238 Users2FASendEmailCode, 239 Users2FAEnableEmail, 240 Users2FADisableEmail, 241 242 UsersSetPreferences, 243 244 // Permission 245 PermissionsListAll, 246 PermissionsUpdate, 247 248 Statistics, 249 250 Directory, 251 252 // Teams 3.13 253 TeamsList, 254 TeamsListAll, 255 TeamsCreate, 256 TeamsAddRooms, 257 TeamsRemoveRoom, 258 TeamsUpdateRoom, 259 TeamsListRooms, 260 TeamsListRoomsOfUser, 261 TeamsMembers, 262 TeamsAddMembers, 263 TeamsUpdateMember, 264 TeamsRemoveMember, 265 TeamsLeave, 266 TeamsInfo, 267 TeamsDelete, 268 TeamsAutocomplete, 269 TeamsConvertToChannel, 270 RoomsAutocompleteAvailableForTeams, 271 ChannelsConvertToTeam, 272 GroupsConvertToTeam, 273 274 StdoutQueue, 275 276 OauthAppsList, 277 OauthAppsGet, 278 279 // License 280 LicensesGet, 281 LicensesMaxActiveUsers, 282 LicensesAdd, 283 }; 284 LIBROCKETCHATRESTAPI_QT5_EXPORT QString adaptUrl(const QString &url); 285 LIBROCKETCHATRESTAPI_QT5_TESTS_EXPORT QString restUrl(RestApiUtil::RestApiUrlType type); 286 LIBROCKETCHATRESTAPI_QT5_TESTS_EXPORT QString apiUri(); 287 LIBROCKETCHATRESTAPI_QT5_TESTS_EXPORT QByteArray convertSha256Password(const QString &pwd); 288 } 289 290