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 }