Co-authored-by: peer@cal.com <peer@cal.com> Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com> Co-authored-by: Peer Richelsen <peeroke@gmail.com>
33 lines
664 B
TypeScript
33 lines
664 B
TypeScript
import { PlainClient } from "@team-plain/typescript-sdk";
|
|
|
|
export const plain = new PlainClient({
|
|
apiKey: process.env.PLAIN_API_KEY || "",
|
|
});
|
|
|
|
type PlainUser = {
|
|
name?: string | null;
|
|
email: string;
|
|
id: number;
|
|
};
|
|
|
|
export const upsertPlainCustomer = async (user: PlainUser) => {
|
|
const fullName = user.name ?? user.email;
|
|
const shortName = user.name ?? user.email?.split("@")[0];
|
|
const email = user.email;
|
|
|
|
return await plain.upsertCustomer({
|
|
identifier: {
|
|
externalId: `${user.id}`,
|
|
},
|
|
onCreate: {
|
|
fullName,
|
|
shortName,
|
|
email: {
|
|
email,
|
|
isVerified: true,
|
|
},
|
|
},
|
|
onUpdate: {},
|
|
});
|
|
};
|