Select Git revision

Danis Kirasirov authored and
Pavel Antonov
committed
system.go 1.24 KiB
package template
import (
"git.perx.ru/perxis/perxis-go/pkg/collections"
"git.perx.ru/perxis/perxis-go/pkg/environments"
"git.perx.ru/perxis/perxis-go/pkg/spaces"
)
type System struct {
builder *Builder
}
func (s *System) SpaceID() string {
return s.builder.SpaceID
}
func (s *System) EnvID() string {
return s.builder.EnvID
}
func (s *System) CollectionID() string {
return s.builder.CollID
}
func (s *System) Space() (*spaces.Space, error) {
if s.builder.space != nil {
return s.builder.space, nil
}
space, err := s.builder.cnt.Spaces.Get(s.builder.ctx, s.builder.SpaceID)
s.builder.space = space
return s.builder.space, err
}
func (s *System) Environment() (*environments.Environment, error) {
if s.builder.environment != nil {
return s.builder.environment, nil
}
env, err := s.builder.cnt.Environments.Get(s.builder.ctx, s.builder.SpaceID, s.builder.EnvID)
s.builder.environment = env
return s.builder.environment, err
}
func (s *System) Collection() (*collections.Collection, error) {
if s.builder.collection != nil {
return s.builder.collection, nil
}
coll, err := s.builder.cnt.Collections.Get(s.builder.ctx, s.builder.SpaceID, s.builder.EnvID, s.builder.CollID)
s.builder.collection = coll
return s.builder.collection, err
}