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); var result = await model.scope(context.scopes).create(values);
if (extraMethods.afterCreate) { if (extraMethods.afterCreate) {
result = extraMethods.beforeCreate(result, context); result = extraMethods.beforeCreate(result, values, context);
} }
return result; return result;
}, },
update: async (params, values, context) => { update: async (params, values, context) => {
const findOptions = parseParamsToFindOptions(params); const findOptions = parseParamsToFindOptions(params);
if (extraMethods.beforeUpdate) { if (extraMethods.beforeUpdate) {
values = extraMethods.beforeUpdate(values, findOptions, context); values = extraMethods.beforeUpdate(values, findOptions, context);
} }
console.log(values, findOptions); await model.scope(context.scopes).update(values, findOptions)
return 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) => { delete: async (params, context) => {

View File

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