# Phân trang tệp trên lưu trữ đám mây

Liệt kê theo trang các tệp Cloud Storage.
- **Tác động**: không có. Chỉ đọc. An toàn khi thử lại với thời gian chờ tăng dần có giới hạn.
- **Khả năng nhìn thấy**: **chỉ những tệp đã xác nhận tải lên mới được liệt kê** — một tệp có URL đã ký trước nhưng chưa bao giờ hoàn tất sẽ không xuất hiện. Thành viên không có quyền xem toàn bộ dữ liệu chỉ thấy những tệp do chính mình tải lên.
- **Bộ lọc**: `fileName` khớp một phần; `tagIds` khớp theo logic HOẶC; kết quả được sắp từ mới đến cũ và không thể đổi thứ tự này.
- **Lưu ý**: một phần tử trong `tagInfo` có thể bằng null khi một thẻ bị xóa trong lúc vẫn còn gắn với tệp.

Endpoint: POST /api/cloudstorage/file/page
Version: 2026-09-05

## Request fields (application/json):

  - `pageNo` (integer)
    Số trang hiện tại, bắt đầu từ 1. Mặc định là 1.
    Example: 1

  - `pageSize` (integer)
    Số mục mỗi trang. Mặc định là 10.
    Example: 20

  - `fileName` (string)
    Từ khóa tên tệp để tìm kiếm gần đúng.
    Example: report

  - `tagIds` (array)
    Lọc tệp theo ID thẻ.
    Example: ["1800000000000101"]

  - `fileType` (integer)
    Bộ lọc theo loại tệp: 0 = hình ảnh, 1 = video, 2 = ứng dụng, 3 = âm thanh, 4 = tài liệu, 5 = khác.
    Example: 0

  - `fileIds` (array)
    Lọc tệp theo ID tệp.
    Example: ["1800000000001001"]

## Response 200 fields (application/json):

  - `code` (integer, required)
    Mã kết quả. `0` nghĩa là thành công; các mã khác cho biết có ngoại lệ.
    Example: 0

  - `msg` (string | null, required)
    Thông báo lỗi.
    Example: null

  - `requestId` (string)
    ID yêu cầu của tác vụ. Trường này có thể xuất hiện khi yêu cầu đi qua API gateway.
    Example: 1d4f3ea968664593860b94b35d4ebf5e

  - `data` (object, required)

  - `data.current` (string, required)
    Example: 1

  - `data.pages` (string, required)
    Example: 7

  - `data.total` (string, required)
    Example: 128

  - `data.dataList` (array, required)

  - `data.dataList.id` (string)
    ID tệp trên lưu trữ đám mây.
    Example: 1800000000001001

  - `data.dataList.fileName` (string)
    Tên tệp (không kèm phần mở rộng).
    Example: example

  - `data.dataList.fileExt` (string)
    Phần mở rộng của tệp.
    Example: jpg

  - `data.dataList.fileSize` (string)
    Kích thước tệp theo byte.
    Example: 204800

  - `data.dataList.fileType` (integer)
    Loại tệp: 0 = hình ảnh, 1 = video, 2 = ứng dụng, 3 = âm thanh, 4 = tài liệu, 5 = khác.
    Example: 0

  - `data.dataList.tagInfo` (array)
    Chi tiết các thẻ đang gắn với tệp.

  - `data.dataList.tagInfo.id` (string)
    ID thẻ.
    Example: 1800000000000101

  - `data.dataList.tagInfo.tagSource` (string)
    Nguồn của thẻ, ví dụ ENV, PROXY.
    Example: ENV

  - `data.dataList.tagInfo.tagName` (string)
    Tên thẻ.
    Example: Invoice

  - `data.dataList.tagInfo.tagType` (string)
    Kiểu thẻ: TAG hoặc GROUP.
    Example: TAG

  - `data.dataList.tagInfo.tagIcon` (string)
    Biểu tượng của thẻ.

  - `data.dataList.createDate` (string)
    Thời điểm tải lên.

  - `data.dataList.updateDate` (string)
    Thời điểm cập nhật.

