diff --git a/app/imports/api/campaign/Instance.js b/app/imports/api/campaign/Instance.js index 6065ab40..0207d429 100644 --- a/app/imports/api/campaign/Instance.js +++ b/app/imports/api/campaign/Instance.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; 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 }); diff --git a/app/imports/api/campaign/Parties.js b/app/imports/api/campaign/Parties.js index 41ce048c..23db61af 100644 --- a/app/imports/api/campaign/Parties.js +++ b/app/imports/api/campaign/Parties.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; let Parties = new Mongo.Collection("parties"); -let partySchema = new SimpleSchema({ +let partySchema = schema({ name: { type: String, defaultValue: "New Party", diff --git a/app/imports/api/creature/Creatures.js b/app/imports/api/creature/Creatures.js index 03f98e22..2feea3ce 100644 --- a/app/imports/api/creature/Creatures.js +++ b/app/imports/api/creature/Creatures.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import deathSaveSchema from "/imports/api/creature/subSchemas/DeathSavesSchema.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 Creatures = new Mongo.Collection("creatures"); -let creatureSchema = new SimpleSchema({ +let creatureSchema = schema({ //strings name: {type: String, defaultValue: "", trim: false, optional: true}, urlName: {type: String, trim: false, optional: true, diff --git a/app/imports/api/creature/creatureComputation.js b/app/imports/api/creature/creatureComputation.js index 2688afd4..c4617b18 100644 --- a/app/imports/api/creature/creatureComputation.js +++ b/app/imports/api/creature/creatureComputation.js @@ -3,6 +3,7 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import { canEditCreature } from '/imports/api/creature/creaturePermission.js'; import Creatures from "/imports/api/creature/Creatures.js"; import Attributes from "/imports/api/creature/properties/Attributes.js"; @@ -15,7 +16,7 @@ export const recomputeCreature = new ValidatedMethod({ name: "Creatures.methods.recomputeCreature", - validate: new SimpleSchema({ + validate: schema({ charId: { type: String } }).validator(), @@ -656,7 +657,7 @@ function evaluateCalculation(string, char){ export const recomputeCreatureXP = new ValidatedMethod({ name: "Creatures.methods.recomputeCreatureXP", - validate: new SimpleSchema({ + validate: schema({ charId: { type: String } }).validator(), @@ -686,7 +687,7 @@ export const recomputeCreatureXP = new ValidatedMethod({ export const recomputeCreatureWeightCarried = new ValidatedMethod({ name: "Creature.methods.recomputeCreatureWeightCarried", - validate: new SimpleSchema({ + validate: schema({ charId: { type: String } }).validator(), diff --git a/app/imports/api/creature/properties/Actions.js b/app/imports/api/creature/properties/Actions.js index 8101f4a6..431abf8a 100644 --- a/app/imports/api/creature/properties/Actions.js +++ b/app/imports/api/creature/properties/Actions.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; 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 */ -let actionSchema = new SimpleSchema({ +let actionSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Attacks.js b/app/imports/api/creature/properties/Attacks.js index 6a6cbc25..948b3b42 100644 --- a/app/imports/api/creature/properties/Attacks.js +++ b/app/imports/api/creature/properties/Attacks.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; 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 */ -attackSchema = new SimpleSchema({ +attackSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Attributes.js b/app/imports/api/creature/properties/Attributes.js index 313b7140..7b2d918d 100644 --- a/app/imports/api/creature/properties/Attributes.js +++ b/app/imports/api/creature/properties/Attributes.js @@ -1,5 +1,6 @@ import {makeChild} from "/imports/api/parenting.js"; import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import { canEditCreature } from '/imports/api/creature/creaturePermission.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 */ -attributeSchema = new SimpleSchema({ +attributeSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, @@ -98,7 +99,7 @@ const updateAttribute = new ValidatedMethod({ name: "Attributes.methods.update", - validate: new SimpleSchema({ + validate: schema({ _id: { type: String, regEx: SimpleSchema.RegEx.Id, @@ -125,7 +126,7 @@ const adjustAttribute = new ValidatedMethod({ name: "Attributes.methods.adjust", - validate: new SimpleSchema({ + validate: schema({ _id: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Buffs.js b/app/imports/api/creature/properties/Buffs.js index 291536b3..bd6fdc6c 100644 --- a/app/imports/api/creature/properties/Buffs.js +++ b/app/imports/api/creature/properties/Buffs.js @@ -1,10 +1,11 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent} from "/imports/api/parenting.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; let Buffs = new Mongo.Collection("buffs"); -let buffSchema = new SimpleSchema({ +let buffSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Bundles.js b/app/imports/api/creature/properties/Bundles.js index 5b8e9ea4..3bfd8874 100644 --- a/app/imports/api/creature/properties/Bundles.js +++ b/app/imports/api/creature/properties/Bundles.js @@ -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 attributeSchema = new SimpleSchema({ +let attributeSchema = schema({ name: String, variableName: String, baseValue: String, type: String, }); -let skillSchema = new SimpleSchema({ +let skillSchema = schema({ name: String, variableName: String, ability: String, type: String, }); -let damageMultiplierSchema = new SimpleSchema({ +let damageMultiplierSchema = schema({ name: String, variableName: String, }); -let effectSchema = new SimpleSchema({ +let effectSchema = schema({ name: String, stat: String, operation: {type: String}, @@ -29,7 +30,7 @@ let effectSchema = new SimpleSchema({ value: {type: Number, optional: true} }); -let itemSchema = new SimpleSchema({ +let itemSchema = schema({ name: String, plural: {type: String, optional: true,}, description: {type: String, optional: true,}, @@ -41,7 +42,7 @@ let itemSchema = new SimpleSchema({ "settings.showIncrement": {type: Boolean, optional: true}, }); -let containerSchema = new SimpleSchema({ +let containerSchema = schema({ name: String, isCarried: Boolean, weight: {type: Number, min: 0}, @@ -51,7 +52,7 @@ let containerSchema = new SimpleSchema({ "items.$": itemSchema, }); -let featureSchema = new SimpleSchema({ +let featureSchema = schema({ name: String, description: {type: String, optional: true}, uses: {type: String, optional: true}, @@ -60,7 +61,7 @@ let featureSchema = new SimpleSchema({ "effects.$": effectSchema, }); -let bundleSchema = new SimpleSchema({ +let bundleSchema = schema({ attributes: Array, "attributes.$": attributeSchema, skills: Array, diff --git a/app/imports/api/creature/properties/Classes.js b/app/imports/api/creature/properties/Classes.js index c86527c7..acc2f828 100644 --- a/app/imports/api/creature/properties/Classes.js +++ b/app/imports/api/creature/properties/Classes.js @@ -1,10 +1,11 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent} from "/imports/api/parenting.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; let Classes = new Mongo.Collection("classes"); -classSchema= new SimpleSchema({ +classSchema= schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, name: {type: String, optional: true, trim: false}, level: {type: SimpleSchema.Integer}, diff --git a/app/imports/api/creature/properties/Conditions.js b/app/imports/api/creature/properties/Conditions.js index 46aab834..5b7692bb 100644 --- a/app/imports/api/creature/properties/Conditions.js +++ b/app/imports/api/creature/properties/Conditions.js @@ -1,10 +1,11 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent} from "/imports/api/parenting.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; let Conditions = new Mongo.Collection("conditions"); -conditionSchema = new SimpleSchema({ +conditionSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/CustomBuffs.js b/app/imports/api/creature/properties/CustomBuffs.js index 0277470f..34c0b5a2 100644 --- a/app/imports/api/creature/properties/CustomBuffs.js +++ b/app/imports/api/creature/properties/CustomBuffs.js @@ -1,9 +1,10 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent, makeChild} from "/imports/api/parenting.js"; let CustomBuffs = new Mongo.Collection("customBuffs"); -customBuffSchema = new SimpleSchema({ +customBuffSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/DamageMultipliers.js b/app/imports/api/creature/properties/DamageMultipliers.js index 98032e00..6e99b0d0 100644 --- a/app/imports/api/creature/properties/DamageMultipliers.js +++ b/app/imports/api/creature/properties/DamageMultipliers.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; const DamageMultipliers = new Mongo.Collection("damageMultipliers"); @@ -6,7 +7,7 @@ const DamageMultipliers = new Mongo.Collection("damageMultipliers"); /* * DamageMultipliers are whole numbered stats of a character */ -const damageMultiplierSchema = new SimpleSchema({ +const damageMultiplierSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Effects.js b/app/imports/api/creature/properties/Effects.js index 15a6db07..243f2ec2 100644 --- a/app/imports/api/creature/properties/Effects.js +++ b/app/imports/api/creature/properties/Effects.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; Effects = new Mongo.Collection("effects"); @@ -7,7 +8,7 @@ Effects = new Mongo.Collection("effects"); * Effects are reason-value attached to skills and abilities * that modify their final value or presentation in some way */ -effectSchema = new SimpleSchema({ +effectSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Experiences.js b/app/imports/api/creature/properties/Experiences.js index 994884db..cc58ecfa 100644 --- a/app/imports/api/creature/properties/Experiences.js +++ b/app/imports/api/creature/properties/Experiences.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; Experiences = new Mongo.Collection("experience"); -let experienceSchema = new SimpleSchema({ +let experienceSchema = schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, name: {type: String, optional: true, trim: false, defaultValue: "New Experience"}, description: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/creature/properties/Features.js b/app/imports/api/creature/properties/Features.js index 5381bf9c..f1982998 100644 --- a/app/imports/api/creature/properties/Features.js +++ b/app/imports/api/creature/properties/Features.js @@ -1,10 +1,11 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import {makeParent} from "/imports/api/parenting.js"; let Features = new Mongo.Collection("features"); -let featureSchema = new SimpleSchema({ +let featureSchema = schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, name: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/creature/properties/Notes.js b/app/imports/api/creature/properties/Notes.js index 1b66c215..278a78a1 100644 --- a/app/imports/api/creature/properties/Notes.js +++ b/app/imports/api/creature/properties/Notes.js @@ -1,9 +1,10 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; let Notes = new Mongo.Collection("notes"); -noteSchema = new SimpleSchema({ +noteSchema = schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, name: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/creature/properties/Proficiencies.js b/app/imports/api/creature/properties/Proficiencies.js index 0a13ab15..90317302 100644 --- a/app/imports/api/creature/properties/Proficiencies.js +++ b/app/imports/api/creature/properties/Proficiencies.js @@ -1,9 +1,10 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; Proficiencies = new Mongo.Collection("proficiencies"); -proficiencySchema = new SimpleSchema({ +proficiencySchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/Skills.js b/app/imports/api/creature/properties/Skills.js index 28af8d59..2d2e41b0 100644 --- a/app/imports/api/creature/properties/Skills.js +++ b/app/imports/api/creature/properties/Skills.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeChild} from "/imports/api/parenting.js"; 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 usually have an ability score modifier that they use as their basis */ -let skillSchema = new SimpleSchema({ +let skillSchema = schema({ charId: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/creature/properties/SpellLists.js b/app/imports/api/creature/properties/SpellLists.js index 19e8076d..be3c7465 100644 --- a/app/imports/api/creature/properties/SpellLists.js +++ b/app/imports/api/creature/properties/SpellLists.js @@ -1,11 +1,12 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import Attributes from "/imports/api/creature/properties/Attributes.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import {makeParent} from "/imports/api/parenting.js"; let SpellLists = new Mongo.Collection("spellLists"); -let spellListSchema = new SimpleSchema({ +let spellListSchema = schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, name: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/creature/properties/Spells.js b/app/imports/api/creature/properties/Spells.js index f7ef1e97..36f1ddb6 100644 --- a/app/imports/api/creature/properties/Spells.js +++ b/app/imports/api/creature/properties/Spells.js @@ -1,5 +1,6 @@ import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent, makeChild} from "/imports/api/parenting.js"; const magicSchools = [ @@ -15,7 +16,7 @@ const magicSchools = [ let Spells = new Mongo.Collection("spells"); -let spellSchema = new SimpleSchema({ +let spellSchema = schema({ charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, prepared: { type: String, diff --git a/app/imports/api/creature/subSchemas/ColorSchema.js b/app/imports/api/creature/subSchemas/ColorSchema.js index d0ae188a..a66af43e 100644 --- a/app/imports/api/creature/subSchemas/ColorSchema.js +++ b/app/imports/api/creature/subSchemas/ColorSchema.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; const ColorSchema = ({optional = false} = {}) => ({ type: String, diff --git a/app/imports/api/creature/subSchemas/DeathSavesSchema.js b/app/imports/api/creature/subSchemas/DeathSavesSchema.js index ea7f2933..92820848 100644 --- a/app/imports/api/creature/subSchemas/DeathSavesSchema.js +++ b/app/imports/api/creature/subSchemas/DeathSavesSchema.js @@ -1,6 +1,7 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; -const DeathSavesSchema = new SimpleSchema({ +const DeathSavesSchema = schema({ pass: { type: SimpleSchema.Integer, min: 0, diff --git a/app/imports/api/icons/Icons.js b/app/imports/api/icons/Icons.js index 5d21b44c..3719629b 100644 --- a/app/imports/api/icons/Icons.js +++ b/app/imports/api/icons/Icons.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; let Icons = new Mongo.Collection('icons'); -iconsSchema = new SimpleSchema({ +iconsSchema = schema({ name: { type: String, unique: true, diff --git a/app/imports/api/inventory/Containers.js b/app/imports/api/inventory/Containers.js index 25ea00be..86eb30f3 100644 --- a/app/imports/api/inventory/Containers.js +++ b/app/imports/api/inventory/Containers.js @@ -1,11 +1,12 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent} from "/imports/api/parenting.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; //set up the collection for containers let Containers = new Mongo.Collection("containers"); -let containerSchema = new SimpleSchema({ +let containerSchema = schema({ name: {type: String, optional: true, trim: false}, charId: {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, isCarried: {type: Boolean}, diff --git a/app/imports/api/inventory/Items.js b/app/imports/api/inventory/Items.js index 2332d26c..f041f440 100644 --- a/app/imports/api/inventory/Items.js +++ b/app/imports/api/inventory/Items.js @@ -1,10 +1,11 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import {makeParent, makeChild} from "/imports/api/parenting.js"; import ColorSchema from "/imports/api/creature/subSchemas/ColorSchema.js"; Items = new Mongo.Collection("items"); -itemSchema = new SimpleSchema({ +itemSchema = schema({ name: {type: String, optional: true, trim: false, defaultValue: "New Item"}, plural: {type: String, optional: true, trim: false}, description: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/library/Library.js b/app/imports/api/library/Library.js index 66cd9e78..9cf2ad84 100644 --- a/app/imports/api/library/Library.js +++ b/app/imports/api/library/Library.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; Libraries = new Mongo.Collection("library"); -librarySchema = new SimpleSchema({ +librarySchema = schema({ name: {type: String}, owner: {type: String, regEx: SimpleSchema.RegEx.Id}, readers: {type: Array, defaultValue: []}, diff --git a/app/imports/api/library/LibraryItems.js b/app/imports/api/library/LibraryItems.js index 9d4f937f..43694f4e 100644 --- a/app/imports/api/library/LibraryItems.js +++ b/app/imports/api/library/LibraryItems.js @@ -1,9 +1,10 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import libraryAttacksSchema from "/imports/api/library/"; LibraryItems = new Mongo.Collection("libraryItems"); -libraryItemsSchema = new SimpleSchema({ +libraryItemsSchema = schema({ libraryName:{type: String, optional: true, trim: false}, name: {type: String, defaultValue: "New Item", trim: false}, plural: {type: String, optional: true, trim: false}, diff --git a/app/imports/api/library/LibrarySpells.js b/app/imports/api/library/LibrarySpells.js index fc69d696..a456786a 100644 --- a/app/imports/api/library/LibrarySpells.js +++ b/app/imports/api/library/LibrarySpells.js @@ -1,6 +1,6 @@ LibrarySpells = new Mongo.Collection("librarySpells"); -Schemas.LibrarySpells = new SimpleSchema({ +Schemas.LibrarySpells = schema({ name: { type: String, trim: false, diff --git a/app/imports/api/library/subSchemas/LibraryAttacks.js b/app/imports/api/library/subSchemas/LibraryAttacks.js index 51088e88..3498ae61 100644 --- a/app/imports/api/library/subSchemas/LibraryAttacks.js +++ b/app/imports/api/library/subSchemas/LibraryAttacks.js @@ -1,6 +1,7 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; -libraryAttacksSchema = new SimpleSchema({ +libraryAttacksSchema = schema({ name: { type: String, defaultValue: "New Attack", diff --git a/app/imports/api/library/subSchemas/LibraryEffects.js b/app/imports/api/library/subSchemas/LibraryEffects.js index 1921515d..ec72b8e6 100644 --- a/app/imports/api/library/subSchemas/LibraryEffects.js +++ b/app/imports/api/library/subSchemas/LibraryEffects.js @@ -1,6 +1,7 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; -libraryEffectsSchema = new SimpleSchema({ +libraryEffectsSchema = schema({ name: { type: String, optional: true, //TODO make necessary if there is no owner diff --git a/app/imports/api/meta/Blacklist.js b/app/imports/api/meta/Blacklist.js index 221c64ec..bd34caad 100644 --- a/app/imports/api/meta/Blacklist.js +++ b/app/imports/api/meta/Blacklist.js @@ -1,6 +1,6 @@ Blacklist = new Mongo.Collection("blacklist"); -Schemas.Blacklist = new SimpleSchema({ +Schemas.Blacklist = schema({ userId: { type: String, }, diff --git a/app/imports/api/meta/ChangeLogs.js b/app/imports/api/meta/ChangeLogs.js index e56842a1..835b887f 100644 --- a/app/imports/api/meta/ChangeLogs.js +++ b/app/imports/api/meta/ChangeLogs.js @@ -1,6 +1,6 @@ ChangeLogs = new Mongo.Collection("changeLogs"); -Schemas.ChangeLog = new SimpleSchema({ +Schemas.ChangeLog = schema({ version: { type: String, }, diff --git a/app/imports/api/meta/Reports.js b/app/imports/api/meta/Reports.js index 940a12c2..a52d7e74 100644 --- a/app/imports/api/meta/Reports.js +++ b/app/imports/api/meta/Reports.js @@ -1,6 +1,6 @@ Reports = new Mongo.Collection("reports"); -Schemas.Report = new SimpleSchema({ +Schemas.Report = schema({ owner: { type: String, regEx: SimpleSchema.RegEx.Id, diff --git a/app/imports/api/parenting.js b/app/imports/api/parenting.js index 8c55300d..aff34587 100644 --- a/app/imports/api/parenting.js +++ b/app/imports/api/parenting.js @@ -1,8 +1,9 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { _ } from 'meteor/underscore'; -let childSchema = new SimpleSchema({ +let childSchema = schema({ parent: {type: Object}, "parent.collection": {type: String}, "parent.id": {type: String, regEx: SimpleSchema.RegEx.Id, index: 1}, @@ -175,7 +176,7 @@ let checkRemovePermission = function(collectionName, id, self){ const softRemoveNode = new ValidatedMethod({ name: "parenting.methods.softRemoveNode", - validate: new SimpleSchema({ + validate: schema({ collectionName: {type: String,}, id: { type: String, diff --git a/app/imports/api/schema.js b/app/imports/api/schema.js new file mode 100644 index 00000000..ea94ffcc --- /dev/null +++ b/app/imports/api/schema.js @@ -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); +} diff --git a/app/imports/api/users/Users.js b/app/imports/api/users/Users.js index a818962e..be3fdb0e 100644 --- a/app/imports/api/users/Users.js +++ b/app/imports/api/users/Users.js @@ -1,11 +1,11 @@ -Schemas.UserProfile = new SimpleSchema({ +Schemas.UserProfile = schema({ username: { type: String, optional: true, }, }); -Schemas.User = new SimpleSchema({ +Schemas.User = schema({ username: { type: String, optional: true, @@ -85,7 +85,7 @@ Meteor.users.gnerateApiKey = new ValidatedMethod({ Meteor.users.sendVerificationEmail = new ValidatedMethod({ name: "Users.methods.sendVerificationEmail", - validate: new SimpleSchema({ + validate: schema({ userId:{ type: String, optional: true, diff --git a/app/sharedMain.js b/app/sharedMain.js index 1bf2e900..08f51eb8 100644 --- a/app/sharedMain.js +++ b/app/sharedMain.js @@ -1,4 +1,5 @@ import SimpleSchema from 'simpl-schema'; +import schema from '/imports/api/schema.js'; if (Meteor.isDevelopment){ SimpleSchema.debug = true