From f65130386661dc783025077c2a3263efbbb2998b Mon Sep 17 00:00:00 2001 From: Ilja Neumann Date: Wed, 14 Oct 2020 17:11:46 +0200 Subject: [PATCH] Fix id or samaccount query --- accounts/pkg/service/v0/accounts.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/accounts/pkg/service/v0/accounts.go b/accounts/pkg/service/v0/accounts.go index 6c65981872..dcc59cce8c 100644 --- a/accounts/pkg/service/v0/accounts.go +++ b/accounts/pkg/service/v0/accounts.go @@ -185,10 +185,20 @@ func (s Service) ListAccounts(ctx context.Context, in *proto.ListAccountsRequest } // id eq 'marie' or on_premises_sam_account_name eq 'marie' - var idOrQuery = regexp.MustCompile(`^$id eq '(.*)' or on_premises_sam_account_name eq '(.*)'`) + var idOrQuery = regexp.MustCompile(`^id eq '(.*)' or on_premises_sam_account_name eq '(.*)'$`) match = idOrQuery.FindStringSubmatch(in.Query) if len(match) == 3 { - searchResults, err = s.index.FindBy(&proto.Account{}, "OnPremisesSamAccountName", match[2]) + qId, qSam := match[1], match[2] + tmp := &proto.Account{} + _ = s.repo.LoadAccount(ctx, qId, tmp) + searchResults, err = s.index.FindBy(&proto.Account{}, "OnPremisesSamAccountName", qSam) + + if tmp.Id != "" { + searchResults = append(searchResults, tmp.Id) + } + + searchResults = unique(searchResults) + } if in.Query == "" {