feat: SMTP Templates (#6932)

* feat: smtp templates poc

* feat: add isActive & ProviderType to SMTP backend

* feat: change providertype to uint32 and fix tests

* feat: minimal smtp provider component

* feat: woking on diiferent providers

* feat: keep working on providers

* feat: initial stepper for new provider

* fix: settings list and working on stepper

* feat: step 1 and 2 form inputs

* feat: starter for smtp test step

* fix: misspelled SMPT

* fix: remove tests for now

* feat: add tls toggle remove old google provider

* feat: working on add smtp and table

* fix: duplicated identifiers

* fix: settings list

* fix: add missing smtp config properties

* fix: add configID to smtp config table

* fix: working on listproviders

* feat: working in listSMTPConfigs

* fix: add count to listsmtpconfigs

* fix: getting empty results from listSMTPConfigs

* feat: table now shows real data

* fix: remaining styles for smtp-table

* fix: remove old notification-smtp-provider-component

* feat: delete smtp configuration

* feat: deactivate smtp config

* feat: replace isActive with state for smtp config

* feat: activate smtp config

* fix: remaining errors after main merge

* fix: list smtp providers panic and material mdc

* feat: refactor to only one provider component

* feat: current provider details view

* fix: refactor AddSMTPConfig and ChangeSMTPConfig

* fix: smtp config reduce issue

* fix: recover domain in NewIAMSMTPConfigWriteModel

* fix: add code needed by SetUpInstance

* fix: go tests and warn about passing context to InstanceAggregateFromWriteModel

* fix: i18n and add missing trans for fr, it, zh

* fix: add e2e tests

* docs: add smtp templates

* fix: remove provider_type, add description

* fix: remaining error from merge main

* fix: add @stebenz change for primary key

* fix: inactive placed after removed to prevent deleted configs to show as inactive

* fix: smtp provider id can be empty (migrated)

* feat: add mailchimp transactional template

* feat: add Brevo (Sendinblue) template

* feat: change brevo logo, add color to tls icon

* fix: queries use resourceowner, id must not be empty

* fix: deal with old smtp settings and tests

* fix: resourceOwner is the instanceID

* fix: remove aggregate_id, rename SMTPConfigByAggregateID with SMTPConfigActive

* fix: add tests for multiple configs with different IDs

* fix: conflict

* fix: remove notification-smtp-provider

* fix: add @peintnermax suggestions, rename module and fix e2e tests

* fix: remove material legacy modules

* fix: remove ctx as parameter for  InstanceAggregateFromWriteModel

* fix: add Id to SMTPConfigToPb

* fix:  change InstanceAggregateFromWriteModel to avoid linter errors

* fix import

* rm unused package-lock

* update yarn lock

---------

Co-authored-by: Elio Bischof <[email protected]>
Co-authored-by: Max Peintner <[email protected]>
Co-authored-by: Stefan Benz <[email protected]>
This commit is contained in:
Miguel Cabrerizo
2024-04-11 09:16:10 +02:00
committed by GitHub
co-authored by Elio Bischof Max Peintner Stefan Benz
parent e2f0cd034a
commit d229da6af7
93 changed files with 6359 additions and 6132 deletions
+39
View File
@@ -6,6 +6,8 @@ import {
ActivateLabelPolicyResponse,
ActivateSMSProviderRequest,
ActivateSMSProviderResponse,
ActivateSMTPConfigRequest,
ActivateSMTPConfigResponse,
AddAppleProviderRequest,
AddAppleProviderResponse,
AddAzureADProviderRequest,
@@ -52,6 +54,8 @@ import {
DeactivateIDPResponse,
DeactivateSMSProviderRequest,
DeactivateSMSProviderResponse,
DeactivateSMTPConfigRequest,
DeactivateSMTPConfigResponse,
DeleteProviderRequest,
DeleteProviderResponse,
GetAllowedLanguagesRequest,
@@ -135,6 +139,8 @@ import {
GetSecurityPolicyResponse,
GetSMSProviderRequest,
GetSMSProviderResponse,
GetSMTPConfigByIdRequest,
GetSMTPConfigByIdResponse,
GetSMTPConfigRequest,
GetSMTPConfigResponse,
GetSupportedLanguagesRequest,
@@ -167,6 +173,8 @@ import {
ListSecretGeneratorsResponse,
ListSMSProvidersRequest,
ListSMSProvidersResponse,
ListSMTPConfigsRequest,
ListSMTPConfigsResponse,
ListViewsRequest,
ListViewsResponse,
ReactivateIDPRequest,
@@ -193,6 +201,8 @@ import {
RemoveSecondFactorFromLoginPolicyResponse,
RemoveSMSProviderRequest,
RemoveSMSProviderResponse,
RemoveSMTPConfigRequest,
RemoveSMTPConfigResponse,
ResetCustomDomainPolicyToDefaultRequest,
ResetCustomDomainPolicyToDefaultResponse,
ResetCustomLoginTextsToDefaultRequest,
@@ -894,6 +904,17 @@ export class AdminService {
return this.grpcService.admin.getSMTPConfig(req, null).then((resp) => resp.toObject());
}
public getSMTPConfigById(id: string): Promise<GetSMTPConfigByIdResponse.AsObject> {
const req = new GetSMTPConfigByIdRequest();
req.setId(id);
return this.grpcService.admin.getSMTPConfigById(req, null).then((resp) => resp.toObject());
}
public listSMTPConfigs(): Promise<ListSMTPConfigsResponse.AsObject> {
const req = new ListSMTPConfigsRequest();
return this.grpcService.admin.listSMTPConfigs(req, null).then((resp) => resp.toObject());
}
public addSMTPConfig(req: AddSMTPConfigRequest): Promise<AddSMTPConfigResponse.AsObject> {
return this.grpcService.admin.addSMTPConfig(req, null).then((resp) => resp.toObject());
}
@@ -906,6 +927,24 @@ export class AdminService {
return this.grpcService.admin.updateSMTPConfigPassword(req, null).then((resp) => resp.toObject());
}
public activateSMTPConfig(id: string): Promise<ActivateSMTPConfigResponse.AsObject> {
const req = new ActivateSMTPConfigRequest();
req.setId(id);
return this.grpcService.admin.activateSMTPConfig(req, null).then((resp) => resp.toObject());
}
public deactivateSMTPConfig(id: string): Promise<DeactivateSMTPConfigResponse.AsObject> {
const req = new DeactivateSMTPConfigRequest();
req.setId(id);
return this.grpcService.admin.deactivateSMTPConfig(req, null).then((resp) => resp.toObject());
}
public removeSMTPConfig(id: string): Promise<RemoveSMTPConfigResponse.AsObject> {
const req = new RemoveSMTPConfigRequest();
req.setId(id);
return this.grpcService.admin.removeSMTPConfig(req, null).then((resp) => resp.toObject());
}
/* sms */
public listSMSProviders(): Promise<ListSMSProvidersResponse.AsObject> {