メインコンテンツまでスキップ

Default Adapter

デフォルトアダプタはMongoDBを簡単なドキュメント保存レイヤーとして使用して、商品の注文機能を実装しています。

機能

  • 注文の作成、修正、取得、削除
  • 統計
    • 組織ユーザーが、プロダクトごとに注文の数を統計することができます

注文ステータス

注文ステータスは下記の通り:

  • PENDING
  • PROCESSING
  • ACCEPTED
  • CLOSED
  • CANCELLED
  • 注文はPENDINGで作成されます
  • ACCEPTEDは成功完了と示します

インストール手順

  1. 前提条件
パッケージバージョン
node18+
MongoDB5+
Nodeblocks User Service1.1.0+
Nodeblocks Organization Service1.1.0+
Nodeblocks Catalog Service1.1.0+
  1. パッケージをインストール

リポジトリを作成して、このパッケージを追加

mkdir my-order-service
npx gts init -y
npm install --save @basaldev/blocks-order-service

環境関数を設置する必要があります。クイックスタートガイドをサンプルとして参照してください。

  1. コードを導入
備考

下記の例はCookie認証のサンプルです:

authenticate: security.defaultCookieAuth, // <-- Cookie認証
備考

下記の例はCORSの許可リストにlocalhostを追加する例です。お使いになる予定のドメインを配列に追加してください。

corsOptions: {
credentials: true,
origin: ['http://localhost', 'http://your-domain.com'],
},

src/index.tsに下記を入れてください:

import {
createNodeblocksOrderApp,
defaultAdapter,
} from '@basaldev/blocks-order-service';
import {crypto, security} from '@basaldev/blocks-backend-sdk';

import {getEnvString} from './helper/utilities';

async function main() {
const adapter = await defaultAdapter.createOrderDefaultAdapter(
{
authEncSecret: getEnvString('AUTH_ENC_SECRET', ''),
authSignSecret: getEnvString('AUTH_SIGN_SECRET', ''),
authenticate: security.defaultCookieAuth,
serviceEndpoints: {
order: getEnvString('ORDER_ENDPOINT', ''),
},
},
{
catalogAPI: getEnvString('CATALOG_ENDPOINT', ''),
db: getEnvString('DATABASE_URL', ''),
organizationAPI: getEnvString('ORGANIZATION_ENDPOINT', ''),
userAPI: getEnvString('USER_ENDPOINT', ''),
}
);

await createNodeblocksOrderApp({
corsOptions: {
credentials: true,
origin: ['http://localhost'],
},
enableCookieParser: true,
}).startService({
PORT: Number(getEnvString('ORDER_PORT', '8081')),
adapter,
env: 'development',
});
}

void main();

API参考資料