Skip to content

Commit a70a028

Browse files
authored
Improve seed script with logos, default links, additional links for groups (#3417)
1 parent 5c14fc6 commit a70a028

File tree

2 files changed

+134
-18
lines changed

2 files changed

+134
-18
lines changed

apps/web/scripts/dev/data.json

Lines changed: 99 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"id": "ws_1KETZ919F83ZJH6A80HWEHW6E",
44
"name": "Acme, Inc.",
55
"slug": "acme",
6+
"logo": "https://assets.dub.co/logo.png",
67
"plan": "enterprise",
78
"billingCycleStart": 1,
89
"usageLimit": 100000,
@@ -93,7 +94,21 @@
9394
"slug": "default",
9495
"color": null,
9596
"leadRewardId": "rw_1K2J9DRWPPJ2F1RX53N92TSGD",
96-
"saleRewardId": "rw_1K2J9DRWPPJ2F1RX53N92TSGE"
97+
"saleRewardId": "rw_1K2J9DRWPPJ2F1RX53N92TSGE",
98+
"additionalLinks": [
99+
{
100+
"domain": "acme.com",
101+
"validationMode": "domain"
102+
}
103+
],
104+
"defaultLinks": [
105+
{
106+
"url": "https://acme.com"
107+
},
108+
{
109+
"url": "https://example.com"
110+
}
111+
]
97112
}
98113
],
99114
"program": {
@@ -106,7 +121,8 @@
106121
"url": "https://acme.com",
107122
"termsUrl": "https://acme.com/terms",
108123
"helpUrl": "https://acme.com/help",
109-
"supportEmail": "support@acme.com"
124+
"supportEmail": "support@acme.com",
125+
"logo": "https://assets.dub.co/logo.png"
110126
},
111127
"partners": [
112128
{
@@ -190,7 +206,13 @@
190206
"developer": "Dub",
191207
"website": "https://www.make.com/en/integrations/dub",
192208
"logo": "https://dubassets.com/integrations/clzlmyxup0001jeqyaka3dvdd_GSp2tii",
193-
"screenshots": ["https://dubassets.com/integration-screenshots/VCgvW2LjXsLoIFv2", "https://dubassets.com/integration-screenshots/i5VhxZPsiir0O4Mm", "https://dubassets.com/integration-screenshots/RydWo5Vuti1md99Y", "https://dubassets.com/integration-screenshots/B8vnuWTDNn522PeO", "https://dubassets.com/integration-screenshots/69orbl78A9a6sABs"],
209+
"screenshots": [
210+
"https://dubassets.com/integration-screenshots/VCgvW2LjXsLoIFv2",
211+
"https://dubassets.com/integration-screenshots/i5VhxZPsiir0O4Mm",
212+
"https://dubassets.com/integration-screenshots/RydWo5Vuti1md99Y",
213+
"https://dubassets.com/integration-screenshots/B8vnuWTDNn522PeO",
214+
"https://dubassets.com/integration-screenshots/69orbl78A9a6sABs"
215+
],
194216
"verified": 1,
195217
"installUrl": "https://d.to/make",
196218
"category": "Automations",
@@ -206,7 +228,14 @@
206228
"developer": "Dub",
207229
"website": "https://dub.co",
208230
"logo": "https://dubassets.com/integrations/clzlmyzlx0005jeqy95pjrwbz_Yg767eU",
209-
"screenshots": ["https://dubassets.com/integration-screenshots/b1SsigyIcIiCM5rg", "https://dubassets.com/integration-screenshots/elx3p7U5ryWEZR1T", "https://dubassets.com/integration-screenshots/eZlq9CUYDxHuNOYj", "https://dubassets.com/integration-screenshots/fHIXRcOf1ctCWbKZ", "https://dubassets.com/integration-screenshots/jUjNz70iIpN6vOoX", "https://dubassets.com/integration-screenshots/ueytiiNoIKpHaK83"],
231+
"screenshots": [
232+
"https://dubassets.com/integration-screenshots/b1SsigyIcIiCM5rg",
233+
"https://dubassets.com/integration-screenshots/elx3p7U5ryWEZR1T",
234+
"https://dubassets.com/integration-screenshots/eZlq9CUYDxHuNOYj",
235+
"https://dubassets.com/integration-screenshots/fHIXRcOf1ctCWbKZ",
236+
"https://dubassets.com/integration-screenshots/jUjNz70iIpN6vOoX",
237+
"https://dubassets.com/integration-screenshots/ueytiiNoIKpHaK83"
238+
],
210239
"verified": 1,
211240
"installUrl": "https://d.to/ray",
212241
"category": "Productivity",
@@ -222,7 +251,12 @@
222251
"developer": "Dub",
223252
"website": "https://zapier.com/apps/dub/integrations",
224253
"logo": "https://dubassets.com/integrations/clzlmz336000fjeqynwhfv8vo_S4yz4ak",
225-
"screenshots": ["https://dubassets.com/integration-screenshots/bEld4Gv6Fq0fK71z", "https://dubassets.com/integration-screenshots/VNwGY2jNAWEyhbXm", "https://dubassets.com/integration-screenshots/6P30UyuQYJDHnXOm", "https://dubassets.com/integration-screenshots/eEhRKYPBxeqdzrHO"],
254+
"screenshots": [
255+
"https://dubassets.com/integration-screenshots/bEld4Gv6Fq0fK71z",
256+
"https://dubassets.com/integration-screenshots/VNwGY2jNAWEyhbXm",
257+
"https://dubassets.com/integration-screenshots/6P30UyuQYJDHnXOm",
258+
"https://dubassets.com/integration-screenshots/eEhRKYPBxeqdzrHO"
259+
],
226260
"verified": 1,
227261
"installUrl": "https://d.to/zapier",
228262
"category": "Automations",
@@ -238,7 +272,13 @@
238272
"developer": "Dub",
239273
"website": "https://marketplace.stripe.com/apps/dub-conversions",
240274
"logo": "https://dubassets.com/integrations/clzra1ya60001wnj4a89zcg9h_jtyaGa7",
241-
"screenshots": ["https://dubassets.com/integration-screenshots/AP9z3b8HsDIOVQMq", "https://dubassets.com/integration-screenshots/y9CMwUxLbO7pjXJM", "https://dubassets.com/integration-screenshots/W94e40NcUlUlB5Bq", "https://dubassets.com/integration-screenshots/PZkxLsI8yG65qo0n", "https://dubassets.com/integration-screenshots/WkeZCSZOOSEukIlT"],
275+
"screenshots": [
276+
"https://dubassets.com/integration-screenshots/AP9z3b8HsDIOVQMq",
277+
"https://dubassets.com/integration-screenshots/y9CMwUxLbO7pjXJM",
278+
"https://dubassets.com/integration-screenshots/W94e40NcUlUlB5Bq",
279+
"https://dubassets.com/integration-screenshots/PZkxLsI8yG65qo0n",
280+
"https://dubassets.com/integration-screenshots/WkeZCSZOOSEukIlT"
281+
],
242282
"verified": 1,
243283
"installUrl": "https://marketplace.stripe.com/apps/dub",
244284
"category": "Payments",
@@ -254,7 +294,14 @@
254294
"developer": "Dub",
255295
"website": "https://wordpress.org/plugins/dubinc",
256296
"logo": "https://dubassets.com/integrations/clzrjifgn0004tyvlu72oxcc2_GrLz146",
257-
"screenshots": ["https://dubassets.com/integration-screenshots/pVyCJ0nCMk8vFdzV", "https://dubassets.com/integration-screenshots/Q16c06AFd08y1xWq", "https://dubassets.com/integration-screenshots/t213OS2erwTHuUY4", "https://dubassets.com/integration-screenshots/4BMcLwc1K5TzGZKW", "https://dubassets.com/integration-screenshots/Rn8LaG1kULTmmlgM", "https://dubassets.com/integration-screenshots/DGSvRclGjQtYLtWO"],
297+
"screenshots": [
298+
"https://dubassets.com/integration-screenshots/pVyCJ0nCMk8vFdzV",
299+
"https://dubassets.com/integration-screenshots/Q16c06AFd08y1xWq",
300+
"https://dubassets.com/integration-screenshots/t213OS2erwTHuUY4",
301+
"https://dubassets.com/integration-screenshots/4BMcLwc1K5TzGZKW",
302+
"https://dubassets.com/integration-screenshots/Rn8LaG1kULTmmlgM",
303+
"https://dubassets.com/integration-screenshots/DGSvRclGjQtYLtWO"
304+
],
258305
"verified": 1,
259306
"installUrl": "https://wordpress.org/plugins/dubinc",
260307
"category": "CMS",
@@ -270,7 +317,12 @@
270317
"developer": "Dub",
271318
"website": "https://d.to/slack",
272319
"logo": "https://dubassets.com/integrations/clzu59rx9000110bm5fnlzwuj_Y93aiyc",
273-
"screenshots": ["https://dubassets.com/integration-screenshots/sjCSeH5xHsY9UW6C", "https://dubassets.com/integration-screenshots/vFYafTOdc2l7Sq5F", "https://dubassets.com/integration-screenshots/bW9pAcP5oPVL76VS", "https://dubassets.com/integration-screenshots/H8BqDHlDBGIQRZj0"],
320+
"screenshots": [
321+
"https://dubassets.com/integration-screenshots/sjCSeH5xHsY9UW6C",
322+
"https://dubassets.com/integration-screenshots/vFYafTOdc2l7Sq5F",
323+
"https://dubassets.com/integration-screenshots/bW9pAcP5oPVL76VS",
324+
"https://dubassets.com/integration-screenshots/H8BqDHlDBGIQRZj0"
325+
],
274326
"verified": 1,
275327
"installUrl": null,
276328
"category": "Productivity",
@@ -286,7 +338,9 @@
286338
"developer": "Dub",
287339
"website": "https://www.better-auth.com",
288340
"logo": "https://dubassets.com/integrations/int_1JTHYWTFB84YSJV3QEZ8XGZXN_JdEC95Z",
289-
"screenshots": ["https://dubassets.com/integration-screenshots/BQ30guSSjzVAtzgm"],
341+
"screenshots": [
342+
"https://dubassets.com/integration-screenshots/BQ30guSSjzVAtzgm"
343+
],
290344
"verified": 1,
291345
"installUrl": null,
292346
"category": "Authentication",
@@ -302,7 +356,12 @@
302356
"developer": "Cal.com",
303357
"website": "https://cal.com",
304358
"logo": "https://dubassets.com/integrations/int_1JV8YSBDPD2435DXQPFGHHB8C_LTVhJln",
305-
"screenshots": ["https://dubassets.com/integration-screenshots/15mi44jeIytjtEjc", "https://dubassets.com/integration-screenshots/3tQKqxUUh2hQ4zTF", "https://dubassets.com/integration-screenshots/qzdJL2ZuJ1SzMyCx", "https://dubassets.com/integration-screenshots/H3q6KYXogQz1HRnL"],
359+
"screenshots": [
360+
"https://dubassets.com/integration-screenshots/15mi44jeIytjtEjc",
361+
"https://dubassets.com/integration-screenshots/3tQKqxUUh2hQ4zTF",
362+
"https://dubassets.com/integration-screenshots/qzdJL2ZuJ1SzMyCx",
363+
"https://dubassets.com/integration-screenshots/H3q6KYXogQz1HRnL"
364+
],
306365
"verified": 1,
307366
"installUrl": "https://app.cal.com/apps/dub",
308367
"category": "Scheduling",
@@ -318,7 +377,9 @@
318377
"developer": "Dub",
319378
"website": "https://dub.co",
320379
"logo": "https://dubassets.com/integrations/int_1K0YR77SXYCMRDEJ92KJG29T0_aC6yfk4",
321-
"screenshots": ["https://dubassets.com/integration-screenshots/ZcTQulksETtgSM39"],
380+
"screenshots": [
381+
"https://dubassets.com/integration-screenshots/ZcTQulksETtgSM39"
382+
],
322383
"verified": 1,
323384
"installUrl": null,
324385
"category": "Analytics",
@@ -350,7 +411,12 @@
350411
"developer": "Dub",
351412
"website": "https://dub.co/docs/conversions/leads/hubspot",
352413
"logo": "https://dubassets.com/integrations/int_ffw3qgrFAahY6qs1hXaH3wHS_JPoCPOh",
353-
"screenshots": ["https://dubassets.com/integration-screenshots/HkHxRtAmXLznxS33", "https://dubassets.com/integration-screenshots/AVdtxIm3Neht6ten", "https://dubassets.com/integration-screenshots/Rw0a3Eoizx3JXczD", "https://dubassets.com/integration-screenshots/qIknpqLYkJVNy71x"],
414+
"screenshots": [
415+
"https://dubassets.com/integration-screenshots/HkHxRtAmXLznxS33",
416+
"https://dubassets.com/integration-screenshots/AVdtxIm3Neht6ten",
417+
"https://dubassets.com/integration-screenshots/Rw0a3Eoizx3JXczD",
418+
"https://dubassets.com/integration-screenshots/qIknpqLYkJVNy71x"
419+
],
354420
"verified": 1,
355421
"installUrl": null,
356422
"category": "Scheduling",
@@ -398,7 +464,13 @@
398464
"developer": "Dub",
399465
"website": "https://apps.shopify.com/dub-conversion-tracking",
400466
"logo": "https://dubassets.com/integrations/int_iWOtrZgmcyU6XDwKr4AYYqLN_jUmF77W",
401-
"screenshots": ["https://dubassets.com/integration-screenshots/vHP96JXi6lu59CWA", "https://dubassets.com/integration-screenshots/SCe5zajrjz4SZxbq", "https://dubassets.com/integration-screenshots/rhRBhAxck04tkqdj", "https://dubassets.com/integration-screenshots/oLkfdYBTxIFAoY5u", "https://dubassets.com/integration-screenshots/WeibSgHT5GxFTXE2"],
467+
"screenshots": [
468+
"https://dubassets.com/integration-screenshots/vHP96JXi6lu59CWA",
469+
"https://dubassets.com/integration-screenshots/SCe5zajrjz4SZxbq",
470+
"https://dubassets.com/integration-screenshots/rhRBhAxck04tkqdj",
471+
"https://dubassets.com/integration-screenshots/oLkfdYBTxIFAoY5u",
472+
"https://dubassets.com/integration-screenshots/WeibSgHT5GxFTXE2"
473+
],
402474
"verified": 1,
403475
"installUrl": "https://d.to/shopify",
404476
"category": "Payments",
@@ -414,7 +486,13 @@
414486
"developer": "Kalemi Code LLC",
415487
"website": "https://publer.com/help/en/article/how-to-set-up-dub-url-shortener-16uuhzd/",
416488
"logo": "https://dubassets.com/integrations/int_v9mi4mw68mW3ZUx3o5jdM6uG_0r1AqTO",
417-
"screenshots": ["https://dubassets.com/integration-screenshots/y0LO3V9MtsbbWilH", "https://dubassets.com/integration-screenshots/R80UvlENvedyONIb", "https://dubassets.com/integration-screenshots/uoHsNKr6E1STC4rh", "https://dubassets.com/integration-screenshots/VBCVPcRC9ZBNoFFS", "https://dubassets.com/integration-screenshots/YlDIMeJdDWlRrLmn"],
489+
"screenshots": [
490+
"https://dubassets.com/integration-screenshots/y0LO3V9MtsbbWilH",
491+
"https://dubassets.com/integration-screenshots/R80UvlENvedyONIb",
492+
"https://dubassets.com/integration-screenshots/uoHsNKr6E1STC4rh",
493+
"https://dubassets.com/integration-screenshots/VBCVPcRC9ZBNoFFS",
494+
"https://dubassets.com/integration-screenshots/YlDIMeJdDWlRrLmn"
495+
],
418496
"verified": 1,
419497
"installUrl": "https://publer.com/help/en/article/how-to-set-up-dub-url-shortener-16uuhzd",
420498
"category": "Social Media",
@@ -462,12 +540,17 @@
462540
"developer": "Dub",
463541
"website": "https://segment.com/docs/connections/sources/catalog/cloud-apps/dub",
464542
"logo": "https://dubassets.com/integrations/int_zGnSElTzimbz20OWnXerPoKv_Noy3Xhk",
465-
"screenshots": ["https://dubassets.com/integration-screenshots/MvHnxSLGU3hMNMQk", "https://dubassets.com/integration-screenshots/oXrlBPJjgd2fGCiP", "https://dubassets.com/integration-screenshots/OPL4HS3z0i4R6q0B", "https://dubassets.com/integration-screenshots/xMh9URKttuacj3qR"],
543+
"screenshots": [
544+
"https://dubassets.com/integration-screenshots/MvHnxSLGU3hMNMQk",
545+
"https://dubassets.com/integration-screenshots/oXrlBPJjgd2fGCiP",
546+
"https://dubassets.com/integration-screenshots/OPL4HS3z0i4R6q0B",
547+
"https://dubassets.com/integration-screenshots/xMh9URKttuacj3qR"
548+
],
466549
"verified": 1,
467550
"installUrl": null,
468551
"category": "Analytics",
469552
"comingSoon": 0,
470553
"guideUrl": null
471554
}
472555
]
473-
}
556+
}

