feat(admission): add group VPN exceptions
CI / validate (push) Successful in 5m45s
Release / release (push) Successful in 7m21s

This commit is contained in:
dmg
2026-08-02 10:16:16 -04:00
parent 24808b0f8c
commit 71856bb869
34 changed files with 1820 additions and 138 deletions
@@ -0,0 +1,3 @@
ALTER TABLE "app_settings" ADD COLUMN "group_access_denied_message" text DEFAULT 'Your account group does not currently have server access. Contact a host if you believe this is a mistake.' NOT NULL;--> statement-breakpoint
ALTER TABLE "app_settings" ADD COLUMN "vpn_denied_message" text DEFAULT 'VPN, proxy, and Tor connections are not allowed. Contact a host to request an exception.' NOT NULL;--> statement-breakpoint
ALTER TABLE "groups" ADD COLUMN "anonymized_networks_allowed" boolean DEFAULT false NOT NULL;
File diff suppressed because it is too large Load Diff
@@ -29,6 +29,13 @@
"when": 1785625186545,
"tag": "0003_smiling_silver_samurai",
"breakpoints": true
},
{
"idx": 4,
"version": "7",
"when": 1785678753029,
"tag": "0004_zippy_silver_centurion",
"breakpoints": true
}
]
}
+7
View File
@@ -70,6 +70,7 @@ export const groups = pgTable(
slug: varchar("slug", { length: 50 }).notNull(),
description: text("description"),
accessEnabled: boolean("access_enabled").notNull().default(false),
anonymizedNetworksAllowed: boolean("anonymized_networks_allowed").notNull().default(false),
isDefault: boolean("is_default").notNull().default(false),
...timestamps(),
},
@@ -171,6 +172,12 @@ export const appSettings = pgTable("app_settings", {
registrationMessage: text("registration_message")
.notNull()
.default("Please register your Minecraft account before joining."),
groupAccessDeniedMessage: text("group_access_denied_message")
.notNull()
.default("Your account group does not currently have server access. Contact a host if you believe this is a mistake."),
vpnDeniedMessage: text("vpn_denied_message")
.notNull()
.default("VPN, proxy, and Tor connections are not allowed. Contact a host to request an exception."),
...timestamps(),
});