fix(current_sequence): no error if not found (#3740)

This commit is contained in:
Silvan 2022-05-31 13:50:51 +02:00 committed by GitHub
parent 81c0ca3337
commit 16c86149be
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 79 additions and 202 deletions

View File

@ -4,13 +4,12 @@ import (
"context"
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/api/grpc/user"
"github.com/zitadel/zitadel/internal/query"
"github.com/zitadel/zitadel/internal/api/grpc/idp"
"github.com/zitadel/zitadel/internal/api/grpc/object"
policy_grpc "github.com/zitadel/zitadel/internal/api/grpc/policy"
"github.com/zitadel/zitadel/internal/api/grpc/user"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
admin_pb "github.com/zitadel/zitadel/pkg/grpc/admin"
)
@ -63,10 +62,17 @@ func (s *Server) AddIDPToLoginPolicy(ctx context.Context, req *admin_pb.AddIDPTo
func (s *Server) RemoveIDPFromLoginPolicy(ctx context.Context, req *admin_pb.RemoveIDPFromLoginPolicyRequest) (*admin_pb.RemoveIDPFromLoginPolicyResponse, error) {
idpQuery, err := query.NewIDPUserLinkIDPIDSearchQuery(req.IdpId)
if err != nil {
return nil, err
}
idps, err := s.query.IDPUserLinks(ctx, &query.IDPUserLinksSearchQuery{
Queries: []query.SearchQuery{idpQuery},
})
if err != nil {
return nil, err
}
objectDetails, err := s.command.RemoveIDPProviderFromDefaultLoginPolicy(ctx, &domain.IDPProvider{IDPConfigID: req.IdpId}, user.ExternalIDPViewsToExternalIDPs(idps.Links)...)
if err != nil {
return nil, err

View File

@ -3,8 +3,6 @@ package admin
import (
"context"
"google.golang.org/protobuf/types/known/timestamppb"
"github.com/zitadel/zitadel/internal/api/authz"
"github.com/zitadel/zitadel/internal/api/grpc/object"
org_grpc "github.com/zitadel/zitadel/internal/api/grpc/org"
@ -12,7 +10,6 @@ import (
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
admin_pb "github.com/zitadel/zitadel/pkg/grpc/admin"
obj_pb "github.com/zitadel/zitadel/pkg/grpc/object"
)
func (s *Server) IsOrgUnique(ctx context.Context, req *admin_pb.IsOrgUniqueRequest) (*admin_pb.IsOrgUniqueResponse, error) {
@ -39,11 +36,7 @@ func (s *Server) ListOrgs(ctx context.Context, req *admin_pb.ListOrgsRequest) (*
}
return &admin_pb.ListOrgsResponse{
Result: org_grpc.OrgViewsToPb(orgs.Orgs),
Details: &obj_pb.ListDetails{
TotalResult: orgs.Count,
ProcessedSequence: orgs.Sequence,
ViewTimestamp: timestamppb.New(orgs.Timestamp),
},
Details: object.ToListDetails(orgs.Count, orgs.Sequence, orgs.Timestamp),
}, nil
}

View File

@ -19,11 +19,7 @@ func (s *Server) ListMyLinkedIDPs(ctx context.Context, req *auth_pb.ListMyLinked
}
return &auth_pb.ListMyLinkedIDPsResponse{
Result: idp_grpc.IDPUserLinksToPb(links.Links),
Details: object.ToListDetails(
links.Count,
links.Sequence,
links.Timestamp,
),
Details: object.ToListDetails(links.Count, links.Sequence, links.Timestamp),
}, nil
}

View File

@ -4,7 +4,7 @@ import (
"context"
"github.com/zitadel/zitadel/internal/api/authz"
obj_grpc "github.com/zitadel/zitadel/internal/api/grpc/object"
"github.com/zitadel/zitadel/internal/api/grpc/object"
user_grpc "github.com/zitadel/zitadel/internal/api/grpc/user"
"github.com/zitadel/zitadel/internal/query"
auth_pb "github.com/zitadel/zitadel/pkg/grpc/auth"
@ -54,10 +54,6 @@ func (s *Server) ListMyMemberships(ctx context.Context, req *auth_pb.ListMyMembe
}
return &auth_pb.ListMyMembershipsResponse{
Result: user_grpc.MembershipsToMembershipsPb(response.Memberships),
Details: obj_grpc.ToListDetails(
response.Count,
response.Sequence,
response.Timestamp,
),
Details: object.ToListDetails(response.Count, response.Sequence, response.Timestamp),
}, nil
}

View File

@ -17,11 +17,7 @@ func (s *Server) ListMyRefreshTokens(ctx context.Context, req *auth.ListMyRefres
}
return &auth.ListMyRefreshTokensResponse{
Result: user_grpc.RefreshTokensToPb(res.Result),
Details: object.ToListDetails(
res.TotalResult,
res.Sequence,
res.Timestamp,
),
Details: object.ToListDetails(res.TotalResult, res.Sequence, res.Timestamp),
}, nil
}

View File

@ -76,11 +76,7 @@ func (s *Server) ListMyMetadata(ctx context.Context, req *auth_pb.ListMyMetadata
}
return &auth_pb.ListMyMetadataResponse{
Result: metadata.MetadataListToPb(res.Metadata),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}
@ -134,11 +130,7 @@ func (s *Server) ListMyUserGrants(ctx context.Context, req *auth_pb.ListMyUserGr
}
return &auth_pb.ListMyUserGrantsResponse{
Result: UserGrantsToPb(res.UserGrants),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}

View File

@ -135,11 +135,7 @@ func (s *Server) ListOrgDomains(ctx context.Context, req *mgmt_pb.ListOrgDomains
}
return &mgmt_pb.ListOrgDomainsResponse{
Result: org_grpc.DomainsToPb(domains.Domains),
Details: object.ToListDetails(
domains.Count,
domains.Sequence,
domains.Timestamp,
),
Details: object.ToListDetails(domains.Count, domains.Sequence, domains.Timestamp),
}, nil
}
@ -234,11 +230,7 @@ func (s *Server) ListOrgMembers(ctx context.Context, req *mgmt_pb.ListOrgMembers
}
return &mgmt_pb.ListOrgMembersResponse{
Result: member_grpc.MembersToPb(s.assetAPIPrefix(ctx), members.Members),
Details: object.ToListDetails(
members.Count,
members.Sequence,
members.Timestamp,
),
Details: object.ToListDetails(members.Count, members.Sequence, members.Timestamp),
}, nil
}

View File

@ -10,7 +10,6 @@ import (
"github.com/zitadel/zitadel/internal/api/grpc/user"
"github.com/zitadel/zitadel/internal/domain"
"github.com/zitadel/zitadel/internal/query"
mgmt_pb "github.com/zitadel/zitadel/pkg/grpc/management"
)

View File

@ -51,11 +51,7 @@ func (s *Server) ListProjects(ctx context.Context, req *mgmt_pb.ListProjectsRequ
}
return &mgmt_pb.ListProjectsResponse{
Result: project_grpc.ProjectViewsToPb(projects.Projects),
Details: object_grpc.ToListDetails(
projects.Count,
projects.Sequence,
projects.Timestamp,
),
Details: object_grpc.ToListDetails(projects.Count, projects.Sequence, projects.Timestamp),
}, nil
}
@ -78,11 +74,7 @@ func (s *Server) ListGrantedProjects(ctx context.Context, req *mgmt_pb.ListGrant
}
return &mgmt_pb.ListGrantedProjectsResponse{
Result: project_grpc.GrantedProjectViewsToPb(projects.ProjectGrants),
Details: object_grpc.ToListDetails(
projects.Count,
projects.Sequence,
projects.Timestamp,
),
Details: object_grpc.ToListDetails(projects.Count, projects.Sequence, projects.Timestamp),
}, nil
}
@ -101,11 +93,7 @@ func (s *Server) ListGrantedProjectRoles(ctx context.Context, req *mgmt_pb.ListG
}
return &mgmt_pb.ListGrantedProjectRolesResponse{
Result: project_grpc.RoleViewsToPb(roles.ProjectRoles),
Details: object_grpc.ToListDetails(
roles.Count,
roles.Sequence,
roles.Timestamp,
),
Details: object_grpc.ToListDetails(roles.Count, roles.Sequence, roles.Timestamp),
}, nil
}
@ -128,11 +116,7 @@ func (s *Server) AddProject(ctx context.Context, req *mgmt_pb.AddProjectRequest)
}
return &mgmt_pb.AddProjectResponse{
Id: project.AggregateID,
Details: object_grpc.AddToDetailsPb(
project.Sequence,
project.ChangeDate,
project.ResourceOwner,
),
Details: object_grpc.AddToDetailsPb(project.Sequence, project.ChangeDate, project.ResourceOwner),
}, nil
}
@ -209,11 +193,7 @@ func (s *Server) ListProjectRoles(ctx context.Context, req *mgmt_pb.ListProjectR
}
return &mgmt_pb.ListProjectRolesResponse{
Result: project_grpc.RoleViewsToPb(roles.ProjectRoles),
Details: object_grpc.ToListDetails(
roles.Count,
roles.Sequence,
roles.Timestamp,
),
Details: object_grpc.ToListDetails(roles.Count, roles.Sequence, roles.Timestamp),
}, nil
}
@ -303,11 +283,7 @@ func (s *Server) ListProjectMembers(ctx context.Context, req *mgmt_pb.ListProjec
}
return &mgmt_pb.ListProjectMembersResponse{
Result: member_grpc.MembersToPb(s.assetAPIPrefix(ctx), members.Members),
Details: object_grpc.ToListDetails(
members.Count,
members.Sequence,
members.Timestamp,
),
Details: object_grpc.ToListDetails(members.Count, members.Sequence, members.Timestamp),
}, nil
}
@ -317,11 +293,7 @@ func (s *Server) AddProjectMember(ctx context.Context, req *mgmt_pb.AddProjectMe
return nil, err
}
return &mgmt_pb.AddProjectMemberResponse{
Details: object_grpc.AddToDetailsPb(
member.Sequence,
member.ChangeDate,
member.ResourceOwner,
),
Details: object_grpc.AddToDetailsPb(member.Sequence, member.ChangeDate, member.ResourceOwner),
}, nil
}

