MCPcopy
hub / github.com/opactorai/Claudable / upsertProjectServiceConnection

Function upsertProjectServiceConnection

lib/services/project-services.ts:45–75  ·  view source on GitHub ↗
(
  projectId: string,
  provider: string,
  serviceData: Record<string, unknown>
)

Source from the content-addressed store, hash-verified

43}
44
45export async function upsertProjectServiceConnection(
46 projectId: string,
47 provider: string,
48 serviceData: Record<string, unknown>
49) {
50 const existing = await prisma.projectServiceConnection.findFirst({
51 where: { projectId, provider },
52 });
53
54 if (existing) {
55 const updated = await prisma.projectServiceConnection.update({
56 where: { id: existing.id },
57 data: {
58 serviceData: serializeServiceData(serviceData),
59 status: 'connected',
60 },
61 });
62 return deserializeServiceData(updated);
63 }
64
65 const created = await prisma.projectServiceConnection.create({
66 data: {
67 projectId,
68 provider,
69 status: 'connected',
70 serviceData: serializeServiceData(serviceData),
71 },
72 });
73
74 return deserializeServiceData(created);
75}
76
77export async function deleteProjectService(serviceId: string): Promise<boolean> {
78 try {

Callers 4

connectVercelProjectFunction · 0.90
connectProjectToGitHubFunction · 0.90
createSupabaseProjectFunction · 0.90
connectExistingSupabaseFunction · 0.90

Calls 2

serializeServiceDataFunction · 0.85
deserializeServiceDataFunction · 0.85

Tested by

no test coverage detected