Merged PR 871: Function(音声ファイル自動削除)修正

## 概要
[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に修正

## 動作確認状況
- ローカルで確認
- 行った修正がデグレを発生させていないことを確認できるか
  - 具体的にどのような確認をしたか
    - テストが通ることを確認
This commit is contained in:
makabe.t 2024-04-17 00:23:08 +00:00
parent c469f943f1
commit 69241ed36c
4 changed files with 65 additions and 61 deletions

View File

@ -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;

View File

@ -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")

View File

@ -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(),

View File

@ -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"}`
);
});