View File

@ -34,11 +34,7 @@ func (s *Server) ListApps(ctx context.Context, req *mgmt_pb.ListAppsRequest) (*m
}
return &mgmt_pb.ListAppsResponse{
Result: project_grpc.AppsToPb(apps.Apps),
Details: object_grpc.ToListDetails(
apps.Count,
apps.Sequence,
apps.Timestamp,
),
Details: object_grpc.ToListDetails(apps.Count, apps.Sequence, apps.Timestamp),
}, nil
}
@ -228,11 +224,7 @@ func (s *Server) ListAppKeys(ctx context.Context, req *mgmt_pb.ListAppKeysReques
}
return &mgmt_pb.ListAppKeysResponse{
Result: authn_grpc.KeysToPb(keys.AuthNKeys),
Details: object_grpc.ToListDetails(
keys.Count,
keys.Sequence,
keys.Timestamp,
),
Details: object_grpc.ToListDetails(keys.Count, keys.Sequence, keys.Timestamp),
}, nil
}

View File

@ -37,11 +37,7 @@ func (s *Server) ListProjectGrants(ctx context.Context, req *mgmt_pb.ListProject
}
return &mgmt_pb.ListProjectGrantsResponse{
Result: proj_grpc.GrantedProjectViewsToPb(grants.ProjectGrants),
Details: object_grpc.ToListDetails(
grants.Count,
grants.Sequence,
grants.Timestamp,
),
Details: object_grpc.ToListDetails(grants.Count, grants.Sequence, grants.Timestamp),
}, nil
}
@ -64,11 +60,7 @@ func (s *Server) ListAllProjectGrants(ctx context.Context, req *mgmt_pb.ListAllP
}
return &mgmt_pb.ListAllProjectGrantsResponse{
Result: proj_grpc.GrantedProjectViewsToPb(grants.ProjectGrants),
Details: object_grpc.ToListDetails(
grants.Count,
grants.Sequence,
grants.Timestamp,
),
Details: object_grpc.ToListDetails(grants.Count, grants.Sequence, grants.Timestamp),
}, nil
}
@ -178,11 +170,7 @@ func (s *Server) ListProjectGrantMembers(ctx context.Context, req *mgmt_pb.ListP
}
return &mgmt_pb.ListProjectGrantMembersResponse{
Result: member_grpc.MembersToPb(s.assetAPIPrefix(ctx), response.Members),
Details: object_grpc.ToListDetails(
response.Count,
response.Sequence,
response.Timestamp,
),
Details: object_grpc.ToListDetails(response.Count, response.Sequence, response.Timestamp),
}, nil
}

