Compare commits
5 Commits
2582212fb6
...
b122dd3867
Author | SHA1 | Date |
---|---|---|
Matthew | b122dd3867 | |
Matthew | 272402d34c | |
Matthew | 012c150e2d | |
Matthew | ad85bda7a0 | |
Matthew | e8f730c967 |
|
@ -0,0 +1,54 @@
|
||||||
|
import { prop, getModelForClass } from "@typegoose/typegoose"
|
||||||
|
|
||||||
|
/* TODO
|
||||||
|
* Comments
|
||||||
|
* Further attributes for class
|
||||||
|
* */
|
||||||
|
|
||||||
|
export type MemberAdditionalAcknowledgement =
|
||||||
|
"Chair of the Board of Governors" |
|
||||||
|
"Vice Chair of the Board of Governors" |
|
||||||
|
"Voting Seat Member of the Board of Governors" |
|
||||||
|
string;
|
||||||
|
|
||||||
|
// enum for the used programming languages in whois information
|
||||||
|
export enum MemberUsedLanguages {
|
||||||
|
ASM = "lang-asm",
|
||||||
|
CFAM = "lang-cfam",
|
||||||
|
CSHARP = "lang-csharp",
|
||||||
|
GO = "lang-go",
|
||||||
|
JAVA = "lang-java",
|
||||||
|
JS = "lang-js",
|
||||||
|
KT = "lang-kt",
|
||||||
|
PY = "lang-py",
|
||||||
|
RB = "lang-rb",
|
||||||
|
RS = "lang-rs",
|
||||||
|
SWIFT = "lang-swift",
|
||||||
|
TS = "lang-ts"
|
||||||
|
}
|
||||||
|
|
||||||
|
// enum for the used operating systems in the whois information
|
||||||
|
export enum MemberUsedOperatingSystems {
|
||||||
|
ARCH = "os-arch",
|
||||||
|
DEB = "os-deb",
|
||||||
|
CENT = "os-cent",
|
||||||
|
FEDORA = "os-fedora",
|
||||||
|
MDARWIN = "os-mdarwin",
|
||||||
|
MANJARO = "os-manjaro",
|
||||||
|
REDHAT = "os-redhat",
|
||||||
|
UBUNTU = "os-ubuntu",
|
||||||
|
WIN = "os-win"
|
||||||
|
}
|
||||||
|
export default class Member {
|
||||||
|
@prop({ required: true, unique: true })
|
||||||
|
public discordID: string | undefined;
|
||||||
|
|
||||||
|
@prop()
|
||||||
|
public usedOperatingSystems: MemberUsedOperatingSystems[] | undefined;
|
||||||
|
|
||||||
|
@prop()
|
||||||
|
public usedLanguages: MemberUsedLanguages[] | undefined;
|
||||||
|
|
||||||
|
@prop()
|
||||||
|
public additionalAcknowledgement: MemberAdditionalAcknowledgement[] | undefined;
|
||||||
|
}
|
|
@ -0,0 +1,58 @@
|
||||||
|
import { prop, getModelForClass } from "@typegoose/typegoose";
|
||||||
|
import Member from "./Member";
|
||||||
|
|
||||||
|
/* TODO
|
||||||
|
* Comments
|
||||||
|
* Further attributes for class
|
||||||
|
* */
|
||||||
|
|
||||||
|
export type PartnerTitle =
|
||||||
|
"Director of Engineering" |
|
||||||
|
"Director of Operations" |
|
||||||
|
"Deputy Director of Engineering" |
|
||||||
|
"Deputy Director of Operations" |
|
||||||
|
"Services Manager" |
|
||||||
|
"Project Manager" |
|
||||||
|
"Engineering Core Partner" |
|
||||||
|
"Operations Core Partner" |
|
||||||
|
"Community Moderator" |
|
||||||
|
"Technician" |
|
||||||
|
string;
|
||||||
|
|
||||||
|
|
||||||
|
export enum PartnerDepartment {
|
||||||
|
INDEPENDENT_AGENCY,
|
||||||
|
ENGINEERING, // Department of Engineering
|
||||||
|
OPERATIONS // Department of Operations
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum PartnerRoleType {
|
||||||
|
MANAGERIAL,
|
||||||
|
NONMANAGERIAL,
|
||||||
|
}
|
||||||
|
|
||||||
|
export enum PartnerCommissionType {
|
||||||
|
TENURE,
|
||||||
|
PROVISIONAL,
|
||||||
|
CONTRACTUAL,
|
||||||
|
ACTING,
|
||||||
|
INTERIM,
|
||||||
|
TRIAL,
|
||||||
|
}
|
||||||
|
|
||||||
|
export default class Partner extends Member {
|
||||||
|
@prop({ required: true })
|
||||||
|
public roleType: PartnerRoleType | undefined;
|
||||||
|
|
||||||
|
@prop({ required: true })
|
||||||
|
public commissionType: PartnerCommissionType | undefined;
|
||||||
|
|
||||||
|
@prop({ required: true })
|
||||||
|
public department: PartnerDepartment | undefined;
|
||||||
|
|
||||||
|
@prop({ required: true })
|
||||||
|
public title: PartnerTitle | "Partner" | undefined;
|
||||||
|
|
||||||
|
@prop()
|
||||||
|
public directReport: Partner | string | undefined;
|
||||||
|
}
|
|
@ -9,7 +9,6 @@ export default class Ping extends DiscordInteractionCommand {
|
||||||
public async execute(interaction: ChatInputCommandInteraction): Promise<void> {
|
public async execute(interaction: ChatInputCommandInteraction): Promise<void> {
|
||||||
const startTimestamp = Date.now(); // Mark the start of processing
|
const startTimestamp = Date.now(); // Mark the start of processing
|
||||||
|
|
||||||
// Assuming `interaction.reply` sends the initial response and records the timestamp right after
|
|
||||||
await interaction.reply({ content: "Pong!", ephemeral: false });
|
await interaction.reply({ content: "Pong!", ephemeral: false });
|
||||||
const repliedTimestamp = Date.now(); // Mark the timestamp after replying
|
const repliedTimestamp = Date.now(); // Mark the timestamp after replying
|
||||||
|
|
||||||
|
|
|
@ -14,8 +14,8 @@
|
||||||
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
"target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */
|
||||||
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
// "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */
|
||||||
// "jsx": "preserve", /* Specify what JSX code is generated. */
|
// "jsx": "preserve", /* Specify what JSX code is generated. */
|
||||||
// "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
|
"experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */
|
||||||
// "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
|
"emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */
|
||||||
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
|
// "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */
|
||||||
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
|
// "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */
|
||||||
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
|
// "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */
|
||||||
|
|
|
@ -3,7 +3,7 @@ export default abstract class DiscordEvent {
|
||||||
public name: string;
|
public name: string;
|
||||||
protected client: Client;
|
protected client: Client;
|
||||||
|
|
||||||
constructor(name: string = "", client: Client) {
|
protected constructor(name: string = "", client: Client) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.execute = this.execute.bind(this);
|
this.execute = this.execute.bind(this);
|
||||||
|
|
|
@ -5,7 +5,7 @@ export default abstract class DiscordInteractionCommand {
|
||||||
public description: string;
|
public description: string;
|
||||||
public builder: SlashCommandBuilder;
|
public builder: SlashCommandBuilder;
|
||||||
|
|
||||||
constructor(name: string, description: string) {
|
protected constructor(name: string, description: string) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
this.description = description;
|
this.description = description;
|
||||||
this.builder = new SlashCommandBuilder();
|
this.builder = new SlashCommandBuilder();
|
||||||
|
|
Loading…
Reference in New Issue