Commit graph

24 commits

Author SHA1 Message Date
ddf50a3052 Updated DBSyncWatcher and Syncer
Added Locking system, so that we don't try to access the same file with
both read and write functions at the same time causing an locked
exception on the file when watching it.
2025-07-30 17:03:35 -05:00
8d53ce79f3 Updated Profile
Updated profile to more properly iterate over subscriptions for equality
checking to ensure subs properly match up.
2025-07-30 16:51:17 -05:00
d4a9b88cc0 Updated program
Some minor fixes, will be getting rid of this in favor of UI setup.
2025-07-30 14:51:21 -05:00
7128bfad65 Updated Syncer
Removed reading database from file when starting up.
Changed writting to hand-written write, instead of using WriteAllLines()
static function on File.
2025-07-30 14:50:55 -05:00
73a54b91ff Update all Models
Made all models implement IEquatable<> generic, allowing for validating
of equality of data.
2025-07-30 14:49:59 -05:00
13bb5ac0dd Updated Program
Added noise for the second condition to show we are checking for
updates.
2025-07-30 12:52:47 -05:00
e2c356a723 Updated Syncer
Added check for syncing.  If we are syncing, we should be expecting file
changes, and not do anything.
2025-07-30 12:52:31 -05:00
f9af985de4 Adding some noise
Adding some noise to ensure that syncing is progressing as it should.
2025-07-30 12:30:14 -05:00
58e046c1f0 Updated Program
Now utilizing syncers in an Array for each checking of IsDirty() or not,
and running code based upon the state of the syncers.  May clean this up
more.
Added polling of the database to see if there's anything new to sync
locally.
2025-07-30 12:20:50 -05:00
5887bc0961 Updated Syncer
Added interface for Syncer class.
Changed IsDirty from Property to Function
Moved order for reading in initial database.  First will fetch from the
REST Api, then it will read in the database stored locally.
Changed logic behind reading and fetching database.  Fetching the
database from the REST Api will mark internally that it is dirty, and
force syncing.
If an entry exists in our cache, and is equal, then we continue through,
otherwise we remove the old entry, and use the new entry.
2025-07-30 12:19:53 -05:00
ea2fb4d818 Updated Program.cs
While still testing things out, remain in Console mode.
Removed un-used using statements.
Fixed SearchHistorySyner to properly use /searchHistory API end-point.
Added print statement to see when FreeTube closes, and wait for 1.5
seconds before attempting to sync everything up.  May need to increase
this more, needs testing.  (maybe a good 5 seconds would be enough)
2025-07-24 04:32:51 -05:00
fb8284b5e8 Updated Syncer
Updated Syncer class to properly sync all classes, even with special
requierments needed for Settings.
Now properly handles all classes, and ensures that the data is properly
stored in the database, and can be written out correctly to the FreeTube
database files.
2025-07-24 04:30:54 -05:00
8e65cc3a4b Updated Setting
Updated Seting class to use string for teh data, and the data is the
full setting line, to allow for the flexability for Any data value in
the field.  Implemented MarshalData() and JsonData() functions.
2025-07-24 04:29:13 -05:00
09cd72b278 Updated Profile
removed un-used function.
2025-07-24 04:28:06 -05:00
25676baca4 Updated SearchHistory
Added MarshalData() and JsonData() functions.
2025-07-24 04:27:56 -05:00
ae9a1d14bf Updated Profile
Added functions for MarshalData() and JsonData()
2025-07-24 04:26:46 -05:00
cce80d1d37 Updated Playlist
Updated to implement MarshalData() and JsonData()
2025-07-24 04:26:28 -05:00
679449e4ec Updated History
Updated History to implement MarshalData() and JsonData() functions.
2025-07-24 04:25:59 -05:00
102a1d5d62 Updated IDataModel
Added two functions, MarshalData() and JsonData() to handle
deserialization and serialization.  (Special case with Setting)
2025-07-24 04:25:25 -05:00
b2b4eeff05 Updated DBSyncWatcher
Changed delegate to pass string instead of object.
Now instead of attempting to deserialize the data in DBSyncWatcher,
deserialization happens in th Syncer class.
2025-07-24 04:24:45 -05:00
5675ea116d Updated Main
Added Path checking for validating a path to use.
2025-07-23 22:30:58 -05:00
595c93f50e Updated Code
Fixed possible issue where integers were both strings and ints.  Now
properly converting them to integers to be stored.
Fixed issue where lengths were being reported as either integers, or
String stamps.  Now properly converting to string stamps to integers.
2025-07-22 17:05:17 -05:00
24fae2b7ac Worked on Syncing Logic
Created Syncer Generic Class to handle Monitoring, and Syncing between
local database, and remote REST server.
Temporarily changed Program.cs from an Avalonia UI app, to a Console App
for testing and debugging purposes.
2025-07-21 17:12:24 -05:00
44a89ad589 Initial Commit 2025-07-21 13:31:24 -05:00