bitruth-shared
v1.0.13
Published
Shared utilities and models for Bitruth services - requires proper environment configuration for security
Maintainers
Readme
@bitruth/shared
Shared utilities and models for Bitruth services.
Installation
npm install @bitruth/sharedUsage
const {
docClient,
tables,
getCurrentTimeUTC7,
verifyBearerToken,
basicAuth,
memberModel,
rewardModel,
giftModel
} = require('@bitruth/shared');Available Modules
Helpers
- database: DynamoDB client and table configurations
- time: Time utilities for UTC+7 timezone
- auth: Authentication utilities (JWT, Basic Auth)
Models
- memberModel: Member data operations
- rewardModel: Reward data operations
- giftModel: Gift/Giftbox data operations
Environment Variables
The following environment variables MUST be set in your service:
Required for Authentication
# JWT Secret for admin authentication (REQUIRED)
JWT_SECRET=your-secure-jwt-secret-key
# Public key for user token verification (REQUIRED)
PUBLIC_KEY=your-base64-encoded-public-key
# External API credentials (REQUIRED)
EXTERNAL_API_USERNAME=your-api-username
EXTERNAL_API_PASSWORD=your-api-passwordRequired for Database
MEMBER_TABLE=your-member-table-name
REWARD_TABLE=your-reward-table-name
GIFT_TABLE=your-gift-table-name
REFERRAL_TABLE=your-referral-table-name
BTC_STATUS_TABLE=your-btc-status-table-name
BTC_INVENTORY_TABLE=your-btc-inventory-table-name
PROBABILITY_TABLE=your-probability-table-name
PROBABILITY_HISTORY_TABLE=your-probability-history-table-name
PROBABILITY_SUPERDRAW_TABLE=your-probability-superdraw-table-name
ADMIN_TABLE=your-admin-table-name
ADMIN_LOG_TABLE=your-admin-log-table-name
SYSTEM_LOG_TABLE=your-system-log-table-name
USER_DETAILS_SUMMARY_TABLE=your-user-details-summary-table-name
SUPERDRAW_ELIGIBLE_TABLE=your-superdraw-eligible-table-name
LUCKY_DRAW_TABLE=your-lucky-draw-table-nameOptional
# JWT expiration time (default: 24h)
JWT_EXPIRES_IN=24h
# Local development
IS_OFFLINE=trueSecurity Notes
⚠️ IMPORTANT: This package requires proper environment variable configuration for security:
- JWT_SECRET: Must be a strong, unique secret key
- PUBLIC_KEY: Must be your actual public key for token verification
- EXTERNAL_API_USERNAME/PASSWORD: Must be secure credentials
Never use default values in production!
Development
# Install dependencies
npm install
# Run tests (if available)
npm test
# Publish new version
npm version patch|minor|major
npm publishLicense
ISC