View File

@ -69,11 +69,7 @@ func (s *Server) ListUsers(ctx context.Context, req *mgmt_pb.ListUsersRequest) (
}
return &mgmt_pb.ListUsersResponse{
Result: user_grpc.UsersToPb(res.Users, s.assetAPIPrefix(ctx)),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}
@ -121,11 +117,7 @@ func (s *Server) ListUserMetadata(ctx context.Context, req *mgmt_pb.ListUserMeta
}
return &mgmt_pb.ListUserMetadataResponse{
Result: metadata.MetadataListToPb(res.Metadata),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}
@ -732,11 +724,7 @@ func (s *Server) ListMachineKeys(ctx context.Context, req *mgmt_pb.ListMachineKe
}
return &mgmt_pb.ListMachineKeysResponse{
Result: authn.KeysToPb(result.AuthNKeys),
Details: obj_grpc.ToListDetails(
result.Count,
result.Sequence,
result.Timestamp,
),
Details: obj_grpc.ToListDetails(result.Count, result.Sequence, result.Timestamp),
}, nil
}
@ -799,11 +787,7 @@ func (s *Server) ListPersonalAccessTokens(ctx context.Context, req *mgmt_pb.List
}
return &mgmt_pb.ListPersonalAccessTokensResponse{
Result: user_grpc.PersonalAccessTokensToPb(result.PersonalAccessTokens),
Details: obj_grpc.ToListDetails(
result.Count,
result.Sequence,
result.Timestamp,
),
Details: obj_grpc.ToListDetails(result.Count, result.Sequence, result.Timestamp),
}, nil
}
@ -849,11 +833,7 @@ func (s *Server) ListHumanLinkedIDPs(ctx context.Context, req *mgmt_pb.ListHuman
}
return &mgmt_pb.ListHumanLinkedIDPsResponse{
Result: idp_grpc.IDPUserLinksToPb(res.Links),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}
func (s *Server) RemoveHumanLinkedIDP(ctx context.Context, req *mgmt_pb.RemoveHumanLinkedIDPRequest) (*mgmt_pb.RemoveHumanLinkedIDPResponse, error) {
@ -877,10 +857,6 @@ func (s *Server) ListUserMemberships(ctx context.Context, req *mgmt_pb.ListUserM
}
return &mgmt_pb.ListUserMembershipsResponse{
Result: user_grpc.MembershipsToMembershipsPb(response.Memberships),
Details: obj_grpc.ToListDetails(
response.Count,
response.Sequence,
response.Timestamp,
),
Details: obj_grpc.ToListDetails(response.Count, response.Sequence, response.Timestamp),
}, nil
}

