Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
7d81f4a
Remove clickRecorded trigger
devkiran Dec 16, 2025
542c75d
Add db tables
devkiran Dec 16, 2025
068690d
Add API to fetch and create rules
devkiran Dec 16, 2025
2f5025b
Implement move group functionality and associated workflows
devkiran Dec 16, 2025
58d00d8
Merge branch 'main' into group-move
devkiran Dec 17, 2025
24d9615
Refactor group movement logic to use movePartnersToGroup function and…
devkiran Dec 17, 2025
88c32fd
Merge branch 'main' into group-move
devkiran Dec 18, 2025
dee6765
Add Group Move Rule component and enhance group settings
devkiran Dec 18, 2025
5ba4867
Fix add more group rule
devkiran Dec 18, 2025
4de4f15
Add group move rule validation and capabilities
devkiran Dec 18, 2025
808f493
Merge branch 'main' into group-move
devkiran Dec 19, 2025
49535fa
Merge branch 'main' into group-move
devkiran Dec 22, 2025
bc1ad7c
Improve workflows
devkiran Dec 22, 2025
88dd874
Update workflow.prisma
devkiran Dec 22, 2025
afef137
Merge branch 'group-move' of https://github.com/dubinc/dub into group…
devkiran Dec 22, 2025
c05e80d
Add group move workflow functionality
devkiran Dec 22, 2025
d01c618
Update group-move-rule.tsx
devkiran Dec 22, 2025
a980d7b
Remove /api/groups/rule
devkiran Dec 22, 2025
159c574
Update route.ts
devkiran Dec 22, 2025
e208095
Refactor GroupRule component to enhance currency handling
devkiran Dec 22, 2025
eb8b663
Update upsert-group-move-workflow.ts
devkiran Dec 22, 2025
fd79709
Add upsell state
devkiran Dec 22, 2025
261ffa7
Update group-move-rule.tsx
devkiran Dec 22, 2025
583c8f0
Refactor workflow condition evaluation
devkiran Dec 22, 2025
85bd248
Merge branch 'main' into group-move
devkiran Dec 23, 2025
5ac10d1
Update index.ts
devkiran Dec 23, 2025
69532c2
Refactor execute workflow
devkiran Dec 23, 2025
1f3326d
Add migration scripts and optimize workflows
devkiran Dec 23, 2025
210299a
use the new trigger in all places
devkiran Dec 23, 2025
8ea9233
Update execute-send-campaign-workflow.ts
devkiran Dec 23, 2025
2d6f852
Update execute-complete-bounty-workflow.ts
devkiran Dec 23, 2025
5096820
Update execute-workflows.ts
devkiran Dec 23, 2025
b15ee95
Merge branch 'main' into group-move
devkiran Dec 23, 2025
8bbb045
Fix build
devkiran Dec 23, 2025
5de2ac9
Merge branch 'group-move' of https://github.com/dubinc/dub into group…
devkiran Dec 23, 2025
1b5259c
cleanups
devkiran Dec 23, 2025
db413f2
Address CodeRabbit feedbacks
devkiran Dec 23, 2025
02e915f
Add tests
devkiran Dec 23, 2025
c5df38a
moveRule -> moveRules
devkiran Dec 23, 2025
9bc1ca6
Update group-additional-settings.tsx
devkiran Dec 23, 2025
ddeefc2
Merge branch 'main' into group-move
devkiran Dec 26, 2025
fee662a
Add the range support for group rules UI
devkiran Dec 26, 2025
f329e43
Update group-move-rules.tsx
devkiran Dec 26, 2025
c9651ca
Add rule validation checks
devkiran Dec 26, 2025
88fbddc
Update find-groups-with-matching-rules.ts.ts
devkiran Dec 26, 2025
ec318fd
Update group-additional-settings.tsx
devkiran Dec 26, 2025
262f738
Add group rules API and integrate with group settings
devkiran Dec 26, 2025
e48f70d
Refactor group move rules handling: rename functions, add new API for…
devkiran Dec 26, 2025
889759f
Enhance executeMoveGroupWorkflow with debug logging and improve condi…
devkiran Dec 26, 2025
41b5f1d
Update execute-move-group-workflow.ts
devkiran Dec 26, 2025
9d5b559
Update group-additional-settings.tsx
devkiran Dec 26, 2025
f48f601
Remove explicit .ts extensions from imports.
devkiran Dec 26, 2025
147ab8f
Merge branch 'main' into group-move
devkiran Dec 26, 2025
df3712d
Refactor bounty performance condition handling: introduce bountyPerfo…
devkiran Dec 26, 2025
9c5496c
Update partner-profile.ts
devkiran Dec 26, 2025
80ef595
Merge branch 'main' into group-move
steven-tey Dec 30, 2025
d795b54
Merge branch 'main' into group-move
steven-tey Jan 2, 2026
b6b942c
Merge branch 'main' into group-move
devkiran Jan 8, 2026
58e94f4
fix zod usage
devkiran Jan 8, 2026
ffe65d1
Merge branch 'main' into group-move
steven-tey Jan 16, 2026
5443e1f
add back clickRecorded
steven-tey Jan 16, 2026
b00e3ca
Merge branch 'main' into group-move
steven-tey Jan 17, 2026
7a2a225
Merge branch 'main' into group-move
devkiran Jan 29, 2026
6aaeac2
format
devkiran Jan 29, 2026
42d22ed
Implement partner group change notification and related functionality
devkiran Jan 29, 2026
8d5d023
Merge branch 'main' into group-move
devkiran Jan 29, 2026
9073ed5
Update group-additional-settings.tsx
devkiran Jan 29, 2026
4930bb9
Update use-groups-rules.ts
devkiran Jan 29, 2026
a160ae9
Refactor discount code deletion and creation logic
devkiran Jan 29, 2026
6083987
Merge branch 'group-move' of https://github.com/dubinc/dub into group…
devkiran Jan 29, 2026
fbe1f99
Update route.ts
devkiran Jan 29, 2026
b78a348
Update submit-referral.ts
devkiran Jan 29, 2026
0a686e4
Update apps/web/lib/stripe/create-stripe-discount-code.ts
devkiran Jan 29, 2026
77b3e55
Update add-edit-discount-sheet.tsx
devkiran Jan 29, 2026
67e98e3
Merge branch 'group-move' of https://github.com/dubinc/dub into group…
devkiran Jan 29, 2026
ece9f8a
Update route.ts
devkiran Jan 29, 2026
b303208
Update add-edit-discount-sheet.tsx
devkiran Jan 29, 2026
cbe1e3a
Add update referral action and edit referral modal
devkiran Jan 30, 2026
465817c
add the status dropdown
devkiran Jan 30, 2026
3e9c1d1
Add unified referral status update action and modal
devkiran Jan 30, 2026
1bf8525
remove old modals and server actions
devkiran Jan 30, 2026
03c77b3
Add referral status management enhancements
devkiran Jan 30, 2026
c0e28f1
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
d4e89f7
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
8db9c9a
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
fbe51d3
Update types.ts
devkiran Jan 30, 2026
33235c8
Update pnpm-lock.yaml
devkiran Jan 30, 2026
9d05b28
Update pnpm-lock.yaml
devkiran Jan 30, 2026
1ca9e7c
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
8df324d
Update referral-lead-details.tsx
devkiran Jan 30, 2026
e404343
Update referral-lead-details.tsx
devkiran Jan 30, 2026
378d24a
Add referral event tracking to submission and status update actions
devkiran Jan 30, 2026
3a4c459
Update types.ts
devkiran Jan 30, 2026
aa3388c
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
f03607b
Update referrals.ts
devkiran Jan 30, 2026
d568ae9
Update mark-referral-qualified.ts
devkiran Jan 30, 2026
49f6440
Update confirm-referral-status-change-modal.tsx
devkiran Jan 30, 2026
76e6947
Merge branch 'main' into partner-referral-improvements
devkiran Jan 31, 2026
d354d33
address CR feedbacks
devkiran Feb 1, 2026
6e5a2a7
Update confirm-referral-status-change-modal.tsx
devkiran Feb 1, 2026
17c6b0d
Update referral-lead-details.tsx
devkiran Feb 1, 2026
f7e1e69
Update pnpm-lock.yaml
devkiran Feb 1, 2026
9f2e6d0
Update pnpm-lock.yaml
devkiran Feb 1, 2026
6b3a4eb
Merge branch 'main' into group-move
steven-tey Feb 2, 2026
63de139
Merge branch 'main' into partner-referral-improvements
devkiran Feb 2, 2026
dfb2a9f
Implement activity logging for referral actions
devkiran Feb 2, 2026
41695a0
Update onboarding-button.tsx
devkiran Feb 2, 2026
3ef9505
Update constants.ts
devkiran Feb 2, 2026
4da94ff
Merge branch 'main' into partner-referral-improvements
devkiran Feb 2, 2026
c95cc60
Update get-resource-diff.ts
devkiran Feb 2, 2026
b80af3c
Update update-referral-status.ts
devkiran Feb 2, 2026
3fac3b8
Update track-activity-log.ts
devkiran Feb 2, 2026
d6c6cb5
Update confirm-referral-status-change-modal.tsx
devkiran Feb 2, 2026
fda8c61
Merge branch 'main' into group-move
devkiran Feb 2, 2026
9cc761d
Merge branch 'group-move' of https://github.com/dubinc/dub into group…
devkiran Feb 2, 2026
9299828
Update apps/web/lib/actions/referrals/update-referral-status.ts
devkiran Feb 2, 2026
e6c5286
refactor deleteDiscountCodes
devkiran Feb 2, 2026
e130ec0
Refactor discount code handling: rename input schema, enhance logging…
devkiran Feb 2, 2026
7590078
Update route.ts
devkiran Feb 2, 2026
19b7919
cleanups
devkiran Feb 2, 2026
ba8e626
Update execute-move-group-workflow.ts
devkiran Feb 2, 2026
a627260
format
devkiran Feb 2, 2026
88df4f3
Update execute-workflows.ts
devkiran Feb 2, 2026
01b88cd
Update route.ts
devkiran Feb 2, 2026
a7faf77
Update upsert-group-move-rules.ts
devkiran Feb 2, 2026
0aa645a
Update execute-move-group-workflow.ts
devkiran Feb 2, 2026
a2d7c87
Refactor discount code logic in remap-discount-codes route: streamlin…
devkiran Feb 2, 2026
667fbf4
Update execute-workflows.ts
devkiran Feb 2, 2026
29a64e0
Update execute-workflows.ts
devkiran Feb 2, 2026
b4ba1b1
address CR feedbacks
devkiran Feb 2, 2026
1b680a7
Update constants.ts
devkiran Feb 2, 2026
424d17d
Update update-referral-status.ts
devkiran Feb 2, 2026
3c3c81a
Update activity.prisma
devkiran Feb 2, 2026
ad3c995
Merge branch 'main' into group-move
steven-tey Feb 2, 2026
460a392
Merge branch 'main' into partner-referral-improvements
devkiran Feb 4, 2026
3b003c8
Merge branch 'main' into partner-referral-improvements
steven-tey Feb 4, 2026
d4264e2
Add activity log tracking for partner group changes
devkiran Feb 4, 2026
b0b46ad
Track status changeSet in referral activity logs
devkiran Feb 4, 2026
95ff6eb
Move activity log types to Zod schema enums
devkiran Feb 4, 2026
e851a72
Update constants.ts
devkiran Feb 4, 2026
97207d7
Update route.ts
devkiran Feb 4, 2026
cd8380d
Update route.ts
devkiran Feb 4, 2026
cbab97d
Update track-activity-log.ts
devkiran Feb 4, 2026
1f0f417
Merge branch 'activity-logs' into group-move
devkiran Feb 4, 2026
2b5a297
Add activity log tracking for partner group changes
devkiran Feb 4, 2026
dff0689
Update execute-move-group-workflow.ts
devkiran Feb 4, 2026
2356647
Update execute-move-group-workflow.ts
devkiran Feb 4, 2026
b72c05b
Merge branch 'main' into group-move
devkiran Feb 5, 2026
1032bf6
Update activity-log.ts
devkiran Feb 5, 2026
ef2811f
Update route.ts
devkiran Feb 5, 2026
5141769
Fix move-partners-to-group: add partnerId to select, use partner reso…
devkiran Feb 5, 2026
a93ffb5
Merge branch 'main' into group-move
steven-tey Feb 5, 2026
eed05c4
Merge branch 'main' into group-move
steven-tey Feb 5, 2026
8dc3696
clean up naming
steven-tey Feb 5, 2026
913ccd2
GroupSettingsRow
steven-tey Feb 5, 2026
958758f
simplify skeleton implementation
steven-tey Feb 6, 2026
29782dc
Merge branch 'main' into group-move
steven-tey Feb 6, 2026
d623296
split constructDiscountCode
steven-tey Feb 6, 2026
f70587d
fix discount tests
steven-tey Feb 6, 2026
6b739be
address coderabbit feedback
steven-tey Feb 6, 2026
aa81522
Display referral and group moves changelog (#3423)
devkiran Feb 6, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createId } from "@/lib/api/create-id";
import { handleAndReturnErrorResponse } from "@/lib/api/errors";
import { evaluateWorkflowCondition } from "@/lib/api/workflows/execute-workflows";
import { evaluateWorkflowConditions } from "@/lib/api/workflows/evaluate-workflow-conditions";
import { qstash } from "@/lib/cron";
import { verifyQstashSignature } from "@/lib/cron/verify-qstash";
import { aggregatePartnerLinksStats } from "@/lib/partners/aggregate-partner-links-stats";
Expand Down Expand Up @@ -152,8 +152,8 @@ export async function POST(req: Request) {
.map((partner) => {
const performanceCount = partner[condition.attribute];

const conditionMet = evaluateWorkflowCondition({
condition,
const conditionMet = evaluateWorkflowConditions({
conditions: [condition],
attributes: {
[condition.attribute]: performanceCount,
},
Expand Down

This file was deleted.

41 changes: 41 additions & 0 deletions apps/web/app/(ee)/api/cron/discount-codes/delete/route.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
import { withCron } from "@/lib/cron/with-cron";
import { disableStripeDiscountCode } from "@/lib/stripe/disable-stripe-discount-code";
import { prisma } from "@dub/prisma";
import * as z from "zod/v4";
import { logAndRespond } from "../../utils";

export const dynamic = "force-dynamic";

const inputSchema = z.object({
code: z.string(),
programId: z.string(),
});

// POST /api/cron/discount-codes/delete
export const POST = withCron(async ({ rawBody }) => {
const { code, programId } = inputSchema.parse(JSON.parse(rawBody));

const workspace = await prisma.project.findUniqueOrThrow({
where: {
defaultProgramId: programId,
},
select: {
stripeConnectId: true,
},
});

const disabledDiscountCode = await disableStripeDiscountCode({
code,
stripeConnectId: workspace.stripeConnectId,
});

if (!disabledDiscountCode) {
return logAndRespond(
`Failed to disable discount code ${code} in Stripe for ${workspace.stripeConnectId}.`,
);
}

return logAndRespond(
`Discount code ${code} disabled from Stripe for ${workspace.stripeConnectId}.`,
);
});
25 changes: 22 additions & 3 deletions apps/web/app/(ee)/api/cron/groups/remap-default-links/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,12 @@ import { verifyQstashSignature } from "@/lib/cron/verify-qstash";
import { WorkspaceProps } from "@/lib/types";
import { MAX_DEFAULT_LINKS_PER_GROUP } from "@/lib/zod/schemas/groups";
import { prisma } from "@dub/prisma";
import { APP_DOMAIN_WITH_NGROK, isFulfilled, log } from "@dub/utils";
import {
APP_DOMAIN_WITH_NGROK,
isFulfilled,
log,
prettyPrint,
} from "@dub/utils";
import * as z from "zod/v4";
import { logAndRespond } from "../../utils";
import { remapPartnerGroupDefaultLinks } from "./utils";
Expand Down Expand Up @@ -217,15 +222,29 @@ export async function POST(req: Request) {
);
}

const res = await qstash.publishJSON({
const syncUtmJob = await qstash.publishJSON({
url: `${APP_DOMAIN_WITH_NGROK}/api/cron/groups/sync-utm`,
body: {
groupId,
partnerIds,
},
});

console.log(
`Scheduled sync-utm job for group ${groupId}: ${prettyPrint(syncUtmJob)}`,
);

const remapDiscountCodesJob = await qstash.publishJSON({
url: `${APP_DOMAIN_WITH_NGROK}/api/cron/groups/remap-discount-codes`,
body: {
programId,
partnerIds,
groupId,
},
});

console.log(
`Scheduled sync-utm job for group ${groupId}: ${JSON.stringify(res, null, 2)}`,
`Scheduled remap-discount-codes job for group ${groupId}: ${prettyPrint(remapDiscountCodesJob)}`,
);

return logAndRespond(`Finished creating default links for the partners.`);
Expand Down
Loading