Type Alias UserEvent

UserEvent: UserEventBase & (
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileUploaded";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileVersioned";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileRestored";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "versionedFileRestored";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileMoved";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
            oldMetadata: string;
            oldMetadataDecrypted: FileMetadata;
        };
        type: "fileRenamed";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
            oldMetadata: string;
            oldMetadataDecrypted: FileMetadata;
        };
        type: "fileMetadataChanged";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileTrash";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileRm";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
            receiverEmail: string;
        };
        type: "fileShared";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "fileLinkEdited";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "folderTrash";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
            receiverEmail: string;
        };
        type: "folderShared";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "folderMoved";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
            oldName: string;
            oldNameDecrypted: FolderMetadata;
        };
        type: "folderRenamed";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
            oldName: string;
            oldNameDecrypted: FolderMetadata;
        };
        type: "folderMetadataChanged";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "subFolderCreated";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "baseFolderCreated";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "folderRestored";
    }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "folderColorChanged";
    }
    | { info: UserEventInfoBase; type: "login" }
    | { info: UserEventInfoBase; type: "deleteVersioned" }
    | { info: UserEventInfoBase; type: "deleteAll" }
    | { info: UserEventInfoBase; type: "deleteUnfinished" }
    | { info: UserEventInfoBase; type: "trashEmptied" }
    | { info: UserEventInfoBase; type: "requestAccountDeletion" }
    | { info: UserEventInfoBase; type: "2faEnabled" }
    | { info: UserEventInfoBase; type: "2faDisabled" }
    | { info: UserEventInfoBase & { code: string }; type: "codeRedeemed" }
    | { info: UserEventInfoBase & { email: string }; type: "emailChanged" }
    | { info: UserEventInfoBase; type: "passwordChanged" }
    | {
        info: UserEventInfoBase & { count: number; sharerEmail: string };
        type: "removedSharedInItems";
    }
    | {
        info: UserEventInfoBase & { count: number; receiverEmail: string };
        type: "removedSharedOutItems";
    }
    | {
        info: UserEventInfoBase & { linkUUID: string };
        type: "folderLinkEdited";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata
            | null;
            nameDecrypted: FolderMetadata | null;
            value: 0 | 1;
        };
        type: "itemFavorite";
    }
    | { info: UserEventInfoBase; type: "failedLogin" }
    | {
        info: UserEventInfoBase & {
            name: string;
            nameDecrypted: FolderMetadata;
        };
        type: "deleteFolderPermanently";
    }
    | {
        info: UserEventInfoBase & {
            metadata: string;
            metadataDecrypted: FileMetadata;
        };
        type: "deleteFilePermanently";
    }
    | {
        info: UserEventBase & {
            email: string;
            newEmail: string;
            oldEmail: string;
        };
        type: "emailChangeAttempt";
    }
)