Files
DiceCloud/app/imports/api/creature/parenting/ChildSchema.js
2019-04-15 12:09:37 +02:00

47 lines
787 B
JavaScript

import SimpleSchema from 'simpl-schema';
import schema from '/imports/api/schema.js';
const inhertitedFieldsSchema = new SimpleSchema({
name: {
type: String,
optional: true,
},
enabled: {
type: Boolean,
optional: true,
index: 1,
},
});
const RefSchema = new SimpleSchema({
id: {
type: String,
regEx: SimpleSchema.RegEx.Id,
index: 1
},
collection: {
type: String
},
});
RefSchema.extend(inhertitedFieldsSchema);
let ChildSchema = schema({
parent: {
type: RefSchema,
optional: true,
},
ancestors: {
type: Array,
defaultValue: [],
},
'ancestors.$': {
type: RefSchema,
},
});
const inheritedFields = new Set(inhertitedFieldsSchema.objectKeys());
export default ChildSchema;
export { inheritedFields };