def add_wave()

in backend/bms_app/wave/views.py [0:0]


def add_wave():
    """Add wave."""
    validated_data = AddWaveSchema().load(request.json)

    wave = db.session.query(Wave).filter(
        Wave.name == validated_data['name'],
        Wave.project_id == validated_data['project_id']
    ).first()

    if not wave:
        wave = Wave(
            name=validated_data['name'],
            project_id=validated_data['project_id']
        )

        db.session.add(wave)
        db.session.commit()

    response = {}

    if validated_data.get('db_ids'):
        assigment_result = assign_source_db_wave(
            wave=wave,
            db_ids=validated_data['db_ids']
        )
        response.update(assigment_result)

    return response, 201