feat(queries): login policy idp links (#2767)

* fix(idp): set type in projection

* correct table

* user idp links

* refactor: user idp link query

* add not null constraint

* refactor: idp user links

* rename file

* fix(idp): correct resource owner

* refactor: rename test

* fix(query): implement idp login policy links

* unify naming of idp links

* test prepare

* fix(api): convert idp type

* rename migration
This commit is contained in:
Silvan
2021-12-08 14:49:19 +01:00
committed by GitHub
parent 7bf7379a05
commit c9face4ea4
15 changed files with 336 additions and 89 deletions

View File

@@ -48,23 +48,23 @@ func IDPViewToPb(idp *query.IDP) *idp_pb.IDP {
return mapped
}
func ExternalIDPViewsToLoginPolicyLinkPb(links []*iam_model.IDPProviderView) []*idp_pb.IDPLoginPolicyLink {
func IDPLoginPolicyLinksToPb(links []*query.IDPLoginPolicyLink) []*idp_pb.IDPLoginPolicyLink {
l := make([]*idp_pb.IDPLoginPolicyLink, len(links))
for i, link := range links {
l[i] = ExternalIDPViewToLoginPolicyLinkPb(link)
l[i] = IDPLoginPolicyLinkToPb(link)
}
return l
}
func ExternalIDPViewToLoginPolicyLinkPb(link *iam_model.IDPProviderView) *idp_pb.IDPLoginPolicyLink {
func IDPLoginPolicyLinkToPb(link *query.IDPLoginPolicyLink) *idp_pb.IDPLoginPolicyLink {
return &idp_pb.IDPLoginPolicyLink{
IdpId: link.IDPConfigID,
IdpName: link.Name,
IdpType: IDPTypeViewToPb(link.IDPConfigType),
IdpId: link.IDPID,
IdpName: link.IDPName,
IdpType: IDPTypeToPb(link.IDPType),
}
}
func IDPUserLinksToPb(res []*query.UserIDPLink) []*idp_pb.IDPUserLink {
func IDPUserLinksToPb(res []*query.IDPUserLink) []*idp_pb.IDPUserLink {
links := make([]*idp_pb.IDPUserLink, len(res))
for i, link := range res {
links[i] = IDPUserLinkToPb(link)
@@ -72,7 +72,7 @@ func IDPUserLinksToPb(res []*query.UserIDPLink) []*idp_pb.IDPUserLink {
return links
}
func IDPUserLinkToPb(link *query.UserIDPLink) *idp_pb.IDPUserLink {
func IDPUserLinkToPb(link *query.IDPUserLink) *idp_pb.IDPUserLink {
return &idp_pb.IDPUserLink{
UserId: link.UserID,
IdpId: link.IDPID,
@@ -83,19 +83,6 @@ func IDPUserLinkToPb(link *query.UserIDPLink) *idp_pb.IDPUserLink {
}
}
func IDPTypeViewToPb(idpType iam_model.IdpConfigType) idp_pb.IDPType {
switch idpType {
case iam_model.IDPConfigTypeOIDC:
return idp_pb.IDPType_IDP_TYPE_OIDC
case iam_model.IDPConfigTypeSAML:
return idp_pb.IDPType_IDP_TYPE_UNSPECIFIED
case iam_model.IDPConfigTypeJWT:
return idp_pb.IDPType_IDP_TYPE_JWT
default:
return idp_pb.IDPType_IDP_TYPE_UNSPECIFIED
}
}
func IDPTypeToPb(idpType domain.IDPConfigType) idp_pb.IDPType {
switch idpType {
case domain.IDPConfigTypeOIDC: