@@ -75,15 +75,15 @@ export class MermaidChart {
75
75
public async getAuthorizationData ( {
76
76
state,
77
77
scope = [ 'email' ] ,
78
- utm_source,
79
- utm_medium,
80
- utm_campaign
78
+ trackingParams,
81
79
} : {
82
80
state ?: string ;
83
81
scope ?: string [ ] ;
84
- utm_source ?: string ;
85
- utm_medium ?: string ;
86
- utm_campaign ?: string ;
82
+ trackingParams ?: {
83
+ utm_source : string ;
84
+ utm_medium : string ;
85
+ utm_campaign : string ;
86
+ }
87
87
} = { } ) : Promise < AuthorizationData > {
88
88
if ( ! this . redirectURI ) {
89
89
throw new Error ( 'redirectURI is not set' ) ;
@@ -96,20 +96,19 @@ export class MermaidChart {
96
96
this . pendingStates [ stateID ] = {
97
97
codeVerifier,
98
98
} ;
99
-
100
- const extraParams : Record < string , string > = { } ;
101
- if ( utm_source && utm_medium && utm_campaign ) {
102
- extraParams . utm_source = utm_source ;
103
- extraParams . utm_medium = utm_medium ;
104
- extraParams . utm_campaign = utm_campaign ;
105
- }
106
99
107
100
const url = await this . oauth . authorizationCode . getAuthorizeUri ( {
108
101
redirectUri : this . redirectURI ,
109
102
state : stateID ,
110
103
codeVerifier,
111
104
scope,
112
- ...( Object . keys ( extraParams ) . length > 0 && { extraParams } ) ,
105
+ ...( trackingParams && {
106
+ extraParams : {
107
+ utm_source : trackingParams . utm_source ,
108
+ utm_medium : trackingParams . utm_medium ,
109
+ utm_campaign : trackingParams . utm_campaign ,
110
+ }
111
+ } ) ,
113
112
} ) ;
114
113
115
114
// Deletes the state after 60 seconds
@@ -267,4 +266,4 @@ export class MermaidChart {
267
266
const raw = await this . axios . get < string > ( URLS . raw ( document , theme ) . svg ) ;
268
267
return raw . data ;
269
268
}
270
- }
269
+ }
0 commit comments