diff --git a/src/routes/users/#id/index.ts b/src/routes/users/#id/index.ts index 3cbeb463..d5f3b788 100644 --- a/src/routes/users/#id/index.ts +++ b/src/routes/users/#id/index.ts @@ -1,7 +1,9 @@ import { Router, Request, Response } from "express"; -import { UserModel} from "@fosscord/server-util"; +import { UserModel, toObject } from "@fosscord/server-util"; import { getPublicUser } from "../../../util/User"; import { HTTPError } from "lambert-server"; +import { UserUpdateSchema } from "../../../schema/User"; +import { check } from "../../../util/instanceOf"; const router: Router = Router(); @@ -14,5 +16,4 @@ router.get("/", async (req: Request, res: Response) => { }); - export default router; diff --git a/src/schema/User.ts b/src/schema/User.ts new file mode 100644 index 00000000..2b74a433 --- /dev/null +++ b/src/schema/User.ts @@ -0,0 +1,43 @@ +export const UserUpdateSchema = { + id: String, + username: String, + discriminator: String, + avatar: String || null, + $phone: String, + desktop: Boolean, + mobile: Boolean, + premium: Boolean, + premium_type: Number, + bot: Boolean, + system: Boolean, + nsfw_allowed: Boolean, + mfa_enabled: Boolean, + created_at: Date, + verified: Boolean, + $email: String, + flags: BigInt, + public_flags: BigInt, + $guilds: [String], +}; + +export interface UserUpdateSchema { + id: string; + username: string; + discriminator: string; + avatar: string | null; + phone?: string; + desktop: boolean; + mobile: boolean; + premium: boolean; + premium_type: number; + bot: boolean; + system: boolean; + nsfw_allowed: boolean; + mfa_enabled: boolean; + created_at: Date; + verified: boolean; + email?: string; + flags: bigint; + public_flags: bigint; + guilds: string[]; +}