mirror of
https://github.com/koreanbots/core.git
synced 2025-12-15 14:10:22 +00:00
* deps: bump critical deps version * chore: specify sentry and dd debug mode * chore: enable SwcMinify * chore: casing * deps: bump mongoose version to 6.8.3 * Revert "deps: bump mongoose version to 6.8.3" This reverts commit d5b90b5c0909545d4d21553d50c5681bd93a57a4. * deps: change mongoose version to 5.13.15 * fix: typing * deps: update audited deps * deps: update next-pwa and dd-trace@2 * deps: update dd-trace@3 and sentry * fix: redirects * fix: style * feat: redirect using next config * deps: update mongoose to 6.9.0 * chore: change next version in package.json * chore: change next version to 12.3.2 * fix: model compile issue * chore: lint * chore: remove any * deps: update jest version to 29 * deps: resolve remaining vulnerabilities --------- Co-authored-by: skinmaker1345 <me@skinmaker.dev>
38 lines
1.5 KiB
TypeScript
38 lines
1.5 KiB
TypeScript
import mongoose, { InferSchemaType, Model, ObtainSchemaGeneric, Schema } from 'mongoose'
|
|
import { getYYMMDD } from './Tools'
|
|
|
|
mongoose.connect(`mongodb://${process.env.MONGO_USER}:${process.env.MONGO_PASSWORD}@${process.env.MONGO_HOST || 'localhost'}/${process.env.MONGO_DATABASE}`)
|
|
|
|
const db = mongoose.connection
|
|
|
|
db.on('error', console.error.bind(console, 'connection error:'))
|
|
db.once('open', () =>
|
|
console.log('[DB] Mongo Connected')
|
|
)
|
|
|
|
const metrix = { day: { type: String, default: getYYMMDD, unique: true }, createdAt: { type: Date, default: Date.now }, count: Number }
|
|
const botSchema = new mongoose.Schema({
|
|
_id: String,
|
|
serverMetrix: [ metrix ],
|
|
viewMetrix: [ metrix ],
|
|
voteMetrix: [ { ...metrix, increasement: { type: Number, default: 1 } } ],
|
|
inviteMetrix: [ metrix ],
|
|
comments: [ { author: String, date: { type: Date, defualt: Date.now }, comment: String, rating: Number, upvotes: [ String ], downvotes: [ String ] } ],
|
|
})
|
|
|
|
const serverSchema = new mongoose.Schema({
|
|
_id: String,
|
|
data: {}
|
|
})
|
|
|
|
type ModelType<TSchema extends Schema> = Model<
|
|
InferSchemaType<TSchema>,
|
|
ObtainSchemaGeneric<TSchema, 'TQueryHelpers'>,
|
|
ObtainSchemaGeneric<TSchema, 'TInstanceMethods'>,
|
|
ObtainSchemaGeneric<TSchema, 'TVirtuals'>,
|
|
TSchema
|
|
> &
|
|
ObtainSchemaGeneric<TSchema, 'TStaticMethods'>
|
|
|
|
export const Bots = (mongoose.models.bots as ModelType<typeof botSchema>) || mongoose.model('bots', botSchema)
|
|
export const Servers = (mongoose.models.servers as ModelType<typeof serverSchema>) || mongoose.model('servers', serverSchema) |