@cemiar/database-wrapper
v1.0.9
Published
Cemiar package to handle database wrapper
Keywords
Readme
Cemiar Database Wrapper
Small, typed wrappers for MongoDB and Azure Redis Cache. Focused on safe connection handling and simple APIs.
Install
npm install @cemiar/database-wrapperMongoDB usage
import { DatabaseService } from '@cemiar/database-wrapper';
const mongo = DatabaseService.setInstance(process.env.MONGO_URI as string);
await mongo.connect();
const id = await mongo.saveElement({ name: 'alpha' }, 'CemiarTest', 'WrapperTest');
const doc = await mongo.getElementById(id, 'CemiarTest', 'WrapperTest');Redis usage (Azure)
import { RedisWrapper } from '@cemiar/database-wrapper';
await RedisWrapper.setInstance(process.env.REDIS_URL as string);
const redis = RedisWrapper.getInstance();
await redis.connect();
await redis.setValue('key', 'value');
const value = await redis.getValue('key');
await redis.deleteKey('key');Environment variables
MongoDB:
MONGO_URI- Optional:
MONGO_DB,MONGO_COLLECTION
Redis (pick one):
REDIS_URL- Or:
REDIS_HOST,REDIS_PORT,REDIS_PASSWORD,REDIS_TLS
Build
npm run buildIntegration tests
Tests use .env.local for credentials and skip suites if env vars are missing.
npm testNotes
- Mongo wrapper uses a singleton via
DatabaseService.setInstance(). - Redis wrapper uses a singleton via
RedisWrapper.getInstance().
