MCPcopy Index your code
hub / github.com/CodebuffAI/codebuff / createConfiguredProvider

Function createConfiguredProvider

web/src/app/api/v1/ads/_post.ts:69–94  ·  view source on GitHub ↗
(
  providerId: AdProviderId,
  serverEnv: AdsEnv,
  logger: Logger,
)

Source from the content-addressed store, hash-verified

67}
68
69function createConfiguredProvider(
70 providerId: AdProviderId,
71 serverEnv: AdsEnv,
72 logger: Logger,
73): AdProvider | null {
74 switch (providerId) {
75 case 'carbon':
76 if (!serverEnv.CARBON_ZONE_KEY) {
77 logger.warn('[ads] CARBON_ZONE_KEY not configured')
78 return null
79 }
80 return createCarbonProvider({ zoneKey: serverEnv.CARBON_ZONE_KEY })
81 case 'zeroclick':
82 if (!serverEnv.ZEROCLICK_API_KEY) {
83 logger.warn('[ads] ZEROCLICK_API_KEY not configured')
84 return null
85 }
86 return createZeroClickProvider({ apiKey: serverEnv.ZEROCLICK_API_KEY })
87 case 'gravity':
88 if (!serverEnv.GRAVITY_API_KEY) {
89 logger.warn('[ads] GRAVITY_API_KEY not configured')
90 return null
91 }
92 return createGravityProvider({ apiKey: serverEnv.GRAVITY_API_KEY })
93 }
94}
95
96async function persistAdImpressions(params: {
97 ads: NormalizedAd[]

Callers 1

postAdsFunction · 0.85

Calls 3

createCarbonProviderFunction · 0.90
createZeroClickProviderFunction · 0.90
createGravityProviderFunction · 0.90

Tested by

no test coverage detected