import { prop } from '@typegoose/typegoose'; export type Tier = 1 | 2 | 3; export default class Member { @prop({ required: true }) public userID: string; @prop() public additional: { langs: ['js', 'py', 'rb', 'ts', 'rs', 'go', 'cfam', 'csharp', 'swift', 'java', 'kt', 'asm'], operatingSystems: ['arch', 'deb', 'cent', 'fedora', 'manjaro', 'mdarwin', 'redhat', 'ubuntu', 'win'], github: string, gitlab: string, bio: string, }; @prop() public misc: { t3TemporaryExpiration?: { date: Date, processed: boolean previousTier: Tier } }; @prop() public x509: string; @prop() public pgp: string; }