What is the way to insert it into the DB? Using an Insert query in your entity DAO, like:
@Insert
fun insertTickets(vararg tickets: Ticket)
Is the repository the one to do that? This is a matter of structure or your application. If you have a repository, then yes, the repository should be the one speaking with the database.
How do I know if the database is empty or that all that info has already been dumped into the DB? To know if the database is empty you would have to query all tables for data, either by issuing a Query with COUNT(*), like
@Query("SELECT COUNT(*) FROM X")
fun numberOfRecordsInX(): Long
or asking for any one row to see if something is returned. No idea which can be faster:
@Query("SELECT * FROM x ORDER BY rowid LIMIT 1")
fun gimmeAnyRowInX() : EntityX