@oridune/epic-odm
Advanced tools
Comparing version 1.0.37 to 1.0.38
{ | ||
"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; |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
150657
3078