Files
ionscale/internal/service/service.go
T
2022-12-24 12:00:00 +01:00

37 lines
1.1 KiB
Go

package service
import (
"context"
"github.com/bufbuild/connect-go"
"github.com/jsiebens/ionscale/internal/auth"
"github.com/jsiebens/ionscale/internal/config"
"github.com/jsiebens/ionscale/internal/core"
"github.com/jsiebens/ionscale/internal/domain"
"github.com/jsiebens/ionscale/internal/version"
api "github.com/jsiebens/ionscale/pkg/gen/ionscale/v1"
)
func NewService(config *config.Config, authProvider auth.Provider, repository domain.Repository, sessionManager core.PollMapSessionManager) *Service {
return &Service{
config: config,
authProvider: authProvider,
repository: repository,
sessionManager: sessionManager,
}
}
type Service struct {
config *config.Config
authProvider auth.Provider
repository domain.Repository
sessionManager core.PollMapSessionManager
}
func (s *Service) GetVersion(_ context.Context, _ *connect.Request[api.GetVersionRequest]) (*connect.Response[api.GetVersionResponse], error) {
v, revision := version.GetReleaseInfo()
return connect.NewResponse(&api.GetVersionResponse{
Version: v,
Revision: revision,
}), nil
}