diff --git a/src/app/gemeinde/[slug]/page.tsx b/src/app/gemeinde/[slug]/page.tsx
index 0232c42..00b5073 100644
--- a/src/app/gemeinde/[slug]/page.tsx
+++ b/src/app/gemeinde/[slug]/page.tsx
@@ -5,6 +5,7 @@ import { fetchWorship } from '@/fetch/worship'
import { fetchParish } from '@/fetch/parish'
import { fetchLastAnnouncement } from '@/fetch/announcement'
import { transformGallery } from '@/utils/dto/gallery'
+import { fetchLastCalendar } from '@/fetch/calendar'
export default async function ParishPage ({ params }: { params: Promise<{slug: string}>}) {
@@ -30,6 +31,7 @@ export default async function ParishPage ({ params }: { params: Promise<{slug: s
const churchIds = churches.map(c => typeof c === "string" ? c : c.id)
const worship = await fetchWorship({ locations: churchIds })
const announcement = await fetchLastAnnouncement(id);
+ const calendar = await fetchLastCalendar(id);
return (
)
diff --git a/src/collections/Announcements.ts b/src/collections/Announcements.ts
index 98cc91a..897258f 100644
--- a/src/collections/Announcements.ts
+++ b/src/collections/Announcements.ts
@@ -1,5 +1,6 @@
import { CollectionConfig } from 'payload'
import { isAdminOrEmployee } from '@/collections/access/admin'
+import { nextSunday } from '@/utils/sunday'
export const Announcements: CollectionConfig = {
slug: 'announcement',
@@ -18,7 +19,8 @@ export const Announcements: CollectionConfig = {
required: true,
label: {
de: 'Datum'
- }
+ },
+ defaultValue: nextSunday()
},
{
name: 'parish',
diff --git a/src/collections/LiturgicalCalendar.ts b/src/collections/LiturgicalCalendar.ts
new file mode 100644
index 0000000..33b3c63
--- /dev/null
+++ b/src/collections/LiturgicalCalendar.ts
@@ -0,0 +1,55 @@
+import { CollectionConfig } from 'payload'
+import { isAdminOrEmployee } from '@/collections/access/admin'
+import { nextSunday } from '@/utils/sunday'
+
+export const LiturgicalCalendar: CollectionConfig = {
+ slug: "calendar",
+ labels: {
+ singular: {
+ de: "Liturgischer Kalendar"
+ },
+ plural: {
+ de: "Liturgischer Kalendar"
+ }
+ },
+ fields: [
+ {
+ name: 'date',
+ type: 'date',
+ required: true,
+ label: {
+ de: 'Datum'
+ },
+ defaultValue: nextSunday()
+ },
+ {
+ name: 'parish',
+ type: "relationship",
+ relationTo: 'parish',
+ required: true,
+ hasMany: true,
+ label: {
+ de: "Gemeinde"
+ },
+ admin: {
+ allowCreate: false,
+ allowEdit: false
+ }
+ },
+ {
+ name: 'document',
+ label: {
+ de: "PDF-Dokument"
+ },
+ type: 'upload',
+ relationTo: 'documents',
+ required: true
+ }
+ ],
+ access: {
+ read: () => true,
+ create: isAdminOrEmployee(),
+ update: isAdminOrEmployee(),
+ delete: isAdminOrEmployee(),
+ }
+}
\ No newline at end of file
diff --git a/src/components/Button/Button.tsx b/src/components/Button/Button.tsx
index 4eb2ae3..2026d80 100644
--- a/src/components/Button/Button.tsx
+++ b/src/components/Button/Button.tsx
@@ -6,6 +6,7 @@ type ButtonProps = {
schema?: 'base' | 'shade' | 'contrast'
type?: "button" | "submit" | "reset",
href?: string,
+ target?: "_blank" | "_self"
children: React.ReactNode,
onClick?: () => void,
}
@@ -17,7 +18,8 @@ export function Button(
size,
children,
onClick,
- href
+ href,
+ target = "_self"
}: ButtonProps
) {
const style = classNames({
@@ -34,6 +36,7 @@ export function Button(
href={href}
onClick={onClick}
className={style}
+ target={target}
>
{children}
diff --git a/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.stories.tsx b/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.stories.tsx
new file mode 100644
index 0000000..9ea659c
--- /dev/null
+++ b/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.stories.tsx
@@ -0,0 +1,32 @@
+import { Meta, StoryObj } from '@storybook/react'
+import { CalendarAnnouncementButtons } from './CalendarAnnouncementButtons'
+
+const meta: Meta = {
+ component: CalendarAnnouncementButtons,
+}
+
+type Story = StoryObj;
+export default meta
+
+export const Default: Story = {
+ args: {
+ announcements: "https://disney.com",
+ calendar: "https://google.com"
+ },
+}
+
+export const OnlyAnnouncements: Story = {
+ args: {
+ announcements: "https://disney.com",
+ },
+}
+
+export const OnlyCalendar: Story = {
+ args: {
+ calendar: "https://disney.com",
+ },
+}
+
+export const Empty: Story = {
+ args: {},
+}
\ No newline at end of file
diff --git a/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.tsx b/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.tsx
new file mode 100644
index 0000000..117015e
--- /dev/null
+++ b/src/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons.tsx
@@ -0,0 +1,34 @@
+import { Button } from '@/components/Button/Button'
+import styles from "./styles.module.scss"
+
+type CalendarAnnouncementButtonsProps = {
+ calendar?: string,
+ announcements?: string
+}
+
+export const CalendarAnnouncementButtons = ({calendar, announcements}: CalendarAnnouncementButtonsProps) => {
+ return (
+ <>
+ { calendar &&
+
+ }
+ { announcements &&
+
+
+
+ }
+ >
+ )
+}
\ No newline at end of file
diff --git a/src/compositions/CalendarAnnouncementButtons/styles.module.scss b/src/compositions/CalendarAnnouncementButtons/styles.module.scss
new file mode 100644
index 0000000..db41048
--- /dev/null
+++ b/src/compositions/CalendarAnnouncementButtons/styles.module.scss
@@ -0,0 +1,3 @@
+.margin {
+ margin-left: 5px;
+}
\ No newline at end of file
diff --git a/src/compositions/ImageWithText/styles.module.scss b/src/compositions/ImageWithText/styles.module.scss
index 1d18c84..1f516b8 100644
--- a/src/compositions/ImageWithText/styles.module.scss
+++ b/src/compositions/ImageWithText/styles.module.scss
@@ -1,5 +1,5 @@
.right {
- margin-top: 90px;
+ margin-top: 40px;
text-align: right;
}
diff --git a/src/fetch/calendar.ts b/src/fetch/calendar.ts
new file mode 100644
index 0000000..1f779f4
--- /dev/null
+++ b/src/fetch/calendar.ts
@@ -0,0 +1,41 @@
+import { stringify } from 'qs-esm'
+import { PaginatedDocs } from 'payload'
+import { Calendar } from '@/payload-types'
+
+/**
+ * Fetch last calendar for a parish
+ */
+export const fetchLastCalendar = async (parishId: string): Promise => {
+ const date = new Date();
+ date.setDate(date.getDate() - 14)
+
+ const query: any = {
+ and: [
+ {
+ parish: {
+ equals: parishId
+ }
+ },
+ {
+ date: {
+ greater_than_equal: date.toISOString(),
+ }
+ }
+ ]
+
+ }
+
+ const stringifiedQuery = stringify(
+ {
+ sort: "-date",
+ where: query,
+ limit: 1,
+ },
+ { addQueryPrefix: true },
+ )
+
+ const response = await fetch(`http://localhost:3000/api/calendar${stringifiedQuery}`)
+ if (!response.ok) return undefined
+ const announcements = await response.json() as PaginatedDocs
+ return announcements.docs[0]
+}
\ No newline at end of file
diff --git a/src/migrations/20250128_145145_liturgical_calendar.json b/src/migrations/20250128_145145_liturgical_calendar.json
new file mode 100644
index 0000000..75e50ea
--- /dev/null
+++ b/src/migrations/20250128_145145_liturgical_calendar.json
@@ -0,0 +1,6394 @@
+{
+ "id": "c2b4864a-5e2f-443a-bd97-7ae60fb38c3c",
+ "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
+ },
+ "employees_id": {
+ "name": "employees_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": {}
+ },
+ "parish_rels_employees_id_idx": {
+ "name": "parish_rels_employees_id_idx",
+ "columns": [
+ {
+ "expression": "employees_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"
+ },
+ "parish_rels_employees_fk": {
+ "name": "parish_rels_employees_fk",
+ "tableFrom": "parish_rels",
+ "tableTo": "employees",
+ "columnsFrom": [
+ "employees_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-02-02T14:51:44.981Z'"
+ },
+ "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-02-02T14:51:45.077Z'"
+ },
+ "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_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": {
+ "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()"
+ },
+ "photo_id": {
+ "name": "photo_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "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
+ },
+ "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_photo_idx": {
+ "name": "event_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "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_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_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_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_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.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_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": {
+ "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.employees": {
+ "name": "employees",
+ "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
+ },
+ "occupation": {
+ "name": "occupation",
+ "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": {
+ "employees_photo_idx": {
+ "name": "employees_photo_idx",
+ "columns": [
+ {
+ "expression": "photo_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "employees_updated_at_idx": {
+ "name": "employees_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "employees_created_at_idx": {
+ "name": "employees_created_at_idx",
+ "columns": [
+ {
+ "expression": "created_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "employees_photo_id_media_id_fk": {
+ "name": "employees_photo_id_media_id_fk",
+ "tableFrom": "employees",
+ "tableTo": "media",
+ "columnsFrom": [
+ "photo_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.testimony": {
+ "name": "testimony",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "testimony": {
+ "name": "testimony",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "occupation": {
+ "name": "occupation",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "category": {
+ "name": "category",
+ "type": "enum_testimony_category",
+ "typeSchema": "public",
+ "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": {
+ "testimony_updated_at_idx": {
+ "name": "testimony_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "testimony_created_at_idx": {
+ "name": "testimony_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.page_blocks_content": {
+ "name": "page_blocks_content",
+ "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
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "page_blocks_content_order_idx": {
+ "name": "page_blocks_content_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_content_parent_id_idx": {
+ "name": "page_blocks_content_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_content_path_idx": {
+ "name": "page_blocks_content_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "page_blocks_content_parent_id_fk": {
+ "name": "page_blocks_content_parent_id_fk",
+ "tableFrom": "page_blocks_content",
+ "tableTo": "page",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_blocks_title": {
+ "name": "page_blocks_title",
+ "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
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "page_blocks_title_order_idx": {
+ "name": "page_blocks_title_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_title_parent_id_idx": {
+ "name": "page_blocks_title_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_title_path_idx": {
+ "name": "page_blocks_title_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "page_blocks_title_parent_id_fk": {
+ "name": "page_blocks_title_parent_id_fk",
+ "tableFrom": "page_blocks_title",
+ "tableTo": "page",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page_blocks_testimony": {
+ "name": "page_blocks_testimony",
+ "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
+ },
+ "testimony_id": {
+ "name": "testimony_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "block_name": {
+ "name": "block_name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": false
+ }
+ },
+ "indexes": {
+ "page_blocks_testimony_order_idx": {
+ "name": "page_blocks_testimony_order_idx",
+ "columns": [
+ {
+ "expression": "_order",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_testimony_parent_id_idx": {
+ "name": "page_blocks_testimony_parent_id_idx",
+ "columns": [
+ {
+ "expression": "_parent_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_testimony_path_idx": {
+ "name": "page_blocks_testimony_path_idx",
+ "columns": [
+ {
+ "expression": "_path",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_blocks_testimony_testimony_idx": {
+ "name": "page_blocks_testimony_testimony_idx",
+ "columns": [
+ {
+ "expression": "testimony_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ }
+ },
+ "foreignKeys": {
+ "page_blocks_testimony_testimony_id_testimony_id_fk": {
+ "name": "page_blocks_testimony_testimony_id_testimony_id_fk",
+ "tableFrom": "page_blocks_testimony",
+ "tableTo": "testimony",
+ "columnsFrom": [
+ "testimony_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "set null",
+ "onUpdate": "no action"
+ },
+ "page_blocks_testimony_parent_id_fk": {
+ "name": "page_blocks_testimony_parent_id_fk",
+ "tableFrom": "page_blocks_testimony",
+ "tableTo": "page",
+ "columnsFrom": [
+ "_parent_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ }
+ },
+ "compositePrimaryKeys": {},
+ "uniqueConstraints": {},
+ "policies": {},
+ "checkConstraints": {},
+ "isRLSEnabled": false
+ },
+ "public.page": {
+ "name": "page",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "title": {
+ "name": "title",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "slug": {
+ "name": "slug",
+ "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": {
+ "page_updated_at_idx": {
+ "name": "page_updated_at_idx",
+ "columns": [
+ {
+ "expression": "updated_at",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "page_created_at_idx": {
+ "name": "page_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.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.documents": {
+ "name": "documents",
+ "schema": "",
+ "columns": {
+ "id": {
+ "name": "id",
+ "type": "uuid",
+ "primaryKey": true,
+ "notNull": true,
+ "default": "gen_random_uuid()"
+ },
+ "name": {
+ "name": "name",
+ "type": "varchar",
+ "primaryKey": false,
+ "notNull": true
+ },
+ "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.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
+ },
+ "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
+ },
+ "employees_id": {
+ "name": "employees_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "testimony_id": {
+ "name": "testimony_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "page_id": {
+ "name": "page_id",
+ "type": "uuid",
+ "primaryKey": false,
+ "notNull": false
+ },
+ "users_id": {
+ "name": "users_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
+ }
+ },
+ "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_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_employees_id_idx": {
+ "name": "payload_locked_documents_rels_employees_id_idx",
+ "columns": [
+ {
+ "expression": "employees_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_testimony_id_idx": {
+ "name": "payload_locked_documents_rels_testimony_id_idx",
+ "columns": [
+ {
+ "expression": "testimony_id",
+ "isExpression": false,
+ "asc": true,
+ "nulls": "last"
+ }
+ ],
+ "isUnique": false,
+ "concurrently": false,
+ "method": "btree",
+ "with": {}
+ },
+ "payload_locked_documents_rels_page_id_idx": {
+ "name": "payload_locked_documents_rels_page_id_idx",
+ "columns": [
+ {
+ "expression": "page_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": {}
+ },
+ "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": {}
+ }
+ },
+ "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_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_employees_fk": {
+ "name": "payload_locked_documents_rels_employees_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "employees",
+ "columnsFrom": [
+ "employees_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_testimony_fk": {
+ "name": "payload_locked_documents_rels_testimony_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "testimony",
+ "columnsFrom": [
+ "testimony_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_page_fk": {
+ "name": "payload_locked_documents_rels_page_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "page",
+ "columnsFrom": [
+ "page_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_users_fk": {
+ "name": "payload_locked_documents_rels_users_fk",
+ "tableFrom": "payload_locked_documents_rels",
+ "tableTo": "users",
+ "columnsFrom": [
+ "users_id"
+ ],
+ "columnsTo": [
+ "id"
+ ],
+ "onDelete": "cascade",
+ "onUpdate": "no action"
+ },
+ "payload_locked_documents_rels_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"
+ }
+ },
+ "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
+ }
+ },
+ "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_testimony_category": {
+ "name": "enum_testimony_category",
+ "schema": "public",
+ "values": [
+ "EUCHARIST"
+ ]
+ },
+ "public.enum_users_roles": {
+ "name": "enum_users_roles",
+ "schema": "public",
+ "values": [
+ "user",
+ "employee",
+ "admin"
+ ]
+ }
+ },
+ "schemas": {},
+ "sequences": {},
+ "roles": {},
+ "policies": {},
+ "views": {},
+ "_meta": {
+ "schemas": {},
+ "tables": {},
+ "columns": {}
+ }
+}
\ No newline at end of file
diff --git a/src/migrations/20250128_145145_liturgical_calendar.ts b/src/migrations/20250128_145145_liturgical_calendar.ts
new file mode 100644
index 0000000..895b488
--- /dev/null
+++ b/src/migrations/20250128_145145_liturgical_calendar.ts
@@ -0,0 +1,68 @@
+import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres'
+
+export async function up({ payload, req }: MigrateUpArgs): Promise {
+ await payload.db.drizzle.execute(sql`
+ CREATE TABLE IF NOT EXISTS "calendar" (
+ "id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
+ "date" timestamp(3) with time zone DEFAULT '2025-02-02T14:51:45.077Z' NOT NULL,
+ "document_id" uuid NOT NULL,
+ "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL,
+ "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL
+ );
+
+ CREATE TABLE IF NOT EXISTS "calendar_rels" (
+ "id" serial PRIMARY KEY NOT NULL,
+ "order" integer,
+ "parent_id" uuid NOT NULL,
+ "path" varchar NOT NULL,
+ "parish_id" uuid
+ );
+
+ ALTER TABLE "announcement" ALTER COLUMN "date" SET DEFAULT '2025-02-02T14:51:44.981Z';
+ ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "calendar_id" uuid;
+ DO $$ BEGIN
+ ALTER TABLE "calendar" ADD CONSTRAINT "calendar_document_id_documents_id_fk" FOREIGN KEY ("document_id") REFERENCES "public"."documents"("id") ON DELETE set null ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ DO $$ BEGIN
+ ALTER TABLE "calendar_rels" ADD CONSTRAINT "calendar_rels_parent_fk" FOREIGN KEY ("parent_id") REFERENCES "public"."calendar"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ DO $$ BEGIN
+ ALTER TABLE "calendar_rels" ADD CONSTRAINT "calendar_rels_parish_fk" FOREIGN KEY ("parish_id") REFERENCES "public"."parish"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ CREATE INDEX IF NOT EXISTS "calendar_document_idx" ON "calendar" USING btree ("document_id");
+ CREATE INDEX IF NOT EXISTS "calendar_updated_at_idx" ON "calendar" USING btree ("updated_at");
+ CREATE INDEX IF NOT EXISTS "calendar_created_at_idx" ON "calendar" USING btree ("created_at");
+ CREATE INDEX IF NOT EXISTS "calendar_rels_order_idx" ON "calendar_rels" USING btree ("order");
+ CREATE INDEX IF NOT EXISTS "calendar_rels_parent_idx" ON "calendar_rels" USING btree ("parent_id");
+ CREATE INDEX IF NOT EXISTS "calendar_rels_path_idx" ON "calendar_rels" USING btree ("path");
+ CREATE INDEX IF NOT EXISTS "calendar_rels_parish_id_idx" ON "calendar_rels" USING btree ("parish_id");
+ DO $$ BEGIN
+ ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_calendar_fk" FOREIGN KEY ("calendar_id") REFERENCES "public"."calendar"("id") ON DELETE cascade ON UPDATE no action;
+ EXCEPTION
+ WHEN duplicate_object THEN null;
+ END $$;
+
+ CREATE INDEX IF NOT EXISTS "payload_locked_documents_rels_calendar_id_idx" ON "payload_locked_documents_rels" USING btree ("calendar_id");`)
+}
+
+export async function down({ payload, req }: MigrateDownArgs): Promise {
+ await payload.db.drizzle.execute(sql`
+ ALTER TABLE "calendar" DISABLE ROW LEVEL SECURITY;
+ ALTER TABLE "calendar_rels" DISABLE ROW LEVEL SECURITY;
+ DROP TABLE "calendar" CASCADE;
+ DROP TABLE "calendar_rels" CASCADE;
+ ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_calendar_fk";
+
+ DROP INDEX IF EXISTS "payload_locked_documents_rels_calendar_id_idx";
+ ALTER TABLE "announcement" ALTER COLUMN "date" DROP DEFAULT;
+ ALTER TABLE "payload_locked_documents_rels" DROP COLUMN IF EXISTS "calendar_id";`)
+}
diff --git a/src/migrations/index.ts b/src/migrations/index.ts
index af7b15a..6d58632 100644
--- a/src/migrations/index.ts
+++ b/src/migrations/index.ts
@@ -1,6 +1,7 @@
import * as migration_20241205_121237 from './20241205_121237';
import * as migration_20241217_135114_contact_person_photo from './20241217_135114_contact_person_photo';
import * as migration_20250128_100809_pope_prayer_intentions from './20250128_100809_pope_prayer_intentions';
+import * as migration_20250128_145145_liturgical_calendar from './20250128_145145_liturgical_calendar';
export const migrations = [
{
@@ -16,6 +17,11 @@ export const migrations = [
{
up: migration_20250128_100809_pope_prayer_intentions.up,
down: migration_20250128_100809_pope_prayer_intentions.down,
- name: '20250128_100809_pope_prayer_intentions'
+ name: '20250128_100809_pope_prayer_intentions',
+ },
+ {
+ up: migration_20250128_145145_liturgical_calendar.up,
+ down: migration_20250128_145145_liturgical_calendar.down,
+ name: '20250128_145145_liturgical_calendar'
},
];
diff --git a/src/pageComponents/Parish/Parish.stories.tsx b/src/pageComponents/Parish/Parish.stories.tsx
index 6e09f6b..f71aade 100644
--- a/src/pageComponents/Parish/Parish.stories.tsx
+++ b/src/pageComponents/Parish/Parish.stories.tsx
@@ -198,9 +198,11 @@ export const Default: Story = {
args: {
title: "St. Christophorus",
image: chris,
+ announcement: "https://",
+ calendar: "https://",
events: [],
worship: [],
- description: "Die St. Christophorus Kirche in Berlin-Neukölln ist ein bedeutendes Beispiel für modernen Kirchenbau in der Hauptstadt. Erbaut in den 1960er Jahren, spiegelt das Gebäude die Architektur und künstlerische Gestaltung dieser Zeit wider und zeichnet sich durch schlichte, klare Linien und einen funktionalen Stil aus. Die Kirche ist nach dem heiligen Christophorus benannt, dem Schutzpatron der Reisenden, und bietet den Gemeindemitgliedern und Besuchern einen Ort der Ruhe und Besinnung im lebhaften Stadtteil Neukölln. Neben Gottesdiensten finden hier regelmäßig kulturelle Veranstaltungen und soziale Projekte statt, die die Kirche zu einem wichtigen Treffpunkt im Kiez machen.",
+ description: "Die St. Christophorus Kirche in Berlin-Neukölln ist ein bedeutendes Beispiel für modernen Kirchenbau in der Hauptstadt. Erbaut in den 1960er Jahren, spiegelt das Gebäude die Architektur und künstlerische Gestaltung dieser Zeit wider und zeichnet sich durch schlichte, klare Linien und einen funktionalen Stil aus. Die Kirche ist nach dem heiligen Christophorus benannt, dem Schutzpatron der Reisenden, und bietet den Gemeindemitgliedern und Besuchern einen Ort der Ruhe und Besinnung im lebhaften Stadtteil Neukölln. Neben Gottesdiensten.",
history: `Am 27.Juni 1929 erschien folgende Niederschrift in der Märkischen Volkszeitung, die eine berechtigte Freude über die Nachricht von dem Bau der neuen Kirche am Reuterplatz auslöste:
Eine neue katholische Kirche in Neukölln.
@@ -238,4 +240,5 @@ pfarramt@christophorus-berlin.de
Bürozeiten:
Freitags 09:00 - 12:00 Uhr `
},
+
};
\ No newline at end of file
diff --git a/src/pageComponents/Parish/Parish.tsx b/src/pageComponents/Parish/Parish.tsx
index 124a29b..b6378e2 100644
--- a/src/pageComponents/Parish/Parish.tsx
+++ b/src/pageComponents/Parish/Parish.tsx
@@ -15,6 +15,7 @@ import { tranformWorship } from '@/utils/dto/worship'
import { Button } from '@/components/Button/Button'
import { TextDiv } from '@/components/Text/TextDiv'
import { Gallery, GalleryItem } from '@/components/Gallery/Gallery'
+import { CalendarAnnouncementButtons } from '@/compositions/CalendarAnnouncementButtons/CalendarAnnouncementButtons'
type ParishProps = {
title: string,
@@ -29,7 +30,8 @@ type ParishProps = {
contact: string
events: Event[],
worship: Worship[]
- announcement?: string
+ announcement?: string,
+ calendar?: string,
gallery?: GalleryItem[]
}
@@ -47,6 +49,7 @@ export const Parish = (
events,
worship,
announcement,
+ calendar,
gallery
}
: ParishProps
@@ -54,7 +57,12 @@ export const Parish = (
return (
<>
-
+ }
+ />
diff --git a/src/payload-types.ts b/src/payload-types.ts
index 1fb7c81..421453f 100644
--- a/src/payload-types.ts
+++ b/src/payload-types.ts
@@ -16,6 +16,7 @@ export interface Config {
worship: Worship;
popePrayerIntentions: PopePrayerIntention;
announcement: Announcement;
+ calendar: Calendar;
blog: Blog;
highlight: Highlight;
event: Event;
@@ -39,6 +40,7 @@ export interface Config {
worship: WorshipSelect | WorshipSelect;
popePrayerIntentions: PopePrayerIntentionsSelect | PopePrayerIntentionsSelect;
announcement: AnnouncementSelect | AnnouncementSelect;
+ calendar: CalendarSelect | CalendarSelect;
blog: BlogSelect | BlogSelect;
highlight: HighlightSelect | HighlightSelect;
event: EventSelect | EventSelect;
@@ -259,6 +261,18 @@ export interface Document {
focalX?: number | null;
focalY?: number | null;
}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "calendar".
+ */
+export interface Calendar {
+ id: string;
+ date: string;
+ parish: (string | Parish)[];
+ document: string | Document;
+ updatedAt: string;
+ createdAt: string;
+}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "blog".
@@ -582,6 +596,10 @@ export interface PayloadLockedDocument {
relationTo: 'announcement';
value: string | Announcement;
} | null)
+ | ({
+ relationTo: 'calendar';
+ value: string | Calendar;
+ } | null)
| ({
relationTo: 'blog';
value: string | Blog;
@@ -750,6 +768,17 @@ export interface AnnouncementSelect {
updatedAt?: T;
createdAt?: T;
}
+/**
+ * This interface was referenced by `Config`'s JSON-Schema
+ * via the `definition` "calendar_select".
+ */
+export interface CalendarSelect {
+ date?: T;
+ parish?: T;
+ document?: T;
+ updatedAt?: T;
+ createdAt?: T;
+}
/**
* This interface was referenced by `Config`'s JSON-Schema
* via the `definition` "blog_select".
diff --git a/src/payload.config.ts b/src/payload.config.ts
index debdc8c..012fc1a 100644
--- a/src/payload.config.ts
+++ b/src/payload.config.ts
@@ -37,6 +37,7 @@ import { ContactPerson } from '@/collections/ContactPerson'
import { postgresAdapter } from '@payloadcms/db-postgres'
import { gcsStorage } from '@payloadcms/storage-gcs'
import { PopesPrayerIntentions } from '@/collections/PopesPrayerIntentions'
+import { LiturgicalCalendar } from '@/collections/LiturgicalCalendar'
const filename = fileURLToPath(import.meta.url)
const dirname = path.dirname(filename)
@@ -51,6 +52,7 @@ export default buildConfig({
Worship,
PopesPrayerIntentions,
Announcements,
+ LiturgicalCalendar,
Blog,
Highlight,
Events,
diff --git a/src/utils/sunday.ts b/src/utils/sunday.ts
new file mode 100644
index 0000000..4f40458
--- /dev/null
+++ b/src/utils/sunday.ts
@@ -0,0 +1,10 @@
+/**
+ * Get next sunday
+ */
+export const nextSunday = () => {
+ const today = new Date();
+ const daysUntilNextSunday = 7 - today.getDay(); // Sunday is 0, Monday is 1, etc.
+ const nextSunday = new Date(today);
+ nextSunday.setDate(today.getDate() + daysUntilNextSunday);
+ return nextSunday;
+}
\ No newline at end of file