我想知道是否有更好的方法为我的应用程序设计模型,因为我认为这不是那么干净。可能在这里问错了地方,但也许您愿意提供帮助
场景
管理员注册考试候选人:
interface PreCandidate {
gender: 'male' | 'female';
firstName: string;
lastName: string;
email: string;
note?: string;
invited: Date;
stage: 'invited' | 'registered';
}
然后,候选人获得邀请函,并进行注册并提供一些其他信息:
interface CandidateDetails {
birthDate: Date;
address: {
street: string;
postal_code: string;
city: string;
country: string;
};
}
这全部存储在数据库中:
type CandidateData = PreCandidate & CandidateDetails;
然后在应用中用作
interface Candidate extends CandidateData {
id: string;
}