Fixed all liniting issues, almost all unused imports or type imports
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { Form } from "@remix-run/react";
|
||||
import { TertiaryA, TertiaryButton } from "./primitives/Buttons";
|
||||
import { TertiaryButton } from "./primitives/Buttons";
|
||||
import { Body } from "./primitives/text/Body";
|
||||
|
||||
export function ImpersonationBanner({
|
||||
|
||||
@@ -1,25 +1,22 @@
|
||||
import {
|
||||
EyeIcon,
|
||||
BoltIcon,
|
||||
BanknotesIcon,
|
||||
BellAlertIcon,
|
||||
WrenchScrewdriverIcon,
|
||||
BeakerIcon,
|
||||
BoltIcon,
|
||||
CloudArrowUpIcon,
|
||||
WrenchScrewdriverIcon,
|
||||
} from "@heroicons/react/24/outline";
|
||||
|
||||
export function LoginPromoPanel() {
|
||||
return (
|
||||
<div className="hidden lg:flex flex-col justify-center p-12 max-w-[30vw] h-full bg-slate-950 border-r border-black/20">
|
||||
<div className="hidden h-full max-w-[30vw] flex-col justify-center border-r border-black/20 bg-slate-950 p-12 lg:flex">
|
||||
<ul>
|
||||
<li className="flex gap-2 text-white">
|
||||
<div className="flex flex-col items-center gap-2 mt-1.5">
|
||||
<div className="mt-1.5 flex flex-col items-center gap-2">
|
||||
<WrenchScrewdriverIcon className="h-8 w-8 text-toxic" />
|
||||
<div className="w-0.5 h-full bg-toxic/50"></div>
|
||||
<div className="h-full w-0.5 bg-toxic/50"></div>
|
||||
</div>
|
||||
|
||||
<div className="mb-1">
|
||||
<h2 className="font-semibold text-2xl mb-2">Create</h2>
|
||||
<h2 className="mb-2 text-2xl font-semibold">Create</h2>
|
||||
<p className="mb-10 text-white/60">
|
||||
Write workflows by creating triggers directly in your code. These
|
||||
can be 3rd-party integrations, custom events or on a schedule.
|
||||
@@ -27,13 +24,13 @@ export function LoginPromoPanel() {
|
||||
</div>
|
||||
</li>
|
||||
<li className="flex gap-2 text-white">
|
||||
<div className="flex flex-col items-center gap-2 mt-1.5">
|
||||
<div className="mt-1.5 flex flex-col items-center gap-2">
|
||||
<BoltIcon className="h-8 w-8 text-toxic" />
|
||||
<div className="w-0.5 h-full bg-toxic/50"></div>
|
||||
<div className="h-full w-0.5 bg-toxic/50"></div>
|
||||
</div>
|
||||
|
||||
<div className="mb-1">
|
||||
<h2 className="font-semibold text-2xl mb-2">Run</h2>
|
||||
<h2 className="mb-2 text-2xl font-semibold">Run</h2>
|
||||
<p className="mb-10 text-white/60">
|
||||
When your server runs, your workflow will be registered and you
|
||||
can authenticate with any APIs you’re using.
|
||||
@@ -41,12 +38,12 @@ export function LoginPromoPanel() {
|
||||
</div>
|
||||
</li>
|
||||
<li className="flex gap-2 text-white">
|
||||
<div className="flex flex-col items-center gap-2 mt-1.5">
|
||||
<div className="mt-1.5 flex flex-col items-center gap-2">
|
||||
<BeakerIcon className="h-8 w-8 text-toxic" />
|
||||
<div className="w-0.5 h-full bg-toxic/50"></div>
|
||||
<div className="h-full w-0.5 bg-toxic/50"></div>
|
||||
</div>
|
||||
<div className="mb-1">
|
||||
<h2 className="font-semibold text-2xl mb-2">Test</h2>
|
||||
<h2 className="mb-2 text-2xl font-semibold">Test</h2>
|
||||
<p className="mb-10 text-white/60">
|
||||
Test your workflow by triggering them manually in your dashboard.
|
||||
Follow it as it runs step-by-step.
|
||||
@@ -55,12 +52,12 @@ export function LoginPromoPanel() {
|
||||
</li>
|
||||
|
||||
<li className="flex gap-3 text-white">
|
||||
<div className="flex flex-col items-center gap-2 mt-1.5">
|
||||
<div className="mt-1.5 flex flex-col items-center gap-2">
|
||||
<CloudArrowUpIcon className="ml-0.5 h-7 w-7 text-toxic" />
|
||||
</div>
|
||||
|
||||
<div className="mb-1">
|
||||
<h2 className="font-semibold text-2xl mb-2">Deploy</h2>
|
||||
<h2 className="mb-2 text-2xl font-semibold">Deploy</h2>
|
||||
<p className="mb-10 text-white/60">
|
||||
Deploy your new workflow as you would any other code commit and
|
||||
inspect each workflow run in real time.
|
||||
|
||||
@@ -21,7 +21,7 @@ export function PaginationControls({
|
||||
}
|
||||
|
||||
return (
|
||||
<div className="flex items-center justify-between rounded-b-lg border-t border-slate-850 bg-slate-700/20 pl-4 pr-3 py-3 text-slate-400">
|
||||
<div className="flex items-center justify-between rounded-b-lg border-t border-slate-850 bg-slate-700/20 py-3 pl-4 pr-3 text-slate-400">
|
||||
<div className="flex flex-1 justify-between sm:hidden">
|
||||
{currentPage > 1 && (
|
||||
<Link
|
||||
@@ -59,7 +59,7 @@ export function PaginationControls({
|
||||
<LinkDisabled
|
||||
to={pageUrl(location, currentPage - 1)}
|
||||
disabled={currentPage === 1}
|
||||
className="relative inline-flex items-center rounded-l border border-slate-500 bg-slate-700/20 px-2 text-xs font-medium text-slate-400 hover:bg-slate-400 hover:text-slate-800 hover:border-slate-400 focus:z-20 transition"
|
||||
className="relative inline-flex items-center rounded-l border border-slate-500 bg-slate-700/20 px-2 text-xs font-medium text-slate-400 transition hover:border-slate-400 hover:bg-slate-400 hover:text-slate-800 focus:z-20"
|
||||
disabledClassName="opacity-30 cursor-default hover:bg-slate-700/20 hover:border-slate-500 hover:!text-slate-400"
|
||||
>
|
||||
<span className="sr-only">Previous</span>
|
||||
@@ -73,7 +73,7 @@ export function PaginationControls({
|
||||
<LinkDisabled
|
||||
to={pageUrl(location, currentPage + 1)}
|
||||
disabled={currentPage === totalPages}
|
||||
className="relative inline-flex items-center rounded-r border border-slate-500 bg-slate-700/20 px-2 text-xs font-medium text-slate-400 hover:bg-slate-400 hover:text-slate-800 hover:border-slate-400 focus:z-20 transition"
|
||||
className="relative inline-flex items-center rounded-r border border-slate-500 bg-slate-700/20 px-2 text-xs font-medium text-slate-400 transition hover:border-slate-400 hover:bg-slate-400 hover:text-slate-800 focus:z-20"
|
||||
disabledClassName="opacity-30 cursor-default hover:bg-slate-700/20 hover:border-slate-500 hover:!text-slate-400"
|
||||
>
|
||||
<span className="sr-only">Next</span>
|
||||
@@ -140,23 +140,6 @@ function PageLinkComponent({
|
||||
}
|
||||
}
|
||||
|
||||
function NextPreviousButton({
|
||||
path,
|
||||
children,
|
||||
}: {
|
||||
path: string;
|
||||
children: any;
|
||||
}) {
|
||||
return (
|
||||
<Link
|
||||
to={path}
|
||||
className="relative inline-flex items-center rounded-l-md border border-slate-300 bg-slate-700/20 px-2 py-2 text-xs font-medium text-slate-500 hover:bg-slate-50 focus:z-20"
|
||||
>
|
||||
{children}
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
||||
type PageLink = EllipsisPageLink | SpecificPageLink;
|
||||
|
||||
type EllipsisPageLink = {
|
||||
|
||||
@@ -8,7 +8,7 @@ import { useCodeMirror } from "@uiw/react-codemirror";
|
||||
import classNames from "classnames";
|
||||
import { useRef, useEffect } from "react";
|
||||
import { getEditorSetup } from "./codeMirrorSetup";
|
||||
import { darkTheme, lightTheme } from "./codeMirrorTheme";
|
||||
import { darkTheme } from "./codeMirrorTheme";
|
||||
|
||||
export interface JSONEditorProps extends Omit<ReactCodeMirrorProps, "onBlur"> {
|
||||
content: string;
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { useCallback, useEffect, useRef, useState } from "react";
|
||||
import type { UseDataFunctionReturn } from "remix-typedjson";
|
||||
import type { loader as appLoader } from "~/routes/__app";
|
||||
import type { loader as orgLoader } from "~/routes/__app/orgs/$organizationSlug";
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
import type { APIConnection, Organization } from ".prisma/client";
|
||||
import { z } from "zod";
|
||||
import { prisma } from "~/db.server";
|
||||
import { Workflow } from "./workflow.server";
|
||||
import type { Workflow } from "./workflow.server";
|
||||
|
||||
export { APIConnection };
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
import type { Workflow, WorkflowRun } from ".prisma/client";
|
||||
import { TriggerMetadataSchema } from "@trigger.dev/common-schemas";
|
||||
import { getIntegration } from "integration-catalog";
|
||||
import { JSONSchemaFaker } from "json-schema-faker";
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { JSONSchemaFaker } from "json-schema-faker";
|
||||
import type { Workflow, WorkflowRun } from ".prisma/client";
|
||||
import { getIntegration } from "integration-catalog";
|
||||
import { getIntegrations } from "~/models/integrations.server";
|
||||
import { EventRule } from "~/models/workflow.server";
|
||||
import { TriggerMetadataSchema } from "@trigger.dev/common-schemas";
|
||||
import type { EventRule } from "~/models/workflow.server";
|
||||
|
||||
export class WorkflowTestPresenter {
|
||||
#prismaClient: PrismaClient;
|
||||
|
||||
@@ -15,7 +15,7 @@ import { getUser } from "./services/session.server";
|
||||
import { Toaster, toast } from "react-hot-toast";
|
||||
import type { ToastMessage } from "~/models/message.server";
|
||||
import { commitSession, getSession } from "~/models/message.server";
|
||||
import { useEffect, useRef } from "react";
|
||||
import { useEffect } from "react";
|
||||
import { withSentry } from "@sentry/remix";
|
||||
import { env } from "./env.server";
|
||||
import { typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
|
||||
@@ -51,12 +51,12 @@ export default function App() {
|
||||
}
|
||||
|
||||
function IntercomSurvey() {
|
||||
const { boot, shutdown, hide, show, update } = useIntercom();
|
||||
const { boot, shutdown } = useIntercom();
|
||||
|
||||
useEffect(() => {
|
||||
boot({});
|
||||
return () => shutdown();
|
||||
}, []);
|
||||
}, [boot, shutdown]);
|
||||
|
||||
return <></>;
|
||||
}
|
||||
|
||||
-1
@@ -3,7 +3,6 @@ import { WorkflowConnections } from "~/components/integrations/WorkflowConnectio
|
||||
import { PanelInfo } from "~/components/layout/PanelInfo";
|
||||
import { PanelWarning } from "~/components/layout/PanelWarning";
|
||||
import { TertiaryLink } from "~/components/primitives/Buttons";
|
||||
import { Body } from "~/components/primitives/text/Body";
|
||||
import { SubTitle } from "~/components/primitives/text/SubTitle";
|
||||
import { Title } from "~/components/primitives/text/Title";
|
||||
import { useConnectionSlots } from "~/hooks/useConnectionSlots";
|
||||
|
||||
+4
-8
@@ -22,8 +22,8 @@ import type { Delay, Scheduled } from "@trigger.dev/common-schemas";
|
||||
import type { schemas as resendSchemas } from "@trigger.dev/resend/internal";
|
||||
import classNames from "classnames";
|
||||
import humanizeDuration from "humanize-duration";
|
||||
import { ReactNode, useCallback } from "react";
|
||||
import { useEffect, useState } from "react";
|
||||
import type { ReactNode } from "react";
|
||||
import { useCallback, useEffect, useState } from "react";
|
||||
import { typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
import invariant from "tiny-invariant";
|
||||
import type { z } from "zod";
|
||||
@@ -31,11 +31,7 @@ import CodeBlock from "~/components/code/CodeBlock";
|
||||
import { BasicConnectButton } from "~/components/integrations/ConnectButton";
|
||||
import { Panel } from "~/components/layout/Panel";
|
||||
import { PanelHeader } from "~/components/layout/PanelHeader";
|
||||
import {
|
||||
PrimaryButton,
|
||||
TertiaryA,
|
||||
TertiaryButton,
|
||||
} from "~/components/primitives/Buttons";
|
||||
import { PrimaryButton, TertiaryButton } from "~/components/primitives/Buttons";
|
||||
import { Body } from "~/components/primitives/text/Body";
|
||||
import {
|
||||
Header1,
|
||||
@@ -92,7 +88,7 @@ export default function Page() {
|
||||
const workflow = useCurrentWorkflow();
|
||||
invariant(workflow, "workflow is required");
|
||||
|
||||
const [lastRefreshed, setLastRefreshed] = useState(new Date());
|
||||
const [lastRefreshed] = useState(new Date());
|
||||
|
||||
const reload = useCallback(() => {
|
||||
document.location.reload();
|
||||
|
||||
-1
@@ -12,7 +12,6 @@ import { PanelWarning } from "~/components/layout/PanelWarning";
|
||||
import { PaginationControls } from "~/components/Pagination";
|
||||
import { TertiaryLink } from "~/components/primitives/Buttons";
|
||||
import { StyledListBox } from "~/components/primitives/ListBox";
|
||||
import { Body } from "~/components/primitives/text/Body";
|
||||
import { Title } from "~/components/primitives/text/Title";
|
||||
import { RunsTable } from "~/components/runs/RunsTable";
|
||||
import {
|
||||
|
||||
+6
-10
@@ -1,3 +1,7 @@
|
||||
import { Form } from "@remix-run/react";
|
||||
import type { ActionArgs } from "@remix-run/server-runtime";
|
||||
import invariant from "tiny-invariant";
|
||||
import { z } from "zod";
|
||||
import { ApiLogoIcon } from "~/components/code/ApiLogoIcon";
|
||||
import { Panel } from "~/components/layout/Panel";
|
||||
import {
|
||||
@@ -10,24 +14,16 @@ import { SubTitle } from "~/components/primitives/text/SubTitle";
|
||||
import { Title } from "~/components/primitives/text/Title";
|
||||
import type { CurrentWorkflow } from "~/hooks/useWorkflows";
|
||||
import { useCurrentWorkflow } from "~/hooks/useWorkflows";
|
||||
import invariant from "tiny-invariant";
|
||||
import { Form } from "@remix-run/react";
|
||||
import type { ActionArgs, LoaderArgs } from "@remix-run/server-runtime";
|
||||
import { z } from "zod";
|
||||
import { requireUserId } from "~/services/session.server";
|
||||
import {
|
||||
redirectBackWithErrorMessage,
|
||||
redirectBackWithSuccessMessage,
|
||||
redirectWithSuccessMessage,
|
||||
} from "~/models/message.server";
|
||||
import { requireUserId } from "~/services/session.server";
|
||||
import { ArchiveWorkflow } from "~/services/workflows/archiveWorkflow.server";
|
||||
import { DisableWorkflow } from "~/services/workflows/disableWorkflow.server";
|
||||
import { EnableWorkflow } from "~/services/workflows/enableWorkflow.server";
|
||||
import { ArchiveWorkflow } from "~/services/workflows/archiveWorkflow.server";
|
||||
import { UnarchiveWorkflow } from "~/services/workflows/unarchiveWorkflow.server";
|
||||
import { PanelWarning } from "~/components/layout/PanelWarning";
|
||||
import { typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
import { getRuntimeEnvironmentFromRequest } from "~/models/runtimeEnvironment.server";
|
||||
import { WorkflowTestPresenter } from "~/presenters/testPresenter.server";
|
||||
|
||||
const ActionSchema = z.enum(["disable", "enable", "archive", "unarchive"]);
|
||||
const FormSchema = z.object({
|
||||
|
||||
@@ -9,7 +9,6 @@ import { PanelInfo } from "~/components/layout/PanelInfo";
|
||||
import { PanelWarning } from "~/components/layout/PanelWarning";
|
||||
import { PrimaryButton, TertiaryLink } from "~/components/primitives/Buttons";
|
||||
import { Select } from "~/components/primitives/Select";
|
||||
import { Body } from "~/components/primitives/text/Body";
|
||||
import { Title } from "~/components/primitives/text/Title";
|
||||
import { useCurrentOrganization } from "~/hooks/useOrganizations";
|
||||
import { useCurrentWorkflow } from "~/hooks/useWorkflows";
|
||||
|
||||
@@ -1,10 +1,13 @@
|
||||
/* This example requires Tailwind CSS v2.0+ */
|
||||
import { Dialog, Transition } from "@headlessui/react";
|
||||
import { HomeIcon, XMarkIcon } from "@heroicons/react/24/outline";
|
||||
import { UserCircleIcon } from "@heroicons/react/24/solid";
|
||||
import { Outlet } from "@remix-run/react";
|
||||
import type { LoaderArgs } from "@remix-run/server-runtime";
|
||||
import classNames from "classnames";
|
||||
import { Fragment, useState } from "react";
|
||||
import { redirect, typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
import type { User } from "~/models/user.server";
|
||||
import { getUser, requireUserId } from "~/services/session.server";
|
||||
|
||||
const navigation = [{ name: "Home", href: "/admin", icon: HomeIcon }];
|
||||
@@ -189,10 +192,6 @@ export default function Page() {
|
||||
);
|
||||
}
|
||||
|
||||
import { UserCircleIcon } from "@heroicons/react/24/solid";
|
||||
import classNames from "classnames";
|
||||
import type { User } from "~/models/user.server";
|
||||
|
||||
function UserProfilePhoto({
|
||||
user,
|
||||
className,
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
import { Form } from "@remix-run/react";
|
||||
import type { ActionArgs } from "@remix-run/server-runtime";
|
||||
import { redirect } from "@remix-run/server-runtime";
|
||||
import { typedjson, useTypedLoaderData } from "remix-typedjson";
|
||||
import { adminGetUsers } from "~/models/admin.server";
|
||||
import { PrimaryButton } from "~/components/primitives/Buttons";
|
||||
import { ActionArgs, redirect } from "@remix-run/server-runtime";
|
||||
import { z } from "zod";
|
||||
import { PrimaryButton } from "~/components/primitives/Buttons";
|
||||
import { adminGetUsers } from "~/models/admin.server";
|
||||
import {
|
||||
commitImpersonationSession,
|
||||
setImpersonationId,
|
||||
|
||||
@@ -10,7 +10,7 @@ import { ArrowLeftIcon } from "@heroicons/react/24/solid";
|
||||
import { InboxArrowDownIcon } from "@heroicons/react/24/outline";
|
||||
import { z } from "zod";
|
||||
import { LoginPromoPanel } from "~/components/LoginPromoPanel";
|
||||
import { Logo, LogoSvg } from "~/components/Logo";
|
||||
import { LogoSvg } from "~/components/Logo";
|
||||
import { Input } from "~/components/primitives/Input";
|
||||
import { PrimaryButton } from "~/components/primitives/Buttons";
|
||||
|
||||
@@ -65,12 +65,12 @@ export default function LoginMagicLinkPage() {
|
||||
return (
|
||||
<div className="flex h-screen w-screen justify-between overflow-y-scroll bg-slate-900">
|
||||
<LoginPromoPanel />
|
||||
<div className="flex grow items-center justify-center bg-gradient-background h-full w-full p-4">
|
||||
<div className="flex w-full max-w-xl flex-col justify-between rounded-lg bg-slate-850 shadow-md min-h-[430px]">
|
||||
<div className="bg-gradient-background flex h-full w-full grow items-center justify-center p-4">
|
||||
<div className="flex min-h-[430px] w-full max-w-xl flex-col justify-between rounded-lg bg-slate-850 shadow-md">
|
||||
<Form className="flex h-full flex-grow flex-col" method="post">
|
||||
<a
|
||||
href="https://trigger.dev"
|
||||
className="flex w-full justify-center mt-12"
|
||||
className="mt-12 flex w-full justify-center"
|
||||
>
|
||||
<LogoSvg className="h-10 lg:h-14" />
|
||||
</a>
|
||||
@@ -104,7 +104,7 @@ export default function LoginMagicLinkPage() {
|
||||
</>
|
||||
) : (
|
||||
<>
|
||||
<p className="text-base lg:text-lg text-slate-200">
|
||||
<p className="text-base text-slate-200 lg:text-lg">
|
||||
Enter your email address to get started.
|
||||
</p>
|
||||
<div className="flex w-full max-w-sm flex-col">
|
||||
@@ -121,7 +121,7 @@ export default function LoginMagicLinkPage() {
|
||||
transition.type === "actionSubmission" &&
|
||||
transition.submission.formData.get("action") === "send" ? (
|
||||
<PrimaryButton
|
||||
className="flex mt-2 py-3 w-full !max-w-full"
|
||||
className="mt-2 flex w-full !max-w-full py-3"
|
||||
name="action"
|
||||
value="send"
|
||||
type="submit"
|
||||
@@ -130,7 +130,7 @@ export default function LoginMagicLinkPage() {
|
||||
</PrimaryButton>
|
||||
) : (
|
||||
<PrimaryButton
|
||||
className="flex mt-2 py-3 w-full !max-w-full"
|
||||
className="mt-2 flex w-full !max-w-full py-3"
|
||||
name="action"
|
||||
value="send"
|
||||
type="submit"
|
||||
|
||||
@@ -4,7 +4,7 @@ import { json, redirect } from "@remix-run/node";
|
||||
import { Form, Link, useLoaderData } from "@remix-run/react";
|
||||
import { GitHubLoginButton } from "~/components/GitHubLoginButton";
|
||||
import { LoginPromoPanel } from "~/components/LoginPromoPanel";
|
||||
import { Logo, LogoSvg } from "~/components/Logo";
|
||||
import { LogoSvg } from "~/components/Logo";
|
||||
import { commitSession, setRedirectTo } from "~/services/redirectTo.server";
|
||||
import { getUserId } from "~/services/session.server";
|
||||
|
||||
@@ -46,10 +46,10 @@ export default function LoginPage() {
|
||||
return (
|
||||
<div className="flex h-screen w-screen justify-between overflow-y-scroll bg-slate-900">
|
||||
<LoginPromoPanel />
|
||||
<div className="flex grow items-center justify-center h-full w-full p-4">
|
||||
<div className="flex w-full max-w-xl flex-col justify-between rounded-lg bg-slate-850 shadow-md min-h-[430px]">
|
||||
<div className="flex h-full w-full grow items-center justify-center p-4">
|
||||
<div className="flex min-h-[430px] w-full max-w-xl flex-col justify-between rounded-lg bg-slate-850 shadow-md">
|
||||
<Form
|
||||
className="flex flex-col flex-grow"
|
||||
className="flex flex-grow flex-col"
|
||||
action={`/auth/github${
|
||||
data.redirectTo ? `?redirectTo=${data.redirectTo}` : ""
|
||||
}`}
|
||||
@@ -57,11 +57,11 @@ export default function LoginPage() {
|
||||
>
|
||||
<a
|
||||
href="https://trigger.dev"
|
||||
className="flex w-full justify-center mt-12 px-4"
|
||||
className="mt-12 flex w-full justify-center px-4"
|
||||
>
|
||||
<LogoSvg className="h-14" />
|
||||
</a>
|
||||
<div className="flex flex-col flex-grow justify-between items-center text-center pt-8 pb-12 px-10">
|
||||
<div className="flex flex-grow flex-col items-center justify-between px-10 pt-8 pb-12 text-center">
|
||||
<p className="text-base lg:text-lg">
|
||||
Build better workflows with Trigger.dev.
|
||||
</p>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { ActionArgs } from "@remix-run/server-runtime";
|
||||
import type { ActionArgs } from "@remix-run/server-runtime";
|
||||
import { redirect } from "remix-typedjson";
|
||||
import {
|
||||
clearImpersonationId,
|
||||
|
||||
@@ -4,7 +4,7 @@ import type { Organization } from "~/models/organization.server";
|
||||
import type { RuntimeEnvironment } from "~/models/runtimeEnvironment.server";
|
||||
import type { User } from "~/models/user.server";
|
||||
import type { Workflow } from "~/models/workflow.server";
|
||||
import { WorkflowRun } from "~/models/workflowRun.server";
|
||||
import type { WorkflowRun } from "~/models/workflowRun.server";
|
||||
|
||||
class BehaviouralAnalytics {
|
||||
client: PostHog | undefined = undefined;
|
||||
|
||||
@@ -1,11 +1,8 @@
|
||||
import type { Authenticator } from "remix-auth";
|
||||
import { GitHubStrategy } from "remix-auth-github";
|
||||
import { env } from "~/env.server";
|
||||
import { createFirstOrganization } from "~/models/organization.server";
|
||||
import { findOrCreateUser } from "~/models/user.server";
|
||||
import type { AuthUser } from "./authUser";
|
||||
import { scheduleWelcomeEmail } from "./email.server";
|
||||
import { taskQueue } from "./messageBroker.server";
|
||||
import { postAuthentication } from "./postAuth.server";
|
||||
|
||||
const gitHubStrategy = new GitHubStrategy(
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { createCookieSessionStorage, Session } from "@remix-run/node";
|
||||
import type { Session } from "@remix-run/node";
|
||||
import { createCookieSessionStorage } from "@remix-run/node";
|
||||
import { env } from "~/env.server";
|
||||
|
||||
export const impersonationSessionStorage = createCookieSessionStorage({
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
import type { PrismaClient } from "~/db.server";
|
||||
import { prisma } from "~/db.server";
|
||||
import { DisableWorkflow } from "./disableWorkflow.server";
|
||||
|
||||
export class UnarchiveWorkflow {
|
||||
#prismaClient: PrismaClient;
|
||||
|
||||
Reference in New Issue
Block a user