@warlock.js/cascade 1.0.3 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/commands/create-new-app/get-app-path.d.ts +2 -0
- package/cjs/commands/create-new-app/get-app-path.d.ts.map +1 -0
- package/cjs/commands/create-new-app/get-app-path.js +8 -0
- package/cjs/commands/create-new-app/get-app-path.js.map +1 -0
- package/cjs/commands/create-new-app/index.d.ts +2 -0
- package/cjs/commands/create-new-app/index.d.ts.map +1 -0
- package/cjs/commands/create-new-app/index.js +44 -0
- package/cjs/commands/create-new-app/index.js.map +1 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts +2 -0
- package/cjs/commands/create-new-app/select-app-type.d.ts.map +1 -0
- package/cjs/commands/create-new-app/types.d.ts +9 -0
- package/cjs/commands/create-new-app/types.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.d.ts +3 -0
- package/cjs/commands/create-warlock-app/index.d.ts.map +1 -0
- package/cjs/commands/create-warlock-app/index.js +18 -0
- package/cjs/commands/create-warlock-app/index.js.map +1 -0
- package/cjs/helpers/app.d.ts +51 -0
- package/cjs/helpers/app.d.ts.map +1 -0
- package/cjs/helpers/app.js +127 -0
- package/cjs/helpers/app.js.map +1 -0
- package/cjs/helpers/exec.d.ts +10 -0
- package/cjs/helpers/exec.d.ts.map +1 -0
- package/cjs/helpers/exec.js +69 -0
- package/cjs/helpers/exec.js.map +1 -0
- package/cjs/helpers/package-manager.d.ts +6 -0
- package/cjs/helpers/package-manager.d.ts.map +1 -0
- package/cjs/helpers/package-manager.js +22 -0
- package/cjs/helpers/package-manager.js.map +1 -0
- package/cjs/helpers/paths.d.ts +4 -0
- package/cjs/helpers/paths.d.ts.map +1 -0
- package/cjs/helpers/paths.js +8 -0
- package/cjs/helpers/paths.js.map +1 -0
- package/cjs/helpers/project-builder-helpers.d.ts +7 -0
- package/cjs/helpers/project-builder-helpers.d.ts.map +1 -0
- package/cjs/helpers/project-builder-helpers.js +44 -0
- package/cjs/helpers/project-builder-helpers.js.map +1 -0
- package/cjs/index.d.ts +1 -12
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +5 -1
- package/cjs/index.js.map +1 -1
- package/esm/blueprint/blueprint.d.ts +2 -2
- package/esm/blueprint/blueprint.d.ts.map +1 -1
- package/esm/blueprint/blueprint.js +2 -0
- package/esm/blueprint/blueprint.js.map +1 -1
- package/esm/index.d.ts +0 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/migration/migrate.d.ts.map +1 -1
- package/esm/migration/migrate.js +2 -6
- package/esm/migration/migrate.js.map +1 -1
- package/esm/migration/migration-office.d.ts +3 -3
- package/esm/migration/migration-office.d.ts.map +1 -1
- package/esm/migration/migration-office.js +15 -1
- package/esm/migration/migration-office.js.map +1 -1
- package/esm/migration/types.d.ts +10 -0
- package/esm/migration/types.d.ts.map +1 -1
- package/esm/model/ModelAggregate.js +1 -1
- package/esm/model/ModelAggregate.js.map +1 -1
- package/esm/model/base-model.d.ts +2 -2
- package/esm/model/base-model.d.ts.map +1 -1
- package/esm/model/base-model.js +14 -4
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/model.d.ts +13 -2
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +41 -3
- package/esm/model/model.js.map +1 -1
- package/esm/types.d.ts +30 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/deep-diff.d.ts +9 -0
- package/esm/utils/deep-diff.d.ts.map +1 -0
- package/esm/utils/deep-diff.js +42 -0
- package/esm/utils/deep-diff.js.map +1 -0
- package/package.json +2 -1
- package/cjs/aggregate/DeselectPipeline.d.ts +0 -10
- package/cjs/aggregate/DeselectPipeline.d.ts.map +0 -1
- package/cjs/aggregate/DeselectPipeline.js +0 -17
- package/cjs/aggregate/DeselectPipeline.js.map +0 -1
- package/cjs/aggregate/GeoNearPipeline.d.ts +0 -34
- package/cjs/aggregate/GeoNearPipeline.d.ts.map +0 -1
- package/cjs/aggregate/GeoNearPipeline.js +0 -44
- package/cjs/aggregate/GeoNearPipeline.js.map +0 -1
- package/cjs/aggregate/GroupByPipeline.d.ts +0 -12
- package/cjs/aggregate/GroupByPipeline.d.ts.map +0 -1
- package/cjs/aggregate/GroupByPipeline.js +0 -28
- package/cjs/aggregate/GroupByPipeline.js.map +0 -1
- package/cjs/aggregate/LimitPipeline.d.ts +0 -10
- package/cjs/aggregate/LimitPipeline.d.ts.map +0 -1
- package/cjs/aggregate/LimitPipeline.js +0 -14
- package/cjs/aggregate/LimitPipeline.js.map +0 -1
- package/cjs/aggregate/LookupPipeline.d.ts +0 -19
- package/cjs/aggregate/LookupPipeline.d.ts.map +0 -1
- package/cjs/aggregate/LookupPipeline.js +0 -19
- package/cjs/aggregate/LookupPipeline.js.map +0 -1
- package/cjs/aggregate/OrWherePipeline.d.ts +0 -23
- package/cjs/aggregate/OrWherePipeline.d.ts.map +0 -1
- package/cjs/aggregate/OrWherePipeline.js +0 -42
- package/cjs/aggregate/OrWherePipeline.js.map +0 -1
- package/cjs/aggregate/SelectPipeline.d.ts +0 -10
- package/cjs/aggregate/SelectPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SelectPipeline.js +0 -26
- package/cjs/aggregate/SelectPipeline.js.map +0 -1
- package/cjs/aggregate/SkipPipeline.d.ts +0 -10
- package/cjs/aggregate/SkipPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SkipPipeline.js +0 -14
- package/cjs/aggregate/SkipPipeline.js.map +0 -1
- package/cjs/aggregate/SortByPipeline.d.ts +0 -10
- package/cjs/aggregate/SortByPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortByPipeline.js +0 -18
- package/cjs/aggregate/SortByPipeline.js.map +0 -1
- package/cjs/aggregate/SortPipeline.d.ts +0 -11
- package/cjs/aggregate/SortPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortPipeline.js +0 -18
- package/cjs/aggregate/SortPipeline.js.map +0 -1
- package/cjs/aggregate/SortRandomPipeline.d.ts +0 -10
- package/cjs/aggregate/SortRandomPipeline.d.ts.map +0 -1
- package/cjs/aggregate/SortRandomPipeline.js +0 -16
- package/cjs/aggregate/SortRandomPipeline.js.map +0 -1
- package/cjs/aggregate/UnwindPipeline.d.ts +0 -14
- package/cjs/aggregate/UnwindPipeline.d.ts.map +0 -1
- package/cjs/aggregate/UnwindPipeline.js +0 -19
- package/cjs/aggregate/UnwindPipeline.js.map +0 -1
- package/cjs/aggregate/WhereExpression.d.ts +0 -17
- package/cjs/aggregate/WhereExpression.d.ts.map +0 -1
- package/cjs/aggregate/WhereExpression.js +0 -149
- package/cjs/aggregate/WhereExpression.js.map +0 -1
- package/cjs/aggregate/WhereExpressionPipeline.d.ts +0 -10
- package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +0 -1
- package/cjs/aggregate/WhereExpressionPipeline.js +0 -15
- package/cjs/aggregate/WhereExpressionPipeline.js.map +0 -1
- package/cjs/aggregate/WherePipeline.d.ts +0 -13
- package/cjs/aggregate/WherePipeline.d.ts.map +0 -1
- package/cjs/aggregate/WherePipeline.js +0 -12
- package/cjs/aggregate/WherePipeline.js.map +0 -1
- package/cjs/aggregate/aggregate.d.ts +0 -358
- package/cjs/aggregate/aggregate.d.ts.map +0 -1
- package/cjs/aggregate/aggregate.js +0 -680
- package/cjs/aggregate/aggregate.js.map +0 -1
- package/cjs/aggregate/expressions.d.ts +0 -361
- package/cjs/aggregate/expressions.d.ts.map +0 -1
- package/cjs/aggregate/expressions.js +0 -536
- package/cjs/aggregate/expressions.js.map +0 -1
- package/cjs/aggregate/index.d.ts +0 -21
- package/cjs/aggregate/index.d.ts.map +0 -1
- package/cjs/aggregate/parsePipelines.d.ts +0 -5
- package/cjs/aggregate/parsePipelines.d.ts.map +0 -1
- package/cjs/aggregate/parsePipelines.js +0 -6
- package/cjs/aggregate/parsePipelines.js.map +0 -1
- package/cjs/aggregate/pipeline.d.ts +0 -31
- package/cjs/aggregate/pipeline.d.ts.map +0 -1
- package/cjs/aggregate/pipeline.js +0 -42
- package/cjs/aggregate/pipeline.js.map +0 -1
- package/cjs/aggregate/types.d.ts +0 -8
- package/cjs/aggregate/types.d.ts.map +0 -1
- package/cjs/aggregate/types.js +0 -31
- package/cjs/aggregate/types.js.map +0 -1
- package/cjs/blueprint/blueprint-column.d.ts +0 -82
- package/cjs/blueprint/blueprint-column.d.ts.map +0 -1
- package/cjs/blueprint/blueprint.d.ts +0 -162
- package/cjs/blueprint/blueprint.d.ts.map +0 -1
- package/cjs/blueprint/blueprint.js +0 -338
- package/cjs/blueprint/blueprint.js.map +0 -1
- package/cjs/blueprint/index.d.ts +0 -3
- package/cjs/blueprint/index.d.ts.map +0 -1
- package/cjs/blueprint/model-blueprint.d.ts +0 -15
- package/cjs/blueprint/model-blueprint.d.ts.map +0 -1
- package/cjs/blueprint/model-blueprint.js +0 -16
- package/cjs/blueprint/model-blueprint.js.map +0 -1
- package/cjs/casts/arrayOf.d.ts +0 -5
- package/cjs/casts/arrayOf.d.ts.map +0 -1
- package/cjs/casts/arrayOf.js +0 -18
- package/cjs/casts/arrayOf.js.map +0 -1
- package/cjs/casts/cast-email.d.ts +0 -2
- package/cjs/casts/cast-email.d.ts.map +0 -1
- package/cjs/casts/cast-email.js +0 -5
- package/cjs/casts/cast-email.js.map +0 -1
- package/cjs/casts/castModel.d.ts +0 -3
- package/cjs/casts/castModel.d.ts.map +0 -1
- package/cjs/casts/castModel.js +0 -49
- package/cjs/casts/castModel.js.map +0 -1
- package/cjs/casts/expiresAfter.d.ts +0 -3
- package/cjs/casts/expiresAfter.d.ts.map +0 -1
- package/cjs/casts/expiresAfter.js +0 -5
- package/cjs/casts/expiresAfter.js.map +0 -1
- package/cjs/casts/index.d.ts +0 -9
- package/cjs/casts/index.d.ts.map +0 -1
- package/cjs/casts/oneOf.d.ts +0 -3
- package/cjs/casts/oneOf.d.ts.map +0 -1
- package/cjs/casts/oneOf.js +0 -22
- package/cjs/casts/oneOf.js.map +0 -1
- package/cjs/casts/random-string.d.ts +0 -2
- package/cjs/casts/random-string.d.ts.map +0 -1
- package/cjs/casts/random-string.js +0 -5
- package/cjs/casts/random-string.js.map +0 -1
- package/cjs/casts/randomInteger.d.ts +0 -2
- package/cjs/casts/randomInteger.d.ts.map +0 -1
- package/cjs/casts/randomInteger.js +0 -7
- package/cjs/casts/randomInteger.js.map +0 -1
- package/cjs/casts/shapedArray.d.ts +0 -26
- package/cjs/casts/shapedArray.d.ts.map +0 -1
- package/cjs/casts/shapedArray.js +0 -100
- package/cjs/casts/shapedArray.js.map +0 -1
- package/cjs/config.d.ts +0 -4
- package/cjs/config.d.ts.map +0 -1
- package/cjs/config.js +0 -10
- package/cjs/config.js.map +0 -1
- package/cjs/connection.d.ts +0 -45
- package/cjs/connection.d.ts.map +0 -1
- package/cjs/connection.js +0 -98
- package/cjs/connection.js.map +0 -1
- package/cjs/console/db-indexes-command.d.ts +0 -3
- package/cjs/console/db-indexes-command.d.ts.map +0 -1
- package/cjs/console/db-indexes-command.js +0 -18
- package/cjs/console/db-indexes-command.js.map +0 -1
- package/cjs/console/index.d.ts +0 -4
- package/cjs/console/index.d.ts.map +0 -1
- package/cjs/console/migrate-command.d.ts +0 -2
- package/cjs/console/migrate-command.d.ts.map +0 -1
- package/cjs/console/migrate-command.js +0 -13
- package/cjs/console/migrate-command.js.map +0 -1
- package/cjs/console/register-blueprint-command.d.ts +0 -2
- package/cjs/console/register-blueprint-command.d.ts.map +0 -1
- package/cjs/console/register-blueprint-command.js +0 -19
- package/cjs/console/register-blueprint-command.js.map +0 -1
- package/cjs/database.d.ts +0 -49
- package/cjs/database.d.ts.map +0 -1
- package/cjs/database.js +0 -85
- package/cjs/database.js.map +0 -1
- package/cjs/migration/index.d.ts +0 -4
- package/cjs/migration/index.d.ts.map +0 -1
- package/cjs/migration/migrate.d.ts +0 -13
- package/cjs/migration/migrate.d.ts.map +0 -1
- package/cjs/migration/migrate.js +0 -76
- package/cjs/migration/migrate.js.map +0 -1
- package/cjs/migration/migration-office.d.ts +0 -21
- package/cjs/migration/migration-office.d.ts.map +0 -1
- package/cjs/migration/migration-office.js +0 -26
- package/cjs/migration/migration-office.js.map +0 -1
- package/cjs/migration/migration-officer.d.ts +0 -33
- package/cjs/migration/migration-officer.d.ts.map +0 -1
- package/cjs/migration/migration-officer.js +0 -55
- package/cjs/migration/migration-officer.js.map +0 -1
- package/cjs/migration/types.d.ts +0 -24
- package/cjs/migration/types.d.ts.map +0 -1
- package/cjs/model/ModelAggregate.d.ts +0 -84
- package/cjs/model/ModelAggregate.d.ts.map +0 -1
- package/cjs/model/ModelAggregate.js +0 -164
- package/cjs/model/ModelAggregate.js.map +0 -1
- package/cjs/model/ModelSync.d.ts +0 -74
- package/cjs/model/ModelSync.d.ts.map +0 -1
- package/cjs/model/ModelSync.js +0 -215
- package/cjs/model/ModelSync.js.map +0 -1
- package/cjs/model/RelationshipWithMany.d.ts +0 -24
- package/cjs/model/RelationshipWithMany.d.ts.map +0 -1
- package/cjs/model/RelationshipWithMany.js +0 -42
- package/cjs/model/RelationshipWithMany.js.map +0 -1
- package/cjs/model/base-model.d.ts +0 -155
- package/cjs/model/base-model.d.ts.map +0 -1
- package/cjs/model/base-model.js +0 -220
- package/cjs/model/base-model.js.map +0 -1
- package/cjs/model/crud-model.d.ts +0 -117
- package/cjs/model/crud-model.d.ts.map +0 -1
- package/cjs/model/crud-model.js +0 -352
- package/cjs/model/crud-model.js.map +0 -1
- package/cjs/model/index.d.ts +0 -10
- package/cjs/model/index.d.ts.map +0 -1
- package/cjs/model/joinable.d.ts +0 -87
- package/cjs/model/joinable.d.ts.map +0 -1
- package/cjs/model/joinable.js +0 -155
- package/cjs/model/joinable.js.map +0 -1
- package/cjs/model/master-mind.d.ts +0 -44
- package/cjs/model/master-mind.d.ts.map +0 -1
- package/cjs/model/master-mind.js +0 -129
- package/cjs/model/master-mind.js.map +0 -1
- package/cjs/model/model-events.d.ts +0 -57
- package/cjs/model/model-events.d.ts.map +0 -1
- package/cjs/model/model-events.js +0 -102
- package/cjs/model/model-events.js.map +0 -1
- package/cjs/model/model.d.ts +0 -390
- package/cjs/model/model.d.ts.map +0 -1
- package/cjs/model/model.js +0 -990
- package/cjs/model/model.js.map +0 -1
- package/cjs/model/relationships.d.ts +0 -69
- package/cjs/model/relationships.d.ts.map +0 -1
- package/cjs/model/relationships.js +0 -144
- package/cjs/model/relationships.js.map +0 -1
- package/cjs/model/types.d.ts +0 -113
- package/cjs/model/types.d.ts.map +0 -1
- package/cjs/model/types.js +0 -11
- package/cjs/model/types.js.map +0 -1
- package/cjs/query/index.d.ts +0 -2
- package/cjs/query/index.d.ts.map +0 -1
- package/cjs/query/query.d.ts +0 -228
- package/cjs/query/query.d.ts.map +0 -1
- package/cjs/query/query.js +0 -675
- package/cjs/query/query.js.map +0 -1
- package/cjs/query/types.d.ts +0 -56
- package/cjs/query/types.d.ts.map +0 -1
- package/cjs/types.d.ts +0 -32
- package/cjs/types.d.ts.map +0 -1
- package/cjs/utils/connectToDatabase.d.ts +0 -3
- package/cjs/utils/connectToDatabase.d.ts.map +0 -1
- package/cjs/utils/connectToDatabase.js +0 -3
- package/cjs/utils/connectToDatabase.js.map +0 -1
- package/cjs/utils/dropAllDatabaseIndexes.d.ts +0 -2
- package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +0 -1
- package/cjs/utils/dropAllDatabaseIndexes.js +0 -10
- package/cjs/utils/dropAllDatabaseIndexes.js.map +0 -1
- package/cjs/utils/index.d.ts +0 -5
- package/cjs/utils/index.d.ts.map +0 -1
- package/cjs/utils/joinable-proxy.d.ts +0 -3
- package/cjs/utils/joinable-proxy.d.ts.map +0 -1
- package/cjs/utils/joinable-proxy.js +0 -14
- package/cjs/utils/joinable-proxy.js.map +0 -1
- package/cjs/utils/listDatabaseIndexes.d.ts +0 -4
- package/cjs/utils/listDatabaseIndexes.d.ts.map +0 -1
- package/cjs/utils/listDatabaseIndexes.js +0 -101
- package/cjs/utils/listDatabaseIndexes.js.map +0 -1
- package/cjs/utils/onceConnected.d.ts +0 -2
- package/cjs/utils/onceConnected.d.ts.map +0 -1
- package/cjs/utils/onceConnected.js +0 -8
- package/cjs/utils/onceConnected.js.map +0 -1
- package/esm/console/db-indexes-command.d.ts +0 -3
- package/esm/console/db-indexes-command.d.ts.map +0 -1
- package/esm/console/db-indexes-command.js +0 -18
- package/esm/console/db-indexes-command.js.map +0 -1
- package/esm/console/index.d.ts +0 -4
- package/esm/console/index.d.ts.map +0 -1
- package/esm/console/migrate-command.d.ts +0 -2
- package/esm/console/migrate-command.d.ts.map +0 -1
- package/esm/console/migrate-command.js +0 -13
- package/esm/console/migrate-command.js.map +0 -1
- package/esm/console/register-blueprint-command.d.ts +0 -2
- package/esm/console/register-blueprint-command.d.ts.map +0 -1
- package/esm/console/register-blueprint-command.js +0 -19
- package/esm/console/register-blueprint-command.js.map +0 -1
- package/esm/model/relationships.d.ts +0 -69
- package/esm/model/relationships.d.ts.map +0 -1
- package/esm/model/relationships.js +0 -144
- package/esm/model/relationships.js.map +0 -1
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
import { type Database } from "../database";
|
|
2
|
-
import type { Model } from "./model";
|
|
3
|
-
import { ModelEvents } from "./model-events";
|
|
4
|
-
import type { FactoryCreatorCallback } from "./types";
|
|
5
|
-
import { ModelDeleteStrategy, type ChildModel, type Document } from "./types";
|
|
6
|
-
export declare abstract class BaseModel {
|
|
7
|
-
/**
|
|
8
|
-
* Collection Name
|
|
9
|
-
*/
|
|
10
|
-
static collection: string;
|
|
11
|
-
/**
|
|
12
|
-
* Connection instance
|
|
13
|
-
*/
|
|
14
|
-
static database: Database;
|
|
15
|
-
/**
|
|
16
|
-
* Model associated output
|
|
17
|
-
*/
|
|
18
|
-
static output?: any;
|
|
19
|
-
/**
|
|
20
|
-
* Missing key symbol
|
|
21
|
-
*/
|
|
22
|
-
static MISSING_KEY: symbol;
|
|
23
|
-
/**
|
|
24
|
-
* Define the initial value of the id
|
|
25
|
-
*/
|
|
26
|
-
static initialId?: number;
|
|
27
|
-
/**
|
|
28
|
-
* Define the amount to eb incremented by for the next generated id
|
|
29
|
-
*/
|
|
30
|
-
static incrementIdBy?: number;
|
|
31
|
-
/**
|
|
32
|
-
* Primary id column
|
|
33
|
-
*/
|
|
34
|
-
static get primaryIdColumn(): string;
|
|
35
|
-
/**
|
|
36
|
-
* A flag to determine whether to auto generate id on insertion or not
|
|
37
|
-
*
|
|
38
|
-
* @default true
|
|
39
|
-
*/
|
|
40
|
-
static autoGenerateId: boolean;
|
|
41
|
-
/**
|
|
42
|
-
* Query instance
|
|
43
|
-
*/
|
|
44
|
-
static query: import("../query/query").Query;
|
|
45
|
-
/**
|
|
46
|
-
* Define the delete method
|
|
47
|
-
*
|
|
48
|
-
* @default true
|
|
49
|
-
*/
|
|
50
|
-
static deleteStrategy: ModelDeleteStrategy;
|
|
51
|
-
/**
|
|
52
|
-
* Items per page
|
|
53
|
-
*/
|
|
54
|
-
static perPage: number;
|
|
55
|
-
/**
|
|
56
|
-
* If set to true, then only the original data and the data in the casts property will be saved
|
|
57
|
-
* If set to false, all data will be saved
|
|
58
|
-
*/
|
|
59
|
-
static isStrict: boolean;
|
|
60
|
-
/**
|
|
61
|
-
* Get increment id by
|
|
62
|
-
*/
|
|
63
|
-
static getIncrementIdBy(): number;
|
|
64
|
-
/**
|
|
65
|
-
* Get initial id
|
|
66
|
-
*/
|
|
67
|
-
static getInitialId(): number;
|
|
68
|
-
/**
|
|
69
|
-
* Generate next id
|
|
70
|
-
*/
|
|
71
|
-
static genNextId(): Promise<number>;
|
|
72
|
-
/**
|
|
73
|
-
* Get last id of current model
|
|
74
|
-
*/
|
|
75
|
-
static getLastId(): Promise<number>;
|
|
76
|
-
/**
|
|
77
|
-
* Get an instance of child class
|
|
78
|
-
*/
|
|
79
|
-
protected static self(data: Document): any;
|
|
80
|
-
/**
|
|
81
|
-
* Get collection name
|
|
82
|
-
*/
|
|
83
|
-
getCollection(): string;
|
|
84
|
-
/**
|
|
85
|
-
* Get collection query
|
|
86
|
-
*/
|
|
87
|
-
getQuery(): any;
|
|
88
|
-
/**
|
|
89
|
-
* Get database instance
|
|
90
|
-
*/
|
|
91
|
-
getDatabase(): Database;
|
|
92
|
-
/**
|
|
93
|
-
* Get static property
|
|
94
|
-
*/
|
|
95
|
-
getStaticProperty(property: keyof typeof BaseModel): any;
|
|
96
|
-
/**
|
|
97
|
-
* Prepare model for response
|
|
98
|
-
*/
|
|
99
|
-
toJSON(): Promise<any>;
|
|
100
|
-
/**
|
|
101
|
-
* Get current output instance
|
|
102
|
-
*/
|
|
103
|
-
getOutput(data?: Document): any;
|
|
104
|
-
/**
|
|
105
|
-
* Get model events instance
|
|
106
|
-
*/
|
|
107
|
-
static events<T extends Model>(this: ChildModel<T>): ModelEvents;
|
|
108
|
-
/**
|
|
109
|
-
* Get model events for current model
|
|
110
|
-
*/
|
|
111
|
-
getModelEvents(): ModelEvents;
|
|
112
|
-
/**
|
|
113
|
-
* Get base model events
|
|
114
|
-
*/
|
|
115
|
-
getBaseModelEvents(): ModelEvents;
|
|
116
|
-
/**
|
|
117
|
-
* Get model blueprint
|
|
118
|
-
*/
|
|
119
|
-
static blueprint(): import("../blueprint/model-blueprint").ModelBlueprint;
|
|
120
|
-
/**
|
|
121
|
-
* Define what columns should be embedded when model document is embedded in another document.
|
|
122
|
-
*/
|
|
123
|
-
static embedOnly(...columns: string[]): {
|
|
124
|
-
model: typeof BaseModel;
|
|
125
|
-
embeddedKey: string[];
|
|
126
|
-
};
|
|
127
|
-
/**
|
|
128
|
-
* Define the embedded getter key to be used when embedding the model
|
|
129
|
-
*/
|
|
130
|
-
static embed(key: string | string[]): {
|
|
131
|
-
model: typeof BaseModel;
|
|
132
|
-
embeddedKey: string | string[];
|
|
133
|
-
};
|
|
134
|
-
/**
|
|
135
|
-
* Embed only id
|
|
136
|
-
*/
|
|
137
|
-
static get embedOnlyId(): {
|
|
138
|
-
model: typeof BaseModel;
|
|
139
|
-
embeddedKey: string;
|
|
140
|
-
};
|
|
141
|
-
/**
|
|
142
|
-
* Document Factory
|
|
143
|
-
*/
|
|
144
|
-
protected static documentFactory: FactoryCreatorCallback;
|
|
145
|
-
/**
|
|
146
|
-
* Get user factory
|
|
147
|
-
*/
|
|
148
|
-
static get factory(): {
|
|
149
|
-
/**
|
|
150
|
-
* Create documents based on the given number of records
|
|
151
|
-
*/
|
|
152
|
-
create: (size: number, recordCallback?: FactoryCreatorCallback) => Promise<void>;
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
//# sourceMappingURL=base-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-model.d.ts","sourceRoot":"","sources":["../../src/model/base-model.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,KAAK,UAAU,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAe9E,8BAAsB,SAAS;IAC7B;;OAEG;IACH,OAAc,UAAU,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,QAAQ,EAAE,QAAQ,CAAY;IAE5C;;OAEG;IACH,OAAc,MAAM,CAAC,EAAE,GAAG,CAAC;IAE3B;;OAEG;IACH,OAAc,WAAW,SAAyB;IAElD;;OAEG;IACH,OAAc,SAAS,CAAC,EAAE,MAAM,CAAC;IAEjC;;OAEG;IACH,OAAc,aAAa,CAAC,EAAE,MAAM,CAAC;IAErC;;OAEG;IACH,WAAkB,eAAe,WAEhC;IAED;;;;OAIG;IACH,OAAc,cAAc,UAAQ;IAEpC;;OAEG;IACH,OAAc,KAAK,iCAAS;IAE5B;;;;OAIG;IACH,OAAc,cAAc,EAAE,mBAAmB,CACf;IAElC;;OAEG;IACH,OAAc,OAAO,SAAM;IAE3B;;;OAGG;IACH,OAAc,QAAQ,UAAQ;IAE9B;;OAEG;WACW,gBAAgB;IAO9B;;OAEG;WACW,YAAY;IAO1B;;OAEG;WACiB,SAAS;IAQ7B;;OAEG;WACiB,SAAS;IAI7B;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ;IAIpC;;OAEG;IACI,aAAa,IAAI,MAAM;IAI9B;;OAEG;IACI,QAAQ;IAIf;;OAEG;IACI,WAAW,IAAI,QAAQ;IAI9B;;OAEG;IACI,iBAAiB,CAAC,QAAQ,EAAE,MAAM,OAAO,SAAS;IAIzD;;OAEG;IACU,MAAM;IAcnB;;OAEG;IACI,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ;IAOhC;;OAEG;WACW,MAAM,CAAC,CAAC,SAAS,KAAK,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAIzD;;OAEG;IACI,cAAc;IAIrB;;OAEG;IACI,kBAAkB;IAIzB;;OAEG;WACW,SAAS;IAIvB;;OAEG;WACW,SAAS,CAAC,GAAG,OAAO,EAAE,MAAM,EAAE;;;;IAO5C;;OAEG;WACW,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;;;;IAO1C;;OAEG;IACH,WAAkB,WAAW;;;MAK5B;IAED;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,eAAe,EAAE,sBAAsB,CAOtD;IAEF;;OAEG;IACH,WAAkB,OAAO;QAErB;;WAEG;uBAEK,MAAM,mBACI,sBAAsB;MAO3C;CACF"}
|
package/cjs/model/base-model.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
'use strict';var faker=require('@faker-js/faker'),reinforcements=require('@mongez/reinforcements'),modelBlueprint=require('../blueprint/model-blueprint.js'),database=require('../database.js'),query=require('../query/query.js'),masterMind=require('./master-mind.js'),modelEvents$1=require('./model-events.js'),types=require('./types.js');const modelEvents = new Map();
|
|
2
|
-
const getModelEvent = (collection) => {
|
|
3
|
-
let eventsInstance = modelEvents.get(collection);
|
|
4
|
-
if (!eventsInstance) {
|
|
5
|
-
eventsInstance = new modelEvents$1.ModelEvents(collection);
|
|
6
|
-
modelEvents.set(collection, eventsInstance);
|
|
7
|
-
}
|
|
8
|
-
return eventsInstance;
|
|
9
|
-
};
|
|
10
|
-
class BaseModel {
|
|
11
|
-
/**
|
|
12
|
-
* Collection Name
|
|
13
|
-
*/
|
|
14
|
-
static collection;
|
|
15
|
-
/**
|
|
16
|
-
* Connection instance
|
|
17
|
-
*/
|
|
18
|
-
static database = database.database;
|
|
19
|
-
/**
|
|
20
|
-
* Model associated output
|
|
21
|
-
*/
|
|
22
|
-
static output;
|
|
23
|
-
/**
|
|
24
|
-
* Missing key symbol
|
|
25
|
-
*/
|
|
26
|
-
static MISSING_KEY = Symbol("MISSING_KEY");
|
|
27
|
-
/**
|
|
28
|
-
* Define the initial value of the id
|
|
29
|
-
*/
|
|
30
|
-
static initialId;
|
|
31
|
-
/**
|
|
32
|
-
* Define the amount to eb incremented by for the next generated id
|
|
33
|
-
*/
|
|
34
|
-
static incrementIdBy;
|
|
35
|
-
/**
|
|
36
|
-
* Primary id column
|
|
37
|
-
*/
|
|
38
|
-
static get primaryIdColumn() {
|
|
39
|
-
return "id";
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* A flag to determine whether to auto generate id on insertion or not
|
|
43
|
-
*
|
|
44
|
-
* @default true
|
|
45
|
-
*/
|
|
46
|
-
static autoGenerateId = true;
|
|
47
|
-
/**
|
|
48
|
-
* Query instance
|
|
49
|
-
*/
|
|
50
|
-
static query = query.query;
|
|
51
|
-
/**
|
|
52
|
-
* Define the delete method
|
|
53
|
-
*
|
|
54
|
-
* @default true
|
|
55
|
-
*/
|
|
56
|
-
static deleteStrategy = types.ModelDeleteStrategy.moveToTrash;
|
|
57
|
-
/**
|
|
58
|
-
* Items per page
|
|
59
|
-
*/
|
|
60
|
-
static perPage = 15;
|
|
61
|
-
/**
|
|
62
|
-
* If set to true, then only the original data and the data in the casts property will be saved
|
|
63
|
-
* If set to false, all data will be saved
|
|
64
|
-
*/
|
|
65
|
-
static isStrict = true;
|
|
66
|
-
/**
|
|
67
|
-
* Get increment id by
|
|
68
|
-
*/
|
|
69
|
-
static getIncrementIdBy() {
|
|
70
|
-
if (this.incrementIdBy)
|
|
71
|
-
return this.incrementIdBy;
|
|
72
|
-
// return Random number
|
|
73
|
-
return reinforcements.Random.int(1, 999);
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get initial id
|
|
77
|
-
*/
|
|
78
|
-
static getInitialId() {
|
|
79
|
-
if (this.initialId)
|
|
80
|
-
return this.initialId;
|
|
81
|
-
// return Random number
|
|
82
|
-
return reinforcements.Random.int(10000, 499999);
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Generate next id
|
|
86
|
-
*/
|
|
87
|
-
static async genNextId() {
|
|
88
|
-
return await masterMind.masterMind.generateNextId(this.collection, this.getIncrementIdBy(), this.getInitialId());
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Get last id of current model
|
|
92
|
-
*/
|
|
93
|
-
static async getLastId() {
|
|
94
|
-
return await masterMind.masterMind.getLastId(this.collection);
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get an instance of child class
|
|
98
|
-
*/
|
|
99
|
-
static self(data) {
|
|
100
|
-
return new this(data);
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Get collection name
|
|
104
|
-
*/
|
|
105
|
-
getCollection() {
|
|
106
|
-
return this.getStaticProperty("collection");
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Get collection query
|
|
110
|
-
*/
|
|
111
|
-
getQuery() {
|
|
112
|
-
return this.getStaticProperty("query");
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Get database instance
|
|
116
|
-
*/
|
|
117
|
-
getDatabase() {
|
|
118
|
-
return this.getStaticProperty("database");
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Get static property
|
|
122
|
-
*/
|
|
123
|
-
getStaticProperty(property) {
|
|
124
|
-
return this.constructor[property];
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* Prepare model for response
|
|
128
|
-
*/
|
|
129
|
-
async toJSON() {
|
|
130
|
-
// get static output class
|
|
131
|
-
const Output = this.getStaticProperty("output");
|
|
132
|
-
// if the model has a Output class
|
|
133
|
-
if (Output) {
|
|
134
|
-
// then return the Output instance and call `toJSON` method
|
|
135
|
-
return await new Output(reinforcements.clone(this.data)).toJSON();
|
|
136
|
-
}
|
|
137
|
-
// otherwise return the data object
|
|
138
|
-
return this.publicData;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Get current output instance
|
|
142
|
-
*/
|
|
143
|
-
getOutput(data) {
|
|
144
|
-
// get static output class
|
|
145
|
-
const Output = this.getStaticProperty("output");
|
|
146
|
-
return Output ? new Output(data) : data;
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Get model events instance
|
|
150
|
-
*/
|
|
151
|
-
static events() {
|
|
152
|
-
return getModelEvent(this.collection ?? "__baseModel__");
|
|
153
|
-
}
|
|
154
|
-
/**
|
|
155
|
-
* Get model events for current model
|
|
156
|
-
*/
|
|
157
|
-
getModelEvents() {
|
|
158
|
-
return getModelEvent(this.getCollection());
|
|
159
|
-
}
|
|
160
|
-
/**
|
|
161
|
-
* Get base model events
|
|
162
|
-
*/
|
|
163
|
-
getBaseModelEvents() {
|
|
164
|
-
return getModelEvent("__baseModel__");
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Get model blueprint
|
|
168
|
-
*/
|
|
169
|
-
static blueprint() {
|
|
170
|
-
return modelBlueprint.modelBlueprint(this);
|
|
171
|
-
}
|
|
172
|
-
/**
|
|
173
|
-
* Define what columns should be embedded when model document is embedded in another document.
|
|
174
|
-
*/
|
|
175
|
-
static embedOnly(...columns) {
|
|
176
|
-
return {
|
|
177
|
-
model: this,
|
|
178
|
-
embeddedKey: columns,
|
|
179
|
-
};
|
|
180
|
-
}
|
|
181
|
-
/**
|
|
182
|
-
* Define the embedded getter key to be used when embedding the model
|
|
183
|
-
*/
|
|
184
|
-
static embed(key) {
|
|
185
|
-
return {
|
|
186
|
-
model: this,
|
|
187
|
-
embeddedKey: key,
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Embed only id
|
|
192
|
-
*/
|
|
193
|
-
static get embedOnlyId() {
|
|
194
|
-
return {
|
|
195
|
-
model: this,
|
|
196
|
-
embeddedKey: "onlyId",
|
|
197
|
-
};
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Document Factory
|
|
201
|
-
*/
|
|
202
|
-
static documentFactory = (_faker, _index) => {
|
|
203
|
-
throw new Error("Document factory is not defined, pass a callback to `factory.create` method or define `documentFactory` method in the model class");
|
|
204
|
-
};
|
|
205
|
-
/**
|
|
206
|
-
* Get user factory
|
|
207
|
-
*/
|
|
208
|
-
static get factory() {
|
|
209
|
-
return {
|
|
210
|
-
/**
|
|
211
|
-
* Create documents based on the given number of records
|
|
212
|
-
*/
|
|
213
|
-
create: async (size, recordCallback = this.documentFactory) => {
|
|
214
|
-
for (let i = 0; i < size; i++) {
|
|
215
|
-
await this.create(recordCallback(faker.faker, i));
|
|
216
|
-
}
|
|
217
|
-
},
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
}exports.BaseModel=BaseModel;//# sourceMappingURL=base-model.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base-model.js","sources":["../../src/model/base-model.ts"],"sourcesContent":[null],"names":["ModelEvents","database","query","ModelDeleteStrategy","Random","masterMind","clone","modelBlueprint","faker"],"mappings":"iVAWA,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;AAEnD,MAAM,aAAa,GAAG,CAAC,UAAkB,KAAI;IAC3C,IAAI,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAEjD,IAAI,CAAC,cAAc,EAAE;AACnB,QAAA,cAAc,GAAG,IAAIA,yBAAW,CAAC,UAAU,CAAC,CAAC;AAC7C,QAAA,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC7C,KAAA;AAED,IAAA,OAAO,cAAc,CAAC;AACxB,CAAC,CAAC;MAEoB,SAAS,CAAA;AAC7B;;AAEG;IACI,OAAO,UAAU,CAAS;AAEjC;;AAEG;AACI,IAAA,OAAO,QAAQ,GAAaC,iBAAQ,CAAC;AAE5C;;AAEG;IACI,OAAO,MAAM,CAAO;AAE3B;;AAEG;AACI,IAAA,OAAO,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;AAElD;;AAEG;IACI,OAAO,SAAS,CAAU;AAEjC;;AAEG;IACI,OAAO,aAAa,CAAU;AAErC;;AAEG;AACI,IAAA,WAAW,eAAe,GAAA;AAC/B,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACI,IAAA,OAAO,cAAc,GAAG,IAAI,CAAC;AAEpC;;AAEG;AACI,IAAA,OAAO,KAAK,GAAGC,WAAK,CAAC;AAE5B;;;;AAIG;AACI,IAAA,OAAO,cAAc,GAC1BC,yBAAmB,CAAC,WAAW,CAAC;AAElC;;AAEG;AACI,IAAA,OAAO,OAAO,GAAG,EAAE,CAAC;AAE3B;;;AAGG;AACI,IAAA,OAAO,QAAQ,GAAG,IAAI,CAAC;AAE9B;;AAEG;AACI,IAAA,OAAO,gBAAgB,GAAA;QAC5B,IAAI,IAAI,CAAC,aAAa;YAAE,OAAO,IAAI,CAAC,aAAa,CAAC;;QAGlD,OAAOC,qBAAM,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;KAC3B;AAED;;AAEG;AACI,IAAA,OAAO,YAAY,GAAA;QACxB,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,SAAS,CAAC;;QAG1C,OAAOA,qBAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAClC;AAED;;AAEG;IACI,aAAa,SAAS,GAAA;AAC3B,QAAA,OAAO,MAAMC,qBAAU,CAAC,cAAc,CACpC,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,gBAAgB,EAAE,EACvB,IAAI,CAAC,YAAY,EAAE,CACpB,CAAC;KACH;AAED;;AAEG;IACI,aAAa,SAAS,GAAA;QAC3B,OAAO,MAAMA,qBAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KACpD;AAED;;AAEG;IACO,OAAO,IAAI,CAAC,IAAc,EAAA;AAClC,QAAA,OAAO,IAAK,IAAY,CAAC,IAAI,CAAC,CAAC;KAChC;AAED;;AAEG;IACI,aAAa,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;KAC7C;AAED;;AAEG;IACI,QAAQ,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;KACxC;AAED;;AAEG;IACI,WAAW,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;KAC3C;AAED;;AAEG;AACI,IAAA,iBAAiB,CAAC,QAAgC,EAAA;AACvD,QAAA,OAAQ,IAAI,CAAC,WAAmB,CAAC,QAAQ,CAAC,CAAC;KAC5C;AAED;;AAEG;AACI,IAAA,MAAM,MAAM,GAAA;;QAEjB,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;;AAGhD,QAAA,IAAI,MAAM,EAAE;;AAEV,YAAA,OAAO,MAAM,IAAI,MAAM,CAACC,oBAAK,CAAE,IAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;AACtE,SAAA;;QAGD,OAAQ,IAAY,CAAC,UAAU,CAAC;KACjC;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,IAAe,EAAA;;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AAEhD,QAAA,OAAO,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;KACzC;AAED;;AAEG;AACI,IAAA,OAAO,MAAM,GAAA;QAClB,OAAO,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;KAC1D;AAED;;AAEG;IACI,cAAc,GAAA;AACnB,QAAA,OAAO,aAAa,CAAC,IAAI,CAAC,aAAa,EAAE,CAAgB,CAAC;KAC3D;AAED;;AAEG;IACI,kBAAkB,GAAA;AACvB,QAAA,OAAO,aAAa,CAAC,eAAe,CAAC,CAAC;KACvC;AAED;;AAEG;AACI,IAAA,OAAO,SAAS,GAAA;AACrB,QAAA,OAAOC,6BAAc,CAAC,IAAW,CAAC,CAAC;KACpC;AAED;;AAEG;AACI,IAAA,OAAO,SAAS,CAAC,GAAG,OAAiB,EAAA;QAC1C,OAAO;AACL,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,WAAW,EAAE,OAAO;SACrB,CAAC;KACH;AAED;;AAEG;IACI,OAAO,KAAK,CAAC,GAAsB,EAAA;QACxC,OAAO;AACL,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,WAAW,EAAE,GAAG;SACjB,CAAC;KACH;AAED;;AAEG;AACI,IAAA,WAAW,WAAW,GAAA;QAC3B,OAAO;AACL,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,WAAW,EAAE,QAAQ;SACtB,CAAC;KACH;AAED;;AAEG;IACO,OAAO,eAAe,GAA2B,CACzD,MAAa,EACb,MAAc,KACZ;AACF,QAAA,MAAM,IAAI,KAAK,CACb,mIAAmI,CACpI,CAAC;AACJ,KAAC,CAAC;AAEF;;AAEG;AACI,IAAA,WAAW,OAAO,GAAA;QACvB,OAAO;AACL;;AAEG;YACH,MAAM,EAAE,OACN,IAAY,EACZ,iBAAyC,IAAI,CAAC,eAAe,KAC3D;gBACF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;oBAC7B,MAAO,IAAY,CAAC,MAAM,CAAC,cAAc,CAACC,WAAK,EAAE,CAAC,CAAC,CAAC,CAAC;AACtD,iBAAA;aACF;SACF,CAAC;KACH;"}
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
import { BaseModel } from "./base-model";
|
|
2
|
-
import type { ChildModel, ChunkCallback, Document, Filter, FindOrCreateOptions, PaginationListing, PrimaryIdType } from "./types";
|
|
3
|
-
export declare abstract class CrudModel extends BaseModel {
|
|
4
|
-
/**
|
|
5
|
-
* Create a new record in the database for the current model (child class of this one)
|
|
6
|
-
* and return a new instance of it with the created data and the new generated id
|
|
7
|
-
*/
|
|
8
|
-
static create<T>(this: ChildModel<T>, data: Document): Promise<T>;
|
|
9
|
-
/**
|
|
10
|
-
* Called before creating a new record
|
|
11
|
-
*/
|
|
12
|
-
protected beforeCreating<T>(this: ChildModel<T>, _data: Document): Promise<void>;
|
|
13
|
-
/**
|
|
14
|
-
* Called after creating a new record
|
|
15
|
-
*/
|
|
16
|
-
protected onCreate<T>(this: ChildModel<T>): Promise<void>;
|
|
17
|
-
/**
|
|
18
|
-
* Update model by the given id
|
|
19
|
-
*/
|
|
20
|
-
static update<T>(this: ChildModel<T>, id: PrimaryIdType, data: Document): Promise<T | null>;
|
|
21
|
-
/**
|
|
22
|
-
* Replace the entire document for the given document id with the given new data
|
|
23
|
-
*/
|
|
24
|
-
static replace<T>(this: ChildModel<T>, id: PrimaryIdType, data: Document): Promise<T | null>;
|
|
25
|
-
/**
|
|
26
|
-
* Restore the document from trash
|
|
27
|
-
*/
|
|
28
|
-
static restore<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T | null>;
|
|
29
|
-
/**
|
|
30
|
-
* Restore all documents from trash or by the given filter
|
|
31
|
-
*/
|
|
32
|
-
static restoreAll<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
|
|
33
|
-
/**
|
|
34
|
-
* Get deleted document by id
|
|
35
|
-
*/
|
|
36
|
-
static getDeleted<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T | null>;
|
|
37
|
-
/**
|
|
38
|
-
* Get all deleted documents
|
|
39
|
-
*/
|
|
40
|
-
static getAllDeleted<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
|
|
41
|
-
/**
|
|
42
|
-
* Find and update the document for the given filter with the given data or create a new document/record
|
|
43
|
-
* if filter has no matching
|
|
44
|
-
*/
|
|
45
|
-
static upsert<T>(this: ChildModel<T>, filter: Filter, data: Document): Promise<T>;
|
|
46
|
-
/**
|
|
47
|
-
* Find document by id
|
|
48
|
-
*/
|
|
49
|
-
static find<T>(this: ChildModel<T>, id: PrimaryIdType): Promise<T>;
|
|
50
|
-
/**
|
|
51
|
-
* Find document by the given column and value
|
|
52
|
-
*/
|
|
53
|
-
static findBy<T>(this: ChildModel<T>, column: string, value: any): Promise<T | null>;
|
|
54
|
-
/**
|
|
55
|
-
* Create an explain plan for the given filter
|
|
56
|
-
*/
|
|
57
|
-
static explain<T>(this: ChildModel<T>, filter?: Filter): Promise<any>;
|
|
58
|
-
/**
|
|
59
|
-
* List multiple documents based on the given filter
|
|
60
|
-
*/
|
|
61
|
-
static list<T>(this: ChildModel<T>, filter?: Filter): Promise<T[]>;
|
|
62
|
-
/**
|
|
63
|
-
* Paginate records based on the given filter
|
|
64
|
-
*/
|
|
65
|
-
static paginate<T>(this: ChildModel<T>, filter: Filter, page?: number, limit?: number): Promise<PaginationListing<T>>;
|
|
66
|
-
/**
|
|
67
|
-
* Find or create a new document based on the given filter and data
|
|
68
|
-
* If the document is not found, it will be created
|
|
69
|
-
* otherwise, just return the found document
|
|
70
|
-
*/
|
|
71
|
-
static findOrCreate<T>(this: ChildModel<T>, filter: Filter, data: Document, { merge }?: FindOrCreateOptions): Promise<T>;
|
|
72
|
-
/**
|
|
73
|
-
* Update or create a new document based on the given filter and data
|
|
74
|
-
*/
|
|
75
|
-
static updateOrCreate<T>(this: ChildModel<T>, filter: Filter, data: Document): Promise<T>;
|
|
76
|
-
/**
|
|
77
|
-
* Count total documents based on the given filter
|
|
78
|
-
*/
|
|
79
|
-
static count(filter?: Filter): Promise<any>;
|
|
80
|
-
/**
|
|
81
|
-
* Get first model for the given filter
|
|
82
|
-
*/
|
|
83
|
-
static first<T>(this: ChildModel<T>, filter?: Filter): Promise<T | null>;
|
|
84
|
-
/**
|
|
85
|
-
* Get last model for the given filter
|
|
86
|
-
*/
|
|
87
|
-
static last<T>(this: ChildModel<T>, filter?: Filter): Promise<T | null>;
|
|
88
|
-
/**
|
|
89
|
-
* Get latest documents
|
|
90
|
-
*/
|
|
91
|
-
static latest<T>(this: ChildModel<T>, filter?: Filter): Promise<T[]>;
|
|
92
|
-
/**
|
|
93
|
-
* Delete single document if the given filter is an ObjectId of mongodb
|
|
94
|
-
* Otherwise, delete multiple documents based on the given filter object
|
|
95
|
-
*/
|
|
96
|
-
static delete<T>(this: ChildModel<T>, filter?: PrimaryIdType | Filter): Promise<number>;
|
|
97
|
-
/**
|
|
98
|
-
* Chunk the documents
|
|
99
|
-
*/
|
|
100
|
-
static chunk<T>(this: ChildModel<T>, limit: number, callback: ChunkCallback<T>): Promise<void>;
|
|
101
|
-
static chunk<T>(this: ChildModel<T>, filter: Filter & {
|
|
102
|
-
limit: number;
|
|
103
|
-
}, callback: ChunkCallback<T>): Promise<void>;
|
|
104
|
-
/**
|
|
105
|
-
* Check if document exists for the given filter
|
|
106
|
-
*/
|
|
107
|
-
static exists<T>(this: ChildModel<T>, filter?: Filter): Promise<boolean>;
|
|
108
|
-
/**
|
|
109
|
-
* Get distinct values for the given column
|
|
110
|
-
*/
|
|
111
|
-
static distinct<T>(this: ChildModel<T>, column: string, filter?: Filter): Promise<any[]>;
|
|
112
|
-
/**
|
|
113
|
-
* Prepare filters
|
|
114
|
-
*/
|
|
115
|
-
protected static prepareFilters(filters?: Filter): Promise<Filter>;
|
|
116
|
-
}
|
|
117
|
-
//# sourceMappingURL=crud-model.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"crud-model.d.ts","sourceRoot":"","sources":["../../src/model/crud-model.ts"],"names":[],"mappings":"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"}
|