class PlanRandomizeResource(Resource): def __init__(self): self.plan_repository = PlanRepository() @authenticate def post(self, id, **kwargs): user = kwargs['user'] plan = query(self.plan_repository.get(user=user, id=id) ).single_or_default(default=None) if plan is None: abort(404, message="No plan with that id was found") self.plan_repository.clear_plan(plan) populate_sample_plan(plan) result = self.plan_repository.add_or_update(plan) if not result.success: on_error(error_message="Could not randomize plan", result=result) self.plan_repository.save_changes() polyline = get_polyline(plan) plan_dict = plan.as_dict() plan_dict['polylines'] = polyline return plan_dict