fix: Create Human V1 (#9425)

# Which Problems Are Solved
- Correctly load Avatar on first load

# How the Problems Are Solved
- The Avatar issue was mostly due to how we resolved the current user, I
changed this behaviour

# Additional Changes
- Removed V2 create human code till seperate page is finished
- Remove Console Use V2 API feature flag from features page (till new
page is added)

# Additional Context
- Partially fixes #9382
- This will get implemented next week
https://github.com/zitadel/zitadel/issues/9382#issuecomment-2681347477
This commit is contained in:
Ramon
2025-02-27 09:31:48 +01:00
committed by GitHub
parent 3c471944c2
commit 83614562a2
9 changed files with 42 additions and 303 deletions
@@ -403,34 +403,6 @@
'SETTING.FEATURES.OIDCSINGLEV1SESSIONTERMINATION_DESCRIPTION' | translate
}}</cnsl-info-section>
</div>
<div class="feature-row" *ngIf="toggleStates.consoleUseV2UserApi">
<span>{{ 'SETTING.FEATURES.CONSOLEUSEV2USERAPI' | translate }}</span>
<div class="row">
<mat-button-toggle-group
class="theme-toggle"
class="buttongroup"
[(ngModel)]="toggleStates.consoleUseV2UserApi.state"
(change)="validateAndSave()"
name="displayview"
aria-label="Display View"
>
<mat-button-toggle [value]="ToggleState.DISABLED">
<div class="toggle-row">
<span> {{ 'SETTING.FEATURES.STATES.DISABLED' | translate }}</span>
</div>
</mat-button-toggle>
<mat-button-toggle [value]="ToggleState.ENABLED">
<div class="toggle-row">
<span> {{ 'SETTING.FEATURES.STATES.ENABLED' | translate }}</span>
</div>
</mat-button-toggle>
</mat-button-toggle-group>
</div>
<cnsl-info-section class="feature-info">{{
'SETTING.FEATURES.CONSOLEUSEV2USERAPI_DESCRIPTION' | translate
}}</cnsl-info-section>
</div>
</div>
</cnsl-card>
</div>
@@ -1,20 +1,16 @@
import { CommonModule } from '@angular/common';
import { Component, OnDestroy } from '@angular/core';
import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { MatButtonModule } from '@angular/material/button';
import { MatButtonToggleModule } from '@angular/material/button-toggle';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatDialog } from '@angular/material/dialog';
import { MatIconModule } from '@angular/material/icon';
import { MatTooltipModule } from '@angular/material/tooltip';
import { TranslateModule } from '@ngx-translate/core';
import { BehaviorSubject, Subject } from 'rxjs';
import { HasRoleModule } from 'src/app/directives/has-role/has-role.module';
import { CardModule } from 'src/app/modules/card/card.module';
import { DisplayJsonDialogComponent } from 'src/app/modules/display-json-dialog/display-json-dialog.component';
import { InfoSectionModule } from 'src/app/modules/info-section/info-section.module';
import { HasRolePipeModule } from 'src/app/pipes/has-role-pipe/has-role-pipe.module';
import { Event } from 'src/app/proto/generated/zitadel/event_pb';
import { Source } from 'src/app/proto/generated/zitadel/feature/v2beta/feature_pb';
import { Breadcrumb, BreadcrumbService, BreadcrumbType } from 'src/app/services/breadcrumb.service';
import { FeatureService } from 'src/app/services/feature.service';
@@ -22,8 +18,7 @@ import { ToastService } from 'src/app/services/toast.service';
import {
GetInstanceFeaturesResponse,
SetInstanceFeaturesRequest,
} from '../../proto/generated/zitadel/feature/v2/instance_pb';
import { withIdentifier } from 'codelyzer/util/astQuery';
} from 'src/app/proto/generated/zitadel/feature/v2/instance_pb';
enum ToggleState {
ENABLED = 'ENABLED',
@@ -40,7 +35,6 @@ type ToggleStates = {
oidcTokenExchange?: FeatureState;
actions?: FeatureState;
oidcSingleV1SessionTermination?: FeatureState;
consoleUseV2UserApi?: FeatureState;
};
@Component({
@@ -63,21 +57,17 @@ type ToggleStates = {
templateUrl: './features.component.html',
styleUrls: ['./features.component.scss'],
})
export class FeaturesComponent implements OnDestroy {
private destroy$: Subject<void> = new Subject();
export class FeaturesComponent {
protected featureData: GetInstanceFeaturesResponse.AsObject | undefined;
public _loading: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);
public featureData: GetInstanceFeaturesResponse.AsObject | undefined = undefined;
public toggleStates: ToggleStates | undefined = undefined;
public Source: any = Source;
public ToggleState: any = ToggleState;
protected toggleStates: ToggleStates | undefined;
protected Source: any = Source;
protected ToggleState: any = ToggleState;
constructor(
private featureService: FeatureService,
private breadcrumbService: BreadcrumbService,
private toast: ToastService,
private dialog: MatDialog,
) {
const breadcrumbs = [
new Breadcrumb({
@@ -91,20 +81,6 @@ export class FeaturesComponent implements OnDestroy {
this.getFeatures(true);
}
ngOnDestroy(): void {
this.destroy$.next();
this.destroy$.complete();
}
public openDialog(event: Event): void {
this.dialog.open(DisplayJsonDialogComponent, {
data: {
event: event,
},
width: '450px',
});
}
public validateAndSave() {
this.featureService.resetInstanceFeatures().then(() => {
const req = new SetInstanceFeaturesRequest();
@@ -144,7 +120,6 @@ export class FeaturesComponent implements OnDestroy {
);
changed = true;
}
req.setConsoleUseV2UserApi(this.toggleStates?.consoleUseV2UserApi?.state === ToggleState.ENABLED);
if (changed) {
this.featureService
@@ -235,10 +210,6 @@ export class FeaturesComponent implements OnDestroy {
? ToggleState.ENABLED
: ToggleState.DISABLED,
},
consoleUseV2UserApi: {
source: this.featureData.consoleUseV2UserApi?.source || Source.SOURCE_INSTANCE,
state: this.featureData.consoleUseV2UserApi?.enabled ? ToggleState.ENABLED : ToggleState.DISABLED,
},
};
});
}