mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
'Assign to me by default' toggle in Account.tsx
This commit is contained in:
@@ -39,6 +39,7 @@ export async function updateById(
|
||||
avatarURL?: string | null;
|
||||
iconPreference?: IconStyle;
|
||||
plan?: string;
|
||||
preferences?: Record<string, boolean>;
|
||||
},
|
||||
): Promise<UserRecord | undefined> {
|
||||
const [user] = await db.update(User).set(updates).where(eq(User.id, id)).returning();
|
||||
|
||||
@@ -14,5 +14,6 @@ export default async function me(req: AuthedRequest) {
|
||||
user: safeUser as Omit<UserRecord, "passwordHash">,
|
||||
csrfToken: req.csrfToken,
|
||||
emailVerified: user.emailVerified,
|
||||
preferences: user.preferences,
|
||||
});
|
||||
}
|
||||
|
||||
@@ -8,16 +8,16 @@ export default async function update(req: AuthedRequest) {
|
||||
const parsed = await parseJsonBody(req, UserUpdateRequestSchema);
|
||||
if ("error" in parsed) return parsed.error;
|
||||
|
||||
const { name, password, avatarURL, iconPreference } = parsed.data;
|
||||
const { name, password, avatarURL, iconPreference, preferences } = parsed.data;
|
||||
|
||||
const user = await getUserById(req.userId);
|
||||
if (!user) {
|
||||
return errorResponse("user not found", "USER_NOT_FOUND", 404);
|
||||
}
|
||||
|
||||
if (!name && !password && avatarURL === undefined && !iconPreference) {
|
||||
if (!name && !password && avatarURL === undefined && !iconPreference && preferences === undefined) {
|
||||
return errorResponse(
|
||||
"at least one of name, password, avatarURL, or iconPreference must be provided",
|
||||
"at least one of name, password, avatarURL, iconPreference, or preferences must be provided",
|
||||
"NO_UPDATES",
|
||||
400,
|
||||
);
|
||||
@@ -42,7 +42,13 @@ export default async function update(req: AuthedRequest) {
|
||||
}
|
||||
|
||||
const { updateById } = await import("../../db/queries/users");
|
||||
const updatedUser = await updateById(user.id, { name, passwordHash, avatarURL, iconPreference });
|
||||
const updatedUser = await updateById(user.id, {
|
||||
name,
|
||||
passwordHash,
|
||||
avatarURL,
|
||||
iconPreference,
|
||||
preferences,
|
||||
});
|
||||
|
||||
if (!updatedUser) {
|
||||
return errorResponse("failed to update user", "UPDATE_FAILED", 500);
|
||||
|
||||
Reference in New Issue
Block a user