Return defaults for missing {proto-,}settings

This commit is contained in:
Rory& committed 2025-10-11 06:31:02 +02:00
1 parent 0b2e8981c0
commit c0dfeaefb6
7 files changed
+39 -18

No files matched your search

+3 -3
View File
@@ -50,7 +50,7 @@ router.get(
},
}),
async (req: Request, res: Response) => {
const userSettings = await UserSettingsProtos.getOrCreate(req.user_id);
const userSettings = await UserSettingsProtos.getOrDefault(req.user_id);
res.json({
settings: PreloadedUserSettings.toBase64(
@@ -102,7 +102,7 @@ router.get(
},
}),
async (req: Request, res: Response) => {
const userSettings = await UserSettingsProtos.getOrCreate(req.user_id);
const userSettings = await UserSettingsProtos.getOrDefault(req.user_id);
res.json({
settings: PreloadedUserSettings.toJson(userSettings.userSettings!),
@@ -155,7 +155,7 @@ async function patchUserSettings(
required_data_version: number | undefined,
atomic: boolean = false,
) {
const userSettings = await UserSettingsProtos.getOrCreate(userId);
const userSettings = await UserSettingsProtos.getOrDefault(userId);
let settings = userSettings.userSettings!;
if (
+3 -3
View File
@@ -50,7 +50,7 @@ router.get(
},
}),
async (req: Request, res: Response) => {
const userSettings = await UserSettingsProtos.getOrCreate(req.user_id);
const userSettings = await UserSettingsProtos.getOrDefault(req.user_id);
res.json({
settings: FrecencyUserSettings.toBase64(
@@ -102,7 +102,7 @@ router.get(
},
}),
async (req: Request, res: Response) => {
const userSettings = await UserSettingsProtos.getOrCreate(req.user_id);
const userSettings = await UserSettingsProtos.getOrDefault(req.user_id);
res.json({
settings: FrecencyUserSettings.toJson(
@@ -157,7 +157,7 @@ async function patchUserSettings(
required_data_version: number | undefined,
atomic: boolean = false,
) {
const userSettings = await UserSettingsProtos.getOrCreate(userId);
const userSettings = await UserSettingsProtos.getOrDefault(userId);
let settings = userSettings.frecencySettings!;
if (
+9 -7
View File
@@ -17,7 +17,7 @@
*/
import { route } from "@spacebar/api";
import { User, UserSettingsSchema } from "@spacebar/util";
import { User, UserSettings, UserSettingsSchema } from "@spacebar/util";
import { Request, Response, Router } from "express";
const router = Router({ mergeParams: true });
@@ -35,11 +35,8 @@ router.get(
},
}),
async (req: Request, res: Response) => {
const user = await User.findOneOrFail({
where: { id: req.user_id },
relations: ["settings"],
});
return res.json(user.settings);
const settings = await UserSettings.getOrDefault(req.user_id)
return res.json(settings);
},
);
@@ -68,11 +65,16 @@ router.patch(
relations: ["settings"],
});
user.settings.assign(body);
if (!user.settings)
user.settings = UserSettings.create(body);
else
user.settings.assign(body);
if (body.guild_folders)
user.settings.guild_folders = body.guild_folders;
await user.settings.save();
await user.save();
res.json({ ...user.settings, index: undefined });
},