diff --git a/server/setup/migrationsPg.ts b/server/setup/migrationsPg.ts
index c8e632e0..b6d20512 100644
--- a/server/setup/migrationsPg.ts
+++ b/server/setup/migrationsPg.ts
@@ -13,6 +13,7 @@ import m5 from "./scriptsPg/1.10.0";
import m6 from "./scriptsPg/1.10.2";
import m7 from "./scriptsPg/1.11.0";
import m8 from "./scriptsPg/1.11.1";
+import m9 from "./scriptsPg/1.11.2";
// THIS CANNOT IMPORT ANYTHING FROM THE SERVER
// EXCEPT FOR THE DATABASE AND THE SCHEMA
@@ -26,7 +27,8 @@ const migrations = [
{ version: "1.10.0", run: m5 },
{ version: "1.10.2", run: m6 },
{ version: "1.11.0", run: m7 },
- { version: "1.11.1", run: m8 }
+ { version: "1.11.1", run: m8 },
+ { version: "1.11.2", run: m9 }
// Add new migrations here as they are created
] as {
version: string;
diff --git a/server/setup/migrationsSqlite.ts b/server/setup/migrationsSqlite.ts
index e65d7436..d60db7a0 100644
--- a/server/setup/migrationsSqlite.ts
+++ b/server/setup/migrationsSqlite.ts
@@ -31,6 +31,7 @@ import m26 from "./scriptsSqlite/1.10.1";
import m27 from "./scriptsSqlite/1.10.2";
import m28 from "./scriptsSqlite/1.11.0";
import m29 from "./scriptsSqlite/1.11.1";
+import m30 from "./scriptsSqlite/1.11.2";
// THIS CANNOT IMPORT ANYTHING FROM THE SERVER
// EXCEPT FOR THE DATABASE AND THE SCHEMA
@@ -60,7 +61,8 @@ const migrations = [
{ version: "1.10.1", run: m26 },
{ version: "1.10.2", run: m27 },
{ version: "1.11.0", run: m28 },
- { version: "1.11.1", run: m29 }
+ { version: "1.11.1", run: m29 },
+ { version: "1.11.2", run: m30 }
// Add new migrations here as they are created
] as const;
diff --git a/server/setup/scriptsPg/1.11.2.ts b/server/setup/scriptsPg/1.11.2.ts
new file mode 100644
index 00000000..6f61e727
--- /dev/null
+++ b/server/setup/scriptsPg/1.11.2.ts
@@ -0,0 +1,24 @@
+import { db } from "@server/db/pg/driver";
+import { sql } from "drizzle-orm";
+
+const version = "1.11.2";
+
+export default async function migration() {
+ console.log(`Running setup script ${version}...`);
+
+ try {
+ await db.execute(sql`BEGIN`);
+
+ await db.execute(sql`UPDATE "resourceRules" SET "match" = "COUNTRY" WHERE "match" = "GEOIP"`);
+
+ await db.execute(sql`COMMIT`);
+ console.log(`Updated resource rules match value from GEOIP to COUNTRY`);
+ } catch (e) {
+ await db.execute(sql`ROLLBACK`);
+ console.log("Unable to update resource rules match value");
+ console.log(e);
+ throw e;
+ }
+
+ console.log(`${version} migration complete`);
+}
diff --git a/server/setup/scriptsSqlite/1.11.2.ts b/server/setup/scriptsSqlite/1.11.2.ts
new file mode 100644
index 00000000..dfc1b7ae
--- /dev/null
+++ b/server/setup/scriptsSqlite/1.11.2.ts
@@ -0,0 +1,18 @@
+import { APP_PATH } from "@server/lib/consts";
+import Database from "better-sqlite3";
+import path from "path";
+
+const version = "1.11.2";
+
+export default async function migration() {
+ console.log(`Running setup script ${version}...`);
+
+ const location = path.join(APP_PATH, "db", "db.sqlite");
+ const db = new Database(location);
+
+ db.transaction(() => {
+ db.prepare(`UPDATE resourceRules SET match = "COUNTRY" WHERE match = "GEOIP"`).run();
+ })();
+
+ console.log(`${version} migration complete`);
+}
diff --git a/src/app/[orgId]/settings/resources/[niceId]/rules/page.tsx b/src/app/[orgId]/settings/resources/[niceId]/rules/page.tsx
index 1cf08c82..dada372f 100644
--- a/src/app/[orgId]/settings/resources/[niceId]/rules/page.tsx
+++ b/src/app/[orgId]/settings/resources/[niceId]/rules/page.tsx
@@ -130,7 +130,7 @@ export default function ResourceRules(props: {
PATH: t('path'),
IP: "IP",
CIDR: t('ipAddressRange'),
- GEOIP: t('country')
+ COUNTRY: t('country')
} as const;
const addRuleForm = useForm({
@@ -212,7 +212,7 @@ export default function ResourceRules(props: {
setLoading(false);
return;
}
- if (data.match === "GEOIP" && !COUNTRIES.some(c => c.code === data.value)) {
+ if (data.match === "COUNTRY" && !COUNTRIES.some(c => c.code === data.value)) {
toast({
variant: "destructive",
title: t('rulesErrorInvalidCountry'),
@@ -270,7 +270,7 @@ export default function ResourceRules(props: {
return t('rulesMatchIpAddress');
case "PATH":
return t('rulesMatchUrl');
- case "GEOIP":
+ case "COUNTRY":
return t('rulesMatchCountry');
}
}
@@ -492,8 +492,8 @@ export default function ResourceRules(props: {
cell: ({ row }) => (
@@ -514,7 +514,7 @@ export default function ResourceRules(props: {
accessorKey: "value",
header: t('value'),
cell: ({ row }) => (
- row.original.match === "GEOIP" ? (
+ row.original.match === "COUNTRY" ? (