mirror of
https://github.com/spacebarchat/server.git
synced 2026-10-23 08:43:02 +00:00
Return defaults for missing {proto-,}settings
This commit is contained in:
1 parent
0b2e8981c0
commit
c0dfeaefb6
7 files changed
+39
-18
No files matched your search
@@ -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 (
|
||||
|
||||
@@ -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 (
|
||||
|
||||
@@ -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 });
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user