Skip to content

Commit

Permalink
simplify embed
Browse files Browse the repository at this point in the history
  • Loading branch information
steven-tey committed Jan 31, 2025
1 parent c5cec6d commit 74aa7c7
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 16 deletions.
3 changes: 1 addition & 2 deletions apps/web/app/api/tokens/embed/route.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,7 @@ export const POST = withWorkspace(

const response = await embedToken.create({
programId,
partnerId,
tenantId,
partnerId: programEnrollment.partnerId,
});

return NextResponse.json(EmbedTokenSchema.parse(response), {
Expand Down
11 changes: 5 additions & 6 deletions apps/web/app/app.dub.co/embed/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,16 @@ import { prisma } from "@dub/prisma";
import { notFound } from "next/navigation";

export const getEmbedData = async (token: string) => {
const { programId, partnerId, tenantId } =
(await embedToken.get(token)) ?? {};
const { programId, partnerId } = (await embedToken.get(token)) ?? {};

if (!programId || (!tenantId && !partnerId)) {
if (!programId || !partnerId) {
notFound();
}

const programEnrollment = await prisma.programEnrollment.findUnique({
where: tenantId
? { tenantId_programId: { tenantId, programId } }
: { partnerId_programId: { partnerId: partnerId!, programId } },
where: {
partnerId_programId: { partnerId, programId },
},
include: {
links: true,
program: true,
Expand Down
10 changes: 5 additions & 5 deletions apps/web/lib/embed/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,10 +54,10 @@ export const withEmbedToken = (handler: WithEmbedTokenHandler) => {
});
}

const { programId, partnerId, tenantId } =
const { programId, partnerId } =
(await embedToken.get(tokenFromCookie)) ?? {};

if (!programId || (!partnerId && !tenantId)) {
if (!programId || !partnerId) {
throw new DubApiError({
code: "unauthorized",
message: "Invalid embed public token.",
Expand Down Expand Up @@ -85,9 +85,9 @@ export const withEmbedToken = (handler: WithEmbedTokenHandler) => {

const programEnrollment =
await prisma.programEnrollment.findUniqueOrThrow({
where: tenantId
? { tenantId_programId: { tenantId, programId } }
: { partnerId_programId: { partnerId: partnerId!, programId } },
where: {
partnerId_programId: { partnerId, programId },
},
include: {
links: true,
program: true,
Expand Down
7 changes: 4 additions & 3 deletions apps/web/lib/embed/embed-token.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
import { redis } from "@/lib/upstash";
import { createId } from "../api/utils";
import z from "../zod";
import { createEmbedTokenSchema } from "../zod/schemas/token";
import {
EMBED_PUBLIC_TOKEN_EXPIRY,
EMBED_PUBLIC_TOKEN_LENGTH,
EMBED_PUBLIC_TOKEN_PREFIX,
} from "./constants";

type EmbedTokenProps = z.infer<typeof createEmbedTokenSchema>;
interface EmbedTokenProps {
programId: string;
partnerId: string;
}

class EmbedToken {
async create(props: EmbedTokenProps) {
Expand Down

0 comments on commit 74aa7c7

Please sign in to comment.