Skip to content

Commit 6320284

Browse files
committed
refactor: clean up type casting in region resolution
1 parent 0b59f18 commit 6320284

1 file changed

Lines changed: 21 additions & 8 deletions

File tree

src/deploy/functions/prepare.ts

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,22 @@ import * as prompt from "../../prompt";
6666
export const EVENTARC_SOURCE_ENV = "EVENTARC_CLOUD_EVENT_SOURCE";
6767
export const DEFAULT_FUNCTION_REGION = "us-central1";
6868

69+
interface EventTriggerResolutionTarget {
70+
project: string;
71+
eventTrigger: {
72+
eventType: string;
73+
eventFilters?: Record<string, string | build.Expression<string>>;
74+
region?: string | build.Expression<string>;
75+
};
76+
}
77+
78+
interface BlockingTriggerResolutionTarget {
79+
blockingTrigger: {
80+
eventType: string;
81+
options?: Record<string, unknown>;
82+
};
83+
}
84+
6985
/**
7086
* Prepare functions codebases for deploy.
7187
*/
@@ -380,11 +396,10 @@ export async function resolveDefaultRegionsForBuild(
380396
} else {
381397
// Match triggers.
382398
try {
383-
const fullEndpoint = { ...endpoint, id } as any;
384399
if (build.isBlockingTriggered(endpoint)) {
385-
resolvedRegion = resolveRegionForBlockingTrigger(fullEndpoint);
400+
resolvedRegion = resolveRegionForBlockingTrigger(endpoint);
386401
} else if (build.isEventTriggered(endpoint)) {
387-
resolvedRegion = await resolveRegionForEventTrigger(fullEndpoint);
402+
resolvedRegion = await resolveRegionForEventTrigger(endpoint);
388403
}
389404
} catch (err: any) {
390405
logger.debug(
@@ -399,23 +414,21 @@ export async function resolveDefaultRegionsForBuild(
399414
}
400415
}
401416

402-
function resolveRegionForBlockingTrigger(
403-
endpoint: backend.Endpoint & backend.BlockingTriggered,
404-
): string {
417+
function resolveRegionForBlockingTrigger(endpoint: BlockingTriggerResolutionTarget): string {
405418
const eventType = endpoint.blockingTrigger.eventType;
406419
if ((events.AUTH_BLOCKING_EVENTS as readonly string[]).includes(eventType)) {
407420
return "us-east1";
408421
}
409422

410-
if (isGlobalAILogicEndpoint(endpoint)) {
423+
if (isGlobalAILogicEndpoint(endpoint as backend.Endpoint)) {
411424
return "us-east1";
412425
}
413426

414427
return DEFAULT_FUNCTION_REGION;
415428
}
416429

417430
async function resolveRegionForEventTrigger(
418-
endpoint: backend.Endpoint & backend.EventTriggered,
431+
endpoint: EventTriggerResolutionTarget,
419432
): Promise<string> {
420433
const eventTrigger = endpoint.eventTrigger;
421434
const eventType = eventTrigger.eventType;

0 commit comments

Comments
 (0)