Refactoring models in order to facilitate lisibility

This commit is contained in:
Nikola Bjelo committed 2018-11-02 16:33:33 +01:00
1 parent ae28371871
commit d58ffd0219
3 files changed
+99 -24

No files matched your search

+63 -15
View File
@@ -6,32 +6,80 @@ import {
EventStatusEnum,
} from '../enums/EventStatus';
const { ObjectId } = Schema.Types;
const eventSchema = new Schema({
designator: { type: String, required: true },
status: { type: String, enum: EventStatusEnum, default: UNPUBLISHED },
name: { type: String, required: true },
hostId: { type: String, required: true },
designator: {
type: String,
required: true,
},
status: {
type: String,
enum: EventStatusEnum,
default: UNPUBLISHED,
},
name: {
type: String,
required: true,
},
hostId: {
type: String,
required: true,
},
description: String,
startDatetime: { type: Number, required: true },
finishDatetime: { type: Number, required: true },
formula: { type: Schema.Types.ObjectId, ref: Formula.modelName },
plotter: { type: Schema.Types.ObjectId, ref: Plotter.modelName },
startDatetime: {
type: Number,
required: true,
},
finishDatetime: {
type: Number,
required: true,
},
formula: {
type: ObjectId,
ref: Formula.modelName,
},
plotter: {
type: ObjectId,
ref: Plotter.modelName,
},
rules: [{
position: { type: Number, required: true },
title: { type: String, required: true },
position: {
type: Number,
required: true,
},
title: {
type: String,
required: true,
},
description: String,
}],
prizes: [{
rank: { type: Number, required: true },
amount: { type: Number, required: true },
rank: {
type: Number,
required: true,
},
amount: {
type: Number,
required: true,
},
additional: [{
condition: String,
amount: { type: Number, required: true },
asset: { type: String, required: true },
amount: {
type: Number,
required: true,
},
asset: {
type: String,
required: true,
},
}],
}],
participants: [{
teamId: { type: String, required: true },
teamId: {
type: String,
required: true,
},
botId: String,
releaseId: String,
}],
+12 -3
View File
@@ -1,9 +1,18 @@
import mongoose, { Schema } from 'mongoose';
const formulaSchema = new Schema({
ownerId: { type: String, required: true },
isTemplate: { type: Boolean, default: false },
name: { type: String, required: true },
ownerId: {
type: String,
required: true,
},
isTemplate: {
type: Boolean,
default: false,
},
name: {
type: String,
required: true,
},
});
const Formula = mongoose.model('Formula', formulaSchema);
+24 -6
View File
@@ -1,12 +1,30 @@
import mongoose, { Schema } from 'mongoose';
const plotterSchema = new Schema({
ownerId: { type: String, required: true },
isTemplate: { type: Boolean, default: false },
name: { type: String, required: true },
host: { type: String, required: true },
repo: { type: String, required: true },
moduleName: { type: String, required: true },
ownerId: {
type: String,
required: true,
},
isTemplate: {
type: Boolean,
default: false,
},
name: {
type: String,
required: true,
},
host: {
type: String,
required: true,
},
repo: {
type: String,
required: true,
},
moduleName: {
type: String,
required: true,
},
});
const Plotter = mongoose.model('Plotter', plotterSchema);