@warlock.js/cascade 1.0.0
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/README.md +97 -0
- package/cjs/aggregate/DeselectPipeline.d.ts +10 -0
- package/cjs/aggregate/DeselectPipeline.d.ts.map +1 -0
- package/cjs/aggregate/DeselectPipeline.js +17 -0
- package/cjs/aggregate/DeselectPipeline.js.map +1 -0
- package/cjs/aggregate/GeoNearPipeline.d.ts +34 -0
- package/cjs/aggregate/GeoNearPipeline.d.ts.map +1 -0
- package/cjs/aggregate/GeoNearPipeline.js +44 -0
- package/cjs/aggregate/GeoNearPipeline.js.map +1 -0
- package/cjs/aggregate/GroupByPipeline.d.ts +12 -0
- package/cjs/aggregate/GroupByPipeline.d.ts.map +1 -0
- package/cjs/aggregate/GroupByPipeline.js +28 -0
- package/cjs/aggregate/GroupByPipeline.js.map +1 -0
- package/cjs/aggregate/LimitPipeline.d.ts +10 -0
- package/cjs/aggregate/LimitPipeline.d.ts.map +1 -0
- package/cjs/aggregate/LimitPipeline.js +14 -0
- package/cjs/aggregate/LimitPipeline.js.map +1 -0
- package/cjs/aggregate/LookupPipeline.d.ts +19 -0
- package/cjs/aggregate/LookupPipeline.d.ts.map +1 -0
- package/cjs/aggregate/LookupPipeline.js +19 -0
- package/cjs/aggregate/LookupPipeline.js.map +1 -0
- package/cjs/aggregate/OrWherePipeline.d.ts +23 -0
- package/cjs/aggregate/OrWherePipeline.d.ts.map +1 -0
- package/cjs/aggregate/OrWherePipeline.js +42 -0
- package/cjs/aggregate/OrWherePipeline.js.map +1 -0
- package/cjs/aggregate/SelectPipeline.d.ts +10 -0
- package/cjs/aggregate/SelectPipeline.d.ts.map +1 -0
- package/cjs/aggregate/SelectPipeline.js +26 -0
- package/cjs/aggregate/SelectPipeline.js.map +1 -0
- package/cjs/aggregate/SkipPipeline.d.ts +10 -0
- package/cjs/aggregate/SkipPipeline.d.ts.map +1 -0
- package/cjs/aggregate/SkipPipeline.js +14 -0
- package/cjs/aggregate/SkipPipeline.js.map +1 -0
- package/cjs/aggregate/SortByPipeline.d.ts +10 -0
- package/cjs/aggregate/SortByPipeline.d.ts.map +1 -0
- package/cjs/aggregate/SortByPipeline.js +18 -0
- package/cjs/aggregate/SortByPipeline.js.map +1 -0
- package/cjs/aggregate/SortPipeline.d.ts +11 -0
- package/cjs/aggregate/SortPipeline.d.ts.map +1 -0
- package/cjs/aggregate/SortPipeline.js +18 -0
- package/cjs/aggregate/SortPipeline.js.map +1 -0
- package/cjs/aggregate/SortRandomPipeline.d.ts +10 -0
- package/cjs/aggregate/SortRandomPipeline.d.ts.map +1 -0
- package/cjs/aggregate/SortRandomPipeline.js +16 -0
- package/cjs/aggregate/SortRandomPipeline.js.map +1 -0
- package/cjs/aggregate/UnwindPipeline.d.ts +14 -0
- package/cjs/aggregate/UnwindPipeline.d.ts.map +1 -0
- package/cjs/aggregate/UnwindPipeline.js +19 -0
- package/cjs/aggregate/UnwindPipeline.js.map +1 -0
- package/cjs/aggregate/WhereExpression.d.ts +17 -0
- package/cjs/aggregate/WhereExpression.d.ts.map +1 -0
- package/cjs/aggregate/WhereExpression.js +149 -0
- package/cjs/aggregate/WhereExpression.js.map +1 -0
- package/cjs/aggregate/WhereExpressionPipeline.d.ts +10 -0
- package/cjs/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
- package/cjs/aggregate/WhereExpressionPipeline.js +15 -0
- package/cjs/aggregate/WhereExpressionPipeline.js.map +1 -0
- package/cjs/aggregate/WherePipeline.d.ts +13 -0
- package/cjs/aggregate/WherePipeline.d.ts.map +1 -0
- package/cjs/aggregate/WherePipeline.js +12 -0
- package/cjs/aggregate/WherePipeline.js.map +1 -0
- package/cjs/aggregate/aggregate.d.ts +346 -0
- package/cjs/aggregate/aggregate.d.ts.map +1 -0
- package/cjs/aggregate/aggregate.js +656 -0
- package/cjs/aggregate/aggregate.js.map +1 -0
- package/cjs/aggregate/expressions.d.ts +361 -0
- package/cjs/aggregate/expressions.d.ts.map +1 -0
- package/cjs/aggregate/expressions.js +536 -0
- package/cjs/aggregate/expressions.js.map +1 -0
- package/cjs/aggregate/index.d.ts +21 -0
- package/cjs/aggregate/index.d.ts.map +1 -0
- package/cjs/aggregate/parsePipelines.d.ts +5 -0
- package/cjs/aggregate/parsePipelines.d.ts.map +1 -0
- package/cjs/aggregate/parsePipelines.js +6 -0
- package/cjs/aggregate/parsePipelines.js.map +1 -0
- package/cjs/aggregate/pipeline.d.ts +31 -0
- package/cjs/aggregate/pipeline.d.ts.map +1 -0
- package/cjs/aggregate/pipeline.js +42 -0
- package/cjs/aggregate/pipeline.js.map +1 -0
- package/cjs/aggregate/types.d.ts +8 -0
- package/cjs/aggregate/types.d.ts.map +1 -0
- package/cjs/aggregate/types.js +31 -0
- package/cjs/aggregate/types.js.map +1 -0
- package/cjs/blueprint/blueprint.d.ts +154 -0
- package/cjs/blueprint/blueprint.d.ts.map +1 -0
- package/cjs/blueprint/blueprint.js +328 -0
- package/cjs/blueprint/blueprint.js.map +1 -0
- package/cjs/blueprint/index.d.ts +3 -0
- package/cjs/blueprint/index.d.ts.map +1 -0
- package/cjs/blueprint/model-blueprint.d.ts +15 -0
- package/cjs/blueprint/model-blueprint.d.ts.map +1 -0
- package/cjs/blueprint/model-blueprint.js +16 -0
- package/cjs/blueprint/model-blueprint.js.map +1 -0
- package/cjs/casts/arrayOf.d.ts +5 -0
- package/cjs/casts/arrayOf.d.ts.map +1 -0
- package/cjs/casts/arrayOf.js +18 -0
- package/cjs/casts/arrayOf.js.map +1 -0
- package/cjs/casts/cast-email.d.ts +2 -0
- package/cjs/casts/cast-email.d.ts.map +1 -0
- package/cjs/casts/cast-email.js +5 -0
- package/cjs/casts/cast-email.js.map +1 -0
- package/cjs/casts/castModel.d.ts +3 -0
- package/cjs/casts/castModel.d.ts.map +1 -0
- package/cjs/casts/castModel.js +49 -0
- package/cjs/casts/castModel.js.map +1 -0
- package/cjs/casts/expiresAfter.d.ts +3 -0
- package/cjs/casts/expiresAfter.d.ts.map +1 -0
- package/cjs/casts/expiresAfter.js +5 -0
- package/cjs/casts/expiresAfter.js.map +1 -0
- package/cjs/casts/index.d.ts +9 -0
- package/cjs/casts/index.d.ts.map +1 -0
- package/cjs/casts/oneOf.d.ts +3 -0
- package/cjs/casts/oneOf.d.ts.map +1 -0
- package/cjs/casts/oneOf.js +22 -0
- package/cjs/casts/oneOf.js.map +1 -0
- package/cjs/casts/random-string.d.ts +2 -0
- package/cjs/casts/random-string.d.ts.map +1 -0
- package/cjs/casts/random-string.js +5 -0
- package/cjs/casts/random-string.js.map +1 -0
- package/cjs/casts/randomInteger.d.ts +2 -0
- package/cjs/casts/randomInteger.d.ts.map +1 -0
- package/cjs/casts/randomInteger.js +7 -0
- package/cjs/casts/randomInteger.js.map +1 -0
- package/cjs/casts/shapedArray.d.ts +26 -0
- package/cjs/casts/shapedArray.d.ts.map +1 -0
- package/cjs/casts/shapedArray.js +100 -0
- package/cjs/casts/shapedArray.js.map +1 -0
- package/cjs/config.d.ts +4 -0
- package/cjs/config.d.ts.map +1 -0
- package/cjs/config.js +10 -0
- package/cjs/config.js.map +1 -0
- package/cjs/connection.d.ts +44 -0
- package/cjs/connection.d.ts.map +1 -0
- package/cjs/connection.js +98 -0
- package/cjs/connection.js.map +1 -0
- package/cjs/console/db-indexes-command.d.ts +3 -0
- package/cjs/console/db-indexes-command.d.ts.map +1 -0
- package/cjs/console/db-indexes-command.js +18 -0
- package/cjs/console/db-indexes-command.js.map +1 -0
- package/cjs/console/index.d.ts +4 -0
- package/cjs/console/index.d.ts.map +1 -0
- package/cjs/console/migrate-command.d.ts +3 -0
- package/cjs/console/migrate-command.d.ts.map +1 -0
- package/cjs/console/migrate-command.js +14 -0
- package/cjs/console/migrate-command.js.map +1 -0
- package/cjs/console/register-blueprint-command.d.ts +4 -0
- package/cjs/console/register-blueprint-command.d.ts.map +1 -0
- package/cjs/console/register-blueprint-command.js +27 -0
- package/cjs/console/register-blueprint-command.js.map +1 -0
- package/cjs/database.d.ts +49 -0
- package/cjs/database.d.ts.map +1 -0
- package/cjs/database.js +85 -0
- package/cjs/database.js.map +1 -0
- package/cjs/index.d.ts +14 -0
- package/cjs/index.d.ts.map +1 -0
- package/cjs/index.js +1 -0
- package/cjs/index.js.map +1 -0
- package/cjs/migrate.d.ts +8 -0
- package/cjs/migrate.d.ts.map +1 -0
- package/cjs/migrate.js +89 -0
- package/cjs/migrate.js.map +1 -0
- package/cjs/model/ModelAggregate.d.ts +71 -0
- package/cjs/model/ModelAggregate.d.ts.map +1 -0
- package/cjs/model/ModelAggregate.js +147 -0
- package/cjs/model/ModelAggregate.js.map +1 -0
- package/cjs/model/ModelSync.d.ts +74 -0
- package/cjs/model/ModelSync.d.ts.map +1 -0
- package/cjs/model/ModelSync.js +215 -0
- package/cjs/model/ModelSync.js.map +1 -0
- package/cjs/model/RelationshipWithMany.d.ts +29 -0
- package/cjs/model/RelationshipWithMany.d.ts.map +1 -0
- package/cjs/model/RelationshipWithMany.js +52 -0
- package/cjs/model/RelationshipWithMany.js.map +1 -0
- package/cjs/model/base-model.d.ts +148 -0
- package/cjs/model/base-model.d.ts.map +1 -0
- package/cjs/model/base-model.js +212 -0
- package/cjs/model/base-model.js.map +1 -0
- package/cjs/model/crud-model.d.ts +117 -0
- package/cjs/model/crud-model.d.ts.map +1 -0
- package/cjs/model/crud-model.js +346 -0
- package/cjs/model/crud-model.js.map +1 -0
- package/cjs/model/index.d.ts +11 -0
- package/cjs/model/index.d.ts.map +1 -0
- package/cjs/model/joinable.d.ts +86 -0
- package/cjs/model/joinable.d.ts.map +1 -0
- package/cjs/model/joinable.js +155 -0
- package/cjs/model/joinable.js.map +1 -0
- package/cjs/model/master-mind.d.ts +44 -0
- package/cjs/model/master-mind.d.ts.map +1 -0
- package/cjs/model/master-mind.js +129 -0
- package/cjs/model/master-mind.js.map +1 -0
- package/cjs/model/migration-office.d.ts +33 -0
- package/cjs/model/migration-office.d.ts.map +1 -0
- package/cjs/model/migration-office.js +55 -0
- package/cjs/model/migration-office.js.map +1 -0
- package/cjs/model/model-events.d.ts +57 -0
- package/cjs/model/model-events.d.ts.map +1 -0
- package/cjs/model/model-events.js +102 -0
- package/cjs/model/model-events.js.map +1 -0
- package/cjs/model/model.d.ts +323 -0
- package/cjs/model/model.d.ts.map +1 -0
- package/cjs/model/model.js +843 -0
- package/cjs/model/model.js.map +1 -0
- package/cjs/model/relationships.d.ts +69 -0
- package/cjs/model/relationships.d.ts.map +1 -0
- package/cjs/model/relationships.js +144 -0
- package/cjs/model/relationships.js.map +1 -0
- package/cjs/model/types.d.ts +113 -0
- package/cjs/model/types.d.ts.map +1 -0
- package/cjs/model/types.js +11 -0
- package/cjs/model/types.js.map +1 -0
- package/cjs/models/Log.d.ts +12 -0
- package/cjs/models/Log.d.ts.map +1 -0
- package/cjs/models/Log.js +16 -0
- package/cjs/models/Log.js.map +1 -0
- package/cjs/models/index.d.ts +2 -0
- package/cjs/models/index.d.ts.map +1 -0
- package/cjs/query/index.d.ts +2 -0
- package/cjs/query/index.d.ts.map +1 -0
- package/cjs/query/query.d.ts +228 -0
- package/cjs/query/query.d.ts.map +1 -0
- package/cjs/query/query.js +675 -0
- package/cjs/query/query.js.map +1 -0
- package/cjs/query/types.d.ts +56 -0
- package/cjs/query/types.d.ts.map +1 -0
- package/cjs/types.d.ts +46 -0
- package/cjs/types.d.ts.map +1 -0
- package/cjs/utils/DatabaseLog.d.ts +25 -0
- package/cjs/utils/DatabaseLog.d.ts.map +1 -0
- package/cjs/utils/DatabaseLog.js +41 -0
- package/cjs/utils/DatabaseLog.js.map +1 -0
- package/cjs/utils/connectToDatabase.d.ts +3 -0
- package/cjs/utils/connectToDatabase.d.ts.map +1 -0
- package/cjs/utils/connectToDatabase.js +3 -0
- package/cjs/utils/connectToDatabase.js.map +1 -0
- package/cjs/utils/dropAllDatabaseIndexes.d.ts +2 -0
- package/cjs/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
- package/cjs/utils/dropAllDatabaseIndexes.js +10 -0
- package/cjs/utils/dropAllDatabaseIndexes.js.map +1 -0
- package/cjs/utils/index.d.ts +6 -0
- package/cjs/utils/index.d.ts.map +1 -0
- package/cjs/utils/joinable-proxy.d.ts +3 -0
- package/cjs/utils/joinable-proxy.d.ts.map +1 -0
- package/cjs/utils/joinable-proxy.js +14 -0
- package/cjs/utils/joinable-proxy.js.map +1 -0
- package/cjs/utils/listDatabaseIndexes.d.ts +4 -0
- package/cjs/utils/listDatabaseIndexes.d.ts.map +1 -0
- package/cjs/utils/listDatabaseIndexes.js +101 -0
- package/cjs/utils/listDatabaseIndexes.js.map +1 -0
- package/cjs/utils/onceConnected.d.ts +2 -0
- package/cjs/utils/onceConnected.d.ts.map +1 -0
- package/cjs/utils/onceConnected.js +8 -0
- package/cjs/utils/onceConnected.js.map +1 -0
- package/esm/aggregate/DeselectPipeline.d.ts +10 -0
- package/esm/aggregate/DeselectPipeline.d.ts.map +1 -0
- package/esm/aggregate/DeselectPipeline.js +17 -0
- package/esm/aggregate/DeselectPipeline.js.map +1 -0
- package/esm/aggregate/GeoNearPipeline.d.ts +34 -0
- package/esm/aggregate/GeoNearPipeline.d.ts.map +1 -0
- package/esm/aggregate/GeoNearPipeline.js +44 -0
- package/esm/aggregate/GeoNearPipeline.js.map +1 -0
- package/esm/aggregate/GroupByPipeline.d.ts +12 -0
- package/esm/aggregate/GroupByPipeline.d.ts.map +1 -0
- package/esm/aggregate/GroupByPipeline.js +28 -0
- package/esm/aggregate/GroupByPipeline.js.map +1 -0
- package/esm/aggregate/LimitPipeline.d.ts +10 -0
- package/esm/aggregate/LimitPipeline.d.ts.map +1 -0
- package/esm/aggregate/LimitPipeline.js +14 -0
- package/esm/aggregate/LimitPipeline.js.map +1 -0
- package/esm/aggregate/LookupPipeline.d.ts +19 -0
- package/esm/aggregate/LookupPipeline.d.ts.map +1 -0
- package/esm/aggregate/LookupPipeline.js +19 -0
- package/esm/aggregate/LookupPipeline.js.map +1 -0
- package/esm/aggregate/OrWherePipeline.d.ts +23 -0
- package/esm/aggregate/OrWherePipeline.d.ts.map +1 -0
- package/esm/aggregate/OrWherePipeline.js +42 -0
- package/esm/aggregate/OrWherePipeline.js.map +1 -0
- package/esm/aggregate/SelectPipeline.d.ts +10 -0
- package/esm/aggregate/SelectPipeline.d.ts.map +1 -0
- package/esm/aggregate/SelectPipeline.js +26 -0
- package/esm/aggregate/SelectPipeline.js.map +1 -0
- package/esm/aggregate/SkipPipeline.d.ts +10 -0
- package/esm/aggregate/SkipPipeline.d.ts.map +1 -0
- package/esm/aggregate/SkipPipeline.js +14 -0
- package/esm/aggregate/SkipPipeline.js.map +1 -0
- package/esm/aggregate/SortByPipeline.d.ts +10 -0
- package/esm/aggregate/SortByPipeline.d.ts.map +1 -0
- package/esm/aggregate/SortByPipeline.js +18 -0
- package/esm/aggregate/SortByPipeline.js.map +1 -0
- package/esm/aggregate/SortPipeline.d.ts +11 -0
- package/esm/aggregate/SortPipeline.d.ts.map +1 -0
- package/esm/aggregate/SortPipeline.js +18 -0
- package/esm/aggregate/SortPipeline.js.map +1 -0
- package/esm/aggregate/SortRandomPipeline.d.ts +10 -0
- package/esm/aggregate/SortRandomPipeline.d.ts.map +1 -0
- package/esm/aggregate/SortRandomPipeline.js +16 -0
- package/esm/aggregate/SortRandomPipeline.js.map +1 -0
- package/esm/aggregate/UnwindPipeline.d.ts +14 -0
- package/esm/aggregate/UnwindPipeline.d.ts.map +1 -0
- package/esm/aggregate/UnwindPipeline.js +19 -0
- package/esm/aggregate/UnwindPipeline.js.map +1 -0
- package/esm/aggregate/WhereExpression.d.ts +17 -0
- package/esm/aggregate/WhereExpression.d.ts.map +1 -0
- package/esm/aggregate/WhereExpression.js +149 -0
- package/esm/aggregate/WhereExpression.js.map +1 -0
- package/esm/aggregate/WhereExpressionPipeline.d.ts +10 -0
- package/esm/aggregate/WhereExpressionPipeline.d.ts.map +1 -0
- package/esm/aggregate/WhereExpressionPipeline.js +15 -0
- package/esm/aggregate/WhereExpressionPipeline.js.map +1 -0
- package/esm/aggregate/WherePipeline.d.ts +13 -0
- package/esm/aggregate/WherePipeline.d.ts.map +1 -0
- package/esm/aggregate/WherePipeline.js +12 -0
- package/esm/aggregate/WherePipeline.js.map +1 -0
- package/esm/aggregate/aggregate.d.ts +346 -0
- package/esm/aggregate/aggregate.d.ts.map +1 -0
- package/esm/aggregate/aggregate.js +656 -0
- package/esm/aggregate/aggregate.js.map +1 -0
- package/esm/aggregate/expressions.d.ts +361 -0
- package/esm/aggregate/expressions.d.ts.map +1 -0
- package/esm/aggregate/expressions.js +536 -0
- package/esm/aggregate/expressions.js.map +1 -0
- package/esm/aggregate/index.d.ts +21 -0
- package/esm/aggregate/index.d.ts.map +1 -0
- package/esm/aggregate/parsePipelines.d.ts +5 -0
- package/esm/aggregate/parsePipelines.d.ts.map +1 -0
- package/esm/aggregate/parsePipelines.js +6 -0
- package/esm/aggregate/parsePipelines.js.map +1 -0
- package/esm/aggregate/pipeline.d.ts +31 -0
- package/esm/aggregate/pipeline.d.ts.map +1 -0
- package/esm/aggregate/pipeline.js +42 -0
- package/esm/aggregate/pipeline.js.map +1 -0
- package/esm/aggregate/types.d.ts +8 -0
- package/esm/aggregate/types.d.ts.map +1 -0
- package/esm/aggregate/types.js +31 -0
- package/esm/aggregate/types.js.map +1 -0
- package/esm/blueprint/blueprint.d.ts +154 -0
- package/esm/blueprint/blueprint.d.ts.map +1 -0
- package/esm/blueprint/blueprint.js +328 -0
- package/esm/blueprint/blueprint.js.map +1 -0
- package/esm/blueprint/index.d.ts +3 -0
- package/esm/blueprint/index.d.ts.map +1 -0
- package/esm/blueprint/model-blueprint.d.ts +15 -0
- package/esm/blueprint/model-blueprint.d.ts.map +1 -0
- package/esm/blueprint/model-blueprint.js +16 -0
- package/esm/blueprint/model-blueprint.js.map +1 -0
- package/esm/casts/arrayOf.d.ts +5 -0
- package/esm/casts/arrayOf.d.ts.map +1 -0
- package/esm/casts/arrayOf.js +18 -0
- package/esm/casts/arrayOf.js.map +1 -0
- package/esm/casts/cast-email.d.ts +2 -0
- package/esm/casts/cast-email.d.ts.map +1 -0
- package/esm/casts/cast-email.js +5 -0
- package/esm/casts/cast-email.js.map +1 -0
- package/esm/casts/castModel.d.ts +3 -0
- package/esm/casts/castModel.d.ts.map +1 -0
- package/esm/casts/castModel.js +49 -0
- package/esm/casts/castModel.js.map +1 -0
- package/esm/casts/expiresAfter.d.ts +3 -0
- package/esm/casts/expiresAfter.d.ts.map +1 -0
- package/esm/casts/expiresAfter.js +5 -0
- package/esm/casts/expiresAfter.js.map +1 -0
- package/esm/casts/index.d.ts +9 -0
- package/esm/casts/index.d.ts.map +1 -0
- package/esm/casts/oneOf.d.ts +3 -0
- package/esm/casts/oneOf.d.ts.map +1 -0
- package/esm/casts/oneOf.js +22 -0
- package/esm/casts/oneOf.js.map +1 -0
- package/esm/casts/random-string.d.ts +2 -0
- package/esm/casts/random-string.d.ts.map +1 -0
- package/esm/casts/random-string.js +5 -0
- package/esm/casts/random-string.js.map +1 -0
- package/esm/casts/randomInteger.d.ts +2 -0
- package/esm/casts/randomInteger.d.ts.map +1 -0
- package/esm/casts/randomInteger.js +7 -0
- package/esm/casts/randomInteger.js.map +1 -0
- package/esm/casts/shapedArray.d.ts +26 -0
- package/esm/casts/shapedArray.d.ts.map +1 -0
- package/esm/casts/shapedArray.js +100 -0
- package/esm/casts/shapedArray.js.map +1 -0
- package/esm/config.d.ts +4 -0
- package/esm/config.d.ts.map +1 -0
- package/esm/config.js +10 -0
- package/esm/config.js.map +1 -0
- package/esm/connection.d.ts +44 -0
- package/esm/connection.d.ts.map +1 -0
- package/esm/connection.js +98 -0
- package/esm/connection.js.map +1 -0
- package/esm/console/db-indexes-command.d.ts +3 -0
- package/esm/console/db-indexes-command.d.ts.map +1 -0
- package/esm/console/db-indexes-command.js +18 -0
- package/esm/console/db-indexes-command.js.map +1 -0
- package/esm/console/index.d.ts +4 -0
- package/esm/console/index.d.ts.map +1 -0
- package/esm/console/migrate-command.d.ts +3 -0
- package/esm/console/migrate-command.d.ts.map +1 -0
- package/esm/console/migrate-command.js +14 -0
- package/esm/console/migrate-command.js.map +1 -0
- package/esm/console/register-blueprint-command.d.ts +4 -0
- package/esm/console/register-blueprint-command.d.ts.map +1 -0
- package/esm/console/register-blueprint-command.js +27 -0
- package/esm/console/register-blueprint-command.js.map +1 -0
- package/esm/database.d.ts +49 -0
- package/esm/database.d.ts.map +1 -0
- package/esm/database.js +85 -0
- package/esm/database.js.map +1 -0
- package/esm/index.d.ts +14 -0
- package/esm/index.d.ts.map +1 -0
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -0
- package/esm/migrate.d.ts +8 -0
- package/esm/migrate.d.ts.map +1 -0
- package/esm/migrate.js +89 -0
- package/esm/migrate.js.map +1 -0
- package/esm/model/ModelAggregate.d.ts +71 -0
- package/esm/model/ModelAggregate.d.ts.map +1 -0
- package/esm/model/ModelAggregate.js +147 -0
- package/esm/model/ModelAggregate.js.map +1 -0
- package/esm/model/ModelSync.d.ts +74 -0
- package/esm/model/ModelSync.d.ts.map +1 -0
- package/esm/model/ModelSync.js +215 -0
- package/esm/model/ModelSync.js.map +1 -0
- package/esm/model/RelationshipWithMany.d.ts +29 -0
- package/esm/model/RelationshipWithMany.d.ts.map +1 -0
- package/esm/model/RelationshipWithMany.js +52 -0
- package/esm/model/RelationshipWithMany.js.map +1 -0
- package/esm/model/base-model.d.ts +148 -0
- package/esm/model/base-model.d.ts.map +1 -0
- package/esm/model/base-model.js +212 -0
- package/esm/model/base-model.js.map +1 -0
- package/esm/model/crud-model.d.ts +117 -0
- package/esm/model/crud-model.d.ts.map +1 -0
- package/esm/model/crud-model.js +346 -0
- package/esm/model/crud-model.js.map +1 -0
- package/esm/model/index.d.ts +11 -0
- package/esm/model/index.d.ts.map +1 -0
- package/esm/model/joinable.d.ts +86 -0
- package/esm/model/joinable.d.ts.map +1 -0
- package/esm/model/joinable.js +155 -0
- package/esm/model/joinable.js.map +1 -0
- package/esm/model/master-mind.d.ts +44 -0
- package/esm/model/master-mind.d.ts.map +1 -0
- package/esm/model/master-mind.js +129 -0
- package/esm/model/master-mind.js.map +1 -0
- package/esm/model/migration-office.d.ts +33 -0
- package/esm/model/migration-office.d.ts.map +1 -0
- package/esm/model/migration-office.js +55 -0
- package/esm/model/migration-office.js.map +1 -0
- package/esm/model/model-events.d.ts +57 -0
- package/esm/model/model-events.d.ts.map +1 -0
- package/esm/model/model-events.js +102 -0
- package/esm/model/model-events.js.map +1 -0
- package/esm/model/model.d.ts +323 -0
- package/esm/model/model.d.ts.map +1 -0
- package/esm/model/model.js +843 -0
- package/esm/model/model.js.map +1 -0
- package/esm/model/relationships.d.ts +69 -0
- package/esm/model/relationships.d.ts.map +1 -0
- package/esm/model/relationships.js +144 -0
- package/esm/model/relationships.js.map +1 -0
- package/esm/model/types.d.ts +113 -0
- package/esm/model/types.d.ts.map +1 -0
- package/esm/model/types.js +11 -0
- package/esm/model/types.js.map +1 -0
- package/esm/models/Log.d.ts +12 -0
- package/esm/models/Log.d.ts.map +1 -0
- package/esm/models/Log.js +16 -0
- package/esm/models/Log.js.map +1 -0
- package/esm/models/index.d.ts +2 -0
- package/esm/models/index.d.ts.map +1 -0
- package/esm/query/index.d.ts +2 -0
- package/esm/query/index.d.ts.map +1 -0
- package/esm/query/query.d.ts +228 -0
- package/esm/query/query.d.ts.map +1 -0
- package/esm/query/query.js +675 -0
- package/esm/query/query.js.map +1 -0
- package/esm/query/types.d.ts +56 -0
- package/esm/query/types.d.ts.map +1 -0
- package/esm/types.d.ts +46 -0
- package/esm/types.d.ts.map +1 -0
- package/esm/utils/DatabaseLog.d.ts +25 -0
- package/esm/utils/DatabaseLog.d.ts.map +1 -0
- package/esm/utils/DatabaseLog.js +41 -0
- package/esm/utils/DatabaseLog.js.map +1 -0
- package/esm/utils/connectToDatabase.d.ts +3 -0
- package/esm/utils/connectToDatabase.d.ts.map +1 -0
- package/esm/utils/connectToDatabase.js +3 -0
- package/esm/utils/connectToDatabase.js.map +1 -0
- package/esm/utils/dropAllDatabaseIndexes.d.ts +2 -0
- package/esm/utils/dropAllDatabaseIndexes.d.ts.map +1 -0
- package/esm/utils/dropAllDatabaseIndexes.js +10 -0
- package/esm/utils/dropAllDatabaseIndexes.js.map +1 -0
- package/esm/utils/index.d.ts +6 -0
- package/esm/utils/index.d.ts.map +1 -0
- package/esm/utils/joinable-proxy.d.ts +3 -0
- package/esm/utils/joinable-proxy.d.ts.map +1 -0
- package/esm/utils/joinable-proxy.js +14 -0
- package/esm/utils/joinable-proxy.js.map +1 -0
- package/esm/utils/listDatabaseIndexes.d.ts +4 -0
- package/esm/utils/listDatabaseIndexes.d.ts.map +1 -0
- package/esm/utils/listDatabaseIndexes.js +101 -0
- package/esm/utils/listDatabaseIndexes.js.map +1 -0
- package/esm/utils/onceConnected.d.ts +2 -0
- package/esm/utils/onceConnected.d.ts.map +1 -0
- package/esm/utils/onceConnected.js +8 -0
- package/esm/utils/onceConnected.js.map +1 -0
- package/package.json +61 -0
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
'use strict';var pluralize=require('pluralize');require('@mongez/reinforcements'),require('@mongez/supportive-is'),require('@mongez/time-wizard');var aggregate=require('../aggregate/aggregate.js');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var pluralize__default=/*#__PURE__*/_interopDefault(pluralize);class Joinable {
|
|
2
|
+
model;
|
|
3
|
+
/**
|
|
4
|
+
* Lookup data
|
|
5
|
+
*/
|
|
6
|
+
lookupData = {
|
|
7
|
+
from: "",
|
|
8
|
+
localField: "",
|
|
9
|
+
foreignField: "id",
|
|
10
|
+
as: "",
|
|
11
|
+
single: false,
|
|
12
|
+
};
|
|
13
|
+
/**
|
|
14
|
+
* Whether to return the data in model
|
|
15
|
+
*/
|
|
16
|
+
isInModel = false;
|
|
17
|
+
/**
|
|
18
|
+
* Return data as callback
|
|
19
|
+
*/
|
|
20
|
+
returnAsCallback = (data) => {
|
|
21
|
+
if (this.isInModel) {
|
|
22
|
+
return Array.isArray(data)
|
|
23
|
+
? data.map(item => new this.model(item))
|
|
24
|
+
: new this.model(data);
|
|
25
|
+
}
|
|
26
|
+
return data;
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Aggregate instance
|
|
30
|
+
*/
|
|
31
|
+
query;
|
|
32
|
+
/**
|
|
33
|
+
* Constructor
|
|
34
|
+
* The Joined Model
|
|
35
|
+
*/
|
|
36
|
+
constructor(model) {
|
|
37
|
+
this.model = model;
|
|
38
|
+
this.lookupData.from = model.collection;
|
|
39
|
+
this.query = new aggregate.Aggregate(model.collection);
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Set the return as callback
|
|
43
|
+
*/
|
|
44
|
+
returnAs(callback) {
|
|
45
|
+
this.returnAsCallback = callback;
|
|
46
|
+
return this;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get return as callback
|
|
50
|
+
*/
|
|
51
|
+
getReturnAs() {
|
|
52
|
+
return this.returnAsCallback;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Return data in model
|
|
56
|
+
*/
|
|
57
|
+
inModel(inModel = true) {
|
|
58
|
+
this.isInModel = inModel;
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Set the local field
|
|
63
|
+
*/
|
|
64
|
+
localField(localField) {
|
|
65
|
+
this.lookupData.localField = localField;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get value from lookup data
|
|
70
|
+
*/
|
|
71
|
+
get(key, defaultValue) {
|
|
72
|
+
return this.lookupData[key] || defaultValue;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Set the foreign field
|
|
76
|
+
*/
|
|
77
|
+
foreignField(foreignField) {
|
|
78
|
+
this.lookupData.foreignField = foreignField;
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Set the as field
|
|
83
|
+
*/
|
|
84
|
+
as(as) {
|
|
85
|
+
this.lookupData.as = as;
|
|
86
|
+
return this;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Wether to return a single document or an array
|
|
90
|
+
*/
|
|
91
|
+
single(single = true) {
|
|
92
|
+
this.lookupData.single = single;
|
|
93
|
+
return this;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Set the pipeline
|
|
97
|
+
*/
|
|
98
|
+
addPipeline(pipeline) {
|
|
99
|
+
this.query.addPipeline(pipeline);
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Add let
|
|
104
|
+
*/
|
|
105
|
+
let(letData) {
|
|
106
|
+
this.lookupData.let = letData;
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Set all lookup data
|
|
111
|
+
*/
|
|
112
|
+
set(data) {
|
|
113
|
+
if (!data.from) {
|
|
114
|
+
data.from = this.model.collection;
|
|
115
|
+
}
|
|
116
|
+
this.lookupData = data;
|
|
117
|
+
return this;
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Parse the lookup data
|
|
121
|
+
*/
|
|
122
|
+
parse() {
|
|
123
|
+
const name = this.lookupData.single
|
|
124
|
+
? pluralize__default.default(this.model.collection, 1)
|
|
125
|
+
: pluralize__default.default(this.model.collection);
|
|
126
|
+
const lookupData = { ...this.lookupData };
|
|
127
|
+
if (!lookupData.as) {
|
|
128
|
+
lookupData.as = name;
|
|
129
|
+
}
|
|
130
|
+
if (!lookupData.localField) {
|
|
131
|
+
lookupData.localField = name + ".id";
|
|
132
|
+
}
|
|
133
|
+
lookupData.pipeline = this.query.parse();
|
|
134
|
+
// reset the pipelines
|
|
135
|
+
this.reset();
|
|
136
|
+
return lookupData;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Reset the pipelines
|
|
140
|
+
*/
|
|
141
|
+
reset() {
|
|
142
|
+
this.query = new aggregate.Aggregate(this.model.collection);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Clone the current instance
|
|
146
|
+
*/
|
|
147
|
+
clone() {
|
|
148
|
+
const clone = new Joinable(this.model);
|
|
149
|
+
clone.set(this.lookupData);
|
|
150
|
+
clone.query.addPipelines(this.query.getPipelines());
|
|
151
|
+
clone.isInModel = this.isInModel;
|
|
152
|
+
clone.returnAsCallback = this.returnAsCallback.bind(clone);
|
|
153
|
+
return clone;
|
|
154
|
+
}
|
|
155
|
+
}exports.Joinable=Joinable;//# sourceMappingURL=joinable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"joinable.js","sources":["../../src/model/joinable.ts"],"sourcesContent":[null],"names":["Aggregate","pluralize"],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type ClientSession } from "mongodb";
|
|
2
|
+
import { type Database } from "../database";
|
|
3
|
+
export declare class MasterMind {
|
|
4
|
+
/**
|
|
5
|
+
* Master Mind Collection name
|
|
6
|
+
*/
|
|
7
|
+
collection: string;
|
|
8
|
+
/**
|
|
9
|
+
* Connection instance
|
|
10
|
+
*/
|
|
11
|
+
database: Database;
|
|
12
|
+
/**
|
|
13
|
+
* Get last id of the given collection
|
|
14
|
+
*/
|
|
15
|
+
getLastId(collection: string): Promise<number>;
|
|
16
|
+
/**
|
|
17
|
+
* Set last id for the given collection
|
|
18
|
+
*/
|
|
19
|
+
setLastId(collection: string, id: number, { session }?: {
|
|
20
|
+
session?: ClientSession;
|
|
21
|
+
}): Promise<void>;
|
|
22
|
+
/**
|
|
23
|
+
* Rename the given collection to the new one to keep the last id updated and not to be reset
|
|
24
|
+
*/
|
|
25
|
+
renameCollection(oldCollection: string, newCollection: string, { session }?: {
|
|
26
|
+
session?: ClientSession;
|
|
27
|
+
}): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Get current active session from database object
|
|
30
|
+
*/
|
|
31
|
+
getCurrentSession(): ClientSession;
|
|
32
|
+
/**
|
|
33
|
+
* Update all collections by the last id of each collection in current database
|
|
34
|
+
*/
|
|
35
|
+
updateAllLastId(): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Generate next id for the given collection name
|
|
38
|
+
*/
|
|
39
|
+
generateNextId(collection: string, incrementIdBy?: number, initialId?: number, { session }?: {
|
|
40
|
+
session?: ClientSession;
|
|
41
|
+
}): Promise<number>;
|
|
42
|
+
}
|
|
43
|
+
export declare const masterMind: MasterMind;
|
|
44
|
+
//# sourceMappingURL=master-mind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"master-mind.d.ts","sourceRoot":"","sources":["../../src/model/master-mind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGtD,qBAAa,UAAU;IACrB;;OAEG;IACI,UAAU,SAAgB;IAEjC;;OAEG;IACI,QAAQ,EAAE,QAAQ,CAAY;IAErC;;OAEG;IACU,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAU3D;;OAEG;IACU,SAAS,CACpB,UAAU,EAAE,MAAM,EAClB,EAAE,EAAE,MAAM,EACV,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;IAsC1E;;OAEG;IACU,gBAAgB,CAC3B,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO;IA0B1E;;OAEG;IACI,iBAAiB;IAIxB;;OAEG;IACU,eAAe;IAa5B;;OAEG;IACU,cAAc,CACzB,UAAU,EAAE,MAAM,EAClB,aAAa,SAAI,EACjB,SAAS,SAAI,EACb,EAAE,OAAkC,EAAE,GAAE;QAAE,OAAO,CAAC,EAAE,aAAa,CAAA;KAAO,GACvE,OAAO,CAAC,MAAM,CAAC;CA+CnB;AAED,eAAO,MAAM,UAAU,YAAmB,CAAC"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
'use strict';var aggregate=require('../aggregate/aggregate.js'),database=require('../database.js'),query=require('../query/query.js');class MasterMind {
|
|
2
|
+
/**
|
|
3
|
+
* Master Mind Collection name
|
|
4
|
+
*/
|
|
5
|
+
collection = "MasterMind";
|
|
6
|
+
/**
|
|
7
|
+
* Connection instance
|
|
8
|
+
*/
|
|
9
|
+
database = database.database;
|
|
10
|
+
/**
|
|
11
|
+
* Get last id of the given collection
|
|
12
|
+
*/
|
|
13
|
+
async getLastId(collection) {
|
|
14
|
+
const query = this.database.collection(this.collection);
|
|
15
|
+
const collectionDocument = await query.findOne({
|
|
16
|
+
collection: collection,
|
|
17
|
+
});
|
|
18
|
+
return collectionDocument ? collectionDocument.id : 0;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Set last id for the given collection
|
|
22
|
+
*/
|
|
23
|
+
async setLastId(collection, id, { session = this.getCurrentSession() } = {}) {
|
|
24
|
+
const query = this.database.collection(this.collection);
|
|
25
|
+
const collectionDocument = await query.findOne({
|
|
26
|
+
collection: collection,
|
|
27
|
+
});
|
|
28
|
+
if (collectionDocument) {
|
|
29
|
+
// update the collection with the latest id
|
|
30
|
+
await query.updateOne({
|
|
31
|
+
collection: collection,
|
|
32
|
+
}, {
|
|
33
|
+
$set: {
|
|
34
|
+
id: id,
|
|
35
|
+
},
|
|
36
|
+
}, {
|
|
37
|
+
session,
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// if the collection is not found in the master mind table
|
|
42
|
+
// create a new record for it
|
|
43
|
+
await query.insertOne({
|
|
44
|
+
collection: collection,
|
|
45
|
+
id: id,
|
|
46
|
+
}, {
|
|
47
|
+
session,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Rename the given collection to the new one to keep the last id updated and not to be reset
|
|
53
|
+
*/
|
|
54
|
+
async renameCollection(oldCollection, newCollection, { session = this.getCurrentSession() } = {}) {
|
|
55
|
+
const query = this.database.collection(this.collection);
|
|
56
|
+
const collectionDocument = await query.findOne({
|
|
57
|
+
collection: oldCollection,
|
|
58
|
+
});
|
|
59
|
+
if (collectionDocument) {
|
|
60
|
+
// update the collection with the latest id
|
|
61
|
+
await query.updateOne({
|
|
62
|
+
collection: oldCollection,
|
|
63
|
+
}, {
|
|
64
|
+
$set: {
|
|
65
|
+
collection: newCollection,
|
|
66
|
+
},
|
|
67
|
+
}, {
|
|
68
|
+
session,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Get current active session from database object
|
|
74
|
+
*/
|
|
75
|
+
getCurrentSession() {
|
|
76
|
+
return this.database.getActiveSession()?.session;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Update all collections by the last id of each collection in current database
|
|
80
|
+
*/
|
|
81
|
+
async updateAllLastId() {
|
|
82
|
+
for (const document of await query.query.list("MasterMind")) {
|
|
83
|
+
const { collection, id } = document;
|
|
84
|
+
if (!collection)
|
|
85
|
+
continue;
|
|
86
|
+
const biggestId = (await new aggregate.Aggregate(collection).orderByDesc("id").first())?.id;
|
|
87
|
+
if (biggestId && biggestId > id) {
|
|
88
|
+
await masterMind.setLastId(collection, biggestId + 1);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Generate next id for the given collection name
|
|
94
|
+
*/
|
|
95
|
+
async generateNextId(collection, incrementIdBy = 1, initialId = 1, { session = this.getCurrentSession() } = {}) {
|
|
96
|
+
const query = this.database.collection(this.collection);
|
|
97
|
+
const collectionDocument = await query.findOne({
|
|
98
|
+
collection: collection,
|
|
99
|
+
}, {
|
|
100
|
+
session,
|
|
101
|
+
});
|
|
102
|
+
if (collectionDocument) {
|
|
103
|
+
const nextId = collectionDocument.id + incrementIdBy;
|
|
104
|
+
// update the collection with the latest id
|
|
105
|
+
await query.updateOne({
|
|
106
|
+
collection: collection,
|
|
107
|
+
}, {
|
|
108
|
+
$set: {
|
|
109
|
+
id: nextId,
|
|
110
|
+
},
|
|
111
|
+
}, {
|
|
112
|
+
// session,
|
|
113
|
+
});
|
|
114
|
+
return nextId;
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
// if the collection is not found in the master mind table
|
|
118
|
+
// create a new record for it
|
|
119
|
+
await query.insertOne({
|
|
120
|
+
collection: collection,
|
|
121
|
+
id: initialId,
|
|
122
|
+
}, {
|
|
123
|
+
session,
|
|
124
|
+
});
|
|
125
|
+
return initialId;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const masterMind = new MasterMind();exports.MasterMind=MasterMind;exports.masterMind=masterMind;//# sourceMappingURL=master-mind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"master-mind.js","sources":["../../src/model/master-mind.ts"],"sourcesContent":[null],"names":["database","query","Aggregate"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Query } from "../query";
|
|
2
|
+
export declare class MigrationOffice {
|
|
3
|
+
/**
|
|
4
|
+
* Master Mind Collection name
|
|
5
|
+
*/
|
|
6
|
+
collection: string;
|
|
7
|
+
/**
|
|
8
|
+
* Connection Instance
|
|
9
|
+
*/
|
|
10
|
+
query: Query;
|
|
11
|
+
/**
|
|
12
|
+
* Check if the given migration name is already migrated
|
|
13
|
+
*/
|
|
14
|
+
isMigrated(migrationName: string): Promise<boolean>;
|
|
15
|
+
/**
|
|
16
|
+
* Migrate the given migration name
|
|
17
|
+
*/
|
|
18
|
+
migrate(migrationName: string): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Drop all migrations
|
|
21
|
+
*/
|
|
22
|
+
drop(): Promise<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Drop the given migration name
|
|
25
|
+
*/
|
|
26
|
+
dropMigration(migrationName: string): Promise<void>;
|
|
27
|
+
/**
|
|
28
|
+
* Get migrations list
|
|
29
|
+
*/
|
|
30
|
+
list(): Promise<any>;
|
|
31
|
+
}
|
|
32
|
+
export declare const migrationOffice: MigrationOffice;
|
|
33
|
+
//# sourceMappingURL=migration-office.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-office.d.ts","sourceRoot":"","sources":["../../src/model/migration-office.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAS,MAAM,UAAU,CAAC;AAGxC,qBAAa,eAAe;IAC1B;;OAEG;IACI,UAAU,SAAgB;IAEjC;;OAEG;IACI,KAAK,EAAE,KAAK,CAAS;IAE5B;;OAEG;IACU,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhE;;OAEG;IACU,OAAO,CAAC,aAAa,EAAE,MAAM;IAY1C;;OAEG;IACU,IAAI;IAiBjB;;OAEG;IACU,aAAa,CAAC,aAAa,EAAE,MAAM;IAMhD;;OAEG;IACU,IAAI;CAGlB;AAED,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use strict';var copper=require('@mongez/copper'),query=require('../query/query.js'),model=require('./model.js');class MigrationOffice {
|
|
2
|
+
/**
|
|
3
|
+
* Master Mind Collection name
|
|
4
|
+
*/
|
|
5
|
+
collection = "migrations";
|
|
6
|
+
/**
|
|
7
|
+
* Connection Instance
|
|
8
|
+
*/
|
|
9
|
+
query = query.query;
|
|
10
|
+
/**
|
|
11
|
+
* Check if the given migration name is already migrated
|
|
12
|
+
*/
|
|
13
|
+
async isMigrated(migrationName) {
|
|
14
|
+
const migrationDocument = await this.query.first(this.collection, {
|
|
15
|
+
name: migrationName,
|
|
16
|
+
});
|
|
17
|
+
return !!migrationDocument;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Migrate the given migration name
|
|
21
|
+
*/
|
|
22
|
+
async migrate(migrationName) {
|
|
23
|
+
const collectionName = this.collection;
|
|
24
|
+
class Migration extends model.Model {
|
|
25
|
+
static collection = collectionName;
|
|
26
|
+
}
|
|
27
|
+
await Migration.create({
|
|
28
|
+
name: migrationName,
|
|
29
|
+
createdAt: new Date(),
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Drop all migrations
|
|
34
|
+
*/
|
|
35
|
+
async drop() {
|
|
36
|
+
console.log(copper.colors.blue("→"), copper.colors.cyan("[migration]"), copper.colors.redBright("Dropping"), "all migrations");
|
|
37
|
+
await this.query.delete(this.collection);
|
|
38
|
+
console.log(copper.colors.green("✓"), copper.colors.cyan("[migration]"), "All migrations has been " + copper.colors.greenBright("dropped successfully."));
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Drop the given migration name
|
|
42
|
+
*/
|
|
43
|
+
async dropMigration(migrationName) {
|
|
44
|
+
await this.query.delete(this.collection, {
|
|
45
|
+
name: migrationName,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get migrations list
|
|
50
|
+
*/
|
|
51
|
+
async list() {
|
|
52
|
+
return await this.query.list(this.collection);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const migrationOffice = new MigrationOffice();exports.MigrationOffice=MigrationOffice;exports.migrationOffice=migrationOffice;//# sourceMappingURL=migration-office.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migration-office.js","sources":["../../src/model/migration-office.ts"],"sourcesContent":[null],"names":["query","Model","colors"],"mappings":"uHAIa,eAAe,CAAA;AAC1B;;AAEG;IACI,UAAU,GAAG,YAAY,CAAC;AAEjC;;AAEG;IACI,KAAK,GAAUA,WAAK,CAAC;AAE5B;;AAEG;IACI,MAAM,UAAU,CAAC,aAAqB,EAAA;AAC3C,QAAA,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;AAChE,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC,CAAC;QAEH,OAAO,CAAC,CAAC,iBAAiB,CAAC;KAC5B;AAED;;AAEG;IACI,MAAM,OAAO,CAAC,aAAqB,EAAA;AACxC,QAAA,MAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,MAAM,SAAU,SAAQC,WAAK,CAAA;AACpB,YAAA,OAAO,UAAU,GAAG,cAAc,CAAC;;QAG5C,MAAM,SAAS,CAAC,MAAM,CAAC;AACrB,YAAA,IAAI,EAAE,aAAa;YACnB,SAAS,EAAE,IAAI,IAAI,EAAE;AACtB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;QACf,OAAO,CAAC,GAAG,CACTC,aAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAChBA,aAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAC1BA,aAAM,CAAC,SAAS,CAAC,UAAU,CAAC,EAC5B,gBAAgB,CACjB,CAAC;QAEF,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEzC,OAAO,CAAC,GAAG,CACTA,aAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EACjBA,aAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAC1B,0BAA0B,GAAGA,aAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,CACzE,CAAC;KACH;AAED;;AAEG;IACI,MAAM,aAAa,CAAC,aAAqB,EAAA;QAC9C,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE;AACvC,YAAA,IAAI,EAAE,aAAa;AACpB,SAAA,CAAC,CAAC;KACJ;AAED;;AAEG;AACI,IAAA,MAAM,IAAI,GAAA;QACf,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;KAC/C;AACF,CAAA;AAEY,MAAA,eAAe,GAAG,IAAI,eAAe"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { Filter } from "./types";
|
|
2
|
+
export declare class ModelEvents {
|
|
3
|
+
collection?: string;
|
|
4
|
+
/**
|
|
5
|
+
* Event callbacks
|
|
6
|
+
*/
|
|
7
|
+
callbacks: Record<string, any[]>;
|
|
8
|
+
/**
|
|
9
|
+
* {@inheritdoc}
|
|
10
|
+
*/
|
|
11
|
+
constructor(collection?: string);
|
|
12
|
+
/**
|
|
13
|
+
* Add callback when model is about to be created or updated
|
|
14
|
+
*
|
|
15
|
+
* Triggered before saving the model
|
|
16
|
+
*/
|
|
17
|
+
onSaving(callback: (model: any, oldModel?: any) => void): this;
|
|
18
|
+
/**
|
|
19
|
+
* Add callback when model is created or updated
|
|
20
|
+
*
|
|
21
|
+
* Triggered after saving the model
|
|
22
|
+
*/
|
|
23
|
+
onSaved(callback: (model: any, oldModel?: any) => void): this;
|
|
24
|
+
/**
|
|
25
|
+
* Add callback when model is about to be created
|
|
26
|
+
*/
|
|
27
|
+
onCreating(callback: (model: any) => void): this;
|
|
28
|
+
/**
|
|
29
|
+
* Add callback when model is created
|
|
30
|
+
*/
|
|
31
|
+
onCreated(callback: (model: any) => void): this;
|
|
32
|
+
/**
|
|
33
|
+
* Add callback when model is about to be updated
|
|
34
|
+
*/
|
|
35
|
+
onUpdating(callback: (model: any, oldModel: any) => void): this;
|
|
36
|
+
/**
|
|
37
|
+
* Add callback when model is updated
|
|
38
|
+
*/
|
|
39
|
+
onUpdated(callback: (model: any, oldModel: any) => void): this;
|
|
40
|
+
/**
|
|
41
|
+
* Add callback when model is about to be deleted
|
|
42
|
+
*/
|
|
43
|
+
onDeleting(callback: (model: any) => void): this;
|
|
44
|
+
/**
|
|
45
|
+
* Add callback when model is deleted
|
|
46
|
+
*/
|
|
47
|
+
onDeleted(callback: (model: any) => void): this;
|
|
48
|
+
/**
|
|
49
|
+
* Add callback when model is about to be fetched
|
|
50
|
+
*/
|
|
51
|
+
onFetching(callback: (model: any, filterOptions: Filter) => void): this;
|
|
52
|
+
/**
|
|
53
|
+
* Trigger the given event
|
|
54
|
+
*/
|
|
55
|
+
trigger(event: string, ...args: any[]): Promise<void>;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=model-events.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-events.d.ts","sourceRoot":"","sources":["../../src/model/model-events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEjC,qBAAa,WAAW;IAmBI,UAAU,CAAC,EAAE,MAAM;IAlB7C;;OAEG;IACI,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAUrC;IAEF;;OAEG;gBACuB,UAAU,CAAC,EAAE,MAAM;IAI7C;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI;IAK9D;;;;OAIG;IACI,OAAO,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,EAAE,GAAG,KAAK,IAAI;IAM7D;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAMhD;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAM/C;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI;IAM/D;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI;IAM9D;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAMhD;;OAEG;IACI,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI;IAM/C;;OAEG;IACI,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI;IAMvE;;OAEG;IACU,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE;CASnD"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
'use strict';class ModelEvents {
|
|
2
|
+
collection;
|
|
3
|
+
/**
|
|
4
|
+
* Event callbacks
|
|
5
|
+
*/
|
|
6
|
+
callbacks = {
|
|
7
|
+
saving: [],
|
|
8
|
+
saved: [],
|
|
9
|
+
creating: [],
|
|
10
|
+
created: [],
|
|
11
|
+
updating: [],
|
|
12
|
+
updated: [],
|
|
13
|
+
deleting: [],
|
|
14
|
+
deleted: [],
|
|
15
|
+
fetching: [],
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* {@inheritdoc}
|
|
19
|
+
*/
|
|
20
|
+
constructor(collection) {
|
|
21
|
+
this.collection = collection;
|
|
22
|
+
//
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Add callback when model is about to be created or updated
|
|
26
|
+
*
|
|
27
|
+
* Triggered before saving the model
|
|
28
|
+
*/
|
|
29
|
+
onSaving(callback) {
|
|
30
|
+
this.callbacks.saving.push(callback);
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Add callback when model is created or updated
|
|
35
|
+
*
|
|
36
|
+
* Triggered after saving the model
|
|
37
|
+
*/
|
|
38
|
+
onSaved(callback) {
|
|
39
|
+
this.callbacks.saved.push(callback);
|
|
40
|
+
return this;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Add callback when model is about to be created
|
|
44
|
+
*/
|
|
45
|
+
onCreating(callback) {
|
|
46
|
+
this.callbacks.creating.push(callback);
|
|
47
|
+
return this;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Add callback when model is created
|
|
51
|
+
*/
|
|
52
|
+
onCreated(callback) {
|
|
53
|
+
this.callbacks.created.push(callback);
|
|
54
|
+
return this;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Add callback when model is about to be updated
|
|
58
|
+
*/
|
|
59
|
+
onUpdating(callback) {
|
|
60
|
+
this.callbacks.updating.push(callback);
|
|
61
|
+
return this;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Add callback when model is updated
|
|
65
|
+
*/
|
|
66
|
+
onUpdated(callback) {
|
|
67
|
+
this.callbacks.updated.push(callback);
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Add callback when model is about to be deleted
|
|
72
|
+
*/
|
|
73
|
+
onDeleting(callback) {
|
|
74
|
+
this.callbacks.deleting.push(callback);
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Add callback when model is deleted
|
|
79
|
+
*/
|
|
80
|
+
onDeleted(callback) {
|
|
81
|
+
this.callbacks.deleted.push(callback);
|
|
82
|
+
return this;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Add callback when model is about to be fetched
|
|
86
|
+
*/
|
|
87
|
+
onFetching(callback) {
|
|
88
|
+
this.callbacks.fetching.push(callback);
|
|
89
|
+
return this;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Trigger the given event
|
|
93
|
+
*/
|
|
94
|
+
async trigger(event, ...args) {
|
|
95
|
+
const callbacks = this.callbacks[event];
|
|
96
|
+
if (!callbacks)
|
|
97
|
+
return;
|
|
98
|
+
for (const callback of callbacks) {
|
|
99
|
+
await callback(...args);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}exports.ModelEvents=ModelEvents;//# sourceMappingURL=model-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-events.js","sources":["../../src/model/model-events.ts"],"sourcesContent":[null],"names":[],"mappings":"mBAEa,WAAW,CAAA;AAmBI,IAAA,UAAA,CAAA;AAlB1B;;AAEG;AACI,IAAA,SAAS,GAA0B;AACxC,QAAA,MAAM,EAAE,EAAE;AACV,QAAA,KAAK,EAAE,EAAE;AACT,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;AACZ,QAAA,OAAO,EAAE,EAAE;AACX,QAAA,QAAQ,EAAE,EAAE;KACb,CAAC;AAEF;;AAEG;AACH,IAAA,WAAA,CAA0B,UAAmB,EAAA;QAAnB,IAAU,CAAA,UAAA,GAAV,UAAU,CAAS;;KAE5C;AAED;;;;AAIG;AACI,IAAA,QAAQ,CAAC,QAA8C,EAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACrC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;;;AAIG;AACI,IAAA,OAAO,CAAC,QAA8C,EAAA;QAC3D,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEpC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA8B,EAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA8B,EAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA6C,EAAA;QAC7D,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA6C,EAAA;QAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAA8B,EAAA;QAC9C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,SAAS,CAAC,QAA8B,EAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEtC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,QAAqD,EAAA;QACrE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAEvC,QAAA,OAAO,IAAI,CAAC;KACb;AAED;;AAEG;AACI,IAAA,MAAM,OAAO,CAAC,KAAa,EAAE,GAAG,IAAW,EAAA;QAChD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAExC,QAAA,IAAI,CAAC,SAAS;YAAE,OAAO;AAEvB,QAAA,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;AAChC,YAAA,MAAM,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;AACzB,SAAA;KACF;AACF"}
|