def list_waves_service()

in backend/bms_app/wave/services/waves.py [0:0]


def list_waves_service(project_id):
    """Return list of waves."""
    qs = db.session.query(Wave)

    if project_id:
        qs = qs.filter(Wave.project_id == project_id)

    waves_data = WaveSchema(many=True).dump(qs)

    for wave in waves_data:
        wave['status_rate'] = wave_rate_info(wave['id'])

        # add step data if wave is running
        if wave['is_running']:
            wave['step'] = RunningWaveDetails(wave['id']).get_step_data()

    return waves_data