From cb55c3f1287454d3f9df574d28c603df4be465bd Mon Sep 17 00:00:00 2001 From: Vermium Sifell Date: Wed, 13 Apr 2022 23:13:22 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=B7=EF=B8=8F=20added=20interfaces=20fo?= =?UTF-8?q?r=20schemas?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/database/schemas/api.ts | 21 ++++++++++++++------- src/database/schemas/counter.ts | 22 +++++++++++++++------- src/database/schemas/shopRole.ts | 25 +++++++++++++++++-------- src/database/schemas/timeout.ts | 19 +++++++++++++------ 4 files changed, 59 insertions(+), 28 deletions(-) diff --git a/src/database/schemas/api.ts b/src/database/schemas/api.ts index a388322..12519d2 100644 --- a/src/database/schemas/api.ts +++ b/src/database/schemas/api.ts @@ -1,15 +1,22 @@ -import mongoose from "mongoose"; +import { Snowflake } from "discord.js"; +import { model, Schema } from "mongoose"; -const apiSchema = new mongoose.Schema( +export interface IApi { + guildId: Snowflake; + url: string; + token: { iv: string; content: string }; +} + +const apiSchema = new Schema( { guildId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, url: { - type: mongoose.SchemaTypes.String, + type: String, required: true, unique: false, index: true, @@ -17,14 +24,14 @@ const apiSchema = new mongoose.Schema( }, token: { iv: { - type: mongoose.SchemaTypes.String, + type: String, required: true, unique: false, index: true, default: "token", }, content: { - type: mongoose.SchemaTypes.String, + type: String, required: true, unique: false, index: true, @@ -35,4 +42,4 @@ const apiSchema = new mongoose.Schema( { timestamps: true } ); -export default mongoose.model("api", apiSchema); +export default model("api", apiSchema); diff --git a/src/database/schemas/counter.ts b/src/database/schemas/counter.ts index 3519b1b..fd274eb 100644 --- a/src/database/schemas/counter.ts +++ b/src/database/schemas/counter.ts @@ -1,27 +1,35 @@ -import mongoose from "mongoose"; +import { Schema, model } from "mongoose"; +import { Snowflake } from "discord.js"; -const counterSchema = new mongoose.Schema( +export interface ICounter { + guildId: Snowflake; + channelId: Snowflake; + word: string; + counter: number; +} + +const counterSchema = new Schema( { guildId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, channelId: { - type: mongoose.SchemaTypes.String, + type: String, required: true, unique: true, index: true, }, word: { - type: mongoose.SchemaTypes.String, + type: String, required: true, unique: false, index: true, }, counter: { - type: mongoose.SchemaTypes.Number, + type: Number, required: true, unique: false, index: true, @@ -31,4 +39,4 @@ const counterSchema = new mongoose.Schema( { timestamps: true } ); -export default mongoose.model("counter", counterSchema); +export default model("counter", counterSchema); diff --git a/src/database/schemas/shopRole.ts b/src/database/schemas/shopRole.ts index 3f48756..19692fa 100644 --- a/src/database/schemas/shopRole.ts +++ b/src/database/schemas/shopRole.ts @@ -1,34 +1,43 @@ -import mongoose from "mongoose"; +import { Snowflake } from "discord.js"; +import { Schema, model } from "mongoose"; -const shopRoleSchema = new mongoose.Schema( +export interface IShopRole { + roleId: Snowflake; + userId: Snowflake; + guildId: Snowflake; + pricePerHour: number; + lastPayed: Date; +} + +const shopRoleSchema = new Schema( { roleId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, userId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, guildId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, pricePerHour: { - type: mongoose.SchemaTypes.Number, + type: Number, required: true, unique: false, index: true, default: 5, }, lastPayed: { - type: mongoose.SchemaTypes.Date, + type: Date, unique: false, index: true, }, @@ -36,4 +45,4 @@ const shopRoleSchema = new mongoose.Schema( { timestamps: true } ); -export default mongoose.model("shopRole", shopRoleSchema); +export default model("shopRole", shopRoleSchema); diff --git a/src/database/schemas/timeout.ts b/src/database/schemas/timeout.ts index d783932..f923f08 100644 --- a/src/database/schemas/timeout.ts +++ b/src/database/schemas/timeout.ts @@ -1,22 +1,29 @@ -import mongoose from "mongoose"; +import { Snowflake } from "discord.js"; +import { Schema, model } from "mongoose"; -const timeoutSchema = new mongoose.Schema( +export interface ITimeout { + userId: Snowflake; + guildId: Snowflake; + timeoutId: string; +} + +const timeoutSchema = new Schema( { userId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, guildId: { - type: mongoose.SchemaTypes.Decimal128, + type: String, required: true, unique: false, index: true, }, - timeoutId: { type: mongoose.SchemaTypes.String }, + timeoutId: { type: String }, }, { timestamps: true } ); -export default mongoose.model("timeout", timeoutSchema); +export default model("timeout", timeoutSchema);