@cureapp/dtf-core
v0.0.11
Published
DTFプロジェクト内で共通する基盤機能
Readme
@cureapp/dtf-core
DTFプロジェクト内で共通する基盤機能を提供するパッケージです。
インストール
npm install @cureapp/dtf-core提供される機能
JWT
AWS KMSを使用したJWTトークンの署名・検証機能を提供します。
import { signToken, verifyToken, AccessTokenPayload } from '@cureapp/dtf-core';
// アクセストークンの署名
const payload: AccessTokenPayload = {
scope: ['read', 'write'],
systemAdmin: false,
expiresAt: Date.now() + 3600000,
issuesAt: Date.now(),
subject: 'user-id',
jwtid: 'unique-id'
};
const token = await signToken(payload, keyId);
// トークンの検証
const decoded = await verifyToken(token, keyId);DynamoDBClient
DynamoDBの操作を簡素化するクライアントクラスです。
import { DynamoDBClient } from '@cureapp/dtf-core';
const client = new DynamoDBClient({
region: 'ap-northeast-1',
endpoint: 'http://localhost:8000' // オプション
});
// テーブル定義
const tableDef = {
tableName: 'my-table',
partitionKey: { name: 'id', type: 'S' as const }
};
// データの取得
const result = await client.get({
TableName: tableDef.tableName,
Key: { id: 'test-id' }
});
// データの保存
await client.put({
TableName: tableDef.tableName,
Item: { id: 'test-id', data: 'value' }
});generateUUID
UUID v4を生成するユーティリティ関数です。
import { generateUUID } from '@cureapp/dtf-core';
const id = generateUUID();
console.log(id); // 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'開発
ビルド
npm run buildテスト
npm run start:test # テスト環境の起動(Docker Compose)
npm test # テストの実行
npm run stop:test # テスト環境の停止リリース
npm run release # テスト → ビルド → publishライセンス
MIT
