Skip to content

Commit 1379499

Browse files
committed
Set CTE from customer
1 parent 99508bb commit 1379499

File tree

2 files changed

+29
-21
lines changed

2 files changed

+29
-21
lines changed

app/api/contact-form/route.ts

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ import { plainClient } from "@/lib/plainClient";
33
import { inspect } from "util";
44

55
export type RequestBody = {
6-
title: string;
7-
message: string;
8-
}
6+
title: string;
7+
message: string;
8+
};
99

1010
// When implementing this for real, take these values from user auth (e.g validate auth token and take values from claims)
1111
const name = "Bob Smith";
1212
const email = "bob.smith@example.com";
1313

1414
export async function POST(request: Request) {
15-
// In production validation of the request body might be necessary.
15+
// In production validation of the request body might be necessary.
1616
const body = await request.json();
1717

1818
const upsertCustomerRes = await plainClient.upsertCustomer({
@@ -25,16 +25,20 @@ export async function POST(request: Request) {
2525
email: email,
2626
isVerified: true,
2727
},
28-
tenantIdentifiers: [{externalId: TENANT_EXTERNAL_ID}]
28+
tenantIdentifiers: [{ externalId: TENANT_EXTERNAL_ID }],
2929
},
3030
onUpdate: {},
3131
});
3232

3333
if (upsertCustomerRes.error) {
3434
console.error(
35-
inspect(upsertCustomerRes.error, { showHidden: false, depth: null, colors: true })
35+
inspect(upsertCustomerRes.error, {
36+
showHidden: false,
37+
depth: null,
38+
colors: true,
39+
})
3640
);
37-
return new Response(upsertCustomerRes.error.message, {status: 500});
41+
return new Response(upsertCustomerRes.error.message, { status: 500 });
3842
}
3943

4044
console.log(`Customer upserted ${upsertCustomerRes.data.customer.id}`);
@@ -44,7 +48,7 @@ export async function POST(request: Request) {
4448
customerId: upsertCustomerRes.data.customer.id,
4549
},
4650
title: body.title,
47-
tenantIdentifier: {externalId: TENANT_EXTERNAL_ID},
51+
tenantIdentifier: { externalId: TENANT_EXTERNAL_ID },
4852
components: [
4953
{
5054
componentText: {
@@ -55,13 +59,16 @@ export async function POST(request: Request) {
5559
});
5660

5761
if (createThreadRes.error) {
58-
console.error(inspect(createThreadRes.error, { showHidden: false, depth: null, colors: true }));
59-
return new Response(createThreadRes.error.message, {status: 500});
62+
console.error(
63+
inspect(createThreadRes.error, {
64+
showHidden: false,
65+
depth: null,
66+
colors: true,
67+
})
68+
);
69+
return new Response(createThreadRes.error.message, { status: 500 });
6070
}
6171

6272
console.log(`Thread created ${createThreadRes.data.id}.`);
63-
64-
65-
66-
return new Response('', {status: 200})
67-
}
73+
return new Response("", { status: 200 });
74+
}

app/thread/[threadId]/page.tsx

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import { getActorFullName } from "@/lib/getActorFullName";
44
import { getFormattedDate } from "@/lib/getFormattedDate";
55
import { getPriority } from "@/lib/getPriority";
66
import { fetchThreadTimelineEntries } from "@/lib/fetchThreadTimelineEntries";
7-
import { plainClient } from "@/lib/plainClient";
87

98
export default async function ThreadPage({
109
params,
@@ -30,7 +29,7 @@ export default async function ThreadPage({
3029
<Navigation hasBackButton title={thread.title} />
3130
<main className={styles.main}>
3231
<div className={styles.timeline}>
33-
{timelineEntries.edges.reverse().map((e) => {
32+
{timelineEntries.edges.reverse().map((e, idx) => {
3433
const entry = e.node;
3534
if (
3635
entry.entry.__typename !== "CustomEntry" &&
@@ -41,17 +40,19 @@ export default async function ThreadPage({
4140
) {
4241
return null;
4342
}
43+
const actorName =
44+
entry.actor.__typename === "MachineUserActor" && idx === 0
45+
? thread.customer.fullName
46+
: getActorFullName(entry.actor);
4447

4548
return (
4649
<div className={styles.message} key={entry.id}>
4750
<div className={styles.entryHeader}>
4851
<div className={styles.avatar}>
49-
{getActorFullName(entry.actor)[0].toUpperCase()}
52+
{actorName[0].toUpperCase()}
5053
</div>
5154
<div>
52-
<div className={styles.actor}>
53-
{getActorFullName(entry.actor)}
54-
</div>
55+
<div className={styles.actor}>{actorName}</div>
5556
<div className={styles.timestamp}>
5657
{getFormattedDate(entry.timestamp.iso8601)}
5758
</div>

0 commit comments

Comments
 (0)