summaryrefslogtreecommitdiffstats
path: root/einterfaces/elasticsearch.go
blob: 8f3d7e76e76efcaa5dce229376b32baf06627dc5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
// Copyright (c) 2017-present Mattermost, Inc. All Rights Reserved.
// See License.txt for license information.

package einterfaces

import "github.com/mattermost/mattermost-server/model"

type ElasticsearchInterface interface {
	Start() *model.AppError
	IndexPost(post *model.Post, teamId string) *model.AppError
	SearchPosts(channels *model.ChannelList, searchParams []*model.SearchParams) ([]string, *model.AppError)
	DeletePost(post *model.Post) *model.AppError
	TestConfig(cfg *model.Config) *model.AppError
	PurgeIndexes() *model.AppError
}

var theElasticsearchInterface ElasticsearchInterface

func RegisterElasticsearchInterface(newInterface ElasticsearchInterface) {
	theElasticsearchInterface = newInterface
}

func GetElasticsearchInterface() ElasticsearchInterface {
	return theElasticsearchInterface
}