@@ -28,6 +28,7 @@ import type {
28
28
AppParamsStrings ,
29
29
PreviewThresholdParams ,
30
30
PrivacyBannerLayoutParams ,
31
+ SessionClassEmailUsParams ,
31
32
TemplatesParams ,
32
33
UploadThresholdParams ,
33
34
} from "./appParams.types" ;
@@ -79,6 +80,7 @@ export function validatedAppParams(params: unknown): AppParams {
79
80
const PRIVACY_BANNER_LAYOUT = validatePrivacyBannerLayout ( params_ ) ;
80
81
const TEMPLATES = validateTemplates ( params_ ) ;
81
82
const UPLOAD_THRESHOLD = validateUploadThreshold ( params_ ) ;
83
+ const SESSION_CLASS_EMAIL_US = validateSessionClassEmailUs ( params_ ) ;
82
84
83
85
return {
84
86
ANONYMOUS_SESSIONS ,
@@ -98,6 +100,7 @@ export function validatedAppParams(params: unknown): AppParams {
98
100
SENTRY_NAMESPACE ,
99
101
SENTRY_SAMPLE_RATE ,
100
102
SENTRY_URL ,
103
+ SESSION_CLASS_EMAIL_US ,
101
104
STATUSPAGE_ID ,
102
105
TEMPLATES ,
103
106
UISERVER_URL ,
@@ -302,3 +305,41 @@ function validateUploadThreshold(params: RawAppParams): UploadThresholdParams {
302
305
: DEFAULT_APP_PARAMS [ "PREVIEW_THRESHOLD" ] . soft ;
303
306
return { soft } ;
304
307
}
308
+
309
+ function validateSessionClassEmailUs (
310
+ params : RawAppParams
311
+ ) : SessionClassEmailUsParams {
312
+ const value = params [ "SESSION_CLASS_EMAIL_US" ] ;
313
+ if ( typeof value !== "object" || value == null ) {
314
+ return DEFAULT_APP_PARAMS [ "SESSION_CLASS_EMAIL_US" ] ;
315
+ }
316
+
317
+ const rawEmailUsParams = value as {
318
+ [ key : string ] : unknown ;
319
+ } ;
320
+
321
+ const enabled = ! ! rawEmailUsParams . enabled ;
322
+
323
+ const to = typeof rawEmailUsParams . to === "string" ? rawEmailUsParams . to : "" ;
324
+
325
+ const subject =
326
+ typeof rawEmailUsParams . subject === "string"
327
+ ? rawEmailUsParams . subject
328
+ : "" ;
329
+
330
+ const body =
331
+ typeof rawEmailUsParams . body === "string" ? rawEmailUsParams . body : "" ;
332
+
333
+ if ( enabled && to ) {
334
+ return {
335
+ enabled,
336
+ email : {
337
+ to,
338
+ subject,
339
+ body,
340
+ } ,
341
+ } ;
342
+ }
343
+
344
+ return DEFAULT_APP_PARAMS [ "SESSION_CLASS_EMAIL_US" ] ;
345
+ }
0 commit comments