masaaki 0be9c26f09 Merged PR 781: データ検証ツール作成+動作確認
## 概要
[Task3573: データ検証ツール作成+動作確認](https://paruru.nds-tyo.co.jp:8443/tfs/ReciproCollection/fa4924a4-d079-4fab-9fb5-a9a11eb205f0/_workitems/edit/3573)

- データ検証ツールを作成しました

## レビューポイント
- 特にレビューしてほしい箇所
 詳細情報の突き合わせについて、ラフスケッチと対応しているか第三者目線でも確認してほしいです
 verification.serviceのcompareCardLicenses、compareLicenses、compareAccountsになります。

## UIの変更
- 無し

## 動作確認状況
- ローカルで確認

## 補足
- 無し
2024-02-28 05:31:13 +00:00

94 lines
3.9 KiB
TypeScript

import { MiddlewareConsumer, Module } from "@nestjs/common";
import { ServeStaticModule } from "@nestjs/serve-static";
import { ConfigModule, ConfigService } from "@nestjs/config";
import { TypeOrmModule } from "@nestjs/typeorm";
import { join } from "path";
import { LoggerMiddleware } from "./common/loggerMiddleware";
import { AdB2cModule } from "./gateways/adb2c/adb2c.module";
import { BlobstorageModule } from "./gateways/blobstorage/blobstorage.module";
import { RegisterController } from "./features/register/register.controller";
import { RegisterService } from "./features/register/register.service";
import { RegisterModule } from "./features/register/register.module";
import { AccountsRepositoryModule } from "./repositories/accounts/accounts.repository.module";
import { UsersRepositoryModule } from "./repositories/users/users.repository.module";
import { SortCriteriaRepositoryModule } from "./repositories/sort_criteria/sort_criteria.repository.module";
import { LicensesRepositoryModule } from "./repositories/licenses/licenses.repository.module";
import { WorktypesRepositoryModule } from "./repositories/worktypes/worktypes.repository.module";
import { AccountsController } from "./features/accounts/accounts.controller";
import { AccountsService } from "./features/accounts/accounts.service";
import { AccountsModule } from "./features/accounts/accounts.module";
import { UsersController } from "./features/users/users.controller";
import { UsersService } from "./features/users/users.service";
import { UsersModule } from "./features/users/users.module";
import { DeleteModule } from "./features/delete/delete.module";
import { DeleteRepositoryModule } from "./repositories/delete/delete.repository.module";
import { DeleteController } from "./features/delete/delete.controller";
import { DeleteService } from "./features/delete/delete.service";
import { TransferModule } from "./features/transfer/transfer.module";
import { TransferController } from "./features/transfer/transfer.controller";
import { TransferService } from "./features/transfer/transfer.service";
import { VerificationController } from "./features/verification/verification.controller";
import { VerificationService } from "./features/verification/verification.service";
import { VerificationModule } from "./features/verification/verification.module";
@Module({
imports: [
ServeStaticModule.forRoot({
rootPath: join(__dirname, ".", "build"),
}),
ConfigModule.forRoot({
envFilePath: [".env.local", ".env"],
isGlobal: true,
}),
AdB2cModule,
AccountsModule,
UsersModule,
TransferModule,
RegisterModule,
VerificationModule,
AccountsRepositoryModule,
UsersRepositoryModule,
SortCriteriaRepositoryModule,
LicensesRepositoryModule,
WorktypesRepositoryModule,
BlobstorageModule,
DeleteModule,
DeleteRepositoryModule,
TypeOrmModule.forRootAsync({
imports: [ConfigModule],
useFactory: async (configService: ConfigService) => ({
type: "mysql",
host: configService.get("DB_HOST"),
port: configService.get("DB_PORT"),
username: configService.get("DB_USERNAME"),
password: configService.get("DB_PASSWORD"),
database: configService.get("DB_NAME"),
autoLoadEntities: true, // forFeature()で登録されたEntityを自動的にロード
synchronize: false, // trueにすると自動的にmigrationが行われるため注意
}),
inject: [ConfigService],
}),
],
controllers: [
RegisterController,
AccountsController,
UsersController,
DeleteController,
TransferController,
VerificationController,
],
providers: [
RegisterService,
AccountsService,
UsersService,
DeleteService,
TransferService,
VerificationService,
],
})
export class AppModule {
configure(consumer: MiddlewareConsumer) {
consumer.apply(LoggerMiddleware).forRoutes("");
}
}