Compare commits

...

4 Commits

Author SHA1 Message Date
6211953f14 3.1.32 2020-08-18 12:32:55 +00:00
99e520b776 fix(core): update 2020-08-18 12:32:54 +00:00
eda8297356 3.1.31 2020-08-18 12:05:08 +00:00
ffa52a5883 fix(core): update 2020-08-18 12:05:07 +00:00
6 changed files with 26 additions and 30 deletions

View File

@ -56,6 +56,7 @@ auditDevDependencies:
testStable:
stage: test
script:
- apt-get install lsb-core
- npmci npm prepare
- npmci node install stable
- npmci npm install

2
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartdata",
"version": "3.1.30",
"version": "3.1.32",
"lockfileVersion": 1,
"requires": true,
"dependencies": {

View File

@ -1,6 +1,6 @@
{
"name": "@pushrocks/smartdata",
"version": "3.1.30",
"version": "3.1.32",
"private": false,
"description": "do more with data",
"main": "dist_ts/index.js",

View File

@ -15,7 +15,7 @@ import * as mongoPlugin from 'mongodb-memory-server';
// =======================================
let testDb: smartdata.SmartdataDb;
let smartdataOptions: smartdata.ISmartdataOptions;
let smartdataOptions: smartdata.IMongoDescriptor;
let mongod: mongoPlugin.MongoMemoryServer;
tap.test('should create a testinstance as database', async () => {

View File

@ -1,5 +1,22 @@
export interface IMongoDescriptor {
mongoDbName: string;
/**
* the URL to connect to
*/
mongoDbUrl: string;
mongoDbPass: string;
/**
* the db to use for the project
*/
mongoDbName?: string;
/**
* a username to use to connect to the database
*/
mongoDbUser?: string;
/**
* an optional password that will be replace <PASSWORD> in the connection string
*/
mongoDbPass?: string;
}

View File

@ -4,43 +4,21 @@ import { ObjectMap } from '@pushrocks/lik';
import { SmartdataCollection } from './smartdata.classes.collection';
import { logger } from './smartdata.logging';
import { IMongoDescriptor } from './interfaces';
/**
* interface - indicates the connection status of the db
*/
export type TConnectionStatus = 'initial' | 'disconnected' | 'connected' | 'failed';
export interface ISmartdataOptions {
/**
* the URL to connect to
*/
mongoDbUrl: string;
/**
* the db to use for the project
*/
mongoDbName?: string;
/**
* a username to use to connect to the database
*/
mongoDbUser?: string;
/**
* an optional password that will be replace <PASSWORD> in the connection string
*/
mongoDbPass?: string;
}
export class SmartdataDb {
smartdataOptions: ISmartdataOptions;
smartdataOptions: IMongoDescriptor;
mongoDbClient: plugins.mongodb.MongoClient;
mongoDb: plugins.mongodb.Db;
status: TConnectionStatus;
smartdataCollectionMap = new ObjectMap<SmartdataCollection<any>>();
constructor(smartdataOptions: ISmartdataOptions) {
constructor(smartdataOptions: IMongoDescriptor) {
this.smartdataOptions = smartdataOptions;
this.status = 'initial';
}