2021-01-08 11:33:45 +01:00
|
|
|
package command
|
|
|
|
|
|
|
|
import (
|
|
|
|
"context"
|
2022-04-12 16:20:17 +02:00
|
|
|
"strings"
|
2021-08-18 17:04:56 +02:00
|
|
|
|
2022-04-27 01:01:45 +02:00
|
|
|
"github.com/zitadel/zitadel/internal/api/authz"
|
|
|
|
"github.com/zitadel/zitadel/internal/command/preparation"
|
|
|
|
"github.com/zitadel/zitadel/internal/domain"
|
|
|
|
"github.com/zitadel/zitadel/internal/errors"
|
|
|
|
"github.com/zitadel/zitadel/internal/eventstore"
|
|
|
|
"github.com/zitadel/zitadel/internal/repository/org"
|
2022-11-30 17:01:17 +01:00
|
|
|
"github.com/zitadel/zitadel/internal/repository/project"
|
2023-04-26 16:19:32 +02:00
|
|
|
"github.com/zitadel/zitadel/internal/repository/user"
|
2021-01-08 11:33:45 +01:00
|
|
|
)
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
// InstanceOrgSetup is used for the first organisation in the instance setup.
|
|
|
|
// It used to be called OrgSetup, which now allows multiple Users, but it's used in the config.yaml and therefore
|
|
|
|
// a breaking change was not possible.
|
|
|
|
type InstanceOrgSetup struct {
|
2022-05-16 16:35:49 +02:00
|
|
|
Name string
|
|
|
|
CustomDomain string
|
2022-12-09 13:04:33 +00:00
|
|
|
Human *AddHuman
|
|
|
|
Machine *AddMachine
|
2022-07-12 15:38:47 +02:00
|
|
|
Roles []string
|
2022-04-12 16:20:17 +02:00
|
|
|
}
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
type OrgSetup struct {
|
|
|
|
Name string
|
|
|
|
CustomDomain string
|
|
|
|
Admins []*OrgSetupAdmin
|
|
|
|
}
|
|
|
|
|
|
|
|
// OrgSetupAdmin describes a user to be created (Human / Machine) or an existing (ID) to be used for an org setup.
|
|
|
|
type OrgSetupAdmin struct {
|
|
|
|
ID string
|
|
|
|
Human *AddHuman
|
|
|
|
Machine *AddMachine
|
|
|
|
Roles []string
|
|
|
|
}
|
|
|
|
|
|
|
|
type orgSetupCommands struct {
|
|
|
|
validations []preparation.Validation
|
|
|
|
aggregate *org.Aggregate
|
|
|
|
commands *Commands
|
|
|
|
|
|
|
|
admins []*OrgSetupAdmin
|
|
|
|
pats []*PersonalAccessToken
|
|
|
|
machineKeys []*MachineKey
|
|
|
|
}
|
|
|
|
|
|
|
|
type CreatedOrg struct {
|
|
|
|
ObjectDetails *domain.ObjectDetails
|
|
|
|
CreatedAdmins []*CreatedOrgAdmin
|
|
|
|
}
|
2022-04-12 16:20:17 +02:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
type CreatedOrgAdmin struct {
|
|
|
|
ID string
|
|
|
|
EmailCode *string
|
|
|
|
PhoneCode *string
|
|
|
|
PAT *PersonalAccessToken
|
|
|
|
MachineKey *MachineKey
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Commands) setUpOrgWithIDs(ctx context.Context, o *OrgSetup, orgID string, allowInitialMail bool, userIDs ...string) (_ *CreatedOrg, err error) {
|
|
|
|
cmds := c.newOrgSetupCommands(ctx, orgID, o, userIDs)
|
|
|
|
for _, admin := range o.Admins {
|
|
|
|
if err = cmds.setupOrgAdmin(admin, allowInitialMail); err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if err = cmds.addCustomDomain(o.CustomDomain, userIDs); err != nil {
|
|
|
|
return nil, err
|
2022-07-12 15:38:47 +02:00
|
|
|
}
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
return cmds.push(ctx)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Commands) newOrgSetupCommands(ctx context.Context, orgID string, orgSetup *OrgSetup, userIDs []string) *orgSetupCommands {
|
|
|
|
orgAgg := org.NewAggregate(orgID)
|
2022-05-16 16:35:49 +02:00
|
|
|
validations := []preparation.Validation{
|
2023-08-11 16:19:14 +02:00
|
|
|
AddOrgCommand(ctx, orgAgg, orgSetup.Name, userIDs...),
|
|
|
|
}
|
|
|
|
return &orgSetupCommands{
|
|
|
|
validations: validations,
|
|
|
|
aggregate: orgAgg,
|
|
|
|
commands: c,
|
|
|
|
admins: orgSetup.Admins,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *orgSetupCommands) setupOrgAdmin(admin *OrgSetupAdmin, allowInitialMail bool) error {
|
|
|
|
if admin.ID != "" {
|
|
|
|
c.validations = append(c.validations, c.commands.AddOrgMemberCommand(c.aggregate, admin.ID, orgAdminRoles(admin.Roles)...))
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
userID, err := c.commands.idGenerator.Next()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
|
|
|
if admin.Human != nil {
|
|
|
|
admin.Human.ID = userID
|
|
|
|
c.validations = append(c.validations, c.commands.AddHumanCommand(admin.Human, c.aggregate.ID, c.commands.userPasswordHasher, c.commands.userEncryption, allowInitialMail))
|
|
|
|
} else if admin.Machine != nil {
|
|
|
|
admin.Machine.Machine.AggregateID = userID
|
|
|
|
if err = c.setupOrgAdminMachine(c.aggregate, admin.Machine); err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2022-05-16 16:35:49 +02:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
c.validations = append(c.validations, c.commands.AddOrgMemberCommand(c.aggregate, userID, orgAdminRoles(admin.Roles)...))
|
|
|
|
return nil
|
|
|
|
}
|
2022-12-09 13:04:33 +00:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
func (c *orgSetupCommands) setupOrgAdminMachine(orgAgg *org.Aggregate, machine *AddMachine) error {
|
|
|
|
userAgg := user.NewAggregate(machine.Machine.AggregateID, orgAgg.ID)
|
|
|
|
c.validations = append(c.validations, AddMachineCommand(userAgg, machine.Machine))
|
2022-12-09 13:04:33 +00:00
|
|
|
var pat *PersonalAccessToken
|
2023-08-11 16:19:14 +02:00
|
|
|
var machineKey *MachineKey
|
|
|
|
if machine.Pat != nil {
|
|
|
|
pat = NewPersonalAccessToken(orgAgg.ID, machine.Machine.AggregateID, machine.Pat.ExpirationDate, machine.Pat.Scopes, domain.UserTypeMachine)
|
|
|
|
tokenID, err := c.commands.idGenerator.Next()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
2022-12-09 13:04:33 +00:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
pat.TokenID = tokenID
|
|
|
|
c.pats = append(c.pats, pat)
|
|
|
|
c.validations = append(c.validations, prepareAddPersonalAccessToken(pat, c.commands.keyAlgorithm))
|
|
|
|
}
|
|
|
|
if machine.MachineKey != nil {
|
|
|
|
machineKey = NewMachineKey(orgAgg.ID, machine.Machine.AggregateID, machine.MachineKey.ExpirationDate, machine.MachineKey.Type)
|
|
|
|
keyID, err := c.commands.idGenerator.Next()
|
|
|
|
if err != nil {
|
|
|
|
return err
|
2022-12-09 13:04:33 +00:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
machineKey.KeyID = keyID
|
|
|
|
c.machineKeys = append(c.machineKeys, machineKey)
|
|
|
|
c.validations = append(c.validations, prepareAddUserMachineKey(machineKey, c.commands.keySize))
|
2022-12-09 13:04:33 +00:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
return nil
|
|
|
|
}
|
2022-12-09 13:04:33 +00:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
func (c *orgSetupCommands) addCustomDomain(domain string, userIDs []string) error {
|
|
|
|
if domain != "" {
|
|
|
|
c.validations = append(c.validations, c.commands.prepareAddOrgDomain(c.aggregate, domain, userIDs))
|
2022-05-16 16:35:49 +02:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
return nil
|
|
|
|
}
|
2022-05-16 16:35:49 +02:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
func orgAdminRoles(roles []string) []string {
|
|
|
|
if len(roles) > 0 {
|
|
|
|
return roles
|
2022-04-12 16:20:17 +02:00
|
|
|
}
|
2023-08-11 16:19:14 +02:00
|
|
|
return []string{domain.RoleOrgOwner}
|
|
|
|
}
|
2022-04-12 16:20:17 +02:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
func (c *orgSetupCommands) push(ctx context.Context) (_ *CreatedOrg, err error) {
|
|
|
|
cmds, err := preparation.PrepareCommands(ctx, c.commands.eventstore.Filter, c.validations...)
|
2022-04-12 16:20:17 +02:00
|
|
|
if err != nil {
|
2023-08-11 16:19:14 +02:00
|
|
|
return nil, err
|
2022-04-12 16:20:17 +02:00
|
|
|
}
|
2022-12-09 13:04:33 +00:00
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
events, err := c.commands.eventstore.Push(ctx, cmds...)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
2022-12-09 13:04:33 +00:00
|
|
|
}
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
return &CreatedOrg{
|
|
|
|
ObjectDetails: &domain.ObjectDetails{
|
|
|
|
Sequence: events[len(events)-1].Sequence(),
|
|
|
|
EventDate: events[len(events)-1].CreationDate(),
|
|
|
|
ResourceOwner: c.aggregate.ID,
|
|
|
|
},
|
|
|
|
CreatedAdmins: c.createdAdmins(),
|
2022-04-12 16:20:17 +02:00
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
func (c *orgSetupCommands) createdAdmins() []*CreatedOrgAdmin {
|
|
|
|
users := make([]*CreatedOrgAdmin, 0, len(c.admins))
|
|
|
|
for _, admin := range c.admins {
|
|
|
|
if admin.ID != "" {
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
if admin.Human != nil {
|
|
|
|
users = append(users, c.createdHumanAdmin(admin))
|
|
|
|
continue
|
|
|
|
}
|
|
|
|
if admin.Machine != nil {
|
|
|
|
users = append(users, c.createdMachineAdmin(admin))
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return users
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *orgSetupCommands) createdHumanAdmin(admin *OrgSetupAdmin) *CreatedOrgAdmin {
|
|
|
|
createdAdmin := &CreatedOrgAdmin{
|
|
|
|
ID: admin.Human.ID,
|
|
|
|
}
|
|
|
|
if admin.Human.EmailCode != nil {
|
|
|
|
createdAdmin.EmailCode = admin.Human.EmailCode
|
|
|
|
}
|
|
|
|
return createdAdmin
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *orgSetupCommands) createdMachineAdmin(admin *OrgSetupAdmin) *CreatedOrgAdmin {
|
|
|
|
createdAdmin := &CreatedOrgAdmin{
|
|
|
|
ID: admin.Machine.Machine.AggregateID,
|
|
|
|
}
|
|
|
|
if admin.Machine.Pat != nil {
|
|
|
|
for _, pat := range c.pats {
|
|
|
|
if pat.AggregateID == createdAdmin.ID {
|
|
|
|
createdAdmin.PAT = pat
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if admin.Machine.MachineKey != nil {
|
|
|
|
for _, key := range c.machineKeys {
|
|
|
|
if key.AggregateID == createdAdmin.ID {
|
|
|
|
createdAdmin.MachineKey = key
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return createdAdmin
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Commands) SetUpOrg(ctx context.Context, o *OrgSetup, allowInitialMail bool, userIDs ...string) (*CreatedOrg, error) {
|
2022-07-28 15:42:35 +02:00
|
|
|
orgID, err := c.idGenerator.Next()
|
|
|
|
if err != nil {
|
2023-08-11 16:19:14 +02:00
|
|
|
return nil, err
|
2022-07-28 15:42:35 +02:00
|
|
|
}
|
|
|
|
|
2023-08-11 16:19:14 +02:00
|
|
|
return c.setUpOrgWithIDs(ctx, o, orgID, allowInitialMail, userIDs...)
|
2022-07-28 15:42:35 +02:00
|
|
|
}
|
|
|
|
|
2022-10-06 14:23:59 +02:00
|
|
|
// AddOrgCommand defines the commands to create a new org,
|
2022-04-12 16:20:17 +02:00
|
|
|
// this includes the verified default domain
|
2022-05-16 16:35:49 +02:00
|
|
|
func AddOrgCommand(ctx context.Context, a *org.Aggregate, name string, userIDs ...string) preparation.Validation {
|
2022-04-12 16:20:17 +02:00
|
|
|
return func() (preparation.CreateCommands, error) {
|
|
|
|
if name = strings.TrimSpace(name); name == "" {
|
|
|
|
return nil, errors.ThrowInvalidArgument(nil, "ORG-mruNY", "Errors.Invalid.Argument")
|
|
|
|
}
|
|
|
|
defaultDomain := domain.NewIAMDomainName(name, authz.GetInstance(ctx).RequestedDomain())
|
|
|
|
return func(ctx context.Context, filter preparation.FilterToQueryReducer) ([]eventstore.Command, error) {
|
|
|
|
return []eventstore.Command{
|
|
|
|
org.NewOrgAddedEvent(ctx, &a.Aggregate, name),
|
|
|
|
org.NewDomainAddedEvent(ctx, &a.Aggregate, defaultDomain),
|
|
|
|
org.NewDomainVerifiedEvent(ctx, &a.Aggregate, defaultDomain),
|
|
|
|
org.NewDomainPrimarySetEvent(ctx, &a.Aggregate, defaultDomain),
|
|
|
|
}, nil
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-02-24 11:17:39 +01:00
|
|
|
func (c *Commands) getOrg(ctx context.Context, orgID string) (*domain.Org, error) {
|
|
|
|
writeModel, err := c.getOrgWriteModelByID(ctx, orgID)
|
2021-01-15 09:32:59 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
if !isOrgStateExists(writeModel.State) {
|
|
|
|
return nil, errors.ThrowInternal(err, "COMMAND-4M9sf", "Errors.Org.NotFound")
|
2021-01-15 09:32:59 +01:00
|
|
|
}
|
|
|
|
return orgWriteModelToOrg(writeModel), nil
|
|
|
|
}
|
|
|
|
|
2021-02-24 11:17:39 +01:00
|
|
|
func (c *Commands) checkOrgExists(ctx context.Context, orgID string) error {
|
|
|
|
orgWriteModel, err := c.getOrgWriteModelByID(ctx, orgID)
|
2021-01-28 06:35:26 +01:00
|
|
|
if err != nil {
|
|
|
|
return err
|
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
if !isOrgStateExists(orgWriteModel.State) {
|
|
|
|
return errors.ThrowPreconditionFailed(nil, "COMMAND-QXPGs", "Errors.Org.NotFound")
|
2021-01-28 06:35:26 +01:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
2022-07-28 15:42:35 +02:00
|
|
|
func (c *Commands) AddOrgWithID(ctx context.Context, name, userID, resourceOwner, orgID string, claimedUserIDs []string) (*domain.Org, error) {
|
|
|
|
existingOrg, err := c.getOrgWriteModelByID(ctx, orgID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if existingOrg.State != domain.OrgStateUnspecified {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowNotFound(nil, "ORG-lapo2m", "Errors.Org.AlreadyExisting")
|
2022-07-28 15:42:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return c.addOrgWithIDAndMember(ctx, name, userID, resourceOwner, orgID, claimedUserIDs)
|
|
|
|
}
|
|
|
|
|
2021-05-04 11:09:24 +02:00
|
|
|
func (c *Commands) AddOrg(ctx context.Context, name, userID, resourceOwner string, claimedUserIDs []string) (*domain.Org, error) {
|
2022-08-19 15:00:14 +02:00
|
|
|
if name = strings.TrimSpace(name); name == "" {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowInvalidArgument(nil, "EVENT-Mf9sd", "Errors.Org.Invalid")
|
2022-07-28 15:42:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
orgID, err := c.idGenerator.Next()
|
|
|
|
if err != nil {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowInternal(err, "COMMA-OwciI", "Errors.Internal")
|
2022-07-28 15:42:35 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
return c.addOrgWithIDAndMember(ctx, name, userID, resourceOwner, orgID, claimedUserIDs)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Commands) addOrgWithIDAndMember(ctx context.Context, name, userID, resourceOwner, orgID string, claimedUserIDs []string) (*domain.Org, error) {
|
|
|
|
orgAgg, addedOrg, events, err := c.addOrgWithID(ctx, &domain.Org{Name: name}, orgID, claimedUserIDs)
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2021-02-24 11:17:39 +01:00
|
|
|
err = c.checkUserExists(ctx, userID, resourceOwner)
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2021-02-18 14:48:27 +01:00
|
|
|
addedMember := NewOrgMemberWriteModel(addedOrg.AggregateID, userID)
|
2021-02-24 11:17:39 +01:00
|
|
|
orgMemberEvent, err := c.addOrgMember(ctx, orgAgg, addedMember, domain.NewMember(orgAgg.ID, userID, domain.RoleOrgOwner))
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2021-02-18 14:48:27 +01:00
|
|
|
events = append(events, orgMemberEvent)
|
2022-01-03 09:19:07 +01:00
|
|
|
pushedEvents, err := c.eventstore.Push(ctx, events...)
|
feat: cascade changes and removes (#1239)
* chore(site): dependabot deps (#1148)
* chore(deps): bump highlight.js from 10.4.1 to 10.5.0 in /site (#1143)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 10.4.1 to 10.5.0.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/master/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/10.4.1...10.5.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/plugin-transform-runtime in /site (#1144)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.12.1 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-plugin-transform-runtime)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump sirv from 1.0.7 to 1.0.10 in /site (#1145)
Bumps [sirv](https://github.com/lukeed/sirv) from 1.0.7 to 1.0.10.
- [Release notes](https://github.com/lukeed/sirv/releases)
- [Commits](https://github.com/lukeed/sirv/compare/v1.0.7...v1.0.10)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup from 2.34.0 to 2.35.1 in /site (#1142)
Bumps [rollup](https://github.com/rollup/rollup) from 2.34.0 to 2.35.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.34.0...v2.35.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-node-resolve in /site (#1141)
Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins) from 10.0.0 to 11.0.1.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/node-resolve-v10.0.0...commonjs-v11.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump marked from 1.2.5 to 1.2.7 in /site (#1140)
Bumps [marked](https://github.com/markedjs/marked) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v1.2.5...v1.2.7)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/core from 7.12.9 to 7.12.10 in /site (#1139)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.9 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-core)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup-plugin-svelte from 6.1.1 to 7.0.0 in /site (#1138)
Bumps [rollup-plugin-svelte](https://github.com/sveltejs/rollup-plugin-svelte) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/sveltejs/rollup-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/rollup-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/rollup-plugin-svelte/compare/v6.1.1...v7.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/preset-env from 7.12.1 to 7.12.11 in /site (#1137)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.1 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* downgrade svelte plugin
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(console): dependabot deps (#1147)
* chore(deps-dev): bump @types/node from 14.14.13 to 14.14.19 in /console (#1146)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.13 to 14.14.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump ts-protoc-gen from 0.13.0 to 0.14.0 in /console (#1129)
Bumps [ts-protoc-gen](https://github.com/improbable-eng/ts-protoc-gen) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/improbable-eng/ts-protoc-gen/releases)
- [Changelog](https://github.com/improbable-eng/ts-protoc-gen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/improbable-eng/ts-protoc-gen/compare/0.13.0...0.14.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1128)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.4 to 11.0.5.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.0.5/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.4 to 11.0.5 in /console (#1127)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.4 to 11.0.5.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.4...v11.0.5)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1126)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.4 to 0.1100.5.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* audit
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: e-mail templates (#1158)
* View definition added
* Get templates and texts from the database.
* Fill in texts in templates
* Fill in texts in templates
* Client API added
* Weekly backup
* Weekly backup
* Daily backup
* Weekly backup
* Tests added
* Corrections from merge branch
* Fixes from pull request review
* chore(console): dependencies (#1189)
* chore(deps-dev): bump @angular/language-service in /console (#1187)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.5 to 11.0.9.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.0.9/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump google-proto-files from 2.3.0 to 2.4.0 in /console (#1186)
Bumps [google-proto-files](https://github.com/googleapis/nodejs-proto-files) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/googleapis/nodejs-proto-files/releases)
- [Changelog](https://github.com/googleapis/nodejs-proto-files/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/nodejs-proto-files/compare/v2.3.0...v2.4.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @types/node from 14.14.19 to 14.14.21 in /console (#1185)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.19 to 14.14.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.5 to 11.0.7 in /console (#1184)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.5 to 11.0.7.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.5...v11.0.7)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 5.2.3 to 6.0.0 in /console (#1183)
Bumps [karma](https://github.com/karma-runner/karma) from 5.2.3 to 6.0.0.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v5.2.3...v6.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1182)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.5 to 0.1100.7.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: change login to command side
* feat: change login to command side
* fix: fix push on user
* fix(console): trigger unauthenticated dialog only once (#1170)
* fix: trigger dialog once
* remove log
* typed trigger
* chore(console): dependencies (#1205)
* chore(deps-dev): bump stylelint from 13.8.0 to 13.9.0 in /console (#1204)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.8.0 to 13.9.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.8.0...13.9.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1203)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.9 to 11.1.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.1.0/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 6.0.0 to 6.0.1 in /console (#1202)
Bumps [karma](https://github.com/karma-runner/karma) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.0.0...v6.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.7 to 11.1.1 in /console (#1201)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.7 to 11.1.1.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.7...v11.1.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @types/jasmine from 3.6.2 to 3.6.3 in /console (#1200)
Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 3.6.2 to 3.6.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps-dev): bump @types/node from 14.14.21 to 14.14.22 in /console (#1199)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.21 to 14.14.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1198)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.7 to 0.1101.1.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps): bump angularx-qrcode from 10.0.11 to 11.0.0 in /console (#1197)
Bumps [angularx-qrcode](https://github.com/cordobo/angularx-qrcode) from 10.0.11 to 11.0.0.
- [Release notes](https://github.com/cordobo/angularx-qrcode/releases)
- [Commits](https://github.com/cordobo/angularx-qrcode/compare/10.0.11...11.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix pack lock
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: handle sequence correctly in subscription (#1209)
* feat: user command side
* feat: sign out
* feat: command side login
* feat: command side login
* feat: fix register user
* feat: fix register user
* feat: fix web auth n events
* feat: add machine keys
* feat: send codes
* feat: move authrequest to domain
* feat: move authrequest to domain
* feat: webauthn working
* fix: correct master after merges again (#1230)
* chore(docs): correct `iss` claim of jwt profile (#1229)
* core(docs): correct `iss` claim of jwt profile
* fix: correct master after merges again (#1230)
* feat(login): new palette based styles (#1149)
* chore(deps-dev): bump rollup from 2.33.2 to 2.34.0 in /site (#1040)
Bumps [rollup](https://github.com/rollup/rollup) from 2.33.2 to 2.34.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.33.2...v2.34.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump svelte-i18n from 3.2.5 to 3.3.0 in /site (#1039)
Bumps [svelte-i18n](https://github.com/kaisermann/svelte-i18n) from 3.2.5 to 3.3.0.
- [Release notes](https://github.com/kaisermann/svelte-i18n/releases)
- [Changelog](https://github.com/kaisermann/svelte-i18n/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kaisermann/svelte-i18n/compare/v3.2.5...v3.3.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-url from 5.0.1 to 6.0.0 in /site (#1038)
Bumps [@rollup/plugin-url](https://github.com/rollup/plugins) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/url-v5.0.1...url-v6.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump svelte from 3.29.7 to 3.30.1 in /site (#1037)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.29.7 to 3.30.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.29.7...v3.30.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump marked from 1.2.4 to 1.2.5 in /site (#1036)
Bumps [marked](https://github.com/markedjs/marked) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v1.2.4...v1.2.5)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/core from 7.12.3 to 7.12.9 in /site (#1035)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.3 to 7.12.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.9/packages/babel-core)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup-plugin-svelte from 6.1.1 to 7.0.0 in /site (#1034)
Bumps [rollup-plugin-svelte](https://github.com/sveltejs/rollup-plugin-svelte) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/sveltejs/rollup-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/rollup-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/rollup-plugin-svelte/compare/v6.1.1...v7.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-commonjs in /site (#1033)
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins) from 15.1.0 to 17.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/commonjs-v15.1.0...commonjs-v17.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-node-resolve in /site (#1032)
Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins) from 10.0.0 to 11.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/node-resolve-v10.0.0...commonjs-v11.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/preset-env from 7.12.1 to 7.12.7 in /site (#1031)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.1 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-preset-env)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* go
* bundle files, lgn-color, legacy theme
* remove old references
* light dark context, button styles, zitadel brand
* button theme, edit templates
* typography theme mixins
* input styles, container, extend light dark palette
* footer, palette, container
* container, label, assets, header
* action container, input, typography label, adapt button theme
* a and footer styles, adapt palette
* user log profile, resourcetempurl
* postinstall againnn
* wrochage
* rm local grpc
* button elevation, helper for components
* radio
* radio button mixins, bundle
* qr code styles, secret clipboard, icon pack
* stroked buttons, icon buttons, header action, typography
* fix password policy styles
* account selection
* account selection, lgn avatar
* mocks
* template fixes, animations scss
* checkbox, register temp
* checkbox appr
* fix checkbox, remove input interference
* select theme
* avatar script, user selection, password policy validation fix
* fix formfield state for register and change pwd
* footer, main style, qr code fix, mfa type fix, account sel, checkbox
* fotter tos, user select
* reverse buttons for intial submit action
* theme script, themed error messages, header img source
* content wrapper, i18n, mobile
* emptyline
* idp mixins, fix unstyled html
* register container
* register layout, list themes, policy theme, register org
* massive asset cleanup
* fix source path, add missing icon, fix complexity refs, prefix
* remove material icons, unused assets, fix icon font
* move icon pack
* avatar, contrast theme, error fix
* zitadel css map
* revert go mod
* fix mfa verify actions
* add idp styles
* fix google colors, idp styles
* fix: bugs
* fix register options, google
* fix script, mobile layout
* precompile font selection
* go mod tidy
* assets and cleanup
* input suffix, fix alignment, actions, add progress bar themes
* progress bar mixins, layout fixes
* remove test from loginname
* cleanup comments, scripts
* clear comments
* fix external back button
* fix mfa alignment
* fix actions layout, on dom change listener for suffix
* free tier change, success label
* fix: button font line-height
* remove tabindex
* remove comment
* remove comment
* Update internal/ui/login/handler/password_handler.go
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Peintner <csaq7175@uibk.ac.at>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
* feat: external users
* chore(console): dependencies (#1233)
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1214)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1101.1 to 0.1101.2.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 6.0.1 to 6.0.3 in /console (#1215)
Bumps [karma](https://github.com/karma-runner/karma) from 6.0.1 to 6.0.3.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.0.1...v6.0.3)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1216)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.1.0 to 11.1.1.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.1.1/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.1.1 to 11.1.2 in /console (#1217)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.1.1 to 11.1.2.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.1.1...v11.1.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* lock
* site deps
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: external users login
* feat: notify users
* fix: tests
* feat: cascade remove user grants on project remove
* feat: cascade remove user grants on user remove
* feat: cascade remove roles
* feat: verified domain
* feat: cascade remove on idp config remove
* feat: cascade remove on system idp config remove
* fix: get email texts with default language (#1238)
* fix: login policy
* fix: login policy
* fix: cascade delete on remove idp from default policy
* fix(login): mail verification (#1237)
* fix: mail verification
* not block, stroked
* fix: issues of new login ui (#1241)
* fix: i18n of register
* fix: autofocus
* feat(operator): zitadel and database operator (#1208)
* feat(operator): add base for zitadel operator
* fix(operator): changed pipeline to release operator
* fix(operator): fmt with only one parameter
* fix(operator): corrected workflow job name
* fix(zitadelctl): added restore and backuplist command
* fix(zitadelctl): scale for restore
* chore(container): use scratch for deploy container
* fix(zitadelctl): limit image to scratch
* fix(migration): added migration scripts for newer version
* fix(operator): changed handling of kubeconfig in operator logic
* fix(operator): changed handling of secrets in operator logic
* fix(operator): use new version of zitadel
* fix(operator): added path for migrations
* fix(operator): delete doublets of migration scripts
* fix(operator): delete subpaths and integrate logic into init container
* fix(operator): corrected path in dockerfile for local migrations
* fix(operator): added migrations for cockroachdb-secure
* fix(operator): delete logic for ambassador module
* fix(operator): added read and write secret commands
* fix(operator): correct and align operator pipeline with zitadel pipeline
* fix(operator): correct yaml error in operator pipeline
* fix(operator): correct action name in operator pipeline
* fix(operator): correct case-sensitive filename in operator pipeline
* fix(operator): upload artifacts from buildx output
* fix(operator): corrected attribute spelling error
* fix(operator): combined jobs for operator binary and image
* fix(operator): added missing comma in operator pipeline
* fix(operator): added codecov for operator image
* fix(operator): added codecov for operator image
* fix(testing): code changes for testing and several unit-tests (#1009)
* fix(operator): usage of interface of kubernetes client for testing and several unit-tests
* fix(operator): several unit-tests
* fix(operator): several unit-tests
* fix(operator): changed order for the operator logic
* fix(operator): added version of zitadelctl from semantic release
* fix(operator): corrected function call with version of zitadelctl
* fix(operator): corrected function call with version of zitadelctl
* fix(operator): add check output to operator release pipeline
* fix(operator): set --short length everywhere to 12
* fix(operator): zitadel setup in job instead of exec with several unit tests
* fix(operator): fixes to combine newest zitadel and testing branch
* fix(operator): corrected path in Dockerfile
* fix(operator): fixed unit-test that was ignored during changes
* fix(operator): fixed unit-test that was ignored during changes
* fix(operator): corrected Dockerfile to correctly use env variable
* fix(operator): quickfix takeoff deployment
* fix(operator): corrected the clusterrolename in the applied artifacts
* fix: update secure migrations
* fix(operator): migrations (#1057)
* fix(operator): copied migrations from orbos repository
* fix(operator): newest migrations
* chore: use cockroach-secure
* fix: rename migration
* fix: remove insecure cockroach migrations
Co-authored-by: Stefan Benz <stefan@caos.ch>
* fix: finalize labels
* fix(operator): cli logging concurrent and fixe deployment of operator during restore
* fix: finalize labels and cli commands
* fix: restore
* chore: cockroachdb is always secure
* chore: use orbos consistent-labels latest commit
* test: make tests compatible with new labels
* fix: default to sa token for start command
* fix: use cockroachdb v12.02
* fix: don't delete flyway user
* test: fix migration test
* fix: use correct table qualifiers
* fix: don't alter sequence ownership
* fix: upgrade flyway
* fix: change ownership of all dbs and tables to admin user
* fix: change defaultdb user
* fix: treat clientid status codes >= 400 as errors
* fix: reconcile specified ZITADEL version, not binary version
* fix: add ca-certs
* fix: use latest orbos code
* fix: use orbos with fixed race condition
* fix: use latest ORBOS code
* fix: use latest ORBOS code
* fix: make migration and scaling around restoring work
* fix(operator): move zitadel operator
* chore(migrations): include owner change migration
* feat(db): add code base for database operator
* fix(db): change used image registry for database operator
* fix(db): generated mock
* fix(db): add accidentally ignored file
* fix(db): add cockroachdb backup image to pipeline
* fix(db): correct pipeline and image versions
* fix(db): correct version of used orbos
* fix(db): correct database import
* fix(db): go mod tidy
* fix(db): use new version for orbos
* fix(migrations): include migrations into zitadelctl binary (#1211)
* fix(db): use statik to integrate migrations into binary
* fix(migrations): corrections unit tests and pipeline for integrated migrations into zitadelctl binary
* fix(migrations): correction in dockerfile for pipeline build
* fix(migrations): correction in dockerfile for pipeline build
* fix(migrations): dockerfile changes for cache optimization
* fix(database): correct used part-of label in database operator
* fix(database): correct used selectable label in zitadel operator
* fix(operator): correct lables for user secrets in zitadel operator
* fix(operator): correct lables for service test in zitadel operator
* fix: don't enable database features for user operations (#1227)
* fix: don't enable database features for user operations
* fix: omit database feature for connection info adapter
* fix: use latest orbos version
* fix: update ORBOS (#1240)
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: Elio Bischof <eliobischof@gmail.com>
* Merge branch 'new-eventstore' into cascades
# Conflicts:
# internal/auth/repository/auth_request.go
# internal/auth/repository/eventsourcing/eventstore/auth_request.go
# internal/management/repository/eventsourcing/eventstore/user_grant.go
# internal/management/repository/user_grant.go
# internal/ui/login/handler/external_login_handler.go
# internal/ui/login/handler/external_register_handler.go
# internal/ui/login/handler/init_password_handler.go
# internal/ui/login/handler/register_handler.go
# internal/user/repository/view/model/notify_user.go
# internal/v2/command/org_policy_login.go
# internal/v2/command/project.go
# internal/v2/command/user.go
# internal/v2/command/user_human.go
# internal/v2/command/user_human_externalidp.go
# internal/v2/command/user_human_init.go
# internal/v2/command/user_human_password.go
# internal/v2/command/user_human_webauthn.go
# internal/v2/domain/next_step.go
# internal/v2/domain/policy_login.go
# internal/v2/domain/request.go
* Merge branch 'new-eventstore' into cascades
# Conflicts:
# internal/auth/repository/auth_request.go
# internal/auth/repository/eventsourcing/eventstore/auth_request.go
# internal/management/repository/eventsourcing/eventstore/user_grant.go
# internal/management/repository/user_grant.go
# internal/ui/login/handler/external_login_handler.go
# internal/ui/login/handler/external_register_handler.go
# internal/ui/login/handler/init_password_handler.go
# internal/ui/login/handler/register_handler.go
# internal/user/repository/view/model/notify_user.go
# internal/v2/command/org_policy_login.go
# internal/v2/command/project.go
# internal/v2/command/user.go
# internal/v2/command/user_human.go
# internal/v2/command/user_human_externalidp.go
# internal/v2/command/user_human_init.go
# internal/v2/command/user_human_password.go
# internal/v2/command/user_human_webauthn.go
# internal/v2/domain/next_step.go
# internal/v2/domain/policy_login.go
# internal/v2/domain/request.go
* chore: add local migrate_local.go again (#1261)
* fix: logging on cascade removes
* fix: migrations
* fix: tests
* fix: tests
* chore: pass params in migrate_local.go
* migrations
* fix query
* fix tests
* fix tests
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Waeger <49439088+michaelulrichwaeger@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Maximilian Peintner <csaq7175@uibk.ac.at>
Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: Elio Bischof <eliobischof@gmail.com>
2021-02-09 10:14:40 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2021-02-18 14:48:27 +01:00
|
|
|
err = AppendAndReduce(addedOrg, pushedEvents...)
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return orgWriteModelToOrg(addedOrg), nil
|
|
|
|
}
|
|
|
|
|
2021-05-04 11:09:24 +02:00
|
|
|
func (c *Commands) ChangeOrg(ctx context.Context, orgID, name string) (*domain.ObjectDetails, error) {
|
2022-08-19 15:00:14 +02:00
|
|
|
name = strings.TrimSpace(name)
|
2021-05-04 11:09:24 +02:00
|
|
|
if orgID == "" || name == "" {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowInvalidArgument(nil, "EVENT-Mf9sd", "Errors.Org.Invalid")
|
2021-05-04 11:09:24 +02:00
|
|
|
}
|
2022-07-28 15:42:35 +02:00
|
|
|
|
2021-05-04 11:09:24 +02:00
|
|
|
orgWriteModel, err := c.getOrgWriteModelByID(ctx, orgID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
if !isOrgStateExists(orgWriteModel.State) {
|
|
|
|
return nil, errors.ThrowNotFound(nil, "ORG-1MRds", "Errors.Org.NotFound")
|
2021-05-04 11:09:24 +02:00
|
|
|
}
|
|
|
|
if orgWriteModel.Name == name {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowPreconditionFailed(nil, "ORG-4VSdf", "Errors.Org.NotChanged")
|
2021-05-04 11:09:24 +02:00
|
|
|
}
|
|
|
|
orgAgg := OrgAggregateFromWriteModel(&orgWriteModel.WriteModel)
|
2022-01-03 09:19:07 +01:00
|
|
|
events := make([]eventstore.Command, 0)
|
2021-05-04 11:09:24 +02:00
|
|
|
events = append(events, org.NewOrgChangedEvent(ctx, orgAgg, orgWriteModel.Name, name))
|
|
|
|
changeDomainEvents, err := c.changeDefaultDomain(ctx, orgID, name)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
if len(changeDomainEvents) > 0 {
|
|
|
|
events = append(events, changeDomainEvents...)
|
|
|
|
}
|
2022-01-03 09:19:07 +01:00
|
|
|
pushedEvents, err := c.eventstore.Push(ctx, events...)
|
2021-05-04 11:09:24 +02:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
err = AppendAndReduce(orgWriteModel, pushedEvents...)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return writeModelToObjectDetails(&orgWriteModel.WriteModel), nil
|
|
|
|
}
|
|
|
|
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
func (c *Commands) DeactivateOrg(ctx context.Context, orgID string) (*domain.ObjectDetails, error) {
|
2021-02-24 11:17:39 +01:00
|
|
|
orgWriteModel, err := c.getOrgWriteModelByID(ctx, orgID)
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
return nil, err
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
if !isOrgStateExists(orgWriteModel.State) {
|
|
|
|
return nil, errors.ThrowNotFound(nil, "ORG-oL9nT", "Errors.Org.NotFound")
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
if orgWriteModel.State == domain.OrgStateInactive {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowPreconditionFailed(nil, "EVENT-Dbs2g", "Errors.Org.AlreadyDeactivated")
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
orgAgg := OrgAggregateFromWriteModel(&orgWriteModel.WriteModel)
|
2022-01-03 09:19:07 +01:00
|
|
|
pushedEvents, err := c.eventstore.Push(ctx, org.NewOrgDeactivatedEvent(ctx, orgAgg))
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
err = AppendAndReduce(orgWriteModel, pushedEvents...)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return writeModelToObjectDetails(&orgWriteModel.WriteModel), nil
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
func (c *Commands) ReactivateOrg(ctx context.Context, orgID string) (*domain.ObjectDetails, error) {
|
2021-02-24 11:17:39 +01:00
|
|
|
orgWriteModel, err := c.getOrgWriteModelByID(ctx, orgID)
|
2021-01-18 11:24:15 +01:00
|
|
|
if err != nil {
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
return nil, err
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
if !isOrgStateExists(orgWriteModel.State) {
|
|
|
|
return nil, errors.ThrowNotFound(nil, "ORG-Dgf3g", "Errors.Org.NotFound")
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
if orgWriteModel.State == domain.OrgStateActive {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, errors.ThrowPreconditionFailed(nil, "EVENT-bfnrh", "Errors.Org.AlreadyActive")
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
orgAgg := OrgAggregateFromWriteModel(&orgWriteModel.WriteModel)
|
2022-01-03 09:19:07 +01:00
|
|
|
pushedEvents, err := c.eventstore.Push(ctx, org.NewOrgReactivatedEvent(ctx, orgAgg))
|
feat: protos refactoring
* start with user
* user first try done in all services
* user, org, idp for discussion
* remove unused stuff
* bla
* dockerbuild
* rename search, get multiple to list...
* add annotation
* update proto dependencies
* update proto dependencies
* change proto imports
* replace all old imports
* fix go out
* remove unused lines
* correct protoc flags
* grpc and openapi flags
* go out source path relative
* -p
* remove dead code
* sourcepath relative
* ls
* is onenapi the problem?
* hobla
* authoption output
* wrong field name
* gopf
* correct option, add correct flags
* small improvments
* SIMPLYFY
* relative path
* gopf bin ich en tubel
* correct path
* default policies in admin
* grpc generation in one file
* remove non ascii
* metadata on manipulations
* correct auth_option import
* fixes
* larry
* idp provider to idp
* fix generate
* admin and auth nearly done
* admin and auth nearly done
* gen
* healthz
* imports
* deleted too much imports
* fix org
* add import
* imports
* import
* naming
* auth_opt
* gopf
* management
* imports
* _TYPE_UNSPECIFIED
* improts
* auth opts
* management policies
* imports
* passwordlessType to MFAType
* auth_opt
* add user grant calls
* add missing messages
* result
* fix option
* improvements
* ids
* fix http
* imports
* fixes
* fields
* body
* add fields
* remove wrong member query
* fix request response
* fixes
* add copy files
* variable versions
* generate all files
* improvements
* add dependencies
* factors
* user session
* oidc information, iam
* remove unused file
* changes
* enums
* dockerfile
* fix build
* remove unused folder
* update readme for build
* move old server impl
* add event type to change
* some changes
* start admin
* remove wrong field
* admin only list calls missing
* fix proto numbers
* surprisingly it compiles
* service ts changes
* admin mgmt
* mgmt
* auth manipulation and gets done, lists missing
* validations and some field changes
* validations
* enum validations
* remove todo
* move proto files to proto/zitadel
* change proto path in dockerfile
* it compiles!
* add validate import
* remove duplicate import
* fix protos
* fix import
* tests
* cleanup
* remove unimplemented methods
* iam member multiple queries
* all auth and admin calls
* add initial password on crate human
* message names
* management user server
* machine done
* fix: todos (#1346)
* fix: pub sub in new eventstore
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix: todos
* fix tests
* fix: search method domain
* admin service, user import type typescript
* admin changes
* admin changes
* fix: search method domain
* more user grpc and begin org, fix configs
* fix: return object details
* org grpc
* remove creation date add details
* app
* fix: return object details
* fix: return object details
* mgmt service, project members
* app
* fix: convert policies
* project, members, granted projects, searches
* fix: convert usergrants
* fix: convert usergrants
* auth user detail, user detail, mfa, second factor, auth
* fix: convert usergrants
* mfa, memberships, password, owned proj detail
* fix: convert usergrants
* project grant
* missing details
* changes, userview
* idp table, keys
* org list and user table filter
* unify rest paths (#1381)
* unify rest paths
* post for all searches,
mfa to multi_factor,
secondfactor to second_factor
* remove v1
* fix tests
* rename api client key to app key
* machine keys, age policy
* user list, machine keys, changes
* fix: org states
* add default flag to policy
* second factor to type
* idp id
* app type
* unify ListQuery, ListDetails, ObjectDetails field names
* user grants, apps, memberships
* fix type params
* metadata to detail, linke idps
* api create, membership, app detail, create
* idp, app, policy
* queries, multi -> auth factors and missing fields
* update converters
* provider to user, remove old mgmt refs
* temp remove authfactor dialog, build finish
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: Fabi <38692350+fgerschwiler@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Fabiennne <fabienne.gerschwiler@gmail.com>
2021-03-09 10:30:11 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
err = AppendAndReduce(orgWriteModel, pushedEvents...)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return writeModelToObjectDetails(&orgWriteModel.WriteModel), nil
|
2021-01-18 11:24:15 +01:00
|
|
|
}
|
|
|
|
|
2022-11-30 17:01:17 +01:00
|
|
|
func (c *Commands) RemoveOrg(ctx context.Context, id string) (*domain.ObjectDetails, error) {
|
|
|
|
orgAgg := org.NewAggregate(id)
|
|
|
|
|
|
|
|
cmds, err := preparation.PrepareCommands(ctx, c.eventstore.Filter, c.prepareRemoveOrg(orgAgg))
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
events, err := c.eventstore.Push(ctx, cmds...)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
return &domain.ObjectDetails{
|
|
|
|
Sequence: events[len(events)-1].Sequence(),
|
|
|
|
EventDate: events[len(events)-1].CreationDate(),
|
|
|
|
ResourceOwner: events[len(events)-1].Aggregate().InstanceID,
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func (c *Commands) prepareRemoveOrg(a *org.Aggregate) preparation.Validation {
|
|
|
|
return func() (preparation.CreateCommands, error) {
|
|
|
|
return func(ctx context.Context, filter preparation.FilterToQueryReducer) ([]eventstore.Command, error) {
|
2022-12-14 11:44:43 +01:00
|
|
|
instance := authz.GetInstance(ctx)
|
|
|
|
if a.ID == instance.DefaultOrganisationID() {
|
|
|
|
return nil, errors.ThrowPreconditionFailed(nil, "COMMA-wG9p1", "Errors.Org.DefaultOrgNotDeletable")
|
|
|
|
}
|
|
|
|
err := c.checkProjectExists(ctx, instance.ProjectID(), a.ID)
|
|
|
|
// if there is no error, the ZITADEL project was found on the org to be deleted
|
|
|
|
if err == nil {
|
|
|
|
return nil, errors.ThrowPreconditionFailed(err, "COMMA-AF3JW", "Errors.Org.ZitadelOrgNotDeletable")
|
|
|
|
}
|
|
|
|
// "precondition failed" error means the project does not exist, return other errors
|
|
|
|
if !errors.IsPreconditionFailed(err) {
|
|
|
|
return nil, err
|
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
writeModel, err := c.getOrgWriteModelByID(ctx, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, errors.ThrowPreconditionFailed(err, "COMMA-wG9p1", "Errors.Org.NotFound")
|
|
|
|
}
|
|
|
|
if !isOrgStateExists(writeModel.State) {
|
|
|
|
return nil, errors.ThrowNotFound(nil, "COMMA-aps2n", "Errors.Org.NotFound")
|
|
|
|
}
|
|
|
|
|
|
|
|
domainPolicy, err := c.getOrgDomainPolicy(ctx, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
usernames, err := OrgUsers(ctx, filter, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
domains, err := OrgDomains(ctx, filter, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
links, err := OrgUserIDPLinks(ctx, filter, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
entityIds, err := OrgSamlEntityIDs(ctx, filter, a.ID)
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return []eventstore.Command{org.NewOrgRemovedEvent(ctx, &a.Aggregate, writeModel.Name, usernames, domainPolicy.UserLoginMustBeDomain, domains, links, entityIds)}, nil
|
|
|
|
}, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func OrgUserIDPLinks(ctx context.Context, filter preparation.FilterToQueryReducer, orgID string) ([]*domain.UserIDPLink, error) {
|
|
|
|
events, err := filter(ctx, eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
|
|
|
ResourceOwner(orgID).
|
|
|
|
OrderAsc().
|
|
|
|
AddQuery().
|
2023-04-26 16:19:32 +02:00
|
|
|
AggregateTypes(user.AggregateType).
|
2022-11-30 17:01:17 +01:00
|
|
|
EventTypes(
|
2023-04-26 16:19:32 +02:00
|
|
|
user.UserIDPLinkAddedType, user.UserIDPLinkRemovedType, user.UserIDPLinkCascadeRemovedType,
|
2022-11-30 17:01:17 +01:00
|
|
|
).Builder())
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
links := make([]*domain.UserIDPLink, 0)
|
|
|
|
for _, event := range events {
|
|
|
|
switch eventTyped := event.(type) {
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.UserIDPLinkAddedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
links = append(links, &domain.UserIDPLink{
|
|
|
|
IDPConfigID: eventTyped.IDPConfigID,
|
|
|
|
ExternalUserID: eventTyped.ExternalUserID,
|
|
|
|
DisplayName: eventTyped.DisplayName,
|
|
|
|
})
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.UserIDPLinkRemovedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
for i := range links {
|
|
|
|
if links[i].ExternalUserID == eventTyped.ExternalUserID &&
|
|
|
|
links[i].IDPConfigID == eventTyped.IDPConfigID {
|
|
|
|
links[i] = links[len(links)-1]
|
|
|
|
links[len(links)-1] = nil
|
|
|
|
links = links[:len(links)-1]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.UserIDPLinkCascadeRemovedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
for i := range links {
|
|
|
|
if links[i].ExternalUserID == eventTyped.ExternalUserID &&
|
|
|
|
links[i].IDPConfigID == eventTyped.IDPConfigID {
|
|
|
|
links[i] = links[len(links)-1]
|
|
|
|
links[len(links)-1] = nil
|
|
|
|
links = links[:len(links)-1]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return links, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type samlEntityID struct {
|
|
|
|
appID string
|
|
|
|
entityID string
|
|
|
|
}
|
|
|
|
|
|
|
|
func OrgSamlEntityIDs(ctx context.Context, filter preparation.FilterToQueryReducer, orgID string) ([]string, error) {
|
|
|
|
events, err := filter(ctx, eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
|
|
|
ResourceOwner(orgID).
|
|
|
|
OrderAsc().
|
|
|
|
AddQuery().
|
|
|
|
AggregateTypes(project.AggregateType).
|
|
|
|
EventTypes(
|
|
|
|
project.SAMLConfigAddedType, project.SAMLConfigChangedType, project.ApplicationRemovedType,
|
|
|
|
).Builder())
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
entityIDs := make([]samlEntityID, 0)
|
|
|
|
for _, event := range events {
|
|
|
|
switch eventTyped := event.(type) {
|
|
|
|
case *project.SAMLConfigAddedEvent:
|
|
|
|
entityIDs = append(entityIDs, samlEntityID{appID: eventTyped.AppID, entityID: eventTyped.EntityID})
|
|
|
|
case *project.SAMLConfigChangedEvent:
|
|
|
|
for i := range entityIDs {
|
|
|
|
if entityIDs[i].appID == eventTyped.AppID {
|
|
|
|
entityIDs[i].entityID = eventTyped.EntityID
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
case *project.ApplicationRemovedEvent:
|
|
|
|
for i := range entityIDs {
|
|
|
|
if entityIDs[i].appID == eventTyped.AppID {
|
|
|
|
entityIDs[i] = entityIDs[len(entityIDs)-1]
|
|
|
|
entityIDs = entityIDs[:len(entityIDs)-1]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
ids := make([]string, len(entityIDs))
|
|
|
|
for i := range entityIDs {
|
|
|
|
ids[i] = entityIDs[i].entityID
|
|
|
|
}
|
|
|
|
return ids, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
func OrgDomains(ctx context.Context, filter preparation.FilterToQueryReducer, orgID string) ([]string, error) {
|
|
|
|
events, err := filter(ctx, eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
|
|
|
ResourceOwner(orgID).
|
|
|
|
OrderAsc().
|
|
|
|
AddQuery().
|
|
|
|
AggregateTypes(org.AggregateType).
|
|
|
|
EventTypes(
|
|
|
|
org.OrgDomainVerifiedEventType,
|
|
|
|
org.OrgDomainRemovedEventType,
|
|
|
|
).Builder())
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
names := make([]string, 0)
|
|
|
|
for _, event := range events {
|
|
|
|
switch eventTyped := event.(type) {
|
|
|
|
case *org.DomainVerifiedEvent:
|
|
|
|
names = append(names, eventTyped.Domain)
|
|
|
|
case *org.DomainRemovedEvent:
|
|
|
|
for i := range names {
|
|
|
|
if names[i] == eventTyped.Domain {
|
|
|
|
names[i] = names[len(names)-1]
|
|
|
|
names = names[:len(names)-1]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return names, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
type userIDName struct {
|
|
|
|
name string
|
|
|
|
id string
|
|
|
|
}
|
|
|
|
|
|
|
|
func OrgUsers(ctx context.Context, filter preparation.FilterToQueryReducer, orgID string) ([]string, error) {
|
|
|
|
events, err := filter(ctx, eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
|
|
|
InstanceID(authz.GetInstance(ctx).InstanceID()).
|
|
|
|
ResourceOwner(orgID).
|
|
|
|
OrderAsc().
|
|
|
|
AddQuery().
|
2023-04-26 16:19:32 +02:00
|
|
|
AggregateTypes(user.AggregateType).
|
2022-11-30 17:01:17 +01:00
|
|
|
EventTypes(
|
2023-04-26 16:19:32 +02:00
|
|
|
user.HumanAddedType,
|
|
|
|
user.MachineAddedEventType,
|
|
|
|
user.HumanRegisteredType,
|
|
|
|
user.UserDomainClaimedType,
|
|
|
|
user.UserUserNameChangedType,
|
|
|
|
user.UserRemovedType,
|
2022-11-30 17:01:17 +01:00
|
|
|
).Builder())
|
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
|
|
|
|
users := make([]userIDName, 0)
|
|
|
|
for _, event := range events {
|
|
|
|
switch eventTyped := event.(type) {
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.HumanAddedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
users = append(users, userIDName{eventTyped.UserName, eventTyped.Aggregate().ID})
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.MachineAddedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
users = append(users, userIDName{eventTyped.UserName, eventTyped.Aggregate().ID})
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.HumanRegisteredEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
users = append(users, userIDName{eventTyped.UserName, eventTyped.Aggregate().ID})
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.DomainClaimedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
for i := range users {
|
|
|
|
if users[i].id == eventTyped.Aggregate().ID {
|
|
|
|
users[i].name = eventTyped.UserName
|
|
|
|
}
|
|
|
|
}
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.UsernameChangedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
for i := range users {
|
|
|
|
if users[i].id == eventTyped.Aggregate().ID {
|
|
|
|
users[i].name = eventTyped.UserName
|
|
|
|
}
|
|
|
|
}
|
2023-04-26 16:19:32 +02:00
|
|
|
case *user.UserRemovedEvent:
|
2022-11-30 17:01:17 +01:00
|
|
|
for i := range users {
|
|
|
|
if users[i].id == eventTyped.Aggregate().ID {
|
|
|
|
users[i] = users[len(users)-1]
|
|
|
|
users = users[:len(users)-1]
|
|
|
|
break
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
names := make([]string, len(users))
|
|
|
|
for i := range users {
|
|
|
|
names[i] = users[i].name
|
|
|
|
}
|
|
|
|
return names, nil
|
|
|
|
}
|
|
|
|
|
2022-06-03 14:30:39 +02:00
|
|
|
func ExistsOrg(ctx context.Context, filter preparation.FilterToQueryReducer, id string) (exists bool, err error) {
|
|
|
|
events, err := filter(ctx, eventstore.NewSearchQueryBuilder(eventstore.ColumnsEvent).
|
2022-11-30 17:01:17 +01:00
|
|
|
InstanceID(authz.GetInstance(ctx).InstanceID()).
|
2022-06-03 14:30:39 +02:00
|
|
|
ResourceOwner(id).
|
|
|
|
OrderAsc().
|
|
|
|
AddQuery().
|
|
|
|
AggregateTypes(org.AggregateType).
|
|
|
|
AggregateIDs(id).
|
|
|
|
EventTypes(
|
|
|
|
org.OrgAddedEventType,
|
|
|
|
org.OrgDeactivatedEventType,
|
|
|
|
org.OrgReactivatedEventType,
|
|
|
|
org.OrgRemovedEventType,
|
|
|
|
).Builder())
|
|
|
|
if err != nil {
|
|
|
|
return false, err
|
|
|
|
}
|
|
|
|
|
|
|
|
for _, event := range events {
|
|
|
|
switch event.(type) {
|
|
|
|
case *org.OrgAddedEvent, *org.OrgReactivatedEvent:
|
|
|
|
exists = true
|
|
|
|
case *org.OrgDeactivatedEvent, *org.OrgRemovedEvent:
|
|
|
|
exists = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return exists, nil
|
|
|
|
}
|
|
|
|
|
2022-07-28 15:42:35 +02:00
|
|
|
func (c *Commands) addOrgWithID(ctx context.Context, organisation *domain.Org, orgID string, claimedUserIDs []string) (_ *eventstore.Aggregate, _ *OrgWriteModel, _ []eventstore.Command, err error) {
|
2022-03-28 10:05:09 +02:00
|
|
|
if !organisation.IsValid() {
|
2022-11-30 17:01:17 +01:00
|
|
|
return nil, nil, nil, errors.ThrowInvalidArgument(nil, "COMM-deLSk", "Errors.Org.Invalid")
|
2021-01-08 11:33:45 +01:00
|
|
|
}
|
|
|
|
|
2022-07-28 15:42:35 +02:00
|
|
|
organisation.AggregateID = orgID
|
2022-04-25 11:16:36 +02:00
|
|
|
organisation.AddIAMDomain(authz.GetInstance(ctx).RequestedDomain())
|
2021-01-08 11:33:45 +01:00
|
|
|
addedOrg := NewOrgWriteModel(organisation.AggregateID)
|
|
|
|
|
|
|
|
orgAgg := OrgAggregateFromWriteModel(&addedOrg.WriteModel)
|
2022-01-03 09:19:07 +01:00
|
|
|
events := []eventstore.Command{
|
2021-02-18 14:48:27 +01:00
|
|
|
org.NewOrgAddedEvent(ctx, orgAgg, organisation.Name),
|
|
|
|
}
|
2021-01-08 11:33:45 +01:00
|
|
|
for _, orgDomain := range organisation.Domains {
|
2021-05-04 11:09:24 +02:00
|
|
|
orgDomainEvents, err := c.addOrgDomain(ctx, orgAgg, NewOrgDomainWriteModel(orgAgg.ID, orgDomain.Domain), orgDomain, claimedUserIDs)
|
feat: cascade changes and removes (#1239)
* chore(site): dependabot deps (#1148)
* chore(deps): bump highlight.js from 10.4.1 to 10.5.0 in /site (#1143)
Bumps [highlight.js](https://github.com/highlightjs/highlight.js) from 10.4.1 to 10.5.0.
- [Release notes](https://github.com/highlightjs/highlight.js/releases)
- [Changelog](https://github.com/highlightjs/highlight.js/blob/master/CHANGES.md)
- [Commits](https://github.com/highlightjs/highlight.js/compare/10.4.1...10.5.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/plugin-transform-runtime in /site (#1144)
Bumps [@babel/plugin-transform-runtime](https://github.com/babel/babel/tree/HEAD/packages/babel-plugin-transform-runtime) from 7.12.1 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-plugin-transform-runtime)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump sirv from 1.0.7 to 1.0.10 in /site (#1145)
Bumps [sirv](https://github.com/lukeed/sirv) from 1.0.7 to 1.0.10.
- [Release notes](https://github.com/lukeed/sirv/releases)
- [Commits](https://github.com/lukeed/sirv/compare/v1.0.7...v1.0.10)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup from 2.34.0 to 2.35.1 in /site (#1142)
Bumps [rollup](https://github.com/rollup/rollup) from 2.34.0 to 2.35.1.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.34.0...v2.35.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-node-resolve in /site (#1141)
Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins) from 10.0.0 to 11.0.1.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/node-resolve-v10.0.0...commonjs-v11.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump marked from 1.2.5 to 1.2.7 in /site (#1140)
Bumps [marked](https://github.com/markedjs/marked) from 1.2.5 to 1.2.7.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v1.2.5...v1.2.7)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/core from 7.12.9 to 7.12.10 in /site (#1139)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.9 to 7.12.10.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.10/packages/babel-core)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup-plugin-svelte from 6.1.1 to 7.0.0 in /site (#1138)
Bumps [rollup-plugin-svelte](https://github.com/sveltejs/rollup-plugin-svelte) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/sveltejs/rollup-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/rollup-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/rollup-plugin-svelte/compare/v6.1.1...v7.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/preset-env from 7.12.1 to 7.12.11 in /site (#1137)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.1 to 7.12.11.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.11/packages/babel-preset-env)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* downgrade svelte plugin
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(console): dependabot deps (#1147)
* chore(deps-dev): bump @types/node from 14.14.13 to 14.14.19 in /console (#1146)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.13 to 14.14.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump ts-protoc-gen from 0.13.0 to 0.14.0 in /console (#1129)
Bumps [ts-protoc-gen](https://github.com/improbable-eng/ts-protoc-gen) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/improbable-eng/ts-protoc-gen/releases)
- [Changelog](https://github.com/improbable-eng/ts-protoc-gen/blob/master/CHANGELOG.md)
- [Commits](https://github.com/improbable-eng/ts-protoc-gen/compare/0.13.0...0.14.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1128)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.4 to 11.0.5.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.0.5/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.4 to 11.0.5 in /console (#1127)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.4 to 11.0.5.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.4...v11.0.5)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1126)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.4 to 0.1100.5.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* audit
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: e-mail templates (#1158)
* View definition added
* Get templates and texts from the database.
* Fill in texts in templates
* Fill in texts in templates
* Client API added
* Weekly backup
* Weekly backup
* Daily backup
* Weekly backup
* Tests added
* Corrections from merge branch
* Fixes from pull request review
* chore(console): dependencies (#1189)
* chore(deps-dev): bump @angular/language-service in /console (#1187)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.5 to 11.0.9.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.0.9/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump google-proto-files from 2.3.0 to 2.4.0 in /console (#1186)
Bumps [google-proto-files](https://github.com/googleapis/nodejs-proto-files) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/googleapis/nodejs-proto-files/releases)
- [Changelog](https://github.com/googleapis/nodejs-proto-files/blob/master/CHANGELOG.md)
- [Commits](https://github.com/googleapis/nodejs-proto-files/compare/v2.3.0...v2.4.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @types/node from 14.14.19 to 14.14.21 in /console (#1185)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.19 to 14.14.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.5 to 11.0.7 in /console (#1184)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.5 to 11.0.7.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.5...v11.0.7)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 5.2.3 to 6.0.0 in /console (#1183)
Bumps [karma](https://github.com/karma-runner/karma) from 5.2.3 to 6.0.0.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v5.2.3...v6.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1182)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.5 to 0.1100.7.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: change login to command side
* feat: change login to command side
* fix: fix push on user
* fix(console): trigger unauthenticated dialog only once (#1170)
* fix: trigger dialog once
* remove log
* typed trigger
* chore(console): dependencies (#1205)
* chore(deps-dev): bump stylelint from 13.8.0 to 13.9.0 in /console (#1204)
Bumps [stylelint](https://github.com/stylelint/stylelint) from 13.8.0 to 13.9.0.
- [Release notes](https://github.com/stylelint/stylelint/releases)
- [Changelog](https://github.com/stylelint/stylelint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stylelint/stylelint/compare/13.8.0...13.9.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1203)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.0.9 to 11.1.0.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.1.0/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 6.0.0 to 6.0.1 in /console (#1202)
Bumps [karma](https://github.com/karma-runner/karma) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.0.0...v6.0.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.0.7 to 11.1.1 in /console (#1201)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.0.7 to 11.1.1.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.0.7...v11.1.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @types/jasmine from 3.6.2 to 3.6.3 in /console (#1200)
Bumps [@types/jasmine](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/jasmine) from 3.6.2 to 3.6.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/jasmine)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps-dev): bump @types/node from 14.14.21 to 14.14.22 in /console (#1199)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 14.14.21 to 14.14.22.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1198)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1100.7 to 0.1101.1.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* chore(deps): bump angularx-qrcode from 10.0.11 to 11.0.0 in /console (#1197)
Bumps [angularx-qrcode](https://github.com/cordobo/angularx-qrcode) from 10.0.11 to 11.0.0.
- [Release notes](https://github.com/cordobo/angularx-qrcode/releases)
- [Commits](https://github.com/cordobo/angularx-qrcode/compare/10.0.11...11.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix pack lock
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: handle sequence correctly in subscription (#1209)
* feat: user command side
* feat: sign out
* feat: command side login
* feat: command side login
* feat: fix register user
* feat: fix register user
* feat: fix web auth n events
* feat: add machine keys
* feat: send codes
* feat: move authrequest to domain
* feat: move authrequest to domain
* feat: webauthn working
* fix: correct master after merges again (#1230)
* chore(docs): correct `iss` claim of jwt profile (#1229)
* core(docs): correct `iss` claim of jwt profile
* fix: correct master after merges again (#1230)
* feat(login): new palette based styles (#1149)
* chore(deps-dev): bump rollup from 2.33.2 to 2.34.0 in /site (#1040)
Bumps [rollup](https://github.com/rollup/rollup) from 2.33.2 to 2.34.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v2.33.2...v2.34.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump svelte-i18n from 3.2.5 to 3.3.0 in /site (#1039)
Bumps [svelte-i18n](https://github.com/kaisermann/svelte-i18n) from 3.2.5 to 3.3.0.
- [Release notes](https://github.com/kaisermann/svelte-i18n/releases)
- [Changelog](https://github.com/kaisermann/svelte-i18n/blob/main/CHANGELOG.md)
- [Commits](https://github.com/kaisermann/svelte-i18n/compare/v3.2.5...v3.3.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-url from 5.0.1 to 6.0.0 in /site (#1038)
Bumps [@rollup/plugin-url](https://github.com/rollup/plugins) from 5.0.1 to 6.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/url-v5.0.1...url-v6.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump svelte from 3.29.7 to 3.30.1 in /site (#1037)
Bumps [svelte](https://github.com/sveltejs/svelte) from 3.29.7 to 3.30.1.
- [Release notes](https://github.com/sveltejs/svelte/releases)
- [Changelog](https://github.com/sveltejs/svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/svelte/compare/v3.29.7...v3.30.1)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): bump marked from 1.2.4 to 1.2.5 in /site (#1036)
Bumps [marked](https://github.com/markedjs/marked) from 1.2.4 to 1.2.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Changelog](https://github.com/markedjs/marked/blob/master/release.config.js)
- [Commits](https://github.com/markedjs/marked/compare/v1.2.4...v1.2.5)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/core from 7.12.3 to 7.12.9 in /site (#1035)
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.12.3 to 7.12.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.9/packages/babel-core)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump rollup-plugin-svelte from 6.1.1 to 7.0.0 in /site (#1034)
Bumps [rollup-plugin-svelte](https://github.com/sveltejs/rollup-plugin-svelte) from 6.1.1 to 7.0.0.
- [Release notes](https://github.com/sveltejs/rollup-plugin-svelte/releases)
- [Changelog](https://github.com/sveltejs/rollup-plugin-svelte/blob/master/CHANGELOG.md)
- [Commits](https://github.com/sveltejs/rollup-plugin-svelte/compare/v6.1.1...v7.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-commonjs in /site (#1033)
Bumps [@rollup/plugin-commonjs](https://github.com/rollup/plugins) from 15.1.0 to 17.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/commonjs-v15.1.0...commonjs-v17.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @rollup/plugin-node-resolve in /site (#1032)
Bumps [@rollup/plugin-node-resolve](https://github.com/rollup/plugins) from 10.0.0 to 11.0.0.
- [Release notes](https://github.com/rollup/plugins/releases)
- [Commits](https://github.com/rollup/plugins/compare/node-resolve-v10.0.0...commonjs-v11.0.0)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @babel/preset-env from 7.12.1 to 7.12.7 in /site (#1031)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.12.1 to 7.12.7.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.12.7/packages/babel-preset-env)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* go
* bundle files, lgn-color, legacy theme
* remove old references
* light dark context, button styles, zitadel brand
* button theme, edit templates
* typography theme mixins
* input styles, container, extend light dark palette
* footer, palette, container
* container, label, assets, header
* action container, input, typography label, adapt button theme
* a and footer styles, adapt palette
* user log profile, resourcetempurl
* postinstall againnn
* wrochage
* rm local grpc
* button elevation, helper for components
* radio
* radio button mixins, bundle
* qr code styles, secret clipboard, icon pack
* stroked buttons, icon buttons, header action, typography
* fix password policy styles
* account selection
* account selection, lgn avatar
* mocks
* template fixes, animations scss
* checkbox, register temp
* checkbox appr
* fix checkbox, remove input interference
* select theme
* avatar script, user selection, password policy validation fix
* fix formfield state for register and change pwd
* footer, main style, qr code fix, mfa type fix, account sel, checkbox
* fotter tos, user select
* reverse buttons for intial submit action
* theme script, themed error messages, header img source
* content wrapper, i18n, mobile
* emptyline
* idp mixins, fix unstyled html
* register container
* register layout, list themes, policy theme, register org
* massive asset cleanup
* fix source path, add missing icon, fix complexity refs, prefix
* remove material icons, unused assets, fix icon font
* move icon pack
* avatar, contrast theme, error fix
* zitadel css map
* revert go mod
* fix mfa verify actions
* add idp styles
* fix google colors, idp styles
* fix: bugs
* fix register options, google
* fix script, mobile layout
* precompile font selection
* go mod tidy
* assets and cleanup
* input suffix, fix alignment, actions, add progress bar themes
* progress bar mixins, layout fixes
* remove test from loginname
* cleanup comments, scripts
* clear comments
* fix external back button
* fix mfa alignment
* fix actions layout, on dom change listener for suffix
* free tier change, success label
* fix: button font line-height
* remove tabindex
* remove comment
* remove comment
* Update internal/ui/login/handler/password_handler.go
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Maximilian Peintner <csaq7175@uibk.ac.at>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
* feat: external users
* chore(console): dependencies (#1233)
* chore(deps-dev): bump @angular-devkit/build-angular in /console (#1214)
Bumps [@angular-devkit/build-angular](https://github.com/angular/angular-cli) from 0.1101.1 to 0.1101.2.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/commits)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump karma from 6.0.1 to 6.0.3 in /console (#1215)
Bumps [karma](https://github.com/karma-runner/karma) from 6.0.1 to 6.0.3.
- [Release notes](https://github.com/karma-runner/karma/releases)
- [Changelog](https://github.com/karma-runner/karma/blob/master/CHANGELOG.md)
- [Commits](https://github.com/karma-runner/karma/compare/v6.0.1...v6.0.3)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/language-service in /console (#1216)
Bumps [@angular/language-service](https://github.com/angular/angular/tree/HEAD/packages/language-service) from 11.1.0 to 11.1.1.
- [Release notes](https://github.com/angular/angular/releases)
- [Changelog](https://github.com/angular/angular/blob/master/CHANGELOG.md)
- [Commits](https://github.com/angular/angular/commits/11.1.1/packages/language-service)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps-dev): bump @angular/cli from 11.1.1 to 11.1.2 in /console (#1217)
Bumps [@angular/cli](https://github.com/angular/angular-cli) from 11.1.1 to 11.1.2.
- [Release notes](https://github.com/angular/angular-cli/releases)
- [Commits](https://github.com/angular/angular-cli/compare/v11.1.1...v11.1.2)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Max Peintner <max@caos.ch>
* lock
* site deps
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat: external users login
* feat: notify users
* fix: tests
* feat: cascade remove user grants on project remove
* feat: cascade remove user grants on user remove
* feat: cascade remove roles
* feat: verified domain
* feat: cascade remove on idp config remove
* feat: cascade remove on system idp config remove
* fix: get email texts with default language (#1238)
* fix: login policy
* fix: login policy
* fix: cascade delete on remove idp from default policy
* fix(login): mail verification (#1237)
* fix: mail verification
* not block, stroked
* fix: issues of new login ui (#1241)
* fix: i18n of register
* fix: autofocus
* feat(operator): zitadel and database operator (#1208)
* feat(operator): add base for zitadel operator
* fix(operator): changed pipeline to release operator
* fix(operator): fmt with only one parameter
* fix(operator): corrected workflow job name
* fix(zitadelctl): added restore and backuplist command
* fix(zitadelctl): scale for restore
* chore(container): use scratch for deploy container
* fix(zitadelctl): limit image to scratch
* fix(migration): added migration scripts for newer version
* fix(operator): changed handling of kubeconfig in operator logic
* fix(operator): changed handling of secrets in operator logic
* fix(operator): use new version of zitadel
* fix(operator): added path for migrations
* fix(operator): delete doublets of migration scripts
* fix(operator): delete subpaths and integrate logic into init container
* fix(operator): corrected path in dockerfile for local migrations
* fix(operator): added migrations for cockroachdb-secure
* fix(operator): delete logic for ambassador module
* fix(operator): added read and write secret commands
* fix(operator): correct and align operator pipeline with zitadel pipeline
* fix(operator): correct yaml error in operator pipeline
* fix(operator): correct action name in operator pipeline
* fix(operator): correct case-sensitive filename in operator pipeline
* fix(operator): upload artifacts from buildx output
* fix(operator): corrected attribute spelling error
* fix(operator): combined jobs for operator binary and image
* fix(operator): added missing comma in operator pipeline
* fix(operator): added codecov for operator image
* fix(operator): added codecov for operator image
* fix(testing): code changes for testing and several unit-tests (#1009)
* fix(operator): usage of interface of kubernetes client for testing and several unit-tests
* fix(operator): several unit-tests
* fix(operator): several unit-tests
* fix(operator): changed order for the operator logic
* fix(operator): added version of zitadelctl from semantic release
* fix(operator): corrected function call with version of zitadelctl
* fix(operator): corrected function call with version of zitadelctl
* fix(operator): add check output to operator release pipeline
* fix(operator): set --short length everywhere to 12
* fix(operator): zitadel setup in job instead of exec with several unit tests
* fix(operator): fixes to combine newest zitadel and testing branch
* fix(operator): corrected path in Dockerfile
* fix(operator): fixed unit-test that was ignored during changes
* fix(operator): fixed unit-test that was ignored during changes
* fix(operator): corrected Dockerfile to correctly use env variable
* fix(operator): quickfix takeoff deployment
* fix(operator): corrected the clusterrolename in the applied artifacts
* fix: update secure migrations
* fix(operator): migrations (#1057)
* fix(operator): copied migrations from orbos repository
* fix(operator): newest migrations
* chore: use cockroach-secure
* fix: rename migration
* fix: remove insecure cockroach migrations
Co-authored-by: Stefan Benz <stefan@caos.ch>
* fix: finalize labels
* fix(operator): cli logging concurrent and fixe deployment of operator during restore
* fix: finalize labels and cli commands
* fix: restore
* chore: cockroachdb is always secure
* chore: use orbos consistent-labels latest commit
* test: make tests compatible with new labels
* fix: default to sa token for start command
* fix: use cockroachdb v12.02
* fix: don't delete flyway user
* test: fix migration test
* fix: use correct table qualifiers
* fix: don't alter sequence ownership
* fix: upgrade flyway
* fix: change ownership of all dbs and tables to admin user
* fix: change defaultdb user
* fix: treat clientid status codes >= 400 as errors
* fix: reconcile specified ZITADEL version, not binary version
* fix: add ca-certs
* fix: use latest orbos code
* fix: use orbos with fixed race condition
* fix: use latest ORBOS code
* fix: use latest ORBOS code
* fix: make migration and scaling around restoring work
* fix(operator): move zitadel operator
* chore(migrations): include owner change migration
* feat(db): add code base for database operator
* fix(db): change used image registry for database operator
* fix(db): generated mock
* fix(db): add accidentally ignored file
* fix(db): add cockroachdb backup image to pipeline
* fix(db): correct pipeline and image versions
* fix(db): correct version of used orbos
* fix(db): correct database import
* fix(db): go mod tidy
* fix(db): use new version for orbos
* fix(migrations): include migrations into zitadelctl binary (#1211)
* fix(db): use statik to integrate migrations into binary
* fix(migrations): corrections unit tests and pipeline for integrated migrations into zitadelctl binary
* fix(migrations): correction in dockerfile for pipeline build
* fix(migrations): correction in dockerfile for pipeline build
* fix(migrations): dockerfile changes for cache optimization
* fix(database): correct used part-of label in database operator
* fix(database): correct used selectable label in zitadel operator
* fix(operator): correct lables for user secrets in zitadel operator
* fix(operator): correct lables for service test in zitadel operator
* fix: don't enable database features for user operations (#1227)
* fix: don't enable database features for user operations
* fix: omit database feature for connection info adapter
* fix: use latest orbos version
* fix: update ORBOS (#1240)
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: Elio Bischof <eliobischof@gmail.com>
* Merge branch 'new-eventstore' into cascades
# Conflicts:
# internal/auth/repository/auth_request.go
# internal/auth/repository/eventsourcing/eventstore/auth_request.go
# internal/management/repository/eventsourcing/eventstore/user_grant.go
# internal/management/repository/user_grant.go
# internal/ui/login/handler/external_login_handler.go
# internal/ui/login/handler/external_register_handler.go
# internal/ui/login/handler/init_password_handler.go
# internal/ui/login/handler/register_handler.go
# internal/user/repository/view/model/notify_user.go
# internal/v2/command/org_policy_login.go
# internal/v2/command/project.go
# internal/v2/command/user.go
# internal/v2/command/user_human.go
# internal/v2/command/user_human_externalidp.go
# internal/v2/command/user_human_init.go
# internal/v2/command/user_human_password.go
# internal/v2/command/user_human_webauthn.go
# internal/v2/domain/next_step.go
# internal/v2/domain/policy_login.go
# internal/v2/domain/request.go
* Merge branch 'new-eventstore' into cascades
# Conflicts:
# internal/auth/repository/auth_request.go
# internal/auth/repository/eventsourcing/eventstore/auth_request.go
# internal/management/repository/eventsourcing/eventstore/user_grant.go
# internal/management/repository/user_grant.go
# internal/ui/login/handler/external_login_handler.go
# internal/ui/login/handler/external_register_handler.go
# internal/ui/login/handler/init_password_handler.go
# internal/ui/login/handler/register_handler.go
# internal/user/repository/view/model/notify_user.go
# internal/v2/command/org_policy_login.go
# internal/v2/command/project.go
# internal/v2/command/user.go
# internal/v2/command/user_human.go
# internal/v2/command/user_human_externalidp.go
# internal/v2/command/user_human_init.go
# internal/v2/command/user_human_password.go
# internal/v2/command/user_human_webauthn.go
# internal/v2/domain/next_step.go
# internal/v2/domain/policy_login.go
# internal/v2/domain/request.go
* chore: add local migrate_local.go again (#1261)
* fix: logging on cascade removes
* fix: migrations
* fix: tests
* fix: tests
* chore: pass params in migrate_local.go
* migrations
* fix query
* fix tests
* fix tests
Co-authored-by: Max Peintner <max@caos.ch>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Michael Waeger <49439088+michaelulrichwaeger@users.noreply.github.com>
Co-authored-by: Livio Amstutz <livio.a@gmail.com>
Co-authored-by: Maximilian Peintner <csaq7175@uibk.ac.at>
Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com>
Co-authored-by: Florian Forster <florian@caos.ch>
Co-authored-by: Elio Bischof <eliobischof@gmail.com>
2021-02-09 10:14:40 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, nil, nil, err
|
2021-01-08 11:33:45 +01:00
|
|
|
}
|
2022-03-28 10:05:09 +02:00
|
|
|
events = append(events, orgDomainEvents...)
|
2021-01-08 11:33:45 +01:00
|
|
|
}
|
2021-02-18 14:48:27 +01:00
|
|
|
return orgAgg, addedOrg, events, nil
|
2021-01-08 11:33:45 +01:00
|
|
|
}
|
|
|
|
|
2021-02-24 11:17:39 +01:00
|
|
|
func (c *Commands) getOrgWriteModelByID(ctx context.Context, orgID string) (*OrgWriteModel, error) {
|
2021-01-08 11:33:45 +01:00
|
|
|
orgWriteModel := NewOrgWriteModel(orgID)
|
2021-02-24 11:17:39 +01:00
|
|
|
err := c.eventstore.FilterToQueryReducer(ctx, orgWriteModel)
|
2021-01-08 11:33:45 +01:00
|
|
|
if err != nil {
|
|
|
|
return nil, err
|
|
|
|
}
|
|
|
|
return orgWriteModel, nil
|
|
|
|
}
|
2022-11-30 17:01:17 +01:00
|
|
|
|
|
|
|
func isOrgStateExists(state domain.OrgState) bool {
|
|
|
|
return !hasOrgState(state, domain.OrgStateRemoved, domain.OrgStateUnspecified)
|
|
|
|
}
|
|
|
|
|
|
|
|
func hasOrgState(check domain.OrgState, states ...domain.OrgState) bool {
|
|
|
|
for _, state := range states {
|
|
|
|
if check == state {
|
|
|
|
return true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return false
|
|
|
|
}
|