Commit Graph
17 Commits
Author SHA1 Message Date
Kenneth Skovhede 355e3ce6b2 Merge commit 'e91a7ea7d59bc67fc783ec7a897c747f3bd05402' into feature/add-file-sync-operation 2026-06-25 22:05:26 +02:00
Kenneth Skovhede 62ea2d23f5 Added a sync command to the Controller and CLI.
This refactors a part of the database and adds a new "sync" command that reuses a lot of the backup logic to take a set of sources and apply them to a backend.

Unlike the backup process, the sync copies files verbatim without any encryption.
2026-06-25 15:49:00 +02:00
Kenneth Skovhede 0c1a73fb61 Add searching in metadata
When performing searches on some remote source, like MS365, the actual file paths are not meaningfull to the user. Instead, the UI will display metadata that makes it easier to navigate.

This PR updates the search feature to optionally look in metadata and find matches there as well, making it simpler to work with such data.
2026-06-17 14:47:02 +02:00
Kenneth Skovhede 8663f55e8b Fixed case-insensitive search
This PR fixes a bug that caused backup searching to be case-sensitive.

The PR also exposes the case sensitive-flag in the API endpoint so the UI can toggle case-sensitive searching.
2026-06-17 10:15:08 +02:00
Kenneth Skovhede 179d1ceb47 Make controller Async
This PR has a large blast radius because it takes the final step and bumps up the Controller to be fully async.

We have historically done a piece-by-piece update, so all operations were already async but the controller interface was kept synchronous.

With this update, the controller is now fully async and all tests are updated.

Most places where the new C# compiler warns about function names not ending in `Async` were also adressed, giving a massive refactor change.

Functionally, no changes are done.
2026-05-13 15:04:13 +02:00
Kenneth Skovhede cf02c1addf Fixed large SQLite inputs
When performing queries with large inputs, there is a possibility that we reach the maximum number of possible parameters. If the query exceeds the maximum number of parameters the query fails.

This change uses a temporary table that will be created in the case the inputs exceed the total number available parameters, making sure the calls proceed as before with small inputs, but uses temporary tables on larger inputs.

Some tests were added to ensure the update works as expected, even with large inputs.
2026-02-11 13:34:58 +01:00
Kenneth Skovhede 1523f730e3 Added support for storing metadata in the database 2026-01-14 10:01:20 +01:00
Kenneth Skovhede 8e3ed18ae4 Invert --allow-empty-source
This inverts the `--allow-empty-source` to `--prevent-empty-source` so the user has to opt-in to using the check.
2025-08-15 11:05:17 +02:00
Kenneth Skovhede be527b88c0 Added flag to tests that require it 2025-08-08 10:57:27 +02:00
Carl Johnsen bb87e94ffa Post merge master fixes 2025-06-24 14:38:58 +02:00
Carl Johnsen e55c36081f Merge branch 'master' into performance/mssqlite-async 2025-06-24 14:24:09 +02:00
Kenneth Skovhede b7a0053e5b Rewrote function to return minimal unique prefixes instead 2025-06-23 17:40:28 +02:00
Carl Johnsen 2412800c0c Removed the sqlite page cache option. It should be set through the environment variable, or some other way of providing a custom database configurotion 2025-06-19 11:41:39 +02:00
Carl Johnsen 78d649f5a3 All of the non-internal-library methods calling the database functions forwards CancellationToken.None 2025-06-19 11:00:24 +02:00
Carl Johnsen 3d11a05400 Added .ConfigureAwait(false) to all of the await statements 2025-06-12 08:34:29 +02:00
Carl Johnsen 9a08c7b12e Updated DirectListHandlerTests to use the new async database methods 2025-05-22 13:30:02 +02:00
Kenneth Skovhede a3bc9b80ca Implemented 4 new list methods that are optimized for a single operation 2025-04-29 10:03:57 +02:00