diff --git a/dictation_server/src/api/odms/openapi.json b/dictation_server/src/api/odms/openapi.json index 3d38853..9a5c27a 100644 --- a/dictation_server/src/api/odms/openapi.json +++ b/dictation_server/src/api/odms/openapi.json @@ -2551,7 +2551,7 @@ "description": "割り当てられたユーザー", "allOf": [ { - "$ref": "#/components/schemas/Assignee" + "$ref": "#/components/schemas/Typist" } ] }, @@ -2593,9 +2593,7 @@ "isEncrypted", "jobNumber", "assignees", - "status", - "transcriptionStartedDate", - "transcriptionFinishedDate" + "status" ] }, "TasksResponse": { diff --git a/dictation_server/src/features/tasks/types/convert.ts b/dictation_server/src/features/tasks/types/convert.ts index fcd164e..794f757 100644 --- a/dictation_server/src/features/tasks/types/convert.ts +++ b/dictation_server/src/features/tasks/types/convert.ts @@ -5,6 +5,7 @@ import { CheckoutPermission as CheckoutPermissionEntity } from '../../../reposit import { AudioOptionItem as AudioOptionItemEntity } from '../../../repositories/audio_option_items/entity/audio_option_item.entity'; import { Task, Assignee } from './types'; import { AudioOptionItem } from '../../files/types/types'; +import { Typist } from '../../../features/accounts/types/types'; // Repository側のDTOからTaskオブジェクトの一覧を構築する export const createTasks = ( @@ -41,8 +42,8 @@ const createTask = ( const assignees = createAssignees(permissions); // RepositoryDTO => ControllerDTOに変換 - const typist: Assignee = - typist_user != null ? convertUserToAssignee(typist_user) : undefined; + const typist: Typist = + typist_user != null ? convertUserToTypist(typist_user) : undefined; return { audioFileId: task.audio_file_id, @@ -114,3 +115,11 @@ const convertUserGroupToAssignee = (userGroup: UserGroupEntity): Assignee => { typistName: userGroup.name, }; }; + +// RepositoryDTOのUserからTypistオブジェクトを生成します +const convertUserToTypist = (user: UserEntity): Typist => { + return { + id: user.id, + name: `USER_${user?.external_id}`, // XXX Azure AD B2Cから取得した名前を入れる + }; +}; diff --git a/dictation_server/src/features/tasks/types/types.ts b/dictation_server/src/features/tasks/types/types.ts index 381f73b..0bc2d09 100644 --- a/dictation_server/src/features/tasks/types/types.ts +++ b/dictation_server/src/features/tasks/types/types.ts @@ -4,6 +4,7 @@ import { Type } from 'class-transformer'; import { IsIn, IsInt, IsOptional, Min } from 'class-validator'; import { TASK_LIST_SORTABLE_ATTRIBUTES } from '../../../constants'; import { IsStatus } from '../../../common/validators/status.validator'; +import { Typist } from '../../../features/accounts/types/types'; export class TasksRequest { @ApiProperty({ @@ -128,7 +129,7 @@ export class Task { required: false, description: '割り当てられたユーザー', }) - typist?: Assignee | undefined; + typist?: Typist | undefined; @ApiProperty({ type: [Assignee], description: