fix: rename iam to instance (#3345)

* fix: rename iam command side to instance

* fix: rename iam command side to instance

* fix: rename iam command side to instance

* fix: rename iam command side to instance

* fix: rename orgiampolicy to domain policy

* fix: merge conflicts

* fix: protos

* fix: md files

* implement deprecated org iam policy again

Co-authored-by: Livio Amstutz <livio.a@gmail.com>
This commit is contained in:
Fabi
2022-03-24 17:21:34 +01:00
committed by GitHub
parent 504fe5b761
commit 9d4f296c62
274 changed files with 12073 additions and 11853 deletions

View File

@@ -4,7 +4,7 @@ import (
"github.com/caos/zitadel/internal/eventstore/v1/models"
)
type OrgIAMPolicy struct {
type DomainPolicy struct {
models.ObjectRoot
State PolicyState

View File

@@ -8,22 +8,22 @@ import (
iam_model "github.com/caos/zitadel/internal/iam/model"
)
type OrgIAMPolicy struct {
type DomainPolicy struct {
es_models.ObjectRoot
State int32 `json:"-"`
UserLoginMustBeDomain bool `json:"userLoginMustBeDomain"`
}
func OrgIAMPolicyToModel(policy *OrgIAMPolicy) *iam_model.OrgIAMPolicy {
return &iam_model.OrgIAMPolicy{
func DomainPolicyToModel(policy *DomainPolicy) *iam_model.DomainPolicy {
return &iam_model.DomainPolicy{
ObjectRoot: policy.ObjectRoot,
State: iam_model.PolicyState(policy.State),
UserLoginMustBeDomain: policy.UserLoginMustBeDomain,
}
}
func (p *OrgIAMPolicy) Changes(changed *OrgIAMPolicy) map[string]interface{} {
func (p *DomainPolicy) Changes(changed *DomainPolicy) map[string]interface{} {
changes := make(map[string]interface{}, 1)
if p.UserLoginMustBeDomain != changed.UserLoginMustBeDomain {
@@ -32,7 +32,7 @@ func (p *OrgIAMPolicy) Changes(changed *OrgIAMPolicy) map[string]interface{} {
return changes
}
func (p *OrgIAMPolicy) SetData(event *es_models.Event) error {
func (p *DomainPolicy) SetData(event *es_models.Event) error {
err := json.Unmarshal(event.Data, p)
if err != nil {
return errors.ThrowInternal(err, "EVENT-7JS9d", "unable to unmarshal data")

View File

@@ -6,8 +6,8 @@ import (
func TestOrgIAMPolicyChanges(t *testing.T) {
type args struct {
existing *OrgIAMPolicy
new *OrgIAMPolicy
existing *DomainPolicy
new *DomainPolicy
}
type res struct {
changesLen int
@@ -20,8 +20,8 @@ func TestOrgIAMPolicyChanges(t *testing.T) {
{
name: "org iam policy all attributes change",
args: args{
existing: &OrgIAMPolicy{UserLoginMustBeDomain: true},
new: &OrgIAMPolicy{UserLoginMustBeDomain: false},
existing: &DomainPolicy{UserLoginMustBeDomain: true},
new: &DomainPolicy{UserLoginMustBeDomain: false},
},
res: res{
changesLen: 1,
@@ -30,8 +30,8 @@ func TestOrgIAMPolicyChanges(t *testing.T) {
{
name: "no changes",
args: args{
existing: &OrgIAMPolicy{UserLoginMustBeDomain: true},
new: &OrgIAMPolicy{UserLoginMustBeDomain: true},
existing: &DomainPolicy{UserLoginMustBeDomain: true},
new: &DomainPolicy{UserLoginMustBeDomain: true},
},
res: res{
changesLen: 0,

View File

@@ -5,7 +5,7 @@ import (
"time"
"github.com/caos/zitadel/internal/crypto"
"github.com/caos/zitadel/internal/repository/iam"
"github.com/caos/zitadel/internal/repository/instance"
"github.com/caos/zitadel/internal/repository/org"
es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model"
@@ -109,8 +109,8 @@ func (i *IDPConfigView) AppendEvent(providerType model.IDPProviderType, event *m
err = i.SetData(event)
case es_model.OIDCIDPConfigChanged, org_es_model.OIDCIDPConfigChanged,
es_model.IDPConfigChanged, org_es_model.IDPConfigChanged,
models.EventType(org.IDPJWTConfigAddedEventType), models.EventType(iam.IDPJWTConfigAddedEventType),
models.EventType(org.IDPJWTConfigChangedEventType), models.EventType(iam.IDPJWTConfigChangedEventType):
models.EventType(org.IDPJWTConfigAddedEventType), models.EventType(instance.IDPJWTConfigAddedEventType),
models.EventType(org.IDPJWTConfigChangedEventType), models.EventType(instance.IDPJWTConfigChangedEventType):
err = i.SetData(event)
case es_model.IDPConfigDeactivated, org_es_model.IDPConfigDeactivated:
i.IDPState = int32(model.IDPConfigStateInactive)

View File

@@ -1,159 +0,0 @@
package model
import (
"time"
"golang.org/x/text/language"
"github.com/caos/zitadel/internal/domain"
org_es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model"
es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model"
"github.com/caos/zitadel/internal/eventstore/v1/models"
"github.com/caos/zitadel/internal/iam/model"
)
const (
MessageTextKeyAggregateID = "aggregate_id"
MessageTextKeyMessageTextType = "message_text_type"
MessageTextKeyLanguage = "language"
)
type MessageTextView struct {
AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"`
CreationDate time.Time `json:"-" gorm:"column:creation_date"`
ChangeDate time.Time `json:"-" gorm:"column:change_date"`
State int32 `json:"-" gorm:"column:message_text_state"`
MessageTextType string `json:"-" gorm:"column:message_text_type;primary_key"`
Language string `json:"-" gorm:"column:language;primary_key"`
Title string `json:"-" gorm:"column:title"`
PreHeader string `json:"-" gorm:"column:pre_header"`
Subject string `json:"-" gorm:"column:subject"`
Greeting string `json:"-" gorm:"column:greeting"`
Text string `json:"-" gorm:"column:text"`
ButtonText string `json:"-" gorm:"column:button_text"`
FooterText string `json:"-" gorm:"column:footer_text"`
Default bool `json:"-" gorm:"-"`
Sequence uint64 `json:"-" gorm:"column:sequence"`
}
func MessageTextViewFromModel(template *model.MessageTextView) *MessageTextView {
return &MessageTextView{
AggregateID: template.AggregateID,
Sequence: template.Sequence,
CreationDate: template.CreationDate,
ChangeDate: template.ChangeDate,
MessageTextType: template.MessageTextType,
Language: template.Language.String(),
Title: template.Title,
PreHeader: template.PreHeader,
Subject: template.Subject,
Greeting: template.Greeting,
Text: template.Text,
ButtonText: template.ButtonText,
FooterText: template.FooterText,
Default: template.Default,
}
}
func messageTextsViewToModelArr(texts []*MessageTextView, defaultIn bool) []*model.MessageTextView {
result := make([]*model.MessageTextView, len(texts))
for i, r := range texts {
r.Default = defaultIn
result[i] = MessageTextViewToModel(r)
}
return result
}
func MessageTextViewToModel(template *MessageTextView) *model.MessageTextView {
lang := language.Make(template.Language)
return &model.MessageTextView{
AggregateID: template.AggregateID,
Sequence: template.Sequence,
CreationDate: template.CreationDate,
ChangeDate: template.ChangeDate,
MessageTextType: template.MessageTextType,
Language: lang,
Title: template.Title,
PreHeader: template.PreHeader,
Subject: template.Subject,
Greeting: template.Greeting,
Text: template.Text,
ButtonText: template.ButtonText,
FooterText: template.FooterText,
Default: template.Default,
}
}
func (i *MessageTextView) AppendEvent(event *models.Event) (err error) {
i.Sequence = event.Sequence
switch event.Type {
case es_model.CustomTextSet, org_es_model.CustomTextSet:
i.setRootData(event)
customText := new(CustomTextView)
err = customText.SetData(event)
if err != nil {
return err
}
if customText.Key == domain.MessageTitle {
i.Title = customText.Text
}
if customText.Key == domain.MessagePreHeader {
i.PreHeader = customText.Text
}
if customText.Key == domain.MessageSubject {
i.Subject = customText.Text
}
if customText.Key == domain.MessageGreeting {
i.Greeting = customText.Text
}
if customText.Key == domain.MessageText {
i.Text = customText.Text
}
if customText.Key == domain.MessageButtonText {
i.ButtonText = customText.Text
}
if customText.Key == domain.MessageFooterText {
i.FooterText = customText.Text
}
i.ChangeDate = event.CreationDate
case es_model.CustomTextRemoved, org_es_model.CustomTextRemoved:
customText := new(CustomTextView)
err = customText.SetData(event)
if err != nil {
return err
}
if customText.Key == domain.MessageTitle {
i.Title = ""
}
if customText.Key == domain.MessagePreHeader {
i.PreHeader = ""
}
if customText.Key == domain.MessageSubject {
i.Subject = ""
}
if customText.Key == domain.MessageGreeting {
i.Greeting = ""
}
if customText.Key == domain.MessageText {
i.Text = ""
}
if customText.Key == domain.MessageButtonText {
i.ButtonText = ""
}
if customText.Key == domain.MessageFooterText {
i.FooterText = ""
}
i.ChangeDate = event.CreationDate
case org_es_model.CustomTextMessageRemoved:
i.State = int32(model.PolicyStateRemoved)
}
return err
}
func (r *MessageTextView) setRootData(event *models.Event) {
r.AggregateID = event.AggregateID
}

View File

@@ -1,63 +0,0 @@
package model
import (
"github.com/caos/zitadel/internal/domain"
iam_model "github.com/caos/zitadel/internal/iam/model"
"github.com/caos/zitadel/internal/view/repository"
)
type MessageTextSearchRequest iam_model.MessageTextSearchRequest
type MessageTextSearchQuery iam_model.MessageTextSearchQuery
type MessageTextSearchKey iam_model.MessageTextSearchKey
func (req MessageTextSearchRequest) GetLimit() uint64 {
return req.Limit
}
func (req MessageTextSearchRequest) GetOffset() uint64 {
return req.Offset
}
func (req MessageTextSearchRequest) GetSortingColumn() repository.ColumnKey {
if req.SortingColumn == iam_model.MessageTextSearchKeyUnspecified {
return nil
}
return MessageTextSearchKey(req.SortingColumn)
}
func (req MessageTextSearchRequest) GetAsc() bool {
return req.Asc
}
func (req MessageTextSearchRequest) GetQueries() []repository.SearchQuery {
result := make([]repository.SearchQuery, len(req.Queries))
for i, q := range req.Queries {
result[i] = MessageTextSearchQuery{Key: q.Key, Value: q.Value, Method: q.Method}
}
return result
}
func (req MessageTextSearchQuery) GetKey() repository.ColumnKey {
return MessageTextSearchKey(req.Key)
}
func (req MessageTextSearchQuery) GetMethod() domain.SearchMethod {
return req.Method
}
func (req MessageTextSearchQuery) GetValue() interface{} {
return req.Value
}
func (key MessageTextSearchKey) ToColumnName() string {
switch iam_model.MessageTextSearchKey(key) {
case iam_model.MessageTextSearchKeyAggregateID:
return MessageTextKeyAggregateID
case iam_model.MessageTextSearchKeyMessageTextType:
return MessageTextKeyMessageTextType
case iam_model.MessageTextSearchKeyLanguage:
return MessageTextKeyLanguage
default:
return ""
}
}

View File

@@ -1,79 +0,0 @@
package model
import (
"encoding/json"
"time"
"github.com/caos/zitadel/internal/domain"
usr_model "github.com/caos/zitadel/internal/user/repository/eventsourcing/model"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1/models"
)
const (
MetadataKeyAggregateID = "aggregate_id"
MetadataKeyResourceOwner = "resource_owner"
MetadataKeyKey = "key"
MetadataKeyValue = "value"
)
type MetadataView struct {
AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"`
ResourceOwner string `json:"-" gorm:"column:resource_owner"`
CreationDate time.Time `json:"-" gorm:"column:creation_date"`
ChangeDate time.Time `json:"-" gorm:"column:change_date"`
Key string `json:"key" gorm:"column:key;primary_key"`
Value []byte `json:"value" gorm:"column:value"`
Sequence uint64 `json:"-" gorm:"column:sequence"`
}
func MetadataViewsToDomain(texts []*MetadataView) []*domain.Metadata {
result := make([]*domain.Metadata, len(texts))
for i, text := range texts {
result[i] = MetadataViewToDomain(text)
}
return result
}
func MetadataViewToDomain(data *MetadataView) *domain.Metadata {
return &domain.Metadata{
ObjectRoot: models.ObjectRoot{
AggregateID: data.AggregateID,
Sequence: data.Sequence,
CreationDate: data.CreationDate,
ChangeDate: data.ChangeDate,
},
Key: data.Key,
Value: data.Value,
}
}
func (md *MetadataView) AppendEvent(event *models.Event) (err error) {
md.Sequence = event.Sequence
switch event.Type {
case usr_model.UserMetadataSet:
md.setRootData(event)
err = md.SetData(event)
}
return err
}
func (md *MetadataView) setRootData(event *models.Event) {
md.AggregateID = event.AggregateID
md.ResourceOwner = event.ResourceOwner
md.ChangeDate = event.CreationDate
md.Sequence = event.Sequence
}
func (md *MetadataView) SetData(event *models.Event) error {
if err := json.Unmarshal(event.Data, md); err != nil {
logging.Log("MODEL-3n9fs").WithError(err).Error("could not unmarshal event data")
return caos_errs.ThrowInternal(err, "MODEL-5CVaR", "Could not unmarshal data")
}
return nil
}

View File

@@ -1,64 +0,0 @@
package model
import (
"github.com/caos/zitadel/internal/domain"
"github.com/caos/zitadel/internal/view/repository"
)
type MetadataSearchRequest domain.MetadataSearchRequest
type MetadataSearchQuery domain.MetadataSearchQuery
type MetadataSearchKey domain.MetadataSearchKey
func (req MetadataSearchRequest) GetLimit() uint64 {
return req.Limit
}
func (req MetadataSearchRequest) GetOffset() uint64 {
return req.Offset
}
func (req MetadataSearchRequest) GetSortingColumn() repository.ColumnKey {
if req.SortingColumn == domain.MetadataSearchKeyUnspecified {
return nil
}
return MetadataSearchKey(req.SortingColumn)
}
func (req MetadataSearchRequest) GetAsc() bool {
return req.Asc
}
func (req MetadataSearchRequest) GetQueries() []repository.SearchQuery {
result := make([]repository.SearchQuery, len(req.Queries))
for i, q := range req.Queries {
result[i] = MetadataSearchQuery{Key: q.Key, Value: q.Value, Method: q.Method}
}
return result
}
func (req MetadataSearchQuery) GetKey() repository.ColumnKey {
return MetadataSearchKey(req.Key)
}
func (req MetadataSearchQuery) GetMethod() domain.SearchMethod {
return req.Method
}
func (req MetadataSearchQuery) GetValue() interface{} {
return req.Value
}
func (key MetadataSearchKey) ToColumnName() string {
switch domain.MetadataSearchKey(key) {
case domain.MetadataSearchKeyAggregateID:
return MetadataKeyAggregateID
case domain.MetadataSearchKeyResourceOwner:
return MetadataKeyResourceOwner
case domain.MetadataSearchKeyKey:
return MetadataKeyKey
case domain.MetadataSearchKeyValue:
return MetadataKeyValue
default:
return ""
}
}

View File

@@ -1,56 +0,0 @@
package model
import (
"encoding/json"
"time"
org_es_model "github.com/caos/zitadel/internal/org/repository/eventsourcing/model"
es_model "github.com/caos/zitadel/internal/iam/repository/eventsourcing/model"
"github.com/caos/logging"
caos_errs "github.com/caos/zitadel/internal/errors"
"github.com/caos/zitadel/internal/eventstore/v1/models"
)
const (
OrgIAMPolicyKeyAggregateID = "aggregate_id"
)
type OrgIAMPolicyView struct {
AggregateID string `json:"-" gorm:"column:aggregate_id;primary_key"`
CreationDate time.Time `json:"-" gorm:"column:creation_date"`
ChangeDate time.Time `json:"-" gorm:"column:change_date"`
State int32 `json:"-" gorm:"column:org_iam_policy_state"`
UserLoginMustBeDomain bool `json:"userLoginMustBeDomain" gorm:"column:user_login_must_be_domain"`
Default bool `json:"-" gorm:"-"`
Sequence uint64 `json:"-" gorm:"column:sequence"`
}
func (i *OrgIAMPolicyView) AppendEvent(event *models.Event) (err error) {
i.Sequence = event.Sequence
i.ChangeDate = event.CreationDate
switch event.Type {
case es_model.OrgIAMPolicyAdded, org_es_model.OrgIAMPolicyAdded:
i.setRootData(event)
i.CreationDate = event.CreationDate
err = i.SetData(event)
case es_model.OrgIAMPolicyChanged, org_es_model.OrgIAMPolicyChanged:
err = i.SetData(event)
}
return err
}
func (r *OrgIAMPolicyView) setRootData(event *models.Event) {
r.AggregateID = event.AggregateID
}
func (r *OrgIAMPolicyView) SetData(event *models.Event) error {
if err := json.Unmarshal(event.Data, r); err != nil {
logging.Log("EVEN-Dmi9g").WithError(err).Error("could not unmarshal event data")
return caos_errs.ThrowInternal(err, "MODEL-Hs8uf", "Could not unmarshal data")
}
return nil
}