1

私は流星の表形式を使用しており、複合アドオンを公開しています。

ユーザー ロールに基づいてユーザー データをパブリッシュ/サブスクライブしたいのですが、ユーザー データはクライアントに送信されますが、表形式のアドオンによって表示されません (管理者ロールの場合のみ、スーパー管理者ロールの場合は正常に表示されます。以下のコードを参照してください)。

私の公開コード:

Meteor.publishComposite('tabular_users', function (tableName, ids, fields) {

    this.unblock(); 

    return {
        find: function () {
            if (Roles.userIsInRole(this.userId, ['super-admin'], 'admin')) {

                return Meteor.users.find({_id: {$in: ids}}, {fields: fields});

            } else if (Roles.userIsInRole(this.userId, ['admin'], 'property-managers')) {

                return Meteor.users.find({ "$and" : [
                    { _id: { $in: ids } },
                    { "profile.property_manager_id": Meteor.users.findOne(this.userId).profile.property_manager_id }
                ]}, {fields: fields});

            } else {

                this.stop();
                return;

            }

        },
        children: [
            {
                find: function(user) {
                    return PropertyManagers.find(
                        { _id: user.profile.property_manager_id }
                    );
                }
            }
        ]
    };
});
4

0 に答える 0