UI設定
UI Settingパッケージは、コード変更なしで動的なアプリケーション設定を管理するための柔軟なフレームワークを提供します。管理者がカスタムフィールドを定義し、ユーザーがそのスキーマに準拠したデータを保存できるようにします。
このパッケージを使用するタイミング
以下の場合にこのパッケージを使用します:
- 開発者の介入なしに管理者がカスタムフォームを定義できるようにする
- テ ナント固有の設定(テーマ、プリファレンス、制限)を保存する
- ユーザーが編集可能な通知やメールテンプレート設定を作成する
- 設定可能なドロップダウンリストやマスターデータテーブルを構築する
このパッケージが解決する問題
| 問題 | 解決策 |
|---|---|
| 新しい設定ごとにコードのデプロイが必要 | APIを通じてスキーマを動的に定義 |
| テナント間で設定構造が異なる | マルチテナントスキーマサポート |
| ユーザー入力設定のバリデーションがない | フィールド定義でデータ型と制約を強制 |
| 設定用の管理UIを構築するのが困難 | スキーマイントロスペクション付きREST API |
コアコンセプト
このモジュールは2つの主要コンポーネントで動作します:
-
設定: データエントリのスキーマ/構造を定義します。各設定にはコード、名前、およびデータ構造を記述するフィールドのリストがあります。
-
データ設定: 設定のスキーマに準拠する実際のデータエントリ。各データ設定は特定の設定コードに属します。
インストール
npm install @mbc-cqrs-serverless/ui-setting
コアコンセプト
このモジュールは2つの主要コンポーネントで動作します:
-
設定: データエントリのスキーマ/構造を定義します。各設定にはコード、名前、およびデータ構造を記述するフィールドのリストがあります。
-
データ設定: 設定のスキーマに準拠する実際のデータエントリ。各データ設定は特定の設定コードに属します。
モジュール設定
アプリケーションにSettingModuleを登録します:
import { Module } from '@nestjs/common';
import { SettingModule } from '@mbc-cqrs-serverless/ui-setting';
@Module({
imports: [
SettingModule.register({
enableSettingController: true, // Enable REST API for settings
enableDataController: true, // Enable REST API for data settings
}),
],
})
export class AppModule {}
設定オプション
| オプション | 型 | 説明 |
|---|---|---|
enableSettingController | boolean | 設定REST APIコントローラーを有効化 |
enableDataController | boolean | データ設定REST APIコントローラーを有効化 |
Settingサービス
SettingServiceは設定定義を管理します。