File indexing completed on 2024-05-05 17:00:22
0001 /* 0002 SPDX-FileCopyrightText: 2017-2024 Laurent Montel <montel@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #pragma once 0008 0009 #include "librestapi_private_export.h" 0010 #include <QString> 0011 0012 namespace RestApiUtil 0013 { 0014 enum class RestApiUrlType { 0015 Login, 0016 Logout, 0017 Me, 0018 UsersCreate, 0019 UsersDelete, 0020 UsersCreateToken, 0021 UsersGetPresence, 0022 UsersInfo, 0023 UsersList, 0024 UsersRegister, 0025 UsersGetAvatar, 0026 UsersResetAvatar, 0027 UsersSetAvatar, 0028 UsersUpdate, 0029 UsersPresence, /*since 1.1.0*/ 0030 UsersUpdateOwnBasicInfo, 0031 0032 // PersonalAccess Token 0033 UsersGeneratePersonalAccessToken, 0034 UsersRegeneratePersonalAccessToken, 0035 UsersRemovePersonalAccessToken, 0036 UsersGetPersonalAccessTokens, 0037 0038 UsersGetUsernameSuggestion, 0039 UsersSetStatus, 0040 UsersGetStatus, 0041 /* ... 2.4 ? */ 0042 UsersAutocomplete, 0043 /* ... 3.1 ? */ 0044 UsersRemoveOtherTokens, 0045 UsersDeleteOwnAccount, 0046 UsersSetActiveStatus, 0047 0048 UsersResetTOTP, 0049 UsersResetE2EKey, 0050 0051 ChatDelete, 0052 ChatGetMessage, 0053 ChatPinMessage, 0054 ChatPostMessage, 0055 ChatReact, 0056 ChatSearch, 0057 ChatStarMessage, 0058 ChatUnPinMessage, 0059 ChatUnStarMessage, 0060 ChatUpdate, 0061 ChatIgnoreUser, 0062 ChatReportMessage, 0063 // Since 1.0.0 0064 ChatFollowMessage, 0065 ChatUnFollowMessage, 0066 ChatGetThreadsList, 0067 ChatSyncThreadMessages, 0068 ChatGetThreadMessages, 0069 ChatSyncThreadsList, 0070 ChatGetDeletedMessage, 0071 ChatSendMessage, 0072 ChatMessageReadReceipts, 0073 // Since 2.0.0 0074 ChatGetPinnedMessages, 0075 ChatGetMentionedMessages, 0076 0077 // Since 2.2.x 0078 ChatGetStarredMessages, 0079 ChatGetSnippetedMessages, 0080 0081 ChatSyncMessages, 0082 0083 ChannelsAddAll, 0084 //@since 0.75 0085 ChannelsAddLeader, 0086 ChannelsAddModerator, 0087 ChannelsAddOwner, 0088 ChannelsArchive, 0089 ChannelsClose, 0090 ChannelsCreate, 0091 ChannelsGetIntegrations, 0092 ChannelsHistory, 0093 ChannelsInfo, 0094 ChannelsInvite, 0095 ChannelsKick, 0096 ChannelsLeave, 0097 ChannelsList, 0098 ChannelsListJoined, 0099 ChannelsOpen, 0100 ChannelsRemoveModerator, 0101 ChannelsRemoveOwner, 0102 //@since 0.75 0103 ChannelsRemoveLeader, 0104 ChannelsRename, 0105 ChannelsSetDescription, 0106 ChannelsSetJoinCode, 0107 ChannelsSetPurpose, 0108 ChannelsSetReadOnly, 0109 ChannelsSetTopic, 0110 ChannelsSetType, 0111 ChannelsSetAnnouncement, 0112 ChannelsFiles, 0113 ChannelsUnarchive, 0114 ChannelsCounters, 0115 ChannelsMembers, 0116 ChannelsJoin, 0117 ChannelsOnline, 0118 // since 0.70 0119 ChannelsModerators, 0120 // Since 0.71 0121 ChannelsDelete, 0122 // since 0.65 0123 ChannelsRoles, 0124 // since 0.63 0125 ChannelsGetAllUserMentionsByChannel, 0126 GroupsAddAll, 0127 GroupsAddModerator, 0128 GroupsAddOwner, 0129 GroupsAddLeader, 0130 GroupsArchive, 0131 GroupsClose, 0132 GroupsCreate, 0133 // since 0.70 0134 GroupsDelete, 0135 GroupsGetIntegrations, 0136 GroupsHistory, 0137 GroupsInfo, 0138 GroupsInvite, 0139 GroupsKick, 0140 GroupsLeave, 0141 GroupsList, 0142 GroupsOpen, 0143 GroupsRemoveModerator, 0144 GroupRemoveOwner, 0145 GroupRemoveLeader, 0146 GroupsRename, 0147 GroupsSetDescription, 0148 GroupsSetPurpose, 0149 GroupsSetReadOnly, 0150 GroupsSetTopic, 0151 GroupsSetType, 0152 GroupsUnarchive, 0153 GroupsSetAnnouncement, 0154 GroupsFiles, 0155 GroupsListAll, 0156 GroupsMembers, 0157 // Since 0.65 0158 GroupsRoles, 0159 GroupsCounters, 0160 GroupsSetEncrypted, 0161 ServerInfo, 0162 Settings, 0163 SettingsPublic, 0164 UpdateAdminSettings, 0165 Spotlight, 0166 LoadEmojiCustom, 0167 EmojiCustomDelete, 0168 EmojiCustomCreate, 0169 EmojiCustomUpdate, 0170 EmojiCustomAll, 0171 0172 RoomsUpload, 0173 RoomsSaveNotification, 0174 RoomsSaveSettings, 0175 RoomsAdminRooms, 0176 RoomsAdminRoomsGetRoom, 0177 ImClose, 0178 ImCreate, 0179 ImHistory, 0180 ImFiles, 0181 ImOpen, 0182 ImMessages, 0183 ImDelete, 0184 // Since 0.59 0185 ImMembers, 0186 ImSetTopic, 0187 SubscriptionsRead, 0188 SubscriptionsUnRead, 0189 SettingsOauth, 0190 SettingsAddCustomOauth, 0191 RoomsGet, 0192 RoomsFavorite, 0193 RoomsCleanHistory, 0194 RoomsInfo, 0195 RoomsLeave, 0196 RoomsCreateDiscussion, 0197 RoomsGetDiscussions, 0198 RoomsExport, 0199 RoomsChangeArchivactionState, 0200 0201 ForgotPassword, 0202 CommandsList, 0203 CommandsGet, 0204 CommandsRun, 0205 CommandsPreview, 0206 // since 0.70 0207 E2ESetRoomKeyID, 0208 E2EfetchMyKeys, 0209 E2EupdateGroupKey, 0210 E2ESetUserPublicAndPrivateKeys, 0211 E2EGetUsersOfRoomWithoutKey, 0212 E2ERequestSubscriptionKeys, 0213 E2EResetOwnE2EKey, 0214 0215 RolesList, 0216 RolesCreate, 0217 RolesUpdate, 0218 RolesSync, 0219 RolesDelete, 0220 RolesAddUserToRole, 0221 RolesGetUsersInRole, 0222 RolesRemoveUserFromRole, 0223 0224 // since 0.74 0225 VideoConfJitsi, 0226 0227 // Autotranslate @since 2.0 0228 AutoTranslateGetSupportedLanguages, 0229 AutoTranslateSaveSettings, 0230 AutoTranslateTranslateMessage, 0231 0232 // Since 2.4 0233 CustomUserStatusList, 0234 CustomUserStatusCreate, 0235 CustomUserStatusDelete, 0236 CustomUserStatusUpdate, 0237 CustomSoundsList, 0238 0239 // Invite since 2.5 ? 0240 FindOrCreateInvite, 0241 ListInvites, 0242 RemoveInvite, 0243 UseInviteToken, 0244 ValidateInviteToken, 0245 0246 // RC 6.0 0247 SendInvitationEmails, 0248 0249 // Since 2.4.0 0250 RoomsAutocompleteChannelAndPrivate, 0251 0252 // two factor authentication 0253 Users2FASendEmailCode, 0254 Users2FAEnableEmail, 0255 Users2FADisableEmail, 0256 0257 UsersSetPreferences, 0258 0259 // Permission 0260 PermissionsListAll, 0261 PermissionsUpdate, 0262 0263 Statistics, 0264 0265 Directory, 0266 0267 // Teams 3.13 0268 TeamsList, 0269 TeamsListAll, 0270 TeamsCreate, 0271 TeamsAddRooms, 0272 TeamsRemoveRoom, 0273 TeamsUpdateRoom, 0274 TeamsListRooms, 0275 TeamsListRoomsOfUser, 0276 TeamsMembers, 0277 TeamsAddMembers, 0278 TeamsUpdateMember, 0279 TeamsRemoveMember, 0280 TeamsLeave, 0281 TeamsInfo, 0282 TeamsDelete, 0283 TeamsAutocomplete, 0284 TeamsConvertToChannel, 0285 RoomsAutocompleteAvailableForTeams, 0286 ChannelsConvertToTeam, 0287 GroupsConvertToTeam, 0288 0289 StdoutQueue, 0290 0291 // Oauth 0292 OauthAppsList, 0293 OauthAppsGet, 0294 // 5.4.0 0295 OauthAppsCreate, 0296 0297 // License 0298 LicensesGet, 0299 LicensesMaxActiveUsers, 0300 LicensesAdd, 0301 LicensesIsEntreprise, 0302 0303 // Banner 0304 BannersDismiss, 0305 Banners, 0306 0307 // Session 0308 SessionsList, 0309 SessionsInfo, 0310 SessionsListAll, 0311 SessionsLogoutMe, 0312 SessionsLogout, 0313 SessionsInfoAdmin, 0314 0315 UserRequestDataDownload, 0316 0317 // 5.4.0 0318 RoomsDelete, 0319 0320 // Video Conference 0321 VideoConferenceStart, 0322 VideoConferenceJoin, 0323 VideoConferenceCancel, 0324 VideoConferenceInfo, 0325 VideoConferenceList, 0326 VideoConferenceProviders, 0327 VideoConferenceCapabilities, 0328 0329 // Moderation 0330 ModerationReportsByUsers, 0331 ModerationDismissReports, 0332 ModerationUserReportedMessages, 0333 ModerationUserDeleteReportedMessages, 0334 ModerationReports, 0335 ModerationReportInfo, 0336 }; 0337 LIBROCKETCHATRESTAPI_QT_EXPORT QString adaptUrl(const QString &url); 0338 LIBROCKETCHATRESTAPI_QT_TESTS_EXPORT QString restUrl(RestApiUtil::RestApiUrlType type); 0339 LIBROCKETCHATRESTAPI_QT_TESTS_EXPORT QString apiUri(); 0340 LIBROCKETCHATRESTAPI_QT_TESTS_EXPORT QByteArray convertSha256Password(const QString &pwd); 0341 }