Vulcan/packages/vulcan-subscribe/lib/custom_fields.js

106 lines
2.1 KiB
JavaScript
Raw Normal View History

2017-03-23 16:27:59 +09:00
import Users from "meteor/vulcan:users";
2016-07-27 10:38:43 +02:00
// note: leverage weak dependencies on packages
2017-03-23 16:27:59 +09:00
const Posts = Package['vulcan:posts'] ? Package['vulcan:posts'].default : null;
const Categories = Package['vulcan:categories'] ? Package['vulcan:categories'].default : null;
2016-08-07 19:26:08 +09:00
Users.addField([
{
fieldName: 'subscribedItems',
2016-08-07 19:26:08 +09:00
fieldSchema: {
type: Object,
optional: true,
blackbox: true,
hidden: true, // never show this
2016-08-07 19:26:08 +09:00
}
},
{
fieldName: 'subscribers',
2016-08-07 19:26:08 +09:00
fieldSchema: {
type: Array,
optional: true,
hidden: true, // never show this,
}
},
{
fieldName: 'subscribers.$',
fieldSchema: {
type: String,
2016-08-07 19:26:08 +09:00
optional: true,
hidden: true, // never show this,
2016-08-07 19:26:08 +09:00
}
},
{
fieldName: 'subscriberCount',
2016-08-07 19:26:08 +09:00
fieldSchema: {
type: Number,
optional: true,
hidden: true, // never show this
2016-07-27 10:38:43 +02:00
}
}
2016-08-07 19:26:08 +09:00
]);
2016-07-27 10:38:43 +02:00
2017-03-23 16:27:59 +09:00
// check if vulcan:posts exists, if yes, add the custom fields to Posts
if (!!Posts) {
Posts.addField([
{
fieldName: 'subscribers',
fieldSchema: {
type: Array,
optional: true,
hidden: true, // never show this
}
},
{
fieldName: 'subscribers.$',
fieldSchema: {
type: String,
optional: true,
hidden: true, // never show this
2016-07-27 10:38:43 +02:00
}
},
{
fieldName: 'subscriberCount',
fieldSchema: {
type: Number,
optional: true,
hidden: true, // never show this
2016-07-27 18:00:40 +02:00
}
2016-07-27 10:38:43 +02:00
}
]);
2016-07-27 10:38:43 +02:00
}
2017-03-23 16:27:59 +09:00
// check if vulcan:categories exists, if yes, add the custom fields to Categories
if (!!Categories) {
Categories.addField([
{
fieldName: 'subscribers',
fieldSchema: {
type: Array,
optional: true,
hidden: true, // never show this
}
},
{
fieldName: 'subscribers.$',
fieldSchema: {
type: String,
optional: true,
hidden: true, // never show this
}
},
{
fieldName: 'subscriberCount',
fieldSchema: {
type: Number,
optional: true,
hidden: true, // never show this
}
}
]);
}