Skip to content

Commit b60c011

Browse files
committed
fix(model): adjust init method to recently introduced sequelize type changes
1 parent 1e62c4c commit b60c011

File tree

4 files changed

+34
-29
lines changed

4 files changed

+34
-29
lines changed

package-lock.json

Lines changed: 24 additions & 24 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
"prettyjson": "1.2.1",
132132
"reflect-metadata": "0.1.13",
133133
"release-it": "14.11.6",
134-
"sequelize": "6.6.2",
134+
"sequelize": "6.6.5",
135135
"sinon": "11.1.2",
136136
"sinon-chai": "3.7.0",
137137
"source-map-support": "0.5.20",
@@ -144,6 +144,6 @@
144144
"@types/node": "*",
145145
"@types/validator": "*",
146146
"reflect-metadata": "*",
147-
"sequelize": ">=6.2.0"
147+
"sequelize": ">=6.6.5"
148148
}
149149
}

src/model/model/model.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export type ModelType<TCreationAttributes, TModelAttributes> = new (
2020
options?: any
2121
) => Model<TModelAttributes, TCreationAttributes>;
2222
export type ModelCtor<M extends Model = Model> = Repository<M>;
23+
export type ModelStatic<M extends Model = Model> = { new (): M };
2324

2425
export type $GetType<T> = NonNullable<T> extends any[] ? NonNullable<T> : NonNullable<T> | null;
2526

@@ -36,11 +37,15 @@ export abstract class Model<
3637

3738
static isInitialized = false;
3839

39-
static init(attributes: ModelAttributes, options: InitOptions): Model {
40+
public static initialize<MS extends ModelStatic<Model>, M extends InstanceType<MS>>(
41+
attributes: ModelAttributes,
42+
options: InitOptions
43+
): MS {
4044
this.isInitialized = true;
45+
4146
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
4247
// @ts-ignore
43-
return super.init(attributes, options);
48+
return super.init<MS, M>(attributes, options);
4449
}
4550

4651
constructor(values?: TCreationAttributes, options?: BuildOptions) {

src/sequelize/sequelize/sequelize.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ export class Sequelize extends OriginSequelize {
101101
};
102102
const definedModel = this.repositoryMode ? this.createRepositoryModel(model) : model;
103103

104-
definedModel.init(attributes, initOptions);
104+
definedModel.initialize(attributes, initOptions);
105105

106106
return definedModel;
107107
});

0 commit comments

Comments
 (0)