Skip to content

Commit

Permalink
chore: Bump Dub version to fix createMany error (#18591)
Browse files Browse the repository at this point in the history
Co-authored-by: Alex van Andel <me@alexvanandel.com>
  • Loading branch information
steven-tey and emrysal authored Jan 17, 2025
1 parent b63c979 commit 6be69b8
Show file tree
Hide file tree
Showing 5 changed files with 28 additions and 59 deletions.
2 changes: 1 addition & 1 deletion packages/features/auth/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"@calcom/trpc": "*",
"@calcom/ui": "*",
"bcryptjs": "^2.4.3",
"dub": "^0.35.0",
"dub": "^0.46.15",
"handlebars": "^4.7.7",
"jose": "^4.13.1",
"lru-cache": "^9.0.3",
Expand Down
24 changes: 3 additions & 21 deletions packages/features/ee/workflows/api/scheduleSMSReminders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
import type { NextApiRequest, NextApiResponse } from "next";

import dayjs from "@calcom/dayjs";
import { getShortenLink } from "@calcom/ee/workflows/lib/reminders/utils";
import { bulkShortenLinks } from "@calcom/ee/workflows/lib/reminders/utils";
import { getCalEventResponses } from "@calcom/features/bookings/lib/getCalEventResponses";
import { getBookerBaseUrl } from "@calcom/lib/getBookerUrl/server";
import { defaultHandler } from "@calcom/lib/server";
Expand Down Expand Up @@ -127,26 +127,8 @@ async function handler(req: NextApiRequest, res: NextApiResponse) {
rescheduleLink: `${bookerUrl}/reschedule/${reminder.booking.uid}` || "",
};

const [meetingUrl, cancelLink, rescheduleLink] = await Promise.allSettled([
getShortenLink(urls.meetingUrl),
getShortenLink(urls.cancelLink),
getShortenLink(urls.rescheduleLink),
]).then((results) => {
return results.map((result) => {
let finalResult = "";

if (result.status === "fulfilled") {
const v = result.value;
if (typeof v === "string") {
finalResult = v;
} else {
finalResult = v.shortLink;
}
}

return finalResult;
});
});
const [{ shortLink: meetingUrl }, { shortLink: cancelLink }, { shortLink: rescheduleLink }] =
await bulkShortenLinks([urls.meetingUrl, urls.cancelLink, urls.rescheduleLink]);

const variables: VariablesType = {
eventName: reminder.booking?.eventType?.title,
Expand Down
24 changes: 3 additions & 21 deletions packages/features/ee/workflows/lib/reminders/smsReminderManager.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import dayjs from "@calcom/dayjs";
import { getShortenLink } from "@calcom/ee/workflows/lib/reminders/utils";
import { bulkShortenLinks } from "@calcom/ee/workflows/lib/reminders/utils";
import { SENDER_ID, WEBSITE_URL } from "@calcom/lib/constants";
import logger from "@calcom/lib/logger";
import type { TimeFormat } from "@calcom/lib/timeFormat";
Expand Down Expand Up @@ -153,26 +153,8 @@ export const scheduleSMSReminder = async (args: ScheduleTextReminderArgs) => {
rescheduleLink: `${evt.bookerUrl ?? WEBSITE_URL}/reschedule/${evt.uid}`,
};

const [meetingUrl, cancelLink, rescheduleLink] = await Promise.allSettled([
getShortenLink(urls.meetingUrl),
getShortenLink(urls.cancelLink),
getShortenLink(urls.rescheduleLink),
]).then((results) => {
return results.map((result) => {
let finalResult = "";

if (result.status === "fulfilled") {
const v = result.value;
if (typeof v === "string") {
finalResult = v;
} else {
finalResult = v.shortLink;
}
}

return finalResult;
});
});
const [{ shortLink: meetingUrl }, { shortLink: cancelLink }, { shortLink: rescheduleLink }] =
await bulkShortenLinks([urls.meetingUrl, urls.cancelLink, urls.rescheduleLink]);

const variables: VariablesType = {
eventName: evt.title,
Expand Down
27 changes: 16 additions & 11 deletions packages/features/ee/workflows/lib/reminders/utils.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
import { dub } from "@calcom/features/auth/lib/dub";

export const getShortenLink = (link: string) => {
// don't hit dub with with empty string
if (!link.length) {
const pr: Promise<string> = new Promise((resolve) => resolve(link));
return pr;
} else {
return dub.links.create({
url: link,
domain: "sms.cal.com",
});
}
export const bulkShortenLinks = async (links: string[]) => {
const linksToShorten = links.filter((link) => link);
const results = await dub.links.createMany(
linksToShorten.map((link) => ({ domain: "sms.cal.com", url: link }))
);
return links.map((link) => {
const createdLink = results.find(
(result): result is Extract<typeof result, { url: string }> =>
!("error" in result) && result.url === link
);
if (createdLink) {
return { shortLink: createdLink.shortLink };
} else {
return { shortLink: link };
}
});
};
10 changes: 5 additions & 5 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -4132,7 +4132,7 @@ __metadata:
"@calcom/trpc": "*"
"@calcom/ui": "*"
bcryptjs: ^2.4.3
dub: ^0.35.0
dub: ^0.46.15
handlebars: ^4.7.7
jose: ^4.13.1
lru-cache: ^9.0.3
Expand Down Expand Up @@ -23405,12 +23405,12 @@ __metadata:
languageName: node
linkType: hard

"dub@npm:^0.35.0":
version: 0.35.0
resolution: "dub@npm:0.35.0"
"dub@npm:^0.46.15":
version: 0.46.15
resolution: "dub@npm:0.46.15"
peerDependencies:
zod: ">= 3"
checksum: 162bd1ff62b62044e3840d3128f341baa8d07828aaf9ca2e94a562b7196df857c1fcdbf2495edfd8b7055970eb1c64298a2265dca81cb4d7bdc65ddc97980905
checksum: 36b1260bc3115e5a9122bd165785ecfcc208ff6e6f8dc38c339d9b98132e3d49fe05740659106dcf870cc0bc8037ff6181620347076186e1a82644fb9513983b
languageName: node
linkType: hard

Expand Down

0 comments on commit 6be69b8

Please sign in to comment.