De-duplicate serverUserToApi
This commit is contained in:
parent
985b8e0950
commit
afd7aeea04
3 changed files with 21 additions and 36 deletions
|
@ -1,24 +1,8 @@
|
||||||
import { readUsers, type ServerUser, writeUsers } from "~/server/database";
|
import { readUsers, writeUsers } from "~/server/database";
|
||||||
import { type ApiTombstone, type ApiUser, apiUserPatchSchema } from "~/shared/types/api";
|
import { apiUserPatchSchema } from "~/shared/types/api";
|
||||||
import { z } from "zod/v4-mini";
|
import { z } from "zod/v4-mini";
|
||||||
import { broadcastEvent } from "~/server/streams";
|
import { broadcastEvent } from "~/server/streams";
|
||||||
|
|
||||||
function serverUserToApi(user: ServerUser): ApiUser | ApiTombstone {
|
|
||||||
if (user.deleted) {
|
|
||||||
return {
|
|
||||||
id: user.id,
|
|
||||||
updatedAt: user.updatedAt,
|
|
||||||
deleted: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
id: user.id,
|
|
||||||
updatedAt: user.updatedAt,
|
|
||||||
type: user.type,
|
|
||||||
name: user.name,
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
const session = await requireServerSession(event);
|
const session = await requireServerSession(event);
|
||||||
if (session.account.type !== "admin") {
|
if (session.account.type !== "admin") {
|
||||||
|
|
|
@ -1,21 +1,4 @@
|
||||||
import { readUsers, type ServerUser } from "~/server/database"
|
import { readUsers } from "~/server/database"
|
||||||
import type { ApiTombstone, ApiUser } from "~/shared/types/api";
|
|
||||||
|
|
||||||
function serverUserToApi(user: ServerUser): ApiUser | ApiTombstone {
|
|
||||||
if (user.deleted) {
|
|
||||||
return {
|
|
||||||
id: user.id,
|
|
||||||
updatedAt: user.updatedAt,
|
|
||||||
deleted: true,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return {
|
|
||||||
id: user.id,
|
|
||||||
updatedAt: user.updatedAt,
|
|
||||||
type: user.type,
|
|
||||||
name: user.name,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default defineEventHandler(async (event) => {
|
export default defineEventHandler(async (event) => {
|
||||||
const session = await requireServerSession(event);
|
const session = await requireServerSession(event);
|
||||||
|
|
18
server/utils/user.ts
Normal file
18
server/utils/user.ts
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
import type { ServerUser } from "~/server/database"
|
||||||
|
import type { ApiTombstone, ApiUser } from "~/shared/types/api";
|
||||||
|
|
||||||
|
export function serverUserToApi(user: ServerUser): ApiUser | ApiTombstone {
|
||||||
|
if (user.deleted) {
|
||||||
|
return {
|
||||||
|
id: user.id,
|
||||||
|
updatedAt: user.updatedAt,
|
||||||
|
deleted: true,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return {
|
||||||
|
id: user.id,
|
||||||
|
updatedAt: user.updatedAt,
|
||||||
|
type: user.type,
|
||||||
|
name: user.name,
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Add a link
Reference in a new issue