View File

@ -39,11 +39,7 @@ func (s *Server) ListUserGrants(ctx context.Context, req *mgmt_pb.ListUserGrantR
}
return &mgmt_pb.ListUserGrantResponse{
Result: user.UserGrantsToPb(s.assetAPIPrefix(ctx), res.UserGrants),
Details: obj_grpc.ToListDetails(
res.Count,
res.Sequence,
res.Timestamp,
),
Details: obj_grpc.ToListDetails(res.Count, res.Sequence, res.Timestamp),
}, nil
}

View File

@ -69,11 +69,15 @@ func ToListDetails(
processedSequence uint64,
viewTimestamp time.Time,
) *object_pb.ListDetails {
return &object_pb.ListDetails{
details := &object_pb.ListDetails{
TotalResult: totalResult,
ProcessedSequence: processedSequence,
ViewTimestamp: timestamppb.New(viewTimestamp),
}
if !viewTimestamp.IsZero() {
details.ViewTimestamp = timestamppb.New(viewTimestamp)
}
return details
}
func TextMethodToModel(method object_pb.TextQueryMethod) domain.SearchMethod {

View File

@ -47,17 +47,15 @@ func (s *Server) AddInstance(ctx context.Context, req *system_pb.AddInstanceRequ
}
return &system_pb.AddInstanceResponse{
InstanceId: id,
Details: object.AddToDetailsPb(
details.Sequence,
details.EventDate,
details.ResourceOwner,
),
Details: object.AddToDetailsPb(details.Sequence, details.EventDate, details.ResourceOwner),
}, nil
return nil, nil
}
func (s *Server) ExistsDomain(ctx context.Context, req *system_pb.ExistsDomainRequest) (*system_pb.ExistsDomainResponse, error) {
domainQuery, err := query.NewInstanceDomainDomainSearchQuery(query.TextEqualsIgnoreCase, req.Domain)
if err != nil {
return nil, err
}
query := &query.InstanceDomainSearchQueries{
SearchRequest: query.SearchRequest{
@ -91,11 +89,7 @@ func (s *Server) ListDomains(ctx context.Context, req *system_pb.ListDomainsRequ
}
return &system_pb.ListDomainsResponse{
Result: instance_grpc.DomainsToPb(domains.Domains),
Details: object.ToListDetails(
domains.Count,
domains.Sequence,
domains.Timestamp,
),
Details: object.ToListDetails(domains.Count, domains.Sequence, domains.Timestamp),
}, nil
}
@ -111,11 +105,7 @@ func (s *Server) AddDomain(ctx context.Context, req *system_pb.AddDomainRequest)
return nil, err
}
return &system_pb.AddDomainResponse{
Details: object.AddToDetailsPb(
details.Sequence,
details.EventDate,
details.ResourceOwner,
),
Details: object.AddToDetailsPb(details.Sequence, details.EventDate, details.ResourceOwner),
}, nil
}
@ -126,11 +116,7 @@ func (s *Server) RemoveDomain(ctx context.Context, req *system_pb.RemoveDomainRe
return nil, err
}
return &system_pb.RemoveDomainResponse{
Details: object.ChangeToDetailsPb(
details.Sequence,
details.EventDate,
details.ResourceOwner,
),
Details: object.ChangeToDetailsPb(details.Sequence, details.EventDate, details.ResourceOwner),
}, nil
}
@ -141,10 +127,6 @@ func (s *Server) SetPrimaryDomain(ctx context.Context, req *system_pb.SetPrimary
return nil, err
}
return &system_pb.SetPrimaryDomainResponse{
Details: object.ChangeToDetailsPb(
details.Sequence,
details.EventDate,
details.ResourceOwner,
),
Details: object.ChangeToDetailsPb(details.Sequence, details.EventDate, details.ResourceOwner),
}, nil
}

View File

@ -201,10 +201,7 @@ func prepareLatestSequence() (sq.SelectBuilder, func(*sql.Row) (*LatestSequence,
&seq.Sequence,
&seq.Timestamp,
)
if err != nil {
if errs.Is(err, sql.ErrNoRows) {
return nil, errors.ThrowNotFound(err, "QUERY-gmd9o", "Errors.CurrentSequence.NotFound")
}
if err != nil && !errs.Is(err, sql.ErrNoRows) {
return nil, errors.ThrowInternal(err, "QUERY-aAZ1D", "Errors.Internal")
}
return seq, nil