enable v3 projects by default on self-hosted instances

This commit is contained in:
nicktrn
2024-06-05 14:52:56 +01:00
parent 81ca34a847
commit 3314169af4
3 changed files with 26 additions and 14 deletions
@@ -143,9 +143,6 @@ function getApiUrlArg() {
case "https://cloud.trigger.dev":
// don't display the arg, use the CLI default
break;
case "https://test-cloud.trigger.dev":
apiUrl = "https://test-api.trigger.dev";
break;
default:
apiUrl = appOrigin;
break;
+22 -11
View File
@@ -7,20 +7,31 @@ export type TriggerFeatures = {
alertsEnabled: boolean;
};
// If the request host is cloud.trigger.dev then we are on the managed cloud
// or if env.NODE_ENV is development
export function featuresForRequest(request: Request): TriggerFeatures {
const url = requestUrl(request);
const isManagedCloud =
url.host === "cloud.trigger.dev" ||
url.host === "test-cloud.trigger.dev" ||
url.host === "internal.trigger.dev" ||
process.env.CLOUD_ENV === "development";
function isManagedCloud(host: string): boolean {
return (
host === "cloud.trigger.dev" ||
host === "test-cloud.trigger.dev" ||
host === "internal.trigger.dev" ||
process.env.CLOUD_ENV === "development"
);
}
export function featuresForHost(host: string): TriggerFeatures {
return {
isManagedCloud,
isManagedCloud: isManagedCloud(host),
v3Enabled: env.V3_ENABLED === "true",
alertsEnabled: env.ALERT_FROM_EMAIL !== undefined && env.ALERT_RESEND_API_KEY !== undefined,
};
}
export function featuresForRequest(request: Request): TriggerFeatures {
const url = requestUrl(request);
return featuresForHost(url.host);
}
export function featuresForUrl(urlString: string): TriggerFeatures {
const url = new URL(urlString);
return featuresForHost(url.host);
}
@@ -12,6 +12,7 @@ import { createProject } from "./project.server";
import { generate } from "random-words";
import { createApiKeyForEnv, createPkApiKeyForEnv, envSlug } from "./api-key.server";
import { env } from "~/env.server";
import { featuresForHost } from "~/features.server";
export type { Organization };
@@ -52,6 +53,8 @@ export async function createOrganization(
);
}
const features = featuresForHost(env.APP_ORIGIN);
const organization = await prisma.organization.create({
data: {
title,
@@ -64,6 +67,7 @@ export async function createOrganization(
role: "ADMIN",
},
},
v3Enabled: features.v3Enabled && !features.isManagedCloud,
},
include: {
members: true,