chore: update & sort dependencies, add sqlx, remove 'migrations'

This commit is contained in:
2025-08-29 12:52:33 -05:00
parent f2bd02c970
commit 677bb05b87
7 changed files with 665 additions and 168 deletions

699
Cargo.lock generated
View File

File diff suppressed because it is too large Load Diff

View File

@@ -4,31 +4,34 @@ version = "0.1.0"
edition = "2024"
[dependencies]
tokio = { version = "1.47.1", features = ["full"] }
axum = "0.8.4"
serenity = { version = "0.12.4", features = ["rustls_backend"] }
reqwest = { version = "0.12.23", features = ["json", "cookies"] }
diesel = { version = "2.2.12", features = ["chrono", "postgres", "r2d2", "uuid", "serde_json"] }
redis = { version = "0.32.5", features = ["tokio-comp"] }
figment = { version = "0.10.19", features = ["toml", "env"] }
serde_json = "1.0.143"
serde = { version = "1.0.219", features = ["derive"] }
governor = "0.10.1"
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter"] }
dotenvy = "0.15.7"
poise = "0.6.1"
async-trait = "0.1"
fundu = "2.0.1"
anyhow = "1.0.99"
thiserror = "2.0.16"
chrono = { version = "0.4", features = ["serde"] }
chrono-tz = "0.8"
rand = "0.8"
regex = "1.10"
url = "2.5"
compile-time = "0.2.0"
time = "0.3.41"
async-trait = "0.1"
axum = "0.8.4"
bitflags = { version = "2.9.3", features = ["serde"] }
diesel_derives = "2.2.7"
chrono = { version = "0.4", features = ["serde"] }
chrono-tz = "0.10.4"
compile-time = "0.2.0"
diesel = { version = "2.2.12", features = ["chrono", "postgres", "r2d2", "uuid", "serde_json"] }
diesel-derive-enum = { version = "2.1.0", features = ["postgres"] }
diesel_derives = "2.2.7"
dotenvy = "0.15.7"
figment = { version = "0.10.19", features = ["toml", "env"] }
fundu = "2.0.1"
governor = "0.10.1"
poise = "0.6.1"
rand = "0.9.2"
redis = { version = "0.32.5", features = ["tokio-comp", "r2d2"] }
regex = "1.10"
reqwest = { version = "0.12.23", features = ["json", "cookies"] }
serde = { version = "1.0.219", features = ["derive"] }
serde_json = "1.0.143"
serenity = { version = "0.12.4", features = ["rustls_backend"] }
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "chrono", "json", "macros"] }
thiserror = "2.0.16"
time = "0.3.41"
tokio = { version = "1.47.1", features = ["full"] }
tracing = "0.1.41"
tracing-subscriber = { version = "0.3.19", features = ["env-filter", "json"] }
url = "2.5"
[dev-dependencies]

View File

View File

@@ -1,6 +0,0 @@
-- This file was automatically created by Diesel to setup helper functions
-- and other internal bookkeeping. This file is safe to edit, any future
-- changes will be added to existing projects as new migrations.
DROP FUNCTION IF EXISTS diesel_manage_updated_at(_tbl regclass);
DROP FUNCTION IF EXISTS diesel_set_updated_at();

View File

@@ -1,36 +0,0 @@
-- This file was automatically created by Diesel to setup helper functions
-- and other internal bookkeeping. This file is safe to edit, any future
-- changes will be added to existing projects as new migrations.
-- Sets up a trigger for the given table to automatically set a column called
-- `updated_at` whenever the row is modified (unless `updated_at` was included
-- in the modified columns)
--
-- # Example
--
-- ```sql
-- CREATE TABLE users (id SERIAL PRIMARY KEY, updated_at TIMESTAMP NOT NULL DEFAULT NOW());
--
-- SELECT diesel_manage_updated_at('users');
-- ```
CREATE OR REPLACE FUNCTION diesel_manage_updated_at(_tbl regclass) RETURNS VOID AS $$
BEGIN
EXECUTE format('CREATE TRIGGER set_updated_at BEFORE UPDATE ON %s
FOR EACH ROW EXECUTE PROCEDURE diesel_set_updated_at()', _tbl);
END;
$$ LANGUAGE plpgsql;
CREATE OR REPLACE FUNCTION diesel_set_updated_at() RETURNS trigger AS $$
BEGIN
IF (
NEW IS DISTINCT FROM OLD AND
NEW.updated_at IS NOT DISTINCT FROM OLD.updated_at
) THEN
NEW.updated_at := current_timestamp;
END IF;
RETURN NEW;
END;
$$ LANGUAGE plpgsql;

View File

@@ -1,4 +0,0 @@
-- This file should undo anything in `up.sql`
DROP TABLE IF EXISTS "courses";
DROP TABLE IF EXISTS "course_metrics";
DROP TABLE IF EXISTS "course_audits";

View File

@@ -1,35 +0,0 @@
-- Your SQL goes here
CREATE TABLE "courses"(
"id" INT4 NOT NULL PRIMARY KEY,
"crn" VARCHAR NOT NULL,
"subject" VARCHAR NOT NULL,
"course_number" VARCHAR NOT NULL,
"title" VARCHAR NOT NULL,
"term_code" VARCHAR NOT NULL,
"enrollment" INT4 NOT NULL,
"max_enrollment" INT4 NOT NULL,
"wait_count" INT4 NOT NULL,
"wait_capacity" INT4 NOT NULL,
"last_scraped_at" TIMESTAMPTZ NOT NULL
);
CREATE TABLE "course_metrics"(
"id" INT4 NOT NULL PRIMARY KEY,
"course_id" INT4 NOT NULL,
"timestamp" TIMESTAMPTZ NOT NULL,
"enrollment" INT4 NOT NULL,
"wait_count" INT4 NOT NULL,
"seats_available" INT4 NOT NULL,
FOREIGN KEY ("course_id") REFERENCES "courses"("id")
);
CREATE TABLE "course_audits"(
"id" INT4 NOT NULL PRIMARY KEY,
"course_id" INT4 NOT NULL,
"timestamp" TIMESTAMPTZ NOT NULL,
"field_changed" VARCHAR NOT NULL,
"old_value" TEXT NOT NULL,
"new_value" TEXT NOT NULL,
FOREIGN KEY ("course_id") REFERENCES "courses"("id")
);