package it.integry.integrywmsnative.core.data_store.db.interfaces;

import androidx.room.Delete;
import androidx.room.Insert;
import androidx.room.RawQuery;
import androidx.room.Update;
import androidx.sqlite.db.SupportSQLiteQuery;

import java.util.List;

public interface EntityDaoInterface<R> {

    @RawQuery()
    List<R> execRaw(SupportSQLiteQuery query);

    @Insert
    long insert(R objectToInsert);

    @Insert
    List<Long> insertAll(List<R> objectToInsert);

    @Delete
    void delete(R objectToInsert);

    @Update
    void updateAll(List<R> cheese);

    @Update
    int update(R cheese);

}
