ディレクトリモジュール
MBC CQRS ServerlessフレームワークのためのS3統合を備えたディレクトリ管理機能です。
インストール
npm install @mbc-cqrs-serverless/directory
概要
Directoryパッケージは、マルチテナントCQRSアーキテクチャにおける包括的なファイルとフォルダの管理を提供します。Amazon S3と統合してファイルストレージを管理し、詳細なアクセス権限をサポートします。
機能
- ディレクトリCRUD操作: フォルダとファイルの作成、読み取り、更新、削除
- S3統合: Amazon S3との完全なファイル管理
- アクセス権限: 特定のフォルダとファイルに対する詳細な権限
- マルチテナントサポート: テナント分離されたディレクトリ管理
- イベント駆動アーキテクチャ: コマンド/イベントハンドリングを備えたCQRSパターン上に構築
- RESTful API: ディレクトリ操作のための完全なREST API
- バージョン履歴: ファイルとフォルダの以前のバージョンを追跡および復元
基本セットアップ
モジュール設定
import { DirectoryStorageModule } from '@mbc-cqrs-serverless/directory';
import { Module } from '@nestjs/common';
import { PrismaService } from './prisma.service';
@Module({
imports: [
DirectoryStorageModule.register({
enableController: true, // Enable REST API endpoints (REST APIエンドポイントを有効化)
prismaService: PrismaService, // Required when enableController is true (enableControllerがtrueの場合に必須)
dataSyncHandlers: [], // Optional data sync handlers (オプションのデータ同期ハンドラー)
}),
],
})
export class AppModule {}
APIエンドポイント
| メソッド | エンドポイント | 説明 |
|---|---|---|
| POST | /api/directory/ | 新しいファイルまたはフォルダを作成 |
| GET | /api/directory/summary | テナントのファイルサイズサマリーを取得 |
| GET | /api/directory/:id | 特定のファイルまたはフォルダの詳細を取得 |
| GET | /api/directory/:id/history | ファイルまたはフォルダのバージョン履歴を取得 |
| POST | /api/directory/:id/history/:version/restore | 特定のバージョンを復元 |
| PUT | /api/directory/:id/restore | 一時削除されたアイテムを復元 |
| PATCH | /api/directory/:id | 特定のファイルまたはフォルダを更新 |
| PATCH | /api/directory/:id/permission | ファイルまたはフォルダの権限を更新 |
| PATCH | /api/directory/:id/rename | ファイルまたはフォルダの名前を変更 |
| PATCH | /api/directory/:id/copy | ファイルまたはフォルダをコピー |
| PATCH | /api/directory/:id/move | ファイルまたはフォルダを移動 |
| DELETE | /api/directory/:id | ファイルまたはフォルダを論理削除 |
| DELETE | /api/directory/:id/bin | ファイルを完全に削除してS3からも削除 |
| POST | /api/directory/file/view | ファイル閲覧用の署名付きURLを生成 |
| POST | /api/directory/file | ファイルアップロード用の署名付きURLを生成 |