Untitled
unknown
javascript
2 years ago
1.2 kB
5
Indexable
handler: async (request, h) => { const { idOrg } = request.params const { changes: positions } = request.payload const idFields = positions.map(obj => obj.idField) const existingFields = await AppDetails.getFieldsByIds({ idFields, idOrg, fields: ["idOrg"] }) if (_.size(existingFields) !== _.size(idFields)) { return Boom.notFound('Some or all fields from ${idFields} not found') } let containsOnlyCustomFieldsForGroupReordering = true; positions.forEach((position) => { if (position.idGroup) { existingFields.forEach((field) => { if (field.id == position.idField) { if (field.idOrg != idOrg) { containsOnlyCustomFieldsForGroupReordering = false; return } } }) } }) if (!containsOnlyCustomFieldsForGroupReordering) { return Boom.notAcceptable('User can only move custom fields between groups') } await AppDetails.setFieldsPositions({ idOrg, positions }) const fields = await AppDetails.getFieldsByIds({ idFields, idOrg }) return { fields } }
Editor is loading...