Merged PR 92: OptionItem対応

## 概要
[Task1701: OptionItem対応](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1701)

- 以下のAPIでOptionItemを配列で持つように修正しました。
  - 音声ファイルアップロード完了API
  - タスク情報取得API

## レビューポイント
- 対応箇所に過不足はないか
- 対応内容として適切か

## UIの変更
無し

## 動作確認状況
- ローカルでSwagger確認
This commit is contained in:
makabe.t 2023-05-09 06:16:44 +00:00
parent b3ab401cbc
commit 8ccc2a82e8
3 changed files with 56 additions and 30 deletions

View File

@ -1530,6 +1530,22 @@
"prompt"
]
},
"AudioOptionItem": {
"type": "object",
"properties": {
"optionItemLabel": {
"type": "string",
"minLength": 1,
"maxLength": 16
},
"optionItemValue": {
"type": "string",
"minLength": 1,
"maxLength": 20
}
},
"required": ["optionItemLabel", "optionItemValue"]
},
"AudioUploadFinishedRequest": {
"type": "object",
"properties": {
@ -1578,15 +1594,14 @@
"workType": {
"type": "string"
},
"optionItemLabel": {
"type": "string",
"minLength": 1,
"maxLength": 16
},
"optionItemValue": {
"type": "string",
"minLength": 1,
"maxLength": 20
"optionItemList": {
"maxItems": 10,
"minItems": 10,
"description": "音声ファイルに紐づくOption Itemの一覧10個固定",
"type": "array",
"items": {
"$ref": "#/components/schemas/AudioOptionItem"
}
},
"isEncrypted": {
"type": "boolean"
@ -1605,8 +1620,7 @@
"audioFormat",
"comment",
"workType",
"optionItemLabel",
"optionItemValue",
"optionItemList",
"isEncrypted"
]
},
@ -1681,15 +1695,14 @@
"workType": {
"type": "string"
},
"optionItemLabel": {
"type": "string",
"minLength": 1,
"maxLength": 16
},
"optionItemValue": {
"type": "string",
"minLength": 1,
"maxLength": 20
"optionItemList": {
"maxItems": 10,
"minItems": 10,
"description": "音声ファイルに紐づくOption Itemの一覧10個固定",
"type": "array",
"items": {
"$ref": "#/components/schemas/AudioOptionItem"
}
},
"url": {
"type": "string",
@ -1770,8 +1783,7 @@
"audioFileId",
"authorId",
"workType",
"optionItemLabel",
"optionItemValue",
"optionItemList",
"url",
"fileName",
"audioDuration",

View File

@ -31,6 +31,13 @@ export class TemplateDownloadLocationResponse {
url: string;
}
export class AudioOptionItem {
@ApiProperty({ minLength: 1, maxLength: 16 })
optionItemLabel: string;
@ApiProperty({ minLength: 1, maxLength: 20 })
optionItemValue: string;
}
export class AudioUploadFinishedRequest {
@ApiProperty({ description: 'アップロード先Blob Storage(ファイル名含む)' })
url: string;
@ -65,10 +72,13 @@ export class AudioUploadFinishedRequest {
comment: string;
@ApiProperty()
workType: string;
@ApiProperty({ minLength: 1, maxLength: 16 })
optionItemLabel: string;
@ApiProperty({ minLength: 1, maxLength: 20 })
optionItemValue: string;
@ApiProperty({
type: [AudioOptionItem],
maxItems: 10,
minItems: 10,
description: '音声ファイルに紐づくOption Itemの一覧10個固定',
})
optionItemList: AudioOptionItem[];
@ApiProperty()
isEncrypted: boolean;
}

View File

@ -1,4 +1,5 @@
import { ApiProperty } from '@nestjs/swagger';
import { AudioOptionItem } from '../../../features/files/types/types';
export class TasksRequest {
@ApiProperty({
@ -38,10 +39,13 @@ export class Task {
authorId: string;
@ApiProperty()
workType: string;
@ApiProperty({ minLength: 1, maxLength: 16 })
optionItemLabel: string;
@ApiProperty({ minLength: 1, maxLength: 20 })
optionItemValue: string;
@ApiProperty({
type: [AudioOptionItem],
maxItems: 10,
minItems: 10,
description: '音声ファイルに紐づくOption Itemの一覧10個固定',
})
optionItemList: AudioOptionItem[];
@ApiProperty({
description:
'音声ファイルのBlob Storage上での保存場所(ファイル名含む)のURL',