wiwa1978
wiwa1978

Reputation: 2687

Meteor audit-argument-checks

I have a Meteor project where I'm using audit-argument-check. I'm getting an error message

Error: Did not check() all arguments during publisher 'document

I'm know this is related the audit-argument-check not being able to check all arguments. But as far as I'm concerned, I checked all of them. Concrete, I have defined a collection 'documents' and attached a SimpleSchema. As part of iron-router, I have the following:

Router.route('customerDocumentShow', {
    template: 'customerDocumentShow',
    path: 'customer/documents/:_id',
    waitOn: function () {
      return Meteor.subscribe('document', this.params._id);
    },
    data: function () {
      return Documents.findOne(this.params._id);
    }
  });

So I'm passing only the documentId (this.params._id). On the server, I have defined a method:

Meteor.methods({
  documentsReadMethod: function(documentId){
    check(documentId, String);

    var documentItem = Document.findOne(argument);

    if (!documentItem) {
      throw new Meteor.Error(500, 'Error 500: Not Found', 'No documents found.');
    }

    return documentItem;
  }
});

So I'm checking to documentId in the server method. So not sure why I'm getting this error message.

Note: One thing I'm not entirely sure about though is how I need to call this method (right now, it's documentsReadMethod_. I'm not explicitly calling (on the client):

Meteor.call(documentsReadMethod, this.params_id);

as I'm using autoform, collection2 and simpleschema. I've been spending the entire weekend, but have no clue. Any idea's ?

Note: the code is on github: https://github.com/wymedia/meteor-starter-base

Upvotes: 1

Views: 597

Answers (2)

Didier68
Didier68

Reputation: 1323

I have the same problem with another tuto !

Answer found at check is not defined in meteor.js : since Meteor v1.2, you have to add this package:

$ meteor add check

Upvotes: 0

acemtp
acemtp

Reputation: 3019

The problem is in the publish. You didn't check the id here:

https://github.com/wymedia/meteor-starter-base/blob/master/server/publications/documents.js#L16

Just add check(id, String); line 16 and it should work.

Upvotes: 1

Related Questions