This commit is contained in:
David Arranz 2019-08-22 00:15:03 +02:00
parent 4bb807ec08
commit 09a977c9da
2 changed files with 14 additions and 20 deletions

View File

@ -203,18 +203,24 @@ const generateService = (model, extraMethods = {}, options = defaultOptions) =>
}
var result = await model.scope(context.scopes).create(values);
if (extraMethods.afterCreate) {
result = extraMethods.beforeCreate(result, context);
result = extraMethods.beforeCreate(result, values, context);
}
return result;
},
update: async (params, values, context) => {
const findOptions = parseParamsToFindOptions(params);
if (extraMethods.beforeUpdate) {
values = extraMethods.beforeUpdate(values, findOptions, context);
}
console.log(values, findOptions);
return await model.scope(context.scopes).update(values, findOptions)
await model.scope(context.scopes).update(values, findOptions)
var result = await defaultService.fetchOne(params, context);
if (extraMethods.afterUpdate) {
result = extraMethods.afterUpdate(result, values, context);
}
return result;
},
delete: async (params, context) => {

View File

@ -6,24 +6,12 @@ const { generateService, parseParamsToFindOptions, _debugModelInfo } = require('
const models = require('../../core/models');
const extraMethods = {
/*fetchOne: async (params, context) => {
const findOptions = parseParamsToFindOptions(params);
const result = await models.Post.findByPk(findOptions.query.id, {
include: [{ all: true }]
});
return result;
},*/
afterCreate: async (post, values, context) => {
return await post.setCategories(values.categories.map(category => category.id));
},
create: async (values, context) => {
const { Categories, ...data } = values;
return models.sequelize.transaction(async transaction => {
const result = await models.Post.create(data, { transaction });
if (Categories) {
await result.setCategories(Categories, { transaction });
}
return result;
});
afterUpdate: async (post, values, context) => {
return await post.setCategories(values.categories.map(category => category.id));
},
}