Socket
Socket
Sign inDemoInstall

@oridune/epic-odm

Package Overview
Dependencies
Maintainers
2
Versions
81
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@oridune/epic-odm - npm Package Compare versions

Comparing version 1.0.37 to 1.0.38

2

package.json
{
"name": "@oridune/epic-odm",
"version": "1.0.37",
"version": "1.0.38",
"description": "Install 1 ODM and code once with any database driver.",

@@ -5,0 +5,0 @@ "main": "./src/index.js",

@@ -6,6 +6,6 @@ import * as mongodb from "mongodb";

import { Aggregation, ModelProjection } from "../lib/model/utils";
export declare class MongoDBAdapter<C extends mongodb.MongoClient, M extends typeof BaseModel> extends DatabaseAdapter<C, M> {
export declare class MongoDBAdapter<C extends mongodb.MongoClient> extends DatabaseAdapter<C> {
Config: mongodb.MongoClientOptions;
Logs: boolean;
constructor(models: M[], uri: string, Config?: mongodb.MongoClientOptions, Logs?: boolean);
constructor(models: (typeof BaseModel | Promise<typeof BaseModel>)[], uri: string, Config?: mongodb.MongoClientOptions, Logs?: boolean);
createConnection(config: DatabaseConfiguration): Promise<mongodb.MongoClient>;

@@ -12,0 +12,0 @@ closeConnection(connectionObject: C): Promise<void>;

@@ -246,16 +246,22 @@ "use strict";

for (const Model of this.Models) {
const ModelOptions = (0, model_1.getModelOptions)(Model);
// Create Collection
const Collection = (await this.getConnectionObject())
.db(ModelOptions.database)
.collection(ModelOptions.getResolvedName());
// Create Main Indexes
await createIndexes(Collection, ModelOptions.indexes);
// Create Sub Indexes
for (const Embed of Object.values(ModelOptions.embeds))
await createIndexes(Collection, (0, model_1.getModelOptions)(Embed.model).indexes, Embed.options.name);
const TargetModel = await Model;
if (TargetModel) {
const ModelOptions = (0, model_1.getModelOptions)(await Model);
// Create Collection
const Collection = (await this.getConnectionObject())
.db(ModelOptions.database)
.collection(ModelOptions.getResolvedName());
// Create Main Indexes
await createIndexes(Collection, ModelOptions.indexes);
// Create Sub Indexes
for (const Embed of Object.values(ModelOptions.embeds))
await createIndexes(Collection, (0, model_1.getModelOptions)(Embed.model).indexes, Embed.options.name);
}
}
for (const Model of this.Models) {
const ModelOptions = (0, model_1.getModelOptions)(Model);
await ((_a = ModelOptions.onInit) === null || _a === void 0 ? void 0 : _a.call(ModelOptions));
const TargetModel = await Model;
if (TargetModel) {
const ModelOptions = (0, model_1.getModelOptions)(TargetModel);
await ((_a = ModelOptions.onInit) === null || _a === void 0 ? void 0 : _a.call(ModelOptions));
}
}

@@ -262,0 +268,0 @@ }

@@ -19,4 +19,4 @@ import { DatabaseSession } from "./database";

}
export declare class DatabaseAdapter<C, M extends typeof BaseModel> {
Models: M[];
export declare class DatabaseAdapter<C> {
Models: (typeof BaseModel | Promise<typeof BaseModel>)[];
URI: string;

@@ -26,3 +26,3 @@ Options: {};

private ConnectionObject?;
constructor(Models: M[], URI: string, Options?: {});
constructor(Models: (typeof BaseModel | Promise<typeof BaseModel>)[], URI: string, Options?: {});
getDatabaseConfiguration(): DatabaseConfiguration;

@@ -29,0 +29,0 @@ getConnectionObject(): Promise<NonNullable<C>>;

@@ -23,7 +23,10 @@ "use strict";

// Resolve Models
this.Models.map((model) => {
const options = (0, model_1.getModelOptions)(model);
if (!options.database)
(0, model_1.setModelOptions)(model, Object.assign(Object.assign({}, options), { database: this.DatabaseConfiguration.database }));
return model;
this.Models.map(async (model) => {
const Model = await model;
if (Model) {
const options = (0, model_1.getModelOptions)(Model);
if (!options.database)
(0, model_1.setModelOptions)(Model, Object.assign(Object.assign({}, options), { database: this.DatabaseConfiguration.database }));
return Model;
}
});

@@ -30,0 +33,0 @@ }

@@ -9,3 +9,3 @@ import { DatabaseAdapter } from "./adapter";

}
export declare class DatabaseSession<D extends DatabaseAdapter<any, any>> {
export declare class DatabaseSession<D extends DatabaseAdapter<any>> {
Adapter: D;

@@ -12,0 +12,0 @@ private Connection;

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc