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

Default Adapter

デフォルトアダプタはMongoDBを簡単なドキュメント保存レイヤーとして使用して、組織や変更依頼の管理の機能を実装しています。

機能

  • 組織情報管理
    • ビジネス名、連絡先情報、住所、営業時間などのマーチャント情報を作成、更新、削除
  • 審査
    • システム管理者は、組織として登録されたすべての組織の情報を確認し、組織を許可または禁止できます
    • 許可された組織は、マーチャントとしての地位が維持され、サービスを引き続き利用できます
    • 禁止された組織は、違反が解決されるまでプラットフォームから一時的に削除されます
  • 組織の画像、ファイル管理
    • 組織サービスは画像やその他のファイルをアップロードするためのエンドポイントを提供します
    • アップロードされたものは、その他のサービスから使えます

インストール手順

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

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

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

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

  1. コードを導入
備考

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

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

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

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

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

import 'dotenv/config';
import {
createNodeblocksOrganizationApp,
defaultAdapter,
} from '@basaldev/blocks-organization-service';
import {crypto, security} from '@basaldev/blocks-backend-sdk';
import {getEnvString} from './helper/utilities';

async function main() {
const adapter = await defaultAdapter.createOrganizationDefaultAdapter(
{
allowedAttachmentContentTypes: ['jpeg', 'png'],
authEncSecret: getEnvString('AUTH_ENC_SECRET', ''),
authSignSecret: getEnvString('AUTH_SIGN_SECRET', ''),
authenticate: security.defaultCookieAuth,
autoApprove: true,
maxFileSizeMB: Number(getEnvString('MAX_FILE_SIZE_MB', '10')),
},
{
bucket: getEnvString('BUCKET_NAME', ''),
db: getEnvString('DATABASE_URL', ''),
userAPI: getEnvString('USER_ENDPOINT', ''),
}
);

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

void main();

API参考資料