diff --git a/server/internal/metadata/index.ts b/server/internal/metadata/index.ts index 9c1f03f..8523e6f 100644 --- a/server/internal/metadata/index.ts +++ b/server/internal/metadata/index.ts @@ -215,11 +215,14 @@ export class MetadataHandler { continue; } - // If we're successful - await pullObjects(); - - const object = await prisma.company.create({ - data: { + const object = await prisma.company.upsert({ + where: { + metadataKey: { + metadataSource: provider.source(), + metadataId: result.id, + }, + }, + create: { metadataSource: provider.source(), metadataId: result.id, metadataOriginalQuery: query, @@ -231,8 +234,15 @@ export class MetadataHandler { mBannerObjectId: result.banner, mWebsite: result.website, }, + update: {}, }); + if (object.mLogoObjectId == result.logo) { + // We created, and didn't update + // So pull objects + await pullObjects(); + } + return object; }