From 69241ed36c9038825dc1df9119b36c5431b1a7b8 Mon Sep 17 00:00:00 2001 From: "makabe.t" Date: Wed, 17 Apr 2024 00:23:08 +0000 Subject: [PATCH] =?UTF-8?q?Merged=20PR=20871:=20Function=EF=BC=88=E9=9F=B3?= =?UTF-8?q?=E5=A3=B0=E3=83=95=E3=82=A1=E3=82=A4=E3=83=AB=E8=87=AA=E5=8B=95?= =?UTF-8?q?=E5=89=8A=E9=99=A4=EF=BC=89=E4=BF=AE=E6=AD=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## 概要 [Task4060: Function(音声ファイル自動削除)修正](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/4060) - 自動ファイル削除で生ファイル名を利用するように修正しUTを追従しました。 ## レビューポイント - 生ファイル名を使う方法は適切でしょうか? - テストの修正は適切でしょうか? ## UIの変更 - なし ## クエリの変更 - select対象をraw_file_nameに修正 ## 動作確認状況 - ローカルで確認 - 行った修正がデグレを発生させていないことを確認できるか - 具体的にどのような確認をしたか - テストが通ることを確認 --- .../src/entity/audio_file.entity.ts | 2 + .../src/functions/deleteAudioFiles.ts | 10 +- dictation_function/src/test/common/utility.ts | 1 + .../src/test/deleteAudioFiles.spec.ts | 113 +++++++++--------- 4 files changed, 65 insertions(+), 61 deletions(-) diff --git a/dictation_function/src/entity/audio_file.entity.ts b/dictation_function/src/entity/audio_file.entity.ts index 4de4b82..00f3ea2 100644 --- a/dictation_function/src/entity/audio_file.entity.ts +++ b/dictation_function/src/entity/audio_file.entity.ts @@ -14,6 +14,8 @@ export class AudioFile { @Column() file_name: string; @Column() + raw_file_name: string; + @Column() author_id: string; @Column() work_type_id: string; diff --git a/dictation_function/src/functions/deleteAudioFiles.ts b/dictation_function/src/functions/deleteAudioFiles.ts index b710969..a8382ae 100644 --- a/dictation_function/src/functions/deleteAudioFiles.ts +++ b/dictation_function/src/functions/deleteAudioFiles.ts @@ -29,9 +29,9 @@ type TargetTaskInfo = { /** * ファイル名 - * column: audio_files.file_name + * column: audio_files.raw_file_name */ - file_name: string; + raw_file_name: string; /** * アカウントID @@ -64,12 +64,12 @@ export async function deleteAudioFilesProcessing( // タスクに紐づくファイルを削除 for (const target of targets) { try { - const { account_id, country, file_name } = target; + const { account_id, country, raw_file_name } = target; await blobStorageService.deleteFile( context, account_id, country, - file_name + raw_file_name ); context.log(`file delete success. target=${JSON.stringify(target)}`); } catch (e) { @@ -168,7 +168,7 @@ export async function getProcessTargets( // SELECTでエイリアスを指定して、結果オブジェクトのプロパティとTargetTaskInfoのプロパティを一致させる .select("tasks.id", "id") .addSelect("tasks.audio_file_id", "audio_file_id") - .addSelect("audio_files.file_name", "file_name") + .addSelect("audio_files.raw_file_name", "raw_file_name") .addSelect("accounts.id", "account_id") .addSelect("accounts.country", "country") .where("tasks.finished_at IS NOT NULL") diff --git a/dictation_function/src/test/common/utility.ts b/dictation_function/src/test/common/utility.ts index d9c6a07..1e288e9 100644 --- a/dictation_function/src/test/common/utility.ts +++ b/dictation_function/src/test/common/utility.ts @@ -499,6 +499,7 @@ export const makeTestTask = async ( owner_user_id: ownerUserId, url: `https://example.com/${identifierName}`, file_name: `test${identifierName}.wav`, + raw_file_name: `test${identifierName}.wav`, author_id: "test_author", work_type_id: "test_work_type", started_at: new Date(), diff --git a/dictation_function/src/test/deleteAudioFiles.spec.ts b/dictation_function/src/test/deleteAudioFiles.spec.ts index a6f2ad7..0b3f18a 100644 --- a/dictation_function/src/test/deleteAudioFiles.spec.ts +++ b/dictation_function/src/test/deleteAudioFiles.spec.ts @@ -150,7 +150,7 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account.id, country: account.country, }, @@ -178,14 +178,14 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account.id, country: account.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account.id, country: account.country, }, @@ -207,14 +207,14 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account.id, country: account.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account.id, country: account.country, }, @@ -242,21 +242,21 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account.id, country: account.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account.id, country: account.country, }, { id: task3.id, audio_file_id: file3.id, - file_name: file3.file_name, + raw_file_name: file3.raw_file_name, account_id: account.id, country: account.country, }, @@ -278,21 +278,21 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account.id, country: account.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account.id, country: account.country, }, { id: task3.id, audio_file_id: file3.id, - file_name: file3.file_name, + raw_file_name: file3.raw_file_name, account_id: account.id, country: account.country, }, @@ -374,7 +374,7 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -389,7 +389,7 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -422,14 +422,14 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -456,14 +456,14 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -496,21 +496,21 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task3.id, audio_file_id: file3.id, - file_name: file3.file_name, + raw_file_name: file3.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -537,21 +537,21 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task.id, audio_file_id: file.id, - file_name: file.file_name, + raw_file_name: file.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task2.id, audio_file_id: file2.id, - file_name: file2.file_name, + raw_file_name: file2.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task3.id, audio_file_id: file3.id, - file_name: file3.file_name, + raw_file_name: file3.raw_file_name, account_id: account01.id, country: account01.country, }, @@ -660,14 +660,14 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -711,28 +711,28 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task03.id, audio_file_id: file03.id, - file_name: file03.file_name, + raw_file_name: file03.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task04.id, audio_file_id: file04.id, - file_name: file04.file_name, + raw_file_name: file04.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -764,28 +764,28 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task03.id, audio_file_id: file03.id, - file_name: file03.file_name, + raw_file_name: file03.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task04.id, audio_file_id: file04.id, - file_name: file04.file_name, + raw_file_name: file04.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -829,42 +829,42 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task03.id, audio_file_id: file03.id, - file_name: file03.file_name, + raw_file_name: file03.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task04.id, audio_file_id: file04.id, - file_name: file04.file_name, + raw_file_name: file04.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task05.id, audio_file_id: file05.id, - file_name: file05.file_name, + raw_file_name: file05.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task06.id, audio_file_id: file06.id, - file_name: file06.file_name, + raw_file_name: file06.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -891,42 +891,42 @@ describe("getProcessTargets | 削除対象を特定するQueryが正常に動作 { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task03.id, audio_file_id: file03.id, - file_name: file03.file_name, + raw_file_name: file03.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task04.id, audio_file_id: file04.id, - file_name: file04.file_name, + raw_file_name: file04.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task05.id, audio_file_id: file05.id, - file_name: file05.file_name, + raw_file_name: file05.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task06.id, audio_file_id: file06.id, - file_name: file06.file_name, + raw_file_name: file06.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -989,7 +989,7 @@ describe("deleteRecords | 削除対象タスク等を削除できる", () => { { id: 1, audio_file_id: 1, - file_name: "test", + raw_file_name: "test", account_id: 1, country: "US", }, @@ -1184,42 +1184,42 @@ describe("deleteRecords | 削除対象タスク等を削除できる", () => { { id: task01.id, audio_file_id: file01.id, - file_name: file01.file_name, + raw_file_name: file01.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task02.id, audio_file_id: file02.id, - file_name: file02.file_name, + raw_file_name: file02.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task03.id, audio_file_id: file03.id, - file_name: file03.file_name, + raw_file_name: file03.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task04.id, audio_file_id: file04.id, - file_name: file04.file_name, + raw_file_name: file04.raw_file_name, account_id: account02.id, country: account02.country, }, { id: task05.id, audio_file_id: file05.id, - file_name: file05.file_name, + raw_file_name: file05.raw_file_name, account_id: account01.id, country: account01.country, }, { id: task06.id, audio_file_id: file06.id, - file_name: file06.file_name, + raw_file_name: file06.raw_file_name, account_id: account02.id, country: account02.country, }, @@ -1278,6 +1278,7 @@ describe("deleteRecords | 削除対象タスク等を削除できる", () => { owner_user_id: admin.id, url: `https://example.com/${index}`, file_name: `test${index}.wav`, + raw_file_name: `test${index}.wav`, author_id: "test_author", work_type_id: "test_work_type", started_at: new Date(), @@ -1467,19 +1468,19 @@ describe("deleteAudioFilesProcessing", () => { // 想定通りの呼び出しが行われているか { const { accountId, country, fileName } = args[0]; - expect(fileName).toEqual(file1.file_name); + expect(fileName).toEqual(file1.raw_file_name); expect(accountId).toEqual(account01.id); expect(country).toEqual(account01.country); } { const { accountId, country, fileName } = args[1]; - expect(fileName).toEqual(file2.file_name); + expect(fileName).toEqual(file2.raw_file_name); expect(accountId).toEqual(account01.id); expect(country).toEqual(account01.country); } { const { accountId, country, fileName } = args[2]; - expect(fileName).toEqual(file3.file_name); + expect(fileName).toEqual(file3.raw_file_name); expect(accountId).toEqual(account02.id); expect(country).toEqual(account02.country); } @@ -1556,7 +1557,7 @@ describe("deleteAudioFilesProcessing", () => { .find((log) => log.includes(MANUAL_RECOVERY_REQUIRED)); expect(log).toBeDefined(); expect(log).toEqual( - `[MANUAL_RECOVERY_REQUIRED] file delete failed. target={"id":"1","audio_file_id":"1","account_id":"1","country":"US","file_name":"testcase03.wav"}` + `[MANUAL_RECOVERY_REQUIRED] file delete failed. target={"id":"1","audio_file_id":"1","account_id":"1","country":"US","raw_file_name":"testcase03.wav"}` ); });