@zakodium/adonis-mongodb 0.10.4 → 0.13.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 +1 -1
- package/lib/adonis-typings/migration.d.ts +3 -2
- package/lib/adonis-typings/odm.d.ts +68 -2
- package/lib/commands/MongodbListMigrations.js +2 -2
- package/lib/commands/MongodbMakeMigration.js +2 -2
- package/lib/commands/MongodbMigrate.js +2 -2
- package/lib/commands/util/MigrationCommand.js +6 -6
- package/lib/commands/util/transformMigrations.js +3 -3
- package/lib/providers/MongodbProvider.js +2 -2
- package/lib/src/Auth/MongodbModelAuthProvider.d.ts +2 -2
- package/lib/src/Auth/MongodbModelAuthProvider.js +3 -4
- package/lib/src/Migration.js +35 -9
- package/lib/src/Model/Model.d.ts +17 -7
- package/lib/src/Model/Model.js +135 -61
- package/lib/src/Model/proxyHandler.d.ts +1 -4
- package/lib/src/Model/proxyHandler.js +6 -3
- package/package.json +15 -15
- package/src/Auth/MongodbModelAuthProvider.ts +3 -4
- package/src/Migration.ts +54 -10
- package/src/Model/Model.ts +177 -65
- package/src/Model/proxyHandler.ts +10 -5
package/README.md
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
declare module '@ioc:Zakodium/Mongodb/Migration' {
|
|
2
|
-
import { Db, ClientSession, IndexSpecification, CreateIndexesOptions } from 'mongodb';
|
|
2
|
+
import { Db, ClientSession, IndexSpecification, CreateIndexesOptions, DropIndexesOptions } from 'mongodb';
|
|
3
3
|
export default abstract class Migration {
|
|
4
4
|
createCollections(collectionNames: string[]): void;
|
|
5
5
|
createCollection(collectionName: string): void;
|
|
6
|
-
createIndex(collectionName: string, index: IndexSpecification, options?: CreateIndexesOptions): void;
|
|
6
|
+
createIndex(collectionName: string, index: IndexSpecification, options?: Omit<CreateIndexesOptions, 'session'>): void;
|
|
7
|
+
dropIndex(collectionName: string, indexName: string, options?: Omit<DropIndexesOptions, 'session'>): void;
|
|
7
8
|
defer(callback: (db: Db, client: ClientSession) => Promise<void>): void;
|
|
8
9
|
abstract up(): void;
|
|
9
10
|
execUp(): Promise<void>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="@adonisjs/auth" />
|
|
2
2
|
/// <reference types="@adonisjs/hash/build/adonis-typings" />
|
|
3
3
|
declare module '@ioc:Zakodium/Mongodb/Odm' {
|
|
4
|
-
import { Collection, Filter, FindOptions, InsertOneOptions, DeleteOptions, CountDocumentsOptions, BulkWriteOptions, ClientSession } from 'mongodb';
|
|
4
|
+
import { Collection, Document, Filter, FindOptions, InsertOneOptions, DeleteOptions, CountDocumentsOptions, BulkWriteOptions, ClientSession, SortDirection, ExplainVerbosityLike } from 'mongodb';
|
|
5
5
|
import { UserProviderContract } from '@ioc:Adonis/Addons/Auth';
|
|
6
6
|
import { HashersList } from '@ioc:Adonis/Core/Hash';
|
|
7
7
|
type DollarProperties<T> = Extract<keyof T, `$${string}`>;
|
|
@@ -10,6 +10,7 @@ declare module '@ioc:Zakodium/Mongodb/Odm' {
|
|
|
10
10
|
}[keyof T];
|
|
11
11
|
type ModelSpecial = 'id';
|
|
12
12
|
type ModelAttributes<T> = Omit<T, ModelSpecial | DollarProperties<T> | FunctionProperties<Omit<T, DollarProperties<T>>>>;
|
|
13
|
+
type ForbiddenQueryOptions = 'sort' | 'skip' | 'limit' | 'explain';
|
|
13
14
|
/**
|
|
14
15
|
* Model adapter options
|
|
15
16
|
*/
|
|
@@ -96,7 +97,7 @@ declare module '@ioc:Zakodium/Mongodb/Odm' {
|
|
|
96
97
|
/**
|
|
97
98
|
* Returns a query
|
|
98
99
|
*/
|
|
99
|
-
query<ModelType extends MongodbModel<IdType>>(this: ModelType, filter?: Filter<ModelAttributes<InstanceType<ModelType>>>, options?: ModelAdapterOptions<FindOptions<ModelAttributes<InstanceType<ModelType
|
|
100
|
+
query<ModelType extends MongodbModel<IdType>>(this: ModelType, filter?: Filter<ModelAttributes<InstanceType<ModelType>>>, options?: ModelAdapterOptions<Omit<FindOptions<ModelAttributes<InstanceType<ModelType>>>, ForbiddenQueryOptions>>): QueryContract<InstanceType<ModelType>>;
|
|
100
101
|
/**
|
|
101
102
|
* Get the collection object from the MongoDB driver.
|
|
102
103
|
*/
|
|
@@ -111,7 +112,28 @@ declare module '@ioc:Zakodium/Mongodb/Odm' {
|
|
|
111
112
|
readonly id: this['_id'];
|
|
112
113
|
readonly createdAt: Date;
|
|
113
114
|
readonly updatedAt: Date;
|
|
115
|
+
readonly $original: ModelAttributes<this>;
|
|
116
|
+
readonly $attributes: ModelAttributes<this>;
|
|
117
|
+
/**
|
|
118
|
+
* `true` if the entry has been persisted to the database.
|
|
119
|
+
*/
|
|
120
|
+
readonly $isPersisted: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Opposite of `$isPersisted`.
|
|
123
|
+
*/
|
|
124
|
+
readonly $isNew: boolean;
|
|
125
|
+
/**
|
|
126
|
+
* `true` if the entry has been created locally. Similar to `$isNew`, but
|
|
127
|
+
* stays `true` after the entry is persisted to the database.
|
|
128
|
+
*/
|
|
129
|
+
readonly $isLocal: boolean;
|
|
130
|
+
/**
|
|
131
|
+
* `true` if the entry has been removed from the database.
|
|
132
|
+
*/
|
|
114
133
|
readonly $isDeleted: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Returns an object with the field values that have been changed.
|
|
136
|
+
*/
|
|
115
137
|
readonly $dirty: Partial<ModelAttributes<this>>;
|
|
116
138
|
/**
|
|
117
139
|
* `true` if the entry has unsaved modifications.
|
|
@@ -144,12 +166,56 @@ declare module '@ioc:Zakodium/Mongodb/Odm' {
|
|
|
144
166
|
*/
|
|
145
167
|
fill<T extends Partial<Omit<ModelAttributes<this>, '_id'>>>(values: NoExtraProperties<Partial<Omit<ModelAttributes<this>, '_id'>>, T>): this;
|
|
146
168
|
}
|
|
169
|
+
interface QuerySortObject {
|
|
170
|
+
[key: string]: SortDirection;
|
|
171
|
+
}
|
|
147
172
|
interface QueryContract<DocumentType> {
|
|
173
|
+
/**
|
|
174
|
+
* Add new criteria to the sort.
|
|
175
|
+
*/
|
|
176
|
+
sort(sort: QuerySortObject): this;
|
|
177
|
+
/**
|
|
178
|
+
* Add a new criterion to the sort.
|
|
179
|
+
*/
|
|
180
|
+
sortBy(field: string, direction?: SortDirection): this;
|
|
181
|
+
/**
|
|
182
|
+
* Skip `number` entries.
|
|
183
|
+
* Cancels any previous skip call.
|
|
184
|
+
*/
|
|
185
|
+
skip(number: number): this;
|
|
186
|
+
/**
|
|
187
|
+
* Limit the result to `number` entries.
|
|
188
|
+
* Cancels any previous limit call.
|
|
189
|
+
*/
|
|
190
|
+
limit(number: number): this;
|
|
191
|
+
/**
|
|
192
|
+
* Returns the first matching document or null.
|
|
193
|
+
*/
|
|
148
194
|
first(): Promise<DocumentType | null>;
|
|
195
|
+
/**
|
|
196
|
+
* Returns the first matching document or throws.
|
|
197
|
+
*/
|
|
149
198
|
firstOrFail(): Promise<DocumentType>;
|
|
199
|
+
/**
|
|
200
|
+
* Returns all matching documents.
|
|
201
|
+
*/
|
|
150
202
|
all(): Promise<DocumentType[]>;
|
|
203
|
+
/**
|
|
204
|
+
* Counts all matching documents.
|
|
205
|
+
* Calling this method after `skip` or `limit` might not count everything.
|
|
206
|
+
*/
|
|
151
207
|
count(): Promise<number>;
|
|
208
|
+
/**
|
|
209
|
+
* Performs a `distinct` query.
|
|
210
|
+
*/
|
|
152
211
|
distinct<T = unknown>(key: string): Promise<T[]>;
|
|
212
|
+
/**
|
|
213
|
+
* Performs an `explain` query.
|
|
214
|
+
*/
|
|
215
|
+
explain(verbosity?: ExplainVerbosityLike): Promise<Document>;
|
|
216
|
+
/**
|
|
217
|
+
* Returns an iterator on all matching documents.
|
|
218
|
+
*/
|
|
153
219
|
[Symbol.asyncIterator](): AsyncIterableIterator<DocumentType>;
|
|
154
220
|
}
|
|
155
221
|
type Impossible<K extends keyof any> = {
|
|
@@ -56,10 +56,10 @@ MongodbListMigrations.settings = {
|
|
|
56
56
|
loadApp: true,
|
|
57
57
|
};
|
|
58
58
|
__decorate([
|
|
59
|
-
standalone_1.inject(['Zakodium/Mongodb/Database']),
|
|
59
|
+
(0, standalone_1.inject)(['Zakodium/Mongodb/Database']),
|
|
60
60
|
__metadata("design:type", Function),
|
|
61
61
|
__metadata("design:paramtypes", [Object]),
|
|
62
62
|
__metadata("design:returntype", Promise)
|
|
63
63
|
], MongodbListMigrations.prototype, "run", null);
|
|
64
64
|
exports.default = MongodbListMigrations;
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYkxpc3RNaWdyYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29tbWFuZHMvTW9uZ29kYkxpc3RNaWdyYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQUEsZ0VBQXlEO0FBQ3pELDREQUFrQztBQUlsQywrRUFBdUQ7QUFFdkQsTUFBcUIscUJBQXNCLFNBQVEsMEJBQWdCO0lBUTFELEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBb0I7UUFDbkMsSUFBSTtZQUNGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDMUMsTUFBTSxRQUFRLEdBQUcsTUFBTSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0MsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3JELE1BQU0sVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFL0QsTUFBTSxrQkFBa0IsR0FBRyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7WUFFekQsTUFBTSxLQUFLLEdBQUcsSUFBSSxvQkFBUSxDQUFDO2dCQUN6QixJQUFJLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxTQUFTLENBQUM7YUFDN0MsQ0FBQyxDQUFDO1lBRUgsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUMvQixVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUN6RCxDQUFDO1lBRUY7O2VBRUc7WUFDSCxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUU7Z0JBQ3pDLE1BQU0sUUFBUSxHQUFHLGtCQUFrQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFFckUsTUFBTSxFQUFFLFdBQVcsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDckMsS0FBSyxDQUFDLElBQUksQ0FBQztvQkFDVCxJQUFJO29CQUNKLFFBQVE7d0JBQ04sQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQzt3QkFDaEMsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQztvQkFDakMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJO29CQUNoQyxXQUFXLElBQUksRUFBRTtpQkFDbEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7WUFFSCxzQ0FBc0M7WUFDdEMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztTQUMvQjtnQkFBUztZQUNSLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUM3QjtJQUNILENBQUM7O0FBOUNhLGlDQUFXLEdBQUcsMEJBQTBCLENBQUM7QUFDekMsaUNBQVcsR0FBRyx5QkFBeUIsQ0FBQztBQUN4Qyw4QkFBUSxHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUdGO0lBREMsSUFBQSxtQkFBTSxFQUFDLENBQUMsMkJBQTJCLENBQUMsQ0FBQzs7OztnREF3Q3JDO0FBL0NILHdDQWdEQyJ9
|
|
@@ -20,7 +20,7 @@ class MongodbMakeMigration extends standalone_1.BaseCommand {
|
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
22
|
const folder = 'mongodb/migrations';
|
|
23
|
-
const stub = path_1.join(__dirname, '../../templates/migration.txt');
|
|
23
|
+
const stub = (0, path_1.join)(__dirname, '../../templates/migration.txt');
|
|
24
24
|
this.generator
|
|
25
25
|
.addFile(name, { prefix: String(Date.now()), pattern: 'snakecase' })
|
|
26
26
|
.stub(stub)
|
|
@@ -46,4 +46,4 @@ __decorate([
|
|
|
46
46
|
__metadata("design:type", String)
|
|
47
47
|
], MongodbMakeMigration.prototype, "connection", void 0);
|
|
48
48
|
exports.default = MongodbMakeMigration;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1ha2VNaWdyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWFrZU1pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLCtCQUE0QjtBQUU1QixnRUFBMkU7QUFFM0UsTUFBcUIsb0JBQXFCLFNBQVEsd0JBQVc7SUFhcEQsS0FBSyxDQUFDLEdBQUc7UUFDZCxNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLE9BQU87U0FDUjtRQUVELE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDO1FBRXBDLE1BQU0sSUFBSSxHQUFHLElBQUEsV0FBSSxFQUFDLFNBQVMsRUFBRSwrQkFBK0IsQ0FBQyxDQUFDO1FBRTlELElBQUksQ0FBQyxTQUFTO2FBQ1gsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxDQUFDO2FBQ25FLElBQUksQ0FBQyxJQUFJLENBQUM7YUFDVixjQUFjLENBQUMsTUFBTSxDQUFDO2FBQ3RCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDO2FBQzNDLEtBQUssQ0FBQztZQUNMLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXO1NBQy9ELENBQUMsQ0FBQztRQUNMLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDOztBQWpDYSxnQ0FBVyxHQUFHLHdCQUF3QixDQUFDO0FBQ3ZDLGdDQUFXLEdBQUcsMkJBQTJCLENBQUM7QUFDMUMsNkJBQVEsR0FBRztJQUN2QixPQUFPLEVBQUUsSUFBSTtDQUNkLENBQUM7QUFHRjtJQURDLGlCQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDRCQUE0QixFQUFFLENBQUM7O2tEQUN2QztBQUdwQjtJQURDLGtCQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLDhDQUE4QyxFQUFFLENBQUM7O3dEQUNwRDtBQVg1Qix1Q0FtQ0MifQ==
|
|
@@ -130,10 +130,10 @@ MongodbMigrate.settings = {
|
|
|
130
130
|
loadApp: true,
|
|
131
131
|
};
|
|
132
132
|
__decorate([
|
|
133
|
-
standalone_1.inject(['Zakodium/Mongodb/Database']),
|
|
133
|
+
(0, standalone_1.inject)(['Zakodium/Mongodb/Database']),
|
|
134
134
|
__metadata("design:type", Function),
|
|
135
135
|
__metadata("design:paramtypes", [Object]),
|
|
136
136
|
__metadata("design:returntype", Promise)
|
|
137
137
|
], MongodbMigrate.prototype, "run", null);
|
|
138
138
|
exports.default = MongodbMigrate;
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1pZ3JhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb21tYW5kcy9Nb25nb2RiTWlncmF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnRUFBeUQ7QUFLekQsNEVBR2lDO0FBU2pDLE1BQXFCLGNBQWUsU0FBUSwwQkFBZ0I7SUFPbEQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEVBQW9CO1FBQ2xELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sVUFBVSxDQUFDLFVBQVUsQ0FDbkQsOENBQTJCLENBQzVCLENBQUM7UUFFRixNQUFNLGFBQWEsR0FBRyxNQUFNLFVBQVUsQ0FBQyxVQUFVLENBQy9DLDBDQUF1QixDQUN4QixDQUFDO1FBRUYsTUFBTSxJQUFJLEdBQUcsTUFBTSxpQkFBaUIsQ0FBQyxTQUFTLENBQzVDO1lBQ0UsR0FBRyxFQUFFLGdCQUFnQjtTQUN0QixFQUNEO1lBQ0UsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRTtTQUN4QixFQUNEO1lBQ0UsTUFBTSxFQUFFLElBQUk7U0FDYixDQUNGLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLEtBQUssQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7WUFDcEQsTUFBTSxFQUFFLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQzVCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakI7UUFFRCxNQUFNLGFBQWEs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
|
|
@@ -52,19 +52,19 @@ class MigrationCommand extends standalone_1.BaseCommand {
|
|
|
52
52
|
? config.migrations
|
|
53
53
|
: [folder];
|
|
54
54
|
const rawMigrationFiles = await Promise.all(folders
|
|
55
|
-
.map((folder) => path_1.join(this.application.appRoot, folder))
|
|
55
|
+
.map((folder) => (0, path_1.join)(this.application.appRoot, folder))
|
|
56
56
|
.map(async (migrationsPath) => {
|
|
57
57
|
try {
|
|
58
|
-
const files = await promises_1.readdir(migrationsPath);
|
|
58
|
+
const files = await (0, promises_1.readdir)(migrationsPath);
|
|
59
59
|
return files
|
|
60
|
-
.filter((file) => path_1.extname(file) === '.js' || path_1.extname(file) === '.ts')
|
|
61
|
-
.map((file) => path_1.join(migrationsPath, file));
|
|
60
|
+
.filter((file) => (0, path_1.extname)(file) === '.js' || (0, path_1.extname)(file) === '.ts')
|
|
61
|
+
.map((file) => (0, path_1.join)(migrationsPath, file));
|
|
62
62
|
}
|
|
63
63
|
catch {
|
|
64
64
|
return [];
|
|
65
65
|
}
|
|
66
66
|
}));
|
|
67
|
-
return transformMigrations_1.default(rawMigrationFiles, this.logger);
|
|
67
|
+
return (0, transformMigrations_1.default)(rawMigrationFiles, this.logger);
|
|
68
68
|
}
|
|
69
69
|
async importMigration(file) {
|
|
70
70
|
const module = await Promise.resolve().then(() => __importStar(require(file)));
|
|
@@ -85,4 +85,4 @@ __decorate([
|
|
|
85
85
|
__metadata("design:type", String)
|
|
86
86
|
], MigrationCommand.prototype, "connection", void 0);
|
|
87
87
|
exports.default = MigrationCommand;
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uQ29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvTWlncmF0aW9uQ29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMENBQXNDO0FBQ3RDLCtCQUFxQztBQUVyQyxnRUFBcUU7QUFXckUsZ0ZBRStCO0FBRS9CLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDO0FBRXZCLFFBQUEsdUJBQXVCLEdBQUcsa0JBQWtCLENBQUM7QUFDN0MsUUFBQSwyQkFBMkIsR0FBRyx1QkFBdUIsQ0FBQztBQVduRSxNQUE4QixnQkFBaUIsU0FBUSx3QkFBVztJQVd0RCxhQUFhLENBQUMsRUFBb0I7UUFDMUMsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLCtDQUErQyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQ2xFLENBQUM7WUFDRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ2pCO1FBQ0QsT0FBTyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsS0FBSyxDQUFDLGFBQWEsQ0FDM0IsTUFBK0I7UUFFL0IsTUFBTSxPQUFPLEdBQ1gsTUFBTSxDQUFDLFVBQVUsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQy9DLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBVTtZQUNuQixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVmLE1BQU0saUJBQWlCLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUN6QyxPQUFPO2FBQ0osR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFBLFdBQUksRUFBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQzthQUN2RCxHQUFHLENBQUMsS0FBSyxFQUFFLGNBQWMsRUFBRSxFQUFFO1lBQzVCLElBQUk7Z0JBQ0YsTUFBTSxLQUFLLEdBQUcsTUFBTSxJQUFBLGtCQUFPLEVBQUMsY0FBYyxDQUFDLENBQUM7Z0JBQzVDLE9BQU8sS0FBSztxQkFDVCxNQUFNLENBQ0wsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUEsY0FBTyxFQUFDLElBQUksQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFBLGNBQU8sRUFBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQzdEO3FCQUNBLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBQSxXQUFJLEVBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUM7YUFDOUM7WUFBQyxNQUFNO2dCQUNOLE9BQU8sRUFBRSxDQUFDO2FBQ1g7UUFDSCxDQUFDLENBQUMsQ0FDTCxDQUFDO1FBRUYsT0FBTyxJQUFBLDZCQUFtQixFQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRVMsS0FBSyxDQUFDLGVBQWUsQ0FDN0IsSUFBWTtRQUVaLE1BQU0sTUFBTSxHQUFvQix3REFBYSxJQUFJLEdBQUMsQ0FBQztRQUNuRCxNQUFNLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLENBQUM7UUFDbkQsSUFBSSxDQUFDLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDakQsTUFBTSxJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDO1NBQ3JFO1FBQ0QsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDOztBQXpEYSx5QkFBUSxHQUFHO0lBQ3ZCLE9BQU8sRUFBRSxJQUFJO0NBQ2QsQ0FBQztBQUVZLDRCQUFXLEdBQUcsYUFBYSxDQUFDO0FBQzVCLDRCQUFXLEdBQUcsYUFBYSxDQUFDO0FBRzFDO0lBREMsa0JBQUssQ0FBQyxNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsOENBQThDLEVBQUUsQ0FBQzs7b0RBQ3BEO0FBVDVCLG1DQTJEQyJ9
|
|
@@ -6,9 +6,9 @@ function transformMigrations(rawMigrations, logger) {
|
|
|
6
6
|
// Separate name and file fields
|
|
7
7
|
const migrations = rawMigrations
|
|
8
8
|
.flat()
|
|
9
|
-
.sort((a, b) => path_1.basename(a, path_1.extname(a)).localeCompare(path_1.basename(b, path_1.extname(a))))
|
|
9
|
+
.sort((a, b) => (0, path_1.basename)(a, (0, path_1.extname)(a)).localeCompare((0, path_1.basename)(b, (0, path_1.extname)(a))))
|
|
10
10
|
.map((migrationFile) => ({
|
|
11
|
-
name: path_1.basename(migrationFile, path_1.extname(migrationFile)),
|
|
11
|
+
name: (0, path_1.basename)(migrationFile, (0, path_1.extname)(migrationFile)),
|
|
12
12
|
file: migrationFile,
|
|
13
13
|
}));
|
|
14
14
|
// Check migration file names
|
|
@@ -36,4 +36,4 @@ function transformMigrations(rawMigrations, logger) {
|
|
|
36
36
|
return migrations;
|
|
37
37
|
}
|
|
38
38
|
exports.default = transformMigrations;
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmb3JtTWlncmF0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2NvbW1hbmRzL3V0aWwvdHJhbnNmb3JtTWlncmF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUF5QztBQUl6QyxNQUFNLGNBQWMsR0FBRyx3QkFBd0IsQ0FBQztBQU9oRCxTQUF3QixtQkFBbUIsQ0FDekMsYUFBeUIsRUFDekIsTUFBZTtJQUVmLGdDQUFnQztJQUNoQyxNQUFNLFVBQVUsR0FBMkIsYUFBYTtTQUNyRCxJQUFJLEVBQUU7U0FDTixJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FDYixJQUFBLGVBQVEsRUFBQyxDQUFDLEVBQUUsSUFBQSxjQUFPLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsSUFBQSxlQUFRLEVBQUMsQ0FBQyxFQUFFLElBQUEsY0FBTyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FDL0Q7U0FDQSxHQUFHLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDdkIsSUFBSSxFQUFFLElBQUEsZUFBUSxFQUFDLGFBQWEsRUFBRSxJQUFBLGNBQU8sRUFBQyxhQUFhLENBQUMsQ0FBQztRQUNyRCxJQUFJLEVBQUUsYUFBYTtLQUNwQixDQUFDLENBQUMsQ0FBQztJQUVOLDZCQUE2QjtJQUM3QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDdkIsVUFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7UUFDcEMsTUFBTSxLQUFLLEdBQUcsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUNuRCxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksU0FBUyxLQUFLLENBQUMsRUFBRTtZQUM5QyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksTUFBTSxFQUFFO2dCQUNWLE1BQU0sQ0FBQyxLQUFLLENBQ1YsMkJBQTJCLElBQUksb0NBQW9DLENBQ3BFLENBQUM7YUFDSDtTQUNGO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDSCxJQUFJLFVBQVUsRUFBRTtRQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztLQUN2RDtJQUVELHdDQUF3QztJQUN4QyxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsQ0FDeEIsVUFBVSxDQUFDLE1BQU0sQ0FDZixDQUFDLEVBQUUsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FDbEIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLENBQ3hFLENBQ0YsQ0FBQztJQUNGLElBQUksVUFBVSxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUU7UUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FDYix5Q0FBeUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQzthQUNyRCxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUM7YUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQ2hCLENBQUM7S0FDSDtJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFqREQsc0NBaURDIn0=
|
|
@@ -33,7 +33,7 @@ class MongodbProvider {
|
|
|
33
33
|
}
|
|
34
34
|
registerMigration() {
|
|
35
35
|
this.app.container.singleton('Zakodium/Mongodb/Migration', () => {
|
|
36
|
-
return Migration_1.default(this.app.container.resolveBinding('Zakodium/Mongodb/Database'));
|
|
36
|
+
return (0, Migration_1.default)(this.app.container.resolveBinding('Zakodium/Mongodb/Database'));
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
register() {
|
|
@@ -53,4 +53,4 @@ class MongodbProvider {
|
|
|
53
53
|
}
|
|
54
54
|
}
|
|
55
55
|
exports.default = MongodbProvider;
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYlByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vcHJvdmlkZXJzL01vbmdvZGJQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLHFDQUFtQztBQVFuQyxtRkFBbUY7QUFDbkYsdURBQW9EO0FBQ3BELGlFQUErQztBQUMvQyw4Q0FBdUU7QUFDdkUsc0RBQThDO0FBRTlDLE1BQXFCLGVBQWU7SUFDbEMsWUFBNkIsR0FBd0I7UUFBeEIsUUFBRyxHQUFILEdBQUcsQ0FBcUI7SUFBRyxDQUFDO0lBRWpELFdBQVc7UUFDakIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLHNCQUFzQixFQUFFLEdBQUcsRUFBRTtZQUN4RCxpQkFBUyxDQUFDLFlBQVksQ0FDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLENBQy9ELENBQUM7WUFDRiw4QkFBc0IsQ0FBQyxZQUFZLENBQ2pDLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQywyQkFBMkIsQ0FBQyxDQUMvRCxDQUFDO1lBRUYsT0FBTztnQkFDTCxRQUFRLEVBQVIsa0JBQVE7Z0JBQ1IsU0FBUyxFQUFFLGlCQUE0QztnQkFDdkQsc0JBQXNCLEVBQ3BCLDhCQUFzRTtnQkFDeEUsS0FBSyxFQUFMLGtCQUFLO2FBQ04sQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQjtRQUN0QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsMkJBQTJCLEVBQUUsR0FBRyxFQUFFO1lBQzdELE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQztZQUNwQyxPQUFPLElBQUksbUJBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDdkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLDRCQUE0QixFQUFFLEdBQUcsRUFBRTtZQUM5RCxPQUFPLElBQUEsbUJBQWUsRUFDcEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLDJCQUEyQixDQUFDLENBQy9ELENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxJQUFJO1FBQ1QsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUN2RCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsQ0FBQztZQUNyRSxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsc0RBQTJCLENBQUMsQ0FBQztTQUN2RTtJQUNILENBQUM7SUFFTSxLQUFLLENBQUMsUUFBUTtRQUNuQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQ2hELDJCQUEyQixDQUM1QixDQUFDO1FBQ0YsT0FBTyxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQXhERCxrQ0F3REMifQ==
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/// <reference types="@adonisjs/auth" />
|
|
2
2
|
/// <reference types="@adonisjs/hash/build/adonis-typings" />
|
|
3
3
|
import { AuthManagerContract, ProviderUserContract, UserProviderContract } from '@ioc:Adonis/Addons/Auth';
|
|
4
|
-
import {
|
|
4
|
+
import { HashDriverContract } from '@ioc:Adonis/Core/Hash';
|
|
5
5
|
import type { MongodbDocument, MongodbModel, MongodbModelAuthProviderConfig } from '@ioc:Zakodium/Mongodb/Odm';
|
|
6
6
|
declare class MongodbModelAuthProviderUser implements ProviderUserContract<MongodbDocument<unknown>> {
|
|
7
7
|
user: any;
|
|
8
8
|
private identifierKey;
|
|
9
9
|
private identifierKeyType;
|
|
10
10
|
private hash;
|
|
11
|
-
constructor(user: any, identifierKey: string, identifierKeyType: 'objectid' | 'string' | 'number', hash:
|
|
11
|
+
constructor(user: any, identifierKey: string, identifierKeyType: 'objectid' | 'string' | 'number', hash: HashDriverContract);
|
|
12
12
|
getId(): string | number | null;
|
|
13
13
|
verifyPassword(plainPassword: string): Promise<boolean>;
|
|
14
14
|
getRememberMeToken(): string | null;
|
|
@@ -58,15 +58,14 @@ class MongodbModelAuthUserProvider {
|
|
|
58
58
|
this.identifierKeyType = config.identifierKeyType;
|
|
59
59
|
}
|
|
60
60
|
const Hash = this.auth.application.container.resolveBinding('Adonis/Core/Hash');
|
|
61
|
-
// @ts-expect-error For some reason, BcryptDriver is not compatible with HashDriver.
|
|
62
61
|
this.hash = config.hashDriver ? Hash.use(config.hashDriver) : Hash;
|
|
63
62
|
}
|
|
64
63
|
async getModel() {
|
|
65
64
|
if (this.config.model) {
|
|
66
|
-
return utils_1.esmResolver(await this.config.model());
|
|
65
|
+
return (0, utils_1.esmResolver)(await this.config.model());
|
|
67
66
|
}
|
|
68
67
|
else {
|
|
69
|
-
return utils_1.esmResolver(await this.auth.application.container.useAsync('App/Models/User'));
|
|
68
|
+
return (0, utils_1.esmResolver)(await this.auth.application.container.useAsync('App/Models/User'));
|
|
70
69
|
}
|
|
71
70
|
}
|
|
72
71
|
async getUserFor(user) {
|
|
@@ -95,4 +94,4 @@ function getMongodbModelAuthProvider(auth, _mapping, config) {
|
|
|
95
94
|
return new MongodbModelAuthUserProvider(auth, config);
|
|
96
95
|
}
|
|
97
96
|
exports.getMongodbModelAuthProvider = getMongodbModelAuthProvider;
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTW9uZ29kYk1vZGVsQXV0aFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL0F1dGgvTW9uZ29kYk1vZGVsQXV0aFByb3ZpZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE4QztBQUM5QyxxQ0FBbUM7QUFjbkMsTUFBTSw0QkFBNEI7SUFHaEM7SUFDRSxnRkFBZ0Y7SUFDaEYsOERBQThEO0lBQ3ZELElBQVMsRUFDUixhQUFxQixFQUNyQixpQkFBbUQsRUFDbkQsSUFBd0I7UUFIekIsU0FBSSxHQUFKLElBQUksQ0FBSztRQUNSLGtCQUFhLEdBQWIsYUFBYSxDQUFRO1FBQ3JCLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBa0M7UUFDbkQsU0FBSSxHQUFKLElBQUksQ0FBb0I7SUFDL0IsQ0FBQztJQUVHLEtBQUs7UUFDVixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3BDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQzVDLElBQUksSUFBSSxDQUFDLGlCQUFpQixLQUFLLFVBQVUsRUFBRTtZQUN6QyxPQUFPLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztTQUN6QjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVNLGNBQWMsQ0FBQyxhQUFxQjtRQUN6QyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssSUFBSSxFQUFFO1lBQ3RCLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQztTQUNqRTtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixNQUFNLElBQUksS0FBSyxDQUNiLHlFQUF5RSxDQUMxRSxDQUFDO1NBQ0g7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJ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
|
package/lib/src/Migration.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
var MigrationType;
|
|
4
4
|
(function (MigrationType) {
|
|
5
5
|
MigrationType["CreateCollection"] = "CreateCollection";
|
|
6
|
+
MigrationType["DropIndex"] = "DropIndex";
|
|
6
7
|
MigrationType["CreateIndex"] = "CreateIndex";
|
|
7
8
|
MigrationType["Custom"] = "Custom";
|
|
8
9
|
})(MigrationType || (MigrationType = {}));
|
|
@@ -21,13 +22,21 @@ function createMigration(Database) {
|
|
|
21
22
|
createCollection(collectionName) {
|
|
22
23
|
this.$operations.push({
|
|
23
24
|
type: MigrationType.CreateCollection,
|
|
24
|
-
|
|
25
|
+
collectionName,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
dropIndex(collectionName, indexName, options) {
|
|
29
|
+
this.$operations.push({
|
|
30
|
+
type: MigrationType.DropIndex,
|
|
31
|
+
collectionName,
|
|
32
|
+
indexName,
|
|
33
|
+
options,
|
|
25
34
|
});
|
|
26
35
|
}
|
|
27
36
|
createIndex(collectionName, index, options) {
|
|
28
37
|
this.$operations.push({
|
|
29
38
|
type: MigrationType.CreateIndex,
|
|
30
|
-
|
|
39
|
+
collectionName,
|
|
31
40
|
index,
|
|
32
41
|
options,
|
|
33
42
|
});
|
|
@@ -41,6 +50,7 @@ function createMigration(Database) {
|
|
|
41
50
|
async execUp() {
|
|
42
51
|
this.up();
|
|
43
52
|
await this._createCollections();
|
|
53
|
+
await this._dropIndexes();
|
|
44
54
|
await this._createIndexes();
|
|
45
55
|
await this._executeDeferred();
|
|
46
56
|
}
|
|
@@ -59,8 +69,10 @@ function createMigration(Database) {
|
|
|
59
69
|
async _createCollections() {
|
|
60
70
|
const db = await this.$connection.database();
|
|
61
71
|
for (const op of this.$operations.filter(isCreateCollection)) {
|
|
62
|
-
this.$logger.info(`Creating collection ${op.
|
|
63
|
-
await db.createCollection(op.
|
|
72
|
+
this.$logger.info(`Creating collection ${op.collectionName}`);
|
|
73
|
+
await db.createCollection(op.collectionName, {
|
|
74
|
+
session: this.$session,
|
|
75
|
+
});
|
|
64
76
|
}
|
|
65
77
|
}
|
|
66
78
|
async _executeDeferred() {
|
|
@@ -69,15 +81,26 @@ function createMigration(Database) {
|
|
|
69
81
|
await op.callback(db, this.$session);
|
|
70
82
|
}
|
|
71
83
|
}
|
|
84
|
+
async _dropIndexes() {
|
|
85
|
+
const db = await this.$connection.database();
|
|
86
|
+
for (const op of this.$operations.filter(isDropIndex)) {
|
|
87
|
+
this.$logger.info(`Dropping index ${op.indexName} on ${op.collectionName}`);
|
|
88
|
+
const collection = db.collection(op.collectionName);
|
|
89
|
+
// Index deletion cannot be done in a transaction.
|
|
90
|
+
await collection.dropIndex(op.indexName, { ...op.options });
|
|
91
|
+
}
|
|
92
|
+
}
|
|
72
93
|
async _createIndexes() {
|
|
73
94
|
const db = await this.$connection.database();
|
|
74
95
|
const collections = await this._listCollections();
|
|
75
96
|
for (const op of this.$operations.filter(isCreateIndex)) {
|
|
76
|
-
this.$logger.info(`Creating index on ${op.
|
|
77
|
-
await db.createIndex(op.
|
|
97
|
+
this.$logger.info(`Creating index on ${op.collectionName}`);
|
|
98
|
+
await db.createIndex(op.collectionName, op.index, {
|
|
78
99
|
...op.options,
|
|
79
|
-
//
|
|
80
|
-
session: collections.includes(op.
|
|
100
|
+
// Index creation will fail if collection pre-exists the transaction.
|
|
101
|
+
session: collections.includes(op.collectionName)
|
|
102
|
+
? undefined
|
|
103
|
+
: this.$session,
|
|
81
104
|
});
|
|
82
105
|
}
|
|
83
106
|
}
|
|
@@ -91,7 +114,10 @@ function isCreateCollection(op) {
|
|
|
91
114
|
function isCreateIndex(op) {
|
|
92
115
|
return op.type === MigrationType.CreateIndex;
|
|
93
116
|
}
|
|
117
|
+
function isDropIndex(op) {
|
|
118
|
+
return op.type === MigrationType.DropIndex;
|
|
119
|
+
}
|
|
94
120
|
function isCustom(op) {
|
|
95
121
|
return op.type === MigrationType.Custom;
|
|
96
122
|
}
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlncmF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01pZ3JhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWNBLElBQUssYUFLSjtBQUxELFdBQUssYUFBYTtJQUNoQixzREFBcUMsQ0FBQTtJQUNyQyx3Q0FBdUIsQ0FBQTtJQUN2Qiw0Q0FBMkIsQ0FBQTtJQUMzQixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBTEksYUFBYSxLQUFiLGFBQWEsUUFLakI7QUFnQ0QsOERBQThEO0FBQzlELFNBQXdCLGVBQWUsQ0FBQyxRQUEwQjtJQUNoRSxNQUFlLFNBQVM7UUFPdEIsWUFDRSxVQUE4QixFQUM5QixNQUFjLEVBQ2QsT0FBc0I7WUFUaEIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1lBVzdDLElBQUksQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUNuRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUN0QixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQztRQUMxQixDQUFDO1FBRU0saUJBQWlCLENBQUMsZUFBeUI7WUFDaEQsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLGNBQWMsRUFBRSxFQUFFLENBQ3pDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsQ0FDdEMsQ0FBQztRQUNKLENBQUM7UUFFTSxnQkFBZ0IsQ0FBQyxjQUFzQjtZQUM1QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDcEIsSUFBSSxFQUFFLGFBQWEsQ0FBQyxnQkFBZ0I7Z0JBQ3BDLGNBQWM7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO1FBRU0sU0FBUyxDQUNkLGNBQXNCLEVBQ3RCLFNBQWlCLEVBQ2pCLE9BQTRCO1lBRTVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDO2dCQUNwQixJQUFJLEVBQUUsYUFBYSxDQUFDLFNBQVM7Z0JBQzdCLGNB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
|
package/lib/src/Model/Model.d.ts
CHANGED
|
@@ -1,16 +1,24 @@
|
|
|
1
|
-
import { BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, DeleteOptions, Filter, FindOptions, InsertOneOptions } from 'mongodb';
|
|
1
|
+
import { BulkWriteOptions, ClientSession, Collection, CountDocumentsOptions, DeleteOptions, Document, ExplainVerbosityLike, Filter, FindOptions, InsertOneOptions, SortDirection } from 'mongodb';
|
|
2
2
|
import { DatabaseContract } from '@ioc:Zakodium/Mongodb/Database';
|
|
3
|
-
import { MongodbDocument, QueryContract, NoExtraProperties, ModelAttributes, ModelAdapterOptions, ModelDocumentOptions, FieldOptions } from '@ioc:Zakodium/Mongodb/Odm';
|
|
3
|
+
import { MongodbDocument, QueryContract, NoExtraProperties, ModelAttributes, ModelAdapterOptions, ModelDocumentOptions, FieldOptions, QuerySortObject, ForbiddenQueryOptions } from '@ioc:Zakodium/Mongodb/Odm';
|
|
4
4
|
declare class Query<ModelType extends typeof BaseModel> implements QueryContract<InstanceType<ModelType>> {
|
|
5
5
|
private filter;
|
|
6
6
|
private options;
|
|
7
7
|
private modelConstructor;
|
|
8
|
-
|
|
8
|
+
private localCustomSort;
|
|
9
|
+
private localOptions;
|
|
10
|
+
private getDriverOptions;
|
|
11
|
+
constructor(filter: Filter<ModelAttributes<InstanceType<ModelType>>>, options: ModelAdapterOptions<Omit<FindOptions<ModelAttributes<InstanceType<ModelType>>>, ForbiddenQueryOptions>> | undefined, modelConstructor: ModelType);
|
|
12
|
+
sort(sort: QuerySortObject): this;
|
|
13
|
+
sortBy(field: string, direction?: SortDirection): this;
|
|
14
|
+
skip(skip: number): this;
|
|
15
|
+
limit(limit: number): this;
|
|
9
16
|
first(): Promise<InstanceType<ModelType> | null>;
|
|
10
17
|
firstOrFail(): Promise<InstanceType<ModelType>>;
|
|
11
18
|
all(): Promise<Array<InstanceType<ModelType>>>;
|
|
12
19
|
count(): Promise<number>;
|
|
13
20
|
distinct<T = unknown>(key: string): Promise<T[]>;
|
|
21
|
+
explain(verbosity?: ExplainVerbosityLike): Promise<Document>;
|
|
14
22
|
[Symbol.asyncIterator](): AsyncIterableIterator<InstanceType<ModelType>>;
|
|
15
23
|
}
|
|
16
24
|
interface InternalModelConstructorOptions {
|
|
@@ -30,12 +38,13 @@ export declare class BaseModel {
|
|
|
30
38
|
readonly _id: unknown;
|
|
31
39
|
readonly createdAt: Date;
|
|
32
40
|
readonly updatedAt: Date;
|
|
41
|
+
$original: Record<string, unknown>;
|
|
42
|
+
$attributes: Record<string, unknown>;
|
|
43
|
+
$isPersisted: boolean;
|
|
44
|
+
$isLocal: boolean;
|
|
33
45
|
$isDeleted: boolean;
|
|
34
46
|
protected $collection: Collection<ModelAttributes<MongodbDocument<unknown>>> | null;
|
|
35
|
-
protected $originalData: Record<string, unknown>;
|
|
36
|
-
protected $currentData: Record<string, unknown>;
|
|
37
47
|
protected $options: InternalModelConstructorOptions;
|
|
38
|
-
protected $alreadySaved: boolean;
|
|
39
48
|
constructor(dbObj?: Record<string, unknown>, options?: InternalModelConstructorOptions, alreadyExists?: boolean);
|
|
40
49
|
static $database: DatabaseContract;
|
|
41
50
|
static $setDatabase(database: DatabaseContract): void;
|
|
@@ -52,8 +61,9 @@ export declare class BaseModel {
|
|
|
52
61
|
static findByOrFail<ModelType extends typeof BaseModel>(this: ModelType, key: string, value: unknown, options?: ModelAdapterOptions<FindOptions<ModelAttributes<InstanceType<ModelType>>>>): Promise<InstanceType<ModelType>>;
|
|
53
62
|
static findMany<ModelType extends typeof BaseModel>(this: ModelType, ids: Array<InstanceType<ModelType>['_id']>, options?: ModelAdapterOptions<FindOptions<ModelAttributes<InstanceType<ModelType>>>>): Promise<Array<InstanceType<ModelType>>>;
|
|
54
63
|
static all<ModelType extends typeof BaseModel>(this: ModelType, options?: ModelAdapterOptions<FindOptions<ModelAttributes<InstanceType<ModelType>>>>): Promise<Array<InstanceType<ModelType>>>;
|
|
55
|
-
static query<ModelType extends typeof BaseModel>(this: ModelType, filter?: Filter<ModelAttributes<InstanceType<ModelType>>>, options?: ModelAdapterOptions<FindOptions<ModelAttributes<InstanceType<ModelType
|
|
64
|
+
static query<ModelType extends typeof BaseModel>(this: ModelType, filter?: Filter<ModelAttributes<InstanceType<ModelType>>>, options?: ModelAdapterOptions<Omit<FindOptions<ModelAttributes<InstanceType<ModelType>>>, ForbiddenQueryOptions>>): Query<ModelType>;
|
|
56
65
|
static getCollection<ModelType extends typeof BaseModel>(this: ModelType, connection?: string | undefined): Promise<Collection<ModelAttributes<InstanceType<ModelType>>>>;
|
|
66
|
+
get $isNew(): boolean;
|
|
57
67
|
get $dirty(): Partial<ModelAttributes<this>>;
|
|
58
68
|
$ensureNotDeleted(): void;
|
|
59
69
|
$ensureCollection(): Promise<Collection<ModelAttributes<MongodbDocument<unknown>>>>;
|