mirror of
https://github.com/zitadel/zitadel.git
synced 2025-10-24 18:38:59 +00:00
* fix: pub sub in new eventstore * fix: todos * fix: todos * fix: todos * fix: todos * fix: todos
55 lines
1.9 KiB
Go
55 lines
1.9 KiB
Go
package view
|
|
|
|
import (
|
|
"github.com/caos/zitadel/internal/domain"
|
|
caos_errs "github.com/caos/zitadel/internal/errors"
|
|
iam_model "github.com/caos/zitadel/internal/iam/model"
|
|
"github.com/caos/zitadel/internal/iam/repository/view/model"
|
|
"github.com/caos/zitadel/internal/view/repository"
|
|
"github.com/jinzhu/gorm"
|
|
)
|
|
|
|
func GetDefaultLoginPolicies(db *gorm.DB, table string) ([]*model.LoginPolicyView, error) {
|
|
loginPolicies := make([]*model.LoginPolicyView, 0)
|
|
queries := []*iam_model.LoginPolicySearchQuery{
|
|
{Key: iam_model.LoginPolicySearchKeyDefault, Value: true, Method: domain.SearchMethodEquals},
|
|
}
|
|
query := repository.PrepareSearchQuery(table, model.LoginPolicySearchRequest{Queries: queries})
|
|
_, err := query(db, &loginPolicies)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return loginPolicies, nil
|
|
}
|
|
|
|
func GetLoginPolicyByAggregateID(db *gorm.DB, table, aggregateID string) (*model.LoginPolicyView, error) {
|
|
policy := new(model.LoginPolicyView)
|
|
aggregateIDQuery := &model.LoginPolicySearchQuery{Key: iam_model.LoginPolicySearchKeyAggregateID, Value: aggregateID, Method: domain.SearchMethodEquals}
|
|
query := repository.PrepareGetByQuery(table, aggregateIDQuery)
|
|
err := query(db, policy)
|
|
if caos_errs.IsNotFound(err) {
|
|
return nil, caos_errs.ThrowNotFound(nil, "VIEW-Lso0cs", "Errors.IAM.LoginPolicy.NotExisting")
|
|
}
|
|
return policy, err
|
|
}
|
|
|
|
func PutLoginPolicy(db *gorm.DB, table string, policy *model.LoginPolicyView) error {
|
|
save := repository.PrepareSave(table)
|
|
return save(db, policy)
|
|
}
|
|
|
|
func PutLoginPolicies(db *gorm.DB, table string, policies ...*model.LoginPolicyView) error {
|
|
save := repository.PrepareBulkSave(table)
|
|
u := make([]interface{}, len(policies))
|
|
for i, user := range policies {
|
|
u[i] = user
|
|
}
|
|
return save(db, u...)
|
|
}
|
|
|
|
func DeleteLoginPolicy(db *gorm.DB, table, aggregateID string) error {
|
|
delete := repository.PrepareDeleteByKey(table, model.LoginPolicySearchKey(iam_model.LoginPolicySearchKeyAggregateID), aggregateID)
|
|
|
|
return delete(db)
|
|
}
|