Default Adapter
デフォルトアダプタはMongoDBを簡単なドキュメント保存レイヤーとして使用して、商品の注文機能を実装しています。
機能
- 注文の作成、修正、取得、削除
- 統計
- 組織ユーザーが、プロダクトごとに注文の数を統計することができます
注文ステータス
注文ステータスは下記の通り:
- PENDING
- PROCESSING
- ACCEPTED
- CLOSED
- CANCELLED
- 注文はPENDINGで作成されます
- ACCEPTEDは成功完了と示します
インストール手順
- 前提条件
パッケージ | バージョン |
---|---|
node | 18+ |
MongoDB | 5+ |
Nodeblocks User Service | 1.1.0+ |
Nodeblocks Organization Service | 1.1.0+ |
Nodeblocks Catalog Service | 1.1.0+ |
- パッケージをインストール
リポジトリを作成して、このパッケージを追加
mkdir my-order-service
npx gts init -y
npm install --save @basaldev/blocks-order-service
環境関数を設置する必要があります。クイックスタートガイドをサンプルとして参照してください。
- コードを導入
備考
下記の例は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();