コンテンツにスキップ

ケースファイルの管理🔗

ケースに添付されたファイルをアップロード、取得、ダウンロード、および削除します。

ファイルアップロードの初期化🔗

mutation startCaseFileUpload($input: StartCaseFileUploadInput!) {
    startCaseFileUpload(input: $input) {
        file {
            id
            name
            size
            status
        }
        presignedUrl
    }
}

変数🔗

{
    "input": {
        "caseId": "6ba7b810-9dad-11d1-80b4-00c04fd430c8",
        "name": "investigation_report.pdf",
        "size": 1024000,
        "contentType": "application/pdf",
        "isEmbedded": false
    }
}

ファイルの削除🔗

mutation deleteCaseFile($input: DeleteCaseFileInput!) {
    deleteCaseFile(input: $input) {
        id
        name
        deletedAt
    }
}

変数🔗

{
    "input": {
        "fileId": "<file_id>"
    }
}

ケースファイルの取得🔗

ケースに添付されたファイルを一覧表示します。ファイルの内容を取得するための署名付きURLを取得するには、downloadURL をリクエストします。

query caseFiles($arguments: CaseFilesArguments!) {
    caseFiles(arguments: $arguments) {
        files {
            id
            name
            size
            status
            isEmbedded
            createdAt
            downloadURL
        }
        totalCount
    }
}

変数🔗

{
    "arguments": {
        "query": "investigationId = '6ba7b810-9dad-11d1-80b4-00c04fd430c8'",
        "page": 1,
        "perPage": 20
    }
}

レスポンス例🔗

{
    "data": {
        "caseFiles": {
            "files": [
                {
                    "id": "550e8400-e29b-41d4-a716-446655440500",
                    "name": "investigation_report.pdf",
                    "size": 1024000,
                    "status": "UPLOADED",
                    "isEmbedded": false,
                    "createdAt": "2024-08-14T15:52:30Z",
                    "downloadURL": "https://files.example.com/signed-url..."
                }
            ],
            "totalCount": 1
        }
    }
}

単一ファイルの取得🔗

たとえば期限切れの downloadURL を更新するために、caseFile を使用して ID で 1 つのファイルを取得します。

query caseFile($arguments: CaseFileArguments!) {
    caseFile(arguments: $arguments) {
        id
        name
        size
        status
        downloadURL
    }
}

変数🔗

{
    "arguments": {
        "fileId": "550e8400-e29b-41d4-a716-446655440500"
    }
}

注意🔗

  • isEmbedded は、ファイルがケースコンテンツに埋め込まれているかどうかを示します(例: 主な発見事項内の画像)。埋め込みファイルでは、ダウンロード時に監査ログは生成されません。
  • status は、SCHEDULED(アップロードURL発行済み、ファイルはまだアップロードされていない)、UPLOADEDERROR_UPLOAD、または DELETED のいずれかです。
  • ダウンロードURLは署名付きで、15 分間有効です。新しいURLを取得するには、downloadURL を選択して caseFile または caseFiles を再クエリしてください。
  • ダウンロードURLをリクエストすると監査ログが生成されます(埋め込みファイルを除く)。
  • caseFiles は、デフォルトではケースにスコープされていません。query 引数を使用してフィルタリングする必要があり、ケースの id に一致させるには investigationIdcaseId ではなく)を使用します。例: investigationId = '<case id>'。埋め込みファイルを除外するには、AND isEmbedded = false を追加します。