Select Git revision
schema_yaml.go
environment.go NaN GiB
package id
const (
Environment = "environment"
EnvironmentsPrefix = "envs"
)
type EnvironmentID struct {
SpaceID
EnvironmentID string `json:"env_id,omitempty" bson:"env_id,omitempty"`
}
func (t *EnvironmentID) Type() string { return Environment }
func (t *EnvironmentID) String() string {
return Join(t.SpaceID.String(), EnvironmentsPrefix, t.EnvironmentID)
}
func (t *EnvironmentID) ToMap() map[string]any {
m := t.SpaceID.ToMap()
m["env_id"] = t.EnvironmentID
m["type"] = Environment
return m
}
func (t *EnvironmentID) FromMap(m map[string]any) error {
if err := t.SpaceID.FromMap(m); err != nil {
return err
}
t.EnvironmentID = m["env_id"].(string)
return nil
}
func (t *EnvironmentID) Validate() error {
if t.EnvironmentID == "" {
return ErrInvalidID
}
return t.SpaceID.Validate()
}
func parseEnvironmentID(parts []string) (*EnvironmentID, error) {
if len(parts) != 4 || parts[2] != EnvironmentsPrefix {
return nil, ErrInvalidID
}
spaceID, err := parseSpaceID(parts[:2])
if err != nil {
return nil, err
}
var id EnvironmentID
id.EnvironmentID = parts[3]
id.SpaceID = *spaceID
return &id, nil
}