Skip to content

Commit

Permalink
refactor: define prepare models function
Browse files Browse the repository at this point in the history
  • Loading branch information
Victor Korzunin committed Sep 6, 2021
1 parent 637e367 commit 9e7b54b
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 28 deletions.
29 changes: 15 additions & 14 deletions .plop/index.ts.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,27 @@ export const createInstance = async () => {
},
});

const models = prepareModels(sequelize);

await sequelize.authenticate();

return {
sequelize,
models,
};
};

function prepareModels(sequelize: Sequelize) {
const models = {
{{#each models}}
{{name}}: {{name}}Factory(sequelize),
{{/each}}
};

Object.keys(models).forEach((model) => {
if (models[model].associate) {
models[model].associate(models);
}

if (models[model].hooks) {
models[model].hooks(models);
}
models[model].associate?.(models);
models[model].hooks?.(models);
});

await sequelize.authenticate();

return {
sequelize,
models,
};
};
return models;
}
29 changes: 15 additions & 14 deletions prisma/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,7 @@ export const createInstance = async () => {
},
});

const models = {
User: UserFactory(sequelize),
Post: PostFactory(sequelize),
};

Object.keys(models).forEach((model) => {
if (models[model].associate) {
models[model].associate(models);
}

if (models[model].hooks) {
models[model].hooks(models);
}
});
const models = prepareModels(sequelize);

await sequelize.authenticate();

Expand All @@ -77,3 +64,17 @@ export const createInstance = async () => {
models,
};
};

function prepareModels(sequelize: Sequelize) {
const models = {
User: UserFactory(sequelize),
Post: PostFactory(sequelize),
};

Object.keys(models).forEach((model) => {
models[model].associate?.(models);
models[model].hooks?.(models);
});

return models;
}

0 comments on commit 9e7b54b

Please sign in to comment.