Fixing issues with service metadata
This commit is contained in:
@@ -6,7 +6,7 @@ import {
|
||||
WrenchScrewdriverIcon,
|
||||
} from "@heroicons/react/24/outline";
|
||||
import { Link } from "@remix-run/react";
|
||||
import { TemplateListItem } from "~/presenters/templateListPresenter.server";
|
||||
import type { TemplateListItem } from "~/models/templateListPresenter.server";
|
||||
import { ApiLogoIcon } from "./code/ApiLogoIcon";
|
||||
import { Panel } from "./layout/Panel";
|
||||
import { Body } from "./primitives/text/Body";
|
||||
@@ -25,7 +25,7 @@ export function LoginPromoPanel({ template }: { template?: TemplateListItem }) {
|
||||
</Header1>
|
||||
<Panel className="border border-slate-800 bg-slate-800/40 !p-6">
|
||||
<div className="h-fit w-full overflow-hidden rounded object-cover">
|
||||
<img src={template.imageUrl} />
|
||||
<img alt={template.shortTitle} src={template.imageUrl} />
|
||||
</div>
|
||||
<div className="mt-3 flex flex-col gap-2 pt-2">
|
||||
<Header3 size="extra-small" className=" text-slate-300">
|
||||
|
||||
@@ -9,7 +9,6 @@ export function getVersion1Integrations(showAdminOnly: boolean) {
|
||||
return getInternalIntegrations(showAdminOnly);
|
||||
}
|
||||
|
||||
//todo get metadata from the new integrations service and merge it with the old one
|
||||
export async function getServiceMetadatas(
|
||||
showAdminOnly: boolean
|
||||
): Promise<Record<string, ServiceMetadata>> {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { getIntegrationMetadataByService } from "~/models/integrations.server";
|
||||
import { getRuntimeEnvironment } from "~/models/runtimeEnvironment.server";
|
||||
import { renderMarkdown } from "~/services/renderMarkdown.server";
|
||||
import { TemplateListItem } from "./templateListPresenter.server";
|
||||
import { getServiceMetadatas } from "./integrations.server";
|
||||
import type { TemplateListItem } from "./templateListPresenter.server";
|
||||
import { WorkflowsPresenter } from "./workflowsPresenter.server";
|
||||
|
||||
export class OrganizationTemplatePresenter {
|
||||
@@ -59,10 +59,12 @@ export class OrganizationTemplatePresenter {
|
||||
organizationTemplate.repositoryUrl.split("/").pop() ??
|
||||
"missing repository name";
|
||||
|
||||
const serviceMetadatas = await getServiceMetadatas(true);
|
||||
|
||||
const template: TemplateListItem = {
|
||||
...organizationTemplate.template,
|
||||
services: organizationTemplate.template.services.map(
|
||||
getIntegrationMetadataByService
|
||||
(s) => serviceMetadatas[s]
|
||||
),
|
||||
docsHTML: renderMarkdown(organizationTemplate.template.markdownDocs),
|
||||
};
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
import { Template } from ".prisma/client";
|
||||
import type { IntegrationMetadata } from "@trigger.dev/integration-sdk";
|
||||
import type { Template } from ".prisma/client";
|
||||
import type { ServiceMetadata } from "@trigger.dev/integration-sdk";
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { getIntegrationMetadataByService } from "~/models/integrations.server";
|
||||
import { renderMarkdown } from "~/services/renderMarkdown.server";
|
||||
import { getServiceMetadatas } from "./integrations.server";
|
||||
|
||||
export type TemplateListItem = Omit<Template, "services"> & {
|
||||
services: Array<IntegrationMetadata>;
|
||||
services: Array<ServiceMetadata>;
|
||||
docsHTML: string;
|
||||
};
|
||||
|
||||
@@ -22,8 +22,10 @@ export class TemplateListPresenter {
|
||||
orderBy: { priority: "asc" },
|
||||
});
|
||||
|
||||
const serviceMetadatas = await getServiceMetadatas(true);
|
||||
|
||||
const templatesWithServiceMetadata = templates.map((template) => {
|
||||
const services = template.services.map(getIntegrationMetadataByService);
|
||||
const services = template.services.map((s) => serviceMetadatas[s]);
|
||||
|
||||
return {
|
||||
...template,
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { getIntegrationMetadataByService } from "~/models/integrations.server";
|
||||
import { renderMarkdown } from "~/services/renderMarkdown.server";
|
||||
import { TemplateListItem } from "./templateListPresenter.server";
|
||||
import { getServiceMetadatas } from "./integrations.server";
|
||||
import type { TemplateListItem } from "./templateListPresenter.server";
|
||||
|
||||
export class TemplatePresenter {
|
||||
#prismaClient: PrismaClient;
|
||||
@@ -34,10 +34,12 @@ export class TemplatePresenter {
|
||||
return { template: undefined };
|
||||
}
|
||||
|
||||
const serviceMetadatas = await getServiceMetadatas(true);
|
||||
|
||||
const templateWithServiceMetadata = {
|
||||
...template,
|
||||
docsHTML: renderMarkdown(template.markdownDocs),
|
||||
services: template.services.map(getIntegrationMetadataByService),
|
||||
services: template.services.map((s) => serviceMetadatas[s]),
|
||||
};
|
||||
|
||||
return { template: templateWithServiceMetadata };
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { getIntegrationMetadataByService } from "~/models/integrations.server";
|
||||
import { renderMarkdown } from "~/services/renderMarkdown.server";
|
||||
import { TemplateListItem } from "./templateListPresenter.server";
|
||||
import { getServiceMetadatas } from "./integrations.server";
|
||||
import type { TemplateListItem } from "./templateListPresenter.server";
|
||||
|
||||
export class WorkflowStartPresenter {
|
||||
#prismaClient: PrismaClient;
|
||||
@@ -71,9 +71,11 @@ export class WorkflowStartPresenter {
|
||||
return;
|
||||
}
|
||||
|
||||
const serviceMetadatas = await getServiceMetadatas(true);
|
||||
|
||||
return {
|
||||
...template,
|
||||
services: template.services.map(getIntegrationMetadataByService),
|
||||
services: template.services.map((s) => serviceMetadatas[s]),
|
||||
docsHTML: renderMarkdown(template.markdownDocs),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -8,13 +8,10 @@ import type { DisplayProperties } from "@trigger.dev/integration-sdk";
|
||||
import * as github from "@trigger.dev/github/internal";
|
||||
import invariant from "tiny-invariant";
|
||||
import { triggerLabel } from "~/components/triggers/triggerLabel";
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma, Prisma } from "~/db.server";
|
||||
import {
|
||||
getIntegrationMetadata,
|
||||
getIntegrations,
|
||||
} from "../models/integrations.server";
|
||||
import type { PrismaClient, Prisma } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import type { ExternalSource, Workflow } from "../models/workflow.server";
|
||||
import { getServiceMetadatas } from "./integrations.server";
|
||||
|
||||
export type WorkflowListItem = Awaited<
|
||||
ReturnType<WorkflowsPresenter["data"]>
|
||||
@@ -33,7 +30,7 @@ export class WorkflowsPresenter {
|
||||
whereInput,
|
||||
environmentId
|
||||
);
|
||||
const integrations = getIntegrations(true);
|
||||
const serviceMetadatas = await getServiceMetadatas(true);
|
||||
|
||||
return workflows.map((workflow) => {
|
||||
const lastRun =
|
||||
@@ -57,10 +54,10 @@ export class WorkflowsPresenter {
|
||||
),
|
||||
integrations: {
|
||||
source: workflow.service
|
||||
? getIntegrationMetadata(integrations, workflow.service)
|
||||
? serviceMetadatas[workflow.service]
|
||||
: undefined,
|
||||
services: workflow.externalServices.map((service) =>
|
||||
getIntegrationMetadata(integrations, service.service)
|
||||
services: workflow.externalServices.map(
|
||||
(service) => serviceMetadatas[service.service]
|
||||
),
|
||||
},
|
||||
lastRun,
|
||||
|
||||
Reference in New Issue
Block a user