Seperate target name and project into their own keys for target index

This commit is contained in:
sophia 2021-07-12 15:27:37 -05:00 committed by Paul Hinze
parent 49cf6b8c29
commit f5fa1f330a
No known key found for this signature in database
GPG Key ID: B69DEDF2D55501C0

View File

@ -1,8 +1,6 @@
package state
import (
"strings"
"github.com/boltdb/bolt"
"github.com/golang/protobuf/proto"
"github.com/hashicorp/go-memdb"
@ -270,7 +268,7 @@ func targetIndexSchema() *memdb.TableSchema {
targetIndexNameIndexName: {
Name: targetIndexNameIndexName,
AllowMissing: false,
Unique: true,
Unique: false,
Indexer: &memdb.StringFieldIndex{
Field: "Name",
Lowercase: true,
@ -288,21 +286,32 @@ const (
type targetIndexRecord struct {
Id string // Resource ID
Name string // Project Resource ID + Target Name
Name string // Target Name
ProjectId string // Project Resource ID
}
func (s *State) newTargetIndexRecord(m *vagrant_server.Target) *targetIndexRecord {
var projectResourceId string
if m.Project != nil {
projectResourceId = m.Project.ResourceId
}
i := &targetIndexRecord{
Id: m.ResourceId,
Name: strings.ToLower(m.Project.ResourceId + "+" + m.Name),
Name: m.Name,
ProjectId: projectResourceId,
}
return i
}
func (s *State) newTargetIndexRecordByRef(ref *vagrant_plugin_sdk.Ref_Target) *targetIndexRecord {
var projectResourceId string
if ref.Project != nil {
projectResourceId = ref.Project.ResourceId
}
return &targetIndexRecord{
Id: ref.ResourceId,
Name: strings.ToLower(ref.Project.ResourceId + "+" + ref.Name),
Name: ref.Name,
ProjectId: projectResourceId,
}
}