@@ -11,6 +11,7 @@ import {
1111 syncPersonalEnvCredentialsForUser ,
1212 syncWorkspaceEnvCredentials ,
1313} from '@/lib/credentials/environment'
14+ import { captureServerEvent } from '@/lib/posthog/server'
1415
1516const logger = createLogger ( 'CredentialByIdAPI' )
1617
@@ -236,6 +237,17 @@ export async function DELETE(
236237 envKeys : Object . keys ( current ) ,
237238 } )
238239
240+ captureServerEvent (
241+ session . user . id ,
242+ 'credential_deleted' ,
243+ {
244+ credential_type : 'env_personal' ,
245+ provider_id : access . credential . envKey ,
246+ workspace_id : access . credential . workspaceId ,
247+ } ,
248+ { groups : { workspace : access . credential . workspaceId } }
249+ )
250+
239251 return NextResponse . json ( { success : true } , { status : 200 } )
240252 }
241253
@@ -278,10 +290,33 @@ export async function DELETE(
278290 actingUserId : session . user . id ,
279291 } )
280292
293+ captureServerEvent (
294+ session . user . id ,
295+ 'credential_deleted' ,
296+ {
297+ credential_type : 'env_workspace' ,
298+ provider_id : access . credential . envKey ,
299+ workspace_id : access . credential . workspaceId ,
300+ } ,
301+ { groups : { workspace : access . credential . workspaceId } }
302+ )
303+
281304 return NextResponse . json ( { success : true } , { status : 200 } )
282305 }
283306
284307 await db . delete ( credential ) . where ( eq ( credential . id , id ) )
308+
309+ captureServerEvent (
310+ session . user . id ,
311+ 'credential_deleted' ,
312+ {
313+ credential_type : access . credential . type as 'oauth' | 'service_account' ,
314+ provider_id : access . credential . providerId ?? id ,
315+ workspace_id : access . credential . workspaceId ,
316+ } ,
317+ { groups : { workspace : access . credential . workspaceId } }
318+ )
319+
285320 return NextResponse . json ( { success : true } , { status : 200 } )
286321 } catch ( error ) {
287322 logger . error ( 'Failed to delete credential' , error )
0 commit comments