feat: org queries (#136)

* search orgs

* org by domain

* member spooler

* member

* get roles

* tests

* types duration

* use default func for renew

* correct database

* reorder migrations

* delete unused consts

* move get roles to internal

* use prepared org by domain

* implement org in other objects

* add eventstores
This commit is contained in:
Silvan
2020-05-26 16:46:16 +02:00
committed by GitHub
parent a6aba86b54
commit 3025ac577b
52 changed files with 1732 additions and 164 deletions

View File

@@ -4,11 +4,12 @@ import (
"context"
admin_model "github.com/caos/zitadel/internal/admin/model"
"github.com/caos/zitadel/internal/errors"
admin_view "github.com/caos/zitadel/internal/admin/repository/eventsourcing/view"
"github.com/caos/zitadel/internal/eventstore"
"github.com/caos/zitadel/internal/eventstore/sdk"
org_model "github.com/caos/zitadel/internal/org/model"
org_es "github.com/caos/zitadel/internal/org/repository/eventsourcing"
org_view "github.com/caos/zitadel/internal/org/repository/view"
usr_es "github.com/caos/zitadel/internal/user/repository/eventsourcing"
)
@@ -16,6 +17,10 @@ type OrgRepo struct {
Eventstore eventstore.Eventstore
OrgEventstore *org_es.OrgEventstore
UserEventstore *usr_es.UserEventstore
View *admin_view.View
SearchLimit uint64
}
func (repo *OrgRepo) SetUpOrg(ctx context.Context, setUp *admin_model.SetupOrg) (*admin_model.SetupOrg, error) {
@@ -51,8 +56,18 @@ func (repo *OrgRepo) OrgByID(ctx context.Context, id string) (*org_model.Org, er
return repo.OrgEventstore.OrgByID(ctx, org_model.NewOrg(id))
}
func (repo *OrgRepo) SearchOrgs(ctx context.Context) ([]*org_model.Org, error) {
return nil, errors.ThrowUnimplemented(nil, "EVENT-hFIHK", "search not implemented")
func (repo *OrgRepo) SearchOrgs(ctx context.Context, query *org_model.OrgSearchRequest) (*org_model.OrgSearchResult, error) {
query.EnsureLimit(repo.SearchLimit)
orgs, count, err := repo.View.SearchOrgs(query)
if err != nil {
return nil, err
}
return &org_model.OrgSearchResult{
Offset: query.Offset,
Limit: query.Limit,
TotalResult: uint64(count),
Result: org_view.OrgsToModel(orgs),
}, nil
}
func (repo *OrgRepo) IsOrgUnique(ctx context.Context, name, domain string) (isUnique bool, err error) {