Skip to content

Commit 078efce

Browse files
authored
Merge pull request #1657 from Giveth/Replace-ortto-External-Embedded-Webform-for-Onboarding-guide
Replace ortto External Embedded Webform for Onboarding guide
2 parents f6a55f5 + 685ac4d commit 078efce

File tree

6 files changed

+42
-0
lines changed

6 files changed

+42
-0
lines changed

src/adapters/notifications/MockNotificationAdapter.ts

+5
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ import { logger } from '../../utils/logger';
1111
import { RecurringDonation } from '../../entities/recurringDonation';
1212

1313
export class MockNotificationAdapter implements NotificationAdapterInterface {
14+
async subscribeOnboarding(params: { email: string }): Promise<void> {
15+
logger.debug('MockNotificationAdapter subscribeOnboarding', params);
16+
return Promise.resolve(undefined);
17+
}
18+
1419
async createOrttoProfile(params: User): Promise<void> {
1520
logger.debug('MockNotificationAdapter createOrttoProfile', params);
1621
return Promise.resolve(undefined);

src/adapters/notifications/NotificationAdapterInterface.ts

+2
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ export interface OrttoPerson {
3434
}
3535

3636
export interface NotificationAdapterInterface {
37+
subscribeOnboarding(params: { email: string }): Promise<void>;
38+
3739
createOrttoProfile(params: User): Promise<void>;
3840

3941
updateOrttoPeople(params: OrttoPerson[]): Promise<void>;

src/adapters/notifications/NotificationCenterAdapter.ts

+15
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,21 @@ export class NotificationCenterAdapter implements NotificationAdapterInterface {
5757
}
5858
}
5959

60+
async subscribeOnboarding(params: { email: string }): Promise<void> {
61+
try {
62+
const { email } = params;
63+
if (!email) return;
64+
await callSendNotification({
65+
eventName: NOTIFICATIONS_EVENT_NAMES.SUBSCRIBE_ONBOARDING,
66+
segment: {
67+
payload: { email },
68+
},
69+
});
70+
} catch (e) {
71+
logger.error('subscribeOnboarding >> error', e);
72+
}
73+
}
74+
6075
async sendEmailConfirmation(params: {
6176
email: string;
6277
project: Project;

src/analytics/analytics.ts

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export enum NOTIFICATIONS_EVENT_NAMES {
4646
SUPER_TOKENS_BALANCE_WEEK = 'One week left in stream balance',
4747
SUPER_TOKENS_BALANCE_MONTH = 'One month left in stream balance',
4848
SUPER_TOKENS_BALANCE_DEPLETED = 'Stream balance depleted',
49+
SUBSCRIBE_ONBOARDING = 'Subscribe onboarding',
4950
CREATE_ORTTO_PROFILE = 'Create Ortto profile',
5051
SEND_EMAIL_CONFIRMATION = 'Send email confirmation',
5152
}
+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
import { Arg, Query, Resolver } from 'type-graphql';
2+
import { getNotificationAdapter } from '../adapters/adaptersFactory';
3+
import { logger } from '../utils/logger';
4+
5+
@Resolver()
6+
export class OnboardingFormResolver {
7+
@Query(_returns => Boolean)
8+
async subscribeOnboarding(@Arg('email') email: string): Promise<boolean> {
9+
try {
10+
await getNotificationAdapter().subscribeOnboarding({ email });
11+
return true;
12+
} catch (e) {
13+
logger.debug('subscribeOnboarding() error', e);
14+
return false;
15+
}
16+
}
17+
}

src/resolvers/resolvers.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ import { ProjectUserInstantPowerViewResolver } from './instantPowerResolver';
2020
import { AnchorContractAddressResolver } from './anchorContractAddressResolver';
2121
import { RecurringDonationResolver } from './recurringDonationResolver';
2222
import { DraftDonationResolver } from './draftDonationResolver';
23+
import { OnboardingFormResolver } from './onboardingFormResolver';
2324

2425
// eslint-disable-next-line @typescript-eslint/ban-types
2526
export const getResolvers = (): Function[] => {
@@ -49,5 +50,6 @@ export const getResolvers = (): Function[] => {
4950

5051
AnchorContractAddressResolver,
5152
RecurringDonationResolver,
53+
OnboardingFormResolver,
5254
];
5355
};

0 commit comments

Comments
 (0)