Merge pull request #114 from boazpoolman/feature/update-query-fallback

fix: queryFallback utility
pull/115/head 1.2.2
Boaz Poolman 2023-10-23 21:13:58 +02:00 committed by GitHub
commit 7e78f04c24
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 10 deletions

View File

@ -70,11 +70,15 @@ const ConfigType = class ConfigType {
}); });
await Promise.all(relations.map(async (relation) => { await Promise.all(relations.map(async (relation) => {
await queryFallBack.delete(queryString, relation.id); await queryFallBack.delete(queryString, { where: {
id: relation.id,
}});
})); }));
})); }));
await queryFallBack.delete(this.queryString, existingConfig.id); await queryFallBack.delete(this.queryString, { where: {
id: existingConfig.id,
}});
return; return;
} }
@ -111,7 +115,7 @@ const ConfigType = class ConfigType {
// Update entity. // Update entity.
this.relations.map(({ relationName }) => delete query[relationName]); this.relations.map(({ relationName }) => delete query[relationName]);
const entity = queryFallBack.update(this.queryString, { where: combinedUidWhereFilter, data: query }); const entity = await queryFallBack.update(this.queryString, { where: combinedUidWhereFilter, data: query });
// Delete/create relations. // Delete/create relations.
await Promise.all(this.relations.map(async ({ queryString, relationName, parentName, relationSortFields }) => { await Promise.all(this.relations.map(async ({ queryString, relationName, parentName, relationSortFields }) => {

View File

@ -10,21 +10,20 @@ const queryFallBack = {
}, },
update: async (queryString, options) => { update: async (queryString, options) => {
try { try {
const entity = await strapi.query(queryString).findOne(options.where); const entity = await strapi.query(queryString).findOne(options);
const updatedEntity = await strapi.entityService.update(queryString, entity.id); const updatedEntity = await strapi.entityService.update(queryString, entity.id, options);
return updatedEntity; return updatedEntity;
} catch (e) { } catch (e) {
return strapi.query(queryString).update(options); return strapi.query(queryString).update(options);
} }
}, },
delete: async (queryString, id) => { delete: async (queryString, options) => {
try { try {
await strapi.entityService.delete(queryString, id); const entity = await strapi.query(queryString).findOne(options);
await strapi.entityService.delete(queryString, entity.id);
} catch (e) { } catch (e) {
await strapi.query(queryString).delete({ await strapi.query(queryString).delete(options);
where: { id },
});
} }
}, },
}; };