diff --git a/app/imports/api/creature/actions/castSpellWithSlot.js b/app/imports/api/creature/actions/castSpellWithSlot.js index 1a84e84c..c0ccfc31 100644 --- a/app/imports/api/creature/actions/castSpellWithSlot.js +++ b/app/imports/api/creature/actions/castSpellWithSlot.js @@ -2,9 +2,9 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import { doActionWork } from '/imports/api/creature/actions/doAction.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; diff --git a/app/imports/api/creature/actions/doAction.js b/app/imports/api/creature/actions/doAction.js index 2b8209b5..fb8d89fd 100644 --- a/app/imports/api/creature/actions/doAction.js +++ b/app/imports/api/creature/actions/doAction.js @@ -2,10 +2,10 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { CreatureLogSchema, insertCreatureLogWork } from '/imports/api/creature/log/CreatureLogs.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import { recomputeCreatureByDoc } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import { nodesToTree } from '/imports/api/parenting/parenting.js'; import applyProperties from '/imports/api/creature/actions/applyProperties.js'; diff --git a/app/imports/api/creature/actions/doCheck.js b/app/imports/api/creature/actions/doCheck.js index 76e421a3..410462a7 100644 --- a/app/imports/api/creature/actions/doCheck.js +++ b/app/imports/api/creature/actions/doCheck.js @@ -1,8 +1,8 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import Creatures from '/imports/api/creature/Creatures.js'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import roll from '/imports/parser/roll.js'; const doCheck = new ValidatedMethod({ diff --git a/app/imports/api/creature/archive/methods/archiveCreatures.js b/app/imports/api/creature/archive/methods/archiveCreatures.js index a63c6563..bc401d61 100644 --- a/app/imports/api/creature/archive/methods/archiveCreatures.js +++ b/app/imports/api/creature/archive/methods/archiveCreatures.js @@ -1,12 +1,12 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import { assertOwnership } from '/imports/api/creature/creaturePermissions.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import { assertOwnership } from '/imports/api/creature/creatures/creaturePermissions.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import Experiences from '/imports/api/creature/experience/Experiences.js'; -import { removeCreatureWork } from '/imports/api/creature/removeCreature.js'; +import { removeCreatureWork } from '/imports/api/creature/creatures/methods/removeCreature.js'; import ArchivedCreatures from '/imports/api/creature/archive/ArchivedCreatures.js'; function archiveCreature(creatureId){ diff --git a/app/imports/api/creature/archive/methods/restoreCreatures.js b/app/imports/api/creature/archive/methods/restoreCreatures.js index 6a84ccf8..e27093d8 100644 --- a/app/imports/api/creature/archive/methods/restoreCreatures.js +++ b/app/imports/api/creature/archive/methods/restoreCreatures.js @@ -2,7 +2,7 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import { assertOwnership } from '/imports/api/sharing/sharingPermissions.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import Experiences from '/imports/api/creature/experience/Experiences.js'; diff --git a/app/imports/api/creature/creatureComputation.test.js b/app/imports/api/creature/computation/creatureComputation.test.js similarity index 100% rename from app/imports/api/creature/creatureComputation.test.js rename to app/imports/api/creature/computation/creatureComputation.test.js diff --git a/app/imports/api/creature/computation/engine/writeCreatureVariables.js b/app/imports/api/creature/computation/engine/writeCreatureVariables.js index 11749005..c8ccb7d8 100644 --- a/app/imports/api/creature/computation/engine/writeCreatureVariables.js +++ b/app/imports/api/creature/computation/engine/writeCreatureVariables.js @@ -1,5 +1,5 @@ import { pick, forOwn } from 'lodash'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import VERSION from '/imports/constants/VERSION.js'; export default function writeCreatureVariables(memo, creatureId, fullRecompute = true) { diff --git a/app/imports/api/creature/computation/methods/recomputeCreature.js b/app/imports/api/creature/computation/methods/recomputeCreature.js index 74e78ba5..781304ae 100644 --- a/app/imports/api/creature/computation/methods/recomputeCreature.js +++ b/app/imports/api/creature/computation/methods/recomputeCreature.js @@ -1,7 +1,7 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import ComputationMemo from '/imports/api/creature/computation/engine/ComputationMemo.js'; import getComputationProperties from '/imports/api/creature/computation/engine/getComputationProperties.js'; import computeMemo from '/imports/api/creature/computation/engine/computeMemo.js'; @@ -11,7 +11,7 @@ import { recomputeDamageMultipliersById } from '/imports/api/creature/denormalis import recomputeSlotFullness from '/imports/api/creature/denormalise/recomputeSlotFullness.js'; import getRootCreatureAncestor from '/imports/api/creature/creatureProperties/getRootCreatureAncestor.js'; import getDependentProperties from '/imports/api/creature/computation/engine/getDependentProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import recomputeInactiveProperties from '/imports/api/creature/denormalise/recomputeInactiveProperties.js'; export const recomputeCreature = new ValidatedMethod({ diff --git a/app/imports/api/creature/creatureProperties/getRootCreatureAncestor.js b/app/imports/api/creature/creatureProperties/getRootCreatureAncestor.js index d1768254..c4e2c862 100644 --- a/app/imports/api/creature/creatureProperties/getRootCreatureAncestor.js +++ b/app/imports/api/creature/creatureProperties/getRootCreatureAncestor.js @@ -1,4 +1,4 @@ -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; export default function getRootCreatureAncestor(property){ return Creatures.findOne(property.ancestors[0].id); diff --git a/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js b/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js index 302fc8ce..2a67299c 100644 --- a/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js +++ b/app/imports/api/creature/creatureProperties/methods/damagePropertiesByName.js @@ -2,7 +2,7 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; import { recomputePropertyDependencies } from '/imports/api/creature/computation/methods/recomputeCreature.js'; diff --git a/app/imports/api/creature/creatureProperties/methods/dealDamage.js b/app/imports/api/creature/creatureProperties/methods/dealDamage.js index 270221b9..ea3f3607 100644 --- a/app/imports/api/creature/creatureProperties/methods/dealDamage.js +++ b/app/imports/api/creature/creatureProperties/methods/dealDamage.js @@ -2,7 +2,7 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { assertEditPermission } from '/imports/api/sharing/sharingPermissions.js'; import { damagePropertyWork } from '/imports/api/creature/creatureProperties/methods/damageProperty.js'; import { recomputeCreatureByDependencies } from '/imports/api/creature/computation/methods/recomputeCreature.js'; diff --git a/app/imports/api/creature/Creatures.js b/app/imports/api/creature/creatures/Creatures.js similarity index 54% rename from app/imports/api/creature/Creatures.js rename to app/imports/api/creature/creatures/Creatures.js index 422d2f7c..8863dbb0 100644 --- a/app/imports/api/creature/Creatures.js +++ b/app/imports/api/creature/creatures/Creatures.js @@ -1,16 +1,7 @@ -import { ValidatedMethod } from 'meteor/mdg:validated-method'; -import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; import deathSaveSchema from '/imports/api/properties/subSchemas/DeathSavesSchema.js' import ColorSchema from '/imports/api/properties/subSchemas/ColorSchema.js'; import SharingSchema from '/imports/api/sharing/SharingSchema.js'; -import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import {assertEditPermission} from '/imports/api/sharing/sharingPermissions.js'; -import { assertUserHasPaidBenefits } from '/imports/api/users/patreon/tiers.js'; -import defaultCharacterProperties from '/imports/api/creature/defaultCharacterProperties.js'; -import insertPropertyFromLibraryNode from '/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js'; -import '/imports/api/creature/removeCreature.js'; -import '/imports/api/creature/restCreature.js'; //set up the collection for creatures let Creatures = new Mongo.Collection('creatures'); @@ -176,92 +167,8 @@ CreatureSchema.extend(SharingSchema); Creatures.attachSchema(CreatureSchema); -const insertCreature = new ValidatedMethod({ - name: 'creatures.insertCreature', - - validate: null, - - mixins: [RateLimiterMixin], - rateLimit: { - numRequests: 5, - timeInterval: 5000, - }, - - run() { - if (!this.userId) { - throw new Meteor.Error('Creatures.methods.insert.denied', - 'You need to be logged in to insert a creature'); - } - assertUserHasPaidBenefits(this.userId); - - // Create the creature document - let creatureId = Creatures.insert({ - owner: this.userId, - }); - - // Insert the default properties - // Not batchInsert because we want the properties cleaned by the schema - let baseId; - defaultCharacterProperties(creatureId).forEach(prop => { - let id = CreatureProperties.insert(prop); - if (prop.name === 'Ruleset'){ - baseId = id; - } - }); - - if (Meteor.isServer){ - // Insert the 5e ruleset as the default base - insertPropertyFromLibraryNode.call({ - nodeId: 'iHbhfcg3AL5isSWbw', - parentRef: {id: baseId, collection: 'creatureProperties'}, - order: 0.5, - }); - } - - this.unblock(); - return creatureId; - }, -}); - -const updateCreature = new ValidatedMethod({ - name: 'creatures.update', - validate({_id, path}){ - if (!_id) return false; - // Allowed fields - let allowedFields = [ - 'name', - 'alignment', - 'gender', - 'picture', - 'avatarPicture', - 'color', - 'settings', - ]; - if (!allowedFields.includes(path[0])){ - throw new Meteor.Error('Creatures.methods.update.denied', - 'This field can\'t be updated using this method'); - } - }, - mixins: [RateLimiterMixin], - rateLimit: { - numRequests: 5, - timeInterval: 5000, - }, - run({_id, path, value}) { - let creature = Creatures.findOne(_id); - assertEditPermission(creature, this.userId); - if (value === undefined || value === null){ - Creatures.update(_id, { - $unset: {[path.join('.')]: 1}, - }); - } else { - Creatures.update(_id, { - $set: {[path.join('.')]: value}, - }); - } - }, -}); +import '/imports/api/creature/creatures/methods/index.js'; export default Creatures; -export { CreatureSchema, insertCreature, updateCreature }; +export { CreatureSchema }; diff --git a/app/imports/api/creature/creaturePermissions.js b/app/imports/api/creature/creatures/creaturePermissions.js similarity index 92% rename from app/imports/api/creature/creaturePermissions.js rename to app/imports/api/creature/creatures/creaturePermissions.js index 8496d519..380a5258 100644 --- a/app/imports/api/creature/creaturePermissions.js +++ b/app/imports/api/creature/creatures/creaturePermissions.js @@ -1,4 +1,4 @@ -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { assertEditPermission as editPermission, assertViewPermission as viewPermission, diff --git a/app/imports/api/creature/defaultCharacterProperties.js b/app/imports/api/creature/creatures/defaultCharacterProperties.js similarity index 100% rename from app/imports/api/creature/defaultCharacterProperties.js rename to app/imports/api/creature/creatures/defaultCharacterProperties.js diff --git a/app/imports/api/creature/creatures/methods/index.js b/app/imports/api/creature/creatures/methods/index.js new file mode 100644 index 00000000..42e9c99e --- /dev/null +++ b/app/imports/api/creature/creatures/methods/index.js @@ -0,0 +1,4 @@ +import '/imports/api/creature/creatures/methods/insertCreature.js'; +import '/imports/api/creature/creatures/methods/removeCreature.js'; +import '/imports/api/creature/creatures/methods/restCreature.js'; +import '/imports/api/creature/creatures/methods/updateCreature.js'; diff --git a/app/imports/api/creature/creatures/methods/insertCreature.js b/app/imports/api/creature/creatures/methods/insertCreature.js new file mode 100644 index 00000000..c0cc80c9 --- /dev/null +++ b/app/imports/api/creature/creatures/methods/insertCreature.js @@ -0,0 +1,56 @@ +import { ValidatedMethod } from 'meteor/mdg:validated-method'; +import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; +import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; +import { assertUserHasPaidBenefits } from '/imports/api/users/patreon/tiers.js'; +import defaultCharacterProperties from '/imports/api/creature/creatures/defaultCharacterProperties.js'; +import insertPropertyFromLibraryNode from '/imports/api/creature/creatureProperties/methods/insertPropertyFromLibraryNode.js'; + +const insertCreature = new ValidatedMethod({ + + name: 'creatures.insertCreature', + + validate: null, + + mixins: [RateLimiterMixin], + rateLimit: { + numRequests: 5, + timeInterval: 5000, + }, + + run() { + if (!this.userId) { + throw new Meteor.Error('Creatures.methods.insert.denied', + 'You need to be logged in to insert a creature'); + } + assertUserHasPaidBenefits(this.userId); + + // Create the creature document + let creatureId = Creatures.insert({ + owner: this.userId, + }); + + // Insert the default properties + // Not batchInsert because we want the properties cleaned by the schema + let baseId; + defaultCharacterProperties(creatureId).forEach(prop => { + let id = CreatureProperties.insert(prop); + if (prop.name === 'Ruleset'){ + baseId = id; + } + }); + + if (Meteor.isServer){ + // Insert the 5e ruleset as the default base + insertPropertyFromLibraryNode.call({ + nodeId: 'iHbhfcg3AL5isSWbw', + parentRef: {id: baseId, collection: 'creatureProperties'}, + order: 0.5, + }); + } + + return creatureId; + }, +}); + +export default insertCreature; diff --git a/app/imports/api/creature/removeCreature.js b/app/imports/api/creature/creatures/methods/removeCreature.js similarity index 88% rename from app/imports/api/creature/removeCreature.js rename to app/imports/api/creature/creatures/methods/removeCreature.js index c8542343..66eaa0b4 100644 --- a/app/imports/api/creature/removeCreature.js +++ b/app/imports/api/creature/creatures/methods/removeCreature.js @@ -1,8 +1,8 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import { assertOwnership } from '/imports/api/creature/creaturePermissions.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import { assertOwnership } from '/imports/api/creature/creatures/creaturePermissions.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; import Experiences from '/imports/api/creature/experience/Experiences.js'; diff --git a/app/imports/api/creature/restCreature.js b/app/imports/api/creature/creatures/methods/restCreature.js similarity index 97% rename from app/imports/api/creature/restCreature.js rename to app/imports/api/creature/creatures/methods/restCreature.js index c4c814ed..a0464a00 100644 --- a/app/imports/api/creature/restCreature.js +++ b/app/imports/api/creature/creatures/methods/restCreature.js @@ -1,9 +1,9 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; const restCreature = new ValidatedMethod({ diff --git a/app/imports/api/creature/creatures/methods/updateCreature.js b/app/imports/api/creature/creatures/methods/updateCreature.js new file mode 100644 index 00000000..6530ccae --- /dev/null +++ b/app/imports/api/creature/creatures/methods/updateCreature.js @@ -0,0 +1,45 @@ +import { ValidatedMethod } from 'meteor/mdg:validated-method'; +import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; +import {assertEditPermission} from '/imports/api/sharing/sharingPermissions.js'; + +const updateCreature = new ValidatedMethod({ + name: 'creatures.update', + validate({_id, path}){ + if (!_id) return false; + // Allowed fields + let allowedFields = [ + 'name', + 'alignment', + 'gender', + 'picture', + 'avatarPicture', + 'color', + 'settings', + ]; + if (!allowedFields.includes(path[0])){ + throw new Meteor.Error('Creatures.methods.update.denied', + 'This field can\'t be updated using this method'); + } + }, + mixins: [RateLimiterMixin], + rateLimit: { + numRequests: 5, + timeInterval: 5000, + }, + run({_id, path, value}) { + let creature = Creatures.findOne(_id); + assertEditPermission(creature, this.userId); + if (value === undefined || value === null){ + Creatures.update(_id, { + $unset: {[path.join('.')]: 1}, + }); + } else { + Creatures.update(_id, { + $set: {[path.join('.')]: value}, + }); + } + }, +}); + +export default updateCreature; diff --git a/app/imports/api/creature/denormalise/recomputeDamageMultipliers.js b/app/imports/api/creature/denormalise/recomputeDamageMultipliers.js index ccaed171..b31b1ece 100644 --- a/app/imports/api/creature/denormalise/recomputeDamageMultipliers.js +++ b/app/imports/api/creature/denormalise/recomputeDamageMultipliers.js @@ -1,8 +1,8 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import SimpleSchema from 'simpl-schema'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; export const recomputeDamageMultipliers = new ValidatedMethod({ diff --git a/app/imports/api/creature/denormalise/recomputeInventory.js b/app/imports/api/creature/denormalise/recomputeInventory.js index dd7f7237..ae3871ec 100644 --- a/app/imports/api/creature/denormalise/recomputeInventory.js +++ b/app/imports/api/creature/denormalise/recomputeInventory.js @@ -1,5 +1,5 @@ import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { nodesToTree } from '/imports/api/parenting/parenting.js'; export default function recomputeInventory(creatureId){ diff --git a/app/imports/api/creature/experience/Experiences.js b/app/imports/api/creature/experience/Experiences.js index 3584bc93..fe16563f 100644 --- a/app/imports/api/creature/experience/Experiences.js +++ b/app/imports/api/creature/experience/Experiences.js @@ -2,8 +2,8 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import { getUserTier } from '/imports/api/users/patreon/tiers.js'; -import { assertEditPermission } from '/imports/api/creature/creaturePermissions.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import { assertEditPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; let Experiences = new Mongo.Collection('experiences'); diff --git a/app/imports/api/creature/log/CreatureLogs.js b/app/imports/api/creature/log/CreatureLogs.js index aec3a4c8..62489cde 100644 --- a/app/imports/api/creature/log/CreatureLogs.js +++ b/app/imports/api/creature/log/CreatureLogs.js @@ -1,9 +1,9 @@ import SimpleSchema from 'simpl-schema'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import LogContentSchema from '/imports/api/creature/log/LogContentSchema.js'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import {assertEditPermission} from '/imports/api/creature/creaturePermissions.js'; +import {assertEditPermission} from '/imports/api/creature/creatures/creaturePermissions.js'; import { parse, CompilationContext, diff --git a/app/imports/api/creature/mixins/creaturePermissionMixin.js b/app/imports/api/creature/mixins/creaturePermissionMixin.js index 887879b2..18b96fbd 100644 --- a/app/imports/api/creature/mixins/creaturePermissionMixin.js +++ b/app/imports/api/creature/mixins/creaturePermissionMixin.js @@ -2,7 +2,7 @@ import { assertEditPermission, assertViewPermission, assertOwnership, -} from '/imports/api/creature/creaturePermissions.js'; +} from '/imports/api/creature/creatures/creaturePermissions.js'; // Checks if the method has permission to run on the document. If the document // has a charId, that creature is checked, otherwise if it has an _id and the diff --git a/app/imports/api/tabletop/Messages.js b/app/imports/api/tabletop/Messages.js index badf61e6..b2dc0280 100644 --- a/app/imports/api/tabletop/Messages.js +++ b/app/imports/api/tabletop/Messages.js @@ -1,7 +1,7 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import Tabletops, { assertUserInTabletop } from '/imports/api/tabletop/Tabletops.js'; let Messages = new Mongo.Collection('messages'); diff --git a/app/imports/api/tabletop/Tabletops.js b/app/imports/api/tabletop/Tabletops.js index 29c3f04d..cf991b55 100644 --- a/app/imports/api/tabletop/Tabletops.js +++ b/app/imports/api/tabletop/Tabletops.js @@ -2,7 +2,7 @@ import SimpleSchema from 'simpl-schema'; import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import { assertUserHasPaidBenefits } from '/imports/api/users/patreon/tiers.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; let Tabletops = new Mongo.Collection('tabletops'); diff --git a/app/imports/api/users/deleteMyAccount.js b/app/imports/api/users/deleteMyAccount.js index 6a5aa8c1..d887b8c0 100644 --- a/app/imports/api/users/deleteMyAccount.js +++ b/app/imports/api/users/deleteMyAccount.js @@ -1,8 +1,8 @@ import { ValidatedMethod } from 'meteor/mdg:validated-method'; import { RateLimiterMixin } from 'ddp-rate-limiter-mixin'; import Libraries, {removeLibaryWork} from '/imports/api/library/Libraries.js'; -import Creatures from '/imports/api/creature/Creatures.js'; -import {removeCreatureWork} from '/imports/api/creature/removeCreature.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; +import {removeCreatureWork} from '/imports/api/creature/creatures/methods/removeCreature.js'; Meteor.users.deleteMyAccount = new ValidatedMethod({ name: 'users.deleteMyAccount', diff --git a/app/imports/server/publications/characterList.js b/app/imports/server/publications/characterList.js index 3ff5dbf1..660d10f2 100644 --- a/app/imports/server/publications/characterList.js +++ b/app/imports/server/publications/characterList.js @@ -1,4 +1,4 @@ -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureFolders from '/imports/api/creature/creatureFolders/CreatureFolders.js'; Meteor.publish('characterList', function(){ diff --git a/app/imports/server/publications/experiences.js b/app/imports/server/publications/experiences.js index ef847bd2..ca01450c 100644 --- a/app/imports/server/publications/experiences.js +++ b/app/imports/server/publications/experiences.js @@ -1,7 +1,7 @@ import SimpleSchema from 'simpl-schema'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import Experiences from '/imports/api/creature/experience/Experiences.js'; -import { assertViewPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertViewPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; let schema = new SimpleSchema({ creatureId: { diff --git a/app/imports/server/publications/ownedDocuments.js b/app/imports/server/publications/ownedDocuments.js index 317b4e83..2683977a 100644 --- a/app/imports/server/publications/ownedDocuments.js +++ b/app/imports/server/publications/ownedDocuments.js @@ -1,4 +1,4 @@ -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import Libraries from '/imports/api/library/Libraries.js'; Meteor.publish('ownedDocuments', function(){ diff --git a/app/imports/server/publications/singleCharacter.js b/app/imports/server/publications/singleCharacter.js index 1ad7027b..105ffed2 100644 --- a/app/imports/server/publications/singleCharacter.js +++ b/app/imports/server/publications/singleCharacter.js @@ -1,8 +1,8 @@ import SimpleSchema from 'simpl-schema'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import CreatureProperties from '/imports/api/creature/creatureProperties/CreatureProperties.js'; import CreatureLogs from '/imports/api/creature/log/CreatureLogs.js'; -import { assertViewPermission } from '/imports/api/creature/creaturePermissions.js'; +import { assertViewPermission } from '/imports/api/creature/creatures/creaturePermissions.js'; import recomputeInvetory from '/imports/api/creature/denormalise/recomputeInventory.js'; import { recomputeCreatureById } from '/imports/api/creature/computation/methods/recomputeCreature.js'; import VERSION from '/imports/constants/VERSION.js'; diff --git a/app/imports/server/publications/tabletops.js b/app/imports/server/publications/tabletops.js index b6fc4ea1..30345f79 100644 --- a/app/imports/server/publications/tabletops.js +++ b/app/imports/server/publications/tabletops.js @@ -1,5 +1,5 @@ import Tabletops from '/imports/api/tabletop/Tabletops.js'; -import Creatures from '/imports/api/creature/Creatures.js'; +import Creatures from '/imports/api/creature/creatures/Creatures.js'; import Messages from '/imports/api/tabletop/Messages.js'; Meteor.publish('tabletops', function(){ diff --git a/app/imports/ui/creature/CreatureFormDialog.vue b/app/imports/ui/creature/CreatureFormDialog.vue index 05ad4239..7f680da9 100644 --- a/app/imports/ui/creature/CreatureFormDialog.vue +++ b/app/imports/ui/creature/CreatureFormDialog.vue @@ -29,11 +29,11 @@