refactor: remove isRequired field from season sports and templates
This commit is contained in:
parent
bd38e7495c
commit
94586564e2
9 changed files with 965 additions and 108 deletions
|
|
@ -7,8 +7,7 @@ export type NewSeasonSport = typeof schema.seasonSports.$inferInsert;
|
||||||
|
|
||||||
export async function linkSportToSeason(
|
export async function linkSportToSeason(
|
||||||
seasonId: string,
|
seasonId: string,
|
||||||
sportsSeasonId: string,
|
sportsSeasonId: string
|
||||||
isRequired: boolean = true
|
|
||||||
): Promise<SeasonSport> {
|
): Promise<SeasonSport> {
|
||||||
const db = database();
|
const db = database();
|
||||||
const [link] = await db
|
const [link] = await db
|
||||||
|
|
@ -16,7 +15,6 @@ export async function linkSportToSeason(
|
||||||
.values({
|
.values({
|
||||||
seasonId,
|
seasonId,
|
||||||
sportsSeasonId,
|
sportsSeasonId,
|
||||||
isRequired,
|
|
||||||
})
|
})
|
||||||
.returning();
|
.returning();
|
||||||
return link;
|
return link;
|
||||||
|
|
@ -79,24 +77,6 @@ export async function findSeasonSportsBySportsSeasonId(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateSeasonSport(
|
|
||||||
seasonId: string,
|
|
||||||
sportsSeasonId: string,
|
|
||||||
isRequired: boolean
|
|
||||||
): Promise<SeasonSport> {
|
|
||||||
const db = database();
|
|
||||||
const [link] = await db
|
|
||||||
.update(schema.seasonSports)
|
|
||||||
.set({ isRequired })
|
|
||||||
.where(
|
|
||||||
and(
|
|
||||||
eq(schema.seasonSports.seasonId, seasonId),
|
|
||||||
eq(schema.seasonSports.sportsSeasonId, sportsSeasonId)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.returning();
|
|
||||||
return link;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function deleteSeasonSport(id: string): Promise<void> {
|
export async function deleteSeasonSport(id: string): Promise<void> {
|
||||||
const db = database();
|
const db = database();
|
||||||
|
|
@ -123,7 +103,6 @@ export async function applySportsFromTemplate(
|
||||||
templateSports.map((ts) => ({
|
templateSports.map((ts) => ({
|
||||||
seasonId,
|
seasonId,
|
||||||
sportsSeasonId: ts.sportsSeasonId,
|
sportsSeasonId: ts.sportsSeasonId,
|
||||||
isRequired: ts.isRequired,
|
|
||||||
}))
|
}))
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,8 +7,7 @@ export type NewSeasonTemplateSport = typeof schema.seasonTemplateSports.$inferIn
|
||||||
|
|
||||||
export async function addSportToTemplate(
|
export async function addSportToTemplate(
|
||||||
templateId: string,
|
templateId: string,
|
||||||
sportsSeasonId: string,
|
sportsSeasonId: string
|
||||||
isRequired: boolean = true
|
|
||||||
): Promise<SeasonTemplateSport> {
|
): Promise<SeasonTemplateSport> {
|
||||||
const db = database();
|
const db = database();
|
||||||
const [link] = await db
|
const [link] = await db
|
||||||
|
|
@ -16,7 +15,6 @@ export async function addSportToTemplate(
|
||||||
.values({
|
.values({
|
||||||
templateId,
|
templateId,
|
||||||
sportsSeasonId,
|
sportsSeasonId,
|
||||||
isRequired,
|
|
||||||
})
|
})
|
||||||
.returning();
|
.returning();
|
||||||
return link;
|
return link;
|
||||||
|
|
@ -75,24 +73,6 @@ export async function findSeasonTemplateSportsBySportsSeasonId(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function updateSeasonTemplateSport(
|
|
||||||
templateId: string,
|
|
||||||
sportsSeasonId: string,
|
|
||||||
isRequired: boolean
|
|
||||||
): Promise<SeasonTemplateSport> {
|
|
||||||
const db = database();
|
|
||||||
const [link] = await db
|
|
||||||
.update(schema.seasonTemplateSports)
|
|
||||||
.set({ isRequired })
|
|
||||||
.where(
|
|
||||||
and(
|
|
||||||
eq(schema.seasonTemplateSports.templateId, templateId),
|
|
||||||
eq(schema.seasonTemplateSports.sportsSeasonId, sportsSeasonId)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
.returning();
|
|
||||||
return link;
|
|
||||||
}
|
|
||||||
|
|
||||||
export async function deleteSeasonTemplateSport(id: string): Promise<void> {
|
export async function deleteSeasonTemplateSport(id: string): Promise<void> {
|
||||||
const db = database();
|
const db = database();
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,6 @@ export type SeasonStatus = "pre_draft" | "draft" | "active" | "completed";
|
||||||
export interface SeasonWithSportsSeasons extends Season {
|
export interface SeasonWithSportsSeasons extends Season {
|
||||||
seasonSports: Array<{
|
seasonSports: Array<{
|
||||||
id: string;
|
id: string;
|
||||||
isRequired: boolean;
|
|
||||||
sportsSeason: {
|
sportsSeason: {
|
||||||
id: string;
|
id: string;
|
||||||
name: string;
|
name: string;
|
||||||
|
|
|
||||||
|
|
@ -9,15 +9,13 @@ import {
|
||||||
} from "~/models/season-template";
|
} from "~/models/season-template";
|
||||||
import {
|
import {
|
||||||
addSportToTemplate,
|
addSportToTemplate,
|
||||||
removeSportFromTemplate,
|
removeSportFromTemplate
|
||||||
updateSeasonTemplateSport
|
|
||||||
} from "~/models/season-template-sport";
|
} from "~/models/season-template-sport";
|
||||||
import { findAllSportsSeasons } from "~/models/sports-season";
|
import { findAllSportsSeasons } from "~/models/sports-season";
|
||||||
import { Button } from "~/components/ui/button";
|
import { Button } from "~/components/ui/button";
|
||||||
import { Input } from "~/components/ui/input";
|
import { Input } from "~/components/ui/input";
|
||||||
import { Label } from "~/components/ui/label";
|
import { Label } from "~/components/ui/label";
|
||||||
import { Textarea } from "~/components/ui/textarea";
|
import { Textarea } from "~/components/ui/textarea";
|
||||||
import { Checkbox } from "~/components/ui/checkbox";
|
|
||||||
import {
|
import {
|
||||||
Card,
|
Card,
|
||||||
CardContent,
|
CardContent,
|
||||||
|
|
@ -79,10 +77,9 @@ export async function action({ request, params }: Route.ActionArgs) {
|
||||||
|
|
||||||
if (intent === "add-sport") {
|
if (intent === "add-sport") {
|
||||||
const sportsSeasonId = formData.get("sportsSeasonId");
|
const sportsSeasonId = formData.get("sportsSeasonId");
|
||||||
const isRequired = formData.get("isRequired") === "on";
|
|
||||||
|
|
||||||
if (typeof sportsSeasonId === "string") {
|
if (typeof sportsSeasonId === "string") {
|
||||||
await addSportToTemplate(params.id, sportsSeasonId, isRequired);
|
await addSportToTemplate(params.id, sportsSeasonId);
|
||||||
}
|
}
|
||||||
return { success: true };
|
return { success: true };
|
||||||
}
|
}
|
||||||
|
|
@ -96,16 +93,6 @@ export async function action({ request, params }: Route.ActionArgs) {
|
||||||
return { success: true };
|
return { success: true };
|
||||||
}
|
}
|
||||||
|
|
||||||
if (intent === "toggle-required") {
|
|
||||||
const sportsSeasonId = formData.get("sportsSeasonId");
|
|
||||||
const isRequired = formData.get("isRequired") === "true";
|
|
||||||
|
|
||||||
if (typeof sportsSeasonId === "string") {
|
|
||||||
await updateSeasonTemplateSport(params.id, sportsSeasonId, isRequired);
|
|
||||||
}
|
|
||||||
return { success: true };
|
|
||||||
}
|
|
||||||
|
|
||||||
// Update template
|
// Update template
|
||||||
const name = formData.get("name");
|
const name = formData.get("name");
|
||||||
const year = formData.get("year");
|
const year = formData.get("year");
|
||||||
|
|
@ -141,7 +128,6 @@ export async function action({ request, params }: Route.ActionArgs) {
|
||||||
export default function EditTemplate({ loaderData, actionData }: Route.ComponentProps) {
|
export default function EditTemplate({ loaderData, actionData }: Route.ComponentProps) {
|
||||||
const { template, allSportsSeasons } = loaderData;
|
const { template, allSportsSeasons } = loaderData;
|
||||||
const [selectedSportId, setSelectedSportId] = useState("");
|
const [selectedSportId, setSelectedSportId] = useState("");
|
||||||
const [isRequired, setIsRequired] = useState(true);
|
|
||||||
|
|
||||||
const includedSeasonIds = new Set(
|
const includedSeasonIds = new Set(
|
||||||
template.seasonTemplateSports.map((s) => s.sportsSeasonId)
|
template.seasonTemplateSports.map((s) => s.sportsSeasonId)
|
||||||
|
|
@ -257,7 +243,6 @@ export default function EditTemplate({ loaderData, actionData }: Route.Component
|
||||||
key={templateSport.id}
|
key={templateSport.id}
|
||||||
className="flex items-center justify-between p-3 border rounded-lg"
|
className="flex items-center justify-between p-3 border rounded-lg"
|
||||||
>
|
>
|
||||||
<div className="flex items-center gap-3">
|
|
||||||
<div>
|
<div>
|
||||||
<p className="font-medium">
|
<p className="font-medium">
|
||||||
{templateSport.sportsSeason.sport.name} - {templateSport.sportsSeason.name}
|
{templateSport.sportsSeason.sport.name} - {templateSport.sportsSeason.name}
|
||||||
|
|
@ -266,19 +251,6 @@ export default function EditTemplate({ loaderData, actionData }: Route.Component
|
||||||
{templateSport.sportsSeason.year} • {templateSport.sportsSeason.scoringType.replace("_", " ")}
|
{templateSport.sportsSeason.year} • {templateSport.sportsSeason.scoringType.replace("_", " ")}
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<Badge variant={templateSport.isRequired ? "default" : "outline"}>
|
|
||||||
{templateSport.isRequired ? "Required" : "Optional"}
|
|
||||||
</Badge>
|
|
||||||
</div>
|
|
||||||
<div className="flex items-center gap-2">
|
|
||||||
<Form method="post">
|
|
||||||
<input type="hidden" name="intent" value="toggle-required" />
|
|
||||||
<input type="hidden" name="sportsSeasonId" value={templateSport.sportsSeasonId} />
|
|
||||||
<input type="hidden" name="isRequired" value={(!templateSport.isRequired).toString()} />
|
|
||||||
<Button type="submit" variant="ghost" size="sm">
|
|
||||||
Toggle
|
|
||||||
</Button>
|
|
||||||
</Form>
|
|
||||||
<Form method="post">
|
<Form method="post">
|
||||||
<input type="hidden" name="intent" value="remove-sport" />
|
<input type="hidden" name="intent" value="remove-sport" />
|
||||||
<input type="hidden" name="sportsSeasonId" value={templateSport.sportsSeasonId} />
|
<input type="hidden" name="sportsSeasonId" value={templateSport.sportsSeasonId} />
|
||||||
|
|
@ -292,7 +264,6 @@ export default function EditTemplate({ loaderData, actionData }: Route.Component
|
||||||
</Button>
|
</Button>
|
||||||
</Form>
|
</Form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
|
|
@ -317,15 +288,6 @@ export default function EditTemplate({ loaderData, actionData }: Route.Component
|
||||||
))}
|
))}
|
||||||
</SelectContent>
|
</SelectContent>
|
||||||
</Select>
|
</Select>
|
||||||
<div className="flex items-center gap-2">
|
|
||||||
<Checkbox
|
|
||||||
id="isRequired"
|
|
||||||
name="isRequired"
|
|
||||||
checked={isRequired}
|
|
||||||
onCheckedChange={(checked) => setIsRequired(checked === true)}
|
|
||||||
/>
|
|
||||||
<Label htmlFor="isRequired" className="text-sm">Required</Label>
|
|
||||||
</div>
|
|
||||||
<Button type="submit">
|
<Button type="submit">
|
||||||
<Plus className="h-4 w-4" />
|
<Plus className="h-4 w-4" />
|
||||||
</Button>
|
</Button>
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,6 @@ interface ExportData {
|
||||||
sportSlug: string;
|
sportSlug: string;
|
||||||
seasonName: string;
|
seasonName: string;
|
||||||
seasonYear: number;
|
seasonYear: number;
|
||||||
isRequired: boolean;
|
|
||||||
}>;
|
}>;
|
||||||
}>;
|
}>;
|
||||||
}
|
}
|
||||||
|
|
@ -125,7 +124,6 @@ export async function exportSportsDataToJSON(): Promise<ExportData> {
|
||||||
sportSlug: ts.sportsSeason.sport.slug,
|
sportSlug: ts.sportsSeason.sport.slug,
|
||||||
seasonName: ts.sportsSeason.name,
|
seasonName: ts.sportsSeason.name,
|
||||||
seasonYear: ts.sportsSeason.year,
|
seasonYear: ts.sportsSeason.year,
|
||||||
isRequired: ts.isRequired,
|
|
||||||
})),
|
})),
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
|
|
@ -324,7 +322,6 @@ export async function importSportsDataFromJSON(
|
||||||
await db.insert(schema.seasonTemplateSports).values({
|
await db.insert(schema.seasonTemplateSports).values({
|
||||||
templateId,
|
templateId,
|
||||||
sportsSeasonId,
|
sportsSeasonId,
|
||||||
isRequired: templateSport.isRequired,
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -138,7 +138,6 @@ export const seasonTemplateSports = pgTable("season_template_sports", {
|
||||||
sportsSeasonId: uuid("sports_season_id")
|
sportsSeasonId: uuid("sports_season_id")
|
||||||
.notNull()
|
.notNull()
|
||||||
.references(() => sportsSeasons.id, { onDelete: "cascade" }),
|
.references(() => sportsSeasons.id, { onDelete: "cascade" }),
|
||||||
isRequired: boolean("is_required").notNull().default(true),
|
|
||||||
createdAt: timestamp("created_at").defaultNow().notNull(),
|
createdAt: timestamp("created_at").defaultNow().notNull(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -150,7 +149,6 @@ export const seasonSports = pgTable("season_sports", {
|
||||||
sportsSeasonId: uuid("sports_season_id")
|
sportsSeasonId: uuid("sports_season_id")
|
||||||
.notNull()
|
.notNull()
|
||||||
.references(() => sportsSeasons.id, { onDelete: "cascade" }),
|
.references(() => sportsSeasons.id, { onDelete: "cascade" }),
|
||||||
isRequired: boolean("is_required").notNull().default(true),
|
|
||||||
createdAt: timestamp("created_at").defaultNow().notNull(),
|
createdAt: timestamp("created_at").defaultNow().notNull(),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
||||||
2
drizzle/0009_fuzzy_korvac.sql
Normal file
2
drizzle/0009_fuzzy_korvac.sql
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
ALTER TABLE "season_sports" DROP COLUMN IF EXISTS "is_required";--> statement-breakpoint
|
||||||
|
ALTER TABLE "season_template_sports" DROP COLUMN IF EXISTS "is_required";
|
||||||
933
drizzle/meta/0009_snapshot.json
Normal file
933
drizzle/meta/0009_snapshot.json
Normal file
|
|
@ -0,0 +1,933 @@
|
||||||
|
{
|
||||||
|
"id": "d7b8574f-85c3-45ec-99cb-a49e2bec7e18",
|
||||||
|
"prevId": "a87c9793-9d30-4cf6-b1f5-d3f6322128e2",
|
||||||
|
"version": "7",
|
||||||
|
"dialect": "postgresql",
|
||||||
|
"tables": {
|
||||||
|
"public.commissioners": {
|
||||||
|
"name": "commissioners",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"league_id": {
|
||||||
|
"name": "league_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"user_id": {
|
||||||
|
"name": "user_id",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"commissioners_league_id_leagues_id_fk": {
|
||||||
|
"name": "commissioners_league_id_leagues_id_fk",
|
||||||
|
"tableFrom": "commissioners",
|
||||||
|
"tableTo": "leagues",
|
||||||
|
"columnsFrom": [
|
||||||
|
"league_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.leagues": {
|
||||||
|
"name": "leagues",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"created_by": {
|
||||||
|
"name": "created_by",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"current_season_id": {
|
||||||
|
"name": "current_season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.participant_results": {
|
||||||
|
"name": "participant_results",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"participant_id": {
|
||||||
|
"name": "participant_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"sports_season_id": {
|
||||||
|
"name": "sports_season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"final_position": {
|
||||||
|
"name": "final_position",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"points_awarded": {
|
||||||
|
"name": "points_awarded",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
"qualifying_points": {
|
||||||
|
"name": "qualifying_points",
|
||||||
|
"type": "numeric(10, 2)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"notes": {
|
||||||
|
"name": "notes",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"participant_results_participant_id_participants_id_fk": {
|
||||||
|
"name": "participant_results_participant_id_participants_id_fk",
|
||||||
|
"tableFrom": "participant_results",
|
||||||
|
"tableTo": "participants",
|
||||||
|
"columnsFrom": [
|
||||||
|
"participant_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
},
|
||||||
|
"participant_results_sports_season_id_sports_seasons_id_fk": {
|
||||||
|
"name": "participant_results_sports_season_id_sports_seasons_id_fk",
|
||||||
|
"tableFrom": "participant_results",
|
||||||
|
"tableTo": "sports_seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"sports_season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.participants": {
|
||||||
|
"name": "participants",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"sports_season_id": {
|
||||||
|
"name": "sports_season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"short_name": {
|
||||||
|
"name": "short_name",
|
||||||
|
"type": "varchar(100)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"external_id": {
|
||||||
|
"name": "external_id",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"participants_sports_season_id_sports_seasons_id_fk": {
|
||||||
|
"name": "participants_sports_season_id_sports_seasons_id_fk",
|
||||||
|
"tableFrom": "participants",
|
||||||
|
"tableTo": "sports_seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"sports_season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.season_sports": {
|
||||||
|
"name": "season_sports",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"season_id": {
|
||||||
|
"name": "season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"sports_season_id": {
|
||||||
|
"name": "sports_season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"season_sports_season_id_seasons_id_fk": {
|
||||||
|
"name": "season_sports_season_id_seasons_id_fk",
|
||||||
|
"tableFrom": "season_sports",
|
||||||
|
"tableTo": "seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
},
|
||||||
|
"season_sports_sports_season_id_sports_seasons_id_fk": {
|
||||||
|
"name": "season_sports_sports_season_id_sports_seasons_id_fk",
|
||||||
|
"tableFrom": "season_sports",
|
||||||
|
"tableTo": "sports_seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"sports_season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.season_template_sports": {
|
||||||
|
"name": "season_template_sports",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"template_id": {
|
||||||
|
"name": "template_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"sports_season_id": {
|
||||||
|
"name": "sports_season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"season_template_sports_template_id_season_templates_id_fk": {
|
||||||
|
"name": "season_template_sports_template_id_season_templates_id_fk",
|
||||||
|
"tableFrom": "season_template_sports",
|
||||||
|
"tableTo": "season_templates",
|
||||||
|
"columnsFrom": [
|
||||||
|
"template_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
},
|
||||||
|
"season_template_sports_sports_season_id_sports_seasons_id_fk": {
|
||||||
|
"name": "season_template_sports_sports_season_id_sports_seasons_id_fk",
|
||||||
|
"tableFrom": "season_template_sports",
|
||||||
|
"tableTo": "sports_seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"sports_season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.season_templates": {
|
||||||
|
"name": "season_templates",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"name": "description",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"year": {
|
||||||
|
"name": "year",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"is_active": {
|
||||||
|
"name": "is_active",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.seasons": {
|
||||||
|
"name": "seasons",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"league_id": {
|
||||||
|
"name": "league_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"year": {
|
||||||
|
"name": "year",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"name": "status",
|
||||||
|
"type": "season_status",
|
||||||
|
"typeSchema": "public",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "'pre_draft'"
|
||||||
|
},
|
||||||
|
"template_id": {
|
||||||
|
"name": "template_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"flex_spots": {
|
||||||
|
"name": "flex_spots",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": 0
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"seasons_league_id_leagues_id_fk": {
|
||||||
|
"name": "seasons_league_id_leagues_id_fk",
|
||||||
|
"tableFrom": "seasons",
|
||||||
|
"tableTo": "leagues",
|
||||||
|
"columnsFrom": [
|
||||||
|
"league_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
},
|
||||||
|
"seasons_template_id_season_templates_id_fk": {
|
||||||
|
"name": "seasons_template_id_season_templates_id_fk",
|
||||||
|
"tableFrom": "seasons",
|
||||||
|
"tableTo": "season_templates",
|
||||||
|
"columnsFrom": [
|
||||||
|
"template_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "set null",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.sports": {
|
||||||
|
"name": "sports",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"type": {
|
||||||
|
"name": "type",
|
||||||
|
"type": "sport_type",
|
||||||
|
"typeSchema": "public",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"slug": {
|
||||||
|
"name": "slug",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"description": {
|
||||||
|
"name": "description",
|
||||||
|
"type": "text",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"icon_url": {
|
||||||
|
"name": "icon_url",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {
|
||||||
|
"sports_slug_unique": {
|
||||||
|
"name": "sports_slug_unique",
|
||||||
|
"nullsNotDistinct": false,
|
||||||
|
"columns": [
|
||||||
|
"slug"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.sports_seasons": {
|
||||||
|
"name": "sports_seasons",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"sport_id": {
|
||||||
|
"name": "sport_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"year": {
|
||||||
|
"name": "year",
|
||||||
|
"type": "integer",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"start_date": {
|
||||||
|
"name": "start_date",
|
||||||
|
"type": "date",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"end_date": {
|
||||||
|
"name": "end_date",
|
||||||
|
"type": "date",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"status": {
|
||||||
|
"name": "status",
|
||||||
|
"type": "sports_season_status",
|
||||||
|
"typeSchema": "public",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "'upcoming'"
|
||||||
|
},
|
||||||
|
"scoring_type": {
|
||||||
|
"name": "scoring_type",
|
||||||
|
"type": "scoring_type",
|
||||||
|
"typeSchema": "public",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"sports_seasons_sport_id_sports_id_fk": {
|
||||||
|
"name": "sports_seasons_sport_id_sports_id_fk",
|
||||||
|
"tableFrom": "sports_seasons",
|
||||||
|
"tableTo": "sports",
|
||||||
|
"columnsFrom": [
|
||||||
|
"sport_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.teams": {
|
||||||
|
"name": "teams",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"season_id": {
|
||||||
|
"name": "season_id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"name": {
|
||||||
|
"name": "name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"owner_id": {
|
||||||
|
"name": "owner_id",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {
|
||||||
|
"teams_season_id_seasons_id_fk": {
|
||||||
|
"name": "teams_season_id_seasons_id_fk",
|
||||||
|
"tableFrom": "teams",
|
||||||
|
"tableTo": "seasons",
|
||||||
|
"columnsFrom": [
|
||||||
|
"season_id"
|
||||||
|
],
|
||||||
|
"columnsTo": [
|
||||||
|
"id"
|
||||||
|
],
|
||||||
|
"onDelete": "cascade",
|
||||||
|
"onUpdate": "no action"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
},
|
||||||
|
"public.users": {
|
||||||
|
"name": "users",
|
||||||
|
"schema": "",
|
||||||
|
"columns": {
|
||||||
|
"id": {
|
||||||
|
"name": "id",
|
||||||
|
"type": "uuid",
|
||||||
|
"primaryKey": true,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "gen_random_uuid()"
|
||||||
|
},
|
||||||
|
"clerk_id": {
|
||||||
|
"name": "clerk_id",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"email": {
|
||||||
|
"name": "email",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true
|
||||||
|
},
|
||||||
|
"display_name": {
|
||||||
|
"name": "display_name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"first_name": {
|
||||||
|
"name": "first_name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"last_name": {
|
||||||
|
"name": "last_name",
|
||||||
|
"type": "varchar(255)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"image_url": {
|
||||||
|
"name": "image_url",
|
||||||
|
"type": "varchar(512)",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": false
|
||||||
|
},
|
||||||
|
"is_admin": {
|
||||||
|
"name": "is_admin",
|
||||||
|
"type": "boolean",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"created_at": {
|
||||||
|
"name": "created_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
},
|
||||||
|
"updated_at": {
|
||||||
|
"name": "updated_at",
|
||||||
|
"type": "timestamp",
|
||||||
|
"primaryKey": false,
|
||||||
|
"notNull": true,
|
||||||
|
"default": "now()"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"indexes": {},
|
||||||
|
"foreignKeys": {},
|
||||||
|
"compositePrimaryKeys": {},
|
||||||
|
"uniqueConstraints": {
|
||||||
|
"users_clerk_id_unique": {
|
||||||
|
"name": "users_clerk_id_unique",
|
||||||
|
"nullsNotDistinct": false,
|
||||||
|
"columns": [
|
||||||
|
"clerk_id"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"policies": {},
|
||||||
|
"checkConstraints": {},
|
||||||
|
"isRLSEnabled": false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"enums": {
|
||||||
|
"public.scoring_type": {
|
||||||
|
"name": "scoring_type",
|
||||||
|
"schema": "public",
|
||||||
|
"values": [
|
||||||
|
"playoffs",
|
||||||
|
"regular_season",
|
||||||
|
"majors"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"public.season_status": {
|
||||||
|
"name": "season_status",
|
||||||
|
"schema": "public",
|
||||||
|
"values": [
|
||||||
|
"pre_draft",
|
||||||
|
"draft",
|
||||||
|
"active",
|
||||||
|
"completed"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"public.sport_type": {
|
||||||
|
"name": "sport_type",
|
||||||
|
"schema": "public",
|
||||||
|
"values": [
|
||||||
|
"team",
|
||||||
|
"individual"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"public.sports_season_status": {
|
||||||
|
"name": "sports_season_status",
|
||||||
|
"schema": "public",
|
||||||
|
"values": [
|
||||||
|
"upcoming",
|
||||||
|
"active",
|
||||||
|
"completed"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"schemas": {},
|
||||||
|
"sequences": {},
|
||||||
|
"roles": {},
|
||||||
|
"policies": {},
|
||||||
|
"views": {},
|
||||||
|
"_meta": {
|
||||||
|
"columns": {},
|
||||||
|
"schemas": {},
|
||||||
|
"tables": {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -64,6 +64,13 @@
|
||||||
"when": 1760375514773,
|
"when": 1760375514773,
|
||||||
"tag": "0008_salty_trauma",
|
"tag": "0008_salty_trauma",
|
||||||
"breakpoints": true
|
"breakpoints": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"idx": 9,
|
||||||
|
"version": "7",
|
||||||
|
"when": 1760392647508,
|
||||||
|
"tag": "0009_fuzzy_korvac",
|
||||||
|
"breakpoints": true
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
Loading…
Add table
Reference in a new issue