diff --git a/src/app/(app)/(pages)/about/components/TeamSection.tsx b/src/app/(app)/(pages)/about/components/TeamSection.tsx deleted file mode 100644 index a6be65cf..00000000 --- a/src/app/(app)/(pages)/about/components/TeamSection.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import Image from "next/image"; - -interface TeamMember { - role: string; - name: string; - pronouns?: string; - image?: string; -} - -interface Props { - title: string; - members: TeamMember[]; -} - -export default function TeamSection(props: Props) { - return ( -
-

{props.title}

-
- {props.members.map((member) => ( -
-
- {member.name} -
-
-

{member.name}

- {member.pronouns && ({member.pronouns})} -
-

{member.role}

-
- ))} -
-
- ); -} diff --git a/src/app/(app)/(pages)/about/page.tsx b/src/app/(app)/(pages)/about/page.tsx index 5cf58f19..94a7c83f 100644 --- a/src/app/(app)/(pages)/about/page.tsx +++ b/src/app/(app)/(pages)/about/page.tsx @@ -1,87 +1,92 @@ -import TeamSection from "./components/TeamSection"; -import Hr from "../../components/Hr"; -import Image from "next/image"; -import { Metadata } from "next"; +import { RefreshRouteOnSave } from "@/app/(app)/components/RefreshRouteOnSave"; +import { Fragment } from "react"; +import { getPayloadClient } from "@/payloadClient"; import { getPageFromCMS } from "@/lib/getPageFromCMS"; +import { Metadata } from "next"; +import { RichText } from "@payloadcms/richtext-lexical/react"; +import { SerializedEditorState } from "@payloadcms/richtext-lexical/lexical"; +import Image from "next/image"; +import Hr from "../../components/Hr"; +import styles from "./styles.module.css"; +import { About, Media } from "@/payload-types"; -const teams = { - leadership: [ - { role: "Senior Advisor", name: "Charlotte Rotstein", pronouns: "she/they", image: "/team/charlotte.webp" }, - { role: "Co-President", name: "Kristie Lam", pronouns: "she/her", image: "/team/kristie.webp" }, - { role: "Co-President", name: "Abbie Carnahan", pronouns: "she/her", image: "/team/abbie.webp" }, - ], - events: [ - { role: "Events Coordinator", name: "Catherine McCourt ", pronouns: "she/her", image: "/team/catherine.webp" }, - { role: "Events Coordinator", name: "Sandrine Huard", pronouns: "she/her", image: "/team/sandrine.webp" }, - ], - finance: [ - { role: "Sponsorship Coordinator", name: "Julia Rotiroti", pronouns: "she/her", image: "/team/julia.webp" }, - { role: "Finance Coordinator", name: "Christina Huan", pronouns: "she/her", image: "/team/christina.webp" }, - ], - marketing: [ - { role: "Social Media Coordinator", name: "Amanda Borja", pronouns: "she/her" }, - { role: "Marketing & Outreach Coordinator", name: "Paige Metcalf", pronouns: "she/her", image: "/team/paige.webp" }, - { role: "TikTok & Video Content Creator", name: "Naomi Harmel", pronouns: "she/her", image: "/team/naomi.webp" }, - ], - website: [ - { role: "Website Content Creator", name: "Julie Burke", pronouns: "she/her", image: "/team/julie.webp" }, - { role: "Website Developer", name: "Atlas Gong", pronouns: "he/him", image: "/team/atlas.webp" }, - { role: "Website Developer", name: "Murad Novruzov", pronouns: "he/him", image: "/team/murad.webp" }, - ], - content: [ - { role: "Newsletter Content Creator", name: "Gianluca Caporicci", pronouns: "he/him", image: "/team/gianluca.webp" }, - { role: "French Coordinator", name: "Alizée Cyr-Comeault", pronouns: "she/her", image: "/team/alizee.webp" }, - ], - founders: [ - { role: "Founder", name: "Safiia Abdulkadyrova", pronouns: "she/her", image: "/team/safiia-abdulkadyrova.webp" }, - { role: "Founder", name: "Lauren Harrison", pronouns: "she/her", image: "/team/lauren-harrison.webp" }, - { role: "Founder", name: "Hana Jamal", pronouns: "she/her", image: "/team/hana-jamal.webp" }, - ], -}; +type TeamMember = About["teams"][number]["members"][number]; +type TeamSection = About["teams"][number]; -export default function AboutPage() { +/** + * Inline TeamSection component – purely presentational. + */ +function TeamSection({ title, members }: TeamSection) { return ( -
- {/* Group Photo */} -
- MindVista Team -
-
-

MindVista Team 2024-2025

-

Committed to student wellness and engagement.

-
+
+

{title}

+
+ {members.map((member: TeamMember) => ( +
+
+ {(member.image +
+
+

{member.name}

+ {member.pronouns && ({member.pronouns})} +

{member.role}

+
+
+ ))}
+
+ ); +} + +export default async function AboutPage() { + // Fetch the global "about" content from Payload + const content = await (await getPayloadClient()).findGlobal({ slug: "about" }); - {/* About Content */} -
-

About MindVista's Initiative

+ const groupPhotoUrl = (content?.groupPhoto as Media)?.url; -

Established in 2023, MindVista emerged from the collaborative as part of the Integrated Management Student Fellowship (IMSF) at McGill University. Rooted in a commitment to enhancing mental wellness, our group functions as a student, volunteer-run initiative that envisions a holistic approach to fostering well-being for every McGill student.

+ return ( + + +
+
+ {/* Hero Section */} +
+ {/* Add "group" class here so children can use group-hover */} +
+ {groupPhotoUrl ? MindVista Team :
Error: Group photo is not set in Payload.
} +
+
+

MindVista Team 2024-2025

+

Committed to student wellness and engagement.

+
+
+
-

Dedicated to creating a positive impact on campus mental health, MindVista provides a range of initiatives, including:

+
-
    -
  • Comprehensive Mental Wellness Resources
  • -
  • Club Directory for Increased Engagement
  • -
  • Weekly Wellness Newsletter
  • -
  • Host Wellness Events
  • -
  • Wellness Challenges and Giveaways with Epic Rewards
  • -
+ {/* Introduction Section */} +
+
+ +
+
-

Join MindVista on our mission to cultivate a campus culture that prioritizes mental wellness and fosters a sense of community among McGill students. Together, let's embark on a journey towards a healthier and more connected student experience.

-
+
-
+ {/* Initiative Details Section */} +
+
+ +
+
- {/* Photos sectioned by Team */} - - - - - - - -
+
+ + {/* Team Sections */} + {content?.teams?.map((team, index) => )} +
+
+ ); } diff --git a/src/app/(app)/(pages)/about/styles.module.css b/src/app/(app)/(pages)/about/styles.module.css new file mode 100644 index 00000000..88b5e9ef --- /dev/null +++ b/src/app/(app)/(pages)/about/styles.module.css @@ -0,0 +1,130 @@ +/* Container for the entire page */ +.container { + @apply mx-auto max-w-7xl px-6 pb-12 pt-20; +} + +/* Main content wrapper */ +.mainContent { + @apply relative; +} + +/* Section spacing */ +.section { + @apply mb-16; +} + +/* Hero Section styles */ +.heroSection { + /* Additional adjustments if needed can be added here */ +} + +/* Wrapper for the hero image (group photo container) */ +.heroImageWrapper { + @apply relative mb-16 aspect-[16/9] w-full overflow-hidden rounded-xl shadow-lg transition-all duration-300; +} + +/* Hero image styling */ +.heroImage { + @apply h-full w-full object-cover brightness-90 transition-transform duration-500 group-hover:scale-105 group-hover:brightness-100; +} + +/* Purple-to-blue overlay that appears on hover */ +.heroOverlay { + @apply absolute inset-0 bg-gradient-to-r from-purple-500/20 to-blue-500/20 opacity-0 transition-opacity duration-500 group-hover:opacity-100; +} + +/* Caption area at the bottom with dark background */ +.heroCaption { + @apply absolute bottom-0 left-0 right-0 bg-black/40 p-4 text-white opacity-0 transition-opacity duration-500 group-hover:opacity-100; +} + +/* Caption title text */ +.heroCaptionTitle { + @apply text-xl font-semibold; +} + +/* Caption subtitle text */ +.heroCaptionSubtitle { + @apply text-sm; +} + +/* Text content container for various sections */ +.textContent { + @apply space-y-4; +} + +/* Page title styling */ +.title { + @apply mb-4 bg-gradient-to-r from-purple-500 to-blue-400 bg-clip-text text-center text-3xl font-bold text-transparent md:text-4xl dark:from-purple-400 dark:to-blue-300; +} + +/* Subtitle styling */ +.subtitle { + @apply text-base font-medium leading-relaxed text-cTextOffset; +} + +/* ------------------- */ +/* Team Section Styles */ +/* ------------------- */ + +/* Container for each team section */ +.teamSection { + @apply mb-16; +} + +/* Team section title styling */ +.teamTitle { + @apply mb-8 text-center text-3xl font-bold text-cText; +} + +/* Grid layout for team member cards */ +.teamGrid { + @apply flex flex-wrap justify-center gap-8; +} + +/* Individual team card styling */ +.teamCard { + @apply flex w-full flex-col items-center rounded-xl bg-cBackgroundOffset p-6 text-center shadow-lg; +} + +@media (min-width: 640px) { + .teamCard { + width: calc(50% - 1rem); + } +} + +@media (min-width: 1024px) { + .teamCard { + width: calc(33.333% - 1rem); + } +} + +/* Wrapper for the team member image */ +.teamImageWrapper { + @apply mb-4 h-40 w-40 overflow-hidden rounded-full; +} + +/* Team member image styling */ +.teamImage { + @apply h-full w-full object-cover; +} + +/* Container for team member information */ +.memberInfo { + @apply flex flex-col items-center; +} + +/* Team member name styling */ +.memberName { + @apply text-xl font-semibold text-cText; +} + +/* Team member pronouns styling */ +.memberPronouns { + @apply ml-1 text-sm italic text-cTextOffset; +} + +/* Team member role styling */ +.memberRole { + @apply font-medium text-cTextOffset; +} diff --git a/src/globals/AboutPage.ts b/src/globals/AboutPage.ts new file mode 100644 index 00000000..de805e1c --- /dev/null +++ b/src/globals/AboutPage.ts @@ -0,0 +1,196 @@ +import type { GlobalConfig } from "payload"; +import { canEditContent, canEditFrenchContent, denyAccessField } from "@lib/access"; +import { revalidatePath } from "next/cache"; + +export const AboutPage: GlobalConfig = { + slug: "about", + admin: { + group: "Static Content", + preview: () => `${process.env.NEXT_PUBLIC_SERVER_URL}/about`, + livePreview: { + url: `${process.env.NEXT_PUBLIC_SERVER_URL}/about`, + }, + }, + versions: { + max: 25, + drafts: true, + }, + hooks: { + afterChange: [ + () => { + revalidatePath("/about"); + }, + ], + }, + fields: [ + { + name: "page", + required: true, + type: "relationship", + relationTo: "pages", + access: { + update: denyAccessField, + }, + }, + { + name: "groupPhoto", + label: "Group Photo", + type: "upload", + relationTo: "media", + required: false, + access: { + update: canEditContent, + }, + }, + { + // From requested changes: caption for group photo added + name: "groupPhotoCaption", + label: "Group Photo Caption", + type: "text", + required: false, + access: { + update: canEditContent, + }, + }, + { + name: "title", + label: "Page Title (EN)", + type: "text", + required: true, + access: { + update: canEditContent, + }, + }, + { + // // From requested changes: fr support added + name: "titleFr", + label: "Page Title (FR)", + type: "text", + required: false, + access: { + read: canEditFrenchContent, + update: canEditFrenchContent, + }, + }, + { + name: "introduction", + label: "Introduction - En", + type: "richText", + required: true, + access: { + update: canEditContent, + }, + }, + { + name: "introductionFr", + label: "Introduction - Fr", + type: "richText", + required: false, + access: { + read: canEditFrenchContent, + update: canEditFrenchContent, + }, + }, + { + name: "initiativeDetails", + label: "Initiative Details - En", + type: "richText", + required: true, + access: { + update: canEditContent, + }, + }, + { + name: "initiativeDetailsFr", + label: "Initiative Details - Fr", + type: "richText", + required: false, + access: { + read: canEditFrenchContent, + update: canEditFrenchContent, + }, + }, + { + name: "teams", + label: "Team Sections", + type: "array", + required: true, + fields: [ + { + name: "title", + label: "Team Section Title (EN)", + type: "text", + required: true, + access: { + update: canEditContent, + }, + }, + { + name: "titleFr", + label: "Team Section Title (FR)", + type: "text", + required: false, + access: { + read: canEditFrenchContent, + update: canEditFrenchContent, + }, + }, + { + name: "members", + label: "Team Members", + type: "array", + required: true, + fields: [ + { + name: "role", + label: "Role (EN)", + type: "text", + required: true, + access: { + update: canEditContent, + }, + }, + { + name: "roleFr", + label: "Role (FR)", + type: "text", + required: false, + access: { + read: canEditFrenchContent, + update: canEditFrenchContent, + }, + }, + { + name: "name", + label: "Name", + type: "text", + required: true, + access: { + update: canEditContent, + }, + }, + { + name: "pronouns", + label: "Pronouns", + type: "text", + required: false, + access: { + update: canEditContent, + }, + }, + { + name: "image", + label: "Profile Image", + type: "upload", + relationTo: "media", + required: false, + access: { + update: canEditContent, + }, + }, + ], + }, + ], + }, + ], +}; diff --git a/src/migrations/20250525_183845_about_pg.json b/src/migrations/20250525_183845_about_pg.json new file mode 100644 index 00000000..f2055076 --- /dev/null +++ b/src/migrations/20250525_183845_about_pg.json @@ -0,0 +1,6144 @@ +{ + "id": "016986c6-0c85-417b-b02a-3bb7645a8b89", + "prevId": "00000000-0000-0000-0000-000000000000", + "version": "7", + "dialect": "postgresql", + "tables": { + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "full_name": { + "name": "full_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "enum_users_role", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'contentEditor'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_email_idx": { + "name": "users_email_idx", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "alt_fr": { + "name": "alt_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "purpose": { + "name": "purpose", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "prefix": { + "name": "prefix", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'media'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "thumbnail_u_r_l": { + "name": "thumbnail_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filename": { + "name": "filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "mime_type": { + "name": "mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "filesize": { + "name": "filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "height": { + "name": "height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_x": { + "name": "focal_x", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "focal_y": { + "name": "focal_y", + "type": "numeric", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_updated_at_idx": { + "name": "media_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_created_at_idx": { + "name": "media_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_filename_idx": { + "name": "media_filename_idx", + "columns": [ + { + "expression": "filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages": { + "name": "pages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_description": { + "name": "seo_description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "seo_description_fr": { + "name": "seo_description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "pages_slug_idx": { + "name": "pages_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_updated_at_idx": { + "name": "pages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_created_at_idx": { + "name": "pages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.legal": { + "name": "legal", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "content_fr": { + "name": "content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "_status": { + "name": "_status", + "type": "enum_legal_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + } + }, + "indexes": { + "legal_page_idx": { + "name": "legal_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "legal_updated_at_idx": { + "name": "legal_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "legal_created_at_idx": { + "name": "legal_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "legal__status_idx": { + "name": "legal__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "legal_page_id_pages_id_fk": { + "name": "legal_page_id_pages_id_fk", + "tableFrom": "legal", + "tableTo": "pages", + "columnsFrom": ["page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._legal_v": { + "name": "_legal_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_page_id": { + "name": "version_page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_content": { + "name": "version_content", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_content_fr": { + "name": "version_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__legal_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_legal_v_parent_idx": { + "name": "_legal_v_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_version_version_page_idx": { + "name": "_legal_v_version_version_page_idx", + "columns": [ + { + "expression": "version_page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_version_version_updated_at_idx": { + "name": "_legal_v_version_version_updated_at_idx", + "columns": [ + { + "expression": "version_updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_version_version_created_at_idx": { + "name": "_legal_v_version_version_created_at_idx", + "columns": [ + { + "expression": "version_created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_version_version__status_idx": { + "name": "_legal_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_created_at_idx": { + "name": "_legal_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_updated_at_idx": { + "name": "_legal_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_legal_v_latest_idx": { + "name": "_legal_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_legal_v_parent_id_legal_id_fk": { + "name": "_legal_v_parent_id_legal_id_fk", + "tableFrom": "_legal_v", + "tableTo": "legal", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_legal_v_version_page_id_pages_id_fk": { + "name": "_legal_v_version_page_id_pages_id_fk", + "tableFrom": "_legal_v", + "tableTo": "pages", + "columnsFrom": ["version_page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.events_date_ranges": { + "name": "events_date_ranges", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "end_date": { + "name": "end_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "events_date_ranges_order_idx": { + "name": "events_date_ranges_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_date_ranges_parent_id_idx": { + "name": "events_date_ranges_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_date_ranges_start_date_idx": { + "name": "events_date_ranges_start_date_idx", + "columns": [ + { + "expression": "start_date", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_date_ranges_end_date_idx": { + "name": "events_date_ranges_end_date_idx", + "columns": [ + { + "expression": "end_date", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "events_date_ranges_parent_id_fk": { + "name": "events_date_ranges_parent_id_fk", + "tableFrom": "events_date_ranges", + "tableTo": "events", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.events": { + "name": "events", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "incentive": { + "name": "incentive", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "incentive_fr": { + "name": "incentive_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "limited_availability": { + "name": "limited_availability", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "is_chance": { + "name": "is_chance", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "location": { + "name": "location", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "location_fr": { + "name": "location_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location_link": { + "name": "location_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sign_up_link": { + "name": "sign_up_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "instagram_post": { + "name": "instagram_post", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_id": { + "name": "graphic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "events_slug_idx": { + "name": "events_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_graphic_idx": { + "name": "events_graphic_idx", + "columns": [ + { + "expression": "graphic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_updated_at_idx": { + "name": "events_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "events_created_at_idx": { + "name": "events_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "events_graphic_id_media_id_fk": { + "name": "events_graphic_id_media_id_fk", + "tableFrom": "events", + "tableTo": "media", + "columnsFrom": ["graphic_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.clubs_other_socials": { + "name": "clubs_other_socials", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "clubs_other_socials_order_idx": { + "name": "clubs_other_socials_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_other_socials_parent_id_idx": { + "name": "clubs_other_socials_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "clubs_other_socials_parent_id_fk": { + "name": "clubs_other_socials_parent_id_fk", + "tableFrom": "clubs_other_socials", + "tableTo": "clubs", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.clubs": { + "name": "clubs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "website": { + "name": "website", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "newsletter": { + "name": "newsletter", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "phone_number": { + "name": "phone_number", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "facebook": { + "name": "facebook", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "instagram": { + "name": "instagram", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_title": { + "name": "graphic_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_title_fr": { + "name": "graphic_title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_id": { + "name": "graphic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "currently_active": { + "name": "currently_active", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "clubs_slug_idx": { + "name": "clubs_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_graphic_idx": { + "name": "clubs_graphic_idx", + "columns": [ + { + "expression": "graphic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_updated_at_idx": { + "name": "clubs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_created_at_idx": { + "name": "clubs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "clubs_graphic_id_media_id_fk": { + "name": "clubs_graphic_id_media_id_fk", + "tableFrom": "clubs", + "tableTo": "media", + "columnsFrom": ["graphic_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.clubs_rels": { + "name": "clubs_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "club_tags_id": { + "name": "club_tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "clubs_rels_order_idx": { + "name": "clubs_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_rels_parent_idx": { + "name": "clubs_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_rels_path_idx": { + "name": "clubs_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "clubs_rels_club_tags_id_idx": { + "name": "clubs_rels_club_tags_id_idx", + "columns": [ + { + "expression": "club_tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "clubs_rels_parent_fk": { + "name": "clubs_rels_parent_fk", + "tableFrom": "clubs_rels", + "tableTo": "clubs", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "clubs_rels_club_tags_fk": { + "name": "clubs_rels_club_tags_fk", + "tableFrom": "clubs_rels", + "tableTo": "club_tags", + "columnsFrom": ["club_tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources_insurance_providers_insurance_provider": { + "name": "resources_insurance_providers_insurance_provider", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "name_fr": { + "name": "name_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "resources_insurance_providers_insurance_provider_order_idx": { + "name": "resources_insurance_providers_insurance_provider_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_insurance_providers_insurance_provider_parent_id_idx": { + "name": "resources_insurance_providers_insurance_provider_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_insurance_providers_insurance_provider_parent_id_fk": { + "name": "resources_insurance_providers_insurance_provider_parent_id_fk", + "tableFrom": "resources_insurance_providers_insurance_provider", + "tableTo": "resources_insurance_providers", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources_insurance_providers": { + "name": "resources_insurance_providers", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "resources_insurance_providers_order_idx": { + "name": "resources_insurance_providers_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_insurance_providers_parent_id_idx": { + "name": "resources_insurance_providers_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_insurance_providers_parent_id_fk": { + "name": "resources_insurance_providers_parent_id_fk", + "tableFrom": "resources_insurance_providers", + "tableTo": "resources", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources": { + "name": "resources", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "website": { + "name": "website", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "newsletter": { + "name": "newsletter", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "insurance_details": { + "name": "insurance_details", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "insurance_detail_fr": { + "name": "insurance_detail_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "phone_number": { + "name": "phone_number", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location": { + "name": "location", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "location_fr": { + "name": "location_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "channel_online": { + "name": "channel_online", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "channel_telephone": { + "name": "channel_telephone", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "channel_in_person": { + "name": "channel_in_person", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "on_campus": { + "name": "on_campus", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "graphic_title": { + "name": "graphic_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_title_fr": { + "name": "graphic_title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "graphic_id": { + "name": "graphic_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "currently_active": { + "name": "currently_active", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resources_slug_idx": { + "name": "resources_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_graphic_idx": { + "name": "resources_graphic_idx", + "columns": [ + { + "expression": "graphic_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_updated_at_idx": { + "name": "resources_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_created_at_idx": { + "name": "resources_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_graphic_id_media_id_fk": { + "name": "resources_graphic_id_media_id_fk", + "tableFrom": "resources", + "tableTo": "media", + "columnsFrom": ["graphic_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resources_rels": { + "name": "resources_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "resource_tags_id": { + "name": "resource_tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "resources_rels_order_idx": { + "name": "resources_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_rels_parent_idx": { + "name": "resources_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_rels_path_idx": { + "name": "resources_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resources_rels_resource_tags_id_idx": { + "name": "resources_rels_resource_tags_id_idx", + "columns": [ + { + "expression": "resource_tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resources_rels_parent_fk": { + "name": "resources_rels_parent_fk", + "tableFrom": "resources_rels", + "tableTo": "resources", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "resources_rels_resource_tags_fk": { + "name": "resources_rels_resource_tags_fk", + "tableFrom": "resources_rels", + "tableTo": "resource_tags", + "columnsFrom": ["resource_tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.club_tag_categories": { + "name": "club_tag_categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "club_tag_categories_updated_at_idx": { + "name": "club_tag_categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "club_tag_categories_created_at_idx": { + "name": "club_tag_categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_tag_categories": { + "name": "resource_tag_categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resource_tag_categories_updated_at_idx": { + "name": "resource_tag_categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_tag_categories_created_at_idx": { + "name": "resource_tag_categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.club_tags": { + "name": "club_tags", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "club_tags_category_idx": { + "name": "club_tags_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "club_tags_updated_at_idx": { + "name": "club_tags_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "club_tags_created_at_idx": { + "name": "club_tags_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "club_tags_category_id_club_tag_categories_id_fk": { + "name": "club_tags_category_id_club_tag_categories_id_fk", + "tableFrom": "club_tags", + "tableTo": "club_tag_categories", + "columnsFrom": ["category_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.resource_tags": { + "name": "resource_tags", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "resource_tags_category_idx": { + "name": "resource_tags_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_tags_updated_at_idx": { + "name": "resource_tags_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "resource_tags_created_at_idx": { + "name": "resource_tags_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "resource_tags_category_id_resource_tag_categories_id_fk": { + "name": "resource_tags_category_id_resource_tag_categories_id_fk", + "tableFrom": "resource_tags", + "tableTo": "resource_tag_categories", + "columnsFrom": ["category_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.audit_log": { + "name": "audit_log", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "timestamp": { + "name": "timestamp", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + }, + "operation": { + "name": "operation", + "type": "enum_audit_log_operation", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "resource_u_r_l": { + "name": "resource_u_r_l", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "document_id": { + "name": "document_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "previous_version_id": { + "name": "previous_version_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "audit_log_user_idx": { + "name": "audit_log_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_updated_at_idx": { + "name": "audit_log_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_log_created_at_idx": { + "name": "audit_log_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "audit_log_user_id_users_id_fk": { + "name": "audit_log_user_id_users_id_fk", + "tableFrom": "audit_log", + "tableTo": "users", + "columnsFrom": ["user_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents": { + "name": "payload_locked_documents", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "pages_id": { + "name": "pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "legal_id": { + "name": "legal_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "events_id": { + "name": "events_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "clubs_id": { + "name": "clubs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resources_id": { + "name": "resources_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "club_tag_categories_id": { + "name": "club_tag_categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resource_tag_categories_id": { + "name": "resource_tag_categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "club_tags_id": { + "name": "club_tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "resource_tags_id": { + "name": "resource_tags_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "audit_log_id": { + "name": "audit_log_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_pages_id_idx": { + "name": "payload_locked_documents_rels_pages_id_idx", + "columns": [ + { + "expression": "pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_legal_id_idx": { + "name": "payload_locked_documents_rels_legal_id_idx", + "columns": [ + { + "expression": "legal_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_events_id_idx": { + "name": "payload_locked_documents_rels_events_id_idx", + "columns": [ + { + "expression": "events_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_clubs_id_idx": { + "name": "payload_locked_documents_rels_clubs_id_idx", + "columns": [ + { + "expression": "clubs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resources_id_idx": { + "name": "payload_locked_documents_rels_resources_id_idx", + "columns": [ + { + "expression": "resources_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_club_tag_categories_id_idx": { + "name": "payload_locked_documents_rels_club_tag_categories_id_idx", + "columns": [ + { + "expression": "club_tag_categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resource_tag_categories_id_idx": { + "name": "payload_locked_documents_rels_resource_tag_categories_id_idx", + "columns": [ + { + "expression": "resource_tag_categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_club_tags_id_idx": { + "name": "payload_locked_documents_rels_club_tags_id_idx", + "columns": [ + { + "expression": "club_tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_resource_tags_id_idx": { + "name": "payload_locked_documents_rels_resource_tags_id_idx", + "columns": [ + { + "expression": "resource_tags_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_audit_log_id_idx": { + "name": "payload_locked_documents_rels_audit_log_id_idx", + "columns": [ + { + "expression": "audit_log_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": ["users_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": ["media_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_pages_fk": { + "name": "payload_locked_documents_rels_pages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "pages", + "columnsFrom": ["pages_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_legal_fk": { + "name": "payload_locked_documents_rels_legal_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "legal", + "columnsFrom": ["legal_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_events_fk": { + "name": "payload_locked_documents_rels_events_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "events", + "columnsFrom": ["events_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_clubs_fk": { + "name": "payload_locked_documents_rels_clubs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "clubs", + "columnsFrom": ["clubs_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resources_fk": { + "name": "payload_locked_documents_rels_resources_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resources", + "columnsFrom": ["resources_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_club_tag_categories_fk": { + "name": "payload_locked_documents_rels_club_tag_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "club_tag_categories", + "columnsFrom": ["club_tag_categories_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resource_tag_categories_fk": { + "name": "payload_locked_documents_rels_resource_tag_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resource_tag_categories", + "columnsFrom": ["resource_tag_categories_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_club_tags_fk": { + "name": "payload_locked_documents_rels_club_tags_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "club_tags", + "columnsFrom": ["club_tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_resource_tags_fk": { + "name": "payload_locked_documents_rels_resource_tags_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "resource_tags", + "columnsFrom": ["resource_tags_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_audit_log_fk": { + "name": "payload_locked_documents_rels_audit_log_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "audit_log", + "columnsFrom": ["audit_log_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": ["parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": ["users_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.about_teams_members": { + "name": "about_teams_members", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "role": { + "name": "role", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "role_fr": { + "name": "role_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "pronouns": { + "name": "pronouns", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "about_teams_members_order_idx": { + "name": "about_teams_members_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "about_teams_members_parent_id_idx": { + "name": "about_teams_members_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "about_teams_members_image_idx": { + "name": "about_teams_members_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "about_teams_members_image_id_media_id_fk": { + "name": "about_teams_members_image_id_media_id_fk", + "tableFrom": "about_teams_members", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "about_teams_members_parent_id_fk": { + "name": "about_teams_members_parent_id_fk", + "tableFrom": "about_teams_members", + "tableTo": "about_teams", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.about_teams": { + "name": "about_teams", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "about_teams_order_idx": { + "name": "about_teams_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "about_teams_parent_id_idx": { + "name": "about_teams_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "about_teams_parent_id_fk": { + "name": "about_teams_parent_id_fk", + "tableFrom": "about_teams", + "tableTo": "about", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.about": { + "name": "about", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "group_photo_id": { + "name": "group_photo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "group_photo_caption": { + "name": "group_photo_caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "introduction": { + "name": "introduction", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "introduction_fr": { + "name": "introduction_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "initiative_details": { + "name": "initiative_details", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "initiative_details_fr": { + "name": "initiative_details_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "_status": { + "name": "_status", + "type": "enum_about_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "about_page_idx": { + "name": "about_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "about_group_photo_idx": { + "name": "about_group_photo_idx", + "columns": [ + { + "expression": "group_photo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "about__status_idx": { + "name": "about__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "about_page_id_pages_id_fk": { + "name": "about_page_id_pages_id_fk", + "tableFrom": "about", + "tableTo": "pages", + "columnsFrom": ["page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "about_group_photo_id_media_id_fk": { + "name": "about_group_photo_id_media_id_fk", + "tableFrom": "about", + "tableTo": "media", + "columnsFrom": ["group_photo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._about_v_version_teams_members": { + "name": "_about_v_version_teams_members", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "role": { + "name": "role", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "role_fr": { + "name": "role_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "pronouns": { + "name": "pronouns", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_about_v_version_teams_members_order_idx": { + "name": "_about_v_version_teams_members_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_version_teams_members_parent_id_idx": { + "name": "_about_v_version_teams_members_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_version_teams_members_image_idx": { + "name": "_about_v_version_teams_members_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_about_v_version_teams_members_image_id_media_id_fk": { + "name": "_about_v_version_teams_members_image_id_media_id_fk", + "tableFrom": "_about_v_version_teams_members", + "tableTo": "media", + "columnsFrom": ["image_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_about_v_version_teams_members_parent_id_fk": { + "name": "_about_v_version_teams_members_parent_id_fk", + "tableFrom": "_about_v_version_teams_members", + "tableTo": "_about_v_version_teams", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._about_v_version_teams": { + "name": "_about_v_version_teams", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_about_v_version_teams_order_idx": { + "name": "_about_v_version_teams_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_version_teams_parent_id_idx": { + "name": "_about_v_version_teams_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_about_v_version_teams_parent_id_fk": { + "name": "_about_v_version_teams_parent_id_fk", + "tableFrom": "_about_v_version_teams", + "tableTo": "_about_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._about_v": { + "name": "_about_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "version_page_id": { + "name": "version_page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_group_photo_id": { + "name": "version_group_photo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_group_photo_caption": { + "name": "version_group_photo_caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_title": { + "name": "version_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_title_fr": { + "name": "version_title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_introduction": { + "name": "version_introduction", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_introduction_fr": { + "name": "version_introduction_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_initiative_details": { + "name": "version_initiative_details", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_initiative_details_fr": { + "name": "version_initiative_details_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__about_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_about_v_version_version_page_idx": { + "name": "_about_v_version_version_page_idx", + "columns": [ + { + "expression": "version_page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_version_version_group_photo_idx": { + "name": "_about_v_version_version_group_photo_idx", + "columns": [ + { + "expression": "version_group_photo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_version_version__status_idx": { + "name": "_about_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_created_at_idx": { + "name": "_about_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_updated_at_idx": { + "name": "_about_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_about_v_latest_idx": { + "name": "_about_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_about_v_version_page_id_pages_id_fk": { + "name": "_about_v_version_page_id_pages_id_fk", + "tableFrom": "_about_v", + "tableTo": "pages", + "columnsFrom": ["version_page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_about_v_version_group_photo_id_media_id_fk": { + "name": "_about_v_version_group_photo_id_media_id_fk", + "tableFrom": "_about_v", + "tableTo": "media", + "columnsFrom": ["version_group_photo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.holistic_wellness_wellness_wheel_dimensions": { + "name": "holistic_wellness_wellness_wheel_dimensions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "name_fr": { + "name": "name_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "holistic_wellness_wellness_wheel_dimensions_order_idx": { + "name": "holistic_wellness_wellness_wheel_dimensions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "holistic_wellness_wellness_wheel_dimensions_parent_id_idx": { + "name": "holistic_wellness_wellness_wheel_dimensions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "holistic_wellness_wellness_wheel_dimensions_parent_id_fk": { + "name": "holistic_wellness_wellness_wheel_dimensions_parent_id_fk", + "tableFrom": "holistic_wellness_wellness_wheel_dimensions", + "tableTo": "holistic_wellness", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.holistic_wellness_sections": { + "name": "holistic_wellness_sections", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "content_fr": { + "name": "content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "holistic_wellness_sections_order_idx": { + "name": "holistic_wellness_sections_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "holistic_wellness_sections_parent_id_idx": { + "name": "holistic_wellness_sections_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "holistic_wellness_sections_parent_id_fk": { + "name": "holistic_wellness_sections_parent_id_fk", + "tableFrom": "holistic_wellness_sections", + "tableTo": "holistic_wellness", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.holistic_wellness": { + "name": "holistic_wellness", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "hero_content": { + "name": "hero_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "hero_content_fr": { + "name": "hero_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "wellness_wheel_top_content": { + "name": "wellness_wheel_top_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "wellness_wheel_top_content_fr": { + "name": "wellness_wheel_top_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "wellness_wheel_bottom_content": { + "name": "wellness_wheel_bottom_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "wellness_wheel_bottom_content_fr": { + "name": "wellness_wheel_bottom_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "holistic_wellness_page_idx": { + "name": "holistic_wellness_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "holistic_wellness_page_id_pages_id_fk": { + "name": "holistic_wellness_page_id_pages_id_fk", + "tableFrom": "holistic_wellness", + "tableTo": "pages", + "columnsFrom": ["page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._holistic_wellness_v_version_wellness_wheel_dimensions": { + "name": "_holistic_wellness_v_version_wellness_wheel_dimensions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "name_fr": { + "name": "name_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_holistic_wellness_v_version_wellness_wheel_dimensions_order_idx": { + "name": "_holistic_wellness_v_version_wellness_wheel_dimensions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_holistic_wellness_v_version_wellness_wheel_dimensions_parent_id_idx": { + "name": "_holistic_wellness_v_version_wellness_wheel_dimensions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_holistic_wellness_v_version_wellness_wheel_dimensions_parent_id_fk": { + "name": "_holistic_wellness_v_version_wellness_wheel_dimensions_parent_id_fk", + "tableFrom": "_holistic_wellness_v_version_wellness_wheel_dimensions", + "tableTo": "_holistic_wellness_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._holistic_wellness_v_version_sections": { + "name": "_holistic_wellness_v_version_sections", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "content_fr": { + "name": "content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_holistic_wellness_v_version_sections_order_idx": { + "name": "_holistic_wellness_v_version_sections_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_holistic_wellness_v_version_sections_parent_id_idx": { + "name": "_holistic_wellness_v_version_sections_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_holistic_wellness_v_version_sections_parent_id_fk": { + "name": "_holistic_wellness_v_version_sections_parent_id_fk", + "tableFrom": "_holistic_wellness_v_version_sections", + "tableTo": "_holistic_wellness_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._holistic_wellness_v": { + "name": "_holistic_wellness_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "version_page_id": { + "name": "version_page_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "version_hero_content": { + "name": "version_hero_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "version_hero_content_fr": { + "name": "version_hero_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_wellness_wheel_top_content": { + "name": "version_wellness_wheel_top_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "version_wellness_wheel_top_content_fr": { + "name": "version_wellness_wheel_top_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_wellness_wheel_bottom_content": { + "name": "version_wellness_wheel_bottom_content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "version_wellness_wheel_bottom_content_fr": { + "name": "version_wellness_wheel_bottom_content_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "_holistic_wellness_v_version_version_page_idx": { + "name": "_holistic_wellness_v_version_version_page_idx", + "columns": [ + { + "expression": "version_page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_holistic_wellness_v_created_at_idx": { + "name": "_holistic_wellness_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_holistic_wellness_v_updated_at_idx": { + "name": "_holistic_wellness_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_holistic_wellness_v_version_page_id_pages_id_fk": { + "name": "_holistic_wellness_v_version_page_id_pages_id_fk", + "tableFrom": "_holistic_wellness_v", + "tableTo": "pages", + "columnsFrom": ["version_page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sponsor_sponsors": { + "name": "sponsor_sponsors", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "logo_id": { + "name": "logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "sponsor_sponsors_order_idx": { + "name": "sponsor_sponsors_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sponsor_sponsors_parent_id_idx": { + "name": "sponsor_sponsors_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sponsor_sponsors_logo_idx": { + "name": "sponsor_sponsors_logo_idx", + "columns": [ + { + "expression": "logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "sponsor_sponsors_logo_id_media_id_fk": { + "name": "sponsor_sponsors_logo_id_media_id_fk", + "tableFrom": "sponsor_sponsors", + "tableTo": "media", + "columnsFrom": ["logo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "sponsor_sponsors_parent_id_fk": { + "name": "sponsor_sponsors_parent_id_fk", + "tableFrom": "sponsor_sponsors", + "tableTo": "sponsor", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.sponsor": { + "name": "sponsor", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "our_sponsors_section": { + "name": "our_sponsors_section", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "our_sponsors_section_fr": { + "name": "our_sponsors_section_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "callout": { + "name": "callout", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "callout_fr": { + "name": "callout_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sponsor_us_section": { + "name": "sponsor_us_section", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sponsor_us_section_fr": { + "name": "sponsor_us_section_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_status": { + "name": "_status", + "type": "enum_sponsor_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "sponsor_page_idx": { + "name": "sponsor_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "sponsor__status_idx": { + "name": "sponsor__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "sponsor_page_id_pages_id_fk": { + "name": "sponsor_page_id_pages_id_fk", + "tableFrom": "sponsor", + "tableTo": "pages", + "columnsFrom": ["page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._sponsor_v_version_sponsors": { + "name": "_sponsor_v_version_sponsors", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "logo_id": { + "name": "logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_sponsor_v_version_sponsors_order_idx": { + "name": "_sponsor_v_version_sponsors_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_version_sponsors_parent_id_idx": { + "name": "_sponsor_v_version_sponsors_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_version_sponsors_logo_idx": { + "name": "_sponsor_v_version_sponsors_logo_idx", + "columns": [ + { + "expression": "logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_sponsor_v_version_sponsors_logo_id_media_id_fk": { + "name": "_sponsor_v_version_sponsors_logo_id_media_id_fk", + "tableFrom": "_sponsor_v_version_sponsors", + "tableTo": "media", + "columnsFrom": ["logo_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + }, + "_sponsor_v_version_sponsors_parent_id_fk": { + "name": "_sponsor_v_version_sponsors_parent_id_fk", + "tableFrom": "_sponsor_v_version_sponsors", + "tableTo": "_sponsor_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._sponsor_v": { + "name": "_sponsor_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "version_page_id": { + "name": "version_page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_our_sponsors_section": { + "name": "version_our_sponsors_section", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_our_sponsors_section_fr": { + "name": "version_our_sponsors_section_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_callout": { + "name": "version_callout", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_callout_fr": { + "name": "version_callout_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_sponsor_us_section": { + "name": "version_sponsor_us_section", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_sponsor_us_section_fr": { + "name": "version_sponsor_us_section_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__sponsor_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_sponsor_v_version_version_page_idx": { + "name": "_sponsor_v_version_version_page_idx", + "columns": [ + { + "expression": "version_page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_version_version__status_idx": { + "name": "_sponsor_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_created_at_idx": { + "name": "_sponsor_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_updated_at_idx": { + "name": "_sponsor_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_sponsor_v_latest_idx": { + "name": "_sponsor_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_sponsor_v_version_page_id_pages_id_fk": { + "name": "_sponsor_v_version_page_id_pages_id_fk", + "tableFrom": "_sponsor_v", + "tableTo": "pages", + "columnsFrom": ["version_page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.volunteer_positions": { + "name": "volunteer_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "description_fr": { + "name": "description_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "requirements": { + "name": "requirements", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "requirements_fr": { + "name": "requirements_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "time_commitment": { + "name": "time_commitment", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "time_commitment_fr": { + "name": "time_commitment_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "date_posted": { + "name": "date_posted", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "form_link": { + "name": "form_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_open": { + "name": "is_open", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + } + }, + "indexes": { + "volunteer_positions_order_idx": { + "name": "volunteer_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "volunteer_positions_parent_id_idx": { + "name": "volunteer_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "volunteer_positions_parent_id_fk": { + "name": "volunteer_positions_parent_id_fk", + "tableFrom": "volunteer_positions", + "tableTo": "volunteer", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.volunteer": { + "name": "volunteer", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description_fr": { + "name": "description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_status": { + "name": "_status", + "type": "enum_volunteer_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "volunteer_page_idx": { + "name": "volunteer_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "volunteer__status_idx": { + "name": "volunteer__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "volunteer_page_id_pages_id_fk": { + "name": "volunteer_page_id_pages_id_fk", + "tableFrom": "volunteer", + "tableTo": "pages", + "columnsFrom": ["page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._volunteer_v_version_positions": { + "name": "_volunteer_v_version_positions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "title_fr": { + "name": "title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "description_fr": { + "name": "description_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "requirements": { + "name": "requirements", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "requirements_fr": { + "name": "requirements_fr", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "time_commitment": { + "name": "time_commitment", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "time_commitment_fr": { + "name": "time_commitment_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "date_posted": { + "name": "date_posted", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "form_link": { + "name": "form_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_open": { + "name": "is_open", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "_uuid": { + "name": "_uuid", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_volunteer_v_version_positions_order_idx": { + "name": "_volunteer_v_version_positions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_volunteer_v_version_positions_parent_id_idx": { + "name": "_volunteer_v_version_positions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_volunteer_v_version_positions_parent_id_fk": { + "name": "_volunteer_v_version_positions_parent_id_fk", + "tableFrom": "_volunteer_v_version_positions", + "tableTo": "_volunteer_v", + "columnsFrom": ["_parent_id"], + "columnsTo": ["id"], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._volunteer_v": { + "name": "_volunteer_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "version_page_id": { + "name": "version_page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "version_title": { + "name": "version_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_title_fr": { + "name": "version_title_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_description": { + "name": "version_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_description_fr": { + "name": "version_description_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__volunteer_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_volunteer_v_version_version_page_idx": { + "name": "_volunteer_v_version_version_page_idx", + "columns": [ + { + "expression": "version_page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_volunteer_v_version_version__status_idx": { + "name": "_volunteer_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_volunteer_v_created_at_idx": { + "name": "_volunteer_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_volunteer_v_updated_at_idx": { + "name": "_volunteer_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_volunteer_v_latest_idx": { + "name": "_volunteer_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "_volunteer_v_version_page_id_pages_id_fk": { + "name": "_volunteer_v_version_page_id_pages_id_fk", + "tableFrom": "_volunteer_v", + "tableTo": "pages", + "columnsFrom": ["version_page_id"], + "columnsTo": ["id"], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.announcement_bar": { + "name": "announcement_bar", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "is_enabled": { + "name": "is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "message": { + "name": "message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "message_fr": { + "name": "message_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link_text": { + "name": "link_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link_text_fr": { + "name": "link_text_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link_href": { + "name": "link_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "_status": { + "name": "_status", + "type": "enum_announcement_bar_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "announcement_bar__status_idx": { + "name": "announcement_bar__status_idx", + "columns": [ + { + "expression": "_status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public._announcement_bar_v": { + "name": "_announcement_bar_v", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "version_is_enabled": { + "name": "version_is_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "version_message": { + "name": "version_message", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_message_fr": { + "name": "version_message_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_link_text": { + "name": "version_link_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_link_text_fr": { + "name": "version_link_text_fr", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version_link_href": { + "name": "version_link_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "version__status": { + "name": "version__status", + "type": "enum__announcement_bar_v_version_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "version_updated_at": { + "name": "version_updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "version_created_at": { + "name": "version_created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "latest": { + "name": "latest", + "type": "boolean", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "_announcement_bar_v_version_version__status_idx": { + "name": "_announcement_bar_v_version_version__status_idx", + "columns": [ + { + "expression": "version__status", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_announcement_bar_v_created_at_idx": { + "name": "_announcement_bar_v_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_announcement_bar_v_updated_at_idx": { + "name": "_announcement_bar_v_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "_announcement_bar_v_latest_idx": { + "name": "_announcement_bar_v_latest_idx", + "columns": [ + { + "expression": "latest", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public.enum_users_role": { + "name": "enum_users_role", + "schema": "public", + "values": ["admin", "contentEditor", "contentEditorFr"] + }, + "public.enum_legal_status": { + "name": "enum_legal_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__legal_v_version_status": { + "name": "enum__legal_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_audit_log_operation": { + "name": "enum_audit_log_operation", + "schema": "public", + "values": ["create", "read", "update", "delete"] + }, + "public.enum_about_status": { + "name": "enum_about_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__about_v_version_status": { + "name": "enum__about_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_sponsor_status": { + "name": "enum_sponsor_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__sponsor_v_version_status": { + "name": "enum__sponsor_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_volunteer_status": { + "name": "enum_volunteer_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__volunteer_v_version_status": { + "name": "enum__volunteer_v_version_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum_announcement_bar_status": { + "name": "enum_announcement_bar_status", + "schema": "public", + "values": ["draft", "published"] + }, + "public.enum__announcement_bar_v_version_status": { + "name": "enum__announcement_bar_v_version_status", + "schema": "public", + "values": ["draft", "published"] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + } +} diff --git a/src/migrations/20250525_183845_about_pg.ts b/src/migrations/20250525_183845_about_pg.ts new file mode 100644 index 00000000..a5886b8d --- /dev/null +++ b/src/migrations/20250525_183845_about_pg.ts @@ -0,0 +1,173 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from "@payloadcms/db-postgres"; + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + CREATE TYPE "public"."enum_about_status" AS ENUM('draft', 'published'); + CREATE TYPE "public"."enum__about_v_version_status" AS ENUM('draft', 'published'); + CREATE TABLE IF NOT EXISTS "about_teams_members" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "role" varchar, + "role_fr" varchar, + "name" varchar, + "pronouns" varchar, + "image_id" integer + ); + + CREATE TABLE IF NOT EXISTS "about_teams" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "title" varchar, + "title_fr" varchar + ); + + CREATE TABLE IF NOT EXISTS "about" ( + "id" serial PRIMARY KEY NOT NULL, + "page_id" integer, + "group_photo_id" integer, + "group_photo_caption" varchar, + "title" varchar, + "title_fr" varchar, + "introduction" jsonb, + "introduction_fr" jsonb, + "initiative_details" jsonb, + "initiative_details_fr" jsonb, + "_status" "enum_about_status" DEFAULT 'draft', + "updated_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone + ); + + CREATE TABLE IF NOT EXISTS "_about_v_version_teams_members" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "role" varchar, + "role_fr" varchar, + "name" varchar, + "pronouns" varchar, + "image_id" integer, + "_uuid" varchar + ); + + CREATE TABLE IF NOT EXISTS "_about_v_version_teams" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "title" varchar, + "title_fr" varchar, + "_uuid" varchar + ); + + CREATE TABLE IF NOT EXISTS "_about_v" ( + "id" serial PRIMARY KEY NOT NULL, + "version_page_id" integer, + "version_group_photo_id" integer, + "version_group_photo_caption" varchar, + "version_title" varchar, + "version_title_fr" varchar, + "version_introduction" jsonb, + "version_introduction_fr" jsonb, + "version_initiative_details" jsonb, + "version_initiative_details_fr" jsonb, + "version__status" "enum__about_v_version_status" DEFAULT 'draft', + "version_updated_at" timestamp(3) with time zone, + "version_created_at" timestamp(3) with time zone, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "latest" boolean + ); + + DO $$ BEGIN + ALTER TABLE "about_teams_members" ADD CONSTRAINT "about_teams_members_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "about_teams_members" ADD CONSTRAINT "about_teams_members_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."about_teams"("id") ON DELETE cascade ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "about_teams" ADD CONSTRAINT "about_teams_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."about"("id") ON DELETE cascade ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "about" ADD CONSTRAINT "about_page_id_pages_id_fk" FOREIGN KEY ("page_id") REFERENCES "public"."pages"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "about" ADD CONSTRAINT "about_group_photo_id_media_id_fk" FOREIGN KEY ("group_photo_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "_about_v_version_teams_members" ADD CONSTRAINT "_about_v_version_teams_members_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "_about_v_version_teams_members" ADD CONSTRAINT "_about_v_version_teams_members_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_about_v_version_teams"("id") ON DELETE cascade ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "_about_v_version_teams" ADD CONSTRAINT "_about_v_version_teams_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."_about_v"("id") ON DELETE cascade ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "_about_v" ADD CONSTRAINT "_about_v_version_page_id_pages_id_fk" FOREIGN KEY ("version_page_id") REFERENCES "public"."pages"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + DO $$ BEGIN + ALTER TABLE "_about_v" ADD CONSTRAINT "_about_v_version_group_photo_id_media_id_fk" FOREIGN KEY ("version_group_photo_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + EXCEPTION + WHEN duplicate_object THEN null; + END $$; + + CREATE INDEX IF NOT EXISTS "about_teams_members_order_idx" ON "about_teams_members" USING btree ("_order"); + CREATE INDEX IF NOT EXISTS "about_teams_members_parent_id_idx" ON "about_teams_members" USING btree ("_parent_id"); + CREATE INDEX IF NOT EXISTS "about_teams_members_image_idx" ON "about_teams_members" USING btree ("image_id"); + CREATE INDEX IF NOT EXISTS "about_teams_order_idx" ON "about_teams" USING btree ("_order"); + CREATE INDEX IF NOT EXISTS "about_teams_parent_id_idx" ON "about_teams" USING btree ("_parent_id"); + CREATE INDEX IF NOT EXISTS "about_page_idx" ON "about" USING btree ("page_id"); + CREATE INDEX IF NOT EXISTS "about_group_photo_idx" ON "about" USING btree ("group_photo_id"); + CREATE INDEX IF NOT EXISTS "about__status_idx" ON "about" USING btree ("_status"); + CREATE INDEX IF NOT EXISTS "_about_v_version_teams_members_order_idx" ON "_about_v_version_teams_members" USING btree ("_order"); + CREATE INDEX IF NOT EXISTS "_about_v_version_teams_members_parent_id_idx" ON "_about_v_version_teams_members" USING btree ("_parent_id"); + CREATE INDEX IF NOT EXISTS "_about_v_version_teams_members_image_idx" ON "_about_v_version_teams_members" USING btree ("image_id"); + CREATE INDEX IF NOT EXISTS "_about_v_version_teams_order_idx" ON "_about_v_version_teams" USING btree ("_order"); + CREATE INDEX IF NOT EXISTS "_about_v_version_teams_parent_id_idx" ON "_about_v_version_teams" USING btree ("_parent_id"); + CREATE INDEX IF NOT EXISTS "_about_v_version_version_page_idx" ON "_about_v" USING btree ("version_page_id"); + CREATE INDEX IF NOT EXISTS "_about_v_version_version_group_photo_idx" ON "_about_v" USING btree ("version_group_photo_id"); + CREATE INDEX IF NOT EXISTS "_about_v_version_version__status_idx" ON "_about_v" USING btree ("version__status"); + CREATE INDEX IF NOT EXISTS "_about_v_created_at_idx" ON "_about_v" USING btree ("created_at"); + CREATE INDEX IF NOT EXISTS "_about_v_updated_at_idx" ON "_about_v" USING btree ("updated_at"); + CREATE INDEX IF NOT EXISTS "_about_v_latest_idx" ON "_about_v" USING btree ("latest");`); +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + DROP TABLE "about_teams_members" CASCADE; + DROP TABLE "about_teams" CASCADE; + DROP TABLE "about" CASCADE; + DROP TABLE "_about_v_version_teams_members" CASCADE; + DROP TABLE "_about_v_version_teams" CASCADE; + DROP TABLE "_about_v" CASCADE; + DROP TYPE "public"."enum_about_status"; + DROP TYPE "public"."enum__about_v_version_status";`); +} diff --git a/src/migrations/index.ts b/src/migrations/index.ts index a33ddd2f..c3ea8a53 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -1,5 +1,6 @@ import * as migration_20250403_154007_remove_root from "./20250403_154007_remove_root"; import * as migration_20250430_051055_sentinel from "./20250430_051055_sentinel"; +import * as migration_20250525_183845_about_pg from "./20250525_183845_about_pg"; export const migrations = [ { @@ -12,4 +13,9 @@ export const migrations = [ down: migration_20250430_051055_sentinel.down, name: "20250430_051055_sentinel", }, + { + up: migration_20250525_183845_about_pg.up, + down: migration_20250525_183845_about_pg.down, + name: "20250525_183845_about_pg", + }, ]; diff --git a/src/payload-types.ts b/src/payload-types.ts index d8b43390..cf1e065b 100644 --- a/src/payload-types.ts +++ b/src/payload-types.ts @@ -105,12 +105,14 @@ export interface Config { defaultIDType: number; }; globals: { + about: About; 'holistic-wellness': HolisticWellness; sponsor: Sponsor; volunteer: Volunteer; 'announcement-bar': AnnouncementBar; }; globalsSelect: { + about: AboutSelect | AboutSelect; 'holistic-wellness': HolisticWellnessSelect | HolisticWellnessSelect; sponsor: SponsorSelect | SponsorSelect; volunteer: VolunteerSelect | VolunteerSelect; @@ -789,6 +791,94 @@ export interface PayloadMigrationsSelect { updatedAt?: T; createdAt?: T; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "about". + */ +export interface About { + id: number; + page: number | Page; + groupPhoto?: (number | null) | Media; + groupPhotoCaption?: string | null; + title: string; + titleFr?: string | null; + introduction: { + root: { + type: string; + children: { + type: string; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + }; + introductionFr?: { + root: { + type: string; + children: { + type: string; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + initiativeDetails: { + root: { + type: string; + children: { + type: string; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + }; + initiativeDetailsFr?: { + root: { + type: string; + children: { + type: string; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + teams: { + title: string; + titleFr?: string | null; + members: { + role: string; + roleFr?: string | null; + name: string; + pronouns?: string | null; + image?: (number | null) | Media; + id?: string | null; + }[]; + id?: string | null; + }[]; + _status?: ('draft' | 'published') | null; + updatedAt?: string | null; + createdAt?: string | null; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "holistic-wellness". @@ -1065,6 +1155,42 @@ export interface AnnouncementBar { updatedAt?: string | null; createdAt?: string | null; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "about_select". + */ +export interface AboutSelect { + page?: T; + groupPhoto?: T; + groupPhotoCaption?: T; + title?: T; + titleFr?: T; + introduction?: T; + introductionFr?: T; + initiativeDetails?: T; + initiativeDetailsFr?: T; + teams?: + | T + | { + title?: T; + titleFr?: T; + members?: + | T + | { + role?: T; + roleFr?: T; + name?: T; + pronouns?: T; + image?: T; + id?: T; + }; + id?: T; + }; + _status?: T; + updatedAt?: T; + createdAt?: T; + globalType?: T; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "holistic-wellness_select". diff --git a/src/payload.config.ts b/src/payload.config.ts index ceb694dd..19a71ca7 100644 --- a/src/payload.config.ts +++ b/src/payload.config.ts @@ -16,6 +16,7 @@ import { Users } from "@collections/Users"; import { Media } from "@collections/Media"; import { Pages } from "@collections/Pages"; import { LegalPages } from "@collections/LegalPages"; +import { AboutPage } from "@globals/AboutPage"; import { HolisticWellnessPage } from "@globals/HolisticWellnessPage"; import { Clubs } from "./collections/lists/clubs/Clubs"; import { Resources } from "./collections/lists/resources/Resources"; @@ -118,7 +119,7 @@ export default buildConfig({ avatar: "default", }, collections: [Users, Media, Pages, LegalPages, Events, Clubs, Resources, ClubTagCategories, ResourceTagCategories, ClubTags, ResourceTags], - globals: [HolisticWellnessPage, SponsorPage, VolunteerPage, AnnouncementBar], + globals: [AboutPage, HolisticWellnessPage, SponsorPage, VolunteerPage, AnnouncementBar], editor: lexicalEditor(), secret: process.env.PAYLOAD_SECRET || "", typescript: {