Added schema defaults to all schemas to prevent strings from being trimmed

This commit is contained in:
Stefan Zermatten
2019-02-06 17:32:08 +02:00
parent bf2e9439cf
commit b67926e0fc
38 changed files with 100 additions and 50 deletions

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
let Instances = new Mongo.Collection("instances"); let Instances = new Mongo.Collection("instances");
let instanceSchema = new SimpleSchema({ let instanceSchema = schema({
//an instance is a single flow of time all parties in an instance are in-sync time wise //an instance is a single flow of time all parties in an instance are in-sync time wise
}); });

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
let Parties = new Mongo.Collection("parties"); let Parties = new Mongo.Collection("parties");
let partySchema = new SimpleSchema({ let partySchema = schema({
name: { name: {
type: String, type: String,
defaultValue: "New Party", defaultValue: "New Party",

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import deathSaveSchema from "/imports/api/creature/subSchemas/DeathSavesSchema.js" import deathSaveSchema from "/imports/api/creature/subSchemas/DeathSavesSchema.js"
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
@@ -9,7 +10,7 @@ import '/imports/api/creature/removeCreature.js';
//set up the collection for creatures //set up the collection for creatures
Creatures = new Mongo.Collection("creatures"); Creatures = new Mongo.Collection("creatures");
let creatureSchema = new SimpleSchema({ let creatureSchema = schema({
//strings //strings
name: {type: String, defaultValue: "", trim: false, optional: true}, name: {type: String, defaultValue: "", trim: false, optional: true},
urlName: {type: String, trim: false, optional: true, urlName: {type: String, trim: false, optional: true,

View File

@@ -3,6 +3,7 @@
import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { ValidatedMethod } from 'meteor/mdg:validated-method';
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import { canEditCreature } from '/imports/api/creature/creaturePermission.js'; import { canEditCreature } from '/imports/api/creature/creaturePermission.js';
import Creatures from "/imports/api/creature/Creatures.js"; import Creatures from "/imports/api/creature/Creatures.js";
import Attributes from "/imports/api/creature/properties/Attributes.js"; import Attributes from "/imports/api/creature/properties/Attributes.js";
@@ -15,7 +16,7 @@ export const recomputeCreature = new ValidatedMethod({
name: "Creatures.methods.recomputeCreature", name: "Creatures.methods.recomputeCreature",
validate: new SimpleSchema({ validate: schema({
charId: { type: String } charId: { type: String }
}).validator(), }).validator(),
@@ -656,7 +657,7 @@ function evaluateCalculation(string, char){
export const recomputeCreatureXP = new ValidatedMethod({ export const recomputeCreatureXP = new ValidatedMethod({
name: "Creatures.methods.recomputeCreatureXP", name: "Creatures.methods.recomputeCreatureXP",
validate: new SimpleSchema({ validate: schema({
charId: { type: String } charId: { type: String }
}).validator(), }).validator(),
@@ -686,7 +687,7 @@ export const recomputeCreatureXP = new ValidatedMethod({
export const recomputeCreatureWeightCarried = new ValidatedMethod({ export const recomputeCreatureWeightCarried = new ValidatedMethod({
name: "Creature.methods.recomputeCreatureWeightCarried", name: "Creature.methods.recomputeCreatureWeightCarried",
validate: new SimpleSchema({ validate: schema({
charId: { type: String } charId: { type: String }
}).validator(), }).validator(),

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
let Actions = new Mongo.Collection("actions"); let Actions = new Mongo.Collection("actions");
@@ -6,7 +7,7 @@ let Actions = new Mongo.Collection("actions");
/* /*
* Actions are given to a character by items and features * Actions are given to a character by items and features
*/ */
let actionSchema = new SimpleSchema({ let actionSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
let Attacks = new Mongo.Collection("attacks"); let Attacks = new Mongo.Collection("attacks");
@@ -6,7 +7,7 @@ let Attacks = new Mongo.Collection("attacks");
/* /*
* Attacks are given to a character by items and features * Attacks are given to a character by items and features
*/ */
attackSchema = new SimpleSchema({ attackSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,5 +1,6 @@
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
import { canEditCreature } from '/imports/api/creature/creaturePermission.js'; import { canEditCreature } from '/imports/api/creature/creaturePermission.js';
import { recomputeCreatureById } from '/imports/api/creature/creatureComputation.js' import { recomputeCreatureById } from '/imports/api/creature/creatureComputation.js'
@@ -10,7 +11,7 @@ let Attributes = new Mongo.Collection("attributes");
/* /*
* Attributes are numbered stats of a character * Attributes are numbered stats of a character
*/ */
attributeSchema = new SimpleSchema({ attributeSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,
@@ -98,7 +99,7 @@ const updateAttribute = new ValidatedMethod({
name: "Attributes.methods.update", name: "Attributes.methods.update",
validate: new SimpleSchema({ validate: schema({
_id: { _id: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,
@@ -125,7 +126,7 @@ const adjustAttribute = new ValidatedMethod({
name: "Attributes.methods.adjust", name: "Attributes.methods.adjust",
validate: new SimpleSchema({ validate: schema({
_id: { _id: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,10 +1,11 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
let Buffs = new Mongo.Collection("buffs"); let Buffs = new Mongo.Collection("buffs");
let buffSchema = new SimpleSchema({ let buffSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,27 +1,28 @@
import SimpleSchema from "simpl-schema"; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
let Bundles = new Mongo.Collection("bundle"); let Bundles = new Mongo.Collection("bundle");
let attributeSchema = new SimpleSchema({ let attributeSchema = schema({
name: String, name: String,
variableName: String, variableName: String,
baseValue: String, baseValue: String,
type: String, type: String,
}); });
let skillSchema = new SimpleSchema({ let skillSchema = schema({
name: String, name: String,
variableName: String, variableName: String,
ability: String, ability: String,
type: String, type: String,
}); });
let damageMultiplierSchema = new SimpleSchema({ let damageMultiplierSchema = schema({
name: String, name: String,
variableName: String, variableName: String,
}); });
let effectSchema = new SimpleSchema({ let effectSchema = schema({
name: String, name: String,
stat: String, stat: String,
operation: {type: String}, operation: {type: String},
@@ -29,7 +30,7 @@ let effectSchema = new SimpleSchema({
value: {type: Number, optional: true} value: {type: Number, optional: true}
}); });
let itemSchema = new SimpleSchema({ let itemSchema = schema({
name: String, name: String,
plural: {type: String, optional: true,}, plural: {type: String, optional: true,},
description: {type: String, optional: true,}, description: {type: String, optional: true,},
@@ -41,7 +42,7 @@ let itemSchema = new SimpleSchema({
"settings.showIncrement": {type: Boolean, optional: true}, "settings.showIncrement": {type: Boolean, optional: true},
}); });
let containerSchema = new SimpleSchema({ let containerSchema = schema({
name: String, name: String,
isCarried: Boolean, isCarried: Boolean,
weight: {type: Number, min: 0}, weight: {type: Number, min: 0},
@@ -51,7 +52,7 @@ let containerSchema = new SimpleSchema({
"items.$": itemSchema, "items.$": itemSchema,
}); });
let featureSchema = new SimpleSchema({ let featureSchema = schema({
name: String, name: String,
description: {type: String, optional: true}, description: {type: String, optional: true},
uses: {type: String, optional: true}, uses: {type: String, optional: true},
@@ -60,7 +61,7 @@ let featureSchema = new SimpleSchema({
"effects.$": effectSchema, "effects.$": effectSchema,
}); });
let bundleSchema = new SimpleSchema({ let bundleSchema = schema({
attributes: Array, attributes: Array,
"attributes.$": attributeSchema, "attributes.$": attributeSchema,
skills: Array, skills: Array,

View File

@@ -1,10 +1,11 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
let Classes = new Mongo.Collection("classes"); let Classes = new Mongo.Collection("classes");
classSchema= new SimpleSchema({ classSchema= schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
name: {type: String, optional: true, trim: false}, name: {type: String, optional: true, trim: false},
level: {type: SimpleSchema.Integer}, level: {type: SimpleSchema.Integer},

View File

@@ -1,10 +1,11 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
let Conditions = new Mongo.Collection("conditions"); let Conditions = new Mongo.Collection("conditions");
conditionSchema = new SimpleSchema({ conditionSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,9 +1,10 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent, makeChild} from "/imports/api/parenting.js"; import {makeParent, makeChild} from "/imports/api/parenting.js";
let CustomBuffs = new Mongo.Collection("customBuffs"); let CustomBuffs = new Mongo.Collection("customBuffs");
customBuffSchema = new SimpleSchema({ customBuffSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
const DamageMultipliers = new Mongo.Collection("damageMultipliers"); const DamageMultipliers = new Mongo.Collection("damageMultipliers");
@@ -6,7 +7,7 @@ const DamageMultipliers = new Mongo.Collection("damageMultipliers");
/* /*
* DamageMultipliers are whole numbered stats of a character * DamageMultipliers are whole numbered stats of a character
*/ */
const damageMultiplierSchema = new SimpleSchema({ const damageMultiplierSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
Effects = new Mongo.Collection("effects"); Effects = new Mongo.Collection("effects");
@@ -7,7 +8,7 @@ Effects = new Mongo.Collection("effects");
* Effects are reason-value attached to skills and abilities * Effects are reason-value attached to skills and abilities
* that modify their final value or presentation in some way * that modify their final value or presentation in some way
*/ */
effectSchema = new SimpleSchema({ effectSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
Experiences = new Mongo.Collection("experience"); Experiences = new Mongo.Collection("experience");
let experienceSchema = new SimpleSchema({ let experienceSchema = schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
name: {type: String, optional: true, trim: false, defaultValue: "New Experience"}, name: {type: String, optional: true, trim: false, defaultValue: "New Experience"},
description: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false},

View File

@@ -1,10 +1,11 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
let Features = new Mongo.Collection("features"); let Features = new Mongo.Collection("features");
let featureSchema = new SimpleSchema({ let featureSchema = schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
name: {type: String, optional: true, trim: false}, name: {type: String, optional: true, trim: false},
description: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false},

View File

@@ -1,9 +1,10 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
let Notes = new Mongo.Collection("notes"); let Notes = new Mongo.Collection("notes");
noteSchema = new SimpleSchema({ noteSchema = schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
name: {type: String, optional: true, trim: false}, name: {type: String, optional: true, trim: false},
description: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false},

View File

@@ -1,9 +1,10 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
Proficiencies = new Mongo.Collection("proficiencies"); Proficiencies = new Mongo.Collection("proficiencies");
proficiencySchema = new SimpleSchema({ proficiencySchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeChild} from "/imports/api/parenting.js"; import {makeChild} from "/imports/api/parenting.js";
let Skills = new Mongo.Collection("skills"); let Skills = new Mongo.Collection("skills");
@@ -7,7 +8,7 @@ let Skills = new Mongo.Collection("skills");
* Skills are anything that results in a modifier to be added to a D20 * Skills are anything that results in a modifier to be added to a D20
* Skills usually have an ability score modifier that they use as their basis * Skills usually have an ability score modifier that they use as their basis
*/ */
let skillSchema = new SimpleSchema({ let skillSchema = schema({
charId: { charId: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,11 +1,12 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import Attributes from "/imports/api/creature/properties/Attributes.js"; import Attributes from "/imports/api/creature/properties/Attributes.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
let SpellLists = new Mongo.Collection("spellLists"); let SpellLists = new Mongo.Collection("spellLists");
let spellListSchema = new SimpleSchema({ let spellListSchema = schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
name: {type: String, optional: true, trim: false}, name: {type: String, optional: true, trim: false},
description: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false},

View File

@@ -1,5 +1,6 @@
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent, makeChild} from "/imports/api/parenting.js"; import {makeParent, makeChild} from "/imports/api/parenting.js";
const magicSchools = [ const magicSchools = [
@@ -15,7 +16,7 @@ const magicSchools = [
let Spells = new Mongo.Collection("spells"); let Spells = new Mongo.Collection("spells");
let spellSchema = new SimpleSchema({ let spellSchema = schema({
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
prepared: { prepared: {
type: String, type: String,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
const ColorSchema = ({optional = false} = {}) => ({ const ColorSchema = ({optional = false} = {}) => ({
type: String, type: String,

View File

@@ -1,6 +1,7 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
const DeathSavesSchema = new SimpleSchema({ const DeathSavesSchema = schema({
pass: { pass: {
type: SimpleSchema.Integer, type: SimpleSchema.Integer,
min: 0, min: 0,

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
let Icons = new Mongo.Collection('icons'); let Icons = new Mongo.Collection('icons');
iconsSchema = new SimpleSchema({ iconsSchema = schema({
name: { name: {
type: String, type: String,
unique: true, unique: true,

View File

@@ -1,11 +1,12 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent} from "/imports/api/parenting.js"; import {makeParent} from "/imports/api/parenting.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
//set up the collection for containers //set up the collection for containers
let Containers = new Mongo.Collection("containers"); let Containers = new Mongo.Collection("containers");
let containerSchema = new SimpleSchema({ let containerSchema = schema({
name: {type: String, optional: true, trim: false}, name: {type: String, optional: true, trim: false},
charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
isCarried: {type: Boolean}, isCarried: {type: Boolean},

View File

@@ -1,10 +1,11 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import {makeParent, makeChild} from "/imports/api/parenting.js"; import {makeParent, makeChild} from "/imports/api/parenting.js";
import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js";
Items = new Mongo.Collection("items"); Items = new Mongo.Collection("items");
itemSchema = new SimpleSchema({ itemSchema = schema({
name: {type: String, optional: true, trim: false, defaultValue: "New Item"}, name: {type: String, optional: true, trim: false, defaultValue: "New Item"},
plural: {type: String, optional: true, trim: false}, plural: {type: String, optional: true, trim: false},
description: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false},

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
Libraries = new Mongo.Collection("library"); Libraries = new Mongo.Collection("library");
librarySchema = new SimpleSchema({ librarySchema = schema({
name: {type: String}, name: {type: String},
owner: {type: String, regEx: SimpleSchema.RegEx.Id}, owner: {type: String, regEx: SimpleSchema.RegEx.Id},
readers: {type: Array, defaultValue: []}, readers: {type: Array, defaultValue: []},

View File

@@ -1,9 +1,10 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import libraryAttacksSchema from "/imports/api/library/"; import libraryAttacksSchema from "/imports/api/library/";
LibraryItems = new Mongo.Collection("libraryItems"); LibraryItems = new Mongo.Collection("libraryItems");
libraryItemsSchema = new SimpleSchema({ libraryItemsSchema = schema({
libraryName:{type: String, optional: true, trim: false}, libraryName:{type: String, optional: true, trim: false},
name: {type: String, defaultValue: "New Item", trim: false}, name: {type: String, defaultValue: "New Item", trim: false},
plural: {type: String, optional: true, trim: false}, plural: {type: String, optional: true, trim: false},

View File

@@ -1,6 +1,6 @@
LibrarySpells = new Mongo.Collection("librarySpells"); LibrarySpells = new Mongo.Collection("librarySpells");
Schemas.LibrarySpells = new SimpleSchema({ Schemas.LibrarySpells = schema({
name: { name: {
type: String, type: String,
trim: false, trim: false,

View File

@@ -1,6 +1,7 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
libraryAttacksSchema = new SimpleSchema({ libraryAttacksSchema = schema({
name: { name: {
type: String, type: String,
defaultValue: "New Attack", defaultValue: "New Attack",

View File

@@ -1,6 +1,7 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
libraryEffectsSchema = new SimpleSchema({ libraryEffectsSchema = schema({
name: { name: {
type: String, type: String,
optional: true, //TODO make necessary if there is no owner optional: true, //TODO make necessary if there is no owner

View File

@@ -1,6 +1,6 @@
Blacklist = new Mongo.Collection("blacklist"); Blacklist = new Mongo.Collection("blacklist");
Schemas.Blacklist = new SimpleSchema({ Schemas.Blacklist = schema({
userId: { userId: {
type: String, type: String,
}, },

View File

@@ -1,6 +1,6 @@
ChangeLogs = new Mongo.Collection("changeLogs"); ChangeLogs = new Mongo.Collection("changeLogs");
Schemas.ChangeLog = new SimpleSchema({ Schemas.ChangeLog = schema({
version: { version: {
type: String, type: String,
}, },

View File

@@ -1,6 +1,6 @@
Reports = new Mongo.Collection("reports"); Reports = new Mongo.Collection("reports");
Schemas.Report = new SimpleSchema({ Schemas.Report = schema({
owner: { owner: {
type: String, type: String,
regEx: SimpleSchema.RegEx.Id, regEx: SimpleSchema.RegEx.Id,

View File

@@ -1,8 +1,9 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { ValidatedMethod } from 'meteor/mdg:validated-method';
import { _ } from 'meteor/underscore'; import { _ } from 'meteor/underscore';
let childSchema = new SimpleSchema({ let childSchema = schema({
parent: {type: Object}, parent: {type: Object},
"parent.collection": {type: String}, "parent.collection": {type: String},
"parent.id": {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, "parent.id": {type: String, regEx: SimpleSchema.RegEx.Id, index: 1},
@@ -175,7 +176,7 @@ let checkRemovePermission = function(collectionName, id, self){
const softRemoveNode = new ValidatedMethod({ const softRemoveNode = new ValidatedMethod({
name: "parenting.methods.softRemoveNode", name: "parenting.methods.softRemoveNode",
validate: new SimpleSchema({ validate: schema({
collectionName: {type: String,}, collectionName: {type: String,},
id: { id: {
type: String, type: String,

18
app/imports/api/schema.js Normal file
View File

@@ -0,0 +1,18 @@
import SimpleSchema from 'simpl-schema';
function getDefaultSchema(){
return new SimpleSchema({}, {
clean: {
filter: true,
autoConvert: true,
removeEmptyStrings: true,
trimStrings: false,
getAutoValues: true,
removeNullsFromArrays: true,
},
});
};
export default function schema(options){
return getDefaultSchema().extend(options);
}

View File

@@ -1,11 +1,11 @@
Schemas.UserProfile = new SimpleSchema({ Schemas.UserProfile = schema({
username: { username: {
type: String, type: String,
optional: true, optional: true,
}, },
}); });
Schemas.User = new SimpleSchema({ Schemas.User = schema({
username: { username: {
type: String, type: String,
optional: true, optional: true,
@@ -85,7 +85,7 @@ Meteor.users.gnerateApiKey = new ValidatedMethod({
Meteor.users.sendVerificationEmail = new ValidatedMethod({ Meteor.users.sendVerificationEmail = new ValidatedMethod({
name: "Users.methods.sendVerificationEmail", name: "Users.methods.sendVerificationEmail",
validate: new SimpleSchema({ validate: schema({
userId:{ userId:{
type: String, type: String,
optional: true, optional: true,

View File

@@ -1,4 +1,5 @@
import SimpleSchema from 'simpl-schema'; import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
if (Meteor.isDevelopment){ if (Meteor.isDevelopment){
SimpleSchema.debug = true SimpleSchema.debug = true