1- import { getRequiredServerEnvVar } from '../utils/misc .ts'
1+ import { getEnv } from '../utils/env.server .ts'
22
3- const KIT_API_SECRET = getRequiredServerEnvVar ( 'KIT_API_SECRET' )
4- const KIT_API_KEY = getRequiredServerEnvVar ( 'KIT_API_KEY' )
3+ function getKitAuth ( ) {
4+ const env = getEnv ( )
5+ return { apiSecret : env . KIT_API_SECRET , apiKey : env . KIT_API_KEY }
6+ }
57
68type KitSubscriber = {
79 id : number
@@ -19,8 +21,11 @@ type KitTag = {
1921}
2022
2123async function getKitSubscriber ( email : string ) {
24+ const { apiSecret } = getKitAuth ( )
2225 const url = new URL ( 'https://api.kit.com/v3/subscribers' )
23- url . searchParams . set ( 'api_secret' , KIT_API_SECRET )
26+ // Kit API v3 expects `api_secret` as a query param for these endpoints.
27+ // Avoid logging this URL to prevent leaking credentials.
28+ url . searchParams . set ( 'api_secret' , apiSecret )
2429 url . searchParams . set ( 'email_address' , email )
2530
2631 const resp = await fetch ( url . toString ( ) )
@@ -33,8 +38,11 @@ async function getKitSubscriber(email: string) {
3338}
3439
3540async function getKitSubscriberTags ( subscriberId : KitSubscriber [ 'id' ] ) {
41+ const { apiSecret } = getKitAuth ( )
3642 const url = new URL ( `https://api.kit.com/v3/subscribers/${ subscriberId } /tags` )
37- url . searchParams . set ( 'api_secret' , KIT_API_SECRET )
43+ // Kit API v3 expects `api_secret` as a query param for these endpoints.
44+ // Avoid logging this URL to prevent leaking credentials.
45+ url . searchParams . set ( 'api_secret' , apiSecret )
3846
3947 const resp = await fetch ( url . toString ( ) )
4048 const json = ( await resp . json ( ) ) as {
@@ -73,9 +81,10 @@ async function addSubscriberToForm({
7381 firstName : string
7482 kitFormId : string
7583} ) {
84+ const { apiKey, apiSecret } = getKitAuth ( )
7685 const subscriberData = {
77- api_key : KIT_API_KEY ,
78- api_secret : KIT_API_SECRET ,
86+ api_key : apiKey ,
87+ api_secret : apiSecret ,
7988 first_name : firstName ,
8089 email,
8190 }
@@ -106,9 +115,10 @@ async function addTagToSubscriber({
106115 kitTagId : string
107116} ) {
108117 await ensureSubscriber ( { email, firstName } )
118+ const { apiKey, apiSecret } = getKitAuth ( )
109119 const subscriberData = {
110- api_key : KIT_API_KEY ,
111- api_secret : KIT_API_SECRET ,
120+ api_key : apiKey ,
121+ api_secret : apiSecret ,
112122 first_name : firstName ,
113123 email,
114124 }
@@ -139,9 +149,10 @@ async function tagKCDSiteSubscriber({
139149 const subscriber = await getKitSubscriber ( email )
140150 const kcdTagId = '2466369'
141151 const kcdSiteForm = '2393887'
152+ const { apiKey, apiSecret } = getKitAuth ( )
142153 const subscriberData = {
143- api_key : KIT_API_KEY ,
144- api_secret : KIT_API_SECRET ,
154+ api_key : apiKey ,
155+ api_secret : apiSecret ,
145156 first_name : firstName ,
146157 email,
147158 fields,
0 commit comments