## 概要 [Task1494: API実装(I/F)](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/1494) - POST /accounts のAPIを実装 - POST /users/confirm のAPIを実装 - 上記APIからopenapiを実装 ## レビューポイント - ラフスケッチ時から変更になった箇所があるが問題ないか - ディーラーIDは省略可能かつIDを指定するべきなのでnumber?に型を変更 - 管理者ユーザー用に同意済み利用規約バージョンを受け付けるようにした - reCAPTCHAを想定して事前にreCAPTCHA用トークンを受け付けるようにした ## 動作確認状況 - openapiが生成されることを確認
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
import { Body, Controller, HttpStatus, Post } from '@nestjs/common';
|
|
import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';
|
|
import { ErrorResponse } from '../../common/error/types/types';
|
|
import { AccountsService } from './accounts.service';
|
|
import { CreateAccountRequest, CreateAccountResponse } from './types/types';
|
|
|
|
@ApiTags('accounts')
|
|
@Controller('accounts')
|
|
export class AccountsController {
|
|
constructor(private readonly accountService: AccountsService) {}
|
|
|
|
@Post()
|
|
@ApiResponse({
|
|
status: HttpStatus.OK,
|
|
type: CreateAccountResponse,
|
|
description: '成功時のレスポンス',
|
|
})
|
|
@ApiResponse({
|
|
status: HttpStatus.BAD_REQUEST,
|
|
description: '登録済みユーザーからの登録など',
|
|
type: ErrorResponse,
|
|
})
|
|
@ApiResponse({
|
|
status: HttpStatus.INTERNAL_SERVER_ERROR,
|
|
description: '想定外のサーバーエラー',
|
|
type: ErrorResponse,
|
|
})
|
|
@ApiOperation({ operationId: 'createAccount' })
|
|
async createAccount(
|
|
@Body() body: CreateAccountRequest,
|
|
): Promise<CreateAccountResponse> {
|
|
console.log(JSON.stringify(body));
|
|
|
|
return {};
|
|
}
|
|
}
|