Example #1
0
    return new Promise((resolve, reject) => {
        Poems.update({
                $and: [
                    {
                        _id: id
                    },
                    {
                        messages: {
                            $elemMatch: {
                                isApproved: false,
                                isUserResponded: false,
                                userId: user._id
                            }
                        }
                    },
                    {
                        'creator.userId': user._id
                    },
                    {
                        messagesCount: 0,
                    }
                ]
            },
            setter,
            Meteor.bindEnvironment((err, id) => {
                if (err) {
                    return reject(err);
                }

                return resolve(id);
            })
        )
    })
Example #2
0
    return new Promise((resolve, reject) => {
        Poems.insert({
                creator: {
                    username: creator.username,
                    userId: creator._id
                },
                opponents: [
                    {
                        username: opponent.username,
                        userId: opponent._id
                    }
                ],
                messages: [],
                rate: 0,
                comments: [],
                nextUser: {
                    username: creator.username,
                    userId: creator._id
                },
                messagesCount: 0,
                isClosed: false,
                created: new Date()
            },
            Meteor.bindEnvironment((err, id) => {
                if (err) {
                    return reject(err);
                }

                resolve(id);
            })
        )
    })
Example #3
0
    return new Promise((resolve, reject) => {
        Meteor.users.update(
            {
                opponents: {
                    $elemMatch: {
                        poemId: id
                    }
                }
            },
            {
                $pull: {
                    opponents: {
                        poemId: id
                    }
                }
            },
            {
                multi: true
            }, Meteor.bindEnvironment((err, id) => {
                if (err || !Boolean(id)) {
                    return reject(err);
                }

                return resolve(id);
            })
        );
    })
Example #4
0
    return new Promise((resolve, reject) => Poems.update({
        $and: [
            {
                _id: data.poemId
            },
            {
                'nextUser.userId': data.userId
            },
            {
                'nextUser.username': data.username
            },
            {
                isClosed: false
            },
            {
                messagesCount: {
                    $lt: 4
                }
            },
            {
                $or : [
                    {
                        'creator.userId': data.userId
                    },
                    {
                        opponents: {
                            $elemMatch: {
                                userId: data.userId
                            }
                        }
                    }
                ]
            }
        ]
    }, {
        $push: {
            messages: {
                username: data.username,
                string: data.string,
                userId: data.userId,
                date: new Date(),
                isApproved: false,
                isUserResponded: false
            }
        }
    }, Meteor.bindEnvironment((err, id) => {
        if (err) {
            return reject(err);
        }

        return resolve(id);
    })));
Example #5
0
    return new Promise ((resolve, reject) => {
        return Poems.update({
                _id: id
            },
            {
                $set: {
                    isClosed: true
                }
            }, Meteor.bindEnvironment((err, id) => {
                if (err || !Boolean(id)) {
                    return reject(err);
                }

                return resolve(id);
            })
        );
    })
Example #6
0
    return new Promise((resolve, reject) => {
        Meteor.users.update(
            {
                _id: userId
            },
            {
                $push: {
                    opponents: {
                        username: opponent.username,
                        userId: opponent.userId,
                        poemId: opponent.poemId
                    }
                }
            },
            Meteor.bindEnvironment((err, id) => {
                if (err || !Boolean(id)) {
                    return reject(err);
                }

                return resolve(id);
            })
        )
    })