@adaptivestone/framework 5.0.0-beta.19 → 5.0.0-beta.20
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/CHANGELOG.md +5 -0
- package/dist/models/Lock.d.ts +1 -1
- package/dist/models/Lock.js +3 -3
- package/dist/models/Lock.js.map +1 -1
- package/dist/models/Sequence.js +0 -14
- package/dist/models/Sequence.js.map +1 -1
- package/dist/models/User.d.ts +4 -4
- package/dist/models/User.js +14 -8
- package/dist/models/User.js.map +1 -1
- package/dist/modules/BaseModel.d.ts +13 -21
- package/dist/modules/BaseModel.js +6 -2
- package/dist/modules/BaseModel.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -37,6 +37,11 @@ Main feature of that release is full TypeScript support insluding mongoose model
|
|
|
37
37
|
[BREAKING] ESM only. No more commonJS. That help to fix a lot of bugs with tests and provides better development expirience
|
|
38
38
|
[BREAKING] Mongoose v8. https://mongoosejs.com/docs/migrating_to_8.html
|
|
39
39
|
|
|
40
|
+
### 5.0.0-beta.20
|
|
41
|
+
|
|
42
|
+
[FIX] fix bug with Lock model index
|
|
43
|
+
[NEW] BaseModel add Virtuals
|
|
44
|
+
|
|
40
45
|
### 5.0.0-beta.19
|
|
41
46
|
|
|
42
47
|
[NEW] intruducing new model type. BaseModel. Features - simplifie works with typescript. And based on statics
|
package/dist/models/Lock.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { BaseModel } from '../modules/BaseModel.ts';
|
|
|
2
2
|
import type { GetModelTypeLiteFromSchema } from '../modules/BaseModel.ts';
|
|
3
3
|
import type { Schema } from 'mongoose';
|
|
4
4
|
declare class Lock extends BaseModel {
|
|
5
|
+
static initHooks(schema: Schema): void;
|
|
5
6
|
static get modelSchema(): {
|
|
6
7
|
readonly _id: {
|
|
7
8
|
readonly type: StringConstructor;
|
|
@@ -84,6 +85,5 @@ declare class Lock extends BaseModel {
|
|
|
84
85
|
ttl: number;
|
|
85
86
|
}[]>;
|
|
86
87
|
};
|
|
87
|
-
initHooks(schema: Schema): void;
|
|
88
88
|
}
|
|
89
89
|
export default Lock;
|
package/dist/models/Lock.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { BaseModel } from "../modules/BaseModel.js";
|
|
2
2
|
class Lock extends BaseModel {
|
|
3
|
+
static initHooks(schema) {
|
|
4
|
+
schema.index({ expiredAt: 1 }, { expireAfterSeconds: 0 });
|
|
5
|
+
}
|
|
3
6
|
static get modelSchema() {
|
|
4
7
|
return {
|
|
5
8
|
_id: { type: String, required: true },
|
|
@@ -91,9 +94,6 @@ class Lock extends BaseModel {
|
|
|
91
94
|
},
|
|
92
95
|
};
|
|
93
96
|
}
|
|
94
|
-
initHooks(schema) {
|
|
95
|
-
schema.index({ expiredAt: 1 }, { expireAfterSeconds: 0 });
|
|
96
|
-
}
|
|
97
97
|
}
|
|
98
98
|
export default Lock;
|
|
99
99
|
//# sourceMappingURL=Lock.js.map
|
package/dist/models/Lock.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../src/models/Lock.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Lock.js","sourceRoot":"","sources":["../../src/models/Lock.ts"],"names":[],"mappings":"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"}
|
package/dist/models/Sequence.js
CHANGED
|
@@ -6,20 +6,6 @@ class Sequence extends BaseModel {
|
|
|
6
6
|
seq: { type: Number, default: 1 },
|
|
7
7
|
};
|
|
8
8
|
}
|
|
9
|
-
// static get modelMethods() {
|
|
10
|
-
// type SequenceModelLite = GetModelTypeLiteFromSchema<
|
|
11
|
-
// typeof Sequence.modelSchema,
|
|
12
|
-
// ModelOptionsReturnType<typeof Sequence>
|
|
13
|
-
// >;
|
|
14
|
-
// return {
|
|
15
|
-
// getPublic: async function (this: InstanceType<SequenceModelLite>) {
|
|
16
|
-
// return {
|
|
17
|
-
// _id: this._id,
|
|
18
|
-
// seq: this.seq,
|
|
19
|
-
// };
|
|
20
|
-
// },
|
|
21
|
-
// } as const;
|
|
22
|
-
// }
|
|
23
9
|
static get modelStatics() {
|
|
24
10
|
return {
|
|
25
11
|
getSequence: async function (forType) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/models/Sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,MAAM,QAAS,SAAQ,SAAS;IAC9B,MAAM,KAAK,WAAW;QACpB,OAAO;YACL,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;SACzB,CAAC;IACb,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"Sequence.js","sourceRoot":"","sources":["../../src/models/Sequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAMpD,MAAM,QAAS,SAAQ,SAAS;IAC9B,MAAM,KAAK,WAAW;QACpB,OAAO;YACL,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrC,GAAG,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE;SACzB,CAAC;IACb,CAAC;IAED,MAAM,KAAK,YAAY;QAKrB,OAAO;YACL,WAAW,EAAE,KAAK,WAAoC,OAAe;gBACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC3C,EAAE,GAAG,EAAE,OAAO,EAAE,EAChB,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,EAAE,EACpB,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAC5B,CAAC;gBACF,OAAO,QAAQ,CAAC,GAAG,CAAC;YACtB,CAAC;SACO,CAAC;IACb,CAAC;CACF;AAED,eAAe,QAAQ,CAAC"}
|
package/dist/models/User.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseModel } from '../modules/BaseModel.ts';
|
|
2
|
-
import type { GetModelTypeLiteFromSchema,
|
|
2
|
+
import type { GetModelTypeLiteFromSchema, ExtractProperty, GetModelTypeFromClass } from '../modules/BaseModel.ts';
|
|
3
3
|
import type { Schema } from 'mongoose';
|
|
4
4
|
import type { TFunction } from 'i18next';
|
|
5
|
-
type UserModelLite = GetModelTypeLiteFromSchema<typeof User.modelSchema,
|
|
5
|
+
type UserModelLite = GetModelTypeLiteFromSchema<typeof User.modelSchema, ExtractProperty<typeof User, 'schemaOptions'>>;
|
|
6
6
|
declare class User extends BaseModel {
|
|
7
7
|
static initHooks(schema: Schema): void;
|
|
8
8
|
static get modelSchema(): {
|
|
@@ -1322,9 +1322,8 @@ declare class User extends BaseModel {
|
|
|
1322
1322
|
} & {
|
|
1323
1323
|
__v: number;
|
|
1324
1324
|
}>;
|
|
1325
|
-
readonly removeVerificationToken: (this: UserModelLite, verificationToken: string) => Promise<void>;
|
|
1326
1325
|
};
|
|
1327
|
-
static get
|
|
1326
|
+
static get modelInstanceMethods(): {
|
|
1328
1327
|
/**
|
|
1329
1328
|
* Generate token for user
|
|
1330
1329
|
* @returns {Object}
|
|
@@ -2370,3 +2369,4 @@ export declare const userHelpers: {
|
|
|
2370
2369
|
}>;
|
|
2371
2370
|
};
|
|
2372
2371
|
export default User;
|
|
2372
|
+
export type TUserModel = GetModelTypeFromClass<typeof User>;
|
package/dist/models/User.js
CHANGED
|
@@ -134,16 +134,22 @@ class User extends BaseModel {
|
|
|
134
134
|
return result;
|
|
135
135
|
},
|
|
136
136
|
// TODO
|
|
137
|
-
removeVerificationToken: async function removeVerificationToken(
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
137
|
+
// removeVerificationToken: async function removeVerificationToken(
|
|
138
|
+
// this: UserModelLite,
|
|
139
|
+
// verificationToken: string,
|
|
140
|
+
// ) {
|
|
141
|
+
// this.updateOne(
|
|
142
|
+
// {
|
|
143
|
+
// verificationTokens: {
|
|
144
|
+
// $elemMatch: { token: String(verificationToken) },
|
|
145
|
+
// },
|
|
146
|
+
// },
|
|
147
|
+
// { $pop: { verificationTokens: 1 } },
|
|
148
|
+
// );
|
|
149
|
+
// },
|
|
144
150
|
};
|
|
145
151
|
}
|
|
146
|
-
static get
|
|
152
|
+
static get modelInstanceMethods() {
|
|
147
153
|
return {
|
|
148
154
|
/**
|
|
149
155
|
* Generate token for user
|
package/dist/models/User.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/models/User.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"User.js","sourceRoot":"","sources":["../../src/models/User.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,28 +12,19 @@ export type WithTimestamps<TOptions> = TOptions extends {
|
|
|
12
12
|
createdAt: Date;
|
|
13
13
|
updatedAt: Date;
|
|
14
14
|
};
|
|
15
|
-
export type
|
|
16
|
-
|
|
17
|
-
} ? R :
|
|
18
|
-
export type
|
|
19
|
-
modelMethods: infer R;
|
|
20
|
-
} ? R : {};
|
|
21
|
-
export type ModelStaticsReturnType<T> = T extends {
|
|
22
|
-
modelStatics: infer R;
|
|
23
|
-
} ? R : {};
|
|
24
|
-
export type SchemaOptionsReturnType<T> = T extends {
|
|
25
|
-
schemaOptions: infer R;
|
|
26
|
-
} ? R : {};
|
|
27
|
-
export type GetModelSchemaTypeFromClass<T extends typeof BaseModel> = Schema<InferRawDocType<ModelSchemaReturnType<T> & WithTimestamps<Merge<typeof defaultOptions, SchemaOptionsReturnType<T>>>>, // TRawDocType
|
|
15
|
+
export type ExtractProperty<T, K extends PropertyKey, Default = {}> = T extends {
|
|
16
|
+
[P in K]: infer R;
|
|
17
|
+
} ? R : Default;
|
|
18
|
+
export type GetModelSchemaTypeFromClass<T extends typeof BaseModel> = Schema<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, // TRawDocType
|
|
28
19
|
Model<any>, // TModel
|
|
29
|
-
|
|
20
|
+
ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
|
|
30
21
|
{}, // TQueryHelpers
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
export type GetModelTypeFromClass<T extends typeof BaseModel> = Model<InferRawDocType<
|
|
35
|
-
|
|
36
|
-
GetModelSchemaTypeFromClass<T>> &
|
|
22
|
+
ExtractProperty<T, 'modelVirtuals'>, // TVirtuals
|
|
23
|
+
ExtractProperty<T, 'modelStatics'>, // TStaticMethods
|
|
24
|
+
ExtractProperty<T, 'schemaOptions'>>;
|
|
25
|
+
export type GetModelTypeFromClass<T extends typeof BaseModel> = Model<InferRawDocType<ExtractProperty<T, 'modelSchema'> & WithTimestamps<Merge<typeof defaultOptions, ExtractProperty<T, 'schemaOptions'>>>>, // TRawDocType
|
|
26
|
+
ExtractProperty<T, 'modelInstanceMethods'>, // TInstanceMethods
|
|
27
|
+
GetModelSchemaTypeFromClass<T>> & ExtractProperty<T, 'modelStatics'>;
|
|
37
28
|
export type GetModelTypeLiteFromSchema<T extends typeof BaseModel.modelSchema, TOptions = {}> = Model<InferRawDocType<T & WithTimestamps<Merge<typeof defaultOptions, TOptions>>>>;
|
|
38
29
|
export declare const defaultOptions: {
|
|
39
30
|
readonly timestamps: true;
|
|
@@ -42,7 +33,8 @@ export declare const defaultOptions: {
|
|
|
42
33
|
export declare class BaseModel {
|
|
43
34
|
static get modelSchema(): {};
|
|
44
35
|
static get schemaOptions(): {};
|
|
45
|
-
static get
|
|
36
|
+
static get modelInstanceMethods(): {};
|
|
37
|
+
static get modelVirtuals(): {};
|
|
46
38
|
static get modelStatics(): {};
|
|
47
39
|
static initHooks(schema: Schema): void;
|
|
48
40
|
static initialize<T extends typeof BaseModel>(this: T): GetModelTypeFromClass<T>;
|
|
@@ -7,7 +7,10 @@ export class BaseModel {
|
|
|
7
7
|
static get schemaOptions() {
|
|
8
8
|
return {};
|
|
9
9
|
}
|
|
10
|
-
static get
|
|
10
|
+
static get modelInstanceMethods() {
|
|
11
|
+
return {};
|
|
12
|
+
}
|
|
13
|
+
static get modelVirtuals() {
|
|
11
14
|
return {};
|
|
12
15
|
}
|
|
13
16
|
static get modelStatics() {
|
|
@@ -20,8 +23,9 @@ export class BaseModel {
|
|
|
20
23
|
static initialize() {
|
|
21
24
|
const schema = new mongoose.Schema(this.modelSchema, {
|
|
22
25
|
...this.schemaOptions,
|
|
23
|
-
methods: this.
|
|
26
|
+
methods: this.modelInstanceMethods,
|
|
24
27
|
statics: this.modelStatics,
|
|
28
|
+
virtuals: this.modelVirtuals,
|
|
25
29
|
});
|
|
26
30
|
this.initHooks(schema);
|
|
27
31
|
const mongooseModel = mongoose.model(this.name, schema);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseModel.js","sourceRoot":"","sources":["../../src/modules/BaseModel.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AA2D3C,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAW,CAAC;AAE7E,MAAM,OAAO,SAAS;IACpB,MAAM,KAAK,WAAW;QACpB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,oBAAoB;QAC7B,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,aAAa;QACtB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,KAAK,YAAY;QACrB,OAAO,EAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,MAAc;QAC7B,iBAAiB;IACnB,CAAC;IAED,wDAAwD;IACjD,MAAM,CAAC,UAAU;QACtB,MAAM,MAAM,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE;YACnD,GAAI,IAAI,CAAC,aAA+B;YACxC,OAAO,EAAE,IAAI,CAAC,oBAAoB;YAClC,OAAO,EAAE,IAAI,CAAC,YAAY;YAC1B,QAAQ,EAAE,IAAI,CAAC,aAAa;SAC7B,CAAmC,CAAC;QAErC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAEvB,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAClC,IAAI,CAAC,IAAI,EACT,MAAM,CACqB,CAAC;QAE9B,OAAO,aAAa,CAAC;IACvB,CAAC;CACF"}
|