マスターモジュール
マスターサービスは、マルチテナント環境でのマスターデータと設定の管理機能を提供します。
概要
マスターサービスは2つの主要コンポーネントで構成されています。
Master Setting Service
- 階層的な設定管理を実装
- すべてのレベルでの設定作成をサポート
- テナント設定の更新および削除操作を提供
- 階層的な設定取得を実装
マスターデータサービス
- マスターデータエンティティのCRUD操作を実装
- リストおよび取得機能を提供
- コード検証機能を含む
- テナント間のデータ整合性を確保
アーキテクチャ
インストール
npm install @mbc-cqrs-serverless/master
基本的な使い方
MasterModule の動作をカスタマイズするには、静的な register() メソッドでオプションの object を渡します。
モジュールオプション
| オプション | 型 | 説明 |
|---|---|---|
enableController | boolean | デフォルトのマスターコントローラーを有効または無効にする |
dataSyncHandlers | Type<IDataSyncHandler>[] | マスターデータを外部システム(例:RDS)に同期するオプションハンドラー |
prismaService | Type<any> | RDSバッククエリ用のオプションPrismaサービス |
import { MasterModule } from '@mbc-cqrs-serverless/master'
@Module({
imports: [ MasterModule.register({
enableController: true,
dataSyncHandlers: [MasterDataRdsSyncHandler],
prismaService: PrismaService,
})],
controllers: [],
exports: [],
})
APIリファレンス
マスター設定サービス
MasterSettingService インターフェースは、ユーザー、グループ、テナント、共通のさまざまなレベルで設定を管理します。設定の取得、更新、作成、削除を可能にします。
getSetting(dto: GetSettingDto, context: { invokeContext: IInvoke }): Promise<MasterSettingEntity>
指定された設定コードに基づいて特定の設定を取得します。
const masterSetting = await this.masterSettingService.getSetting(
{
code: "service",
}
);
createCommonTenantSetting(dto: CommonSettingDto, context: { invokeContext: IInvoke }): Promise<CommandModel>
システム全体で共有される共通のテナント設定を作成します。
const masterSetting = await this.masterSettingService.createGroupSetting(
{
name: "common setting",
code: "service",
settingValue: {
region: "US",
plan: "common"
}
});