Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Adiciona o preço (obrigatório no back da caf)
- payload.price = 0;
- // Limpa as validations (problema com o lista)
- payload.validations =
- payload?.validations?.map(({ action, rule }) => ({
- action,
- rule,
- })) || [];
- Object.keys(payload.recurrences).forEach((k) => {
- // Caso tenha periodicidade mas não tenha customData, bota frequency como NONE
- if (
- payload.recurrences[k].frequency !== 'NONE' &&
- !payload.recurrences[k].customData
- ) {
- payload.recurrences[k].frequency = 'NONE';
- }
- // Pegando as validações de cada categoria
- const recurrencyValidations = customData
- .filter(({ source }) => payload.recurrences[k].customData?.includes(source)) // pega todos os dados dos customData marcados
- .map(({ relatedRules }) => relatedRules) // extrai todas as relatedRules
- .filter((r) => r) // tira os objetos undefined
- .flat()
- .filter(({ rule }) => payload.validations.map((v) => v.rule).includes(rule)); // verifica se alguma validation do form coincide com a validation do customData
- // Remove validações duplicadas
- const uniqueRecurrencyValidations = _.uniqBy(recurrencyValidations, 'rule');
- payload.recurrences[k] = {
- name: `${payload.name} - ${k}`,
- price: 0,
- validations:
- uniqueRecurrencyValidations.length > 0
- ? uniqueRecurrencyValidations
- : undefined,
- ...payload.recurrences[k],
- };
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement