diff --git a/dictation_client/openapitools.json b/dictation_client/openapitools.json index 4053ae8..15fef60 100644 --- a/dictation_client/openapitools.json +++ b/dictation_client/openapitools.json @@ -2,6 +2,6 @@ "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", "spaces": 2, "generator-cli": { - "version": "7.0.1" + "version": "7.1.0" } } diff --git a/dictation_client/src/api/.openapi-generator/VERSION b/dictation_client/src/api/.openapi-generator/VERSION index 73a86b1..3769235 100644 --- a/dictation_client/src/api/.openapi-generator/VERSION +++ b/dictation_client/src/api/.openapi-generator/VERSION @@ -1 +1 @@ -7.0.1 \ No newline at end of file +7.1.0 \ No newline at end of file diff --git a/dictation_client/src/api/api.ts b/dictation_client/src/api/api.ts index 9bcd5d0..2b5689d 100644 --- a/dictation_client/src/api/api.ts +++ b/dictation_client/src/api/api.ts @@ -21,7 +21,7 @@ import globalAxios from 'axios'; import { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from './common'; import type { RequestArgs } from './base'; // @ts-ignore -import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError } from './base'; +import { BASE_PATH, COLLECTION_FORMATS, BaseAPI, RequiredError, operationServerMap } from './base'; /** * @@ -1004,11 +1004,11 @@ export interface GetPartnersResponse { */ export interface GetRelationsResponse { /** - * ログインしたユーザーのAuthorID(Authorでない場合は空文字) + * ログインしたユーザーのAuthorID(Authorでない場合はundefined) * @type {string} * @memberof GetRelationsResponse */ - 'authorId': string; + 'authorId'?: string; /** * 属しているアカウントのAuthorID List(全て) * @type {Array} @@ -3368,7 +3368,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async activeWorktype(postActiveWorktypeRequest: PostActiveWorktypeRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.activeWorktype(postActiveWorktypeRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.activeWorktype']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ライセンス発行をキャンセルします @@ -3379,7 +3381,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async cancelIssue(cancelIssueRequest: CancelIssueRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.cancelIssue(cancelIssueRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.cancelIssue']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3390,7 +3394,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async createAccount(createAccountRequest: CreateAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createAccount(createAccountRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.createAccount']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3401,7 +3407,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async createPartnerAccount(createPartnerAccountRequest: CreatePartnerAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createPartnerAccount(createPartnerAccountRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.createPartnerAccount']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下にタイピストグループを追加します @@ -3412,7 +3420,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async createTypistGroup(createTypistGroupRequest: CreateTypistGroupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createTypistGroup(createTypistGroupRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.createTypistGroup']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3423,7 +3433,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async createWorktype(createWorktypesRequest: CreateWorktypesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createWorktype(createWorktypesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.createWorktype']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3434,7 +3446,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async deleteAccountAndData(deleteAccountRequest: DeleteAccountRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteAccountAndData(deleteAccountRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.deleteAccountAndData']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3445,7 +3459,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async deleteWorktype(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWorktype(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.deleteWorktype']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3456,7 +3472,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest: GetAccountInfoMinimalAccessRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAccountInfoMinimalAccess(getAccountInfoMinimalAccessRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getAccountInfoMinimalAccess']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下のAuthor一覧を取得します @@ -3466,7 +3484,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getAuthors(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAuthors(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getAuthors']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3476,7 +3496,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getDealers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getDealers(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getDealers']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定したアカウントのライセンス集計情報を取得します @@ -3487,7 +3509,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getLicenseSummary(getLicenseSummaryRequest: GetLicenseSummaryRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getLicenseSummary(getLicenseSummaryRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getLicenseSummary']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント情報を取得します @@ -3497,7 +3521,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getMyAccount(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMyAccount(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getMyAccount']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3508,7 +3534,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getOptionItems(id: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getOptionItems(id, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getOptionItems']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3519,7 +3547,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getOrderHistories(getOrderHistoriesRequest: GetOrderHistoriesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getOrderHistories(getOrderHistoriesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getOrderHistories']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3530,7 +3560,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getPartnerLicenses(getPartnerLicensesRequest: GetPartnerLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getPartnerLicenses(getPartnerLicensesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getPartnerLicenses']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3542,7 +3574,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getPartners(limit: number, offset: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getPartners(limit, offset, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getPartners']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを取得します @@ -3553,7 +3587,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getTypistGroup(typistGroupId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTypistGroup(typistGroupId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getTypistGroup']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下のタイピストグループ一覧を取得します @@ -3563,7 +3599,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getTypistGroups(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTypistGroups(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getTypistGroups']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下のタイピスト一覧を取得します @@ -3573,7 +3611,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getTypists(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTypists(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getTypists']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3583,7 +3623,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async getWorktypes(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getWorktypes(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.getWorktypes']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3594,7 +3636,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async issueLicense(issueLicenseRequest: IssueLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.issueLicense(issueLicenseRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.issueLicense']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3605,7 +3649,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async updateAccountInfo(updateAccountInfoRequest: UpdateAccountInfoRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateAccountInfo(updateAccountInfoRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.updateAccountInfo']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3617,7 +3663,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async updateOptionItems(id: number, updateOptionItemsRequest: UpdateOptionItemsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateOptionItems(id, updateOptionItemsRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.updateOptionItems']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのアカウント配下でIDで指定されたタイピストグループを更新します @@ -3629,7 +3677,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async updateTypistGroup(typistGroupId: number, updateTypistGroupRequest: UpdateTypistGroupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateTypistGroup(typistGroupId, updateTypistGroupRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.updateTypistGroup']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -3641,7 +3691,9 @@ export const AccountsApiFp = function(configuration?: Configuration) { */ async updateWorktype(id: number, updateWorktypesRequest: UpdateWorktypesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateWorktype(id, updateWorktypesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AccountsApi.updateWorktype']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -4402,7 +4454,9 @@ export const AuthApiFp = function(configuration?: Configuration) { */ async accessToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.accessToken(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AuthApi.accessToken']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 代行操作用のアクセストークンを再生成します @@ -4412,7 +4466,9 @@ export const AuthApiFp = function(configuration?: Configuration) { */ async delegationAccessToken(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.delegationAccessToken(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AuthApi.delegationAccessToken']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 代行操作用のリフレッシュトークン・アクセストークンを生成します @@ -4423,7 +4479,9 @@ export const AuthApiFp = function(configuration?: Configuration) { */ async delegationToken(delegationTokenRequest: DelegationTokenRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.delegationToken(delegationTokenRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AuthApi.delegationToken']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * AzureADB2Cでのサインイン後に払いだされるIDトークンを元に認証用のアクセストークンとリフレッシュトークンを生成します @@ -4434,7 +4492,9 @@ export const AuthApiFp = function(configuration?: Configuration) { */ async token(tokenRequest: TokenRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.token(tokenRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['AuthApi.token']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -4597,7 +4657,9 @@ export const DefaultApiFp = function(configuration?: Configuration) { */ async checkHealth(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.checkHealth(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['DefaultApi.checkHealth']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -4897,7 +4959,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async downloadLocation(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.downloadLocation(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.downloadLocation']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した音声ファイルに対応したテンプレートファイルのBlob Storage上のダウンロード先アクセスURLを取得します @@ -4908,7 +4972,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async downloadTemplateLocation(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.downloadTemplateLocation(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.downloadTemplateLocation']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * アップロードが完了した音声ファイルの情報を登録し、文字起こしタスクを生成します @@ -4919,7 +4985,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async uploadFinished(audioUploadFinishedRequest: AudioUploadFinishedRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.uploadFinished(audioUploadFinishedRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.uploadFinished']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログイン中ユーザー用のBlob Storage上の音声ファイルのアップロード先アクセスURLを取得します @@ -4929,7 +4997,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async uploadLocation(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.uploadLocation(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.uploadLocation']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * アップロードが完了したテンプレートファイルの情報を登録します @@ -4940,7 +5010,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async uploadTemplateFinished(templateUploadFinishedRequest: TemplateUploadFinishedRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.uploadTemplateFinished(templateUploadFinishedRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.uploadTemplateFinished']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログイン中ユーザー用のBlob Storage上のテンプレートファイルのアップロード先アクセスURLを取得します @@ -4950,7 +5022,9 @@ export const FilesApiFp = function(configuration?: Configuration) { */ async uploadTemplateLocation(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.uploadTemplateLocation(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['FilesApi.uploadTemplateLocation']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -5322,7 +5396,9 @@ export const LicensesApiFp = function(configuration?: Configuration) { */ async activateCardLicenses(activateCardLicensesRequest: ActivateCardLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.activateCardLicenses(activateCardLicensesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['LicensesApi.activateCardLicenses']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ライセンス注文をキャンセルします @@ -5333,7 +5409,9 @@ export const LicensesApiFp = function(configuration?: Configuration) { */ async cancelOrder(cancelOrderRequest: CancelOrderRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.cancelOrder(cancelOrderRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['LicensesApi.cancelOrder']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -5344,7 +5422,9 @@ export const LicensesApiFp = function(configuration?: Configuration) { */ async createOrders(createOrdersRequest: CreateOrdersRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createOrders(createOrdersRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['LicensesApi.createOrders']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 割り当て可能なライセンスを取得します @@ -5354,7 +5434,9 @@ export const LicensesApiFp = function(configuration?: Configuration) { */ async getAllocatableLicenses(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getAllocatableLicenses(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['LicensesApi.getAllocatableLicenses']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -5365,7 +5447,9 @@ export const LicensesApiFp = function(configuration?: Configuration) { */ async issueCardLicenses(issueCardLicensesRequest: IssueCardLicensesRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.issueCardLicenses(issueCardLicensesRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['LicensesApi.issueCardLicenses']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -5563,7 +5647,9 @@ export const NotificationApiFp = function(configuration?: Configuration) { */ async register(registerRequest: RegisterRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.register(registerRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['NotificationApi.register']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -5903,44 +5989,6 @@ export const TasksApiAxiosParamCreator = function (configuration?: Configuration - setSearchParams(localVarUrlObj, localVarQueryParameter); - let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; - localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; - - return { - url: toPathString(localVarUrlObj), - options: localVarRequestOptions, - }; - }, - /** - * 指定した文字起こしタスクを差し戻します(ステータスをPendingにします) - * @summary - * @param {number} audioFileId ODMS Cloud上の音声ファイルID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - sendBack: async (audioFileId: number, options: AxiosRequestConfig = {}): Promise => { - // verify required parameter 'audioFileId' is not null or undefined - assertParamExists('sendBack', 'audioFileId', audioFileId) - const localVarPath = `/tasks/{audioFileId}/send-back` - .replace(`{${"audioFileId"}}`, encodeURIComponent(String(audioFileId))); - // use dummy base URL string because the URL constructor only accepts absolute URLs. - const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL); - let baseOptions; - if (configuration) { - baseOptions = configuration.baseOptions; - } - - const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options}; - const localVarHeaderParameter = {} as any; - const localVarQueryParameter = {} as any; - - // authentication bearer required - // http bearer authentication required - await setBearerAuthToObject(localVarHeaderParameter, configuration) - - - setSearchParams(localVarUrlObj, localVarQueryParameter); let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {}; localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers}; @@ -6007,7 +6055,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async backup(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.backup(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.backup']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクをキャンセルします(ステータスをUploadedにします) @@ -6018,7 +6068,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async cancel(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.cancel(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.cancel']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクのチェックアウト候補を変更します。 @@ -6030,7 +6082,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async changeCheckoutPermission(audioFileId: number, postCheckoutPermissionRequest: PostCheckoutPermissionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.changeCheckoutPermission(audioFileId, postCheckoutPermissionRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.changeCheckoutPermission']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクをチェックインします(ステータスをFinishedにします) @@ -6041,7 +6095,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async checkin(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.checkin(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.checkin']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクをチェックアウトします(ステータスをInprogressにします) @@ -6052,7 +6108,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async checkout(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.checkout(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.checkout']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクの次のタスクに紐づく音声ファイルIDを取得します @@ -6063,7 +6121,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async getNextAudioFile(endedFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getNextAudioFile(endedFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.getNextAudioFile']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 音声ファイル・文字起こしタスク情報をページ指定して取得します @@ -6078,18 +6138,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async getTasks(limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTasks(limit, offset, status, direction, paramName, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); - }, - /** - * 指定した文字起こしタスクを差し戻します(ステータスをPendingにします) - * @summary - * @param {number} audioFileId ODMS Cloud上の音声ファイルID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - async sendBack(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { - const localVarAxiosArgs = await localVarAxiosParamCreator.sendBack(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.getTasks']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 指定した文字起こしタスクを一時中断します(ステータスをPendingにします) @@ -6100,7 +6151,9 @@ export const TasksApiFp = function(configuration?: Configuration) { */ async suspend(audioFileId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.suspend(audioFileId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TasksApi.suspend']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -6187,16 +6240,6 @@ export const TasksApiFactory = function (configuration?: Configuration, basePath getTasks(limit?: number, offset?: number, status?: string, direction?: string, paramName?: string, options?: any): AxiosPromise { return localVarFp.getTasks(limit, offset, status, direction, paramName, options).then((request) => request(axios, basePath)); }, - /** - * 指定した文字起こしタスクを差し戻します(ステータスをPendingにします) - * @summary - * @param {number} audioFileId ODMS Cloud上の音声ファイルID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - */ - sendBack(audioFileId: number, options?: any): AxiosPromise { - return localVarFp.sendBack(audioFileId, options).then((request) => request(axios, basePath)); - }, /** * 指定した文字起こしタスクを一時中断します(ステータスをPendingにします) * @summary @@ -6306,18 +6349,6 @@ export class TasksApi extends BaseAPI { return TasksApiFp(this.configuration).getTasks(limit, offset, status, direction, paramName, options).then((request) => request(this.axios, this.basePath)); } - /** - * 指定した文字起こしタスクを差し戻します(ステータスをPendingにします) - * @summary - * @param {number} audioFileId ODMS Cloud上の音声ファイルID - * @param {*} [options] Override http request option. - * @throws {RequiredError} - * @memberof TasksApi - */ - public sendBack(audioFileId: number, options?: AxiosRequestConfig) { - return TasksApiFp(this.configuration).sendBack(audioFileId, options).then((request) => request(this.axios, this.basePath)); - } - /** * 指定した文字起こしタスクを一時中断します(ステータスをPendingにします) * @summary @@ -6391,7 +6422,9 @@ export const TemplatesApiFp = function(configuration?: Configuration) { */ async getTemplates(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTemplates(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TemplatesApi.getTemplates']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -6490,7 +6523,9 @@ export const TermsApiFp = function(configuration?: Configuration) { */ async getTermsInfo(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getTermsInfo(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['TermsApi.getTermsInfo']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -7004,7 +7039,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async allocateLicense(allocateLicenseRequest: AllocateLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.allocateLicense(allocateLicenseRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.allocateLicense']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -7015,7 +7052,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async confirmUser(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.confirmUser(confirmRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.confirmUser']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -7026,7 +7065,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async confirmUserAndInitPassword(confirmRequest: ConfirmRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.confirmUserAndInitPassword(confirmRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.confirmUserAndInitPassword']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ライセンス割り当てを解除します @@ -7037,7 +7078,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async deallocateLicense(deallocateLicenseRequest: DeallocateLicenseRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deallocateLicense(deallocateLicenseRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.deallocateLicense']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーの情報を取得します @@ -7047,7 +7090,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async getMyUser(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getMyUser(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.getMyUser']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーに関連する各種情報を取得します @@ -7057,7 +7102,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async getRelations(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getRelations(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.getRelations']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのタスクソート条件を取得します @@ -7067,7 +7114,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async getSortCriteria(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getSortCriteria(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.getSortCriteria']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -7077,7 +7126,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async getUsers(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getUsers(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.getUsers']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * @@ -7088,7 +7139,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async signup(signupRequest: SignupRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.signup(signupRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.signup']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * 利用規約同意バージョンを更新 @@ -7099,7 +7152,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async updateAcceptedVersion(updateAcceptedVersionRequest: UpdateAcceptedVersionRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateAcceptedVersion(updateAcceptedVersionRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.updateAcceptedVersion']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ログインしているユーザーのタスクソート条件を更新します @@ -7110,7 +7165,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async updateSortCriteria(postSortCriteriaRequest: PostSortCriteriaRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateSortCriteria(postSortCriteriaRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.updateSortCriteria']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * ユーザーの情報を更新します @@ -7121,7 +7178,9 @@ export const UsersApiFp = function(configuration?: Configuration) { */ async updateUser(postUpdateUserRequest: PostUpdateUserRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateUser(postUpdateUserRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['UsersApi.updateUser']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; @@ -7583,7 +7642,9 @@ export const WorkflowsApiFp = function(configuration?: Configuration) { */ async createWorkflows(createWorkflowsRequest: CreateWorkflowsRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.createWorkflows(createWorkflowsRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WorkflowsApi.createWorkflows']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * アカウント内のワークフローを削除します @@ -7594,7 +7655,9 @@ export const WorkflowsApiFp = function(configuration?: Configuration) { */ async deleteWorkflow(workflowId: number, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.deleteWorkflow(workflowId, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WorkflowsApi.deleteWorkflow']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * アカウント内のワークフローの一覧を取得します @@ -7604,7 +7667,9 @@ export const WorkflowsApiFp = function(configuration?: Configuration) { */ async getWorkflows(options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.getWorkflows(options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WorkflowsApi.getWorkflows']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, /** * アカウント内のワークフローを編集します @@ -7616,7 +7681,9 @@ export const WorkflowsApiFp = function(configuration?: Configuration) { */ async updateWorkflow(workflowId: number, updateWorkflowRequest: UpdateWorkflowRequest, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> { const localVarAxiosArgs = await localVarAxiosParamCreator.updateWorkflow(workflowId, updateWorkflowRequest, options); - return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration); + const index = configuration?.serverIndex ?? 0; + const operationBasePath = operationServerMap['WorkflowsApi.updateWorkflow']?.[index]?.url; + return (axios, basePath) => createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration)(axios, operationBasePath || basePath); }, } }; diff --git a/dictation_client/src/api/base.ts b/dictation_client/src/api/base.ts index 0a09f9c..4e44af5 100644 --- a/dictation_client/src/api/base.ts +++ b/dictation_client/src/api/base.ts @@ -53,7 +53,7 @@ export class BaseAPI { constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) { if (configuration) { this.configuration = configuration; - this.basePath = configuration.basePath || this.basePath; + this.basePath = configuration.basePath ?? basePath; } } }; @@ -70,3 +70,17 @@ export class RequiredError extends Error { this.name = "RequiredError" } } + +interface ServerMap { + [key: string]: { + url: string, + description: string, + }[]; +} + +/** + * + * @export + */ +export const operationServerMap: ServerMap = { +} diff --git a/dictation_client/src/api/configuration.ts b/dictation_client/src/api/configuration.ts index eabe78f..9941122 100644 --- a/dictation_client/src/api/configuration.ts +++ b/dictation_client/src/api/configuration.ts @@ -19,6 +19,7 @@ export interface ConfigurationParameters { password?: string; accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string) | ((name?: string, scopes?: string[]) => Promise); basePath?: string; + serverIndex?: number; baseOptions?: any; formDataCtor?: new () => any; } @@ -58,6 +59,13 @@ export class Configuration { * @memberof Configuration */ basePath?: string; + /** + * override server index + * + * @type {number} + * @memberof Configuration + */ + serverIndex?: number; /** * base options for axios calls * @@ -80,6 +88,7 @@ export class Configuration { this.password = param.password; this.accessToken = param.accessToken; this.basePath = param.basePath; + this.serverIndex = param.serverIndex; this.baseOptions = param.baseOptions; this.formDataCtor = param.formDataCtor; } diff --git a/dictation_server/src/api/odms/openapi.json b/dictation_server/src/api/odms/openapi.json index cea7c44..e112ae2 100644 --- a/dictation_server/src/api/odms/openapi.json +++ b/dictation_server/src/api/odms/openapi.json @@ -2689,68 +2689,6 @@ "security": [{ "bearer": [] }] } }, - "/tasks/{audioFileId}/send-back": { - "post": { - "operationId": "sendBack", - "summary": "", - "description": "指定した文字起こしタスクを差し戻します(ステータスをPendingにします)", - "parameters": [ - { - "name": "audioFileId", - "required": true, - "in": "path", - "description": "ODMS Cloud上の音声ファイルID", - "schema": { "type": "number" } - } - ], - "responses": { - "200": { - "description": "成功時のレスポンス", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ChangeStatusResponse" - } - } - } - }, - "400": { - "description": "不正なパラメータ", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ErrorResponse" } - } - } - }, - "401": { - "description": "認証エラー", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ErrorResponse" } - } - } - }, - "404": { - "description": "指定したIDの音声ファイルが存在しない場合", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ErrorResponse" } - } - } - }, - "500": { - "description": "想定外のサーバーエラー", - "content": { - "application/json": { - "schema": { "$ref": "#/components/schemas/ErrorResponse" } - } - } - } - }, - "tags": ["tasks"], - "security": [{ "bearer": [] }] - } - }, "/tasks/{audioFileId}/backup": { "post": { "operationId": "backup", diff --git a/dictation_server/src/features/tasks/tasks.controller.ts b/dictation_server/src/features/tasks/tasks.controller.ts index c1e8b0d..2b976b2 100644 --- a/dictation_server/src/features/tasks/tasks.controller.ts +++ b/dictation_server/src/features/tasks/tasks.controller.ts @@ -462,45 +462,6 @@ export class TasksController { return {}; } - @Post(':audioFileId/send-back') - @ApiResponse({ - status: HttpStatus.OK, - type: ChangeStatusResponse, - description: '成功時のレスポンス', - }) - @ApiResponse({ - status: HttpStatus.BAD_REQUEST, - description: '不正なパラメータ', - type: ErrorResponse, - }) - @ApiResponse({ - status: HttpStatus.NOT_FOUND, - description: '指定したIDの音声ファイルが存在しない場合', - type: ErrorResponse, - }) - @ApiResponse({ - status: HttpStatus.UNAUTHORIZED, - description: '認証エラー', - type: ErrorResponse, - }) - @ApiResponse({ - status: HttpStatus.INTERNAL_SERVER_ERROR, - description: '想定外のサーバーエラー', - type: ErrorResponse, - }) - @ApiOperation({ - operationId: 'sendBack', - description: - '指定した文字起こしタスクを差し戻します(ステータスをPendingにします)', - }) - @ApiBearerAuth() - async sendBack( - @Headers() headers, - @Param() params: ChangeStatusRequest, - ): Promise { - return {}; - } - @Post(':audioFileId/backup') @ApiResponse({ status: HttpStatus.OK, @@ -533,10 +494,37 @@ export class TasksController { '指定した文字起こしタスクをバックアップします(ステータスをBackupにします)', }) @ApiBearerAuth() + @UseGuards(AuthGuard) + @UseGuards( + RoleGuard.requireds({ + roles: [ADMIN_ROLES.ADMIN], + }), + ) async backup( - @Headers() headers, + @Req() req: Request, @Param() params: ChangeStatusRequest, ): Promise { + const { audioFileId } = params; + + const accessToken = retrieveAuthorizationToken(req); + if (!accessToken) { + throw new HttpException( + makeErrorResponse('E000107'), + HttpStatus.UNAUTHORIZED, + ); + } + const decodedAccessToken = jwt.decode(accessToken, { json: true }); + if (!decodedAccessToken) { + throw new HttpException( + makeErrorResponse('E000101'), + HttpStatus.UNAUTHORIZED, + ); + } + const { userId } = decodedAccessToken as AccessToken; + + const context = makeContext(userId); + + await this.taskService.backup(context, audioFileId, userId); return {}; } diff --git a/dictation_server/src/features/tasks/tasks.service.spec.ts b/dictation_server/src/features/tasks/tasks.service.spec.ts index c74de6b..cb8ac34 100644 --- a/dictation_server/src/features/tasks/tasks.service.spec.ts +++ b/dictation_server/src/features/tasks/tasks.service.spec.ts @@ -36,6 +36,7 @@ import { import { createTemplateFile } from '../templates/test/utility'; import { NotificationhubService } from '../../gateways/notificationhub/notificationhub.service'; import { Roles } from '../../common/types/role'; +import { TasksRepositoryService } from '../../repositories/tasks/tasks.repository.service'; describe('TasksService', () => { it('タスク一覧を取得できる(admin)', async () => { @@ -2972,6 +2973,300 @@ describe('cancel', () => { }); }); +describe('backup', () => { + let source: DataSource | null = null; + beforeEach(async () => { + source = new DataSource({ + type: 'sqlite', + database: ':memory:', + logging: false, + entities: [__dirname + '/../../**/*.entity{.ts,.js}'], + synchronize: true, // trueにすると自動的にmigrationが行われるため注意 + }); + return source.initialize(); + }); + + afterEach(async () => { + if (!source) return; + await source.destroy(); + source = null; + }); + + it('文字起こし完了のタスクをバックアップできる', async () => { + if (!source) fail(); + const module = await makeTestingModule(source); + if (!module) fail(); + const { account, admin } = await makeTestAccount(source); + const { id: authorUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'author-user-external-id', + role: 'author', + author_id: 'MY_AUTHOR_ID', + }); + const { id: typistUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'typist-user-external-id', + role: 'typist', + }); + + const { taskId, audioFileId } = await createTask( + source, + account.id, + authorUserId, + 'MY_AUTHOR_ID', + '', + '01', + '00000001', + TASK_STATUS.FINISHED, + typistUserId, + ); + + // 作成したデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.FINISHED); + expect(task?.is_job_number_enabled).toBe(true); + } + + const service = module.get(TasksService); + await service.backup( + makeContext(admin.external_id), + audioFileId, + admin.external_id, + ); + + // バックアップしたデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.BACKUP); + expect(task?.is_job_number_enabled).toBe(false); + } + }); + + it('文字起こしバックアップ済みのタスクをバックアップできる', async () => { + if (!source) fail(); + const module = await makeTestingModule(source); + if (!module) fail(); + const { account, admin } = await makeTestAccount(source); + const { id: authorUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'author-user-external-id', + role: 'author', + author_id: 'MY_AUTHOR_ID', + }); + const { id: typistUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'typist-user-external-id', + role: 'typist', + }); + + const { taskId, audioFileId } = await createTask( + source, + account.id, + authorUserId, + 'MY_AUTHOR_ID', + '', + '01', + '00000001', + TASK_STATUS.BACKUP, + typistUserId, + false, + ); + + // 作成したデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.BACKUP); + expect(task?.is_job_number_enabled).toBe(false); + } + + const service = module.get(TasksService); + await service.backup( + makeContext(admin.external_id), + audioFileId, + admin.external_id, + ); + + // バックアップしたデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.BACKUP); + expect(task?.is_job_number_enabled).toBe(false); + } + }); + + it('タスクのステータスが[Finished,Backup]でない時、エラーを返却する', async () => { + if (!source) fail(); + const module = await makeTestingModule(source); + if (!module) fail(); + const { account, admin } = await makeTestAccount(source); + const { id: authorUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'author-user-external-id', + role: 'author', + author_id: 'MY_AUTHOR_ID', + }); + const { id: typistUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'typist-user-external-id', + role: 'typist', + }); + + const { taskId, audioFileId } = await createTask( + source, + account.id, + authorUserId, + 'MY_AUTHOR_ID', + '', + '01', + '00000001', + TASK_STATUS.IN_PROGRESS, + typistUserId, + ); + + // 作成したデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.IN_PROGRESS); + expect(task?.is_job_number_enabled).toBe(true); + } + + const service = module.get(TasksService); + + try { + await service.backup( + makeContext(admin.external_id), + audioFileId, + admin.external_id, + ); + fail(); + } catch (e) { + if (e instanceof HttpException) { + expect(e.getStatus()).toEqual(HttpStatus.BAD_REQUEST); + expect(e.getResponse()).toEqual(makeErrorResponse('E010601')); + } else { + fail(); + } + } + }); + + it('指定タスクが存在しない時、エラーを返却する', async () => { + if (!source) fail(); + const module = await makeTestingModule(source); + if (!module) fail(); + const { account, admin } = await makeTestAccount(source); + const { id: authorUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'author-user-external-id', + role: 'author', + author_id: 'MY_AUTHOR_ID', + }); + const { id: typistUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'typist-user-external-id', + role: 'typist', + }); + + const { taskId } = await createTask( + source, + account.id, + authorUserId, + 'MY_AUTHOR_ID', + '', + '01', + '00000001', + TASK_STATUS.FINISHED, + typistUserId, + ); + + // 作成したデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.FINISHED); + expect(task?.is_job_number_enabled).toBe(true); + } + + const service = module.get(TasksService); + + try { + await service.backup( + makeContext(admin.external_id), + 9999, // 存在しないタスクID + admin.external_id, + ); + fail(); + } catch (e) { + if (e instanceof HttpException) { + expect(e.getStatus()).toEqual(HttpStatus.NOT_FOUND); + expect(e.getResponse()).toEqual(makeErrorResponse('E010603')); + } else { + fail(); + } + } + }); + + it('DBアクセスに失敗した場合、エラーを返却する', async () => { + if (!source) fail(); + const module = await makeTestingModule(source); + if (!module) fail(); + const { account, admin } = await makeTestAccount(source); + const { id: authorUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'author-user-external-id', + role: 'author', + author_id: 'MY_AUTHOR_ID', + }); + const { id: typistUserId } = await makeTestUser(source, { + account_id: account.id, + external_id: 'typist-user-external-id', + role: 'typist', + }); + + const { taskId, audioFileId } = await createTask( + source, + account.id, + authorUserId, + 'MY_AUTHOR_ID', + '', + '01', + '00000001', + TASK_STATUS.FINISHED, + typistUserId, + ); + + // 作成したデータを確認 + { + const task = await getTask(source, taskId); + expect(task?.status).toBe(TASK_STATUS.FINISHED); + expect(task?.is_job_number_enabled).toBe(true); + } + + const service = module.get(TasksService); + + //DBアクセスに失敗するようにする + const tasksService = module.get( + TasksRepositoryService, + ); + tasksService.backup = jest.fn().mockRejectedValue('DB failed'); + + try { + await service.backup( + makeContext(admin.external_id), + audioFileId, + admin.external_id, + ); + fail(); + } catch (e) { + if (e instanceof HttpException) { + expect(e.getStatus()).toEqual(HttpStatus.INTERNAL_SERVER_ERROR); + expect(e.getResponse()).toEqual(makeErrorResponse('E009999')); + } else { + fail(); + } + } + }); +}); + describe('getNextTask', () => { let source: DataSource | null = null; beforeEach(async () => { diff --git a/dictation_server/src/features/tasks/tasks.service.ts b/dictation_server/src/features/tasks/tasks.service.ts index 0801572..1a26637 100644 --- a/dictation_server/src/features/tasks/tasks.service.ts +++ b/dictation_server/src/features/tasks/tasks.service.ts @@ -546,6 +546,61 @@ export class TasksService { } } + /** + * 指定した音声ファイルに紐づくタスクをbackupする + * @param context + * @param audioFileId + * @param externalId + * @returns backup + */ + async backup( + context: Context, + audioFileId: number, + externalId: string, + ): Promise { + try { + this.logger.log( + `[IN] [${context.getTrackingId()}] ${ + this.backup.name + } | params: { audioFileId: ${audioFileId}, externalId: ${externalId} };`, + ); + const { account_id: accountId } = + await this.usersRepository.findUserByExternalId(externalId); + + await this.taskRepository.backup(accountId, audioFileId, [ + TASK_STATUS.FINISHED, + TASK_STATUS.BACKUP, + ]); + } catch (e) { + this.logger.error(`[${context.getTrackingId()}] error=${e}`); + if (e instanceof Error) { + switch (e.constructor) { + case TasksNotFoundError: + throw new HttpException( + makeErrorResponse('E010603'), + HttpStatus.NOT_FOUND, + ); + case StatusNotMatchError: + throw new HttpException( + makeErrorResponse('E010601'), + HttpStatus.BAD_REQUEST, + ); + default: + throw new HttpException( + makeErrorResponse('E009999'), + HttpStatus.INTERNAL_SERVER_ERROR, + ); + } + } + throw new HttpException( + makeErrorResponse('E009999'), + HttpStatus.INTERNAL_SERVER_ERROR, + ); + } finally { + this.logger.log(`[OUT] [${context.getTrackingId()}] ${this.backup.name}`); + } + } + private async getB2cUsers( context: Context, tasks: TaskEntity[], diff --git a/dictation_server/src/features/tasks/test/utility.ts b/dictation_server/src/features/tasks/test/utility.ts index 705c0bd..b4de930 100644 --- a/dictation_server/src/features/tasks/test/utility.ts +++ b/dictation_server/src/features/tasks/test/utility.ts @@ -110,6 +110,7 @@ export const createTask = async ( jobNumber: string, status: string, typist_user_id?: number | undefined, + is_job_number_enabled?: boolean | undefined, ): Promise<{ taskId: number; audioFileId: number }> => { const { identifiers: audioFileIdentifiers } = await datasource .getRepository(AudioFile) @@ -135,7 +136,7 @@ export const createTask = async ( .insert({ job_number: jobNumber, account_id: account_id, - is_job_number_enabled: true, + is_job_number_enabled: is_job_number_enabled ?? true, audio_file_id: audioFile.id, status: status, typist_user_id: typist_user_id, diff --git a/dictation_server/src/repositories/tasks/entity/task.entity.ts b/dictation_server/src/repositories/tasks/entity/task.entity.ts index 7abb66f..373ee78 100644 --- a/dictation_server/src/repositories/tasks/entity/task.entity.ts +++ b/dictation_server/src/repositories/tasks/entity/task.entity.ts @@ -23,7 +23,7 @@ export class Task { job_number: string; @Column() account_id: number; - @Column({ nullable: true, type: 'tinyint' }) + @Column({ nullable: true, type: 'boolean' }) is_job_number_enabled: boolean | null; @Column() audio_file_id: number; diff --git a/dictation_server/src/repositories/tasks/tasks.repository.service.ts b/dictation_server/src/repositories/tasks/tasks.repository.service.ts index 3e6fd6f..d543609 100644 --- a/dictation_server/src/repositories/tasks/tasks.repository.service.ts +++ b/dictation_server/src/repositories/tasks/tasks.repository.service.ts @@ -425,6 +425,52 @@ export class TasksRepositoryService { }); } + /** + * 音声ファイルIDで指定したタスクをbackupする + * @param accountId バックアップするタスクのアカウントID + * @param audio_file_id バックアップするタスクの音声ファイルID + * @param permittedSourceStatus バックアップ可能なステータス + * @returns backup + */ + async backup( + accountId: number, + audio_file_id: number, + permittedSourceStatus: TaskStatus[], + ): Promise { + await this.dataSource.transaction(async (entityManager) => { + const taskRepo = entityManager.getRepository(Task); + const task = await taskRepo.findOne({ + where: { + account_id: accountId, + audio_file_id: audio_file_id, + }, + }); + if (!task) { + throw new TasksNotFoundError( + `task not found. audio_file_id:${audio_file_id}`, + ); + } + + if (!isTaskStatus(task.status)) { + throw new Error(`invalid task status. status:${task.status}`); + } + if (!permittedSourceStatus.includes(task.status)) { + throw new StatusNotMatchError( + `Unexpected task status. status:${task.status}`, + ); + } + + // ステータスをバックアップに更新、JobNumberを無効化 + await taskRepo.update( + { audio_file_id: audio_file_id }, + { + status: TASK_STATUS.BACKUP, + is_job_number_enabled: false, + }, + ); + }); + } + /** * 指定したアカウントIDに紐づくTask関連情報の一覧を取得します * @param account_id