aboutsummaryrefslogtreecommitdiff
path: root/back-end/src/Model/UserSettingsDbStore.cs
diff options
context:
space:
mode:
authorLibravatar vnugent <public@vaughnnugent.com>2024-04-09 17:37:41 -0400
committerLibravatar vnugent <public@vaughnnugent.com>2024-04-09 17:37:41 -0400
commit5877c86b1da4eb4e9e74378709c546933dc63cf4 (patch)
tree5ba2556e42510cbbdf9c287f67041c1b1eb46206 /back-end/src/Model/UserSettingsDbStore.cs
parent3c15d5471d5134f072365378b04693903419b092 (diff)
Squashed commit of the following:v0.1.3
commit 56e0a38b2ca246e8beeaef3c6c4b9c0ce7d0f09b Author: vnugent <public@vaughnnugent.com> Date: Tue Apr 9 17:35:13 2024 -0400 chore(app): Update deps, login spinner, curl msg, view prep commit 0945210c0492dd8a8de99ccd8e5e66cf05e3a1c1 Merge: 24fac82 3c15d54 Author: vnugent <public@vaughnnugent.com> Date: Tue Apr 2 14:58:59 2024 -0400 Merge branch 'master' into develop commit 24fac82efe9e5c18e86ed535678640e7401472db Author: vnugent <public@vaughnnugent.com> Date: Tue Apr 2 14:54:20 2024 -0400 ci: Configure manual dep versions commit d2ae31ec919d72e66d8b40db8394b55efd6ea6d3 Author: vnugent <public@vaughnnugent.com> Date: Sun Mar 31 22:19:53 2024 -0400 ci: Native compression support for win commit fa7fdef79c6d468022b77f81314ac129fe0cdc32 Merge: 308092d a01220a Author: vnugent <public@vaughnnugent.com> Date: Wed Mar 13 21:26:55 2024 -0400 Merge branch 'master' into develop commit 308092d6d743d0ba8f7ca86fd77e9c837dc46e88 Merge: 48637a8 9134093 Author: vnugent <public@vaughnnugent.com> Date: Wed Mar 13 21:01:02 2024 -0400 Merge branch 'master' into develop commit 48637a8781fc951c307216f604fc1610e68691c3 Merge: 1e08c6d e326736 Author: vnugent <public@vaughnnugent.com> Date: Wed Mar 13 16:20:35 2024 -0400 Merge branch 'master' into develop commit 1e08c6d2112459dc02a0ab873123c4a363b01d21 Author: vnugent <public@vaughnnugent.com> Date: Wed Mar 13 16:17:58 2024 -0400 ci: verified container build ready for next release commit 85a1e5b7cc5c99e97a2d4e99bbceb0d2139742ff Author: vnugent <public@vaughnnugent.com> Date: Tue Mar 12 22:05:16 2024 -0400 ci: exciting bare-metal build process, os support, smaller packages commit 748cdbf4880d830fd794e92856e8c35a46e4f884 Author: vnugent <public@vaughnnugent.com> Date: Mon Mar 11 21:21:18 2024 -0400 feat(app): #1 update libs & add curl support
Diffstat (limited to 'back-end/src/Model/UserSettingsDbStore.cs')
-rw-r--r--back-end/src/Model/UserSettingsDbStore.cs75
1 files changed, 0 insertions, 75 deletions
diff --git a/back-end/src/Model/UserSettingsDbStore.cs b/back-end/src/Model/UserSettingsDbStore.cs
deleted file mode 100644
index d392262..0000000
--- a/back-end/src/Model/UserSettingsDbStore.cs
+++ /dev/null
@@ -1,75 +0,0 @@
-// Copyright (C) 2024 Vaughn Nugent
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU Affero General Public License as
-// published by the Free Software Foundation, either version 3 of the
-// License, or (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU Affero General Public License for more details.
-//
-// You should have received a copy of the GNU Affero General Public License
-// along with this program. If not, see <https://www.gnu.org/licenses/>.
-
-using System;
-using System.Threading;
-using System.Threading.Tasks;
-
-using Microsoft.EntityFrameworkCore;
-
-using VNLib.Utils;
-using VNLib.Plugins.Extensions.Loading;
-
-namespace SimpleBookmark.Model
-{
- internal sealed class UserSettingsDbStore(IAsyncLazy<DbContextOptions> dbOptions)
- {
-
- public async Task<UserSettingsEntry?> GetSettingsForUserAsync(string userId, CancellationToken cancellation)
- {
- ArgumentNullException.ThrowIfNull(userId);
-
- //Init new db connection
- await using SimpleBookmarkContext context = new(dbOptions.Value);
-
- UserSettingsEntry? settings = await context.SbSettings.FirstOrDefaultAsync(p => p.UserId == userId, cancellation);
-
- //Close db and commit transaction
- await context.SaveAndCloseAsync(true, cancellation);
-
- return settings;
- }
-
- public async Task<ERRNO> SetSettingsForUser(string userId, UserSettingsEntry settings, CancellationToken cancellation)
- {
- ArgumentNullException.ThrowIfNull(userId);
- ArgumentNullException.ThrowIfNull(settings);
-
- //Init new db connection
- await using SimpleBookmarkContext context = new(dbOptions.Value);
-
- //Search for existing settings entry
- UserSettingsEntry? existing = await context.SbSettings.FirstOrDefaultAsync(p => p.UserId == userId, cancellation);
-
- if (existing is null)
- {
- //Add a new entry
- settings.UserId = userId;
- settings.LastModified = DateTime.UtcNow;
- context.Add(settings);
- }
- else
- {
- //Update existing entry
- existing.SettingsData = settings.SettingsData;
- existing.LastModified = DateTime.UtcNow;
- context.Update(existing);
- }
-
- //Close db and commit transaction
- return await context.SaveAndCloseAsync(true, cancellation);
- }
- }
-}