Full Mattermost server source with integrated Community Enterprise features. Includes vendor directory for offline/air-gapped builds. Structure: - enterprise-impl/: Enterprise feature implementations - enterprise-community/: Init files that register implementations - enterprise/: Bridge imports (community_imports.go) - vendor/: All dependencies for offline builds Build (online): go build ./cmd/mattermost Build (offline/air-gapped): go build -mod=vendor ./cmd/mattermost 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
38 lines
1.3 KiB
Go
38 lines
1.3 KiB
Go
package api
|
|
|
|
import (
|
|
"github.com/splitio/go-split-commons/v7/conf"
|
|
"github.com/splitio/go-split-commons/v7/dtos"
|
|
"github.com/splitio/go-split-commons/v7/service"
|
|
"github.com/splitio/go-toolkit/v5/logging"
|
|
)
|
|
|
|
// SplitAPI struct for fetchers and recorders
|
|
type SplitAPI struct {
|
|
AuthClient service.AuthClient
|
|
SplitFetcher service.SplitFetcher
|
|
SegmentFetcher service.SegmentFetcher
|
|
ImpressionRecorder service.ImpressionsRecorder
|
|
EventRecorder service.EventsRecorder
|
|
TelemetryRecorder service.TelemetryRecorder
|
|
LargeSegmentFetcher service.LargeSegmentFetcher
|
|
}
|
|
|
|
// NewSplitAPI creates new splitAPI
|
|
func NewSplitAPI(
|
|
apikey string,
|
|
conf conf.AdvancedConfig,
|
|
logger logging.LoggerInterface,
|
|
metadata dtos.Metadata,
|
|
) *SplitAPI {
|
|
return &SplitAPI{
|
|
AuthClient: NewAuthAPIClient(apikey, conf, logger, metadata),
|
|
SplitFetcher: NewHTTPSplitFetcher(apikey, conf, logger, metadata),
|
|
SegmentFetcher: NewHTTPSegmentFetcher(apikey, conf, logger, metadata),
|
|
ImpressionRecorder: NewHTTPImpressionRecorder(apikey, conf, logger),
|
|
EventRecorder: NewHTTPEventsRecorder(apikey, conf, logger),
|
|
TelemetryRecorder: NewHTTPTelemetryRecorder(apikey, conf, logger),
|
|
LargeSegmentFetcher: NewHTTPLargeSegmentFetcher(apikey, conf, logger, metadata),
|
|
}
|
|
}
|