diff --git a/app/models/Achievement.coffee b/app/models/Achievement.coffee new file mode 100644 index 000000000..2240345c7 --- /dev/null +++ b/app/models/Achievement.coffee @@ -0,0 +1,6 @@ +CocoModel = require './CocoModel' + +module.exports = class Achievement extends CocoModel + @className: 'Achievement' + @schema: require 'schemas/models/achievement' + urlRoot: '/db/achievement' \ No newline at end of file diff --git a/app/views/kinds/SearchView.coffee b/app/views/kinds/SearchView.coffee index 5e1501881..c8f0bc077 100644 --- a/app/views/kinds/SearchView.coffee +++ b/app/views/kinds/SearchView.coffee @@ -31,6 +31,7 @@ module.exports = class SearchView extends View 'shown.bs.modal #new-model-modal': 'focusOnName' 'hidden.bs.modal #new-model-modal': 'onModalHidden' + constructor: (options) -> @runSearch = _.debounce(@runSearch, 500) super options diff --git a/server/achievements/Achievement.coffee b/server/achievements/Achievement.coffee index b1a8d0b4d..548f131e7 100644 --- a/server/achievements/Achievement.coffee +++ b/server/achievements/Achievement.coffee @@ -1,4 +1,5 @@ mongoose = require('mongoose') +plugins = require('../plugins/plugins') jsonschema = require('../../app/schemas/models/achievement') # `pre` and `post` are not called for update operations executed directly on the database, @@ -10,4 +11,7 @@ AchievementSchema = new mongoose.Schema({ query: Object }, {strict: false}) +AchievementSchema.plugin(plugins.SearchablePlugin, {searchable: ['name']}) +AchievementSchema.plugin(plugins.NamedPlugin) + module.exports = Achievement = mongoose.model('Achievement', AchievementSchema) \ No newline at end of file diff --git a/server/commons/Handler.coffee b/server/commons/Handler.coffee index 82c5d45c3..4fa2da2d9 100644 --- a/server/commons/Handler.coffee +++ b/server/commons/Handler.coffee @@ -153,10 +153,10 @@ module.exports = class Handler return @sendDatabaseError(res, err) if err @sendSuccess(res, @formatEntity(req, document)) + # project=true or project=name,description,slug for example search: (req, res) -> unless @modelClass.schema.uses_coco_search return @sendNotFoundError(res) - term = req.query.term matchedObjects = [] filters = [{filter: {index: true}}]