apps/web/scripts/dev/seed.ts

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
Integration,
88
Partner,
99
PartnerGroup,
10+
PartnerGroupDefaultLink,
1011
Prisma,
1112
Program,
1213
Project,
@@ -25,6 +26,7 @@ type Workspace = Pick<
2526
| "name"
2627
| "slug"
2728
| "plan"
29+
| "logo"
2830
| "billingCycleStart"
2931
| "usageLimit"
3032
| "linksLimit"
@@ -62,15 +64,24 @@ type RewardSeed = Pick<
6264

6365
type GroupSeed = Pick<
6466
PartnerGroup,
65-
"id" | "name" | "slug" | "color" | "leadRewardId" | "saleRewardId"
66-
>;
67+
| "id"
68+
| "name"
69+
| "slug"
70+
| "color"
71+
| "leadRewardId"
72+
| "saleRewardId"
73+
| "additionalLinks"
74+
> & {
75+
defaultLinks: Pick<PartnerGroupDefaultLink, "url">[];
76+
};
6777

6878
type ProgramSeed = Omit<
6979
Pick<
7080
Program,
7181
| "id"
7282
| "name"
7383
| "slug"
84+
| "logo"
7485
| "defaultFolderId"
7586
| "defaultGroupId"
7687
| "domain"
@@ -291,10 +302,31 @@ const createGroups = async (data: SeedData) => {
291302
color: group.color ?? null,
292303
leadRewardId: group.leadRewardId ?? null,
293304
saleRewardId: group.saleRewardId ?? null,
305+
additionalLinks: group.additionalLinks as Prisma.JsonArray,
294306
})),
295307
});
296308

297309
console.log(`Created ${count} groups`);
310+
311+
const defaultLinks = groups.flatMap((group) =>
312+
group.defaultLinks.map((link) => ({
313+
groupId: group.id,
314+
url: link.url,
315+
})),
316+
);
317+
318+
const { count: defaultLinksCount } =
319+
await prisma.partnerGroupDefaultLink.createMany({
320+
data: defaultLinks.map((link) => ({
321+
id: createId({ prefix: "pgdl_" }),
322+
programId: program.id,
323+
domain: program.domain!,
324+
groupId: link.groupId,
325+
url: link.url,
326+
})),
327+
});
328+
329+
console.log(`Created ${defaultLinksCount} default links`);
298330
};
299331

300332
// Create program
@@ -312,6 +344,7 @@ const createProgram = async (data: SeedData) => {
312344
workspaceId: workspace.id,
313345
name: program.name,
314346
slug: program.slug,
347+
logo: program.logo,
315348
defaultFolderId: program.defaultFolderId,
316349
defaultGroupId: program.defaultGroupId,
317350
domain: program.domain,

0 commit comments

Comments
 (0)