Default Adapter
デフォルトアダプタはMongoDBを簡単なドキュメント保存レイヤーとして使用して、組織や変更依頼の管理の機能を実装しています。
機能
- 組織情報管理
- ビジネス名、連絡先情報、住所、営業時間などのマーチャント情報を作成、更新、削除
- 審査
- システム管理者は、組織として登録されたすべての組織の情報を確認し、組織を許可または禁止できます
- 許可された組織は、マーチャントとしての地位が維持され、サービスを引き続き利用できます
- 禁止された組織は、違反が解決されるまでプラットフォームから一時的に削除されます
- 組織の画像、ファイル管理
- 組織サービスは画像やその他のファイルをアップロードするためのエンドポイントを提供します
- アップロードされたものは、その他のサービスから使えます
インストール手順
- 前提条件
パッケージ | バージョン |
---|---|
node | 18+ |
MongoDB | 5+ |
Nodeblocks User Service | 1.1.0+ |
- パッケージをインストール
リポジトリを作成して、このパッケージを追加
mkdir my-organization-service
npx gts init -y
npm install --save @basaldev/blocks-organization-service
環境関数を設置する必要があります。クイックスタートガイドをサンプルとして参照してください。
- コードを導入
備考
下記の例は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();