Back to questions
Middle
1
interface User { id: number; name: string; email: string; role: "admin" | "user"; settings: { theme: "dark" | "light"; notifications: boolean; }; } type CreateUser = Omit<User, 'id'> type UpdateUser =
Companies where asked
СберInfra.cloud
Answer from AI
sobes.tech AI
Для определения типа UpdateUser, который представляет обновление пользователя, обычно делают все поля необязательными, кроме id, чтобы можно было менять любые свойства, кроме идентификатора. В TypeScript это можно сделать с помощью Partial и Pick или Omit.
Пример:
interface User {
id: number;
name: string;
email: string;
role: "admin" | "user";
settings: {
theme: "dark" | "light";
notifications: boolean;
};
}
type CreateUser = Omit<User, 'id'>
type UpdateUser = Partial<Omit<User, 'id'>> & { id: number };
Здесь UpdateUser требует обязательное поле id для идентификации пользователя, а остальные поля — опциональны, что удобно для частичного обновления данных.