diff --git a/server/api/documents.js b/server/api/documents.js index 6baf34665..6d13304b6 100644 --- a/server/api/documents.js +++ b/server/api/documents.js @@ -605,13 +605,17 @@ router.post("documents.search", auth(), pagination(), async (ctx) => { }) ); - SearchQuery.create({ - userId: user.id, - teamId: user.teamId, - source: "app", - query, - results: totalCount, - }); + // When requesting subsequent pages of search results we don't want to record + // duplicate search query records + if (offset === 0) { + SearchQuery.create({ + userId: user.id, + teamId: user.teamId, + source: ctx.state.authType, + query, + results: totalCount, + }); + } const policies = presentPolicies(user, documents); diff --git a/server/migrations/20200915010511-create-search-queries.js b/server/migrations/20200915010511-create-search-queries.js index f97abcfa4..ac5e29d09 100644 --- a/server/migrations/20200915010511-create-search-queries.js +++ b/server/migrations/20200915010511-create-search-queries.js @@ -20,7 +20,7 @@ module.exports = { }, }, source: { - type: Sequelize.ENUM("slack", "app"), + type: Sequelize.ENUM("slack", "app", "api"), allowNull: false, }, query: { diff --git a/server/models/SearchQuery.js b/server/models/SearchQuery.js index d6abc0ff4..cd7258d35 100644 --- a/server/models/SearchQuery.js +++ b/server/models/SearchQuery.js @@ -10,7 +10,7 @@ const SearchQuery = sequelize.define( primaryKey: true, }, source: { - type: DataTypes.ENUM("slack", "app"), + type: DataTypes.ENUM("slack", "app", "api"), allowNull: false, }, query: {