From 3f61050fb35e8adef0107ef910a81ccb74439470 Mon Sep 17 00:00:00 2001 From: Martin Porwoll Date: Sat, 13 Dec 2025 10:22:56 +0000 Subject: [PATCH] feat: add Timeline Collection for complex chronological events MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add dedicated Timeline Collection for managing complex timeline events: - Collection: Multiple types (history, milestones, releases, career, events, process) - Events: Flexible date handling (year, month+year, full date, ranges, custom text) - Categories: milestone, founding, product, team, award, partnership, expansion, technology - Importance levels: highlight, normal, minor - Display options: layouts (vertical, alternating, horizontal, compact), sorting, year grouping - Media: Image and gallery support per event - Localization: Full support for DE/EN - SEO: Meta fields for each timeline API Features: - Public endpoint at /api/timelines with tenant isolation - Rate limiting and IP blocking - Filter by type, slug, category, importance - Locale parameter support - Date formatting and sorting - Optional grouping by year Database: 8 tables created via migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- CLAUDE.md | 43 + src/app/(frontend)/api/timelines/route.ts | 321 + src/collections/Timelines.ts | 506 + ...51213_100753_add_timelines_collection.json | 21919 ++++++++++++++++ ...0251213_100753_add_timelines_collection.ts | 168 + src/migrations/index.ts | 8 +- src/payload-types.ts | 204 + src/payload.config.ts | 7 + tests/e2e/tenant-isolation.e2e.spec.ts | 116 + 9 files changed, 23291 insertions(+), 1 deletion(-) create mode 100644 src/app/(frontend)/api/timelines/route.ts create mode 100644 src/collections/Timelines.ts create mode 100644 src/migrations/20251213_100753_add_timelines_collection.json create mode 100644 src/migrations/20251213_100753_add_timelines_collection.ts diff --git a/CLAUDE.md b/CLAUDE.md index 0356558..aac50ce 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -300,6 +300,7 @@ PGPASSWORD="$DB_PASSWORD" psql -h 10.10.181.101 -U payload -d payload_db -c "\dt - **Newsletter Anmeldung:** https://pl.c2sgmbh.de/api/newsletter/subscribe (POST, öffentlich) - **Newsletter Bestätigung:** https://pl.c2sgmbh.de/api/newsletter/confirm (GET/POST) - **Newsletter Abmeldung:** https://pl.c2sgmbh.de/api/newsletter/unsubscribe (GET/POST) +- **Timeline API:** https://pl.c2sgmbh.de/api/timelines (GET, öffentlich, tenant required) ## Security-Features @@ -575,6 +576,48 @@ SELECT * FROM audit_logs ORDER BY created_at DESC LIMIT 10; | CookieConfigurations | cookie-configurations | Cookie-Banner Konfiguration | | CookieInventory | cookie-inventory | Cookie-Inventar | | ConsentLogs | consent-logs | Consent-Protokollierung | +| Timelines | timelines | Chronologische Events (Geschichte, Meilensteine) | + +## Timeline Collection + +Dedizierte Collection für komplexe chronologische Darstellungen: + +**Timeline-Typen:** +- `history` - Unternehmensgeschichte +- `milestones` - Projektmeilensteine +- `releases` - Produkt-Releases +- `career` - Karriere/Lebenslauf +- `events` - Ereignisse +- `process` - Prozess/Ablauf + +**Event-Features:** +- Flexible Datumsformate (Jahr, Monat+Jahr, vollständig, Zeitraum, Freitext) +- Kategorien (Meilenstein, Gründung, Produkt, Team, Auszeichnung, etc.) +- Wichtigkeitsstufen (Highlight, Normal, Minor) +- Bilder und Galerien +- Links und Metadaten +- Rich-Text-Beschreibungen + +**Display-Optionen:** +- Layouts: vertikal, alternierend, horizontal, kompakt +- Sortierung: aufsteigend/absteigend +- Gruppierung nach Jahr +- Verschiedene Marker-Stile + +**API-Endpoint:** +```bash +# Liste aller Timelines eines Tenants +curl "https://pl.c2sgmbh.de/api/timelines?tenant=1" + +# Nach Typ filtern +curl "https://pl.c2sgmbh.de/api/timelines?tenant=1&type=history" + +# Einzelne Timeline +curl "https://pl.c2sgmbh.de/api/timelines?tenant=1&slug=company-history" + +# Mit Sprache +curl "https://pl.c2sgmbh.de/api/timelines?tenant=1&locale=en" +``` ## FormSubmissions CRM-Workflow diff --git a/src/app/(frontend)/api/timelines/route.ts b/src/app/(frontend)/api/timelines/route.ts new file mode 100644 index 0000000..c2316f8 --- /dev/null +++ b/src/app/(frontend)/api/timelines/route.ts @@ -0,0 +1,321 @@ +// src/app/(frontend)/api/timelines/route.ts +// Dedizierte Timeline-API für Frontend-Anwendungen + +import { NextRequest, NextResponse } from 'next/server' +import { getPayload } from 'payload' +import config from '@payload-config' +import type { Media } from '@/payload-types' +import { + searchLimiter, + rateLimitHeaders, + getClientIpFromRequest, + isIpBlocked, +} from '@/lib/security' + +// Validation constants +const TIMELINE_RATE_LIMIT = 30 + +// Valid timeline types +const TIMELINE_TYPES = ['history', 'milestones', 'releases', 'career', 'events', 'process'] as const +type TimelineType = (typeof TIMELINE_TYPES)[number] + +// Event category for filtering +const EVENT_CATEGORIES = [ + 'milestone', + 'founding', + 'product', + 'team', + 'award', + 'partnership', + 'expansion', + 'technology', + 'other', +] as const + +interface TimelineEvent { + dateType: string + year?: number + month?: string + day?: number + endYear?: number + endMonth?: string + ongoing?: boolean + customDate?: string + title: string + subtitle?: string + description?: unknown + shortDescription?: string + image?: Media | number + gallery?: Array<{ image: Media | number; caption?: string }> + category?: string + importance?: string + icon?: string + color?: string + links?: Array<{ label: string; url: string; type: string }> + metadata?: unknown +} + +// Helper to format date for display +function formatEventDate(event: TimelineEvent): string { + const months = [ + '', + 'Januar', + 'Februar', + 'März', + 'April', + 'Mai', + 'Juni', + 'Juli', + 'August', + 'September', + 'Oktober', + 'November', + 'Dezember', + ] + + switch (event.dateType) { + case 'year': + return event.year?.toString() || '' + case 'monthYear': + return `${months[parseInt(event.month || '0')]} ${event.year}` + case 'fullDate': + return `${event.day}. ${months[parseInt(event.month || '0')]} ${event.year}` + case 'range': { + const start = event.year?.toString() || '' + const end = event.ongoing ? 'heute' : event.endYear?.toString() || '' + return `${start} - ${end}` + } + case 'custom': + return event.customDate || '' + default: + return event.year?.toString() || '' + } +} + +// Helper to get sortable date value +function getEventSortValue(event: TimelineEvent): number { + const year = event.year || 0 + const month = parseInt(event.month || '1') + const day = event.day || 1 + return year * 10000 + month * 100 + day +} + +export async function GET(request: NextRequest) { + try { + // IP-Blocklist prüfen + const ip = getClientIpFromRequest(request) + if (isIpBlocked(ip)) { + return NextResponse.json({ error: 'Access denied' }, { status: 403 }) + } + + // Rate limiting + const rateLimit = await searchLimiter.check(ip) + if (!rateLimit.allowed) { + return NextResponse.json( + { error: 'Too many requests. Please try again later.' }, + { status: 429, headers: rateLimitHeaders(rateLimit, TIMELINE_RATE_LIMIT) } + ) + } + + // Parse query parameters + const { searchParams } = new URL(request.url) + + const tenantParam = searchParams.get('tenant') + const slugParam = searchParams.get('slug')?.trim() + const typeParam = searchParams.get('type')?.trim() + const localeParam = searchParams.get('locale')?.trim() + const categoryParam = searchParams.get('category')?.trim() + const importanceParam = searchParams.get('importance')?.trim() + + // Validate tenant - REQUIRED for tenant isolation + if (!tenantParam) { + return NextResponse.json( + { error: 'Tenant ID is required. Use ?tenant= to specify the tenant.' }, + { status: 400 } + ) + } + const tenantId = parseInt(tenantParam, 10) + if (isNaN(tenantId) || tenantId < 1) { + return NextResponse.json({ error: 'Invalid tenant ID' }, { status: 400 }) + } + + // Validate locale + const validLocales = ['de', 'en'] + const locale = localeParam && validLocales.includes(localeParam) ? localeParam : 'de' + + // Validate type if provided + if (typeParam && !TIMELINE_TYPES.includes(typeParam as TimelineType)) { + return NextResponse.json( + { error: `Invalid type. Must be one of: ${TIMELINE_TYPES.join(', ')}` }, + { status: 400 } + ) + } + + // Build where clause + const where: Record = { + status: { equals: 'published' }, + tenant: { equals: tenantId }, + } + + // Filter by slug (single timeline) + if (slugParam) { + where.slug = { equals: slugParam } + } + + // Filter by type + if (typeParam) { + where.type = { equals: typeParam } + } + + // Get payload instance + const payload = await getPayload({ config }) + + // Execute query + const result = await payload.find({ + collection: 'timelines', + where, + sort: '-updatedAt', + limit: slugParam ? 1 : 100, // Single or list + locale, + depth: 2, // Load media relations + }) + + if (slugParam && result.docs.length === 0) { + return NextResponse.json({ error: 'Timeline not found' }, { status: 404 }) + } + + // Transform timelines + const transformedDocs = result.docs.map((timeline) => { + // Filter and sort events + let events = (timeline.events || []) as TimelineEvent[] + + // Filter by category if specified + if (categoryParam) { + events = events.filter((e) => e.category === categoryParam) + } + + // Filter by importance if specified + if (importanceParam) { + events = events.filter((e) => e.importance === importanceParam) + } + + // Sort events based on display options + const sortOrder = (timeline.displayOptions as { sortOrder?: string })?.sortOrder || 'desc' + events.sort((a, b) => { + const diff = getEventSortValue(a) - getEventSortValue(b) + return sortOrder === 'desc' ? -diff : diff + }) + + // Group by year if enabled + const groupByYear = (timeline.displayOptions as { groupByYear?: boolean })?.groupByYear + let groupedEvents: Record | null = null + + // Transform events + const transformedEvents = events.map((event) => { + const image = event.image as Media | null + const gallery = (event.gallery || []).map((item) => { + const galleryImage = item.image as Media | null + return { + url: galleryImage?.url || null, + alt: galleryImage?.alt || '', + caption: item.caption || null, + } + }) + + return { + dateDisplay: formatEventDate(event), + dateType: event.dateType, + year: event.year, + month: event.month, + day: event.day, + endYear: event.endYear, + endMonth: event.endMonth, + ongoing: event.ongoing, + customDate: event.customDate, + title: event.title, + subtitle: event.subtitle || null, + description: event.description || null, + shortDescription: event.shortDescription || null, + image: image + ? { + url: image.url, + alt: image.alt || event.title, + width: image.width, + height: image.height, + } + : null, + gallery: gallery.length > 0 ? gallery : null, + category: event.category || null, + importance: event.importance || 'normal', + icon: event.icon || null, + color: event.color || null, + links: event.links || [], + metadata: event.metadata || null, + } + }) + + // Group by year if enabled + if (groupByYear) { + groupedEvents = {} + for (const event of transformedEvents) { + const year = event.year || 0 + if (!groupedEvents[year]) { + groupedEvents[year] = [] + } + groupedEvents[year].push(event) + } + } + + return { + id: timeline.id, + name: timeline.name, + slug: timeline.slug, + description: timeline.description || null, + type: timeline.type, + displayOptions: timeline.displayOptions, + events: groupByYear ? null : transformedEvents, + eventsByYear: groupedEvents, + eventCount: transformedEvents.length, + seo: timeline.seo || null, + } + }) + + // Single timeline response + if (slugParam) { + return NextResponse.json( + { + timeline: transformedDocs[0], + locale, + }, + { + headers: { + ...rateLimitHeaders(rateLimit, TIMELINE_RATE_LIMIT), + 'Cache-Control': 'public, max-age=60, s-maxage=300', + }, + } + ) + } + + // List response + return NextResponse.json( + { + docs: transformedDocs, + total: result.totalDocs, + filters: { + tenant: tenantId, + type: typeParam || null, + locale, + }, + }, + { + headers: { + ...rateLimitHeaders(rateLimit, TIMELINE_RATE_LIMIT), + 'Cache-Control': 'public, max-age=60, s-maxage=120', + }, + } + ) + } catch (error) { + console.error('[Timeline API] Error:', error) + return NextResponse.json({ error: 'Internal server error' }, { status: 500 }) + } +} diff --git a/src/collections/Timelines.ts b/src/collections/Timelines.ts new file mode 100644 index 0000000..465fe65 --- /dev/null +++ b/src/collections/Timelines.ts @@ -0,0 +1,506 @@ +import type { CollectionConfig } from 'payload' + +/** + * Timelines Collection + * + * Dedizierte Collection für komplexe Timeline-Ereignisse + * - Unternehmensgeschichte + * - Projektmeilensteine + * - Produkt-Releases + * - Historische Ereignisse + * + * Multi-Tenant-fähig mit flexiblen Kategorisierungen + */ +export const Timelines: CollectionConfig = { + slug: 'timelines', + labels: { + singular: 'Timeline', + plural: 'Timelines', + }, + admin: { + useAsTitle: 'name', + group: 'Inhalte', + defaultColumns: ['name', 'type', 'status', 'updatedAt'], + description: 'Chronologische Darstellungen für Unternehmensgeschichte, Meilensteine, etc.', + }, + access: { + read: () => true, // Öffentlich lesbar + }, + fields: [ + // Timeline-Metadaten + { + name: 'name', + type: 'text', + required: true, + label: 'Timeline-Name', + localized: true, + admin: { + description: 'Interner Name zur Identifikation (z.B. "Unternehmensgeschichte")', + }, + }, + { + name: 'slug', + type: 'text', + required: true, + unique: true, + label: 'Slug', + admin: { + description: 'URL-freundlicher Identifier (z.B. "company-history")', + }, + }, + { + name: 'description', + type: 'textarea', + label: 'Beschreibung', + localized: true, + admin: { + description: 'Optionale Beschreibung der Timeline', + }, + }, + { + name: 'type', + type: 'select', + required: true, + defaultValue: 'history', + label: 'Timeline-Typ', + options: [ + { label: 'Unternehmensgeschichte', value: 'history' }, + { label: 'Projektmeilensteine', value: 'milestones' }, + { label: 'Produkt-Releases', value: 'releases' }, + { label: 'Karriere/Lebenslauf', value: 'career' }, + { label: 'Ereignisse', value: 'events' }, + { label: 'Prozess/Ablauf', value: 'process' }, + ], + }, + { + name: 'status', + type: 'select', + required: true, + defaultValue: 'draft', + label: 'Status', + options: [ + { label: 'Entwurf', value: 'draft' }, + { label: 'Veröffentlicht', value: 'published' }, + { label: 'Archiviert', value: 'archived' }, + ], + admin: { + position: 'sidebar', + }, + }, + + // Display-Optionen + { + name: 'displayOptions', + type: 'group', + label: 'Darstellungsoptionen', + fields: [ + { + name: 'layout', + type: 'select', + defaultValue: 'vertical', + label: 'Layout', + options: [ + { label: 'Vertikal (Standard)', value: 'vertical' }, + { label: 'Alternierend (links/rechts)', value: 'alternating' }, + { label: 'Horizontal (Zeitleiste)', value: 'horizontal' }, + { label: 'Kompakt (Liste)', value: 'compact' }, + ], + }, + { + name: 'sortOrder', + type: 'select', + defaultValue: 'desc', + label: 'Sortierung', + options: [ + { label: 'Neueste zuerst', value: 'desc' }, + { label: 'Älteste zuerst', value: 'asc' }, + ], + }, + { + name: 'showConnector', + type: 'checkbox', + defaultValue: true, + label: 'Verbindungslinie anzeigen', + }, + { + name: 'showImages', + type: 'checkbox', + defaultValue: true, + label: 'Bilder anzeigen', + }, + { + name: 'groupByYear', + type: 'checkbox', + defaultValue: false, + label: 'Nach Jahr gruppieren', + }, + { + name: 'markerStyle', + type: 'select', + defaultValue: 'dot', + label: 'Marker-Stil', + options: [ + { label: 'Punkt', value: 'dot' }, + { label: 'Nummer', value: 'number' }, + { label: 'Icon', value: 'icon' }, + { label: 'Datum', value: 'date' }, + ], + }, + { + name: 'colorScheme', + type: 'select', + defaultValue: 'primary', + label: 'Farbschema', + options: [ + { label: 'Primär (Brand)', value: 'primary' }, + { label: 'Sekundär', value: 'secondary' }, + { label: 'Neutral (Grau)', value: 'neutral' }, + { label: 'Bunt (je nach Kategorie)', value: 'colorful' }, + ], + }, + ], + }, + + // Timeline-Einträge + { + name: 'events', + type: 'array', + required: true, + minRows: 1, + label: 'Ereignisse', + admin: { + description: 'Die einzelnen Einträge der Timeline', + initCollapsed: false, + }, + fields: [ + // Datum-Optionen + { + type: 'row', + fields: [ + { + name: 'dateType', + type: 'select', + defaultValue: 'year', + label: 'Datumstyp', + admin: { + width: '30%', + }, + options: [ + { label: 'Nur Jahr', value: 'year' }, + { label: 'Monat & Jahr', value: 'monthYear' }, + { label: 'Vollständiges Datum', value: 'fullDate' }, + { label: 'Zeitraum', value: 'range' }, + { label: 'Freitext', value: 'custom' }, + ], + }, + { + name: 'year', + type: 'number', + label: 'Jahr', + admin: { + width: '20%', + condition: (_, siblingData) => + ['year', 'monthYear', 'fullDate'].includes(siblingData?.dateType), + }, + min: 1900, + max: 2100, + }, + { + name: 'month', + type: 'select', + label: 'Monat', + admin: { + width: '25%', + condition: (_, siblingData) => + ['monthYear', 'fullDate'].includes(siblingData?.dateType), + }, + options: [ + { label: 'Januar', value: '1' }, + { label: 'Februar', value: '2' }, + { label: 'März', value: '3' }, + { label: 'April', value: '4' }, + { label: 'Mai', value: '5' }, + { label: 'Juni', value: '6' }, + { label: 'Juli', value: '7' }, + { label: 'August', value: '8' }, + { label: 'September', value: '9' }, + { label: 'Oktober', value: '10' }, + { label: 'November', value: '11' }, + { label: 'Dezember', value: '12' }, + ], + }, + { + name: 'day', + type: 'number', + label: 'Tag', + admin: { + width: '15%', + condition: (_, siblingData) => siblingData?.dateType === 'fullDate', + }, + min: 1, + max: 31, + }, + ], + }, + { + type: 'row', + fields: [ + { + name: 'endYear', + type: 'number', + label: 'Ende Jahr', + admin: { + width: '25%', + condition: (_, siblingData) => siblingData?.dateType === 'range', + }, + min: 1900, + max: 2100, + }, + { + name: 'endMonth', + type: 'select', + label: 'Ende Monat', + admin: { + width: '25%', + condition: (_, siblingData) => siblingData?.dateType === 'range', + }, + options: [ + { label: 'Januar', value: '1' }, + { label: 'Februar', value: '2' }, + { label: 'März', value: '3' }, + { label: 'April', value: '4' }, + { label: 'Mai', value: '5' }, + { label: 'Juni', value: '6' }, + { label: 'Juli', value: '7' }, + { label: 'August', value: '8' }, + { label: 'September', value: '9' }, + { label: 'Oktober', value: '10' }, + { label: 'November', value: '11' }, + { label: 'Dezember', value: '12' }, + ], + }, + { + name: 'ongoing', + type: 'checkbox', + label: 'Laufend (bis heute)', + admin: { + width: '25%', + condition: (_, siblingData) => siblingData?.dateType === 'range', + }, + }, + ], + }, + { + name: 'customDate', + type: 'text', + label: 'Datum (Freitext)', + admin: { + description: 'z.B. "Frühjahr 2024", "Q1 2023", "1990er Jahre"', + condition: (_, siblingData) => siblingData?.dateType === 'custom', + }, + }, + + // Inhalt + { + name: 'title', + type: 'text', + required: true, + label: 'Titel', + localized: true, + }, + { + name: 'subtitle', + type: 'text', + label: 'Untertitel', + localized: true, + admin: { + description: 'Optional: z.B. Rolle, Position, Ort', + }, + }, + { + name: 'description', + type: 'richText', + label: 'Beschreibung', + localized: true, + }, + { + name: 'shortDescription', + type: 'textarea', + label: 'Kurzbeschreibung', + localized: true, + admin: { + description: 'Für kompakte Ansichten (max. 200 Zeichen empfohlen)', + }, + }, + + // Medien + { + name: 'image', + type: 'upload', + relationTo: 'media', + label: 'Bild', + }, + { + name: 'gallery', + type: 'array', + label: 'Galerie', + admin: { + description: 'Zusätzliche Bilder für dieses Ereignis', + }, + fields: [ + { + name: 'image', + type: 'upload', + relationTo: 'media', + required: true, + }, + { + name: 'caption', + type: 'text', + label: 'Bildunterschrift', + localized: true, + }, + ], + }, + + // Kategorisierung + { + name: 'category', + type: 'select', + label: 'Kategorie', + admin: { + description: 'Zur Filterung und farblichen Unterscheidung', + }, + options: [ + { label: 'Meilenstein', value: 'milestone' }, + { label: 'Gründung/Start', value: 'founding' }, + { label: 'Produkt', value: 'product' }, + { label: 'Team/Personal', value: 'team' }, + { label: 'Auszeichnung', value: 'award' }, + { label: 'Partnerschaft', value: 'partnership' }, + { label: 'Expansion', value: 'expansion' }, + { label: 'Technologie', value: 'technology' }, + { label: 'Sonstiges', value: 'other' }, + ], + }, + { + name: 'importance', + type: 'select', + defaultValue: 'normal', + label: 'Wichtigkeit', + options: [ + { label: 'Highlight', value: 'highlight' }, + { label: 'Normal', value: 'normal' }, + { label: 'Minor', value: 'minor' }, + ], + admin: { + description: 'Highlights werden visuell hervorgehoben', + }, + }, + + // Icon & Styling + { + name: 'icon', + type: 'text', + label: 'Icon', + admin: { + description: 'Emoji oder Lucide Icon-Name (z.B. "rocket", "award", "users")', + }, + }, + { + name: 'color', + type: 'text', + label: 'Farbe (optional)', + admin: { + description: 'Überschreibt die Kategorie-Farbe (z.B. "#FF5733" oder "blue")', + }, + }, + + // Links + { + name: 'links', + type: 'array', + label: 'Links', + fields: [ + { + name: 'label', + type: 'text', + required: true, + label: 'Link-Text', + localized: true, + }, + { + name: 'url', + type: 'text', + required: true, + label: 'URL', + }, + { + name: 'type', + type: 'select', + defaultValue: 'internal', + label: 'Link-Typ', + options: [ + { label: 'Intern', value: 'internal' }, + { label: 'Extern', value: 'external' }, + { label: 'Download', value: 'download' }, + ], + }, + ], + }, + + // Zusätzliche Daten + { + name: 'metadata', + type: 'json', + label: 'Zusätzliche Daten (JSON)', + admin: { + description: 'Für spezielle Anwendungsfälle (z.B. Statistiken, Kennzahlen)', + }, + }, + ], + }, + + // SEO + { + name: 'seo', + type: 'group', + label: 'SEO', + admin: { + position: 'sidebar', + }, + fields: [ + { + name: 'metaTitle', + type: 'text', + label: 'Meta-Titel', + localized: true, + }, + { + name: 'metaDescription', + type: 'textarea', + label: 'Meta-Beschreibung', + localized: true, + }, + ], + }, + ], + hooks: { + beforeChange: [ + ({ data }) => { + // Auto-generate slug from name if not provided + if (data && !data.slug && data.name) { + data.slug = data.name + .toLowerCase() + .replace(/[äöüß]/g, (match: string) => { + const map: Record = { ä: 'ae', ö: 'oe', ü: 'ue', ß: 'ss' } + return map[match] || match + }) + .replace(/[^a-z0-9]+/g, '-') + .replace(/^-|-$/g, '') + } + return data + }, + ], + }, +} diff --git a/src/migrations/20251213_100753_add_timelines_collection.json b/src/migrations/20251213_100753_add_timelines_collection.json new file mode 100644 index 0000000..c7a7256 --- /dev/null +++ b/src/migrations/20251213_100753_add_timelines_collection.json @@ -0,0 +1,21919 @@ +{ + "version": "7", + "dialect": "postgresql", + "tables": { + "public.users_tenants": { + "name": "users_tenants", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_tenants_order_idx": { + "name": "users_tenants_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_tenants_parent_id_idx": { + "name": "users_tenants_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_tenants_tenant_idx": { + "name": "users_tenants_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_tenants_tenant_id_tenants_id_fk": { + "name": "users_tenants_tenant_id_tenants_id_fk", + "tableFrom": "users_tenants", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "users_tenants_parent_id_fk": { + "name": "users_tenants_parent_id_fk", + "tableFrom": "users_tenants", + "tableTo": "users", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users_sessions": { + "name": "users_sessions", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "users_sessions_order_idx": { + "name": "users_sessions_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_sessions_parent_id_idx": { + "name": "users_sessions_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "users_sessions_parent_id_fk": { + "name": "users_sessions_parent_id_fk", + "tableFrom": "users_sessions", + "tableTo": "users", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.users": { + "name": "users", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "is_super_admin": { + "name": "is_super_admin", + "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()" + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "reset_password_token": { + "name": "reset_password_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reset_password_expiration": { + "name": "reset_password_expiration", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "salt": { + "name": "salt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hash": { + "name": "hash", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "login_attempts": { + "name": "login_attempts", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "lock_until": { + "name": "lock_until", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "users_updated_at_idx": { + "name": "users_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_created_at_idx": { + "name": "users_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "users_email_idx": { + "name": "users_email_idx", + "columns": [ + { + "expression": "email", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media": { + "name": "media", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "alt": { + "name": "alt", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "credit": { + "name": "credit", + "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()" + }, + "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_small_url": { + "name": "sizes_small_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_small_width": { + "name": "sizes_small_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_small_height": { + "name": "sizes_small_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_small_mime_type": { + "name": "sizes_small_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_small_filesize": { + "name": "sizes_small_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_small_filename": { + "name": "sizes_small_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_url": { + "name": "sizes_medium_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_width": { + "name": "sizes_medium_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_height": { + "name": "sizes_medium_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_mime_type": { + "name": "sizes_medium_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_filesize": { + "name": "sizes_medium_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_filename": { + "name": "sizes_medium_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_url": { + "name": "sizes_large_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_width": { + "name": "sizes_large_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_height": { + "name": "sizes_large_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_mime_type": { + "name": "sizes_large_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_filesize": { + "name": "sizes_large_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_filename": { + "name": "sizes_large_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_url": { + "name": "sizes_xlarge_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_width": { + "name": "sizes_xlarge_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_height": { + "name": "sizes_xlarge_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_mime_type": { + "name": "sizes_xlarge_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_filesize": { + "name": "sizes_xlarge_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_filename": { + "name": "sizes_xlarge_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_url": { + "name": "sizes_2k_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_width": { + "name": "sizes_2k_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_height": { + "name": "sizes_2k_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_mime_type": { + "name": "sizes_2k_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_filesize": { + "name": "sizes_2k_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_2k_filename": { + "name": "sizes_2k_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_og_url": { + "name": "sizes_og_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_og_width": { + "name": "sizes_og_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_og_height": { + "name": "sizes_og_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_og_mime_type": { + "name": "sizes_og_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_og_filesize": { + "name": "sizes_og_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_og_filename": { + "name": "sizes_og_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_url": { + "name": "sizes_medium_avif_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_width": { + "name": "sizes_medium_avif_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_height": { + "name": "sizes_medium_avif_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_mime_type": { + "name": "sizes_medium_avif_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_filesize": { + "name": "sizes_medium_avif_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_medium_avif_filename": { + "name": "sizes_medium_avif_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_url": { + "name": "sizes_large_avif_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_width": { + "name": "sizes_large_avif_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_height": { + "name": "sizes_large_avif_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_mime_type": { + "name": "sizes_large_avif_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_filesize": { + "name": "sizes_large_avif_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_large_avif_filename": { + "name": "sizes_large_avif_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_url": { + "name": "sizes_xlarge_avif_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_width": { + "name": "sizes_xlarge_avif_width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_height": { + "name": "sizes_xlarge_avif_height", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_mime_type": { + "name": "sizes_xlarge_avif_mime_type", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_filesize": { + "name": "sizes_xlarge_avif_filesize", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "sizes_xlarge_avif_filename": { + "name": "sizes_xlarge_avif_filename", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_tenant_idx": { + "name": "media_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "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_small_sizes_small_filename_idx": { + "name": "media_sizes_small_sizes_small_filename_idx", + "columns": [ + { + "expression": "sizes_small_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_medium_sizes_medium_filename_idx": { + "name": "media_sizes_medium_sizes_medium_filename_idx", + "columns": [ + { + "expression": "sizes_medium_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_large_sizes_large_filename_idx": { + "name": "media_sizes_large_sizes_large_filename_idx", + "columns": [ + { + "expression": "sizes_large_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_xlarge_sizes_xlarge_filename_idx": { + "name": "media_sizes_xlarge_sizes_xlarge_filename_idx", + "columns": [ + { + "expression": "sizes_xlarge_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_2k_sizes_2k_filename_idx": { + "name": "media_sizes_2k_sizes_2k_filename_idx", + "columns": [ + { + "expression": "sizes_2k_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_og_sizes_og_filename_idx": { + "name": "media_sizes_og_sizes_og_filename_idx", + "columns": [ + { + "expression": "sizes_og_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_medium_avif_sizes_medium_avif_filename_idx": { + "name": "media_sizes_medium_avif_sizes_medium_avif_filename_idx", + "columns": [ + { + "expression": "sizes_medium_avif_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_large_avif_sizes_large_avif_filename_idx": { + "name": "media_sizes_large_avif_sizes_large_avif_filename_idx", + "columns": [ + { + "expression": "sizes_large_avif_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "media_sizes_xlarge_avif_sizes_xlarge_avif_filename_idx": { + "name": "media_sizes_xlarge_avif_sizes_xlarge_avif_filename_idx", + "columns": [ + { + "expression": "sizes_xlarge_avif_filename", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "media_tenant_id_tenants_id_fk": { + "name": "media_tenant_id_tenants_id_fk", + "tableFrom": "media", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.media_texts": { + "name": "media_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "media_texts_order_parent": { + "name": "media_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "media_texts_parent_fk": { + "name": "media_texts_parent_fk", + "tableFrom": "media_texts", + "tableTo": "media", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tenants_domains": { + "name": "tenants_domains", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "domain": { + "name": "domain", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "tenants_domains_order_idx": { + "name": "tenants_domains_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tenants_domains_parent_id_idx": { + "name": "tenants_domains_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "tenants_domains_parent_id_fk": { + "name": "tenants_domains_parent_id_fk", + "tableFrom": "tenants_domains", + "tableTo": "tenants", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.tenants": { + "name": "tenants", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "email_from_address": { + "name": "email_from_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_from_name": { + "name": "email_from_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_reply_to": { + "name": "email_reply_to", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_use_custom_smtp": { + "name": "email_use_custom_smtp", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "email_smtp_host": { + "name": "email_smtp_host", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_smtp_port": { + "name": "email_smtp_port", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 587 + }, + "email_smtp_secure": { + "name": "email_smtp_secure", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "email_smtp_user": { + "name": "email_smtp_user", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_smtp_pass": { + "name": "email_smtp_pass", + "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": { + "tenants_slug_idx": { + "name": "tenants_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tenants_updated_at_idx": { + "name": "tenants_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "tenants_created_at_idx": { + "name": "tenants_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.pages_blocks_hero_block": { + "name": "pages_blocks_hero_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "background_image_id": { + "name": "background_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "alignment": { + "name": "alignment", + "type": "enum_pages_blocks_hero_block_alignment", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'center'" + }, + "overlay": { + "name": "overlay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "cta_link": { + "name": "cta_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_style": { + "name": "cta_style", + "type": "enum_pages_blocks_hero_block_cta_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_hero_block_order_idx": { + "name": "pages_blocks_hero_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_block_parent_id_idx": { + "name": "pages_blocks_hero_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_block_path_idx": { + "name": "pages_blocks_hero_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_hero_block_background_image_idx": { + "name": "pages_blocks_hero_block_background_image_idx", + "columns": [ + { + "expression": "background_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_hero_block_background_image_id_media_id_fk": { + "name": "pages_blocks_hero_block_background_image_id_media_id_fk", + "tableFrom": "pages_blocks_hero_block", + "tableTo": "media", + "columnsFrom": [ + "background_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_hero_block_parent_id_fk": { + "name": "pages_blocks_hero_block_parent_id_fk", + "tableFrom": "pages_blocks_hero_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_hero_block_locales": { + "name": "pages_blocks_hero_block_locales", + "schema": "", + "columns": { + "headline": { + "name": "headline", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "subline": { + "name": "subline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_text": { + "name": "cta_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_hero_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_hero_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_hero_block_locales_parent_id_fk": { + "name": "pages_blocks_hero_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_hero_block_locales", + "tableTo": "pages_blocks_hero_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_text_block": { + "name": "pages_blocks_text_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "width": { + "name": "width", + "type": "enum_pages_blocks_text_block_width", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'medium'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_text_block_order_idx": { + "name": "pages_blocks_text_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_text_block_parent_id_idx": { + "name": "pages_blocks_text_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_text_block_path_idx": { + "name": "pages_blocks_text_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_text_block_parent_id_fk": { + "name": "pages_blocks_text_block_parent_id_fk", + "tableFrom": "pages_blocks_text_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_text_block_locales": { + "name": "pages_blocks_text_block_locales", + "schema": "", + "columns": { + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_text_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_text_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_text_block_locales_parent_id_fk": { + "name": "pages_blocks_text_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_text_block_locales", + "tableTo": "pages_blocks_text_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_image_text_block": { + "name": "pages_blocks_image_text_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "image_position": { + "name": "image_position", + "type": "enum_pages_blocks_image_text_block_image_position", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'left'" + }, + "cta_link": { + "name": "cta_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_image_text_block_order_idx": { + "name": "pages_blocks_image_text_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_text_block_parent_id_idx": { + "name": "pages_blocks_image_text_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_text_block_path_idx": { + "name": "pages_blocks_image_text_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_image_text_block_image_idx": { + "name": "pages_blocks_image_text_block_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_image_text_block_image_id_media_id_fk": { + "name": "pages_blocks_image_text_block_image_id_media_id_fk", + "tableFrom": "pages_blocks_image_text_block", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_image_text_block_parent_id_fk": { + "name": "pages_blocks_image_text_block_parent_id_fk", + "tableFrom": "pages_blocks_image_text_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_image_text_block_locales": { + "name": "pages_blocks_image_text_block_locales", + "schema": "", + "columns": { + "headline": { + "name": "headline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "cta_text": { + "name": "cta_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_image_text_block_locales_locale_parent_id_uniqu": { + "name": "pages_blocks_image_text_block_locales_locale_parent_id_uniqu", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_image_text_block_locales_parent_id_fk": { + "name": "pages_blocks_image_text_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_image_text_block_locales", + "tableTo": "pages_blocks_image_text_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_card_grid_block_cards": { + "name": "pages_blocks_card_grid_block_cards", + "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 + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_card_grid_block_cards_order_idx": { + "name": "pages_blocks_card_grid_block_cards_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_card_grid_block_cards_parent_id_idx": { + "name": "pages_blocks_card_grid_block_cards_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_card_grid_block_cards_image_idx": { + "name": "pages_blocks_card_grid_block_cards_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_card_grid_block_cards_image_id_media_id_fk": { + "name": "pages_blocks_card_grid_block_cards_image_id_media_id_fk", + "tableFrom": "pages_blocks_card_grid_block_cards", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_card_grid_block_cards_parent_id_fk": { + "name": "pages_blocks_card_grid_block_cards_parent_id_fk", + "tableFrom": "pages_blocks_card_grid_block_cards", + "tableTo": "pages_blocks_card_grid_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_card_grid_block_cards_locales": { + "name": "pages_blocks_card_grid_block_cards_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link_text": { + "name": "link_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'mehr'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_card_grid_block_cards_locales_locale_parent_id_": { + "name": "pages_blocks_card_grid_block_cards_locales_locale_parent_id_", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_card_grid_block_cards_locales_parent_id_fk": { + "name": "pages_blocks_card_grid_block_cards_locales_parent_id_fk", + "tableFrom": "pages_blocks_card_grid_block_cards_locales", + "tableTo": "pages_blocks_card_grid_block_cards", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_card_grid_block": { + "name": "pages_blocks_card_grid_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_card_grid_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_card_grid_block_order_idx": { + "name": "pages_blocks_card_grid_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_card_grid_block_parent_id_idx": { + "name": "pages_blocks_card_grid_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_card_grid_block_path_idx": { + "name": "pages_blocks_card_grid_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_card_grid_block_parent_id_fk": { + "name": "pages_blocks_card_grid_block_parent_id_fk", + "tableFrom": "pages_blocks_card_grid_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_card_grid_block_locales": { + "name": "pages_blocks_card_grid_block_locales", + "schema": "", + "columns": { + "headline": { + "name": "headline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_card_grid_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_card_grid_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_card_grid_block_locales_parent_id_fk": { + "name": "pages_blocks_card_grid_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_card_grid_block_locales", + "tableTo": "pages_blocks_card_grid_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_quote_block": { + "name": "pages_blocks_quote_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "author": { + "name": "author", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "style": { + "name": "style", + "type": "enum_pages_blocks_quote_block_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'simple'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_quote_block_order_idx": { + "name": "pages_blocks_quote_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_quote_block_parent_id_idx": { + "name": "pages_blocks_quote_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_quote_block_path_idx": { + "name": "pages_blocks_quote_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_quote_block_image_idx": { + "name": "pages_blocks_quote_block_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_quote_block_image_id_media_id_fk": { + "name": "pages_blocks_quote_block_image_id_media_id_fk", + "tableFrom": "pages_blocks_quote_block", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_quote_block_parent_id_fk": { + "name": "pages_blocks_quote_block_parent_id_fk", + "tableFrom": "pages_blocks_quote_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_quote_block_locales": { + "name": "pages_blocks_quote_block_locales", + "schema": "", + "columns": { + "quote": { + "name": "quote", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_quote_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_quote_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_quote_block_locales_parent_id_fk": { + "name": "pages_blocks_quote_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_quote_block_locales", + "tableTo": "pages_blocks_quote_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_cta_block_buttons": { + "name": "pages_blocks_cta_block_buttons", + "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 + }, + "link": { + "name": "link", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "style": { + "name": "style", + "type": "enum_pages_blocks_cta_block_buttons_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + } + }, + "indexes": { + "pages_blocks_cta_block_buttons_order_idx": { + "name": "pages_blocks_cta_block_buttons_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_cta_block_buttons_parent_id_idx": { + "name": "pages_blocks_cta_block_buttons_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_cta_block_buttons_parent_id_fk": { + "name": "pages_blocks_cta_block_buttons_parent_id_fk", + "tableFrom": "pages_blocks_cta_block_buttons", + "tableTo": "pages_blocks_cta_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_cta_block_buttons_locales": { + "name": "pages_blocks_cta_block_buttons_locales", + "schema": "", + "columns": { + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_cta_block_buttons_locales_locale_parent_id_uniq": { + "name": "pages_blocks_cta_block_buttons_locales_locale_parent_id_uniq", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_cta_block_buttons_locales_parent_id_fk": { + "name": "pages_blocks_cta_block_buttons_locales_parent_id_fk", + "tableFrom": "pages_blocks_cta_block_buttons_locales", + "tableTo": "pages_blocks_cta_block_buttons", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_cta_block": { + "name": "pages_blocks_cta_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_cta_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'dark'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_cta_block_order_idx": { + "name": "pages_blocks_cta_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_cta_block_parent_id_idx": { + "name": "pages_blocks_cta_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_cta_block_path_idx": { + "name": "pages_blocks_cta_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_cta_block_parent_id_fk": { + "name": "pages_blocks_cta_block_parent_id_fk", + "tableFrom": "pages_blocks_cta_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_cta_block_locales": { + "name": "pages_blocks_cta_block_locales", + "schema": "", + "columns": { + "headline": { + "name": "headline", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_cta_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_cta_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_cta_block_locales_parent_id_fk": { + "name": "pages_blocks_cta_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_cta_block_locales", + "tableTo": "pages_blocks_cta_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_contact_form_block": { + "name": "pages_blocks_contact_form_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "recipient_email": { + "name": "recipient_email", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'info@porwoll.de'" + }, + "show_phone": { + "name": "show_phone", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_address": { + "name": "show_address", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_socials": { + "name": "show_socials", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_contact_form_block_order_idx": { + "name": "pages_blocks_contact_form_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_contact_form_block_parent_id_idx": { + "name": "pages_blocks_contact_form_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_contact_form_block_path_idx": { + "name": "pages_blocks_contact_form_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_contact_form_block_parent_id_fk": { + "name": "pages_blocks_contact_form_block_parent_id_fk", + "tableFrom": "pages_blocks_contact_form_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_contact_form_block_locales": { + "name": "pages_blocks_contact_form_block_locales", + "schema": "", + "columns": { + "headline": { + "name": "headline", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Kontakt'" + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_contact_form_block_locales_locale_parent_id_uni": { + "name": "pages_blocks_contact_form_block_locales_locale_parent_id_uni", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_contact_form_block_locales_parent_id_fk": { + "name": "pages_blocks_contact_form_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_contact_form_block_locales", + "tableTo": "pages_blocks_contact_form_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_timeline_block_items": { + "name": "pages_blocks_timeline_block_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 + }, + "year": { + "name": "year", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "link_href": { + "name": "link_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_timeline_block_items_order_idx": { + "name": "pages_blocks_timeline_block_items_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_timeline_block_items_parent_id_idx": { + "name": "pages_blocks_timeline_block_items_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_timeline_block_items_image_idx": { + "name": "pages_blocks_timeline_block_items_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_timeline_block_items_image_id_media_id_fk": { + "name": "pages_blocks_timeline_block_items_image_id_media_id_fk", + "tableFrom": "pages_blocks_timeline_block_items", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_timeline_block_items_parent_id_fk": { + "name": "pages_blocks_timeline_block_items_parent_id_fk", + "tableFrom": "pages_blocks_timeline_block_items", + "tableTo": "pages_blocks_timeline_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_timeline_block_items_locales": { + "name": "pages_blocks_timeline_block_items_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "link_label": { + "name": "link_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_timeline_block_items_locales_locale_parent_id_u": { + "name": "pages_blocks_timeline_block_items_locales_locale_parent_id_u", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_timeline_block_items_locales_parent_id_fk": { + "name": "pages_blocks_timeline_block_items_locales_parent_id_fk", + "tableFrom": "pages_blocks_timeline_block_items_locales", + "tableTo": "pages_blocks_timeline_block_items", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_timeline_block": { + "name": "pages_blocks_timeline_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_timeline_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'vertical'" + }, + "show_connector": { + "name": "show_connector", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "marker_style": { + "name": "marker_style", + "type": "enum_pages_blocks_timeline_block_marker_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'dot'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_timeline_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_timeline_block_order_idx": { + "name": "pages_blocks_timeline_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_timeline_block_parent_id_idx": { + "name": "pages_blocks_timeline_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_timeline_block_path_idx": { + "name": "pages_blocks_timeline_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_timeline_block_parent_id_fk": { + "name": "pages_blocks_timeline_block_parent_id_fk", + "tableFrom": "pages_blocks_timeline_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_timeline_block_locales": { + "name": "pages_blocks_timeline_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_timeline_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_timeline_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_timeline_block_locales_parent_id_fk": { + "name": "pages_blocks_timeline_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_timeline_block_locales", + "tableTo": "pages_blocks_timeline_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_divider_block": { + "name": "pages_blocks_divider_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "style": { + "name": "style", + "type": "enum_pages_blocks_divider_block_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'space'" + }, + "spacing": { + "name": "spacing", + "type": "enum_pages_blocks_divider_block_spacing", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'medium'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_divider_block_order_idx": { + "name": "pages_blocks_divider_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_divider_block_parent_id_idx": { + "name": "pages_blocks_divider_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_divider_block_path_idx": { + "name": "pages_blocks_divider_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_divider_block_parent_id_fk": { + "name": "pages_blocks_divider_block_parent_id_fk", + "tableFrom": "pages_blocks_divider_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_video_block": { + "name": "pages_blocks_video_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "video_url": { + "name": "video_url", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "aspect_ratio": { + "name": "aspect_ratio", + "type": "enum_pages_blocks_video_block_aspect_ratio", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'16:9'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_video_block_order_idx": { + "name": "pages_blocks_video_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_video_block_parent_id_idx": { + "name": "pages_blocks_video_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_video_block_path_idx": { + "name": "pages_blocks_video_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_video_block_parent_id_fk": { + "name": "pages_blocks_video_block_parent_id_fk", + "tableFrom": "pages_blocks_video_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_video_block_locales": { + "name": "pages_blocks_video_block_locales", + "schema": "", + "columns": { + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_video_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_video_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_video_block_locales_parent_id_fk": { + "name": "pages_blocks_video_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_video_block_locales", + "tableTo": "pages_blocks_video_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_posts_list_block": { + "name": "pages_blocks_posts_list_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "post_type": { + "name": "post_type", + "type": "enum_pages_blocks_posts_list_block_post_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'blog'" + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_posts_list_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'grid'" + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_posts_list_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 6 + }, + "show_featured_only": { + "name": "show_featured_only", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_excerpt": { + "name": "show_excerpt", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_date": { + "name": "show_date", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_author": { + "name": "show_author", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_category": { + "name": "show_category", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_pagination": { + "name": "show_pagination", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_read_more": { + "name": "show_read_more", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "read_more_link": { + "name": "read_more_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/blog'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_posts_list_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_posts_list_block_order_idx": { + "name": "pages_blocks_posts_list_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_posts_list_block_parent_id_idx": { + "name": "pages_blocks_posts_list_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_posts_list_block_path_idx": { + "name": "pages_blocks_posts_list_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_posts_list_block_parent_id_fk": { + "name": "pages_blocks_posts_list_block_parent_id_fk", + "tableFrom": "pages_blocks_posts_list_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_posts_list_block_locales": { + "name": "pages_blocks_posts_list_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "read_more_label": { + "name": "read_more_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Alle Beiträge anzeigen'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_posts_list_block_locales_locale_parent_id_uniqu": { + "name": "pages_blocks_posts_list_block_locales_locale_parent_id_uniqu", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_posts_list_block_locales_parent_id_fk": { + "name": "pages_blocks_posts_list_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_posts_list_block_locales", + "tableTo": "pages_blocks_posts_list_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_testimonials_block": { + "name": "pages_blocks_testimonials_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_testimonials_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'slider'" + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_testimonials_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "display_mode": { + "name": "display_mode", + "type": "enum_pages_blocks_testimonials_block_display_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'all'" + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 6 + }, + "show_rating": { + "name": "show_rating", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_image": { + "name": "show_image", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_company": { + "name": "show_company", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_source": { + "name": "show_source", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "autoplay": { + "name": "autoplay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "autoplay_speed": { + "name": "autoplay_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5000 + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_testimonials_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'light'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_testimonials_block_order_idx": { + "name": "pages_blocks_testimonials_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_testimonials_block_parent_id_idx": { + "name": "pages_blocks_testimonials_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_testimonials_block_path_idx": { + "name": "pages_blocks_testimonials_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_testimonials_block_parent_id_fk": { + "name": "pages_blocks_testimonials_block_parent_id_fk", + "tableFrom": "pages_blocks_testimonials_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_testimonials_block_locales": { + "name": "pages_blocks_testimonials_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Das sagen unsere Kunden'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_testimonials_block_locales_locale_parent_id_uni": { + "name": "pages_blocks_testimonials_block_locales_locale_parent_id_uni", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_testimonials_block_locales_parent_id_fk": { + "name": "pages_blocks_testimonials_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_testimonials_block_locales", + "tableTo": "pages_blocks_testimonials_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_newsletter_block_available_interests": { + "name": "pages_blocks_newsletter_block_available_interests", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_pages_blocks_newsletter_block_available_interests", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "pages_blocks_newsletter_block_available_interests_order_idx": { + "name": "pages_blocks_newsletter_block_available_interests_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_block_available_interests_parent_idx": { + "name": "pages_blocks_newsletter_block_available_interests_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_newsletter_block_available_interests_parent_fk": { + "name": "pages_blocks_newsletter_block_available_interests_parent_fk", + "tableFrom": "pages_blocks_newsletter_block_available_interests", + "tableTo": "pages_blocks_newsletter_block", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_newsletter_block": { + "name": "pages_blocks_newsletter_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_newsletter_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'inline'" + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "image_position": { + "name": "image_position", + "type": "enum_pages_blocks_newsletter_block_image_position", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'left'" + }, + "collect_name": { + "name": "collect_name", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_interests": { + "name": "show_interests", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "privacy_link": { + "name": "privacy_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/datenschutz'" + }, + "source": { + "name": "source", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'website'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_newsletter_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'accent'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_newsletter_block_order_idx": { + "name": "pages_blocks_newsletter_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_block_parent_id_idx": { + "name": "pages_blocks_newsletter_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_block_path_idx": { + "name": "pages_blocks_newsletter_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_newsletter_block_image_idx": { + "name": "pages_blocks_newsletter_block_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_newsletter_block_image_id_media_id_fk": { + "name": "pages_blocks_newsletter_block_image_id_media_id_fk", + "tableFrom": "pages_blocks_newsletter_block", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_newsletter_block_parent_id_fk": { + "name": "pages_blocks_newsletter_block_parent_id_fk", + "tableFrom": "pages_blocks_newsletter_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_newsletter_block_locales": { + "name": "pages_blocks_newsletter_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Newsletter abonnieren'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Erhalten Sie regelmäßig Updates und Neuigkeiten direkt in Ihr Postfach.'" + }, + "button_text": { + "name": "button_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Anmelden'" + }, + "placeholder_email": { + "name": "placeholder_email", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Ihre E-Mail-Adresse'" + }, + "success_message": { + "name": "success_message", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Vielen Dank! Bitte bestätigen Sie Ihre E-Mail-Adresse über den Link in der Bestätigungsmail.'" + }, + "error_message": { + "name": "error_message", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Es ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut.'" + }, + "privacy_text": { + "name": "privacy_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Mit der Anmeldung akzeptieren Sie unsere Datenschutzerklärung. Sie können sich jederzeit abmelden.'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_newsletter_block_locales_locale_parent_id_uniqu": { + "name": "pages_blocks_newsletter_block_locales_locale_parent_id_uniqu", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_newsletter_block_locales_parent_id_fk": { + "name": "pages_blocks_newsletter_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_newsletter_block_locales", + "tableTo": "pages_blocks_newsletter_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_process_steps_block_steps": { + "name": "pages_blocks_process_steps_block_steps", + "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 + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_process_steps_block_steps_order_idx": { + "name": "pages_blocks_process_steps_block_steps_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_process_steps_block_steps_parent_id_idx": { + "name": "pages_blocks_process_steps_block_steps_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_process_steps_block_steps_image_idx": { + "name": "pages_blocks_process_steps_block_steps_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_process_steps_block_steps_image_id_media_id_fk": { + "name": "pages_blocks_process_steps_block_steps_image_id_media_id_fk", + "tableFrom": "pages_blocks_process_steps_block_steps", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_process_steps_block_steps_parent_id_fk": { + "name": "pages_blocks_process_steps_block_steps_parent_id_fk", + "tableFrom": "pages_blocks_process_steps_block_steps", + "tableTo": "pages_blocks_process_steps_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_process_steps_block_steps_locales": { + "name": "pages_blocks_process_steps_block_steps_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_process_steps_block_steps_locales_locale_parent": { + "name": "pages_blocks_process_steps_block_steps_locales_locale_parent", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_process_steps_block_steps_locales_parent_id_fk": { + "name": "pages_blocks_process_steps_block_steps_locales_parent_id_fk", + "tableFrom": "pages_blocks_process_steps_block_steps_locales", + "tableTo": "pages_blocks_process_steps_block_steps", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_process_steps_block": { + "name": "pages_blocks_process_steps_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_process_steps_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'horizontal'" + }, + "show_numbers": { + "name": "show_numbers", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_icons": { + "name": "show_icons", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "cta_show": { + "name": "cta_show", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "cta_href": { + "name": "cta_href", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_variant": { + "name": "cta_variant", + "type": "enum_pages_blocks_process_steps_block_cta_variant", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'default'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_process_steps_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_process_steps_block_order_idx": { + "name": "pages_blocks_process_steps_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_process_steps_block_parent_id_idx": { + "name": "pages_blocks_process_steps_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_process_steps_block_path_idx": { + "name": "pages_blocks_process_steps_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_process_steps_block_parent_id_fk": { + "name": "pages_blocks_process_steps_block_parent_id_fk", + "tableFrom": "pages_blocks_process_steps_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_process_steps_block_locales": { + "name": "pages_blocks_process_steps_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'So funktioniert es'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_label": { + "name": "cta_label", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Jetzt starten'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_process_steps_block_locales_locale_parent_id_un": { + "name": "pages_blocks_process_steps_block_locales_locale_parent_id_un", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_process_steps_block_locales_parent_id_fk": { + "name": "pages_blocks_process_steps_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_process_steps_block_locales", + "tableTo": "pages_blocks_process_steps_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_faq_block_inline_f_a_qs": { + "name": "pages_blocks_faq_block_inline_f_a_qs", + "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 + } + }, + "indexes": { + "pages_blocks_faq_block_inline_f_a_qs_order_idx": { + "name": "pages_blocks_faq_block_inline_f_a_qs_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_faq_block_inline_f_a_qs_parent_id_idx": { + "name": "pages_blocks_faq_block_inline_f_a_qs_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_faq_block_inline_f_a_qs_parent_id_fk": { + "name": "pages_blocks_faq_block_inline_f_a_qs_parent_id_fk", + "tableFrom": "pages_blocks_faq_block_inline_f_a_qs", + "tableTo": "pages_blocks_faq_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_faq_block_inline_f_a_qs_locales": { + "name": "pages_blocks_faq_block_inline_f_a_qs_locales", + "schema": "", + "columns": { + "question": { + "name": "question", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "answer": { + "name": "answer", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "answer_plain_text": { + "name": "answer_plain_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_faq_block_inline_f_a_qs_locales_locale_parent_i": { + "name": "pages_blocks_faq_block_inline_f_a_qs_locales_locale_parent_i", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_faq_block_inline_f_a_qs_locales_parent_id_fk": { + "name": "pages_blocks_faq_block_inline_f_a_qs_locales_parent_id_fk", + "tableFrom": "pages_blocks_faq_block_inline_f_a_qs_locales", + "tableTo": "pages_blocks_faq_block_inline_f_a_qs", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_faq_block": { + "name": "pages_blocks_faq_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "source_mode": { + "name": "source_mode", + "type": "enum_pages_blocks_faq_block_source_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'collection'" + }, + "display_mode": { + "name": "display_mode", + "type": "enum_pages_blocks_faq_block_display_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'all'" + }, + "category": { + "name": "category", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 10 + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_faq_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'accordion'" + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_faq_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'2'" + }, + "expand_first": { + "name": "expand_first", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "allow_multiple_open": { + "name": "allow_multiple_open", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_category": { + "name": "show_category", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_icon": { + "name": "show_icon", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "group_by_category": { + "name": "group_by_category", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "enable_schema_org": { + "name": "enable_schema_org", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_faq_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "show_contact_c_t_a": { + "name": "show_contact_c_t_a", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "contact_c_t_a_link": { + "name": "contact_c_t_a_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/kontakt'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_faq_block_order_idx": { + "name": "pages_blocks_faq_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_faq_block_parent_id_idx": { + "name": "pages_blocks_faq_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_faq_block_path_idx": { + "name": "pages_blocks_faq_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_faq_block_parent_id_fk": { + "name": "pages_blocks_faq_block_parent_id_fk", + "tableFrom": "pages_blocks_faq_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_faq_block_locales": { + "name": "pages_blocks_faq_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Häufig gestellte Fragen'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contact_c_t_a_text": { + "name": "contact_c_t_a_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Ihre Frage war nicht dabei?'" + }, + "contact_c_t_a_button_text": { + "name": "contact_c_t_a_button_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Kontaktieren Sie uns'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_faq_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_faq_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_faq_block_locales_parent_id_fk": { + "name": "pages_blocks_faq_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_faq_block_locales", + "tableTo": "pages_blocks_faq_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_team_block": { + "name": "pages_blocks_team_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "display_mode": { + "name": "display_mode", + "type": "enum_pages_blocks_team_block_display_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'all'" + }, + "department": { + "name": "department", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 12 + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_team_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'grid'" + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_team_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "show_role": { + "name": "show_role", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_department": { + "name": "show_department", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_bio": { + "name": "show_bio", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_contact": { + "name": "show_contact", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_social_links": { + "name": "show_social_links", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_qualifications": { + "name": "show_qualifications", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_specializations": { + "name": "show_specializations", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_languages": { + "name": "show_languages", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "group_by_department": { + "name": "group_by_department", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "autoplay": { + "name": "autoplay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "autoplay_speed": { + "name": "autoplay_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5000 + }, + "enable_detail_view": { + "name": "enable_detail_view", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "image_style": { + "name": "image_style", + "type": "enum_pages_blocks_team_block_image_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'rounded'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_team_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "show_c_t_a": { + "name": "show_c_t_a", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "cta_link": { + "name": "cta_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/karriere'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_team_block_order_idx": { + "name": "pages_blocks_team_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_team_block_parent_id_idx": { + "name": "pages_blocks_team_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_team_block_path_idx": { + "name": "pages_blocks_team_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_team_block_parent_id_fk": { + "name": "pages_blocks_team_block_parent_id_fk", + "tableFrom": "pages_blocks_team_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_team_block_locales": { + "name": "pages_blocks_team_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Unser Team'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "introduction": { + "name": "introduction", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "cta_text": { + "name": "cta_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Jetzt bewerben'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_team_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_team_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_team_block_locales_parent_id_fk": { + "name": "pages_blocks_team_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_team_block_locales", + "tableTo": "pages_blocks_team_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_services_block": { + "name": "pages_blocks_services_block", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "display_mode": { + "name": "display_mode", + "type": "enum_pages_blocks_services_block_display_mode", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'all'" + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "limit": { + "name": "limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 12 + }, + "layout": { + "name": "layout", + "type": "enum_pages_blocks_services_block_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'grid'" + }, + "columns": { + "name": "columns", + "type": "enum_pages_blocks_services_block_columns", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "featured_count": { + "name": "featured_count", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 1 + }, + "tabs_style": { + "name": "tabs_style", + "type": "enum_pages_blocks_services_block_tabs_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'horizontal'" + }, + "show_all_tab": { + "name": "show_all_tab", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "expand_first": { + "name": "expand_first", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "allow_multiple_open": { + "name": "allow_multiple_open", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "autoplay": { + "name": "autoplay", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "autoplay_speed": { + "name": "autoplay_speed", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 5000 + }, + "slides_per_view": { + "name": "slides_per_view", + "type": "enum_pages_blocks_services_block_slides_per_view", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'3'" + }, + "show_image": { + "name": "show_image", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_icon": { + "name": "show_icon", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_description": { + "name": "show_description", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_category": { + "name": "show_category", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "show_pricing": { + "name": "show_pricing", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_features": { + "name": "show_features", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "features_limit": { + "name": "features_limit", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 3 + }, + "show_c_t_a": { + "name": "show_c_t_a", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "show_new_badge": { + "name": "show_new_badge", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "group_by_category": { + "name": "group_by_category", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "link_to_detail": { + "name": "link_to_detail", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "services_base_path": { + "name": "services_base_path", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/leistungen'" + }, + "card_style": { + "name": "card_style", + "type": "enum_pages_blocks_services_block_card_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'elevated'" + }, + "background_color": { + "name": "background_color", + "type": "enum_pages_blocks_services_block_background_color", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'white'" + }, + "show_section_c_t_a": { + "name": "show_section_c_t_a", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "section_c_t_a_link": { + "name": "section_c_t_a_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/leistungen'" + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_blocks_services_block_order_idx": { + "name": "pages_blocks_services_block_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_services_block_parent_id_idx": { + "name": "pages_blocks_services_block_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_services_block_path_idx": { + "name": "pages_blocks_services_block_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_blocks_services_block_category_idx": { + "name": "pages_blocks_services_block_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_services_block_category_id_service_categories_id_fk": { + "name": "pages_blocks_services_block_category_id_service_categories_id_fk", + "tableFrom": "pages_blocks_services_block", + "tableTo": "service_categories", + "columnsFrom": [ + "category_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_blocks_services_block_parent_id_fk": { + "name": "pages_blocks_services_block_parent_id_fk", + "tableFrom": "pages_blocks_services_block", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_blocks_services_block_locales": { + "name": "pages_blocks_services_block_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Unsere Leistungen'" + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "introduction": { + "name": "introduction", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "detail_link_text": { + "name": "detail_link_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Mehr erfahren'" + }, + "section_c_t_a_text": { + "name": "section_c_t_a_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Alle Leistungen ansehen'" + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_blocks_services_block_locales_locale_parent_id_unique": { + "name": "pages_blocks_services_block_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_blocks_services_block_locales_parent_id_fk": { + "name": "pages_blocks_services_block_locales_parent_id_fk", + "tableFrom": "pages_blocks_services_block_locales", + "tableTo": "pages_blocks_services_block", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages": { + "name": "pages", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "hero_image_id": { + "name": "hero_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "seo_og_image_id": { + "name": "seo_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_pages_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "published_at": { + "name": "published_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "pages_tenant_idx": { + "name": "pages_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_hero_hero_image_idx": { + "name": "pages_hero_hero_image_idx", + "columns": [ + { + "expression": "hero_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_seo_seo_og_image_idx": { + "name": "pages_seo_seo_og_image_idx", + "columns": [ + { + "expression": "seo_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_updated_at_idx": { + "name": "pages_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_created_at_idx": { + "name": "pages_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_tenant_id_tenants_id_fk": { + "name": "pages_tenant_id_tenants_id_fk", + "tableFrom": "pages", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_hero_image_id_media_id_fk": { + "name": "pages_hero_image_id_media_id_fk", + "tableFrom": "pages", + "tableTo": "media", + "columnsFrom": [ + "hero_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "pages_seo_og_image_id_media_id_fk": { + "name": "pages_seo_og_image_id_media_id_fk", + "tableFrom": "pages", + "tableTo": "media", + "columnsFrom": [ + "seo_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_locales": { + "name": "pages_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "hero_headline": { + "name": "hero_headline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "hero_subline": { + "name": "hero_subline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "pages_locales_locale_parent_id_unique": { + "name": "pages_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_locales_parent_id_fk": { + "name": "pages_locales_parent_id_fk", + "tableFrom": "pages_locales", + "tableTo": "pages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.pages_rels": { + "name": "pages_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "testimonials_id": { + "name": "testimonials_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faqs_id": { + "name": "faqs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "team_id": { + "name": "team_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "services_id": { + "name": "services_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "pages_rels_order_idx": { + "name": "pages_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_parent_idx": { + "name": "pages_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_path_idx": { + "name": "pages_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_categories_id_idx": { + "name": "pages_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_testimonials_id_idx": { + "name": "pages_rels_testimonials_id_idx", + "columns": [ + { + "expression": "testimonials_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_faqs_id_idx": { + "name": "pages_rels_faqs_id_idx", + "columns": [ + { + "expression": "faqs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_team_id_idx": { + "name": "pages_rels_team_id_idx", + "columns": [ + { + "expression": "team_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "pages_rels_services_id_idx": { + "name": "pages_rels_services_id_idx", + "columns": [ + { + "expression": "services_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "pages_rels_parent_fk": { + "name": "pages_rels_parent_fk", + "tableFrom": "pages_rels", + "tableTo": "pages", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pages_rels_categories_fk": { + "name": "pages_rels_categories_fk", + "tableFrom": "pages_rels", + "tableTo": "categories", + "columnsFrom": [ + "categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pages_rels_testimonials_fk": { + "name": "pages_rels_testimonials_fk", + "tableFrom": "pages_rels", + "tableTo": "testimonials", + "columnsFrom": [ + "testimonials_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pages_rels_faqs_fk": { + "name": "pages_rels_faqs_fk", + "tableFrom": "pages_rels", + "tableTo": "faqs", + "columnsFrom": [ + "faqs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pages_rels_team_fk": { + "name": "pages_rels_team_fk", + "tableFrom": "pages_rels", + "tableTo": "team", + "columnsFrom": [ + "team_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "pages_rels_services_fk": { + "name": "pages_rels_services_fk", + "tableFrom": "pages_rels", + "tableTo": "services", + "columnsFrom": [ + "services_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.posts": { + "name": "posts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "type": { + "name": "type", + "type": "enum_posts_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'blog'" + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "featured_image_id": { + "name": "featured_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "author": { + "name": "author", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_posts_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "published_at": { + "name": "published_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "seo_og_image_id": { + "name": "seo_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "posts_tenant_idx": { + "name": "posts_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_featured_image_idx": { + "name": "posts_featured_image_idx", + "columns": [ + { + "expression": "featured_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_seo_seo_og_image_idx": { + "name": "posts_seo_seo_og_image_idx", + "columns": [ + { + "expression": "seo_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_updated_at_idx": { + "name": "posts_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_created_at_idx": { + "name": "posts_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "posts_tenant_id_tenants_id_fk": { + "name": "posts_tenant_id_tenants_id_fk", + "tableFrom": "posts", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "posts_featured_image_id_media_id_fk": { + "name": "posts_featured_image_id_media_id_fk", + "tableFrom": "posts", + "tableTo": "media", + "columnsFrom": [ + "featured_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "posts_seo_og_image_id_media_id_fk": { + "name": "posts_seo_og_image_id_media_id_fk", + "tableFrom": "posts", + "tableTo": "media", + "columnsFrom": [ + "seo_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.posts_locales": { + "name": "posts_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "excerpt": { + "name": "excerpt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "posts_locales_locale_parent_id_unique": { + "name": "posts_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "posts_locales_parent_id_fk": { + "name": "posts_locales_parent_id_fk", + "tableFrom": "posts_locales", + "tableTo": "posts", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.posts_rels": { + "name": "posts_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "posts_rels_order_idx": { + "name": "posts_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_rels_parent_idx": { + "name": "posts_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_rels_path_idx": { + "name": "posts_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "posts_rels_categories_id_idx": { + "name": "posts_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "posts_rels_parent_fk": { + "name": "posts_rels_parent_fk", + "tableFrom": "posts_rels", + "tableTo": "posts", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "posts_rels_categories_fk": { + "name": "posts_rels_categories_fk", + "tableFrom": "posts_rels", + "tableTo": "categories", + "columnsFrom": [ + "categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.categories": { + "name": "categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "categories_tenant_idx": { + "name": "categories_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "categories_updated_at_idx": { + "name": "categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "categories_created_at_idx": { + "name": "categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "categories_tenant_id_tenants_id_fk": { + "name": "categories_tenant_id_tenants_id_fk", + "tableFrom": "categories", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.categories_locales": { + "name": "categories_locales", + "schema": "", + "columns": { + "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": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "categories_locales_locale_parent_id_unique": { + "name": "categories_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "categories_locales_parent_id_fk": { + "name": "categories_locales_parent_id_fk", + "tableFrom": "categories_locales", + "tableTo": "categories", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.social_links": { + "name": "social_links", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "platform": { + "name": "platform", + "type": "enum_social_links_platform", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": 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": { + "social_links_tenant_idx": { + "name": "social_links_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "social_links_updated_at_idx": { + "name": "social_links_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "social_links_created_at_idx": { + "name": "social_links_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "social_links_tenant_id_tenants_id_fk": { + "name": "social_links_tenant_id_tenants_id_fk", + "tableFrom": "social_links", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.testimonials": { + "name": "testimonials", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "author": { + "name": "author", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "company": { + "name": "company", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "rating": { + "name": "rating", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "source": { + "name": "source", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "source_url": { + "name": "source_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "date": { + "name": "date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "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": { + "testimonials_tenant_idx": { + "name": "testimonials_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "testimonials_image_idx": { + "name": "testimonials_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "testimonials_updated_at_idx": { + "name": "testimonials_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "testimonials_created_at_idx": { + "name": "testimonials_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "testimonials_tenant_id_tenants_id_fk": { + "name": "testimonials_tenant_id_tenants_id_fk", + "tableFrom": "testimonials", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "testimonials_image_id_media_id_fk": { + "name": "testimonials_image_id_media_id_fk", + "tableFrom": "testimonials", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.testimonials_locales": { + "name": "testimonials_locales", + "schema": "", + "columns": { + "quote": { + "name": "quote", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "role": { + "name": "role", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "testimonials_locales_locale_parent_id_unique": { + "name": "testimonials_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "testimonials_locales_parent_id_fk": { + "name": "testimonials_locales_parent_id_fk", + "tableFrom": "testimonials_locales", + "tableTo": "testimonials", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.faqs": { + "name": "faqs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "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": { + "faqs_tenant_idx": { + "name": "faqs_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "faqs_updated_at_idx": { + "name": "faqs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "faqs_created_at_idx": { + "name": "faqs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "faqs_tenant_id_tenants_id_fk": { + "name": "faqs_tenant_id_tenants_id_fk", + "tableFrom": "faqs", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.faqs_locales": { + "name": "faqs_locales", + "schema": "", + "columns": { + "question": { + "name": "question", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "answer": { + "name": "answer", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "answer_plain_text": { + "name": "answer_plain_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "category": { + "name": "category", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "faqs_locales_locale_parent_id_unique": { + "name": "faqs_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "faqs_locales_parent_id_fk": { + "name": "faqs_locales_parent_id_fk", + "tableFrom": "faqs_locales", + "tableTo": "faqs", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.faqs_rels": { + "name": "faqs_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "faqs_id": { + "name": "faqs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "faqs_rels_order_idx": { + "name": "faqs_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "faqs_rels_parent_idx": { + "name": "faqs_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "faqs_rels_path_idx": { + "name": "faqs_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "faqs_rels_faqs_id_idx": { + "name": "faqs_rels_faqs_id_idx", + "columns": [ + { + "expression": "faqs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "faqs_rels_parent_fk": { + "name": "faqs_rels_parent_fk", + "tableFrom": "faqs_rels", + "tableTo": "faqs", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "faqs_rels_faqs_fk": { + "name": "faqs_rels_faqs_fk", + "tableFrom": "faqs_rels", + "tableTo": "faqs", + "columnsFrom": [ + "faqs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_social_links": { + "name": "team_social_links", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "platform": { + "name": "platform", + "type": "enum_team_social_links_platform", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "team_social_links_order_idx": { + "name": "team_social_links_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_social_links_parent_id_idx": { + "name": "team_social_links_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_social_links_parent_id_fk": { + "name": "team_social_links_parent_id_fk", + "tableFrom": "team_social_links", + "tableTo": "team", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_qualifications": { + "name": "team_qualifications", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "year": { + "name": "year", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "institution": { + "name": "institution", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "team_qualifications_order_idx": { + "name": "team_qualifications_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_qualifications_parent_id_idx": { + "name": "team_qualifications_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_qualifications_parent_id_fk": { + "name": "team_qualifications_parent_id_fk", + "tableFrom": "team_qualifications", + "tableTo": "team", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_qualifications_locales": { + "name": "team_qualifications_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "team_qualifications_locales_locale_parent_id_unique": { + "name": "team_qualifications_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_qualifications_locales_parent_id_fk": { + "name": "team_qualifications_locales_parent_id_fk", + "tableFrom": "team_qualifications_locales", + "tableTo": "team_qualifications", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_specializations": { + "name": "team_specializations", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "team_specializations_order_idx": { + "name": "team_specializations_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_specializations_parent_id_idx": { + "name": "team_specializations_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_specializations_parent_id_fk": { + "name": "team_specializations_parent_id_fk", + "tableFrom": "team_specializations", + "tableTo": "team", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_specializations_locales": { + "name": "team_specializations_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "team_specializations_locales_locale_parent_id_unique": { + "name": "team_specializations_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_specializations_locales_parent_id_fk": { + "name": "team_specializations_locales_parent_id_fk", + "tableFrom": "team_specializations_locales", + "tableTo": "team_specializations", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_languages": { + "name": "team_languages", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "level": { + "name": "level", + "type": "enum_team_languages_level", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "team_languages_order_idx": { + "name": "team_languages_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_languages_parent_id_idx": { + "name": "team_languages_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_languages_parent_id_fk": { + "name": "team_languages_parent_id_fk", + "tableFrom": "team_languages", + "tableTo": "team", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_languages_locales": { + "name": "team_languages_locales", + "schema": "", + "columns": { + "language": { + "name": "language", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "team_languages_locales_locale_parent_id_unique": { + "name": "team_languages_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_languages_locales_parent_id_fk": { + "name": "team_languages_locales_parent_id_fk", + "tableFrom": "team_languages_locales", + "tableTo": "team_languages", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team": { + "name": "team", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "phone": { + "name": "phone", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "show_contact_info": { + "name": "show_contact_info", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "linked_user_id": { + "name": "linked_user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "start_date": { + "name": "start_date", + "type": "timestamp(3) with time zone", + "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": { + "team_tenant_idx": { + "name": "team_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_image_idx": { + "name": "team_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_linked_user_idx": { + "name": "team_linked_user_idx", + "columns": [ + { + "expression": "linked_user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_updated_at_idx": { + "name": "team_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "team_created_at_idx": { + "name": "team_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_tenant_id_tenants_id_fk": { + "name": "team_tenant_id_tenants_id_fk", + "tableFrom": "team", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "team_image_id_media_id_fk": { + "name": "team_image_id_media_id_fk", + "tableFrom": "team", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "team_linked_user_id_users_id_fk": { + "name": "team_linked_user_id_users_id_fk", + "tableFrom": "team", + "tableTo": "users", + "columnsFrom": [ + "linked_user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.team_locales": { + "name": "team_locales", + "schema": "", + "columns": { + "role": { + "name": "role", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "department": { + "name": "department", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "bio": { + "name": "bio", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "bio_short": { + "name": "bio_short", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "team_locales_locale_parent_id_unique": { + "name": "team_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "team_locales_parent_id_fk": { + "name": "team_locales_parent_id_fk", + "tableFrom": "team_locales", + "tableTo": "team", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.service_categories": { + "name": "service_categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "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": { + "service_categories_tenant_idx": { + "name": "service_categories_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "service_categories_image_idx": { + "name": "service_categories_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "service_categories_updated_at_idx": { + "name": "service_categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "service_categories_created_at_idx": { + "name": "service_categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "service_categories_tenant_id_tenants_id_fk": { + "name": "service_categories_tenant_id_tenants_id_fk", + "tableFrom": "service_categories", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "service_categories_image_id_media_id_fk": { + "name": "service_categories_image_id_media_id_fk", + "tableFrom": "service_categories", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.service_categories_locales": { + "name": "service_categories_locales", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "service_categories_locales_locale_parent_id_unique": { + "name": "service_categories_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "service_categories_locales_parent_id_fk": { + "name": "service_categories_locales_parent_id_fk", + "tableFrom": "service_categories_locales", + "tableTo": "service_categories", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_gallery": { + "name": "services_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "services_gallery_order_idx": { + "name": "services_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_gallery_parent_id_idx": { + "name": "services_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_gallery_image_idx": { + "name": "services_gallery_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_gallery_image_id_media_id_fk": { + "name": "services_gallery_image_id_media_id_fk", + "tableFrom": "services_gallery", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "services_gallery_parent_id_fk": { + "name": "services_gallery_parent_id_fk", + "tableFrom": "services_gallery", + "tableTo": "services", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_gallery_locales": { + "name": "services_gallery_locales", + "schema": "", + "columns": { + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "services_gallery_locales_locale_parent_id_unique": { + "name": "services_gallery_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_gallery_locales_parent_id_fk": { + "name": "services_gallery_locales_parent_id_fk", + "tableFrom": "services_gallery_locales", + "tableTo": "services_gallery", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_features": { + "name": "services_features", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "services_features_order_idx": { + "name": "services_features_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_features_parent_id_idx": { + "name": "services_features_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_features_parent_id_fk": { + "name": "services_features_parent_id_fk", + "tableFrom": "services_features", + "tableTo": "services", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_features_locales": { + "name": "services_features_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "services_features_locales_locale_parent_id_unique": { + "name": "services_features_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_features_locales_parent_id_fk": { + "name": "services_features_locales_parent_id_fk", + "tableFrom": "services_features_locales", + "tableTo": "services_features", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_detail_sections": { + "name": "services_detail_sections", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "services_detail_sections_order_idx": { + "name": "services_detail_sections_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_detail_sections_parent_id_idx": { + "name": "services_detail_sections_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_detail_sections_parent_id_fk": { + "name": "services_detail_sections_parent_id_fk", + "tableFrom": "services_detail_sections", + "tableTo": "services", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_detail_sections_locales": { + "name": "services_detail_sections_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "content": { + "name": "content", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "services_detail_sections_locales_locale_parent_id_unique": { + "name": "services_detail_sections_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_detail_sections_locales_parent_id_fk": { + "name": "services_detail_sections_locales_parent_id_fk", + "tableFrom": "services_detail_sections_locales", + "tableTo": "services_detail_sections", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services": { + "name": "services", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "icon_image_id": { + "name": "icon_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "pricing_type": { + "name": "pricing_type", + "type": "enum_services_pricing_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'on-request'" + }, + "price": { + "name": "price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "price_max": { + "name": "price_max", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "cta_link": { + "name": "cta_link", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/kontakt'" + }, + "cta_style": { + "name": "cta_style", + "type": "enum_services_cta_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + }, + "secondary_cta_enabled": { + "name": "secondary_cta_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "secondary_cta_link": { + "name": "secondary_cta_link", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "testimonial_author": { + "name": "testimonial_author", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "og_image_id": { + "name": "og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_new": { + "name": "is_new", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "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": { + "services_tenant_idx": { + "name": "services_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_icon_image_idx": { + "name": "services_icon_image_idx", + "columns": [ + { + "expression": "icon_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_image_idx": { + "name": "services_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_category_idx": { + "name": "services_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_og_image_idx": { + "name": "services_og_image_idx", + "columns": [ + { + "expression": "og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_updated_at_idx": { + "name": "services_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_created_at_idx": { + "name": "services_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_tenant_id_tenants_id_fk": { + "name": "services_tenant_id_tenants_id_fk", + "tableFrom": "services", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "services_icon_image_id_media_id_fk": { + "name": "services_icon_image_id_media_id_fk", + "tableFrom": "services", + "tableTo": "media", + "columnsFrom": [ + "icon_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "services_image_id_media_id_fk": { + "name": "services_image_id_media_id_fk", + "tableFrom": "services", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "services_category_id_service_categories_id_fk": { + "name": "services_category_id_service_categories_id_fk", + "tableFrom": "services", + "tableTo": "service_categories", + "columnsFrom": [ + "category_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "services_og_image_id_media_id_fk": { + "name": "services_og_image_id_media_id_fk", + "tableFrom": "services", + "tableTo": "media", + "columnsFrom": [ + "og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_locales": { + "name": "services_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "short_description": { + "name": "short_description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "price_unit": { + "name": "price_unit", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "price_note": { + "name": "price_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "pricing_details": { + "name": "pricing_details", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "cta_text": { + "name": "cta_text", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Jetzt anfragen'" + }, + "secondary_cta_text": { + "name": "secondary_cta_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "testimonial_quote": { + "name": "testimonial_quote", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_title": { + "name": "meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "meta_description": { + "name": "meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "services_locales_locale_parent_id_unique": { + "name": "services_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_locales_parent_id_fk": { + "name": "services_locales_parent_id_fk", + "tableFrom": "services_locales", + "tableTo": "services", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.services_rels": { + "name": "services_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "services_id": { + "name": "services_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "team_id": { + "name": "team_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faqs_id": { + "name": "faqs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "services_rels_order_idx": { + "name": "services_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_rels_parent_idx": { + "name": "services_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_rels_path_idx": { + "name": "services_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_rels_services_id_idx": { + "name": "services_rels_services_id_idx", + "columns": [ + { + "expression": "services_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_rels_team_id_idx": { + "name": "services_rels_team_id_idx", + "columns": [ + { + "expression": "team_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "services_rels_faqs_id_idx": { + "name": "services_rels_faqs_id_idx", + "columns": [ + { + "expression": "faqs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "services_rels_parent_fk": { + "name": "services_rels_parent_fk", + "tableFrom": "services_rels", + "tableTo": "services", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "services_rels_services_fk": { + "name": "services_rels_services_fk", + "tableFrom": "services_rels", + "tableTo": "services", + "columnsFrom": [ + "services_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "services_rels_team_fk": { + "name": "services_rels_team_fk", + "tableFrom": "services_rels", + "tableTo": "team", + "columnsFrom": [ + "team_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "services_rels_faqs_fk": { + "name": "services_rels_faqs_fk", + "tableFrom": "services_rels", + "tableTo": "faqs", + "columnsFrom": [ + "faqs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.newsletter_subscribers_interests": { + "name": "newsletter_subscribers_interests", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_newsletter_subscribers_interests", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "newsletter_subscribers_interests_order_idx": { + "name": "newsletter_subscribers_interests_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "newsletter_subscribers_interests_parent_idx": { + "name": "newsletter_subscribers_interests_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "newsletter_subscribers_interests_parent_fk": { + "name": "newsletter_subscribers_interests_parent_fk", + "tableFrom": "newsletter_subscribers_interests", + "tableTo": "newsletter_subscribers", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.newsletter_subscribers": { + "name": "newsletter_subscribers", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "email": { + "name": "email", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "first_name": { + "name": "first_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "last_name": { + "name": "last_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_newsletter_subscribers_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "source": { + "name": "source", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "subscribed_at": { + "name": "subscribed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "confirmed_at": { + "name": "confirmed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "unsubscribed_at": { + "name": "unsubscribed_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "confirmation_token": { + "name": "confirmation_token", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "ip_address": { + "name": "ip_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "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": { + "newsletter_subscribers_tenant_idx": { + "name": "newsletter_subscribers_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "newsletter_subscribers_updated_at_idx": { + "name": "newsletter_subscribers_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "newsletter_subscribers_created_at_idx": { + "name": "newsletter_subscribers_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "newsletter_subscribers_tenant_id_tenants_id_fk": { + "name": "newsletter_subscribers_tenant_id_tenants_id_fk", + "tableFrom": "newsletter_subscribers", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolio_categories": { + "name": "portfolio_categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": 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": { + "portfolio_categories_tenant_idx": { + "name": "portfolio_categories_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolio_categories_cover_image_idx": { + "name": "portfolio_categories_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolio_categories_updated_at_idx": { + "name": "portfolio_categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolio_categories_created_at_idx": { + "name": "portfolio_categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolio_categories_tenant_id_tenants_id_fk": { + "name": "portfolio_categories_tenant_id_tenants_id_fk", + "tableFrom": "portfolio_categories", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "portfolio_categories_cover_image_id_media_id_fk": { + "name": "portfolio_categories_cover_image_id_media_id_fk", + "tableFrom": "portfolio_categories", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolio_categories_locales": { + "name": "portfolio_categories_locales", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "portfolio_categories_locales_locale_parent_id_unique": { + "name": "portfolio_categories_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolio_categories_locales_parent_id_fk": { + "name": "portfolio_categories_locales_parent_id_fk", + "tableFrom": "portfolio_categories_locales", + "tableTo": "portfolio_categories", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolios_images": { + "name": "portfolios_images", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "is_highlight": { + "name": "is_highlight", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "portfolios_images_order_idx": { + "name": "portfolios_images_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_images_parent_id_idx": { + "name": "portfolios_images_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_images_image_idx": { + "name": "portfolios_images_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolios_images_image_id_media_id_fk": { + "name": "portfolios_images_image_id_media_id_fk", + "tableFrom": "portfolios_images", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "portfolios_images_parent_id_fk": { + "name": "portfolios_images_parent_id_fk", + "tableFrom": "portfolios_images", + "tableTo": "portfolios", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolios_images_locales": { + "name": "portfolios_images_locales", + "schema": "", + "columns": { + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "portfolios_images_locales_locale_parent_id_unique": { + "name": "portfolios_images_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolios_images_locales_parent_id_fk": { + "name": "portfolios_images_locales_parent_id_fk", + "tableFrom": "portfolios_images_locales", + "tableTo": "portfolios_images", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolios": { + "name": "portfolios", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "cover_image_id": { + "name": "cover_image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "project_details_client": { + "name": "project_details_client", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "project_details_shooting_date": { + "name": "project_details_shooting_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_portfolios_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "published_at": { + "name": "published_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "seo_og_image_id": { + "name": "seo_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "portfolios_tenant_idx": { + "name": "portfolios_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_category_idx": { + "name": "portfolios_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_cover_image_idx": { + "name": "portfolios_cover_image_idx", + "columns": [ + { + "expression": "cover_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_seo_seo_og_image_idx": { + "name": "portfolios_seo_seo_og_image_idx", + "columns": [ + { + "expression": "seo_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_updated_at_idx": { + "name": "portfolios_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "portfolios_created_at_idx": { + "name": "portfolios_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolios_tenant_id_tenants_id_fk": { + "name": "portfolios_tenant_id_tenants_id_fk", + "tableFrom": "portfolios", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "portfolios_category_id_portfolio_categories_id_fk": { + "name": "portfolios_category_id_portfolio_categories_id_fk", + "tableFrom": "portfolios", + "tableTo": "portfolio_categories", + "columnsFrom": [ + "category_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "portfolios_cover_image_id_media_id_fk": { + "name": "portfolios_cover_image_id_media_id_fk", + "tableFrom": "portfolios", + "tableTo": "media", + "columnsFrom": [ + "cover_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "portfolios_seo_og_image_id_media_id_fk": { + "name": "portfolios_seo_og_image_id_media_id_fk", + "tableFrom": "portfolios", + "tableTo": "media", + "columnsFrom": [ + "seo_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolios_locales": { + "name": "portfolios_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "excerpt": { + "name": "excerpt", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "project_details_location": { + "name": "project_details_location", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "portfolios_locales_locale_parent_id_unique": { + "name": "portfolios_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolios_locales_parent_id_fk": { + "name": "portfolios_locales_parent_id_fk", + "tableFrom": "portfolios_locales", + "tableTo": "portfolios", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.portfolios_texts": { + "name": "portfolios_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "portfolios_texts_order_parent": { + "name": "portfolios_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "portfolios_texts_parent_fk": { + "name": "portfolios_texts_parent_fk", + "tableFrom": "portfolios_texts", + "tableTo": "portfolios", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.product_categories": { + "name": "product_categories", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": 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": { + "product_categories_tenant_idx": { + "name": "product_categories_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "product_categories_image_idx": { + "name": "product_categories_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "product_categories_parent_idx": { + "name": "product_categories_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "product_categories_updated_at_idx": { + "name": "product_categories_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "product_categories_created_at_idx": { + "name": "product_categories_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "product_categories_tenant_id_tenants_id_fk": { + "name": "product_categories_tenant_id_tenants_id_fk", + "tableFrom": "product_categories", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "product_categories_image_id_media_id_fk": { + "name": "product_categories_image_id_media_id_fk", + "tableFrom": "product_categories", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "product_categories_parent_id_product_categories_id_fk": { + "name": "product_categories_parent_id_product_categories_id_fk", + "tableFrom": "product_categories", + "tableTo": "product_categories", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.product_categories_locales": { + "name": "product_categories_locales", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "product_categories_locales_locale_parent_id_unique": { + "name": "product_categories_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "product_categories_locales_parent_id_fk": { + "name": "product_categories_locales_parent_id_fk", + "tableFrom": "product_categories_locales", + "tableTo": "product_categories", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_tags": { + "name": "products_tags", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "tag": { + "name": "tag", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_tags_order_idx": { + "name": "products_tags_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_tags_parent_id_idx": { + "name": "products_tags_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_tags_parent_id_fk": { + "name": "products_tags_parent_id_fk", + "tableFrom": "products_tags", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_gallery": { + "name": "products_gallery", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_gallery_order_idx": { + "name": "products_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_gallery_parent_id_idx": { + "name": "products_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_gallery_image_idx": { + "name": "products_gallery_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_gallery_image_id_media_id_fk": { + "name": "products_gallery_image_id_media_id_fk", + "tableFrom": "products_gallery", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "products_gallery_parent_id_fk": { + "name": "products_gallery_parent_id_fk", + "tableFrom": "products_gallery", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_gallery_locales": { + "name": "products_gallery_locales", + "schema": "", + "columns": { + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_gallery_locales_locale_parent_id_unique": { + "name": "products_gallery_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_gallery_locales_parent_id_fk": { + "name": "products_gallery_locales_parent_id_fk", + "tableFrom": "products_gallery_locales", + "tableTo": "products_gallery", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_details_specifications": { + "name": "products_details_specifications", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "products_details_specifications_order_idx": { + "name": "products_details_specifications_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_details_specifications_parent_id_idx": { + "name": "products_details_specifications_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_details_specifications_parent_id_fk": { + "name": "products_details_specifications_parent_id_fk", + "tableFrom": "products_details_specifications", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_details_specifications_locales": { + "name": "products_details_specifications_locales", + "schema": "", + "columns": { + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_details_specifications_locales_locale_parent_id_uni": { + "name": "products_details_specifications_locales_locale_parent_id_uni", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_details_specifications_locales_parent_id_fk": { + "name": "products_details_specifications_locales_parent_id_fk", + "tableFrom": "products_details_specifications_locales", + "tableTo": "products_details_specifications", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_details_features": { + "name": "products_details_features", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "products_details_features_order_idx": { + "name": "products_details_features_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_details_features_parent_id_idx": { + "name": "products_details_features_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_details_features_parent_id_fk": { + "name": "products_details_features_parent_id_fk", + "tableFrom": "products_details_features", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_details_features_locales": { + "name": "products_details_features_locales", + "schema": "", + "columns": { + "feature": { + "name": "feature", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_details_features_locales_locale_parent_id_unique": { + "name": "products_details_features_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_details_features_locales_parent_id_fk": { + "name": "products_details_features_locales_parent_id_fk", + "tableFrom": "products_details_features_locales", + "tableTo": "products_details_features", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_download_files": { + "name": "products_download_files", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "file_id": { + "name": "file_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_download_files_order_idx": { + "name": "products_download_files_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_download_files_parent_id_idx": { + "name": "products_download_files_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_download_files_file_idx": { + "name": "products_download_files_file_idx", + "columns": [ + { + "expression": "file_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_download_files_file_id_media_id_fk": { + "name": "products_download_files_file_id_media_id_fk", + "tableFrom": "products_download_files", + "tableTo": "media", + "columnsFrom": [ + "file_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "products_download_files_parent_id_fk": { + "name": "products_download_files_parent_id_fk", + "tableFrom": "products_download_files", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_download_files_locales": { + "name": "products_download_files_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_download_files_locales_locale_parent_id_unique": { + "name": "products_download_files_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_download_files_locales_parent_id_fk": { + "name": "products_download_files_locales_parent_id_fk", + "tableFrom": "products_download_files_locales", + "tableTo": "products_download_files", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products": { + "name": "products", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "sku": { + "name": "sku", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "category_id": { + "name": "category_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "featured_image_id": { + "name": "featured_image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "pricing_price": { + "name": "pricing_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "pricing_sale_price": { + "name": "pricing_sale_price", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "pricing_currency": { + "name": "pricing_currency", + "type": "enum_products_pricing_currency", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'EUR'" + }, + "pricing_price_type": { + "name": "pricing_price_type", + "type": "enum_products_pricing_price_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'fixed'" + }, + "inventory_stock_status": { + "name": "inventory_stock_status", + "type": "enum_products_inventory_stock_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'in_stock'" + }, + "inventory_stock_quantity": { + "name": "inventory_stock_quantity", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "cta_type": { + "name": "cta_type", + "type": "enum_products_cta_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'contact'" + }, + "cta_external_url": { + "name": "cta_external_url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_og_image_id": { + "name": "seo_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "status": { + "name": "status", + "type": "enum_products_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'draft'" + }, + "is_featured": { + "name": "is_featured", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "is_new": { + "name": "is_new", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "order": { + "name": "order", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 0 + }, + "published_at": { + "name": "published_at", + "type": "timestamp(3) with time zone", + "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": { + "products_tenant_idx": { + "name": "products_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_category_idx": { + "name": "products_category_idx", + "columns": [ + { + "expression": "category_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_featured_image_idx": { + "name": "products_featured_image_idx", + "columns": [ + { + "expression": "featured_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_seo_seo_og_image_idx": { + "name": "products_seo_seo_og_image_idx", + "columns": [ + { + "expression": "seo_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_updated_at_idx": { + "name": "products_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_created_at_idx": { + "name": "products_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_tenant_id_tenants_id_fk": { + "name": "products_tenant_id_tenants_id_fk", + "tableFrom": "products", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "products_category_id_product_categories_id_fk": { + "name": "products_category_id_product_categories_id_fk", + "tableFrom": "products", + "tableTo": "product_categories", + "columnsFrom": [ + "category_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "products_featured_image_id_media_id_fk": { + "name": "products_featured_image_id_media_id_fk", + "tableFrom": "products", + "tableTo": "media", + "columnsFrom": [ + "featured_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "products_seo_og_image_id_media_id_fk": { + "name": "products_seo_og_image_id_media_id_fk", + "tableFrom": "products", + "tableTo": "media", + "columnsFrom": [ + "seo_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_locales": { + "name": "products_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "short_description": { + "name": "short_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "pricing_price_note": { + "name": "pricing_price_note", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "inventory_delivery_time": { + "name": "inventory_delivery_time", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cta_button_text": { + "name": "cta_button_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "products_locales_locale_parent_id_unique": { + "name": "products_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_locales_parent_id_fk": { + "name": "products_locales_parent_id_fk", + "tableFrom": "products_locales", + "tableTo": "products", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.products_rels": { + "name": "products_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "products_id": { + "name": "products_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "products_rels_order_idx": { + "name": "products_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_rels_parent_idx": { + "name": "products_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_rels_path_idx": { + "name": "products_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "products_rels_products_id_idx": { + "name": "products_rels_products_id_idx", + "columns": [ + { + "expression": "products_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "products_rels_parent_fk": { + "name": "products_rels_parent_fk", + "tableFrom": "products_rels", + "tableTo": "products", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "products_rels_products_fk": { + "name": "products_rels_products_fk", + "tableFrom": "products_rels", + "tableTo": "products", + "columnsFrom": [ + "products_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events_gallery": { + "name": "timelines_events_gallery", + "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 + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "timelines_events_gallery_order_idx": { + "name": "timelines_events_gallery_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_events_gallery_parent_id_idx": { + "name": "timelines_events_gallery_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_events_gallery_image_idx": { + "name": "timelines_events_gallery_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_gallery_image_id_media_id_fk": { + "name": "timelines_events_gallery_image_id_media_id_fk", + "tableFrom": "timelines_events_gallery", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "timelines_events_gallery_parent_id_fk": { + "name": "timelines_events_gallery_parent_id_fk", + "tableFrom": "timelines_events_gallery", + "tableTo": "timelines_events", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events_gallery_locales": { + "name": "timelines_events_gallery_locales", + "schema": "", + "columns": { + "caption": { + "name": "caption", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "timelines_events_gallery_locales_locale_parent_id_unique": { + "name": "timelines_events_gallery_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_gallery_locales_parent_id_fk": { + "name": "timelines_events_gallery_locales_parent_id_fk", + "tableFrom": "timelines_events_gallery_locales", + "tableTo": "timelines_events_gallery", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events_links": { + "name": "timelines_events_links", + "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 + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_timelines_events_links_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'internal'" + } + }, + "indexes": { + "timelines_events_links_order_idx": { + "name": "timelines_events_links_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_events_links_parent_id_idx": { + "name": "timelines_events_links_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_links_parent_id_fk": { + "name": "timelines_events_links_parent_id_fk", + "tableFrom": "timelines_events_links", + "tableTo": "timelines_events", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events_links_locales": { + "name": "timelines_events_links_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "timelines_events_links_locales_locale_parent_id_unique": { + "name": "timelines_events_links_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_links_locales_parent_id_fk": { + "name": "timelines_events_links_locales_parent_id_fk", + "tableFrom": "timelines_events_links_locales", + "tableTo": "timelines_events_links", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events": { + "name": "timelines_events", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "date_type": { + "name": "date_type", + "type": "enum_timelines_events_date_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'year'" + }, + "year": { + "name": "year", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "month": { + "name": "month", + "type": "enum_timelines_events_month", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "day": { + "name": "day", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "end_year": { + "name": "end_year", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "end_month": { + "name": "end_month", + "type": "enum_timelines_events_end_month", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "ongoing": { + "name": "ongoing", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "custom_date": { + "name": "custom_date", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "image_id": { + "name": "image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "category": { + "name": "category", + "type": "enum_timelines_events_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "importance": { + "name": "importance", + "type": "enum_timelines_events_importance", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'normal'" + }, + "icon": { + "name": "icon", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "color": { + "name": "color", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "type": "jsonb", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "timelines_events_order_idx": { + "name": "timelines_events_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_events_parent_id_idx": { + "name": "timelines_events_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_events_image_idx": { + "name": "timelines_events_image_idx", + "columns": [ + { + "expression": "image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_image_id_media_id_fk": { + "name": "timelines_events_image_id_media_id_fk", + "tableFrom": "timelines_events", + "tableTo": "media", + "columnsFrom": [ + "image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "timelines_events_parent_id_fk": { + "name": "timelines_events_parent_id_fk", + "tableFrom": "timelines_events", + "tableTo": "timelines", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_events_locales": { + "name": "timelines_events_locales", + "schema": "", + "columns": { + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "subtitle": { + "name": "subtitle", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "short_description": { + "name": "short_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "timelines_events_locales_locale_parent_id_unique": { + "name": "timelines_events_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_events_locales_parent_id_fk": { + "name": "timelines_events_locales_parent_id_fk", + "tableFrom": "timelines_events_locales", + "tableTo": "timelines_events", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines": { + "name": "timelines", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "slug": { + "name": "slug", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_timelines_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'history'" + }, + "status": { + "name": "status", + "type": "enum_timelines_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'draft'" + }, + "display_options_layout": { + "name": "display_options_layout", + "type": "enum_timelines_display_options_layout", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'vertical'" + }, + "display_options_sort_order": { + "name": "display_options_sort_order", + "type": "enum_timelines_display_options_sort_order", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'desc'" + }, + "display_options_show_connector": { + "name": "display_options_show_connector", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "display_options_show_images": { + "name": "display_options_show_images", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "display_options_group_by_year": { + "name": "display_options_group_by_year", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "display_options_marker_style": { + "name": "display_options_marker_style", + "type": "enum_timelines_display_options_marker_style", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'dot'" + }, + "display_options_color_scheme": { + "name": "display_options_color_scheme", + "type": "enum_timelines_display_options_color_scheme", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'primary'" + }, + "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": { + "timelines_tenant_idx": { + "name": "timelines_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_slug_idx": { + "name": "timelines_slug_idx", + "columns": [ + { + "expression": "slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_updated_at_idx": { + "name": "timelines_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "timelines_created_at_idx": { + "name": "timelines_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_tenant_id_tenants_id_fk": { + "name": "timelines_tenant_id_tenants_id_fk", + "tableFrom": "timelines", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.timelines_locales": { + "name": "timelines_locales", + "schema": "", + "columns": { + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "timelines_locales_locale_parent_id_unique": { + "name": "timelines_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "timelines_locales_parent_id_fk": { + "name": "timelines_locales_parent_id_fk", + "tableFrom": "timelines_locales", + "tableTo": "timelines", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.cookie_configurations_enabled_categories": { + "name": "cookie_configurations_enabled_categories", + "schema": "", + "columns": { + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "enum_cookie_configurations_enabled_categories", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + } + }, + "indexes": { + "cookie_configurations_enabled_categories_order_idx": { + "name": "cookie_configurations_enabled_categories_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "cookie_configurations_enabled_categories_parent_idx": { + "name": "cookie_configurations_enabled_categories_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "cookie_configurations_enabled_categories_parent_fk": { + "name": "cookie_configurations_enabled_categories_parent_fk", + "tableFrom": "cookie_configurations_enabled_categories", + "tableTo": "cookie_configurations", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.cookie_configurations": { + "name": "cookie_configurations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'Cookie-Einstellungen'" + }, + "revision": { + "name": "revision", + "type": "numeric", + "primaryKey": false, + "notNull": true, + "default": 1 + }, + "translations_de_banner_title": { + "name": "translations_de_banner_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Wir respektieren Ihre Privatsphäre'" + }, + "translations_de_banner_description": { + "name": "translations_de_banner_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Diese Website verwendet Cookies, um Ihnen die bestmögliche Erfahrung zu bieten.'" + }, + "translations_de_accept_all_button": { + "name": "translations_de_accept_all_button", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Alle akzeptieren'" + }, + "translations_de_accept_necessary_button": { + "name": "translations_de_accept_necessary_button", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Nur notwendige'" + }, + "translations_de_settings_button": { + "name": "translations_de_settings_button", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Einstellungen'" + }, + "translations_de_save_button": { + "name": "translations_de_save_button", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Auswahl speichern'" + }, + "translations_de_privacy_policy_url": { + "name": "translations_de_privacy_policy_url", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'/datenschutz'" + }, + "translations_de_category_labels_necessary_title": { + "name": "translations_de_category_labels_necessary_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Notwendig'" + }, + "translations_de_category_labels_necessary_description": { + "name": "translations_de_category_labels_necessary_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Diese Cookies sind für die Grundfunktionen der Website erforderlich.'" + }, + "translations_de_category_labels_functional_title": { + "name": "translations_de_category_labels_functional_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Funktional'" + }, + "translations_de_category_labels_functional_description": { + "name": "translations_de_category_labels_functional_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Diese Cookies ermöglichen erweiterte Funktionen.'" + }, + "translations_de_category_labels_analytics_title": { + "name": "translations_de_category_labels_analytics_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Statistik'" + }, + "translations_de_category_labels_analytics_description": { + "name": "translations_de_category_labels_analytics_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Diese Cookies helfen uns zu verstehen, wie Besucher die Website nutzen.'" + }, + "translations_de_category_labels_marketing_title": { + "name": "translations_de_category_labels_marketing_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Marketing'" + }, + "translations_de_category_labels_marketing_description": { + "name": "translations_de_category_labels_marketing_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Diese Cookies werden für Werbezwecke verwendet.'" + }, + "styling_position": { + "name": "styling_position", + "type": "enum_cookie_configurations_styling_position", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'bottom'" + }, + "styling_theme": { + "name": "styling_theme", + "type": "enum_cookie_configurations_styling_theme", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'dark'" + }, + "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": { + "cookie_configurations_tenant_idx": { + "name": "cookie_configurations_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "cookie_configurations_updated_at_idx": { + "name": "cookie_configurations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "cookie_configurations_created_at_idx": { + "name": "cookie_configurations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "cookie_configurations_tenant_id_tenants_id_fk": { + "name": "cookie_configurations_tenant_id_tenants_id_fk", + "tableFrom": "cookie_configurations", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.cookie_inventory": { + "name": "cookie_inventory", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "provider": { + "name": "provider", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "category": { + "name": "category", + "type": "enum_cookie_inventory_category", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "duration": { + "name": "duration", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "is_active": { + "name": "is_active", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": 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": { + "cookie_inventory_tenant_idx": { + "name": "cookie_inventory_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "cookie_inventory_updated_at_idx": { + "name": "cookie_inventory_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "cookie_inventory_created_at_idx": { + "name": "cookie_inventory_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "cookie_inventory_tenant_id_tenants_id_fk": { + "name": "cookie_inventory_tenant_id_tenants_id_fk", + "tableFrom": "cookie_inventory", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.consent_logs": { + "name": "consent_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "consent_id": { + "name": "consent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "client_ref": { + "name": "client_ref", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "categories": { + "name": "categories", + "type": "jsonb", + "primaryKey": false, + "notNull": true + }, + "revision": { + "name": "revision", + "type": "numeric", + "primaryKey": false, + "notNull": true + }, + "user_agent": { + "name": "user_agent", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "anonymized_ip": { + "name": "anonymized_ip", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "expires_at": { + "name": "expires_at", + "type": "timestamp(3) with time zone", + "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": { + "consent_logs_consent_id_idx": { + "name": "consent_logs_consent_id_idx", + "columns": [ + { + "expression": "consent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "consent_logs_tenant_idx": { + "name": "consent_logs_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "consent_logs_updated_at_idx": { + "name": "consent_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "consent_logs_created_at_idx": { + "name": "consent_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "consent_logs_tenant_id_tenants_id_fk": { + "name": "consent_logs_tenant_id_tenants_id_fk", + "tableFrom": "consent_logs", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.privacy_policy_settings": { + "name": "privacy_policy_settings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'Datenschutzerklärung'" + }, + "provider": { + "name": "provider", + "type": "enum_privacy_policy_settings_provider", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'alfright'" + }, + "alfright_tenant_id": { + "name": "alfright_tenant_id", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'alfright_schutzteam'" + }, + "alfright_api_key": { + "name": "alfright_api_key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "alfright_language": { + "name": "alfright_language", + "type": "enum_privacy_policy_settings_alfright_language", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'de-de'" + }, + "alfright_iframe_height": { + "name": "alfright_iframe_height", + "type": "numeric", + "primaryKey": false, + "notNull": false, + "default": 4000 + }, + "styling_header_color": { + "name": "styling_header_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#ca8a04'" + }, + "styling_header_font": { + "name": "styling_header_font", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Inter, sans-serif'" + }, + "styling_header_size": { + "name": "styling_header_size", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'24px'" + }, + "styling_subheader_size": { + "name": "styling_subheader_size", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'18px'" + }, + "styling_font_color": { + "name": "styling_font_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#f3f4f6'" + }, + "styling_text_font": { + "name": "styling_text_font", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Inter, sans-serif'" + }, + "styling_text_size": { + "name": "styling_text_size", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'16px'" + }, + "styling_link_color": { + "name": "styling_link_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#ca8a04'" + }, + "styling_background_color": { + "name": "styling_background_color", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'#111827'" + }, + "show_cookie_table": { + "name": "show_cookie_table", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "cookie_table_title": { + "name": "cookie_table_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Übersicht der verwendeten Cookies'" + }, + "cookie_table_description": { + "name": "cookie_table_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Ergänzend zur Datenschutzerklärung finden Sie hier eine detaillierte Übersicht aller auf dieser Website eingesetzten Cookies. Sie können Ihre Cookie-Einstellungen jederzeit über den Link \"Cookie-Einstellungen\" im Footer anpassen.'" + }, + "seo_meta_title": { + "name": "seo_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Datenschutzerklärung'" + }, + "seo_meta_description": { + "name": "seo_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Informationen zum Datenschutz und zur Verarbeitung Ihrer personenbezogenen Daten.'" + }, + "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": { + "privacy_policy_settings_tenant_idx": { + "name": "privacy_policy_settings_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "privacy_policy_settings_updated_at_idx": { + "name": "privacy_policy_settings_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "privacy_policy_settings_created_at_idx": { + "name": "privacy_policy_settings_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "privacy_policy_settings_tenant_id_tenants_id_fk": { + "name": "privacy_policy_settings_tenant_id_tenants_id_fk", + "tableFrom": "privacy_policy_settings", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.email_logs": { + "name": "email_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "to": { + "name": "to", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "from": { + "name": "from", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "subject": { + "name": "subject", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "status": { + "name": "status", + "type": "enum_email_logs_status", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'pending'" + }, + "message_id": { + "name": "message_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "error": { + "name": "error", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "source": { + "name": "source", + "type": "enum_email_logs_source", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'manual'" + }, + "metadata": { + "name": "metadata", + "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": { + "email_logs_tenant_idx": { + "name": "email_logs_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "email_logs_updated_at_idx": { + "name": "email_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "email_logs_created_at_idx": { + "name": "email_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "email_logs_tenant_id_tenants_id_fk": { + "name": "email_logs_tenant_id_tenants_id_fk", + "tableFrom": "email_logs", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.audit_logs": { + "name": "audit_logs", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "action": { + "name": "action", + "type": "enum_audit_logs_action", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "severity": { + "name": "severity", + "type": "enum_audit_logs_severity", + "typeSchema": "public", + "primaryKey": false, + "notNull": true, + "default": "'info'" + }, + "entity_type": { + "name": "entity_type", + "type": "enum_audit_logs_entity_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "entity_id": { + "name": "entity_id", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "user_id": { + "name": "user_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "user_email": { + "name": "user_email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "tenant_id": { + "name": "tenant_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "ip_address": { + "name": "ip_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "user_agent": { + "name": "user_agent", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "description": { + "name": "description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "previous_value": { + "name": "previous_value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "new_value": { + "name": "new_value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "metadata": { + "name": "metadata", + "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": { + "audit_logs_user_idx": { + "name": "audit_logs_user_idx", + "columns": [ + { + "expression": "user_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_logs_tenant_idx": { + "name": "audit_logs_tenant_idx", + "columns": [ + { + "expression": "tenant_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_logs_updated_at_idx": { + "name": "audit_logs_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "audit_logs_created_at_idx": { + "name": "audit_logs_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "audit_logs_user_id_users_id_fk": { + "name": "audit_logs_user_id_users_id_fk", + "tableFrom": "audit_logs", + "tableTo": "users", + "columnsFrom": [ + "user_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "audit_logs_tenant_id_tenants_id_fk": { + "name": "audit_logs_tenant_id_tenants_id_fk", + "tableFrom": "audit_logs", + "tableTo": "tenants", + "columnsFrom": [ + "tenant_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_checkbox": { + "name": "forms_blocks_checkbox", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_checkbox_order_idx": { + "name": "forms_blocks_checkbox_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_checkbox_parent_id_idx": { + "name": "forms_blocks_checkbox_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_checkbox_path_idx": { + "name": "forms_blocks_checkbox_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_checkbox_parent_id_fk": { + "name": "forms_blocks_checkbox_parent_id_fk", + "tableFrom": "forms_blocks_checkbox", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_checkbox_locales": { + "name": "forms_blocks_checkbox_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_checkbox_locales_locale_parent_id_unique": { + "name": "forms_blocks_checkbox_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_checkbox_locales_parent_id_fk": { + "name": "forms_blocks_checkbox_locales_parent_id_fk", + "tableFrom": "forms_blocks_checkbox_locales", + "tableTo": "forms_blocks_checkbox", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_email": { + "name": "forms_blocks_email", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_email_order_idx": { + "name": "forms_blocks_email_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_email_parent_id_idx": { + "name": "forms_blocks_email_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_email_path_idx": { + "name": "forms_blocks_email_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_email_parent_id_fk": { + "name": "forms_blocks_email_parent_id_fk", + "tableFrom": "forms_blocks_email", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_email_locales": { + "name": "forms_blocks_email_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_email_locales_locale_parent_id_unique": { + "name": "forms_blocks_email_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_email_locales_parent_id_fk": { + "name": "forms_blocks_email_locales_parent_id_fk", + "tableFrom": "forms_blocks_email_locales", + "tableTo": "forms_blocks_email", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_message": { + "name": "forms_blocks_message", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "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": { + "forms_blocks_message_order_idx": { + "name": "forms_blocks_message_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_message_parent_id_idx": { + "name": "forms_blocks_message_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_message_path_idx": { + "name": "forms_blocks_message_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_message_parent_id_fk": { + "name": "forms_blocks_message_parent_id_fk", + "tableFrom": "forms_blocks_message", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_message_locales": { + "name": "forms_blocks_message_locales", + "schema": "", + "columns": { + "message": { + "name": "message", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_message_locales_locale_parent_id_unique": { + "name": "forms_blocks_message_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_message_locales_parent_id_fk": { + "name": "forms_blocks_message_locales_parent_id_fk", + "tableFrom": "forms_blocks_message_locales", + "tableTo": "forms_blocks_message", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_number": { + "name": "forms_blocks_number", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_number_order_idx": { + "name": "forms_blocks_number_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_number_parent_id_idx": { + "name": "forms_blocks_number_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_number_path_idx": { + "name": "forms_blocks_number_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_number_parent_id_fk": { + "name": "forms_blocks_number_parent_id_fk", + "tableFrom": "forms_blocks_number", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_number_locales": { + "name": "forms_blocks_number_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_number_locales_locale_parent_id_unique": { + "name": "forms_blocks_number_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_number_locales_parent_id_fk": { + "name": "forms_blocks_number_locales_parent_id_fk", + "tableFrom": "forms_blocks_number_locales", + "tableTo": "forms_blocks_number", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_select_options": { + "name": "forms_blocks_select_options", + "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 + }, + "value": { + "name": "value", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_select_options_order_idx": { + "name": "forms_blocks_select_options_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_select_options_parent_id_idx": { + "name": "forms_blocks_select_options_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_select_options_parent_id_fk": { + "name": "forms_blocks_select_options_parent_id_fk", + "tableFrom": "forms_blocks_select_options", + "tableTo": "forms_blocks_select", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_select_options_locales": { + "name": "forms_blocks_select_options_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_select_options_locales_locale_parent_id_unique": { + "name": "forms_blocks_select_options_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_select_options_locales_parent_id_fk": { + "name": "forms_blocks_select_options_locales_parent_id_fk", + "tableFrom": "forms_blocks_select_options_locales", + "tableTo": "forms_blocks_select_options", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_select": { + "name": "forms_blocks_select", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "placeholder": { + "name": "placeholder", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_select_order_idx": { + "name": "forms_blocks_select_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_select_parent_id_idx": { + "name": "forms_blocks_select_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_select_path_idx": { + "name": "forms_blocks_select_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_select_parent_id_fk": { + "name": "forms_blocks_select_parent_id_fk", + "tableFrom": "forms_blocks_select", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_select_locales": { + "name": "forms_blocks_select_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_select_locales_locale_parent_id_unique": { + "name": "forms_blocks_select_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_select_locales_parent_id_fk": { + "name": "forms_blocks_select_locales_parent_id_fk", + "tableFrom": "forms_blocks_select_locales", + "tableTo": "forms_blocks_select", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_text": { + "name": "forms_blocks_text", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_text_order_idx": { + "name": "forms_blocks_text_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_text_parent_id_idx": { + "name": "forms_blocks_text_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_text_path_idx": { + "name": "forms_blocks_text_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_text_parent_id_fk": { + "name": "forms_blocks_text_parent_id_fk", + "tableFrom": "forms_blocks_text", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_text_locales": { + "name": "forms_blocks_text_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_text_locales_locale_parent_id_unique": { + "name": "forms_blocks_text_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_text_locales_parent_id_fk": { + "name": "forms_blocks_text_locales_parent_id_fk", + "tableFrom": "forms_blocks_text_locales", + "tableTo": "forms_blocks_text", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_textarea": { + "name": "forms_blocks_textarea", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_path": { + "name": "_path", + "type": "text", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "width": { + "name": "width", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "required": { + "name": "required", + "type": "boolean", + "primaryKey": false, + "notNull": false + }, + "block_name": { + "name": "block_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_blocks_textarea_order_idx": { + "name": "forms_blocks_textarea_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_textarea_parent_id_idx": { + "name": "forms_blocks_textarea_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_blocks_textarea_path_idx": { + "name": "forms_blocks_textarea_path_idx", + "columns": [ + { + "expression": "_path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_textarea_parent_id_fk": { + "name": "forms_blocks_textarea_parent_id_fk", + "tableFrom": "forms_blocks_textarea", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_blocks_textarea_locales": { + "name": "forms_blocks_textarea_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "default_value": { + "name": "default_value", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_blocks_textarea_locales_locale_parent_id_unique": { + "name": "forms_blocks_textarea_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_blocks_textarea_locales_parent_id_fk": { + "name": "forms_blocks_textarea_locales_parent_id_fk", + "tableFrom": "forms_blocks_textarea_locales", + "tableTo": "forms_blocks_textarea", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_emails": { + "name": "forms_emails", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "email_to": { + "name": "email_to", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "cc": { + "name": "cc", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "bcc": { + "name": "bcc", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "reply_to": { + "name": "reply_to", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "email_from": { + "name": "email_from", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_emails_order_idx": { + "name": "forms_emails_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_emails_parent_id_idx": { + "name": "forms_emails_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_emails_parent_id_fk": { + "name": "forms_emails_parent_id_fk", + "tableFrom": "forms_emails", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_emails_locales": { + "name": "forms_emails_locales", + "schema": "", + "columns": { + "subject": { + "name": "subject", + "type": "varchar", + "primaryKey": false, + "notNull": true, + "default": "'You''ve received a new message.'" + }, + "message": { + "name": "message", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_emails_locales_locale_parent_id_unique": { + "name": "forms_emails_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_emails_locales_parent_id_fk": { + "name": "forms_emails_locales_parent_id_fk", + "tableFrom": "forms_emails_locales", + "tableTo": "forms_emails", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms": { + "name": "forms", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "title": { + "name": "title", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "confirmation_type": { + "name": "confirmation_type", + "type": "enum_forms_confirmation_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'message'" + }, + "redirect_type": { + "name": "redirect_type", + "type": "enum_forms_redirect_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'reference'" + }, + "redirect_url": { + "name": "redirect_url", + "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": { + "forms_updated_at_idx": { + "name": "forms_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_created_at_idx": { + "name": "forms_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.forms_locales": { + "name": "forms_locales", + "schema": "", + "columns": { + "submit_button_label": { + "name": "submit_button_label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "confirmation_message": { + "name": "confirmation_message", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "forms_locales_locale_parent_id_unique": { + "name": "forms_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_locales_parent_id_fk": { + "name": "forms_locales_parent_id_fk", + "tableFrom": "forms_locales", + "tableTo": "forms", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.forms_rels": { + "name": "forms_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "pages_id": { + "name": "pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "forms_rels_order_idx": { + "name": "forms_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_rels_parent_idx": { + "name": "forms_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_rels_path_idx": { + "name": "forms_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "forms_rels_pages_id_idx": { + "name": "forms_rels_pages_id_idx", + "columns": [ + { + "expression": "pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "forms_rels_parent_fk": { + "name": "forms_rels_parent_fk", + "tableFrom": "forms_rels", + "tableTo": "forms", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "forms_rels_pages_fk": { + "name": "forms_rels_pages_fk", + "tableFrom": "forms_rels", + "tableTo": "pages", + "columnsFrom": [ + "pages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.form_submissions_submission_data": { + "name": "form_submissions_submission_data", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "field": { + "name": "field", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "value": { + "name": "value", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "form_submissions_submission_data_order_idx": { + "name": "form_submissions_submission_data_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "form_submissions_submission_data_parent_id_idx": { + "name": "form_submissions_submission_data_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "form_submissions_submission_data_parent_id_fk": { + "name": "form_submissions_submission_data_parent_id_fk", + "tableFrom": "form_submissions_submission_data", + "tableTo": "form_submissions", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.form_submissions": { + "name": "form_submissions", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "form_id": { + "name": "form_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "form_submissions_form_idx": { + "name": "form_submissions_form_idx", + "columns": [ + { + "expression": "form_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "form_submissions_updated_at_idx": { + "name": "form_submissions_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "form_submissions_created_at_idx": { + "name": "form_submissions_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "form_submissions_form_id_forms_id_fk": { + "name": "form_submissions_form_id_forms_id_fk", + "tableFrom": "form_submissions", + "tableTo": "forms", + "columnsFrom": [ + "form_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.redirects": { + "name": "redirects", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "from": { + "name": "from", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "to_type": { + "name": "to_type", + "type": "enum_redirects_to_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'reference'" + }, + "to_url": { + "name": "to_url", + "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": { + "redirects_from_idx": { + "name": "redirects_from_idx", + "columns": [ + { + "expression": "from", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + }, + "redirects_updated_at_idx": { + "name": "redirects_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "redirects_created_at_idx": { + "name": "redirects_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.redirects_rels": { + "name": "redirects_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "pages_id": { + "name": "pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "redirects_rels_order_idx": { + "name": "redirects_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "redirects_rels_parent_idx": { + "name": "redirects_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "redirects_rels_path_idx": { + "name": "redirects_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "redirects_rels_pages_id_idx": { + "name": "redirects_rels_pages_id_idx", + "columns": [ + { + "expression": "pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "redirects_rels_parent_fk": { + "name": "redirects_rels_parent_fk", + "tableFrom": "redirects_rels", + "tableTo": "redirects", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "redirects_rels_pages_fk": { + "name": "redirects_rels_pages_fk", + "tableFrom": "redirects_rels", + "tableTo": "pages", + "columnsFrom": [ + "pages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_kv": { + "name": "payload_kv", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "data": { + "name": "data", + "type": "jsonb", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "payload_kv_key_idx": { + "name": "payload_kv_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "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": "serial", + "primaryKey": true, + "notNull": true + }, + "global_slug": { + "name": "global_slug", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_locked_documents_global_slug_idx": { + "name": "payload_locked_documents_global_slug_idx", + "columns": [ + { + "expression": "global_slug", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_updated_at_idx": { + "name": "payload_locked_documents_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_created_at_idx": { + "name": "payload_locked_documents_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_locked_documents_rels": { + "name": "payload_locked_documents_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "media_id": { + "name": "media_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "tenants_id": { + "name": "tenants_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "pages_id": { + "name": "pages_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "posts_id": { + "name": "posts_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "categories_id": { + "name": "categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "social_links_id": { + "name": "social_links_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "testimonials_id": { + "name": "testimonials_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "faqs_id": { + "name": "faqs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "team_id": { + "name": "team_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "service_categories_id": { + "name": "service_categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "services_id": { + "name": "services_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "newsletter_subscribers_id": { + "name": "newsletter_subscribers_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "portfolio_categories_id": { + "name": "portfolio_categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "portfolios_id": { + "name": "portfolios_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "product_categories_id": { + "name": "product_categories_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "products_id": { + "name": "products_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "timelines_id": { + "name": "timelines_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "cookie_configurations_id": { + "name": "cookie_configurations_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "cookie_inventory_id": { + "name": "cookie_inventory_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "consent_logs_id": { + "name": "consent_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "privacy_policy_settings_id": { + "name": "privacy_policy_settings_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "email_logs_id": { + "name": "email_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "audit_logs_id": { + "name": "audit_logs_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "forms_id": { + "name": "forms_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "form_submissions_id": { + "name": "form_submissions_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "redirects_id": { + "name": "redirects_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_locked_documents_rels_order_idx": { + "name": "payload_locked_documents_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_parent_idx": { + "name": "payload_locked_documents_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_path_idx": { + "name": "payload_locked_documents_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_users_id_idx": { + "name": "payload_locked_documents_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_media_id_idx": { + "name": "payload_locked_documents_rels_media_id_idx", + "columns": [ + { + "expression": "media_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_tenants_id_idx": { + "name": "payload_locked_documents_rels_tenants_id_idx", + "columns": [ + { + "expression": "tenants_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_pages_id_idx": { + "name": "payload_locked_documents_rels_pages_id_idx", + "columns": [ + { + "expression": "pages_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_posts_id_idx": { + "name": "payload_locked_documents_rels_posts_id_idx", + "columns": [ + { + "expression": "posts_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_categories_id_idx": { + "name": "payload_locked_documents_rels_categories_id_idx", + "columns": [ + { + "expression": "categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_social_links_id_idx": { + "name": "payload_locked_documents_rels_social_links_id_idx", + "columns": [ + { + "expression": "social_links_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_testimonials_id_idx": { + "name": "payload_locked_documents_rels_testimonials_id_idx", + "columns": [ + { + "expression": "testimonials_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_faqs_id_idx": { + "name": "payload_locked_documents_rels_faqs_id_idx", + "columns": [ + { + "expression": "faqs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_team_id_idx": { + "name": "payload_locked_documents_rels_team_id_idx", + "columns": [ + { + "expression": "team_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_service_categories_id_idx": { + "name": "payload_locked_documents_rels_service_categories_id_idx", + "columns": [ + { + "expression": "service_categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_services_id_idx": { + "name": "payload_locked_documents_rels_services_id_idx", + "columns": [ + { + "expression": "services_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_newsletter_subscribers_id_idx": { + "name": "payload_locked_documents_rels_newsletter_subscribers_id_idx", + "columns": [ + { + "expression": "newsletter_subscribers_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_portfolio_categories_id_idx": { + "name": "payload_locked_documents_rels_portfolio_categories_id_idx", + "columns": [ + { + "expression": "portfolio_categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_portfolios_id_idx": { + "name": "payload_locked_documents_rels_portfolios_id_idx", + "columns": [ + { + "expression": "portfolios_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_product_categories_id_idx": { + "name": "payload_locked_documents_rels_product_categories_id_idx", + "columns": [ + { + "expression": "product_categories_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_products_id_idx": { + "name": "payload_locked_documents_rels_products_id_idx", + "columns": [ + { + "expression": "products_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_timelines_id_idx": { + "name": "payload_locked_documents_rels_timelines_id_idx", + "columns": [ + { + "expression": "timelines_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_cookie_configurations_id_idx": { + "name": "payload_locked_documents_rels_cookie_configurations_id_idx", + "columns": [ + { + "expression": "cookie_configurations_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_cookie_inventory_id_idx": { + "name": "payload_locked_documents_rels_cookie_inventory_id_idx", + "columns": [ + { + "expression": "cookie_inventory_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_consent_logs_id_idx": { + "name": "payload_locked_documents_rels_consent_logs_id_idx", + "columns": [ + { + "expression": "consent_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_privacy_policy_settings_id_idx": { + "name": "payload_locked_documents_rels_privacy_policy_settings_id_idx", + "columns": [ + { + "expression": "privacy_policy_settings_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_email_logs_id_idx": { + "name": "payload_locked_documents_rels_email_logs_id_idx", + "columns": [ + { + "expression": "email_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_audit_logs_id_idx": { + "name": "payload_locked_documents_rels_audit_logs_id_idx", + "columns": [ + { + "expression": "audit_logs_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_forms_id_idx": { + "name": "payload_locked_documents_rels_forms_id_idx", + "columns": [ + { + "expression": "forms_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_form_submissions_id_idx": { + "name": "payload_locked_documents_rels_form_submissions_id_idx", + "columns": [ + { + "expression": "form_submissions_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_locked_documents_rels_redirects_id_idx": { + "name": "payload_locked_documents_rels_redirects_id_idx", + "columns": [ + { + "expression": "redirects_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_locked_documents_rels_parent_fk": { + "name": "payload_locked_documents_rels_parent_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "payload_locked_documents", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_users_fk": { + "name": "payload_locked_documents_rels_users_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_media_fk": { + "name": "payload_locked_documents_rels_media_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "media", + "columnsFrom": [ + "media_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_tenants_fk": { + "name": "payload_locked_documents_rels_tenants_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "tenants", + "columnsFrom": [ + "tenants_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_pages_fk": { + "name": "payload_locked_documents_rels_pages_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "pages", + "columnsFrom": [ + "pages_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_posts_fk": { + "name": "payload_locked_documents_rels_posts_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "posts", + "columnsFrom": [ + "posts_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_categories_fk": { + "name": "payload_locked_documents_rels_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "categories", + "columnsFrom": [ + "categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_social_links_fk": { + "name": "payload_locked_documents_rels_social_links_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "social_links", + "columnsFrom": [ + "social_links_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_testimonials_fk": { + "name": "payload_locked_documents_rels_testimonials_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "testimonials", + "columnsFrom": [ + "testimonials_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_faqs_fk": { + "name": "payload_locked_documents_rels_faqs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "faqs", + "columnsFrom": [ + "faqs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_team_fk": { + "name": "payload_locked_documents_rels_team_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "team", + "columnsFrom": [ + "team_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_service_categories_fk": { + "name": "payload_locked_documents_rels_service_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "service_categories", + "columnsFrom": [ + "service_categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_services_fk": { + "name": "payload_locked_documents_rels_services_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "services", + "columnsFrom": [ + "services_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_newsletter_subscribers_fk": { + "name": "payload_locked_documents_rels_newsletter_subscribers_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "newsletter_subscribers", + "columnsFrom": [ + "newsletter_subscribers_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_portfolio_categories_fk": { + "name": "payload_locked_documents_rels_portfolio_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "portfolio_categories", + "columnsFrom": [ + "portfolio_categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_portfolios_fk": { + "name": "payload_locked_documents_rels_portfolios_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "portfolios", + "columnsFrom": [ + "portfolios_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_product_categories_fk": { + "name": "payload_locked_documents_rels_product_categories_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "product_categories", + "columnsFrom": [ + "product_categories_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_products_fk": { + "name": "payload_locked_documents_rels_products_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "products", + "columnsFrom": [ + "products_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_timelines_fk": { + "name": "payload_locked_documents_rels_timelines_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "timelines", + "columnsFrom": [ + "timelines_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_cookie_configurations_fk": { + "name": "payload_locked_documents_rels_cookie_configurations_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "cookie_configurations", + "columnsFrom": [ + "cookie_configurations_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_cookie_inventory_fk": { + "name": "payload_locked_documents_rels_cookie_inventory_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "cookie_inventory", + "columnsFrom": [ + "cookie_inventory_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_consent_logs_fk": { + "name": "payload_locked_documents_rels_consent_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "consent_logs", + "columnsFrom": [ + "consent_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_privacy_policy_settings_fk": { + "name": "payload_locked_documents_rels_privacy_policy_settings_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "privacy_policy_settings", + "columnsFrom": [ + "privacy_policy_settings_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_email_logs_fk": { + "name": "payload_locked_documents_rels_email_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "email_logs", + "columnsFrom": [ + "email_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_audit_logs_fk": { + "name": "payload_locked_documents_rels_audit_logs_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "audit_logs", + "columnsFrom": [ + "audit_logs_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_forms_fk": { + "name": "payload_locked_documents_rels_forms_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "forms", + "columnsFrom": [ + "forms_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_form_submissions_fk": { + "name": "payload_locked_documents_rels_form_submissions_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "form_submissions", + "columnsFrom": [ + "form_submissions_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_locked_documents_rels_redirects_fk": { + "name": "payload_locked_documents_rels_redirects_fk", + "tableFrom": "payload_locked_documents_rels", + "tableTo": "redirects", + "columnsFrom": [ + "redirects_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences": { + "name": "payload_preferences", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "key": { + "name": "key", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "value": { + "name": "value", + "type": "jsonb", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_preferences_key_idx": { + "name": "payload_preferences_key_idx", + "columns": [ + { + "expression": "key", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_updated_at_idx": { + "name": "payload_preferences_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_created_at_idx": { + "name": "payload_preferences_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_preferences_rels": { + "name": "payload_preferences_rels", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "users_id": { + "name": "users_id", + "type": "integer", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "payload_preferences_rels_order_idx": { + "name": "payload_preferences_rels_order_idx", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_parent_idx": { + "name": "payload_preferences_rels_parent_idx", + "columns": [ + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_path_idx": { + "name": "payload_preferences_rels_path_idx", + "columns": [ + { + "expression": "path", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_preferences_rels_users_id_idx": { + "name": "payload_preferences_rels_users_id_idx", + "columns": [ + { + "expression": "users_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "payload_preferences_rels_parent_fk": { + "name": "payload_preferences_rels_parent_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "payload_preferences", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + }, + "payload_preferences_rels_users_fk": { + "name": "payload_preferences_rels_users_fk", + "tableFrom": "payload_preferences_rels", + "tableTo": "users", + "columnsFrom": [ + "users_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.payload_migrations": { + "name": "payload_migrations", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "name": { + "name": "name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "batch": { + "name": "batch", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": true, + "default": "now()" + } + }, + "indexes": { + "payload_migrations_updated_at_idx": { + "name": "payload_migrations_updated_at_idx", + "columns": [ + { + "expression": "updated_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "payload_migrations_created_at_idx": { + "name": "payload_migrations_created_at_idx", + "columns": [ + { + "expression": "created_at", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.site_settings": { + "name": "site_settings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "logo_id": { + "name": "logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "favicon_id": { + "name": "favicon_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "contact_email": { + "name": "contact_email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contact_phone": { + "name": "contact_phone", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contact_address": { + "name": "contact_address", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "footer_show_social_links": { + "name": "footer_show_social_links", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "seo_default_og_image_id": { + "name": "seo_default_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "site_settings_logo_idx": { + "name": "site_settings_logo_idx", + "columns": [ + { + "expression": "logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "site_settings_favicon_idx": { + "name": "site_settings_favicon_idx", + "columns": [ + { + "expression": "favicon_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "site_settings_seo_seo_default_og_image_idx": { + "name": "site_settings_seo_seo_default_og_image_idx", + "columns": [ + { + "expression": "seo_default_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "site_settings_logo_id_media_id_fk": { + "name": "site_settings_logo_id_media_id_fk", + "tableFrom": "site_settings", + "tableTo": "media", + "columnsFrom": [ + "logo_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "site_settings_favicon_id_media_id_fk": { + "name": "site_settings_favicon_id_media_id_fk", + "tableFrom": "site_settings", + "tableTo": "media", + "columnsFrom": [ + "favicon_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "site_settings_seo_default_og_image_id_media_id_fk": { + "name": "site_settings_seo_default_og_image_id_media_id_fk", + "tableFrom": "site_settings", + "tableTo": "media", + "columnsFrom": [ + "seo_default_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.site_settings_locales": { + "name": "site_settings_locales", + "schema": "", + "columns": { + "site_name": { + "name": "site_name", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'porwoll.de'" + }, + "site_tagline": { + "name": "site_tagline", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "footer_copyright_text": { + "name": "footer_copyright_text", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_default_meta_title": { + "name": "seo_default_meta_title", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "seo_default_meta_description": { + "name": "seo_default_meta_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "site_settings_locales_locale_parent_id_unique": { + "name": "site_settings_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "site_settings_locales_parent_id_fk": { + "name": "site_settings_locales_parent_id_fk", + "tableFrom": "site_settings_locales", + "tableTo": "site_settings", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_main_menu_submenu": { + "name": "navigation_main_menu_submenu", + "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 + }, + "link_type": { + "name": "link_type", + "type": "enum_navigation_main_menu_submenu_link_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'page'" + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "navigation_main_menu_submenu_order_idx": { + "name": "navigation_main_menu_submenu_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_main_menu_submenu_parent_id_idx": { + "name": "navigation_main_menu_submenu_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_main_menu_submenu_page_idx": { + "name": "navigation_main_menu_submenu_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_main_menu_submenu_page_id_pages_id_fk": { + "name": "navigation_main_menu_submenu_page_id_pages_id_fk", + "tableFrom": "navigation_main_menu_submenu", + "tableTo": "pages", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "navigation_main_menu_submenu_parent_id_fk": { + "name": "navigation_main_menu_submenu_parent_id_fk", + "tableFrom": "navigation_main_menu_submenu", + "tableTo": "navigation_main_menu", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_main_menu_submenu_locales": { + "name": "navigation_main_menu_submenu_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "navigation_main_menu_submenu_locales_locale_parent_id_unique": { + "name": "navigation_main_menu_submenu_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_main_menu_submenu_locales_parent_id_fk": { + "name": "navigation_main_menu_submenu_locales_parent_id_fk", + "tableFrom": "navigation_main_menu_submenu_locales", + "tableTo": "navigation_main_menu_submenu", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_main_menu": { + "name": "navigation_main_menu", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "type": { + "name": "type", + "type": "enum_navigation_main_menu_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'page'" + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "open_in_new_tab": { + "name": "open_in_new_tab", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + } + }, + "indexes": { + "navigation_main_menu_order_idx": { + "name": "navigation_main_menu_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_main_menu_parent_id_idx": { + "name": "navigation_main_menu_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_main_menu_page_idx": { + "name": "navigation_main_menu_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_main_menu_page_id_pages_id_fk": { + "name": "navigation_main_menu_page_id_pages_id_fk", + "tableFrom": "navigation_main_menu", + "tableTo": "pages", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "navigation_main_menu_parent_id_fk": { + "name": "navigation_main_menu_parent_id_fk", + "tableFrom": "navigation_main_menu", + "tableTo": "navigation", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_main_menu_locales": { + "name": "navigation_main_menu_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "navigation_main_menu_locales_locale_parent_id_unique": { + "name": "navigation_main_menu_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_main_menu_locales_parent_id_fk": { + "name": "navigation_main_menu_locales_parent_id_fk", + "tableFrom": "navigation_main_menu_locales", + "tableTo": "navigation_main_menu", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_footer_menu": { + "name": "navigation_footer_menu", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "link_type": { + "name": "link_type", + "type": "enum_navigation_footer_menu_link_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false, + "default": "'page'" + }, + "page_id": { + "name": "page_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "navigation_footer_menu_order_idx": { + "name": "navigation_footer_menu_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_footer_menu_parent_id_idx": { + "name": "navigation_footer_menu_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "navigation_footer_menu_page_idx": { + "name": "navigation_footer_menu_page_idx", + "columns": [ + { + "expression": "page_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_footer_menu_page_id_pages_id_fk": { + "name": "navigation_footer_menu_page_id_pages_id_fk", + "tableFrom": "navigation_footer_menu", + "tableTo": "pages", + "columnsFrom": [ + "page_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "navigation_footer_menu_parent_id_fk": { + "name": "navigation_footer_menu_parent_id_fk", + "tableFrom": "navigation_footer_menu", + "tableTo": "navigation", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation_footer_menu_locales": { + "name": "navigation_footer_menu_locales", + "schema": "", + "columns": { + "label": { + "name": "label", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "navigation_footer_menu_locales_locale_parent_id_unique": { + "name": "navigation_footer_menu_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "navigation_footer_menu_locales_parent_id_fk": { + "name": "navigation_footer_menu_locales_parent_id_fk", + "tableFrom": "navigation_footer_menu_locales", + "tableTo": "navigation_footer_menu", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.navigation": { + "name": "navigation", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": {}, + "foreignKeys": {}, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.seo_settings_social_profiles": { + "name": "seo_settings_social_profiles", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "platform": { + "name": "platform", + "type": "enum_seo_settings_social_profiles_platform", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "url": { + "name": "url", + "type": "varchar", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "seo_settings_social_profiles_order_idx": { + "name": "seo_settings_social_profiles_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "seo_settings_social_profiles_parent_id_idx": { + "name": "seo_settings_social_profiles_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "seo_settings_social_profiles_parent_id_fk": { + "name": "seo_settings_social_profiles_parent_id_fk", + "tableFrom": "seo_settings_social_profiles", + "tableTo": "seo_settings", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.seo_settings_local_business_opening_hours": { + "name": "seo_settings_local_business_opening_hours", + "schema": "", + "columns": { + "_order": { + "name": "_order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "id": { + "name": "id", + "type": "varchar", + "primaryKey": true, + "notNull": true + }, + "specification": { + "name": "specification", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "seo_settings_local_business_opening_hours_order_idx": { + "name": "seo_settings_local_business_opening_hours_order_idx", + "columns": [ + { + "expression": "_order", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "seo_settings_local_business_opening_hours_parent_id_idx": { + "name": "seo_settings_local_business_opening_hours_parent_id_idx", + "columns": [ + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "seo_settings_local_business_opening_hours_parent_id_fk": { + "name": "seo_settings_local_business_opening_hours_parent_id_fk", + "tableFrom": "seo_settings_local_business_opening_hours", + "tableTo": "seo_settings", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.seo_settings": { + "name": "seo_settings", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "meta_defaults_default_og_image_id": { + "name": "meta_defaults_default_og_image_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "organization_name": { + "name": "organization_name", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "organization_legal_name": { + "name": "organization_legal_name", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "organization_logo_id": { + "name": "organization_logo_id", + "type": "integer", + "primaryKey": false, + "notNull": false + }, + "organization_founding_date": { + "name": "organization_founding_date", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "contact_email": { + "name": "contact_email", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contact_phone": { + "name": "contact_phone", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "contact_fax": { + "name": "contact_fax", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "address_street": { + "name": "address_street", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "address_postal_code": { + "name": "address_postal_code", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "address_city": { + "name": "address_city", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "address_region": { + "name": "address_region", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "address_country": { + "name": "address_country", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'Deutschland'" + }, + "address_country_code": { + "name": "address_country_code", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'DE'" + }, + "geo_latitude": { + "name": "geo_latitude", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "geo_longitude": { + "name": "geo_longitude", + "type": "numeric", + "primaryKey": false, + "notNull": false + }, + "local_business_enabled": { + "name": "local_business_enabled", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": false + }, + "local_business_type": { + "name": "local_business_type", + "type": "enum_seo_settings_local_business_type", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "local_business_price_range": { + "name": "local_business_price_range", + "type": "enum_seo_settings_local_business_price_range", + "typeSchema": "public", + "primaryKey": false, + "notNull": false + }, + "robots_allow_indexing": { + "name": "robots_allow_indexing", + "type": "boolean", + "primaryKey": false, + "notNull": false, + "default": true + }, + "verification_google": { + "name": "verification_google", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "verification_bing": { + "name": "verification_bing", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "verification_yandex": { + "name": "verification_yandex", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "updated_at": { + "name": "updated_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + }, + "created_at": { + "name": "created_at", + "type": "timestamp(3) with time zone", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "seo_settings_meta_defaults_meta_defaults_default_og_imag_idx": { + "name": "seo_settings_meta_defaults_meta_defaults_default_og_imag_idx", + "columns": [ + { + "expression": "meta_defaults_default_og_image_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + }, + "seo_settings_organization_organization_logo_idx": { + "name": "seo_settings_organization_organization_logo_idx", + "columns": [ + { + "expression": "organization_logo_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "seo_settings_meta_defaults_default_og_image_id_media_id_fk": { + "name": "seo_settings_meta_defaults_default_og_image_id_media_id_fk", + "tableFrom": "seo_settings", + "tableTo": "media", + "columnsFrom": [ + "meta_defaults_default_og_image_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + }, + "seo_settings_organization_logo_id_media_id_fk": { + "name": "seo_settings_organization_logo_id_media_id_fk", + "tableFrom": "seo_settings", + "tableTo": "media", + "columnsFrom": [ + "organization_logo_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "set null", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.seo_settings_locales": { + "name": "seo_settings_locales", + "schema": "", + "columns": { + "meta_defaults_title_suffix": { + "name": "meta_defaults_title_suffix", + "type": "varchar", + "primaryKey": false, + "notNull": false, + "default": "'| Website'" + }, + "meta_defaults_default_description": { + "name": "meta_defaults_default_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "organization_description": { + "name": "organization_description", + "type": "varchar", + "primaryKey": false, + "notNull": false + }, + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "_locale": { + "name": "_locale", + "type": "_locales", + "typeSchema": "public", + "primaryKey": false, + "notNull": true + }, + "_parent_id": { + "name": "_parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + } + }, + "indexes": { + "seo_settings_locales_locale_parent_id_unique": { + "name": "seo_settings_locales_locale_parent_id_unique", + "columns": [ + { + "expression": "_locale", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "_parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": true, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "seo_settings_locales_parent_id_fk": { + "name": "seo_settings_locales_parent_id_fk", + "tableFrom": "seo_settings_locales", + "tableTo": "seo_settings", + "columnsFrom": [ + "_parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + }, + "public.seo_settings_texts": { + "name": "seo_settings_texts", + "schema": "", + "columns": { + "id": { + "name": "id", + "type": "serial", + "primaryKey": true, + "notNull": true + }, + "order": { + "name": "order", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "parent_id": { + "name": "parent_id", + "type": "integer", + "primaryKey": false, + "notNull": true + }, + "path": { + "name": "path", + "type": "varchar", + "primaryKey": false, + "notNull": true + }, + "text": { + "name": "text", + "type": "varchar", + "primaryKey": false, + "notNull": false + } + }, + "indexes": { + "seo_settings_texts_order_parent": { + "name": "seo_settings_texts_order_parent", + "columns": [ + { + "expression": "order", + "isExpression": false, + "asc": true, + "nulls": "last" + }, + { + "expression": "parent_id", + "isExpression": false, + "asc": true, + "nulls": "last" + } + ], + "isUnique": false, + "concurrently": false, + "method": "btree", + "with": {} + } + }, + "foreignKeys": { + "seo_settings_texts_parent_fk": { + "name": "seo_settings_texts_parent_fk", + "tableFrom": "seo_settings_texts", + "tableTo": "seo_settings", + "columnsFrom": [ + "parent_id" + ], + "columnsTo": [ + "id" + ], + "onDelete": "cascade", + "onUpdate": "no action" + } + }, + "compositePrimaryKeys": {}, + "uniqueConstraints": {}, + "policies": {}, + "checkConstraints": {}, + "isRLSEnabled": false + } + }, + "enums": { + "public._locales": { + "name": "_locales", + "schema": "public", + "values": [ + "de", + "en" + ] + }, + "public.enum_pages_blocks_hero_block_alignment": { + "name": "enum_pages_blocks_hero_block_alignment", + "schema": "public", + "values": [ + "left", + "center", + "right" + ] + }, + "public.enum_pages_blocks_hero_block_cta_style": { + "name": "enum_pages_blocks_hero_block_cta_style", + "schema": "public", + "values": [ + "primary", + "secondary", + "outline" + ] + }, + "public.enum_pages_blocks_text_block_width": { + "name": "enum_pages_blocks_text_block_width", + "schema": "public", + "values": [ + "narrow", + "medium", + "full" + ] + }, + "public.enum_pages_blocks_image_text_block_image_position": { + "name": "enum_pages_blocks_image_text_block_image_position", + "schema": "public", + "values": [ + "left", + "right" + ] + }, + "public.enum_pages_blocks_card_grid_block_columns": { + "name": "enum_pages_blocks_card_grid_block_columns", + "schema": "public", + "values": [ + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_quote_block_style": { + "name": "enum_pages_blocks_quote_block_style", + "schema": "public", + "values": [ + "simple", + "highlighted", + "with-image" + ] + }, + "public.enum_pages_blocks_cta_block_buttons_style": { + "name": "enum_pages_blocks_cta_block_buttons_style", + "schema": "public", + "values": [ + "primary", + "secondary", + "outline" + ] + }, + "public.enum_pages_blocks_cta_block_background_color": { + "name": "enum_pages_blocks_cta_block_background_color", + "schema": "public", + "values": [ + "dark", + "light", + "accent" + ] + }, + "public.enum_pages_blocks_timeline_block_layout": { + "name": "enum_pages_blocks_timeline_block_layout", + "schema": "public", + "values": [ + "vertical", + "alternating", + "horizontal" + ] + }, + "public.enum_pages_blocks_timeline_block_marker_style": { + "name": "enum_pages_blocks_timeline_block_marker_style", + "schema": "public", + "values": [ + "dot", + "number", + "icon", + "date" + ] + }, + "public.enum_pages_blocks_timeline_block_background_color": { + "name": "enum_pages_blocks_timeline_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark" + ] + }, + "public.enum_pages_blocks_divider_block_style": { + "name": "enum_pages_blocks_divider_block_style", + "schema": "public", + "values": [ + "line", + "space", + "dots" + ] + }, + "public.enum_pages_blocks_divider_block_spacing": { + "name": "enum_pages_blocks_divider_block_spacing", + "schema": "public", + "values": [ + "small", + "medium", + "large" + ] + }, + "public.enum_pages_blocks_video_block_aspect_ratio": { + "name": "enum_pages_blocks_video_block_aspect_ratio", + "schema": "public", + "values": [ + "16:9", + "4:3", + "1:1" + ] + }, + "public.enum_pages_blocks_posts_list_block_post_type": { + "name": "enum_pages_blocks_posts_list_block_post_type", + "schema": "public", + "values": [ + "blog", + "news", + "press", + "announcement", + "all" + ] + }, + "public.enum_pages_blocks_posts_list_block_layout": { + "name": "enum_pages_blocks_posts_list_block_layout", + "schema": "public", + "values": [ + "grid", + "list", + "featured", + "compact", + "masonry" + ] + }, + "public.enum_pages_blocks_posts_list_block_columns": { + "name": "enum_pages_blocks_posts_list_block_columns", + "schema": "public", + "values": [ + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_posts_list_block_background_color": { + "name": "enum_pages_blocks_posts_list_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark" + ] + }, + "public.enum_pages_blocks_testimonials_block_layout": { + "name": "enum_pages_blocks_testimonials_block_layout", + "schema": "public", + "values": [ + "slider", + "grid", + "single", + "masonry", + "list" + ] + }, + "public.enum_pages_blocks_testimonials_block_columns": { + "name": "enum_pages_blocks_testimonials_block_columns", + "schema": "public", + "values": [ + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_testimonials_block_display_mode": { + "name": "enum_pages_blocks_testimonials_block_display_mode", + "schema": "public", + "values": [ + "all", + "selected" + ] + }, + "public.enum_pages_blocks_testimonials_block_background_color": { + "name": "enum_pages_blocks_testimonials_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark", + "accent" + ] + }, + "public.enum_pages_blocks_newsletter_block_available_interests": { + "name": "enum_pages_blocks_newsletter_block_available_interests", + "schema": "public", + "values": [ + "general", + "blog", + "products", + "offers", + "events" + ] + }, + "public.enum_pages_blocks_newsletter_block_layout": { + "name": "enum_pages_blocks_newsletter_block_layout", + "schema": "public", + "values": [ + "inline", + "stacked", + "with-image", + "minimal", + "card" + ] + }, + "public.enum_pages_blocks_newsletter_block_image_position": { + "name": "enum_pages_blocks_newsletter_block_image_position", + "schema": "public", + "values": [ + "left", + "right" + ] + }, + "public.enum_pages_blocks_newsletter_block_background_color": { + "name": "enum_pages_blocks_newsletter_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark", + "accent" + ] + }, + "public.enum_pages_blocks_process_steps_block_layout": { + "name": "enum_pages_blocks_process_steps_block_layout", + "schema": "public", + "values": [ + "horizontal", + "vertical", + "alternating", + "connected", + "timeline" + ] + }, + "public.enum_pages_blocks_process_steps_block_cta_variant": { + "name": "enum_pages_blocks_process_steps_block_cta_variant", + "schema": "public", + "values": [ + "default", + "ghost", + "light" + ] + }, + "public.enum_pages_blocks_process_steps_block_background_color": { + "name": "enum_pages_blocks_process_steps_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark" + ] + }, + "public.enum_pages_blocks_faq_block_source_mode": { + "name": "enum_pages_blocks_faq_block_source_mode", + "schema": "public", + "values": [ + "collection", + "inline" + ] + }, + "public.enum_pages_blocks_faq_block_display_mode": { + "name": "enum_pages_blocks_faq_block_display_mode", + "schema": "public", + "values": [ + "all", + "featured", + "category", + "selected" + ] + }, + "public.enum_pages_blocks_faq_block_layout": { + "name": "enum_pages_blocks_faq_block_layout", + "schema": "public", + "values": [ + "accordion", + "grid", + "list", + "two-column" + ] + }, + "public.enum_pages_blocks_faq_block_columns": { + "name": "enum_pages_blocks_faq_block_columns", + "schema": "public", + "values": [ + "2", + "3" + ] + }, + "public.enum_pages_blocks_faq_block_background_color": { + "name": "enum_pages_blocks_faq_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark", + "accent" + ] + }, + "public.enum_pages_blocks_team_block_display_mode": { + "name": "enum_pages_blocks_team_block_display_mode", + "schema": "public", + "values": [ + "all", + "featured", + "department", + "selected" + ] + }, + "public.enum_pages_blocks_team_block_layout": { + "name": "enum_pages_blocks_team_block_layout", + "schema": "public", + "values": [ + "grid", + "list", + "slider", + "compact", + "detailed" + ] + }, + "public.enum_pages_blocks_team_block_columns": { + "name": "enum_pages_blocks_team_block_columns", + "schema": "public", + "values": [ + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_team_block_image_style": { + "name": "enum_pages_blocks_team_block_image_style", + "schema": "public", + "values": [ + "circle", + "rounded", + "square" + ] + }, + "public.enum_pages_blocks_team_block_background_color": { + "name": "enum_pages_blocks_team_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark", + "accent" + ] + }, + "public.enum_pages_blocks_services_block_display_mode": { + "name": "enum_pages_blocks_services_block_display_mode", + "schema": "public", + "values": [ + "all", + "featured", + "category", + "selected" + ] + }, + "public.enum_pages_blocks_services_block_layout": { + "name": "enum_pages_blocks_services_block_layout", + "schema": "public", + "values": [ + "grid", + "list", + "tabs", + "accordion", + "featured-grid", + "slider", + "compact", + "masonry" + ] + }, + "public.enum_pages_blocks_services_block_columns": { + "name": "enum_pages_blocks_services_block_columns", + "schema": "public", + "values": [ + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_services_block_tabs_style": { + "name": "enum_pages_blocks_services_block_tabs_style", + "schema": "public", + "values": [ + "horizontal", + "vertical", + "pills" + ] + }, + "public.enum_pages_blocks_services_block_slides_per_view": { + "name": "enum_pages_blocks_services_block_slides_per_view", + "schema": "public", + "values": [ + "1", + "2", + "3", + "4" + ] + }, + "public.enum_pages_blocks_services_block_card_style": { + "name": "enum_pages_blocks_services_block_card_style", + "schema": "public", + "values": [ + "elevated", + "bordered", + "flat", + "filled" + ] + }, + "public.enum_pages_blocks_services_block_background_color": { + "name": "enum_pages_blocks_services_block_background_color", + "schema": "public", + "values": [ + "white", + "light", + "dark", + "accent" + ] + }, + "public.enum_pages_status": { + "name": "enum_pages_status", + "schema": "public", + "values": [ + "draft", + "published" + ] + }, + "public.enum_posts_type": { + "name": "enum_posts_type", + "schema": "public", + "values": [ + "blog", + "news", + "press", + "announcement" + ] + }, + "public.enum_posts_status": { + "name": "enum_posts_status", + "schema": "public", + "values": [ + "draft", + "published", + "archived" + ] + }, + "public.enum_social_links_platform": { + "name": "enum_social_links_platform", + "schema": "public", + "values": [ + "facebook", + "x", + "instagram", + "youtube", + "linkedin", + "xing" + ] + }, + "public.enum_team_social_links_platform": { + "name": "enum_team_social_links_platform", + "schema": "public", + "values": [ + "linkedin", + "xing", + "twitter", + "instagram", + "facebook", + "website", + "github" + ] + }, + "public.enum_team_languages_level": { + "name": "enum_team_languages_level", + "schema": "public", + "values": [ + "native", + "fluent", + "good", + "basic" + ] + }, + "public.enum_services_pricing_type": { + "name": "enum_services_pricing_type", + "schema": "public", + "values": [ + "on-request", + "fixed", + "from", + "range", + "hourly", + "monthly", + "free" + ] + }, + "public.enum_services_cta_style": { + "name": "enum_services_cta_style", + "schema": "public", + "values": [ + "primary", + "secondary", + "outline" + ] + }, + "public.enum_newsletter_subscribers_interests": { + "name": "enum_newsletter_subscribers_interests", + "schema": "public", + "values": [ + "general", + "blog", + "products", + "offers", + "events" + ] + }, + "public.enum_newsletter_subscribers_status": { + "name": "enum_newsletter_subscribers_status", + "schema": "public", + "values": [ + "pending", + "confirmed", + "unsubscribed", + "bounced" + ] + }, + "public.enum_portfolios_status": { + "name": "enum_portfolios_status", + "schema": "public", + "values": [ + "draft", + "published", + "archived" + ] + }, + "public.enum_products_pricing_currency": { + "name": "enum_products_pricing_currency", + "schema": "public", + "values": [ + "EUR", + "USD", + "CHF" + ] + }, + "public.enum_products_pricing_price_type": { + "name": "enum_products_pricing_price_type", + "schema": "public", + "values": [ + "fixed", + "from", + "on_request", + "free" + ] + }, + "public.enum_products_inventory_stock_status": { + "name": "enum_products_inventory_stock_status", + "schema": "public", + "values": [ + "in_stock", + "low_stock", + "out_of_stock", + "on_order", + "preorder" + ] + }, + "public.enum_products_cta_type": { + "name": "enum_products_cta_type", + "schema": "public", + "values": [ + "contact", + "quote", + "cart", + "external", + "download" + ] + }, + "public.enum_products_status": { + "name": "enum_products_status", + "schema": "public", + "values": [ + "draft", + "published", + "archived" + ] + }, + "public.enum_timelines_events_links_type": { + "name": "enum_timelines_events_links_type", + "schema": "public", + "values": [ + "internal", + "external", + "download" + ] + }, + "public.enum_timelines_events_date_type": { + "name": "enum_timelines_events_date_type", + "schema": "public", + "values": [ + "year", + "monthYear", + "fullDate", + "range", + "custom" + ] + }, + "public.enum_timelines_events_month": { + "name": "enum_timelines_events_month", + "schema": "public", + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ] + }, + "public.enum_timelines_events_end_month": { + "name": "enum_timelines_events_end_month", + "schema": "public", + "values": [ + "1", + "2", + "3", + "4", + "5", + "6", + "7", + "8", + "9", + "10", + "11", + "12" + ] + }, + "public.enum_timelines_events_category": { + "name": "enum_timelines_events_category", + "schema": "public", + "values": [ + "milestone", + "founding", + "product", + "team", + "award", + "partnership", + "expansion", + "technology", + "other" + ] + }, + "public.enum_timelines_events_importance": { + "name": "enum_timelines_events_importance", + "schema": "public", + "values": [ + "highlight", + "normal", + "minor" + ] + }, + "public.enum_timelines_type": { + "name": "enum_timelines_type", + "schema": "public", + "values": [ + "history", + "milestones", + "releases", + "career", + "events", + "process" + ] + }, + "public.enum_timelines_status": { + "name": "enum_timelines_status", + "schema": "public", + "values": [ + "draft", + "published", + "archived" + ] + }, + "public.enum_timelines_display_options_layout": { + "name": "enum_timelines_display_options_layout", + "schema": "public", + "values": [ + "vertical", + "alternating", + "horizontal", + "compact" + ] + }, + "public.enum_timelines_display_options_sort_order": { + "name": "enum_timelines_display_options_sort_order", + "schema": "public", + "values": [ + "desc", + "asc" + ] + }, + "public.enum_timelines_display_options_marker_style": { + "name": "enum_timelines_display_options_marker_style", + "schema": "public", + "values": [ + "dot", + "number", + "icon", + "date" + ] + }, + "public.enum_timelines_display_options_color_scheme": { + "name": "enum_timelines_display_options_color_scheme", + "schema": "public", + "values": [ + "primary", + "secondary", + "neutral", + "colorful" + ] + }, + "public.enum_cookie_configurations_enabled_categories": { + "name": "enum_cookie_configurations_enabled_categories", + "schema": "public", + "values": [ + "necessary", + "functional", + "analytics", + "marketing" + ] + }, + "public.enum_cookie_configurations_styling_position": { + "name": "enum_cookie_configurations_styling_position", + "schema": "public", + "values": [ + "bottom", + "top", + "middle" + ] + }, + "public.enum_cookie_configurations_styling_theme": { + "name": "enum_cookie_configurations_styling_theme", + "schema": "public", + "values": [ + "dark", + "light", + "auto" + ] + }, + "public.enum_cookie_inventory_category": { + "name": "enum_cookie_inventory_category", + "schema": "public", + "values": [ + "necessary", + "functional", + "analytics", + "marketing" + ] + }, + "public.enum_privacy_policy_settings_provider": { + "name": "enum_privacy_policy_settings_provider", + "schema": "public", + "values": [ + "alfright", + "internal" + ] + }, + "public.enum_privacy_policy_settings_alfright_language": { + "name": "enum_privacy_policy_settings_alfright_language", + "schema": "public", + "values": [ + "de-de", + "de-at", + "de-ch", + "en-gb", + "en-us" + ] + }, + "public.enum_email_logs_status": { + "name": "enum_email_logs_status", + "schema": "public", + "values": [ + "pending", + "sent", + "failed" + ] + }, + "public.enum_email_logs_source": { + "name": "enum_email_logs_source", + "schema": "public", + "values": [ + "manual", + "form", + "system", + "newsletter" + ] + }, + "public.enum_audit_logs_action": { + "name": "enum_audit_logs_action", + "schema": "public", + "values": [ + "login_success", + "login_failed", + "logout", + "password_changed", + "password_reset", + "create", + "update", + "delete", + "config_changed", + "email_failed", + "access_denied", + "rate_limit" + ] + }, + "public.enum_audit_logs_severity": { + "name": "enum_audit_logs_severity", + "schema": "public", + "values": [ + "info", + "warning", + "error", + "critical" + ] + }, + "public.enum_audit_logs_entity_type": { + "name": "enum_audit_logs_entity_type", + "schema": "public", + "values": [ + "users", + "tenants", + "pages", + "posts", + "media", + "forms", + "email", + "global", + "system" + ] + }, + "public.enum_forms_confirmation_type": { + "name": "enum_forms_confirmation_type", + "schema": "public", + "values": [ + "message", + "redirect" + ] + }, + "public.enum_forms_redirect_type": { + "name": "enum_forms_redirect_type", + "schema": "public", + "values": [ + "reference", + "custom" + ] + }, + "public.enum_redirects_to_type": { + "name": "enum_redirects_to_type", + "schema": "public", + "values": [ + "reference", + "custom" + ] + }, + "public.enum_navigation_main_menu_submenu_link_type": { + "name": "enum_navigation_main_menu_submenu_link_type", + "schema": "public", + "values": [ + "page", + "custom" + ] + }, + "public.enum_navigation_main_menu_type": { + "name": "enum_navigation_main_menu_type", + "schema": "public", + "values": [ + "page", + "custom", + "submenu" + ] + }, + "public.enum_navigation_footer_menu_link_type": { + "name": "enum_navigation_footer_menu_link_type", + "schema": "public", + "values": [ + "page", + "custom" + ] + }, + "public.enum_seo_settings_social_profiles_platform": { + "name": "enum_seo_settings_social_profiles_platform", + "schema": "public", + "values": [ + "facebook", + "instagram", + "twitter", + "linkedin", + "youtube", + "tiktok", + "pinterest", + "xing", + "other" + ] + }, + "public.enum_seo_settings_local_business_type": { + "name": "enum_seo_settings_local_business_type", + "schema": "public", + "values": [ + "LocalBusiness", + "Physician", + "Dentist", + "Attorney", + "Restaurant", + "Hotel", + "Store", + "HealthClub", + "HairSalon", + "AutoRepair", + "RealEstateAgent", + "FinancialService", + "ProfessionalService", + "MedicalBusiness" + ] + }, + "public.enum_seo_settings_local_business_price_range": { + "name": "enum_seo_settings_local_business_price_range", + "schema": "public", + "values": [ + "€", + "€€", + "€€€", + "€€€€" + ] + } + }, + "schemas": {}, + "sequences": {}, + "roles": {}, + "policies": {}, + "views": {}, + "_meta": { + "schemas": {}, + "tables": {}, + "columns": {} + }, + "id": "7f276cff-12cd-47a5-8eb5-b76b55f5d951", + "prevId": "00000000-0000-0000-0000-000000000000" +} \ No newline at end of file diff --git a/src/migrations/20251213_100753_add_timelines_collection.ts b/src/migrations/20251213_100753_add_timelines_collection.ts new file mode 100644 index 0000000..87b5444 --- /dev/null +++ b/src/migrations/20251213_100753_add_timelines_collection.ts @@ -0,0 +1,168 @@ +import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-postgres' + +export async function up({ db, payload, req }: MigrateUpArgs): Promise { + await db.execute(sql` + CREATE TYPE "public"."enum_timelines_events_links_type" AS ENUM('internal', 'external', 'download'); + CREATE TYPE "public"."enum_timelines_events_date_type" AS ENUM('year', 'monthYear', 'fullDate', 'range', 'custom'); + CREATE TYPE "public"."enum_timelines_events_month" AS ENUM('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'); + CREATE TYPE "public"."enum_timelines_events_end_month" AS ENUM('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'); + CREATE TYPE "public"."enum_timelines_events_category" AS ENUM('milestone', 'founding', 'product', 'team', 'award', 'partnership', 'expansion', 'technology', 'other'); + CREATE TYPE "public"."enum_timelines_events_importance" AS ENUM('highlight', 'normal', 'minor'); + CREATE TYPE "public"."enum_timelines_type" AS ENUM('history', 'milestones', 'releases', 'career', 'events', 'process'); + CREATE TYPE "public"."enum_timelines_status" AS ENUM('draft', 'published', 'archived'); + CREATE TYPE "public"."enum_timelines_display_options_layout" AS ENUM('vertical', 'alternating', 'horizontal', 'compact'); + CREATE TYPE "public"."enum_timelines_display_options_sort_order" AS ENUM('desc', 'asc'); + CREATE TYPE "public"."enum_timelines_display_options_marker_style" AS ENUM('dot', 'number', 'icon', 'date'); + CREATE TYPE "public"."enum_timelines_display_options_color_scheme" AS ENUM('primary', 'secondary', 'neutral', 'colorful'); + CREATE TABLE "timelines_events_gallery" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "image_id" integer NOT NULL + ); + + CREATE TABLE "timelines_events_gallery_locales" ( + "caption" varchar, + "id" serial PRIMARY KEY NOT NULL, + "_locale" "_locales" NOT NULL, + "_parent_id" varchar NOT NULL + ); + + CREATE TABLE "timelines_events_links" ( + "_order" integer NOT NULL, + "_parent_id" varchar NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "url" varchar NOT NULL, + "type" "enum_timelines_events_links_type" DEFAULT 'internal' + ); + + CREATE TABLE "timelines_events_links_locales" ( + "label" varchar NOT NULL, + "id" serial PRIMARY KEY NOT NULL, + "_locale" "_locales" NOT NULL, + "_parent_id" varchar NOT NULL + ); + + CREATE TABLE "timelines_events" ( + "_order" integer NOT NULL, + "_parent_id" integer NOT NULL, + "id" varchar PRIMARY KEY NOT NULL, + "date_type" "enum_timelines_events_date_type" DEFAULT 'year', + "year" numeric, + "month" "enum_timelines_events_month", + "day" numeric, + "end_year" numeric, + "end_month" "enum_timelines_events_end_month", + "ongoing" boolean, + "custom_date" varchar, + "image_id" integer, + "category" "enum_timelines_events_category", + "importance" "enum_timelines_events_importance" DEFAULT 'normal', + "icon" varchar, + "color" varchar, + "metadata" jsonb + ); + + CREATE TABLE "timelines_events_locales" ( + "title" varchar NOT NULL, + "subtitle" varchar, + "description" jsonb, + "short_description" varchar, + "id" serial PRIMARY KEY NOT NULL, + "_locale" "_locales" NOT NULL, + "_parent_id" varchar NOT NULL + ); + + CREATE TABLE "timelines" ( + "id" serial PRIMARY KEY NOT NULL, + "tenant_id" integer, + "slug" varchar NOT NULL, + "type" "enum_timelines_type" DEFAULT 'history' NOT NULL, + "status" "enum_timelines_status" DEFAULT 'draft' NOT NULL, + "display_options_layout" "enum_timelines_display_options_layout" DEFAULT 'vertical', + "display_options_sort_order" "enum_timelines_display_options_sort_order" DEFAULT 'desc', + "display_options_show_connector" boolean DEFAULT true, + "display_options_show_images" boolean DEFAULT true, + "display_options_group_by_year" boolean DEFAULT false, + "display_options_marker_style" "enum_timelines_display_options_marker_style" DEFAULT 'dot', + "display_options_color_scheme" "enum_timelines_display_options_color_scheme" DEFAULT 'primary', + "updated_at" timestamp(3) with time zone DEFAULT now() NOT NULL, + "created_at" timestamp(3) with time zone DEFAULT now() NOT NULL + ); + + CREATE TABLE "timelines_locales" ( + "name" varchar NOT NULL, + "description" varchar, + "seo_meta_title" varchar, + "seo_meta_description" varchar, + "id" serial PRIMARY KEY NOT NULL, + "_locale" "_locales" NOT NULL, + "_parent_id" integer NOT NULL + ); + + ALTER TABLE "payload_locked_documents_rels" ADD COLUMN "timelines_id" integer; + ALTER TABLE "timelines_events_gallery" ADD CONSTRAINT "timelines_events_gallery_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "timelines_events_gallery" ADD CONSTRAINT "timelines_events_gallery_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines_events"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines_events_gallery_locales" ADD CONSTRAINT "timelines_events_gallery_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines_events_gallery"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines_events_links" ADD CONSTRAINT "timelines_events_links_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines_events"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines_events_links_locales" ADD CONSTRAINT "timelines_events_links_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines_events_links"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines_events" ADD CONSTRAINT "timelines_events_image_id_media_id_fk" FOREIGN KEY ("image_id") REFERENCES "public"."media"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "timelines_events" ADD CONSTRAINT "timelines_events_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines_events_locales" ADD CONSTRAINT "timelines_events_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines_events"("id") ON DELETE cascade ON UPDATE no action; + ALTER TABLE "timelines" ADD CONSTRAINT "timelines_tenant_id_tenants_id_fk" FOREIGN KEY ("tenant_id") REFERENCES "public"."tenants"("id") ON DELETE set null ON UPDATE no action; + ALTER TABLE "timelines_locales" ADD CONSTRAINT "timelines_locales_parent_id_fk" FOREIGN KEY ("_parent_id") REFERENCES "public"."timelines"("id") ON DELETE cascade ON UPDATE no action; + CREATE INDEX "timelines_events_gallery_order_idx" ON "timelines_events_gallery" USING btree ("_order"); + CREATE INDEX "timelines_events_gallery_parent_id_idx" ON "timelines_events_gallery" USING btree ("_parent_id"); + CREATE INDEX "timelines_events_gallery_image_idx" ON "timelines_events_gallery" USING btree ("image_id"); + CREATE UNIQUE INDEX "timelines_events_gallery_locales_locale_parent_id_unique" ON "timelines_events_gallery_locales" USING btree ("_locale","_parent_id"); + CREATE INDEX "timelines_events_links_order_idx" ON "timelines_events_links" USING btree ("_order"); + CREATE INDEX "timelines_events_links_parent_id_idx" ON "timelines_events_links" USING btree ("_parent_id"); + CREATE UNIQUE INDEX "timelines_events_links_locales_locale_parent_id_unique" ON "timelines_events_links_locales" USING btree ("_locale","_parent_id"); + CREATE INDEX "timelines_events_order_idx" ON "timelines_events" USING btree ("_order"); + CREATE INDEX "timelines_events_parent_id_idx" ON "timelines_events" USING btree ("_parent_id"); + CREATE INDEX "timelines_events_image_idx" ON "timelines_events" USING btree ("image_id"); + CREATE UNIQUE INDEX "timelines_events_locales_locale_parent_id_unique" ON "timelines_events_locales" USING btree ("_locale","_parent_id"); + CREATE INDEX "timelines_tenant_idx" ON "timelines" USING btree ("tenant_id"); + CREATE UNIQUE INDEX "timelines_slug_idx" ON "timelines" USING btree ("slug"); + CREATE INDEX "timelines_updated_at_idx" ON "timelines" USING btree ("updated_at"); + CREATE INDEX "timelines_created_at_idx" ON "timelines" USING btree ("created_at"); + CREATE UNIQUE INDEX "timelines_locales_locale_parent_id_unique" ON "timelines_locales" USING btree ("_locale","_parent_id"); + ALTER TABLE "payload_locked_documents_rels" ADD CONSTRAINT "payload_locked_documents_rels_timelines_fk" FOREIGN KEY ("timelines_id") REFERENCES "public"."timelines"("id") ON DELETE cascade ON UPDATE no action; + CREATE INDEX "payload_locked_documents_rels_timelines_id_idx" ON "payload_locked_documents_rels" USING btree ("timelines_id");`) +} + +export async function down({ db, payload, req }: MigrateDownArgs): Promise { + await db.execute(sql` + ALTER TABLE "timelines_events_gallery" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_events_gallery_locales" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_events_links" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_events_links_locales" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_events" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_events_locales" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines" DISABLE ROW LEVEL SECURITY; + ALTER TABLE "timelines_locales" DISABLE ROW LEVEL SECURITY; + DROP TABLE "timelines_events_gallery" CASCADE; + DROP TABLE "timelines_events_gallery_locales" CASCADE; + DROP TABLE "timelines_events_links" CASCADE; + DROP TABLE "timelines_events_links_locales" CASCADE; + DROP TABLE "timelines_events" CASCADE; + DROP TABLE "timelines_events_locales" CASCADE; + DROP TABLE "timelines" CASCADE; + DROP TABLE "timelines_locales" CASCADE; + ALTER TABLE "payload_locked_documents_rels" DROP CONSTRAINT "payload_locked_documents_rels_timelines_fk"; + + DROP INDEX "payload_locked_documents_rels_timelines_id_idx"; + ALTER TABLE "payload_locked_documents_rels" DROP COLUMN "timelines_id"; + DROP TYPE "public"."enum_timelines_events_links_type"; + DROP TYPE "public"."enum_timelines_events_date_type"; + DROP TYPE "public"."enum_timelines_events_month"; + DROP TYPE "public"."enum_timelines_events_end_month"; + DROP TYPE "public"."enum_timelines_events_category"; + DROP TYPE "public"."enum_timelines_events_importance"; + DROP TYPE "public"."enum_timelines_type"; + DROP TYPE "public"."enum_timelines_status"; + DROP TYPE "public"."enum_timelines_display_options_layout"; + DROP TYPE "public"."enum_timelines_display_options_sort_order"; + DROP TYPE "public"."enum_timelines_display_options_marker_style"; + DROP TYPE "public"."enum_timelines_display_options_color_scheme";`) +} diff --git a/src/migrations/index.ts b/src/migrations/index.ts index f923c5f..1cd1396 100644 --- a/src/migrations/index.ts +++ b/src/migrations/index.ts @@ -9,6 +9,7 @@ import * as migration_20251210_071506_add_team_collection from './20251210_07150 import * as migration_20251210_073811_add_services_collections from './20251210_073811_add_services_collections'; import * as migration_20251210_090000_enhance_form_submissions from './20251210_090000_enhance_form_submissions'; import * as migration_20251212_211506_add_products_collections from './20251212_211506_add_products_collections'; +import * as migration_20251213_100753_add_timelines_collection from './20251213_100753_add_timelines_collection'; export const migrations = [ { @@ -64,6 +65,11 @@ export const migrations = [ { up: migration_20251212_211506_add_products_collections.up, down: migration_20251212_211506_add_products_collections.down, - name: '20251212_211506_add_products_collections' + name: '20251212_211506_add_products_collections', + }, + { + up: migration_20251213_100753_add_timelines_collection.up, + down: migration_20251213_100753_add_timelines_collection.down, + name: '20251213_100753_add_timelines_collection' }, ]; diff --git a/src/payload-types.ts b/src/payload-types.ts index 3d02240..a4b9989 100644 --- a/src/payload-types.ts +++ b/src/payload-types.ts @@ -84,6 +84,7 @@ export interface Config { portfolios: Portfolio; 'product-categories': ProductCategory; products: Product; + timelines: Timeline; 'cookie-configurations': CookieConfiguration; 'cookie-inventory': CookieInventory; 'consent-logs': ConsentLog; @@ -117,6 +118,7 @@ export interface Config { portfolios: PortfoliosSelect | PortfoliosSelect; 'product-categories': ProductCategoriesSelect | ProductCategoriesSelect; products: ProductsSelect | ProductsSelect; + timelines: TimelinesSelect | TimelinesSelect; 'cookie-configurations': CookieConfigurationsSelect | CookieConfigurationsSelect; 'cookie-inventory': CookieInventorySelect | CookieInventorySelect; 'consent-logs': ConsentLogsSelect | ConsentLogsSelect; @@ -1803,6 +1805,135 @@ export interface Product { updatedAt: string; createdAt: string; } +/** + * Chronologische Darstellungen für Unternehmensgeschichte, Meilensteine, etc. + * + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "timelines". + */ +export interface Timeline { + id: number; + tenant?: (number | null) | Tenant; + /** + * Interner Name zur Identifikation (z.B. "Unternehmensgeschichte") + */ + name: string; + /** + * URL-freundlicher Identifier (z.B. "company-history") + */ + slug: string; + /** + * Optionale Beschreibung der Timeline + */ + description?: string | null; + type: 'history' | 'milestones' | 'releases' | 'career' | 'events' | 'process'; + status: 'draft' | 'published' | 'archived'; + displayOptions?: { + layout?: ('vertical' | 'alternating' | 'horizontal' | 'compact') | null; + sortOrder?: ('desc' | 'asc') | null; + showConnector?: boolean | null; + showImages?: boolean | null; + groupByYear?: boolean | null; + markerStyle?: ('dot' | 'number' | 'icon' | 'date') | null; + colorScheme?: ('primary' | 'secondary' | 'neutral' | 'colorful') | null; + }; + /** + * Die einzelnen Einträge der Timeline + */ + events: { + dateType?: ('year' | 'monthYear' | 'fullDate' | 'range' | 'custom') | null; + year?: number | null; + month?: ('1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12') | null; + day?: number | null; + endYear?: number | null; + endMonth?: ('1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12') | null; + ongoing?: boolean | null; + /** + * z.B. "Frühjahr 2024", "Q1 2023", "1990er Jahre" + */ + customDate?: string | null; + title: string; + /** + * Optional: z.B. Rolle, Position, Ort + */ + subtitle?: string | null; + description?: { + root: { + type: string; + children: { + type: any; + version: number; + [k: string]: unknown; + }[]; + direction: ('ltr' | 'rtl') | null; + format: 'left' | 'start' | 'center' | 'right' | 'end' | 'justify' | ''; + indent: number; + version: number; + }; + [k: string]: unknown; + } | null; + /** + * Für kompakte Ansichten (max. 200 Zeichen empfohlen) + */ + shortDescription?: string | null; + image?: (number | null) | Media; + /** + * Zusätzliche Bilder für dieses Ereignis + */ + gallery?: + | { + image: number | Media; + caption?: string | null; + id?: string | null; + }[] + | null; + /** + * Zur Filterung und farblichen Unterscheidung + */ + category?: + | ('milestone' | 'founding' | 'product' | 'team' | 'award' | 'partnership' | 'expansion' | 'technology' | 'other') + | null; + /** + * Highlights werden visuell hervorgehoben + */ + importance?: ('highlight' | 'normal' | 'minor') | null; + /** + * Emoji oder Lucide Icon-Name (z.B. "rocket", "award", "users") + */ + icon?: string | null; + /** + * Überschreibt die Kategorie-Farbe (z.B. "#FF5733" oder "blue") + */ + color?: string | null; + links?: + | { + label: string; + url: string; + type?: ('internal' | 'external' | 'download') | null; + id?: string | null; + }[] + | null; + /** + * Für spezielle Anwendungsfälle (z.B. Statistiken, Kennzahlen) + */ + metadata?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + id?: string | null; + }[]; + seo?: { + metaTitle?: string | null; + metaDescription?: string | null; + }; + updatedAt: string; + createdAt: string; +} /** * Cookie-Banner Konfiguration pro Tenant * @@ -2456,6 +2587,10 @@ export interface PayloadLockedDocument { relationTo: 'products'; value: number | Product; } | null) + | ({ + relationTo: 'timelines'; + value: number | Timeline; + } | null) | ({ relationTo: 'cookie-configurations'; value: number | CookieConfiguration; @@ -3517,6 +3652,75 @@ export interface ProductsSelect { updatedAt?: T; createdAt?: T; } +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "timelines_select". + */ +export interface TimelinesSelect { + tenant?: T; + name?: T; + slug?: T; + description?: T; + type?: T; + status?: T; + displayOptions?: + | T + | { + layout?: T; + sortOrder?: T; + showConnector?: T; + showImages?: T; + groupByYear?: T; + markerStyle?: T; + colorScheme?: T; + }; + events?: + | T + | { + dateType?: T; + year?: T; + month?: T; + day?: T; + endYear?: T; + endMonth?: T; + ongoing?: T; + customDate?: T; + title?: T; + subtitle?: T; + description?: T; + shortDescription?: T; + image?: T; + gallery?: + | T + | { + image?: T; + caption?: T; + id?: T; + }; + category?: T; + importance?: T; + icon?: T; + color?: T; + links?: + | T + | { + label?: T; + url?: T; + type?: T; + id?: T; + }; + metadata?: T; + id?: T; + }; + seo?: + | T + | { + metaTitle?: T; + metaDescription?: T; + }; + updatedAt?: T; + createdAt?: T; +} /** * This interface was referenced by `Config`'s JSON-Schema * via the `definition` "cookie-configurations_select". diff --git a/src/payload.config.ts b/src/payload.config.ts index 0ecb45f..574dd7e 100644 --- a/src/payload.config.ts +++ b/src/payload.config.ts @@ -38,6 +38,9 @@ import { Portfolios } from './collections/Portfolios' import { ProductCategories } from './collections/ProductCategories' import { Products } from './collections/Products' +// Timeline Collection +import { Timelines } from './collections/Timelines' + // Consent Management Collections import { CookieConfigurations } from './collections/CookieConfigurations' import { CookieInventory } from './collections/CookieInventory' @@ -152,6 +155,8 @@ export default buildConfig({ // Products ProductCategories, Products, + // Timelines + Timelines, // Consent Management CookieConfigurations, CookieInventory, @@ -200,6 +205,8 @@ export default buildConfig({ // Product Collections 'product-categories': {}, products: {}, + // Timeline Collection + timelines: {}, // Consent Management Collections - customTenantField: true weil sie bereits ein tenant-Feld haben 'cookie-configurations': { customTenantField: true }, 'cookie-inventory': { customTenantField: true }, diff --git a/tests/e2e/tenant-isolation.e2e.spec.ts b/tests/e2e/tenant-isolation.e2e.spec.ts index d8ba55d..5598eb5 100644 --- a/tests/e2e/tenant-isolation.e2e.spec.ts +++ b/tests/e2e/tenant-isolation.e2e.spec.ts @@ -264,6 +264,122 @@ test.describe('Cross-Tenant Access Prevention', () => { }) }) +test.describe('Timeline API Tenant Isolation', () => { + test('Timeline API requires tenant parameter', async ({ request }) => { + const response = await request.get('/api/timelines') + + expect(response.status()).toBe(400) + + const data = await response.json() + expect(data.error).toContain('Tenant ID is required') + }) + + test('Timeline API returns different data for different tenants', async ({ request }) => { + const [response1, response4, response5] = await Promise.all([ + request.get(`/api/timelines?tenant=${TENANT_PORWOLL}`), + request.get(`/api/timelines?tenant=${TENANT_C2S}`), + request.get(`/api/timelines?tenant=${TENANT_GUNSHIN}`), + ]) + + expect(response1.ok()).toBe(true) + expect(response4.ok()).toBe(true) + expect(response5.ok()).toBe(true) + + const data1 = await response1.json() + const data4 = await response4.json() + const data5 = await response5.json() + + // Each response should reflect its tenant filter + expect(data1.filters.tenant).toBe(TENANT_PORWOLL) + expect(data4.filters.tenant).toBe(TENANT_C2S) + expect(data5.filters.tenant).toBe(TENANT_GUNSHIN) + }) + + test('Timeline API validates tenant ID format', async ({ request }) => { + const response = await request.get('/api/timelines?tenant=invalid') + + expect(response.status()).toBe(400) + + const data = await response.json() + expect(data.error).toContain('Invalid tenant ID') + }) + + test('Timeline API returns empty for non-existent tenant', async ({ request }) => { + const response = await request.get('/api/timelines?tenant=99999') + + expect(response.ok()).toBe(true) + + const data = await response.json() + expect(data.docs).toEqual([]) + expect(data.total).toBe(0) + }) + + test('Timeline API supports type filtering', async ({ request }) => { + const response = await request.get(`/api/timelines?tenant=${TENANT_PORWOLL}&type=history`) + + expect(response.ok()).toBe(true) + + const data = await response.json() + expect(data.filters.type).toBe('history') + }) + + test('Timeline API rejects invalid type', async ({ request }) => { + const response = await request.get(`/api/timelines?tenant=${TENANT_PORWOLL}&type=invalid`) + + expect(response.status()).toBe(400) + + const data = await response.json() + expect(data.error).toContain('Invalid type') + }) + + test('Timeline API supports locale parameter', async ({ request }) => { + const [responseDE, responseEN] = await Promise.all([ + request.get(`/api/timelines?tenant=${TENANT_PORWOLL}&locale=de`), + request.get(`/api/timelines?tenant=${TENANT_PORWOLL}&locale=en`), + ]) + + expect(responseDE.ok()).toBe(true) + expect(responseEN.ok()).toBe(true) + + const dataDE = await responseDE.json() + const dataEN = await responseEN.json() + + expect(dataDE.filters.locale).toBe('de') + expect(dataEN.filters.locale).toBe('en') + }) + + test('Timeline detail API enforces tenant isolation', async ({ request }) => { + // Get a timeline from tenant 1 + const listResponse = await request.get(`/api/timelines?tenant=${TENANT_PORWOLL}`) + + if (!listResponse.ok()) { + test.skip() + return + } + + const listData = await listResponse.json() + + if (listData.docs.length === 0) { + test.skip() + return + } + + const slug = listData.docs[0].slug + + // Try to access with wrong tenant - should return 404 + const wrongTenantResponse = await request.get(`/api/timelines?tenant=${TENANT_C2S}&slug=${slug}`) + + // Should not find the timeline (different tenant) + expect(wrongTenantResponse.status()).toBe(404) + + // Same tenant should work + const correctTenantResponse = await request.get( + `/api/timelines?tenant=${TENANT_PORWOLL}&slug=${slug}` + ) + expect(correctTenantResponse.ok()).toBe(true) + }) +}) + test.describe('Tenant Validation', () => { test('Rejects invalid tenant ID format', async ({ request }) => { const response = await request.get('/api/news?tenant=invalid')