diff --git a/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.html b/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.html
index 49690d88b3..f9631924d4 100644
--- a/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.html
+++ b/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.html
@@ -8,7 +8,7 @@
-
+
{{ 'SETTING.SMS.TWILIO.TOKEN' | translate }}
diff --git a/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.ts b/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.ts
index 623291234d..268232f1a6 100644
--- a/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.ts
+++ b/console/src/app/modules/policies/notification-settings/dialog-add-sms-provider/dialog-add-sms-provider.component.ts
@@ -1,10 +1,10 @@
import { Component, Inject } from '@angular/core';
-import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
+import { AbstractControl, FormControl, UntypedFormBuilder, UntypedFormGroup, Validators } from '@angular/forms';
import { MAT_DIALOG_DATA, MatDialog, MatDialogRef } from '@angular/material/dialog';
import {
- AddSMSProviderTwilioRequest,
- UpdateSMSProviderTwilioRequest,
- UpdateSMSProviderTwilioTokenRequest,
+ AddSMSProviderTwilioRequest,
+ UpdateSMSProviderTwilioRequest,
+ UpdateSMSProviderTwilioTokenRequest,
} from 'src/app/proto/generated/zitadel/admin_pb';
import { SMSProvider, TwilioConfig } from 'src/app/proto/generated/zitadel/settings_pb';
import { AdminService } from 'src/app/services/admin.service';
@@ -41,13 +41,14 @@ export class DialogAddSMSProviderComponent {
) {
this.twilioForm = this.fb.group({
sid: ['', [Validators.required]],
- token: ['', [Validators.required]],
senderNumber: ['', [Validators.required]],
});
this.smsProviders = data.smsProviders;
if (!!this.twilio) {
this.twilioForm.patchValue(this.twilio);
+ } else {
+ this.twilioForm.addControl('token', new FormControl('', Validators.required));
}
}
@@ -82,14 +83,16 @@ export class DialogAddSMSProviderComponent {
});
dialogRef.afterClosed().subscribe((token: string) => {
- if (token) {
+ if (token && this.twilioProvider?.id) {
const tokenReq = new UpdateSMSProviderTwilioTokenRequest();
tokenReq.setToken(token);
+ tokenReq.setId(this.twilioProvider.id);
this.service
.updateSMSProviderTwilioToken(tokenReq)
.then(() => {
this.toast.showInfo('SETTING.SMS.TWILIO.TOKENSET', true);
+ this.dialogRef.close();
})
.catch((error) => {
this.toast.showError(error);
@@ -110,6 +113,15 @@ export class DialogAddSMSProviderComponent {
return this.twilioForm.get('sid');
}
+ public get twilioProvider(): SMSProvider.AsObject | undefined {
+ const twilioProvider: SMSProvider.AsObject | undefined = this.smsProviders.find((p) => p.twilio);
+ if (twilioProvider) {
+ return twilioProvider;
+ } else {
+ return undefined;
+ }
+ }
+
public get twilio(): TwilioConfig.AsObject | undefined {
const twilioProvider: SMSProvider.AsObject | undefined = this.smsProviders.find((p) => p.twilio);
if (twilioProvider && !!twilioProvider.twilio) {
diff --git a/console/src/app/modules/policies/notification-settings/notification-settings.component.html b/console/src/app/modules/policies/notification-settings/notification-settings.component.html
index 1124997324..d815871431 100644
--- a/console/src/app/modules/policies/notification-settings/notification-settings.component.html
+++ b/console/src/app/modules/policies/notification-settings/notification-settings.component.html
@@ -75,9 +75,32 @@
active: twilio?.state === SMSProviderConfigState.SMS_PROVIDER_CONFIG_ACTIVE,
inactive: twilio?.state === SMSProviderConfigState.SMS_PROVIDER_CONFIG_INACTIVE
}"
- >
+ >{{ 'SETTING.SMS.SMSPROVIDERSTATE.' + twilio?.state | translate }}
+
+
diff --git a/console/src/app/modules/policies/notification-settings/notification-settings.component.scss b/console/src/app/modules/policies/notification-settings/notification-settings.component.scss
index 28ce220776..f382b0b415 100644
--- a/console/src/app/modules/policies/notification-settings/notification-settings.component.scss
+++ b/console/src/app/modules/policies/notification-settings/notification-settings.component.scss
@@ -49,6 +49,7 @@
display: flex;
flex-direction: row;
align-items: center;
+ width: 350px;
.title {
font-size: 16px;
diff --git a/console/src/app/modules/policies/notification-settings/notification-settings.component.ts b/console/src/app/modules/policies/notification-settings/notification-settings.component.ts
index 6b1e1dc968..a4c48bd7b0 100644
--- a/console/src/app/modules/policies/notification-settings/notification-settings.component.ts
+++ b/console/src/app/modules/policies/notification-settings/notification-settings.component.ts
@@ -3,12 +3,12 @@ import { AbstractControl, UntypedFormBuilder, UntypedFormGroup, Validators } fro
import { MatDialog } from '@angular/material/dialog';
import { take } from 'rxjs';
import {
- AddSMSProviderTwilioRequest,
- AddSMTPConfigRequest,
- UpdateSMSProviderTwilioRequest,
- UpdateSMTPConfigPasswordRequest,
- UpdateSMTPConfigPasswordResponse,
- UpdateSMTPConfigRequest,
+ AddSMSProviderTwilioRequest,
+ AddSMTPConfigRequest,
+ UpdateSMSProviderTwilioRequest,
+ UpdateSMTPConfigPasswordRequest,
+ UpdateSMTPConfigPasswordResponse,
+ UpdateSMTPConfigRequest,
} from 'src/app/proto/generated/zitadel/admin_pb';
import { DebugNotificationProvider, SMSProvider, SMSProviderConfigState } from 'src/app/proto/generated/zitadel/settings_pb';
import { AdminService } from 'src/app/services/admin.service';
@@ -16,6 +16,7 @@ import { GrpcAuthService } from 'src/app/services/grpc-auth.service';
import { ToastService } from 'src/app/services/toast.service';
import { InfoSectionType } from '../../info-section/info-section.component';
+import { WarnDialogComponent } from '../../warn-dialog/warn-dialog.component';
import { PolicyComponentServiceType } from '../policy-component-types.enum';
import { DialogAddSMSProviderComponent } from './dialog-add-sms-provider/dialog-add-sms-provider.component';
import { PasswordDialogComponent } from './password-dialog/password-dialog.component';
@@ -185,11 +186,12 @@ export class NotificationSettingsComponent implements OnInit {
dialogRef.afterClosed().subscribe((req: AddSMSProviderTwilioRequest | UpdateSMSProviderTwilioRequest) => {
if (req) {
- if (this.hasTwilio) {
+ if (!!this.twilio) {
this.service
.updateSMSProviderTwilio(req as UpdateSMSProviderTwilioRequest)
.then(() => {
this.toast.showInfo('SETTING.SMS.TWILIO.ADDED', true);
+ this.fetchData();
})
.catch((error) => {
this.toast.showError(error);
@@ -199,6 +201,7 @@ export class NotificationSettingsComponent implements OnInit {
.addSMSProviderTwilio(req as AddSMSProviderTwilioRequest)
.then(() => {
this.toast.showInfo('SETTING.SMS.TWILIO.ADDED', true);
+ this.fetchData();
})
.catch((error) => {
this.toast.showError(error);
@@ -234,6 +237,59 @@ export class NotificationSettingsComponent implements OnInit {
});
}
+ public toggleSMSProviderState(id: string): void {
+ const provider = this.smsProviders.find((p) => p.id === id);
+ if (provider) {
+ if (provider.state === SMSProviderConfigState.SMS_PROVIDER_CONFIG_ACTIVE) {
+ this.service
+ .deactivateSMSProvider(id)
+ .then(() => {
+ this.toast.showInfo('SETTING.SMS.DEACTIVATED', true);
+ this.fetchData();
+ })
+ .catch((error) => {
+ this.toast.showError(error);
+ });
+ } else if (provider.state === SMSProviderConfigState.SMS_PROVIDER_CONFIG_INACTIVE) {
+ this.service
+ .activateSMSProvider(id)
+ .then(() => {
+ this.toast.showInfo('SETTING.SMS.ACTIVATED', true);
+ this.fetchData();
+ })
+ .catch((error) => {
+ this.toast.showError(error);
+ });
+ }
+ }
+ }
+
+ public removeSMSProvider(id: string): void {
+ const dialogRef = this.dialog.open(WarnDialogComponent, {
+ data: {
+ confirmKey: 'ACTIONS.DELETE',
+ cancelKey: 'ACTIONS.CANCEL',
+ titleKey: 'SETTING.SMS.REMOVEPROVIDER',
+ descriptionKey: 'SETTING.SMS.REMOVEPROVIDER_DESC',
+ },
+ width: '400px',
+ });
+
+ dialogRef.afterClosed().subscribe((resp) => {
+ if (resp) {
+ this.service
+ .removeSMSProvider(id)
+ .then(() => {
+ this.toast.showInfo('SETTING.SMS.TWILIO.REMOVED', true);
+ this.fetchData();
+ })
+ .catch((error) => {
+ this.toast.showError(error);
+ });
+ }
+ });
+ }
+
public get twilio(): SMSProvider.AsObject | undefined {
return this.smsProviders.find((p) => p.twilio);
}
@@ -257,13 +313,4 @@ export class NotificationSettingsComponent implements OnInit {
public get host(): AbstractControl | null {
return this.form.get('host');
}
-
- public get hasTwilio(): boolean {
- const twilioProvider: SMSProvider.AsObject | undefined = this.smsProviders.find((p) => p.twilio);
- if (twilioProvider && !!twilioProvider.twilio) {
- return true;
- } else {
- return false;
- }
- }
}
diff --git a/console/src/app/modules/policies/notification-settings/notification-settings.module.ts b/console/src/app/modules/policies/notification-settings/notification-settings.module.ts
index ceb10ce32d..9667c2c4a7 100644
--- a/console/src/app/modules/policies/notification-settings/notification-settings.module.ts
+++ b/console/src/app/modules/policies/notification-settings/notification-settings.module.ts
@@ -13,6 +13,7 @@ import { CardModule } from '../../card/card.module';
import { FormFieldModule } from '../../form-field/form-field.module';
import { InfoSectionModule } from '../../info-section/info-section.module';
import { InputModule } from '../../input/input.module';
+import { WarnDialogModule } from '../../warn-dialog/warn-dialog.module';
import { DialogAddSMSProviderComponent } from './dialog-add-sms-provider/dialog-add-sms-provider.component';
import { NotificationSettingsComponent } from './notification-settings.component';
import { PasswordDialogComponent } from './password-dialog/password-dialog.component';
@@ -31,6 +32,7 @@ import { PasswordDialogComponent } from './password-dialog/password-dialog.compo
InputModule,
MatIconModule,
FormFieldModule,
+ WarnDialogModule,
MatSelectModule,
MatProgressSpinnerModule,
MatSelectModule,
diff --git a/console/src/app/services/admin.service.ts b/console/src/app/services/admin.service.ts
index 183ef92ceb..808facaf5a 100644
--- a/console/src/app/services/admin.service.ts
+++ b/console/src/app/services/admin.service.ts
@@ -1,195 +1,201 @@
import { Injectable } from '@angular/core';
import {
- ActivateLabelPolicyRequest,
- ActivateLabelPolicyResponse,
- AddCustomDomainPolicyRequest,
- AddCustomOrgIAMPolicyResponse,
- AddIAMMemberRequest,
- AddIAMMemberResponse,
- AddIDPToLoginPolicyRequest,
- AddIDPToLoginPolicyResponse,
- AddJWTIDPRequest,
- AddJWTIDPResponse,
- AddMultiFactorToLoginPolicyRequest,
- AddMultiFactorToLoginPolicyResponse,
- AddOIDCIDPRequest,
- AddOIDCIDPResponse,
- AddSecondFactorToLoginPolicyRequest,
- AddSecondFactorToLoginPolicyResponse,
- AddSMSProviderTwilioRequest,
- AddSMSProviderTwilioResponse,
- AddSMTPConfigRequest,
- AddSMTPConfigResponse,
- DeactivateIDPRequest,
- DeactivateIDPResponse,
- GetCustomDomainClaimedMessageTextRequest,
- GetCustomDomainClaimedMessageTextResponse,
- GetCustomDomainPolicyRequest,
- GetCustomDomainPolicyResponse,
- GetCustomInitMessageTextRequest,
- GetCustomInitMessageTextResponse,
- GetCustomLoginTextsRequest,
- GetCustomLoginTextsResponse,
- GetCustomPasswordlessRegistrationMessageTextRequest,
- GetCustomPasswordlessRegistrationMessageTextResponse,
- GetCustomPasswordResetMessageTextRequest,
- GetCustomPasswordResetMessageTextResponse,
- GetCustomVerifyEmailMessageTextRequest,
- GetCustomVerifyEmailMessageTextResponse,
- GetCustomVerifyPhoneMessageTextRequest,
- GetCustomVerifyPhoneMessageTextResponse,
- GetDefaultDomainClaimedMessageTextRequest,
- GetDefaultDomainClaimedMessageTextResponse,
- GetDefaultInitMessageTextRequest,
- GetDefaultInitMessageTextResponse,
- GetDefaultLanguageRequest,
- GetDefaultLanguageResponse,
- GetDefaultLoginTextsRequest,
- GetDefaultLoginTextsResponse,
- GetDefaultPasswordlessRegistrationMessageTextRequest,
- GetDefaultPasswordlessRegistrationMessageTextResponse,
- GetDefaultPasswordResetMessageTextRequest,
- GetDefaultPasswordResetMessageTextResponse,
- GetDefaultVerifyEmailMessageTextRequest,
- GetDefaultVerifyEmailMessageTextResponse,
- GetDefaultVerifyPhoneMessageTextRequest,
- GetDefaultVerifyPhoneMessageTextResponse,
- GetDomainPolicyRequest,
- GetDomainPolicyResponse,
- GetFileSystemNotificationProviderRequest,
- GetFileSystemNotificationProviderResponse,
- GetIDPByIDRequest,
- GetIDPByIDResponse,
- GetLabelPolicyRequest,
- GetLabelPolicyResponse,
- GetLockoutPolicyRequest,
- GetLockoutPolicyResponse,
- GetLoginPolicyRequest,
- GetLoginPolicyResponse,
- GetLogNotificationProviderRequest,
- GetLogNotificationProviderResponse,
- GetOIDCSettingsRequest,
- GetOIDCSettingsResponse,
- GetPasswordAgePolicyRequest,
- GetPasswordAgePolicyResponse,
- GetPasswordComplexityPolicyRequest,
- GetPasswordComplexityPolicyResponse,
- GetPreviewLabelPolicyRequest,
- GetPreviewLabelPolicyResponse,
- GetPrivacyPolicyRequest,
- GetPrivacyPolicyResponse,
- GetSecretGeneratorRequest,
- GetSecretGeneratorResponse,
- GetSMSProviderRequest,
- GetSMSProviderResponse,
- GetSMTPConfigRequest,
- GetSMTPConfigResponse,
- GetSupportedLanguagesRequest,
- GetSupportedLanguagesResponse,
- IDPQuery,
- ListFailedEventsRequest,
- ListFailedEventsResponse,
- ListIAMMemberRolesRequest,
- ListIAMMemberRolesResponse,
- ListIAMMembersRequest,
- ListIAMMembersResponse,
- ListIDPsRequest,
- ListIDPsResponse,
- ListLoginPolicyIDPsRequest,
- ListLoginPolicyIDPsResponse,
- ListLoginPolicyMultiFactorsRequest,
- ListLoginPolicyMultiFactorsResponse,
- ListLoginPolicySecondFactorsRequest,
- ListLoginPolicySecondFactorsResponse,
- ListSecretGeneratorsRequest,
- ListSecretGeneratorsResponse,
- ListSMSProvidersRequest,
- ListSMSProvidersResponse,
- ListViewsRequest,
- ListViewsResponse,
- ReactivateIDPRequest,
- ReactivateIDPResponse,
- RemoveFailedEventRequest,
- RemoveFailedEventResponse,
- RemoveIAMMemberRequest,
- RemoveIAMMemberResponse,
- RemoveIDPFromLoginPolicyRequest,
- RemoveIDPFromLoginPolicyResponse,
- RemoveIDPRequest,
- RemoveIDPResponse,
- RemoveLabelPolicyFontRequest,
- RemoveLabelPolicyFontResponse,
- RemoveLabelPolicyIconDarkRequest,
- RemoveLabelPolicyIconDarkResponse,
- RemoveLabelPolicyIconRequest,
- RemoveLabelPolicyIconResponse,
- RemoveLabelPolicyLogoDarkRequest,
- RemoveLabelPolicyLogoDarkResponse,
- RemoveLabelPolicyLogoRequest,
- RemoveLabelPolicyLogoResponse,
- RemoveMultiFactorFromLoginPolicyRequest,
- RemoveMultiFactorFromLoginPolicyResponse,
- RemoveSecondFactorFromLoginPolicyRequest,
- RemoveSecondFactorFromLoginPolicyResponse,
- ResetCustomDomainPolicyToDefaultRequest,
- ResetCustomDomainPolicyToDefaultResponse,
- ResetCustomLoginTextsToDefaultRequest,
- ResetCustomLoginTextsToDefaultResponse,
- SetCustomLoginTextsRequest,
- SetCustomLoginTextsResponse,
- SetDefaultDomainClaimedMessageTextRequest,
- SetDefaultDomainClaimedMessageTextResponse,
- SetDefaultInitMessageTextRequest,
- SetDefaultInitMessageTextResponse,
- SetDefaultLanguageRequest,
- SetDefaultLanguageResponse,
- SetDefaultPasswordlessRegistrationMessageTextRequest,
- SetDefaultPasswordlessRegistrationMessageTextResponse,
- SetDefaultPasswordResetMessageTextRequest,
- SetDefaultPasswordResetMessageTextResponse,
- SetDefaultVerifyEmailMessageTextRequest,
- SetDefaultVerifyEmailMessageTextResponse,
- SetDefaultVerifyPhoneMessageTextRequest,
- SetDefaultVerifyPhoneMessageTextResponse,
- SetUpOrgRequest,
- SetUpOrgResponse,
- UpdateCustomDomainPolicyRequest,
- UpdateCustomDomainPolicyResponse,
- UpdateDomainPolicyRequest,
- UpdateDomainPolicyResponse,
- UpdateIAMMemberRequest,
- UpdateIAMMemberResponse,
- UpdateIDPJWTConfigRequest,
- UpdateIDPJWTConfigResponse,
- UpdateIDPOIDCConfigRequest,
- UpdateIDPOIDCConfigResponse,
- UpdateIDPRequest,
- UpdateIDPResponse,
- UpdateLabelPolicyRequest,
- UpdateLabelPolicyResponse,
- UpdateLockoutPolicyRequest,
- UpdateLockoutPolicyResponse,
- UpdateLoginPolicyRequest,
- UpdateLoginPolicyResponse,
- UpdateOIDCSettingsRequest,
- UpdateOIDCSettingsResponse,
- UpdatePasswordAgePolicyRequest,
- UpdatePasswordAgePolicyResponse,
- UpdatePasswordComplexityPolicyRequest,
- UpdatePasswordComplexityPolicyResponse,
- UpdatePrivacyPolicyRequest,
- UpdatePrivacyPolicyResponse,
- UpdateSecretGeneratorRequest,
- UpdateSecretGeneratorResponse,
- UpdateSMSProviderTwilioRequest,
- UpdateSMSProviderTwilioResponse,
- UpdateSMSProviderTwilioTokenRequest,
- UpdateSMSProviderTwilioTokenResponse,
- UpdateSMTPConfigPasswordRequest,
- UpdateSMTPConfigPasswordResponse,
- UpdateSMTPConfigRequest,
- UpdateSMTPConfigResponse,
+ ActivateLabelPolicyRequest,
+ ActivateLabelPolicyResponse,
+ ActivateSMSProviderRequest,
+ ActivateSMSProviderResponse,
+ AddCustomDomainPolicyRequest,
+ AddCustomOrgIAMPolicyResponse,
+ AddIAMMemberRequest,
+ AddIAMMemberResponse,
+ AddIDPToLoginPolicyRequest,
+ AddIDPToLoginPolicyResponse,
+ AddJWTIDPRequest,
+ AddJWTIDPResponse,
+ AddMultiFactorToLoginPolicyRequest,
+ AddMultiFactorToLoginPolicyResponse,
+ AddOIDCIDPRequest,
+ AddOIDCIDPResponse,
+ AddSecondFactorToLoginPolicyRequest,
+ AddSecondFactorToLoginPolicyResponse,
+ AddSMSProviderTwilioRequest,
+ AddSMSProviderTwilioResponse,
+ AddSMTPConfigRequest,
+ AddSMTPConfigResponse,
+ DeactivateIDPRequest,
+ DeactivateIDPResponse,
+ DeactivateSMSProviderRequest,
+ DeactivateSMSProviderResponse,
+ GetCustomDomainClaimedMessageTextRequest,
+ GetCustomDomainClaimedMessageTextResponse,
+ GetCustomDomainPolicyRequest,
+ GetCustomDomainPolicyResponse,
+ GetCustomInitMessageTextRequest,
+ GetCustomInitMessageTextResponse,
+ GetCustomLoginTextsRequest,
+ GetCustomLoginTextsResponse,
+ GetCustomPasswordlessRegistrationMessageTextRequest,
+ GetCustomPasswordlessRegistrationMessageTextResponse,
+ GetCustomPasswordResetMessageTextRequest,
+ GetCustomPasswordResetMessageTextResponse,
+ GetCustomVerifyEmailMessageTextRequest,
+ GetCustomVerifyEmailMessageTextResponse,
+ GetCustomVerifyPhoneMessageTextRequest,
+ GetCustomVerifyPhoneMessageTextResponse,
+ GetDefaultDomainClaimedMessageTextRequest,
+ GetDefaultDomainClaimedMessageTextResponse,
+ GetDefaultInitMessageTextRequest,
+ GetDefaultInitMessageTextResponse,
+ GetDefaultLanguageRequest,
+ GetDefaultLanguageResponse,
+ GetDefaultLoginTextsRequest,
+ GetDefaultLoginTextsResponse,
+ GetDefaultPasswordlessRegistrationMessageTextRequest,
+ GetDefaultPasswordlessRegistrationMessageTextResponse,
+ GetDefaultPasswordResetMessageTextRequest,
+ GetDefaultPasswordResetMessageTextResponse,
+ GetDefaultVerifyEmailMessageTextRequest,
+ GetDefaultVerifyEmailMessageTextResponse,
+ GetDefaultVerifyPhoneMessageTextRequest,
+ GetDefaultVerifyPhoneMessageTextResponse,
+ GetDomainPolicyRequest,
+ GetDomainPolicyResponse,
+ GetFileSystemNotificationProviderRequest,
+ GetFileSystemNotificationProviderResponse,
+ GetIDPByIDRequest,
+ GetIDPByIDResponse,
+ GetLabelPolicyRequest,
+ GetLabelPolicyResponse,
+ GetLockoutPolicyRequest,
+ GetLockoutPolicyResponse,
+ GetLoginPolicyRequest,
+ GetLoginPolicyResponse,
+ GetLogNotificationProviderRequest,
+ GetLogNotificationProviderResponse,
+ GetOIDCSettingsRequest,
+ GetOIDCSettingsResponse,
+ GetPasswordAgePolicyRequest,
+ GetPasswordAgePolicyResponse,
+ GetPasswordComplexityPolicyRequest,
+ GetPasswordComplexityPolicyResponse,
+ GetPreviewLabelPolicyRequest,
+ GetPreviewLabelPolicyResponse,
+ GetPrivacyPolicyRequest,
+ GetPrivacyPolicyResponse,
+ GetSecretGeneratorRequest,
+ GetSecretGeneratorResponse,
+ GetSMSProviderRequest,
+ GetSMSProviderResponse,
+ GetSMTPConfigRequest,
+ GetSMTPConfigResponse,
+ GetSupportedLanguagesRequest,
+ GetSupportedLanguagesResponse,
+ IDPQuery,
+ ListFailedEventsRequest,
+ ListFailedEventsResponse,
+ ListIAMMemberRolesRequest,
+ ListIAMMemberRolesResponse,
+ ListIAMMembersRequest,
+ ListIAMMembersResponse,
+ ListIDPsRequest,
+ ListIDPsResponse,
+ ListLoginPolicyIDPsRequest,
+ ListLoginPolicyIDPsResponse,
+ ListLoginPolicyMultiFactorsRequest,
+ ListLoginPolicyMultiFactorsResponse,
+ ListLoginPolicySecondFactorsRequest,
+ ListLoginPolicySecondFactorsResponse,
+ ListSecretGeneratorsRequest,
+ ListSecretGeneratorsResponse,
+ ListSMSProvidersRequest,
+ ListSMSProvidersResponse,
+ ListViewsRequest,
+ ListViewsResponse,
+ ReactivateIDPRequest,
+ ReactivateIDPResponse,
+ RemoveFailedEventRequest,
+ RemoveFailedEventResponse,
+ RemoveIAMMemberRequest,
+ RemoveIAMMemberResponse,
+ RemoveIDPFromLoginPolicyRequest,
+ RemoveIDPFromLoginPolicyResponse,
+ RemoveIDPRequest,
+ RemoveIDPResponse,
+ RemoveLabelPolicyFontRequest,
+ RemoveLabelPolicyFontResponse,
+ RemoveLabelPolicyIconDarkRequest,
+ RemoveLabelPolicyIconDarkResponse,
+ RemoveLabelPolicyIconRequest,
+ RemoveLabelPolicyIconResponse,
+ RemoveLabelPolicyLogoDarkRequest,
+ RemoveLabelPolicyLogoDarkResponse,
+ RemoveLabelPolicyLogoRequest,
+ RemoveLabelPolicyLogoResponse,
+ RemoveMultiFactorFromLoginPolicyRequest,
+ RemoveMultiFactorFromLoginPolicyResponse,
+ RemoveSecondFactorFromLoginPolicyRequest,
+ RemoveSecondFactorFromLoginPolicyResponse,
+ RemoveSMSProviderRequest,
+ RemoveSMSProviderResponse,
+ ResetCustomDomainPolicyToDefaultRequest,
+ ResetCustomDomainPolicyToDefaultResponse,
+ ResetCustomLoginTextsToDefaultRequest,
+ ResetCustomLoginTextsToDefaultResponse,
+ SetCustomLoginTextsRequest,
+ SetCustomLoginTextsResponse,
+ SetDefaultDomainClaimedMessageTextRequest,
+ SetDefaultDomainClaimedMessageTextResponse,
+ SetDefaultInitMessageTextRequest,
+ SetDefaultInitMessageTextResponse,
+ SetDefaultLanguageRequest,
+ SetDefaultLanguageResponse,
+ SetDefaultPasswordlessRegistrationMessageTextRequest,
+ SetDefaultPasswordlessRegistrationMessageTextResponse,
+ SetDefaultPasswordResetMessageTextRequest,
+ SetDefaultPasswordResetMessageTextResponse,
+ SetDefaultVerifyEmailMessageTextRequest,
+ SetDefaultVerifyEmailMessageTextResponse,
+ SetDefaultVerifyPhoneMessageTextRequest,
+ SetDefaultVerifyPhoneMessageTextResponse,
+ SetUpOrgRequest,
+ SetUpOrgResponse,
+ UpdateCustomDomainPolicyRequest,
+ UpdateCustomDomainPolicyResponse,
+ UpdateDomainPolicyRequest,
+ UpdateDomainPolicyResponse,
+ UpdateIAMMemberRequest,
+ UpdateIAMMemberResponse,
+ UpdateIDPJWTConfigRequest,
+ UpdateIDPJWTConfigResponse,
+ UpdateIDPOIDCConfigRequest,
+ UpdateIDPOIDCConfigResponse,
+ UpdateIDPRequest,
+ UpdateIDPResponse,
+ UpdateLabelPolicyRequest,
+ UpdateLabelPolicyResponse,
+ UpdateLockoutPolicyRequest,
+ UpdateLockoutPolicyResponse,
+ UpdateLoginPolicyRequest,
+ UpdateLoginPolicyResponse,
+ UpdateOIDCSettingsRequest,
+ UpdateOIDCSettingsResponse,
+ UpdatePasswordAgePolicyRequest,
+ UpdatePasswordAgePolicyResponse,
+ UpdatePasswordComplexityPolicyRequest,
+ UpdatePasswordComplexityPolicyResponse,
+ UpdatePrivacyPolicyRequest,
+ UpdatePrivacyPolicyResponse,
+ UpdateSecretGeneratorRequest,
+ UpdateSecretGeneratorResponse,
+ UpdateSMSProviderTwilioRequest,
+ UpdateSMSProviderTwilioResponse,
+ UpdateSMSProviderTwilioTokenRequest,
+ UpdateSMSProviderTwilioTokenResponse,
+ UpdateSMTPConfigPasswordRequest,
+ UpdateSMTPConfigPasswordResponse,
+ UpdateSMTPConfigRequest,
+ UpdateSMTPConfigResponse,
} from '../proto/generated/zitadel/admin_pb';
import { SearchQuery } from '../proto/generated/zitadel/member_pb';
import { ListQuery } from '../proto/generated/zitadel/object_pb';
@@ -504,6 +510,24 @@ export class AdminService {
return this.grpcService.admin.updateSMSProviderTwilio(req, null).then((resp) => resp.toObject());
}
+ public removeSMSProvider(id: string): Promise {
+ const req = new RemoveSMSProviderRequest();
+ req.setId(id);
+ return this.grpcService.admin.removeSMSProvider(req, null).then((resp) => resp.toObject());
+ }
+
+ public activateSMSProvider(id: string): Promise {
+ const req = new ActivateSMSProviderRequest();
+ req.setId(id);
+ return this.grpcService.admin.activateSMSProvider(req, null).then((resp) => resp.toObject());
+ }
+
+ public deactivateSMSProvider(id: string): Promise {
+ const req = new DeactivateSMSProviderRequest();
+ req.setId(id);
+ return this.grpcService.admin.deactivateSMSProvider(req, null).then((resp) => resp.toObject());
+ }
+
public updateSMSProviderTwilioToken(
req: UpdateSMSProviderTwilioTokenRequest,
): Promise {
diff --git a/console/src/assets/i18n/de.json b/console/src/assets/i18n/de.json
index 37ff10fc84..63fbc0806c 100644
--- a/console/src/assets/i18n/de.json
+++ b/console/src/assets/i18n/de.json
@@ -106,6 +106,7 @@
"FINISHED": "Fertig",
"CHANGE": "Ändern",
"REACTIVATE": "Aktivieren",
+ "ACTIVATE": "Aktivieren",
"DEACTIVATE": "Deaktivieren",
"REFRESH": "Aktualisieren",
"LOGIN": "Einloggen",
@@ -896,11 +897,21 @@
"PROVIDER": "SMS Anbieter",
"ADDPROVIDER": "Anbieter hinzufügen",
"ADDPROVIDERDESCRIPTION": "Wählen Sie einen der verfügbaren Anbieter und geben Sie die erforderlichen Daten ein.",
+ "REMOVEPROVIDER": "Anbieter entfernen",
+ "REMOVEPROVIDER_DESC": "Sie sind im Begriff eine Konfiguration zu löschen. Wollen Sie fortfahren?",
+ "SMSPROVIDERSTATE": {
+ "0": "Unbekannt",
+ "1": "Aktiv",
+ "2": "Inaktiv"
+ },
+ "ACTIVATED": "Anbieter aktiviert.",
+ "DEACTIVATED": "Anbieter deaktiviert.",
"TWILIO": {
"SID": "Sid",
"TOKEN": "Token",
"SENDERNUMBER": "Sender Number",
"ADDED": "Twilio erfolgreich hinzugefügt.",
+ "REMOVED": "Twilio entfernt",
"CHANGETOKEN": "Token ändern",
"SETTOKEN": "Token setzen",
"TOKENSET": "Token erfolgreich gesetzt."
diff --git a/console/src/assets/i18n/en.json b/console/src/assets/i18n/en.json
index fee717fb4c..fce53f87d2 100644
--- a/console/src/assets/i18n/en.json
+++ b/console/src/assets/i18n/en.json
@@ -106,6 +106,7 @@
"FINISHED": "Close",
"CHANGE": "Change",
"REACTIVATE": "Reactivate",
+ "ACTIVATE": "Activate",
"DEACTIVATE": "Deactivate",
"REFRESH": "Refresh",
"LOGIN": "Login",
@@ -874,7 +875,8 @@
"LANGUAGE": {
"de": "Deutsch",
"it": "Italiano",
- "en": "English"
+ "en": "English",
+ "fr": "Français"
},
"SMTP": {
"TITLE": "SMTP Settings",
@@ -895,11 +897,21 @@
"PROVIDER": "SMS Provider",
"ADDPROVIDER": "Add SMS Provider",
"ADDPROVIDERDESCRIPTION": "Choose one of the available providers and enter the required data.",
+ "REMOVEPROVIDER": "Remove Provider",
+ "REMOVEPROVIDER_DESC": "You are about to delete a provider configuration. Do you want to continue?",
+ "SMSPROVIDERSTATE": {
+ "0": "Unspecified",
+ "1": "Active",
+ "2": "Inactive"
+ },
+ "ACTIVATED": "Provider activated.",
+ "DEACTIVATED": "Provider deactivated.",
"TWILIO": {
"SID": "Sid",
"TOKEN": "Token",
"SENDERNUMBER": "Sender Number",
"ADDED": "Twilio added successfully.",
+ "REMOVED": "Twilio removed",
"CHANGETOKEN": "Change Token",
"SETTOKEN": "Set Token",
"TOKENSET": "Token successfully set."
diff --git a/console/src/assets/i18n/fr.json b/console/src/assets/i18n/fr.json
index 0bb2e712f6..e441ec3b8c 100644
--- a/console/src/assets/i18n/fr.json
+++ b/console/src/assets/i18n/fr.json
@@ -106,6 +106,7 @@
"FINISHED": "Fermer",
"CHANGE": "Modifier",
"REACTIVATE": "Réactiver",
+ "ACTIVATE": "Activer",
"DEACTIVATE": "Désactiver",
"REFRESH": "Rafraîchir",
"LOGIN": "Connexion",
@@ -896,11 +897,21 @@
"PROVIDER": "Fournisseur de SMS",
"ADDPROVIDER": "Ajouter un fournisseur de SMS",
"ADDPROVIDERDESCRIPTION": "Choisissez l'un des fournisseurs disponibles et saisissez les données requises.",
+ "REMOVEPROVIDER": "Supprimer le fournisseur",
+ "REMOVEPROVIDER_DESC": "Vous êtes sur le point de supprimer une configuration de fournisseur. Voulez-vous continuer",
+ "SMSPROVIDERSTATE": {
+ "0": "non spécifié",
+ "1": "Actif",
+ "2": "Inactif"
+ },
+ "ACTIVATED": "Fournisseur actif.",
+ "DEACTIVATED": "Fournisseur inactif.",
"TWILIO": {
"SID": "Sid",
"TOKEN": "Jeton",
"SENDERNUMBER": "Numéro d'expéditeur",
"ADDED": "Twilio a été ajouté avec succès.",
+ "REMOVED": "Twilio a été supprimé avec succès",
"CHANGETOKEN": "Changer de Token",
"SETTOKEN": "Définir le jeton",
"TOKENSET": "Le jeton a été défini avec succès."
diff --git a/console/src/assets/i18n/it.json b/console/src/assets/i18n/it.json
index 09ce165504..b8629f3a67 100644
--- a/console/src/assets/i18n/it.json
+++ b/console/src/assets/i18n/it.json
@@ -106,6 +106,7 @@
"FINISHED": "Chiudi",
"CHANGE": "Cambia",
"REACTIVATE": "Riattiva",
+ "ACTIVATE": "Attiva",
"DEACTIVATE": "Disattiva",
"REFRESH": "Aggiorna",
"LOGIN": "Accedi",
@@ -896,11 +897,21 @@
"PROVIDER": "Fornitore SMS",
"ADDPROVIDER": "Aggiungi fornitore SMS",
"ADDPROVIDERDESCRIPTION": "Scegli uno dei provider disponibili e inserisci i dati richiesti.",
+ "REMOVEPROVIDER": "Elimina configurazione",
+ "REMOVEPROVIDER_DESC": "Stai per eliminare una configurazione. Vuoi continuare?",
+ "SMSPROVIDERSTATE": {
+ "0": "Non specificato",
+ "1": "Attivo",
+ "2": "Inattivo"
+ },
+ "ACTIVATED": "Fornitore attivato.",
+ "DEACTIVATED": "Fornitore disattivato.",
"TWILIO": {
"SID": "Sid",
"TOKEN": "Token",
"SENDERNUMBER": "Sender Number",
"ADDED": "Twilio aggiunto con successo.",
+ "REMOVED": "Twilio rimosso con successo.",
"CHANGETOKEN": "Cambia Token",
"SETTOKEN": "Cambia Token",
"TOKENSET": "Token cambiato con successo."