33 lines
697 B
TypeScript
33 lines
697 B
TypeScript
|
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;
|
||
|
}
|