const { parentWithDoc, parentMetadata } = yield* Effect.all({
parentWithDoc: getAnnualPlanningById({
id: data.parentPlanningId,
}),
parentMetadata: repo.getParentPlanningById(data.parentPlanningId),
}).pipe(
Effect.flatMap(
flow(
Option.all,
Option.match({
onSome: (_) => Effect.succeed(_),
onNone: () =>
Effect.fail(
new ParentNotFoundError({
parentId: data.parentPlanningId,
})
),
})
)
)
);
const { parentWithDoc, parentMetadata } = yield* Effect.all({
parentWithDoc: getAnnualPlanningById({
id: data.parentPlanningId,
}),
parentMetadata: repo.getParentPlanningById(data.parentPlanningId),
}).pipe(
Effect.flatMap(
flow(
Option.all,
Option.match({
onSome: (_) => Effect.succeed(_),
onNone: () =>
Effect.fail(
new ParentNotFoundError({
parentId: data.parentPlanningId,
})
),
})
)
)
);