diff --git a/packages/auth/src/Domain/Email/OfflineSubscriptionTokenCreated.ts b/packages/auth/src/Domain/Email/OfflineSubscriptionTokenCreated.ts new file mode 100644 index 000000000..380b72cf0 --- /dev/null +++ b/packages/auth/src/Domain/Email/OfflineSubscriptionTokenCreated.ts @@ -0,0 +1,9 @@ +import { html } from './offline-subscription-token-created.html' + +export function getSubject(): string { + return 'Access to your Standard Notes Subscription Dashboard' +} + +export function getBody(email: string, offlineSubscriptionDashboardUrl: string): string { + return html(email, offlineSubscriptionDashboardUrl) +} diff --git a/packages/auth/src/Domain/Email/UserSignedIn.ts b/packages/auth/src/Domain/Email/UserSignedIn.ts index 5ed724400..62f2a06ca 100644 --- a/packages/auth/src/Domain/Email/UserSignedIn.ts +++ b/packages/auth/src/Domain/Email/UserSignedIn.ts @@ -5,11 +5,5 @@ export function getSubject(email: string): string { } export function getBody(email: string, device: string, browser: string, date: Date): string { - const body = html - - return body - .replace('%%EMAIL%%', email) - .replace('%%DEVICE%%', device) - .replace('%%BROWSER%%', browser) - .replace('%%TIME_AND_DATE%%', date.toLocaleString()) + return html(email, device, browser, date.toLocaleString()) } diff --git a/packages/auth/src/Domain/Email/offline-subscription-token-created.html.ts b/packages/auth/src/Domain/Email/offline-subscription-token-created.html.ts new file mode 100644 index 000000000..6e7497ba4 --- /dev/null +++ b/packages/auth/src/Domain/Email/offline-subscription-token-created.html.ts @@ -0,0 +1,24 @@ +export const html = (userEmail: string, offlineSubscriptionDashboardUrl: string) => `
+ Get help any time by visiting our Help page + or by replying directly to this email. +
+Hello,
-We've detected a new sign-in to your account %%EMAIL%%.
+We've detected a new sign-in to your account ${email}
- Device type: %%DEVICE%% + Device type: ${device}
- Browser type: %%BROWSER%% + Browser type: ${browser}
- Time and date: %%TIME_AND_DATE%% + Time and date: ${timeAndDate}
If this was you, please disregard this email. If it wasn't you, we recommend signing into your account and
diff --git a/packages/auth/src/Domain/Event/DomainEventFactory.ts b/packages/auth/src/Domain/Event/DomainEventFactory.ts
index c7a8dbce0..d49b8536d 100644
--- a/packages/auth/src/Domain/Event/DomainEventFactory.ts
+++ b/packages/auth/src/Domain/Event/DomainEventFactory.ts
@@ -6,7 +6,6 @@ import {
UserEmailChangedEvent,
UserRegisteredEvent,
UserRolesChangedEvent,
- OfflineSubscriptionTokenCreatedEvent,
EmailBackupRequestedEvent,
CloudBackupRequestedEvent,
ListedAccountRequestedEvent,
@@ -290,24 +289,6 @@ export class DomainEventFactory implements DomainEventFactoryInterface {
}
}
- createOfflineSubscriptionTokenCreatedEvent(token: string, email: string): OfflineSubscriptionTokenCreatedEvent {
- return {
- type: 'OFFLINE_SUBSCRIPTION_TOKEN_CREATED',
- createdAt: this.timer.getUTCDate(),
- meta: {
- correlation: {
- userIdentifier: email,
- userIdentifierType: 'email',
- },
- origin: DomainEventService.Auth,
- },
- payload: {
- token,
- email,
- },
- }
- }
-
createUserRegisteredEvent(dto: {
userUuid: string
email: string
diff --git a/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts b/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts
index 6e06e6fdd..621cf61b7 100644
--- a/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts
+++ b/packages/auth/src/Domain/Event/DomainEventFactoryInterface.ts
@@ -6,7 +6,6 @@ import {
UserRegisteredEvent,
UserRolesChangedEvent,
UserEmailChangedEvent,
- OfflineSubscriptionTokenCreatedEvent,
EmailBackupRequestedEvent,
ListedAccountRequestedEvent,
UserDisabledSessionUserAgentLoggingEvent,
@@ -56,7 +55,6 @@ export interface DomainEventFactoryInterface {
}): AccountDeletionRequestedEvent
createUserRolesChangedEvent(userUuid: string, email: string, currentRoles: RoleName[]): UserRolesChangedEvent
createUserEmailChangedEvent(userUuid: string, fromEmail: string, toEmail: string): UserEmailChangedEvent
- createOfflineSubscriptionTokenCreatedEvent(token: string, email: string): OfflineSubscriptionTokenCreatedEvent
createUserDisabledSessionUserAgentLoggingEvent(dto: {
userUuid: Uuid
email: string
diff --git a/packages/auth/src/Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken.spec.ts b/packages/auth/src/Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken.spec.ts
index e29a4cecd..80a07fc55 100644
--- a/packages/auth/src/Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken.spec.ts
+++ b/packages/auth/src/Domain/UseCase/CreateOfflineSubscriptionToken/CreateOfflineSubscriptionToken.spec.ts
@@ -5,7 +5,7 @@ import { TimerInterface } from '@standardnotes/time'
import { OfflineSubscriptionTokenRepositoryInterface } from '../../Auth/OfflineSubscriptionTokenRepositoryInterface'
import { CreateOfflineSubscriptionToken } from './CreateOfflineSubscriptionToken'
-import { DomainEventPublisherInterface, OfflineSubscriptionTokenCreatedEvent } from '@standardnotes/domain-events'
+import { DomainEventPublisherInterface, EmailRequestedEvent } from '@standardnotes/domain-events'
import { DomainEventFactoryInterface } from '../../Event/DomainEventFactoryInterface'
import { OfflineUserSubscriptionRepositoryInterface } from '../../Subscription/OfflineUserSubscriptionRepositoryInterface'
import { OfflineUserSubscription } from '../../Subscription/OfflineUserSubscription'
@@ -47,9 +47,9 @@ describe('CreateOfflineSubscriptionToken', () => {
domainEventPublisher.publish = jest.fn()
domainEventFactory = {} as jest.Mocked