diff --git a/src/app/(home)/gebetsanliegen-des-papstes/page.tsx b/src/app/(home)/gebetsanliegen-des-papstes/page.tsx
new file mode 100644
index 0000000..5a01a24
--- /dev/null
+++ b/src/app/(home)/gebetsanliegen-des-papstes/page.tsx
@@ -0,0 +1,6 @@
+import { redirect } from 'next/navigation'
+
+export default function RedirectPage() {
+ const date = new Date();
+ redirect(`/gebetsanliegen-des-papstes/${date.getFullYear()}/${(date.getUTCMonth() + 1).toString(10).padStart(2, '0')}`)
+}
\ No newline at end of file
diff --git a/src/app/(home)/layout.tsx b/src/app/(home)/layout.tsx
index 016ffb4..f78d409 100644
--- a/src/app/(home)/layout.tsx
+++ b/src/app/(home)/layout.tsx
@@ -1,10 +1,11 @@
import type { Metadata } from 'next'
import { defaultFont } from '@/assets/fonts'
import './globals.css'
-import { Menu } from '@/components/Menu/Menu'
+import { DynamicMenu, Menu } from '@/components/Menu/Menu'
import { Footer } from '@/compositions/Footer/Footer'
import { comment } from '@/app/(home)/layout-comment'
+
export const metadata: Metadata = {
title: 'Katholische Pfarrei Heilige drei Könige Berlin',
}
@@ -15,324 +16,12 @@ export default function RootLayout({
children: React.ReactNode
}>) {
- const date = new Date()
return (
-
+
{children}
@@ -340,4 +29,4 @@ export default function RootLayout({
)
-}
+}
\ No newline at end of file
diff --git a/src/components/Menu/Menu.stories.ts b/src/components/Menu/Menu.stories.ts
index 734c104..0a32130 100644
--- a/src/components/Menu/Menu.stories.ts
+++ b/src/components/Menu/Menu.stories.ts
@@ -14,174 +14,66 @@ export const Default: Story = {
leftItems: [
{
text: 'Home',
- href: 'https://disney.com'
+ href: '/home',
+ type: 'default',
+ blockType: 'simple-item',
+
},
- {
- text: 'Gemeinschaft finden',
- megaMenu: {
- text: {
- quote: '',
- source: ''
- },
- groups: [
- {
- title: "Gemeinden",
- items: [
- {
- title: "St. Richard",
- description: "Mehr informationen",
- href: "/gemeinde/st-richard"
- },
- {
- title: "St. Christophorus",
- description: "Mehr informationen",
- href: "/gemeinde/st-christophorus"
- },
- {
- title: "St. Clara",
- description: "Mehr informationen",
- href: "/gemeinde/st-clara"
- },
- ]
- },
- {
- title: "Gruppen",
- items: [
- {
- title: "Kathoccino",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Credo & Agape",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Mädchengruppe",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Alphakurs",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- },
- {
- title: "Aktivitaten",
- items: [
- {
- title: "Kochen",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Lernen",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Wandern",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Singen",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- }
- ]
- }
- },
- {
- text: 'Glauben lauben',
- megaMenu: {
- text: {
- quote: '',
- source: ''
- },
- groups: [
- {
- title: "Sakramenten",
- items: [
- {
- title: "Taufe",
- description: "Neues Leben in Christus",
- href: "https://"
- },
- {
- title: "Eucharistie",
- description: "Gemeinschaft durch Brot und Wein",
- href: "https://"
- },
- {
- title: "Firmung",
- description: "Stärkung im Heiligen Geist",
- href: "https://"
- },
- {
- title: "Ehe",
- description: "Bund in Liebe, Treue",
- href: "https://"
- },
- {
- title: "Beichte",
- description: "Sündenbekenntnis, Vergebung und Neuanfang mit Gottes Gnade",
- href: "https://"
- },
- {
- title: "Krankensalbung",
- description: "Stärkung und Gottes Beistand",
- href: "https://"
- }
- ]
- },
- {
- title: "Gebet",
- items: [
- {
- title: "Gottesdienste",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Rosenkranz",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Anbetung",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Lobpreis",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- }
- ]
- }
- },
- {
- text: 'Kontakt',
- href: '/kontakt'
- }
],
rightItems: [
{
- text: 'Mithelfen',
- href: '/mithelfen',
+ text: 'Need help?',
+ href: '/help',
+ type: 'button',
+ blockType: 'simple-item',
},
{
- text: 'Neu hier?',
- href: '/ich-bin-neu',
- display: "button"
+ text: 'Contact',
+ href: '/contact',
+ type: 'default',
+ blockType: 'simple-item',
+ }
+ ]
+ }
+ },
+}
+
+export const WithMegaMenu: Story = {
+ args: {
+ menu: {
+ leftItems: [
+ {
+ text: 'Home',
+ href: '/home',
+ type: 'default',
+ blockType: 'simple-item',
+
+ },
+ {
+ text: 'Products',
+ blockType: 'mega-menu',
+ groups: [
+ {
+ title: 'Catogory 1',
+ items: [
+ {
+ title: 'Product 1',
+ description: 'Some description',
+ href: '/products',
+ }
+ ]
+ }
+ ],
+ quote: 'Some bible verse',
+ source: 'John 12-1'
+ }
+ ],
+ rightItems: [
+ {
+ text: 'Contact',
+ href: '/contact',
+ type: 'default',
+ blockType: 'simple-item',
}
]
}
diff --git a/src/components/Menu/Menu.tsx b/src/components/Menu/Menu.tsx
index dbc38f6..1c739a9 100644
--- a/src/components/Menu/Menu.tsx
+++ b/src/components/Menu/Menu.tsx
@@ -4,22 +4,55 @@ import styles from './styles.module.scss'
import MenuIcon from './menu.svg'
import Image from 'next/image'
import classNames from 'classnames'
-import {Menu as MenuType, MenuItem as MenuItemType} from "./menu.types"
+import { MegaMenuItemProps, Menu as MenuType, MenuItem as MenuItemType, SimpleItemProps } from './menu.types'
import { Logo } from '@/components/Logo/Logo'
-import { useCallback, useState } from 'react'
+import { Fragment, useCallback, useEffect, useState } from 'react'
import { MegaMenu } from '@/components/MegaMenu/MegaMenu'
import { CollapsibleArrow } from '@/components/CollapsibleArrow/CollapsibleArrow'
import Link from 'next/link'
+import { fetchConfig } from '@/fetch/config'
-type MenuItemProps = MenuItemType & {
- onItemClick?: () => void
+/**
+ * Represents a simple item component.
+ *
+ * @param {Object} SimpleItemProps - The properties for the SimpleItem component.
+ * @param {string} SimpleItemProps.text - The text to display for the item.
+ * @param {string} SimpleItemProps.href - The URL to navigate to when the item is clicked.
+ * @param {string} SimpleItemProps.type - The type of the item ("default" or "button").
+ * @param {function} SimpleItemProps.onItemClick - The function to call when the item is clicked.
+ * @returns {JSX.Element} A Link component with the specified text, href, type, and onItemClick function.
+ */
+const SimpleItem = ({text, href, type, onItemClick}: SimpleItemProps) => {
+ const className = classNames({
+ [styles.menuLink]: type === "default",
+ [styles.button]: type === "button"
+ });
+
+ return (
+
+
+ {text}
+
+
+ )
}
-const MenuItem = ({text, href, display = "normal", megaMenu, onItemClick}: MenuItemProps) => {
- const className = classNames({
- [styles.menuLink]: display === "normal",
- [styles.button]: display === "button"
- });
+
+/**
+ * Represents a mega menu item component.
+ * @param {Object} MegaMenuItemProps - The props for the MegaMenuItem component.
+ * @param {string} MegaMenuItemProps.text - The text to display in the menu item.
+ * @param {string} MegaMenuItemProps.quote - The quote to display in the mega menu.
+ * @param {string} MegaMenuItemProps.source - The source of the quote.
+ * @param {Array} MegaMenuItemProps.groups - The groups associated with the menu item.
+ * @param {Function} MegaMenuItemProps.onItemClick - The function to handle item click event.
+ * @returns {JSX.Element} A JSX element representing the MegaMenuItem component.
+ */
+const MegaMenuItem = ({text, quote, source, groups, onItemClick}: MegaMenuItemProps) => {
const [isActive, setIsActive] = useState(false);
const itemClicked = useCallback(() => {
@@ -35,49 +68,69 @@ const MenuItem = ({text, href, display = "normal", megaMenu, onItemClick}: MenuI
onMouseLeave={() => setIsActive(false)}
>
href ? itemClicked() : setIsActive(!isActive)}
+ href={""}
+ onClick={onItemClick}
+ className={styles.menuLink}
>
- {text} {megaMenu && }
+ {text}
- {megaMenu &&
-
-
-
- }
+ >
+
+
)
}
type MenuItemsProps = {
items: MenuItemType[]
- onItemClick?: () => void
+ onItemClick: () => void
}
+/**
+ * Renders a list of menu items based on the provided props.
+ *
+ * @param {Object} items - An array of menu items to render.
+ * @param {Function} onItemClick - Callback function to handle item click events.
+ */
const MenuItems = ({items, onItemClick}: MenuItemsProps) => {
return (
<>
- {items.map(item =>
-
+ {items.map(item => (
+
+ { item.blockType === "simple-item" &&
+
+ }
+
+ {
+ item.blockType === "mega-menu" &&
+
+ }
+
+ )
)}
>
)
@@ -87,6 +140,11 @@ type MenuProps = {
menu: MenuType
}
+/**
+ * Represents a menu component that displays navigation items on the screen.
+ * @param {Object} MenuProps - The props object containing menu items for left and right side of the menu.
+ * @returns The rendered menu component.
+ */
export const Menu = ({menu}: MenuProps) => {
const [displayMenuMobile, setDisplayMenuMobile] = useState(false)
@@ -131,3 +189,22 @@ export const Menu = ({menu}: MenuProps) => {
)
}
+
+
+/**
+ * Represents a dynamic menu component.
+ * This component fetches menu data from a remote source and renders it.
+ * @returns {JSX.Element} The rendered dynamic menu component
+ */
+export const DynamicMenu = () => {
+
+ const [menu, setMenu] = useState({leftItems: [], rightItems: []})
+
+ useEffect(() => {
+ fetchConfig().then((data) => {
+ setMenu(data.menu);
+ });
+ }, [])
+
+ return
+}
diff --git a/src/components/Menu/menu.types.ts b/src/components/Menu/menu.types.ts
index 308ec24..349bb6f 100644
--- a/src/components/Menu/menu.types.ts
+++ b/src/components/Menu/menu.types.ts
@@ -3,31 +3,34 @@ export type Menu = {
rightItems: MenuItem[]
}
-export type MenuItem = {
- text: string,
- href?: string
- megaMenu?: MegaMenu
- display?: "normal" | "button"
+export type SimpleItemProps = {
+ text: string;
+ href: string;
+ type: 'default' | 'button';
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'simple-item';
+ onItemClick?: () => void;
}
-type MegaMenu = {
- groups: MegaMenuGroup[]
- text: MegaMenuText
+export type MegaMenuItemProps = {
+ text: string;
+ quote: string;
+ source: string;
+ groups: {
+ title: string;
+ items: {
+ title: string;
+ description: string;
+ href: string;
+ id?: string | null;
+ }[];
+ id?: string | null;
+ }[];
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'mega-menu';
+ onItemClick?: () => void;
}
-type MegaMenuGroup = {
- title: string
- items: MegaMenuItem[]
-}
-
-type MegaMenuItem = {
- title: string,
- description: string
- href: string
- icon?: string
-}
-
-type MegaMenuText = {
- quote: string
- source: string
-}
\ No newline at end of file
+export type MenuItem = SimpleItemProps | MegaMenuItemProps;
\ No newline at end of file
diff --git a/src/fetch/config.ts b/src/fetch/config.ts
new file mode 100644
index 0000000..a48be53
--- /dev/null
+++ b/src/fetch/config.ts
@@ -0,0 +1,21 @@
+import { Menu } from '@/payload-types'
+
+type Config = {
+ menu: Menu
+}
+
+export const fetchConfig = async (): Promise => {
+ const rep = await fetch(
+ "/api/globals/menu",
+ { next: { tags: ['menu'] } } // cache fetch result
+ );
+
+ if (!rep.ok) {
+ throw new Error("Could not fetch menu")
+ }
+ const menu = await rep.json();
+
+ return {
+ menu
+ }
+}
\ No newline at end of file
diff --git a/src/globals/Menu.ts b/src/globals/Menu.ts
new file mode 100644
index 0000000..58f063b
--- /dev/null
+++ b/src/globals/Menu.ts
@@ -0,0 +1,145 @@
+import { Block, GlobalConfig } from 'payload'
+import { isAdmin } from '@/collections/access/admin'
+import { revalidateTag } from 'next/cache'
+
+const SimpleItem: Block = {
+ slug: 'simple-item',
+ labels: {
+ singular: 'Einfach',
+ plural: 'Einfach'
+ },
+ fields: [
+ {
+ name: 'text',
+ type: 'text',
+ required: true
+ },
+ {
+ name: 'href',
+ type: 'text',
+ label: 'Zieladresse',
+ required: true
+ },
+ {
+ name: 'type',
+ type: 'select',
+ options: [
+ {
+ label: 'Standard',
+ value: 'default'
+ },
+ {
+ label: 'Button',
+ value: 'button'
+ }
+ ],
+ defaultValue: "default",
+ required: true
+ }
+ ]
+}
+
+const MegaMenuItem: Block = {
+ slug: 'mega-menu',
+ fields: [
+ {
+ name: 'text',
+ type: 'text',
+ required: true,
+ },
+ {
+ name: 'quote',
+ label: "Bibelvers",
+ type: 'text',
+ required: true
+ },
+ {
+ name: 'source',
+ label: 'Bibelvers buch',
+ type: 'text',
+ required: true
+ },
+ {
+ name: 'groups',
+ label: 'Navigationsgruppen',
+ type: 'array',
+ fields: [
+ {
+ name: 'title',
+ label: 'Titel',
+ type: 'text',
+ required: true,
+ },
+ {
+ name: 'items',
+ label: 'Elemente',
+ type: 'array',
+ fields: [
+ {
+ name: 'title',
+ label: 'title',
+ type: 'text',
+ required: true,
+ },
+ {
+ name: 'description',
+ label: 'Beschreibung',
+ type: 'text',
+ maxLength: 100,
+ required: true,
+ },
+ {
+ name: 'href',
+ label: 'Zieladresse',
+ type: 'text',
+ required: true,
+ }
+ ],
+ required: true,
+ }
+ ],
+ minRows: 1,
+ maxRows: 5,
+ required: true,
+ }
+ ]
+}
+
+export const MenuGlobal: GlobalConfig = {
+ slug: 'menu',
+ label: {
+ de: 'Navigationsmenü'
+ },
+ admin: {
+ description: "Hier können Sie die Einträge und die Reihenfolge der Hauptnavigation festlegen."
+ },
+ fields: [
+ {
+ name: 'leftItems',
+ label: 'Elemente links',
+ type: 'blocks',
+ required: true,
+ blocks: [
+ SimpleItem,
+ MegaMenuItem
+ ]
+ },
+ {
+ name: 'rightItems',
+ label: 'Elemente Rechts',
+ type: 'blocks',
+ required: true,
+ blocks: [
+ SimpleItem,
+ MegaMenuItem
+ ]
+ }
+ ],
+ access: {
+ read: () => true,
+ update: isAdmin()
+ },
+ hooks: {
+ afterChange: [() => revalidateTag("menu")]
+ }
+}
\ No newline at end of file
diff --git a/src/migrations/20250818_143115_menu.json b/src/migrations/20250818_143115_menu.json
new file mode 100644
index 0000000..0448eb7
--- /dev/null
+++ b/src/migrations/20250818_143115_menu.json
@@ -0,0 +1,6619 @@
+{
+ "id": "0bfe5f1c-2ad0-4425-8186-bf3d7d4d279c",
+ "prevId": "00000000-0000-0000-0000-000000000000",
+ "version": "7",
+ "dialect": "postgresql",
+ "tables": {
+ "public.parish_contact_persons": {
+ "name": "parish_contact_persons",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "parish_contact_persons_order_idx": {
+ "name": "parish_contact_persons_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_contact_persons_parent_id_idx": {
+ "name": "parish_contact_persons_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "parish_contact_persons_parent_id_fk": {
+ "name": "parish_contact_persons_parent_id_fk",
+ "tableFrom": "parish_contact_persons",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.parish_gallery": {
+ "name": "parish_gallery",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "parish_gallery_order_idx": {
+ "name": "parish_gallery_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_gallery_parent_id_idx": {
+ "name": "parish_gallery_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_gallery_photo_idx": {
+ "name": "parish_gallery_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "parish_gallery_photo_id_media_id_fk": {
+ "name": "parish_gallery_photo_id_media_id_fk",
+ "tableFrom": "parish_gallery",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "parish_gallery_parent_id_fk": {
+ "name": "parish_gallery_parent_id_fk",
+ "tableFrom": "parish_gallery",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.parish": {
+ "name": "parish",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "history": {
+ "name": "history",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact": {
+ "name": "contact",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "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": {
+ "parish_photo_idx": {
+ "name": "parish_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_updated_at_idx": {
+ "name": "parish_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_created_at_idx": {
+ "name": "parish_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "parish_photo_id_media_id_fk": {
+ "name": "parish_photo_id_media_id_fk",
+ "tableFrom": "parish",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.parish_rels": {
+ "name": "parish_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "church_id": {
+ "name": "church_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "parish_rels_order_idx": {
+ "name": "parish_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_rels_parent_idx": {
+ "name": "parish_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_rels_path_idx": {
+ "name": "parish_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "parish_rels_church_id_idx": {
+ "name": "parish_rels_church_id_idx",
+ "columns": [
+ {
+ "expression": "church_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "parish_rels_parent_fk": {
+ "name": "parish_rels_parent_fk",
+ "tableFrom": "parish_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "parish_rels_church_fk": {
+ "name": "parish_rels_church_fk",
+ "tableFrom": "parish_rels",
+ "tableTo": "church",
+ "columnsFrom": [
+ "church_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.church": {
+ "name": "church",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "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": {
+ "church_updated_at_idx": {
+ "name": "church_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "church_created_at_idx": {
+ "name": "church_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.worship": {
+ "name": "worship",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location_id": {
+ "name": "location_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_worship_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cancelled": {
+ "name": "cancelled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "liturgical_day": {
+ "name": "liturgical_day",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "celebrant": {
+ "name": "celebrant",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "description": {
+ "name": "description",
+ "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": {
+ "worship_location_idx": {
+ "name": "worship_location_idx",
+ "columns": [
+ {
+ "expression": "location_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "worship_updated_at_idx": {
+ "name": "worship_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "worship_created_at_idx": {
+ "name": "worship_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "worship_location_id_church_id_fk": {
+ "name": "worship_location_id_church_id_fk",
+ "tableFrom": "worship",
+ "tableTo": "church",
+ "columnsFrom": [
+ "location_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.pope_prayer_intentions": {
+ "name": "pope_prayer_intentions",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "year": {
+ "name": "year",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 2025
+ },
+ "month": {
+ "name": "month",
+ "type": "enum_pope_prayer_intentions_month",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'01'"
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Für '"
+ },
+ "prayer": {
+ "name": "prayer",
+ "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": {
+ "pope_prayer_intentions_updated_at_idx": {
+ "name": "pope_prayer_intentions_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "pope_prayer_intentions_created_at_idx": {
+ "name": "pope_prayer_intentions_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.announcement": {
+ "name": "announcement",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'2025-08-24T14:31:15.010Z'"
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "uuid",
+ "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": {
+ "announcement_document_idx": {
+ "name": "announcement_document_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcement_updated_at_idx": {
+ "name": "announcement_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcement_created_at_idx": {
+ "name": "announcement_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "announcement_document_id_documents_id_fk": {
+ "name": "announcement_document_id_documents_id_fk",
+ "tableFrom": "announcement",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.announcement_rels": {
+ "name": "announcement_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parish_id": {
+ "name": "parish_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "announcement_rels_order_idx": {
+ "name": "announcement_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcement_rels_parent_idx": {
+ "name": "announcement_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcement_rels_path_idx": {
+ "name": "announcement_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "announcement_rels_parish_id_idx": {
+ "name": "announcement_rels_parish_id_idx",
+ "columns": [
+ {
+ "expression": "parish_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "announcement_rels_parent_fk": {
+ "name": "announcement_rels_parent_fk",
+ "tableFrom": "announcement_rels",
+ "tableTo": "announcement",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "announcement_rels_parish_fk": {
+ "name": "announcement_rels_parish_fk",
+ "tableFrom": "announcement_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parish_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.calendar": {
+ "name": "calendar",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'2025-08-24T14:31:15.092Z'"
+ },
+ "document_id": {
+ "name": "document_id",
+ "type": "uuid",
+ "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": {
+ "calendar_document_idx": {
+ "name": "calendar_document_idx",
+ "columns": [
+ {
+ "expression": "document_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "calendar_updated_at_idx": {
+ "name": "calendar_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "calendar_created_at_idx": {
+ "name": "calendar_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "calendar_document_id_documents_id_fk": {
+ "name": "calendar_document_id_documents_id_fk",
+ "tableFrom": "calendar",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "document_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.calendar_rels": {
+ "name": "calendar_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parish_id": {
+ "name": "parish_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "calendar_rels_order_idx": {
+ "name": "calendar_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "calendar_rels_parent_idx": {
+ "name": "calendar_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "calendar_rels_path_idx": {
+ "name": "calendar_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "calendar_rels_parish_id_idx": {
+ "name": "calendar_rels_parish_id_idx",
+ "columns": [
+ {
+ "expression": "parish_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "calendar_rels_parent_fk": {
+ "name": "calendar_rels_parent_fk",
+ "tableFrom": "calendar_rels",
+ "tableTo": "calendar",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "calendar_rels_parish_fk": {
+ "name": "calendar_rels_parish_fk",
+ "tableFrom": "calendar_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parish_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_text": {
+ "name": "blog_blocks_text",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content_html": {
+ "name": "content_html",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "enum_blog_blocks_text_width",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1/2'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_text_order_idx": {
+ "name": "blog_blocks_text_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_text_parent_id_idx": {
+ "name": "blog_blocks_text_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_text_path_idx": {
+ "name": "blog_blocks_text_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_text_parent_id_fk": {
+ "name": "blog_blocks_text_parent_id_fk",
+ "tableFrom": "blog_blocks_text",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_document": {
+ "name": "blog_blocks_document",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "button": {
+ "name": "button",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Download Flyer'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_document_order_idx": {
+ "name": "blog_blocks_document_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_document_parent_id_idx": {
+ "name": "blog_blocks_document_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_document_path_idx": {
+ "name": "blog_blocks_document_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_document_file_idx": {
+ "name": "blog_blocks_document_file_idx",
+ "columns": [
+ {
+ "expression": "file_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_document_file_id_documents_id_fk": {
+ "name": "blog_blocks_document_file_id_documents_id_fk",
+ "tableFrom": "blog_blocks_document",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "file_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "blog_blocks_document_parent_id_fk": {
+ "name": "blog_blocks_document_parent_id_fk",
+ "tableFrom": "blog_blocks_document",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_donation": {
+ "name": "blog_blocks_donation",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_donation_order_idx": {
+ "name": "blog_blocks_donation_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_donation_parent_id_idx": {
+ "name": "blog_blocks_donation_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_donation_path_idx": {
+ "name": "blog_blocks_donation_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_donation_parent_id_fk": {
+ "name": "blog_blocks_donation_parent_id_fk",
+ "tableFrom": "blog_blocks_donation",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_contactform": {
+ "name": "blog_blocks_contactform",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Ich bin dabei!'"
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Um dich anzumelden oder uns zu unterstützen, fülle bitte das Kontaktformular aus. Wir freuen uns sehr, dass du Teil unserer Gemeinschaft bist und mit deinem Engagement dazu beiträgst, unsere Ziele zu erreichen. Solltest du Fragen haben oder weitere Informationen benötigen, zögere nicht, uns zu kontaktieren – wir sind gerne für dich da!'"
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'kontakt@dreikoenige.berlin'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_contactform_order_idx": {
+ "name": "blog_blocks_contactform_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_contactform_parent_id_idx": {
+ "name": "blog_blocks_contactform_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_contactform_path_idx": {
+ "name": "blog_blocks_contactform_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_contactform_parent_id_fk": {
+ "name": "blog_blocks_contactform_parent_id_fk",
+ "tableFrom": "blog_blocks_contactform",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_gallery_items": {
+ "name": "blog_blocks_gallery_items",
+ "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
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "blog_blocks_gallery_items_order_idx": {
+ "name": "blog_blocks_gallery_items_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_gallery_items_parent_id_idx": {
+ "name": "blog_blocks_gallery_items_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_gallery_items_photo_idx": {
+ "name": "blog_blocks_gallery_items_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_gallery_items_photo_id_media_id_fk": {
+ "name": "blog_blocks_gallery_items_photo_id_media_id_fk",
+ "tableFrom": "blog_blocks_gallery_items",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "blog_blocks_gallery_items_parent_id_fk": {
+ "name": "blog_blocks_gallery_items_parent_id_fk",
+ "tableFrom": "blog_blocks_gallery_items",
+ "tableTo": "blog_blocks_gallery",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_gallery": {
+ "name": "blog_blocks_gallery",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_gallery_order_idx": {
+ "name": "blog_blocks_gallery_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_gallery_parent_id_idx": {
+ "name": "blog_blocks_gallery_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_gallery_path_idx": {
+ "name": "blog_blocks_gallery_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_gallery_parent_id_fk": {
+ "name": "blog_blocks_gallery_parent_id_fk",
+ "tableFrom": "blog_blocks_gallery",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_blocks_button": {
+ "name": "blog_blocks_button",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "url": {
+ "name": "url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_blocks_button_order_idx": {
+ "name": "blog_blocks_button_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_button_parent_id_idx": {
+ "name": "blog_blocks_button_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_blocks_button_path_idx": {
+ "name": "blog_blocks_button_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_blocks_button_parent_id_fk": {
+ "name": "blog_blocks_button_parent_id_fk",
+ "tableFrom": "blog_blocks_button",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog": {
+ "name": "blog",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "excerpt": {
+ "name": "excerpt",
+ "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": {
+ "blog_photo_idx": {
+ "name": "blog_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_updated_at_idx": {
+ "name": "blog_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_created_at_idx": {
+ "name": "blog_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_photo_id_media_id_fk": {
+ "name": "blog_photo_id_media_id_fk",
+ "tableFrom": "blog",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.blog_rels": {
+ "name": "blog_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parish_id": {
+ "name": "parish_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "blog_rels_order_idx": {
+ "name": "blog_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_rels_parent_idx": {
+ "name": "blog_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_rels_path_idx": {
+ "name": "blog_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "blog_rels_parish_id_idx": {
+ "name": "blog_rels_parish_id_idx",
+ "columns": [
+ {
+ "expression": "parish_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "blog_rels_parent_fk": {
+ "name": "blog_rels_parent_fk",
+ "tableFrom": "blog_rels",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "blog_rels_parish_fk": {
+ "name": "blog_rels_parish_fk",
+ "tableFrom": "blog_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parish_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.highlight": {
+ "name": "highlight",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "from": {
+ "name": "from",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "until": {
+ "name": "until",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "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": {
+ "highlight_updated_at_idx": {
+ "name": "highlight_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_created_at_idx": {
+ "name": "highlight_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.highlight_rels": {
+ "name": "highlight_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "event_id": {
+ "name": "event_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "blog_id": {
+ "name": "blog_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "worship_id": {
+ "name": "worship_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "highlight_rels_order_idx": {
+ "name": "highlight_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_rels_parent_idx": {
+ "name": "highlight_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_rels_path_idx": {
+ "name": "highlight_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_rels_event_id_idx": {
+ "name": "highlight_rels_event_id_idx",
+ "columns": [
+ {
+ "expression": "event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_rels_blog_id_idx": {
+ "name": "highlight_rels_blog_id_idx",
+ "columns": [
+ {
+ "expression": "blog_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "highlight_rels_worship_id_idx": {
+ "name": "highlight_rels_worship_id_idx",
+ "columns": [
+ {
+ "expression": "worship_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "highlight_rels_parent_fk": {
+ "name": "highlight_rels_parent_fk",
+ "tableFrom": "highlight_rels",
+ "tableTo": "highlight",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "highlight_rels_event_fk": {
+ "name": "highlight_rels_event_fk",
+ "tableFrom": "highlight_rels",
+ "tableTo": "event",
+ "columnsFrom": [
+ "event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "highlight_rels_blog_fk": {
+ "name": "highlight_rels_blog_fk",
+ "tableFrom": "highlight_rels",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "blog_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "highlight_rels_worship_fk": {
+ "name": "highlight_rels_worship_fk",
+ "tableFrom": "highlight_rels",
+ "tableTo": "worship",
+ "columnsFrom": [
+ "worship_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.event": {
+ "name": "event",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "date": {
+ "name": "date",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "location_id": {
+ "name": "location_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "contact_id": {
+ "name": "contact_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "short_description": {
+ "name": "short_description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "rsvp_link": {
+ "name": "rsvp_link",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "flyer_id": {
+ "name": "flyer_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "cancelled": {
+ "name": "cancelled",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": false
+ },
+ "is_recurring": {
+ "name": "is_recurring",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": true,
+ "default": 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": {
+ "event_location_idx": {
+ "name": "event_location_idx",
+ "columns": [
+ {
+ "expression": "location_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_contact_idx": {
+ "name": "event_contact_idx",
+ "columns": [
+ {
+ "expression": "contact_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_photo_idx": {
+ "name": "event_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_flyer_idx": {
+ "name": "event_flyer_idx",
+ "columns": [
+ {
+ "expression": "flyer_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_updated_at_idx": {
+ "name": "event_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_created_at_idx": {
+ "name": "event_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "event_location_id_locations_id_fk": {
+ "name": "event_location_id_locations_id_fk",
+ "tableFrom": "event",
+ "tableTo": "locations",
+ "columnsFrom": [
+ "location_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "event_contact_id_contact_person_id_fk": {
+ "name": "event_contact_id_contact_person_id_fk",
+ "tableFrom": "event",
+ "tableTo": "contact_person",
+ "columnsFrom": [
+ "contact_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "event_photo_id_media_id_fk": {
+ "name": "event_photo_id_media_id_fk",
+ "tableFrom": "event",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "event_flyer_id_documents_id_fk": {
+ "name": "event_flyer_id_documents_id_fk",
+ "tableFrom": "event",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "flyer_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.event_rels": {
+ "name": "event_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parish_id": {
+ "name": "parish_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "group_id": {
+ "name": "group_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "event_rels_order_idx": {
+ "name": "event_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_rels_parent_idx": {
+ "name": "event_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_rels_path_idx": {
+ "name": "event_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_rels_parish_id_idx": {
+ "name": "event_rels_parish_id_idx",
+ "columns": [
+ {
+ "expression": "parish_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "event_rels_group_id_idx": {
+ "name": "event_rels_group_id_idx",
+ "columns": [
+ {
+ "expression": "group_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "event_rels_parent_fk": {
+ "name": "event_rels_parent_fk",
+ "tableFrom": "event_rels",
+ "tableTo": "event",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "event_rels_parish_fk": {
+ "name": "event_rels_parish_fk",
+ "tableFrom": "event_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parish_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "event_rels_group_fk": {
+ "name": "event_rels_group_fk",
+ "tableFrom": "event_rels",
+ "tableTo": "group",
+ "columnsFrom": [
+ "group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.classifieds": {
+ "name": "classifieds",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "until": {
+ "name": "until",
+ "type": "timestamp(3) with time zone",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'2025-09-17T14:31:15.112Z'"
+ },
+ "text": {
+ "name": "text",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "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": {
+ "classifieds_updated_at_idx": {
+ "name": "classifieds_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "classifieds_created_at_idx": {
+ "name": "classifieds_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.contact_person": {
+ "name": "contact_person",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "telephone": {
+ "name": "telephone",
+ "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": {
+ "contact_person_photo_idx": {
+ "name": "contact_person_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "contact_person_updated_at_idx": {
+ "name": "contact_person_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "contact_person_created_at_idx": {
+ "name": "contact_person_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "contact_person_photo_id_media_id_fk": {
+ "name": "contact_person_photo_id_media_id_fk",
+ "tableFrom": "contact_person",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.locations": {
+ "name": "locations",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "address": {
+ "name": "address",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "coordinates": {
+ "name": "coordinates",
+ "type": "geometry(Point)",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "notes": {
+ "name": "notes",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "barrier_free": {
+ "name": "barrier_free",
+ "type": "boolean",
+ "primaryKey": false,
+ "notNull": false,
+ "default": 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": {
+ "locations_name_idx": {
+ "name": "locations_name_idx",
+ "columns": [
+ {
+ "expression": "name",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locations_updated_at_idx": {
+ "name": "locations_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "locations_created_at_idx": {
+ "name": "locations_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.group_blocks_text": {
+ "name": "group_blocks_text",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "content": {
+ "name": "content",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "content_html": {
+ "name": "content_html",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "width": {
+ "name": "width",
+ "type": "enum_group_blocks_text_width",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'1/2'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_text_order_idx": {
+ "name": "group_blocks_text_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_text_parent_id_idx": {
+ "name": "group_blocks_text_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_text_path_idx": {
+ "name": "group_blocks_text_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_text_parent_id_fk": {
+ "name": "group_blocks_text_parent_id_fk",
+ "tableFrom": "group_blocks_text",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_gallery_items": {
+ "name": "group_blocks_gallery_items",
+ "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
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "group_blocks_gallery_items_order_idx": {
+ "name": "group_blocks_gallery_items_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_gallery_items_parent_id_idx": {
+ "name": "group_blocks_gallery_items_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_gallery_items_photo_idx": {
+ "name": "group_blocks_gallery_items_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_gallery_items_photo_id_media_id_fk": {
+ "name": "group_blocks_gallery_items_photo_id_media_id_fk",
+ "tableFrom": "group_blocks_gallery_items",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "group_blocks_gallery_items_parent_id_fk": {
+ "name": "group_blocks_gallery_items_parent_id_fk",
+ "tableFrom": "group_blocks_gallery_items",
+ "tableTo": "group_blocks_gallery",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_gallery": {
+ "name": "group_blocks_gallery",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_gallery_order_idx": {
+ "name": "group_blocks_gallery_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_gallery_parent_id_idx": {
+ "name": "group_blocks_gallery_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_gallery_path_idx": {
+ "name": "group_blocks_gallery_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_gallery_parent_id_fk": {
+ "name": "group_blocks_gallery_parent_id_fk",
+ "tableFrom": "group_blocks_gallery",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_document": {
+ "name": "group_blocks_document",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "file_id": {
+ "name": "file_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "button": {
+ "name": "button",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Download Flyer'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_document_order_idx": {
+ "name": "group_blocks_document_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_document_parent_id_idx": {
+ "name": "group_blocks_document_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_document_path_idx": {
+ "name": "group_blocks_document_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_document_file_idx": {
+ "name": "group_blocks_document_file_idx",
+ "columns": [
+ {
+ "expression": "file_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_document_file_id_documents_id_fk": {
+ "name": "group_blocks_document_file_id_documents_id_fk",
+ "tableFrom": "group_blocks_document",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "file_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "group_blocks_document_parent_id_fk": {
+ "name": "group_blocks_document_parent_id_fk",
+ "tableFrom": "group_blocks_document",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_donation": {
+ "name": "group_blocks_donation",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_donation_order_idx": {
+ "name": "group_blocks_donation_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_donation_parent_id_idx": {
+ "name": "group_blocks_donation_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_donation_path_idx": {
+ "name": "group_blocks_donation_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_donation_parent_id_fk": {
+ "name": "group_blocks_donation_parent_id_fk",
+ "tableFrom": "group_blocks_donation",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_contactform": {
+ "name": "group_blocks_contactform",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Ich bin dabei!'"
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'Um dich anzumelden oder uns zu unterstützen, fülle bitte das Kontaktformular aus. Wir freuen uns sehr, dass du Teil unserer Gemeinschaft bist und mit deinem Engagement dazu beiträgst, unsere Ziele zu erreichen. Solltest du Fragen haben oder weitere Informationen benötigen, zögere nicht, uns zu kontaktieren – wir sind gerne für dich da!'"
+ },
+ "email": {
+ "name": "email",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'kontakt@dreikoenige.berlin'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_contactform_order_idx": {
+ "name": "group_blocks_contactform_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_contactform_parent_id_idx": {
+ "name": "group_blocks_contactform_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_contactform_path_idx": {
+ "name": "group_blocks_contactform_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_contactform_parent_id_fk": {
+ "name": "group_blocks_contactform_parent_id_fk",
+ "tableFrom": "group_blocks_contactform",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group_blocks_button": {
+ "name": "group_blocks_button",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "url": {
+ "name": "url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "group_blocks_button_order_idx": {
+ "name": "group_blocks_button_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_button_parent_id_idx": {
+ "name": "group_blocks_button_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_blocks_button_path_idx": {
+ "name": "group_blocks_button_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_blocks_button_parent_id_fk": {
+ "name": "group_blocks_button_parent_id_fk",
+ "tableFrom": "group_blocks_button",
+ "tableTo": "group",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.group": {
+ "name": "group",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "short_description": {
+ "name": "short_description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "jsonb",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "text_html": {
+ "name": "text_html",
+ "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": {
+ "group_photo_idx": {
+ "name": "group_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_slug_idx": {
+ "name": "group_slug_idx",
+ "columns": [
+ {
+ "expression": "slug",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": true,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_updated_at_idx": {
+ "name": "group_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "group_created_at_idx": {
+ "name": "group_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "group_photo_id_media_id_fk": {
+ "name": "group_photo_id_media_id_fk",
+ "tableFrom": "group",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.documents": {
+ "name": "documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "prefix": {
+ "name": "prefix",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false,
+ "default": "'documents/'"
+ },
+ "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": {
+ "documents_updated_at_idx": {
+ "name": "documents_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "documents_created_at_idx": {
+ "name": "documents_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "documents_filename_idx": {
+ "name": "documents_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.media": {
+ "name": "media",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "alt": {
+ "name": "alt",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "search": {
+ "name": "search",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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
+ },
+ "sizes_thumbnail_url": {
+ "name": "sizes_thumbnail_url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_thumbnail_width": {
+ "name": "sizes_thumbnail_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_thumbnail_height": {
+ "name": "sizes_thumbnail_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_thumbnail_mime_type": {
+ "name": "sizes_thumbnail_mime_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_thumbnail_filesize": {
+ "name": "sizes_thumbnail_filesize",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_thumbnail_filename": {
+ "name": "sizes_thumbnail_filename",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_url": {
+ "name": "sizes_banner_url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_width": {
+ "name": "sizes_banner_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_height": {
+ "name": "sizes_banner_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_mime_type": {
+ "name": "sizes_banner_mime_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_filesize": {
+ "name": "sizes_banner_filesize",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_banner_filename": {
+ "name": "sizes_banner_filename",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_url": {
+ "name": "sizes_gallery_url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_width": {
+ "name": "sizes_gallery_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_height": {
+ "name": "sizes_gallery_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_mime_type": {
+ "name": "sizes_gallery_mime_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_filesize": {
+ "name": "sizes_gallery_filesize",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_gallery_filename": {
+ "name": "sizes_gallery_filename",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_url": {
+ "name": "sizes_tablet_url",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_width": {
+ "name": "sizes_tablet_width",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_height": {
+ "name": "sizes_tablet_height",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_mime_type": {
+ "name": "sizes_tablet_mime_type",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_filesize": {
+ "name": "sizes_tablet_filesize",
+ "type": "numeric",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "sizes_tablet_filename": {
+ "name": "sizes_tablet_filename",
+ "type": "varchar",
+ "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": {}
+ },
+ "media_sizes_thumbnail_sizes_thumbnail_filename_idx": {
+ "name": "media_sizes_thumbnail_sizes_thumbnail_filename_idx",
+ "columns": [
+ {
+ "expression": "sizes_thumbnail_filename",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "media_sizes_banner_sizes_banner_filename_idx": {
+ "name": "media_sizes_banner_sizes_banner_filename_idx",
+ "columns": [
+ {
+ "expression": "sizes_banner_filename",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "media_sizes_gallery_sizes_gallery_filename_idx": {
+ "name": "media_sizes_gallery_sizes_gallery_filename_idx",
+ "columns": [
+ {
+ "expression": "sizes_gallery_filename",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "media_sizes_tablet_sizes_tablet_filename_idx": {
+ "name": "media_sizes_tablet_sizes_tablet_filename_idx",
+ "columns": [
+ {
+ "expression": "sizes_tablet_filename",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.users": {
+ "name": "users",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "''"
+ },
+ "roles": {
+ "name": "roles",
+ "type": "enum_users_roles",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'user'"
+ },
+ "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.users_rels": {
+ "name": "users_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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "group_id": {
+ "name": "group_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "users_rels_order_idx": {
+ "name": "users_rels_order_idx",
+ "columns": [
+ {
+ "expression": "order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_parent_idx": {
+ "name": "users_rels_parent_idx",
+ "columns": [
+ {
+ "expression": "parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_path_idx": {
+ "name": "users_rels_path_idx",
+ "columns": [
+ {
+ "expression": "path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "users_rels_group_id_idx": {
+ "name": "users_rels_group_id_idx",
+ "columns": [
+ {
+ "expression": "group_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "users_rels_parent_fk": {
+ "name": "users_rels_parent_fk",
+ "tableFrom": "users_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "users_rels_group_fk": {
+ "name": "users_rels_group_fk",
+ "tableFrom": "users_rels",
+ "tableTo": "group",
+ "columnsFrom": [
+ "group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payload_locked_documents": {
+ "name": "payload_locked_documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "parish_id": {
+ "name": "parish_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "church_id": {
+ "name": "church_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "worship_id": {
+ "name": "worship_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "pope_prayer_intentions_id": {
+ "name": "pope_prayer_intentions_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "announcement_id": {
+ "name": "announcement_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "calendar_id": {
+ "name": "calendar_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "blog_id": {
+ "name": "blog_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "highlight_id": {
+ "name": "highlight_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "event_id": {
+ "name": "event_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "classifieds_id": {
+ "name": "classifieds_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "contact_person_id": {
+ "name": "contact_person_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "locations_id": {
+ "name": "locations_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "group_id": {
+ "name": "group_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "documents_id": {
+ "name": "documents_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "media_id": {
+ "name": "media_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "users_id": {
+ "name": "users_id",
+ "type": "uuid",
+ "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_parish_id_idx": {
+ "name": "payload_locked_documents_rels_parish_id_idx",
+ "columns": [
+ {
+ "expression": "parish_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_church_id_idx": {
+ "name": "payload_locked_documents_rels_church_id_idx",
+ "columns": [
+ {
+ "expression": "church_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_worship_id_idx": {
+ "name": "payload_locked_documents_rels_worship_id_idx",
+ "columns": [
+ {
+ "expression": "worship_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_pope_prayer_intentions_id_idx": {
+ "name": "payload_locked_documents_rels_pope_prayer_intentions_id_idx",
+ "columns": [
+ {
+ "expression": "pope_prayer_intentions_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_announcement_id_idx": {
+ "name": "payload_locked_documents_rels_announcement_id_idx",
+ "columns": [
+ {
+ "expression": "announcement_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_calendar_id_idx": {
+ "name": "payload_locked_documents_rels_calendar_id_idx",
+ "columns": [
+ {
+ "expression": "calendar_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_blog_id_idx": {
+ "name": "payload_locked_documents_rels_blog_id_idx",
+ "columns": [
+ {
+ "expression": "blog_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_highlight_id_idx": {
+ "name": "payload_locked_documents_rels_highlight_id_idx",
+ "columns": [
+ {
+ "expression": "highlight_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_event_id_idx": {
+ "name": "payload_locked_documents_rels_event_id_idx",
+ "columns": [
+ {
+ "expression": "event_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_classifieds_id_idx": {
+ "name": "payload_locked_documents_rels_classifieds_id_idx",
+ "columns": [
+ {
+ "expression": "classifieds_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_contact_person_id_idx": {
+ "name": "payload_locked_documents_rels_contact_person_id_idx",
+ "columns": [
+ {
+ "expression": "contact_person_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_locations_id_idx": {
+ "name": "payload_locked_documents_rels_locations_id_idx",
+ "columns": [
+ {
+ "expression": "locations_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_group_id_idx": {
+ "name": "payload_locked_documents_rels_group_id_idx",
+ "columns": [
+ {
+ "expression": "group_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_documents_id_idx": {
+ "name": "payload_locked_documents_rels_documents_id_idx",
+ "columns": [
+ {
+ "expression": "documents_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_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": {}
+ }
+ },
+ "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_parish_fk": {
+ "name": "payload_locked_documents_rels_parish_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "parish",
+ "columnsFrom": [
+ "parish_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_church_fk": {
+ "name": "payload_locked_documents_rels_church_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "church",
+ "columnsFrom": [
+ "church_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_worship_fk": {
+ "name": "payload_locked_documents_rels_worship_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "worship",
+ "columnsFrom": [
+ "worship_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_pope_prayer_intentions_fk": {
+ "name": "payload_locked_documents_rels_pope_prayer_intentions_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "pope_prayer_intentions",
+ "columnsFrom": [
+ "pope_prayer_intentions_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_announcement_fk": {
+ "name": "payload_locked_documents_rels_announcement_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "announcement",
+ "columnsFrom": [
+ "announcement_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_calendar_fk": {
+ "name": "payload_locked_documents_rels_calendar_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "calendar",
+ "columnsFrom": [
+ "calendar_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_blog_fk": {
+ "name": "payload_locked_documents_rels_blog_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "blog",
+ "columnsFrom": [
+ "blog_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_highlight_fk": {
+ "name": "payload_locked_documents_rels_highlight_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "highlight",
+ "columnsFrom": [
+ "highlight_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_event_fk": {
+ "name": "payload_locked_documents_rels_event_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "event",
+ "columnsFrom": [
+ "event_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_classifieds_fk": {
+ "name": "payload_locked_documents_rels_classifieds_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "classifieds",
+ "columnsFrom": [
+ "classifieds_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_contact_person_fk": {
+ "name": "payload_locked_documents_rels_contact_person_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "contact_person",
+ "columnsFrom": [
+ "contact_person_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_locations_fk": {
+ "name": "payload_locked_documents_rels_locations_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "locations",
+ "columnsFrom": [
+ "locations_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_group_fk": {
+ "name": "payload_locked_documents_rels_group_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "group",
+ "columnsFrom": [
+ "group_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_documents_fk": {
+ "name": "payload_locked_documents_rels_documents_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "documents",
+ "columnsFrom": [
+ "documents_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_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"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.payload_preferences": {
+ "name": "payload_preferences",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "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": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "path": {
+ "name": "path",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "users_id": {
+ "name": "users_id",
+ "type": "uuid",
+ "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": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "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.menu_blocks_simple_item": {
+ "name": "menu_blocks_simple_item",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "href": {
+ "name": "href",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "type": {
+ "name": "type",
+ "type": "enum_menu_blocks_simple_item_type",
+ "typeSchema": "public",
+ "primaryKey": false,
+ "notNull": true,
+ "default": "'default'"
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "menu_blocks_simple_item_order_idx": {
+ "name": "menu_blocks_simple_item_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_simple_item_parent_id_idx": {
+ "name": "menu_blocks_simple_item_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_simple_item_path_idx": {
+ "name": "menu_blocks_simple_item_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_blocks_simple_item_parent_id_fk": {
+ "name": "menu_blocks_simple_item_parent_id_fk",
+ "tableFrom": "menu_blocks_simple_item",
+ "tableTo": "menu",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu_blocks_mega_menu_groups_items": {
+ "name": "menu_blocks_mega_menu_groups_items",
+ "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
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "description": {
+ "name": "description",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "href": {
+ "name": "href",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "menu_blocks_mega_menu_groups_items_order_idx": {
+ "name": "menu_blocks_mega_menu_groups_items_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_mega_menu_groups_items_parent_id_idx": {
+ "name": "menu_blocks_mega_menu_groups_items_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_blocks_mega_menu_groups_items_parent_id_fk": {
+ "name": "menu_blocks_mega_menu_groups_items_parent_id_fk",
+ "tableFrom": "menu_blocks_mega_menu_groups_items",
+ "tableTo": "menu_blocks_mega_menu_groups",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu_blocks_mega_menu_groups": {
+ "name": "menu_blocks_mega_menu_groups",
+ "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
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ }
+ },
+ "indexes": {
+ "menu_blocks_mega_menu_groups_order_idx": {
+ "name": "menu_blocks_mega_menu_groups_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_mega_menu_groups_parent_id_idx": {
+ "name": "menu_blocks_mega_menu_groups_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_blocks_mega_menu_groups_parent_id_fk": {
+ "name": "menu_blocks_mega_menu_groups_parent_id_fk",
+ "tableFrom": "menu_blocks_mega_menu_groups",
+ "tableTo": "menu_blocks_mega_menu",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu_blocks_mega_menu": {
+ "name": "menu_blocks_mega_menu",
+ "schema": "",
+ "columns": {
+ "_order": {
+ "name": "_order",
+ "type": "integer",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_parent_id": {
+ "name": "_parent_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "_path": {
+ "name": "_path",
+ "type": "text",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "id": {
+ "name": "id",
+ "type": "varchar",
+ "primaryKey": true,
+ "notNull": true
+ },
+ "text": {
+ "name": "text",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "quote": {
+ "name": "quote",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "source": {
+ "name": "source",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "menu_blocks_mega_menu_order_idx": {
+ "name": "menu_blocks_mega_menu_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_mega_menu_parent_id_idx": {
+ "name": "menu_blocks_mega_menu_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "menu_blocks_mega_menu_path_idx": {
+ "name": "menu_blocks_mega_menu_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "menu_blocks_mega_menu_parent_id_fk": {
+ "name": "menu_blocks_mega_menu_parent_id_fk",
+ "tableFrom": "menu_blocks_mega_menu",
+ "tableTo": "menu",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.menu": {
+ "name": "menu",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "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": {},
+ "foreignKeys": {},
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ }
+ },
+ "enums": {
+ "public.enum_worship_type": {
+ "name": "enum_worship_type",
+ "schema": "public",
+ "values": [
+ "MASS",
+ "FAMILY",
+ "WORD"
+ ]
+ },
+ "public.enum_pope_prayer_intentions_month": {
+ "name": "enum_pope_prayer_intentions_month",
+ "schema": "public",
+ "values": [
+ "01",
+ "02",
+ "03",
+ "04",
+ "05",
+ "06",
+ "07",
+ "08",
+ "09",
+ "10",
+ "11",
+ "12"
+ ]
+ },
+ "public.enum_blog_blocks_text_width": {
+ "name": "enum_blog_blocks_text_width",
+ "schema": "public",
+ "values": [
+ "1/2",
+ "3/4"
+ ]
+ },
+ "public.enum_group_blocks_text_width": {
+ "name": "enum_group_blocks_text_width",
+ "schema": "public",
+ "values": [
+ "1/2",
+ "3/4"
+ ]
+ },
+ "public.enum_users_roles": {
+ "name": "enum_users_roles",
+ "schema": "public",
+ "values": [
+ "user",
+ "employee",
+ "admin"
+ ]
+ },
+ "public.enum_menu_blocks_simple_item_type": {
+ "name": "enum_menu_blocks_simple_item_type",
+ "schema": "public",
+ "values": [
+ "default",
+ "button"
+ ]
+ }
+ },
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "schemas": {},
+ "tables": {},
+ "columns": {}
+ }
+}
\ No newline at end of file
diff --git a/src/migrations/20250818_143115_menu.ts b/src/migrations/20250818_143115_menu.ts
new file mode 100644
index 0000000..67f0846
--- /dev/null
+++ b/src/migrations/20250818_143115_menu.ts
@@ -0,0 +1,105 @@
+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_menu_blocks_simple_item_type" AS ENUM('default', 'button');
+ CREATE TABLE IF NOT EXISTS "menu_blocks_simple_item" (
+ "_order" integer NOT NULL,
+ "_parent_id" uuid NOT NULL,
+ "_path" text NOT NULL,
+ "id" varchar PRIMARY KEY NOT NULL,
+ "text" varchar NOT NULL,
+ "href" varchar NOT NULL,
+ "type" "enum_menu_blocks_simple_item_type" DEFAULT 'default' NOT NULL,
+ "block_name" varchar
+ );
+
+ CREATE TABLE IF NOT EXISTS "menu_blocks_mega_menu_groups_items" (
+ "_order" integer NOT NULL,
+ "_parent_id" varchar NOT NULL,
+ "id" varchar PRIMARY KEY NOT NULL,
+ "title" varchar NOT NULL,
+ "description" varchar NOT NULL,
+ "href" varchar NOT NULL
+ );
+
+ CREATE TABLE IF NOT EXISTS "menu_blocks_mega_menu_groups" (
+ "_order" integer NOT NULL,
+ "_parent_id" varchar NOT NULL,
+ "id" varchar PRIMARY KEY NOT NULL,
+ "title" varchar NOT NULL
+ );
+
+ CREATE TABLE IF NOT EXISTS "menu_blocks_mega_menu" (
+ "_order" integer NOT NULL,
+ "_parent_id" uuid NOT NULL,
+ "_path" text NOT NULL,
+ "id" varchar PRIMARY KEY NOT NULL,
+ "text" varchar NOT NULL,
+ "quote" varchar NOT NULL,
+ "source" varchar NOT NULL,
+ "block_name" varchar
+ );
+
+ CREATE TABLE IF NOT EXISTS "menu" (
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
+ "updated_at" timestamp(3) with time zone,
+ "created_at" timestamp(3) with time zone
+ );
+
+ ALTER TABLE "announcement" ALTER COLUMN "date" SET DEFAULT '2025-08-24T14:31:15.010Z';
+ ALTER TABLE "calendar" ALTER COLUMN "date" SET DEFAULT '2025-08-24T14:31:15.092Z';
+ ALTER TABLE "classifieds" ALTER COLUMN "until" SET DEFAULT '2025-09-17T14:31:15.112Z';
+ DO $$ BEGIN
+ ALTER TABLE "menu_blocks_simple_item" ADD CONSTRAINT "menu_blocks_simple_item_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."menu"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ DO $$ BEGIN
+ ALTER TABLE "menu_blocks_mega_menu_groups_items" ADD CONSTRAINT "menu_blocks_mega_menu_groups_items_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."menu_blocks_mega_menu_groups"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ DO $$ BEGIN
+ ALTER TABLE "menu_blocks_mega_menu_groups" ADD CONSTRAINT "menu_blocks_mega_menu_groups_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."menu_blocks_mega_menu"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ DO $$ BEGIN
+ ALTER TABLE "menu_blocks_mega_menu" ADD CONSTRAINT "menu_blocks_mega_menu_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."menu"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ CREATE INDEX IF NOT EXISTS "menu_blocks_simple_item_order_idx" ON "menu_blocks_simple_item" USING btree ("_order");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_simple_item_parent_id_idx" ON "menu_blocks_simple_item" USING btree ("_parent_id");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_simple_item_path_idx" ON "menu_blocks_simple_item" USING btree ("_path");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_groups_items_order_idx" ON "menu_blocks_mega_menu_groups_items" USING btree ("_order");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_groups_items_parent_id_idx" ON "menu_blocks_mega_menu_groups_items" USING btree ("_parent_id");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_groups_order_idx" ON "menu_blocks_mega_menu_groups" USING btree ("_order");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_groups_parent_id_idx" ON "menu_blocks_mega_menu_groups" USING btree ("_parent_id");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_order_idx" ON "menu_blocks_mega_menu" USING btree ("_order");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_parent_id_idx" ON "menu_blocks_mega_menu" USING btree ("_parent_id");
+ CREATE INDEX IF NOT EXISTS "menu_blocks_mega_menu_path_idx" ON "menu_blocks_mega_menu" USING btree ("_path");`)
+}
+
+export async function down({ db, payload, req }: MigrateDownArgs): Promise {
+ await db.execute(sql`
+ ALTER TABLE "menu_blocks_simple_item" DISABLE ROW LEVEL SECURITY;
+ ALTER TABLE "menu_blocks_mega_menu_groups_items" DISABLE ROW LEVEL SECURITY;
+ ALTER TABLE "menu_blocks_mega_menu_groups" DISABLE ROW LEVEL SECURITY;
+ ALTER TABLE "menu_blocks_mega_menu" DISABLE ROW LEVEL SECURITY;
+ ALTER TABLE "menu" DISABLE ROW LEVEL SECURITY;
+ DROP TABLE "menu_blocks_simple_item" CASCADE;
+ DROP TABLE "menu_blocks_mega_menu_groups_items" CASCADE;
+ DROP TABLE "menu_blocks_mega_menu_groups" CASCADE;
+ DROP TABLE "menu_blocks_mega_menu" CASCADE;
+ DROP TABLE "menu" CASCADE;
+ ALTER TABLE "announcement" ALTER COLUMN "date" SET DEFAULT '2025-06-15T10:51:24.116Z';
+ ALTER TABLE "calendar" ALTER COLUMN "date" SET DEFAULT '2025-06-15T10:51:24.203Z';
+ ALTER TABLE "classifieds" ALTER COLUMN "until" SET DEFAULT '2025-07-08T10:51:24.219Z';
+ DROP TYPE "public"."enum_menu_blocks_simple_item_type";`)
+}
diff --git a/src/migrations/index.ts b/src/migrations/index.ts
index f83532c..51efe79 100644
--- a/src/migrations/index.ts
+++ b/src/migrations/index.ts
@@ -7,6 +7,7 @@ import * as migration_20250224_083653_cleanup from './20250224_083653_cleanup';
import * as migration_20250319_101337_donationbox from './20250319_101337_donationbox';
import * as migration_20250322_134918_classifieds from './20250322_134918_classifieds';
import * as migration_20250608_105124_new_blocks from './20250608_105124_new_blocks';
+import * as migration_20250818_143115_menu from './20250818_143115_menu';
export const migrations = [
{
@@ -52,6 +53,11 @@ export const migrations = [
{
up: migration_20250608_105124_new_blocks.up,
down: migration_20250608_105124_new_blocks.down,
- name: '20250608_105124_new_blocks'
+ name: '20250608_105124_new_blocks',
+ },
+ {
+ up: migration_20250818_143115_menu.up,
+ down: migration_20250818_143115_menu.down,
+ name: '20250818_143115_menu'
},
];
diff --git a/src/pageComponents/Parish/Parish.stories.tsx b/src/pageComponents/Parish/Parish.stories.tsx
index f71aade..a5ca252 100644
--- a/src/pageComponents/Parish/Parish.stories.tsx
+++ b/src/pageComponents/Parish/Parish.stories.tsx
@@ -13,174 +13,17 @@ const meta: Meta = {
leftItems: [
{
text: 'Home',
- href: '/'
+ href: '/',
+ type: 'default',
+ blockType: 'simple-item'
},
- {
- text: 'Gemeinschaft finden',
- megaMenu: {
- text: {
- quote: '',
- source: ''
- },
- groups: [
- {
- title: "Gemeinden",
- items: [
- {
- title: "St. Richard",
- description: "Mehr informationen",
- href: "/gemeinde/st-richard"
- },
- {
- title: "St. Christophorus",
- description: "Mehr informationen",
- href: "/gemeinde/st-christophorus"
- },
- {
- title: "St. Clara",
- description: "Mehr informationen",
- href: "/gemeinde/st-clara"
- },
- ]
- },
- {
- title: "Gruppen",
- items: [
- {
- title: "Kathoccino",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Credo & Agape",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Mädchengruppe",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Alphakurs",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- },
- {
- title: "Aktivitaten",
- items: [
- {
- title: "Kochen",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Lernen",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Wandern",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Singen",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- }
- ]
- }
- },
- {
- text: 'Glauben lauben',
- megaMenu: {
- text: {
- quote: '',
- source: ''
- },
- groups: [
- {
- title: "Sakramenten",
- items: [
- {
- title: "Taufe",
- description: "Neues Leben in Christus",
- href: "/sakramente/taufe"
- },
- {
- title: "Eucharistie",
- description: "Gemeinschaft durch Brot und Wein",
- href: "/sakramente/eucharistie"
- },
- {
- title: "Firmung",
- description: "Stärkung im Heiligen Geist",
- href: "/sakramente/firmung"
- },
- {
- title: "Ehe",
- description: "Bund in Liebe, Treue",
- href: "/sakramente/ehe"
- },
- {
- title: "Beichte",
- description: "Sündenbekenntnis, Vergebung und Neuanfang mit Gottes Gnade",
- href: "/sakramente/beichte"
- },
- {
- title: "Krankensalbung",
- description: "Stärkung und Gottes Beistand",
- href: "/sakramente/krankensalbung"
- }
- ]
- },
- {
- title: "Gebet",
- items: [
- {
- title: "Gottesdienste",
- description: "Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Rosenkranz",
- description: "Gebet der Meditation",
- href: "https://"
- },
- {
- title: "Anbetung",
- description: "Stille Begegnung mit Gott",
- href: "https://"
- },
- {
- title: "Lobpreis",
- description: "Dank, Ehre und Freude",
- href: "https://"
- },
- ]
- }
- ]
- }
- },
- {
- text: 'Kontakt',
- href: '/kontakt'
- }
],
rightItems: [
{
text: 'Mithelfen',
href: '/mithelfen',
- },
- {
- text: 'Neu hier?',
- href: '/ich-bin-neu',
- display: "button"
+ type: 'default',
+ blockType: 'simple-item'
}
]
}}/>
diff --git a/src/payload-types.ts b/src/payload-types.ts
index 6a352c6..e7a78b7 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -56,8 +56,12 @@ export interface Config {
db: {
defaultIDType: string;
};
- globals: {};
- globalsSelect: {};
+ globals: {
+ menu: Menu;
+ };
+ globalsSelect: {
+ menu: MenuSelect | MenuSelect;
+ };
locale: null;
user: User & {
collection: 'users';
@@ -1089,6 +1093,154 @@ export interface PayloadMigrationsSelect {
updatedAt?: T;
createdAt?: T;
}
+/**
+ * Hier können Sie die Einträge und die Reihenfolge der Hauptnavigation festlegen.
+ *
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "menu".
+ */
+export interface Menu {
+ id: string;
+ leftItems: (
+ | {
+ text: string;
+ href: string;
+ type: 'default' | 'button';
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'simple-item';
+ }
+ | {
+ text: string;
+ quote: string;
+ source: string;
+ groups: {
+ title: string;
+ items: {
+ title: string;
+ description: string;
+ href: string;
+ id?: string | null;
+ }[];
+ id?: string | null;
+ }[];
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'mega-menu';
+ }
+ )[];
+ rightItems: (
+ | {
+ text: string;
+ href: string;
+ type: 'default' | 'button';
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'simple-item';
+ }
+ | {
+ text: string;
+ quote: string;
+ source: string;
+ groups: {
+ title: string;
+ items: {
+ title: string;
+ description: string;
+ href: string;
+ id?: string | null;
+ }[];
+ id?: string | null;
+ }[];
+ id?: string | null;
+ blockName?: string | null;
+ blockType: 'mega-menu';
+ }
+ )[];
+ updatedAt?: string | null;
+ createdAt?: string | null;
+}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "menu_select".
+ */
+export interface MenuSelect {
+ leftItems?:
+ | T
+ | {
+ 'simple-item'?:
+ | T
+ | {
+ text?: T;
+ href?: T;
+ type?: T;
+ id?: T;
+ blockName?: T;
+ };
+ 'mega-menu'?:
+ | T
+ | {
+ text?: T;
+ quote?: T;
+ source?: T;
+ groups?:
+ | T
+ | {
+ title?: T;
+ items?:
+ | T
+ | {
+ title?: T;
+ description?: T;
+ href?: T;
+ id?: T;
+ };
+ id?: T;
+ };
+ id?: T;
+ blockName?: T;
+ };
+ };
+ rightItems?:
+ | T
+ | {
+ 'simple-item'?:
+ | T
+ | {
+ text?: T;
+ href?: T;
+ type?: T;
+ id?: T;
+ blockName?: T;
+ };
+ 'mega-menu'?:
+ | T
+ | {
+ text?: T;
+ quote?: T;
+ source?: T;
+ groups?:
+ | T
+ | {
+ title?: T;
+ items?:
+ | T
+ | {
+ title?: T;
+ description?: T;
+ href?: T;
+ id?: T;
+ };
+ id?: T;
+ };
+ id?: T;
+ blockName?: T;
+ };
+ };
+ updatedAt?: T;
+ createdAt?: T;
+ globalType?: T;
+}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "auth".
diff --git a/src/payload.config.ts b/src/payload.config.ts
index 56a4ae5..34b68dc 100644
--- a/src/payload.config.ts
+++ b/src/payload.config.ts
@@ -36,6 +36,7 @@ import { gcsStorage } from '@payloadcms/storage-gcs'
import { PopesPrayerIntentions } from '@/collections/PopesPrayerIntentions'
import { LiturgicalCalendar } from '@/collections/LiturgicalCalendar'
import { Classifieds } from '@/collections/Classifieds'
+import { MenuGlobal } from '@/globals/Menu'
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
@@ -92,6 +93,9 @@ export default buildConfig({
Media,
Users,
],
+ globals: [
+ MenuGlobal
+ ],
graphQL: {
disable: true
},