feat: Custom host location (#25916)
* chore: save progress * chore: * feat: add input dialog * fix: type error * feat: mass apply dialog * test: per host location * test: fix test * fix: address Cubic AI review feedback (confidence >= 9/10) - Remove PII (address, phone number) from tracing logs in RegularBookingService.ts - Constrain HostLocation.type to EventLocationType["type"] for compile-time validation Co-Authored-By: unknown <> * fix: translation * refactor: improvements * fix: correct grammar in custom host locations tooltip Change 'custom host locations is enabled' to 'custom host locations are enabled' (plural subject requires plural verb). Addresses Cubic AI review feedback (confidence 9/10). Co-Authored-By: unknown <> * refactor: improvements * fix: auth * fix: check * refactor: improvements * fix: address Cubic AI review feedback (confidence >= 9/10) - Add scheduleId to newly created hosts in update.handler.ts to persist host-specific schedules during create operations - Change host location deletion filter from !host.location to host.location === null to only delete when explicitly set to null - Fix static-link per-host locations to use actual link instead of type in locationBodyString for bookingLocationService.ts Co-Authored-By: unknown <> * fix: preserve existing host scheduleId when not explicitly provided Change scheduleId handling for existing hosts from 'host.scheduleId ?? null' to 'host.scheduleId === undefined ? undefined : host.scheduleId' so that when the client doesn't provide a scheduleId, the existing value is preserved instead of being cleared to null. Co-Authored-By: unknown <> * fix; type erro * fix; type erro * fix; type erro * refactor: move repository * refactor: move repository * fix: add singular/plural translations for location_applied_to_hosts Addresses Cubic AI review feedback (confidence 9/10) to fix '1 hosts' rendering as '1 host' by using i18next plural format with _one and _other suffixes. Co-Authored-By: unknown <> * refactor: feedback * fix: type err * fix: use uuid in schema and remove attendee locaiton * fix: type err * fix: type err * fix: validate eventTypeId as integer in massApplyHostLocation schema Co-Authored-By: unknown <> --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
This commit is contained in:
co-authored by
unknown <>
unknown <>
unknown <>
Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
parent
b9b7e50f5a
commit
0ad4367005
@@ -140,11 +140,20 @@ type InputWorkflowReminder = {
|
||||
workflowId: number;
|
||||
};
|
||||
|
||||
type InputHostLocation = {
|
||||
type: string;
|
||||
credentialId?: number | null;
|
||||
link?: string | null;
|
||||
address?: string | null;
|
||||
phoneNumber?: string | null;
|
||||
};
|
||||
|
||||
type InputHost = {
|
||||
userId: number;
|
||||
isFixed?: boolean;
|
||||
scheduleId?: number | null;
|
||||
groupId?: string | null;
|
||||
location?: InputHostLocation | null;
|
||||
};
|
||||
|
||||
type InputSelectedSlot = {
|
||||
@@ -362,6 +371,20 @@ async function addHostsToDb(eventTypes: InputEventType[]) {
|
||||
await prismock.host.create({
|
||||
data,
|
||||
});
|
||||
|
||||
if (host.location) {
|
||||
await prismock.hostLocation.create({
|
||||
data: {
|
||||
userId: host.userId,
|
||||
eventTypeId: eventType.id,
|
||||
type: host.location.type,
|
||||
credentialId: host.location.credentialId ?? null,
|
||||
link: host.location.link ?? null,
|
||||
address: host.location.address ?? null,
|
||||
phoneNumber: host.location.phoneNumber ?? null,
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user