メインコンテンツまでスキップ
バージョン: 0.9.0 (最新)

🚀 カテゴリ機能

カテゴリ機能は、Nodeblocksアプリケーションでカテゴリ管理操作のための完全な、事前に構成された機能を提供します。これらの機能は、スキーマ、ルート、ハンドラーを組み合わせて、カテゴリのCRUD操作、ステータス管理、階層構造のための即座に使用可能なAPIエンドポイントを作成します。


🎯 概要

カテゴリ機能は以下の目的で設計されています:

  • 完全なカテゴリ管理を提供 - 完全なCRUD操作を含む
  • 階層構造をサポート - 親子関係を持つ
  • カテゴリステータス管理を処理 - (有効化/無効化操作)
  • 安全な操作のためにバリデーションとルーティングを含む
  • カテゴリリストのフィルタリングとページネーションをサポート

📋 機能構造

各カテゴリ機能は一貫した合成パターンに従います:

  • スキーマ: カテゴリ入力データとパラメータを検証
  • ルート: カテゴリハンドラーを持つHTTPエンドポイントを提供
  • 合成: compose関数を使用してスキーマとルートを組み合わせる

🔧 利用可能なカテゴリ機能

createCategoryFeature

バリデーションとルーティングを使用して新しいカテゴリを作成します。

目的: 完全なバリデーションでカテゴリの作成を処理

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.createCategoryFeature, [{ dataStores: db }])));

APIエンドポイント: POST /api/categories


getCategoryFeatures

アクセス制御を使用して個別のカテゴリデータを取得します。

目的: 適切なバリデーションでカテゴリ情報を取得

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.getCategoryFeatures, [{ dataStores: db }])));

APIエンドポイント: GET /api/categories/:categoryId


findCategoriesFeatures

フィルタリングとページネーションを使用してカテゴリを検索およびリスト表示します。

目的: 検索機能を持つカテゴリリストを提供

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.findCategoriesFeatures, [{ dataStores: db }])));

APIエンドポイント: GET /api/categories


editCategoryFeatures

バリデーションとアクセス制御を使用してカテゴリデータを更新します。

目的: 適切なバリデーションでカテゴリ情報を変更

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.editCategoryFeatures, [{ dataStores: db }])));

APIエンドポイント: PATCH /api/categories/:categoryId


enableCategoryStatusFeatures

無効化されたカテゴリを有効化して可視性を復元します。

目的: カテゴリの可視性と機能を有効化

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.enableCategoryStatusFeatures, [{ dataStores: db }])));

APIエンドポイント: POST /api/categories/:categoryId/enable


disableCategoryStatusFeatures

有効化されたカテゴリを無効化してリストから非表示にします。

目的: カテゴリの可視性と機能を無効化

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.disableCategoryStatusFeatures, [{ dataStores: db }])));

APIエンドポイント: POST /api/categories/:categoryId/disable


editCategoryStatusFeatures

カテゴリステータス管理のために有効化と無効化操作を組み合わせます。

目的: 完全なカテゴリステータス管理機能を提供

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.editCategoryStatusFeatures, [{ dataStores: db }])));

APIエンドポイント:

  • POST /api/categories/:categoryId/enable - カテゴリを有効化
  • POST /api/categories/:categoryId/disable - カテゴリを無効化

deleteCategoryFeatures

適切なバリデーションとクリーンアップを使用してカテゴリを削除します。

目的: アクセス制御とクリーンアップでカテゴリを削除

合成:

使用例:

import { features } from '@nodeblocks/backend-sdk';


// With database configuration
app.use('/api', defService(partial(features.deleteCategoryFeatures, [{ dataStores: db }])));

APIエンドポイント: DELETE /api/categories/:categoryId