Hiyve Components - v1.0.0
    Preparing search index...

    Function useUserFiles

    • Access all user files across all rooms, with optional real-time updates and management actions.

      Returns {
          clearError: () => void;
          connectUserFiles: (streamUrl: string) => void;
          createFolder: (location: string, roomName?: string) => Promise<void>;
          deleteFile: (fileId: string) => Promise<void>;
          deleteFolder: (location: string) => Promise<void>;
          disconnectUserFiles: () => void;
          error: string | null;
          fetchUserFiles: (userId: string) => Promise<UserFile[]>;
          files: UserFile[];
          getFileUrl: (
              fileId: string,
              options?: { stream?: boolean },
          ) => Promise<string>;
          isConnected: boolean;
          isLoading: boolean;
          lastFetchedAt: number | null;
          moveFile: (fileId: string, newLocation: string) => Promise<void>;
          removeUserFileLocal: (fileId: string) => void;
          renameFile: (fileId: string, newFilename: string) => Promise<void>;
          shareFile: (
              fileId: string,
              userIds: string[],
              sharedRoom?: string,
          ) => Promise<void>;
          updateFileAppData: (
              fileId: string,
              appData: Record<string, unknown>,
          ) => Promise<void>;
          uploadFile: (
              file: File,
              location: string,
              resourceType?: string,
          ) => Promise<{ fileId: string }>;
          upsertUserFileLocal: (file: UserFile) => void;
      }

      Object containing user files state and actions

      User files are fetched without requiring an active room connection. Room owners get all their files across all rooms.

      For real-time updates (a file arriving from another user, a sharing change), call connectUserFiles(streamUrl) with the URL returned by cloudClient.getUserFilesStreamUrl(userId). The hook's files array stays in sync as long as isConnected is true. Call disconnectUserFiles() when the user logs out or the consumer unmounts.