diff --git a/server/db/schema.ts b/server/db/schema.ts index 55be8324..1d90b290 100644 --- a/server/db/schema.ts +++ b/server/db/schema.ts @@ -1,10 +1,12 @@ import { InferSelectModel } from "drizzle-orm"; import { sqliteTable, text, integer } from "drizzle-orm/sqlite-core"; -export const schools = sqliteTable("schools", { - id: integer("id").primaryKey({ autoIncrement: true }), - name: text("name"), - abbreviation: text("abbreviation"), +export const proxyTargets = sqliteTable("proxyTargets", { + id: text("id").unique().notNull().primaryKey(), + target: text("target").notNull(), + rule: text("rule").notNull(), + entryPoint: text("entryPoint").notNull(), + enabled: integer("enabled", { mode: "boolean" }).notNull().default(true), }); -export type SelectSchoolType = InferSelectModel; +export type SelectProxyTargets = InferSelectModel; diff --git a/server/migrations/0000_petite_zarda.sql b/server/migrations/0000_petite_zarda.sql new file mode 100644 index 00000000..ce65bec1 --- /dev/null +++ b/server/migrations/0000_petite_zarda.sql @@ -0,0 +1,9 @@ +CREATE TABLE `proxyTargets` ( + `id` text PRIMARY KEY NOT NULL, + `target` text NOT NULL, + `rule` text NOT NULL, + `entryPoint` text NOT NULL, + `enabled` integer DEFAULT 1 NOT NULL +); +--> statement-breakpoint +CREATE UNIQUE INDEX `proxyTargets_id_unique` ON `proxyTargets` (`id`); \ No newline at end of file diff --git a/server/migrations/meta/0000_snapshot.json b/server/migrations/meta/0000_snapshot.json new file mode 100644 index 00000000..68961190 --- /dev/null +++ b/server/migrations/meta/0000_snapshot.json @@ -0,0 +1,70 @@ +{ + "version": "6", + "dialect": "sqlite", + "id": "341a41b7-2cc2-4967-b0cf-ec35f6d0486a", + "prevId": "00000000-0000-0000-0000-000000000000", + "tables": { + "proxyTargets": { + "name": "proxyTargets", + "columns": { + "id": { + "name": "id", + "type": "text", + "primaryKey": true, + "notNull": true, + "autoincrement": false + }, + "target": { + "name": "target", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "rule": { + "name": "rule", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "entryPoint": { + "name": "entryPoint", + "type": "text", + "primaryKey": false, + "notNull": true, + "autoincrement": false + }, + "enabled": { + "name": "enabled", + "type": "integer", + "primaryKey": false, + "notNull": true, + "autoincrement": false, + "default": 1 + } + }, + "indexes": { + "proxyTargets_id_unique": { + "name": "proxyTargets_id_unique", + "columns": [ + "id" + ], + "isUnique": true + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {} + } + }, + "enums": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "internal": { + "indexes": {} + } +} \ No newline at end of file diff --git a/server/migrations/meta/_journal.json b/server/migrations/meta/_journal.json new file mode 100644 index 00000000..0d088155 --- /dev/null +++ b/server/migrations/meta/_journal.json @@ -0,0 +1,13 @@ +{ + "version": "7", + "dialect": "sqlite", + "entries": [ + { + "idx": 0, + "version": "6", + "when": 1727489319772, + "tag": "0000_petite_zarda", + "breakpoints": true + } + ] +} \ No newline at end of file