first (part 2: other directories)
Deploy Iddaai Backend / build-and-deploy (push) Failing after 18s

This commit is contained in:
2026-04-16 15:11:25 +03:00
parent 7814e0bc6b
commit 2f0b85a0c7
203 changed files with 59989 additions and 0 deletions
@@ -0,0 +1,253 @@
/*
Warnings:
- A unique constraint covering the columns `[match_id,name]` on the table `odd_categories` will be added. If there are existing duplicate values, this will fail.
- A unique constraint covering the columns `[odd_category_db_id,name]` on the table `odd_selections` will be added. If there are existing duplicate values, this will fail.
*/
-- CreateEnum
CREATE TYPE "TotoBulletinStatus" AS ENUM ('UPCOMING', 'IN_PROGRESS', 'COMPLETED', 'CANCELLED');
-- CreateEnum
CREATE TYPE "TotoMatchResult" AS ENUM ('HOME', 'DRAW', 'AWAY');
-- AlterTable
ALTER TABLE "live_matches" ADD COLUMN "lineups" JSONB,
ADD COLUMN "odds" JSONB,
ADD COLUMN "odds_updated_at" TIMESTAMP(3),
ADD COLUMN "referee_name" TEXT,
ADD COLUMN "sidelined" JSONB;
-- AlterTable
ALTER TABLE "odd_selections" ADD COLUMN "updated_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP;
-- CreateTable
CREATE TABLE "match_ai_features" (
"match_id" TEXT NOT NULL,
"home_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"away_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"home_form_score" DOUBLE PRECISION NOT NULL DEFAULT 50.0,
"away_form_score" DOUBLE PRECISION NOT NULL DEFAULT 50.0,
"missing_players_impact" DOUBLE PRECISION NOT NULL DEFAULT 0.0,
"calculator_ver" TEXT NOT NULL DEFAULT 'v1.0',
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "match_ai_features_pkey" PRIMARY KEY ("match_id")
);
-- CreateTable
CREATE TABLE "team_elo_ratings" (
"team_id" TEXT NOT NULL,
"overall_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"home_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"away_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"form_elo" DOUBLE PRECISION NOT NULL DEFAULT 1500.0,
"matches_played" INTEGER NOT NULL DEFAULT 0,
"recent_form" TEXT NOT NULL DEFAULT '',
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "team_elo_ratings_pkey" PRIMARY KEY ("team_id")
);
-- CreateTable
CREATE TABLE "odds_history" (
"id" BIGSERIAL NOT NULL,
"selection_id" INTEGER NOT NULL,
"match_id" TEXT NOT NULL,
"previous_value" DOUBLE PRECISION NOT NULL,
"new_value" DOUBLE PRECISION NOT NULL,
"bookmaker" TEXT DEFAULT 'MACKOLIK',
"change_time" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "odds_history_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "user_coupons" (
"id" TEXT NOT NULL,
"user_id" TEXT NOT NULL,
"strategy" TEXT NOT NULL,
"total_odds" DOUBLE PRECISION NOT NULL,
"status" TEXT NOT NULL DEFAULT 'PENDING',
"isPublic" BOOLEAN NOT NULL DEFAULT false,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "user_coupons_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "user_coupon_items" (
"id" SERIAL NOT NULL,
"coupon_id" TEXT NOT NULL,
"match_id" TEXT NOT NULL,
"selection" TEXT NOT NULL,
"odd_at_time" DOUBLE PRECISION NOT NULL,
"is_correct" BOOLEAN,
CONSTRAINT "user_coupon_items_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "toto_bulletins" (
"id" TEXT NOT NULL,
"game_cycle_no" INTEGER NOT NULL,
"program_name" TEXT,
"season" TEXT,
"status" "TotoBulletinStatus" NOT NULL DEFAULT 'UPCOMING',
"payin_begin_date" TIMESTAMP(3),
"payin_end_date" TIMESTAMP(3),
"pool_total" DOUBLE PRECISION,
"rollover_amount" DOUBLE PRECISION,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "toto_bulletins_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "toto_bulletin_matches" (
"id" SERIAL NOT NULL,
"bulletin_id" TEXT NOT NULL,
"match_order" INTEGER NOT NULL,
"home_team_name" TEXT NOT NULL,
"away_team_name" TEXT NOT NULL,
"league_name" TEXT,
"kickoff_time" TIMESTAMP(3),
"match_id" TEXT,
"result" "TotoMatchResult",
"is_cancelled" BOOLEAN NOT NULL DEFAULT false,
"draw_result" "TotoMatchResult",
CONSTRAINT "toto_bulletin_matches_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "toto_results" (
"id" TEXT NOT NULL,
"bulletin_id" TEXT NOT NULL,
"winners_15" INTEGER NOT NULL DEFAULT 0,
"prize_15" DOUBLE PRECISION,
"winners_14" INTEGER NOT NULL DEFAULT 0,
"prize_14" DOUBLE PRECISION,
"winners_13" INTEGER NOT NULL DEFAULT 0,
"prize_13" DOUBLE PRECISION,
"winners_12" INTEGER NOT NULL DEFAULT 0,
"prize_12" DOUBLE PRECISION,
"rollover_next" DOUBLE PRECISION,
"pool_distributed" DOUBLE PRECISION,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT "toto_results_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "toto_coupons" (
"id" TEXT NOT NULL,
"user_id" TEXT NOT NULL,
"bulletin_id" TEXT NOT NULL,
"strategy" TEXT,
"column_count" INTEGER NOT NULL,
"total_cost" DOUBLE PRECISION NOT NULL,
"status" TEXT NOT NULL DEFAULT 'PENDING',
"total_prize" DOUBLE PRECISION,
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updated_at" TIMESTAMP(3) NOT NULL,
CONSTRAINT "toto_coupons_pkey" PRIMARY KEY ("id")
);
-- CreateTable
CREATE TABLE "toto_columns" (
"id" SERIAL NOT NULL,
"coupon_id" TEXT NOT NULL,
"predictions" VARCHAR(15) NOT NULL,
"correct_count" INTEGER,
"prize_amount" DOUBLE PRECISION,
CONSTRAINT "toto_columns_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "odds_history_match_id_change_time_idx" ON "odds_history"("match_id", "change_time");
-- CreateIndex
CREATE INDEX "odds_history_selection_id_idx" ON "odds_history"("selection_id");
-- CreateIndex
CREATE INDEX "user_coupons_user_id_idx" ON "user_coupons"("user_id");
-- CreateIndex
CREATE INDEX "user_coupons_status_idx" ON "user_coupons"("status");
-- CreateIndex
CREATE INDEX "user_coupon_items_coupon_id_idx" ON "user_coupon_items"("coupon_id");
-- CreateIndex
CREATE UNIQUE INDEX "toto_bulletins_game_cycle_no_key" ON "toto_bulletins"("game_cycle_no");
-- CreateIndex
CREATE INDEX "toto_bulletins_status_idx" ON "toto_bulletins"("status");
-- CreateIndex
CREATE INDEX "toto_bulletin_matches_bulletin_id_idx" ON "toto_bulletin_matches"("bulletin_id");
-- CreateIndex
CREATE INDEX "toto_bulletin_matches_match_id_idx" ON "toto_bulletin_matches"("match_id");
-- CreateIndex
CREATE UNIQUE INDEX "toto_bulletin_matches_bulletin_id_match_order_key" ON "toto_bulletin_matches"("bulletin_id", "match_order");
-- CreateIndex
CREATE UNIQUE INDEX "toto_results_bulletin_id_key" ON "toto_results"("bulletin_id");
-- CreateIndex
CREATE INDEX "toto_coupons_user_id_idx" ON "toto_coupons"("user_id");
-- CreateIndex
CREATE INDEX "toto_coupons_bulletin_id_idx" ON "toto_coupons"("bulletin_id");
-- CreateIndex
CREATE INDEX "toto_coupons_status_idx" ON "toto_coupons"("status");
-- CreateIndex
CREATE INDEX "toto_columns_coupon_id_idx" ON "toto_columns"("coupon_id");
-- CreateIndex
CREATE INDEX "toto_columns_correct_count_idx" ON "toto_columns"("correct_count");
-- CreateIndex
CREATE UNIQUE INDEX "odd_categories_match_id_name_key" ON "odd_categories"("match_id", "name");
-- CreateIndex
CREATE UNIQUE INDEX "odd_selections_odd_category_db_id_name_key" ON "odd_selections"("odd_category_db_id", "name");
-- AddForeignKey
ALTER TABLE "match_ai_features" ADD CONSTRAINT "match_ai_features_match_id_fkey" FOREIGN KEY ("match_id") REFERENCES "matches"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "team_elo_ratings" ADD CONSTRAINT "team_elo_ratings_team_id_fkey" FOREIGN KEY ("team_id") REFERENCES "teams"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "odds_history" ADD CONSTRAINT "odds_history_selection_id_fkey" FOREIGN KEY ("selection_id") REFERENCES "odd_selections"("db_id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "user_coupons" ADD CONSTRAINT "user_coupons_user_id_fkey" FOREIGN KEY ("user_id") REFERENCES "users"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "user_coupon_items" ADD CONSTRAINT "user_coupon_items_coupon_id_fkey" FOREIGN KEY ("coupon_id") REFERENCES "user_coupons"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "user_coupon_items" ADD CONSTRAINT "user_coupon_items_match_id_fkey" FOREIGN KEY ("match_id") REFERENCES "matches"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "toto_bulletin_matches" ADD CONSTRAINT "toto_bulletin_matches_bulletin_id_fkey" FOREIGN KEY ("bulletin_id") REFERENCES "toto_bulletins"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "toto_results" ADD CONSTRAINT "toto_results_bulletin_id_fkey" FOREIGN KEY ("bulletin_id") REFERENCES "toto_bulletins"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "toto_coupons" ADD CONSTRAINT "toto_coupons_bulletin_id_fkey" FOREIGN KEY ("bulletin_id") REFERENCES "toto_bulletins"("id") ON DELETE CASCADE ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "toto_columns" ADD CONSTRAINT "toto_columns_coupon_id_fkey" FOREIGN KEY ("coupon_id") REFERENCES "toto_coupons"("id") ON DELETE CASCADE ON UPDATE CASCADE;