1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import { Schema, model, Types, Document } from "mongoose";
import "missing-native-js-functions";
import db, { MongooseCache } from "./Database";
var Config = new MongooseCache(db.collection("config"), [], { onlyEvents: false });
export default {
init: async function init() {
await Config.init();
return this.setAll(Config.data.merge(DefaultOptions));
},
getAll: function get() {
return <DefaultOptions>Config.data;
},
setAll: function set(val: any) {
return db.collection("config").updateOne({}, { $set: val });
},
};
export const DefaultOptions = {
api: {},
gateway: {},
voice: {},
};
export interface DefaultOptions extends Document {
api?: any;
gateway?: any;
voice?: any;
}
export const ConfigSchema = new Schema({
api: Object,
gateway: Object,
voice: Object,
});
export const ConfigModel = model<DefaultOptions>("Config", ConfigSchema, "config");
|