Change logging to just log a message, instead of the exception.
Moved logic to Syncer involvement. When posting the data, if a 500 is
returned, then it is up to the Syncer to re-submit it.
After doing testing with a test project, re-organized code to new method
of storing, as well as ensure that all Endpoint lambda's are separated
out into functions.
Large commit, will be testing.
Ensure that we are adding videos to the playlist database object when we insert them.
Updated logic to follow profiles for playlist.
Do not search for existing subs when inserting a new sub, the sub's belongs to id will be different.
Formatted linq statement to be multi-line, instead of single line, to make it easier to read.
Removed check for subscription if we are adding a new one, the profile id is going to be different.
Ensure we are deleting subs from the database when they are no longer associated with a profile.
Split Json data models coming from REST Api, from the Database models
storing them in a SQLite database.
Work to re-engineer endpoints to use Database objects, and copy/update
data from the json objects.
More work is needed.
Updated all endpoints to use Update() method of the model, instead of
trying to use the data from the REST object directly to update the
database. WHen doing so, tracking gets busted in EFCore, so instead,
will go through and update all properties of a model from the database
object, with the data from the REST object.
Updated Program to have SQLite Configuration done through Connection
Strings.
Added auto migration for the database, if we get an exception, we create
the database instead (As it doesn't exist.)
Updated Migrations to handle change of Int to Long (SQLite still uses
integer field, but better safe if using something other then SQLite)
Changed Primary Key for Video from VideoId to PlaylistItemId.
Removed videoId as Key, and use playlistItemId as Key, as this will be
unique to each playlist, and will not conflict with videos being on more
then one playlist.