/* eslint-disable */
/**
 * This file was automatically generated by Payload.
 * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config,
 * and re-run `payload generate:db-schema` to regenerate this file.
 */

import type {} from '@payloadcms/db-postgres';

import { relations, sql } from '@payloadcms/db-postgres/drizzle';
import {
  boolean,
  foreignKey,
  index,
  integer,
  jsonb,
  numeric,
  pgEnum,
  pgTable,
  serial,
  text,
  timestamp,
  uniqueIndex,
  varchar,
} from '@payloadcms/db-postgres/drizzle/pg-core';

export const enum_landing_page_blocks_hero_settings_padding = pgEnum(
  'enum_landing_page_blocks_hero_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum_landing_page_blocks_hero_settings_tone = pgEnum(
  'enum_landing_page_blocks_hero_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum_landing_page_blocks_hero_settings_layout = pgEnum(
  'enum_landing_page_blocks_hero_settings_layout',
  ['center', 'split'],
);
export const enum_landing_page_blocks_stats_settings_padding = pgEnum(
  'enum_landing_page_blocks_stats_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum_landing_page_blocks_stats_settings_tone = pgEnum(
  'enum_landing_page_blocks_stats_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum_landing_page_blocks_stats_settings_columns = pgEnum(
  'enum_landing_page_blocks_stats_settings_columns',
  ['2', '3', '4'],
);
export const enum_landing_page_blocks_features_settings_padding = pgEnum(
  'enum_landing_page_blocks_features_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum_landing_page_blocks_features_settings_tone = pgEnum(
  'enum_landing_page_blocks_features_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum_landing_page_blocks_features_settings_columns = pgEnum(
  'enum_landing_page_blocks_features_settings_columns',
  ['2', '3', '4'],
);
export const enum_landing_page_blocks_features_settings_card_style = pgEnum(
  'enum_landing_page_blocks_features_settings_card_style',
  ['outline', 'soft', 'accent'],
);
export const enum_landing_page_blocks_tech_stack_settings_padding = pgEnum(
  'enum_landing_page_blocks_tech_stack_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum_landing_page_blocks_tech_stack_settings_tone = pgEnum(
  'enum_landing_page_blocks_tech_stack_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum_landing_page_blocks_tech_stack_settings_layout = pgEnum(
  'enum_landing_page_blocks_tech_stack_settings_layout',
  ['columns', 'cards'],
);
export const enum_landing_page_blocks_tech_stack_settings_columns = pgEnum(
  'enum_landing_page_blocks_tech_stack_settings_columns',
  ['2', '3', '4'],
);
export const enum_landing_page_blocks_cta_settings_padding = pgEnum(
  'enum_landing_page_blocks_cta_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum_landing_page_blocks_cta_settings_tone = pgEnum(
  'enum_landing_page_blocks_cta_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum_landing_page_blocks_cta_settings_panel_style = pgEnum(
  'enum_landing_page_blocks_cta_settings_panel_style',
  ['soft', 'outline', 'accent'],
);
export const enum_landing_page_status = pgEnum('enum_landing_page_status', [
  'draft',
  'published',
]);
export const enum__landing_page_v_blocks_hero_settings_padding = pgEnum(
  'enum__landing_page_v_blocks_hero_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum__landing_page_v_blocks_hero_settings_tone = pgEnum(
  'enum__landing_page_v_blocks_hero_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum__landing_page_v_blocks_hero_settings_layout = pgEnum(
  'enum__landing_page_v_blocks_hero_settings_layout',
  ['center', 'split'],
);
export const enum__landing_page_v_blocks_stats_settings_padding = pgEnum(
  'enum__landing_page_v_blocks_stats_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum__landing_page_v_blocks_stats_settings_tone = pgEnum(
  'enum__landing_page_v_blocks_stats_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum__landing_page_v_blocks_stats_settings_columns = pgEnum(
  'enum__landing_page_v_blocks_stats_settings_columns',
  ['2', '3', '4'],
);
export const enum__landing_page_v_blocks_features_settings_padding = pgEnum(
  'enum__landing_page_v_blocks_features_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum__landing_page_v_blocks_features_settings_tone = pgEnum(
  'enum__landing_page_v_blocks_features_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum__landing_page_v_blocks_features_settings_columns = pgEnum(
  'enum__landing_page_v_blocks_features_settings_columns',
  ['2', '3', '4'],
);
export const enum__landing_page_v_blocks_features_settings_card_style = pgEnum(
  'enum__landing_page_v_blocks_features_settings_card_style',
  ['outline', 'soft', 'accent'],
);
export const enum__landing_page_v_blocks_tech_stack_settings_padding = pgEnum(
  'enum__landing_page_v_blocks_tech_stack_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum__landing_page_v_blocks_tech_stack_settings_tone = pgEnum(
  'enum__landing_page_v_blocks_tech_stack_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum__landing_page_v_blocks_tech_stack_settings_layout = pgEnum(
  'enum__landing_page_v_blocks_tech_stack_settings_layout',
  ['columns', 'cards'],
);
export const enum__landing_page_v_blocks_tech_stack_settings_columns = pgEnum(
  'enum__landing_page_v_blocks_tech_stack_settings_columns',
  ['2', '3', '4'],
);
export const enum__landing_page_v_blocks_cta_settings_padding = pgEnum(
  'enum__landing_page_v_blocks_cta_settings_padding',
  ['sm', 'md', 'lg', 'xl'],
);
export const enum__landing_page_v_blocks_cta_settings_tone = pgEnum(
  'enum__landing_page_v_blocks_cta_settings_tone',
  ['default', 'muted', 'accent'],
);
export const enum__landing_page_v_blocks_cta_settings_panel_style = pgEnum(
  'enum__landing_page_v_blocks_cta_settings_panel_style',
  ['soft', 'outline', 'accent'],
);
export const enum__landing_page_v_version_status = pgEnum(
  'enum__landing_page_v_version_status',
  ['draft', 'published'],
);

export const users_sessions = pgTable(
  'users_sessions',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
    expiresAt: timestamp('expires_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }).notNull(),
  },
  (columns) => [
    index('users_sessions_order_idx').on(columns._order),
    index('users_sessions_parent_id_idx').on(columns._parentID),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [users.id],
      name: 'users_sessions_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const users = pgTable(
  'users',
  {
    id: serial('id').primaryKey(),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    email: varchar('email').notNull(),
    resetPasswordToken: varchar('reset_password_token'),
    resetPasswordExpiration: timestamp('reset_password_expiration', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
    salt: varchar('salt'),
    hash: varchar('hash'),
    loginAttempts: numeric('login_attempts', { mode: 'number' }).default(0),
    lockUntil: timestamp('lock_until', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
  },
  (columns) => [
    index('users_updated_at_idx').on(columns.updatedAt),
    index('users_created_at_idx').on(columns.createdAt),
    uniqueIndex('users_email_idx').on(columns.email),
  ],
);

export const payload_kv = pgTable(
  'payload_kv',
  {
    id: serial('id').primaryKey(),
    key: varchar('key').notNull(),
    data: jsonb('data').notNull(),
  },
  (columns) => [uniqueIndex('payload_kv_key_idx').on(columns.key)],
);

export const payload_locked_documents = pgTable(
  'payload_locked_documents',
  {
    id: serial('id').primaryKey(),
    globalSlug: varchar('global_slug'),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
  },
  (columns) => [
    index('payload_locked_documents_global_slug_idx').on(columns.globalSlug),
    index('payload_locked_documents_updated_at_idx').on(columns.updatedAt),
    index('payload_locked_documents_created_at_idx').on(columns.createdAt),
  ],
);

export const payload_locked_documents_rels = pgTable(
  'payload_locked_documents_rels',
  {
    id: serial('id').primaryKey(),
    order: integer('order'),
    parent: integer('parent_id').notNull(),
    path: varchar('path').notNull(),
    usersID: integer('users_id'),
  },
  (columns) => [
    index('payload_locked_documents_rels_order_idx').on(columns.order),
    index('payload_locked_documents_rels_parent_idx').on(columns.parent),
    index('payload_locked_documents_rels_path_idx').on(columns.path),
    index('payload_locked_documents_rels_users_id_idx').on(columns.usersID),
    foreignKey({
      columns: [columns['parent']],
      foreignColumns: [payload_locked_documents.id],
      name: 'payload_locked_documents_rels_parent_fk',
    }).onDelete('cascade'),
    foreignKey({
      columns: [columns['usersID']],
      foreignColumns: [users.id],
      name: 'payload_locked_documents_rels_users_fk',
    }).onDelete('cascade'),
  ],
);

export const payload_preferences = pgTable(
  'payload_preferences',
  {
    id: serial('id').primaryKey(),
    key: varchar('key'),
    value: jsonb('value'),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
  },
  (columns) => [
    index('payload_preferences_key_idx').on(columns.key),
    index('payload_preferences_updated_at_idx').on(columns.updatedAt),
    index('payload_preferences_created_at_idx').on(columns.createdAt),
  ],
);

export const payload_preferences_rels = pgTable(
  'payload_preferences_rels',
  {
    id: serial('id').primaryKey(),
    order: integer('order'),
    parent: integer('parent_id').notNull(),
    path: varchar('path').notNull(),
    usersID: integer('users_id'),
  },
  (columns) => [
    index('payload_preferences_rels_order_idx').on(columns.order),
    index('payload_preferences_rels_parent_idx').on(columns.parent),
    index('payload_preferences_rels_path_idx').on(columns.path),
    index('payload_preferences_rels_users_id_idx').on(columns.usersID),
    foreignKey({
      columns: [columns['parent']],
      foreignColumns: [payload_preferences.id],
      name: 'payload_preferences_rels_parent_fk',
    }).onDelete('cascade'),
    foreignKey({
      columns: [columns['usersID']],
      foreignColumns: [users.id],
      name: 'payload_preferences_rels_users_fk',
    }).onDelete('cascade'),
  ],
);

export const payload_migrations = pgTable(
  'payload_migrations',
  {
    id: serial('id').primaryKey(),
    name: varchar('name'),
    batch: numeric('batch', { mode: 'number' }),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
  },
  (columns) => [
    index('payload_migrations_updated_at_idx').on(columns.updatedAt),
    index('payload_migrations_created_at_idx').on(columns.createdAt),
  ],
);

export const landing_page_blocks_hero_highlights = pgTable(
  'landing_page_blocks_hero_highlights',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    label: varchar('label'),
  },
  (columns) => [
    index('landing_page_blocks_hero_highlights_order_idx').on(columns._order),
    index('landing_page_blocks_hero_highlights_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_hero.id],
      name: 'landing_page_blocks_hero_highlights_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_hero_proof_points = pgTable(
  'landing_page_blocks_hero_proof_points',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    value: varchar('value'),
    label: varchar('label'),
  },
  (columns) => [
    index('landing_page_blocks_hero_proof_points_order_idx').on(columns._order),
    index('landing_page_blocks_hero_proof_points_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_hero.id],
      name: 'landing_page_blocks_hero_proof_points_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_hero = pgTable(
  'landing_page_blocks_hero',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: varchar('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('hero'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum_landing_page_blocks_hero_settings_padding(
        'settings_padding',
      ).default('xl'),
    settings_tone:
      enum_landing_page_blocks_hero_settings_tone('settings_tone').default(
        'default',
      ),
    settings_layout:
      enum_landing_page_blocks_hero_settings_layout('settings_layout').default(
        'center',
      ),
    settings_showHighlights: boolean('settings_show_highlights').default(true),
    settings_showProofPanel: boolean('settings_show_proof_panel').default(true),
    badgeEmoji: varchar('badge_emoji').default('🚀'),
    badgeText: varchar('badge_text').default(
      'Production-ready monorepo template',
    ),
    headingPrefix: varchar('heading_prefix').default(
      'Build Full-Stack Apps with',
    ),
    headingHighlight: varchar('heading_highlight').default('convex-monorepo'),
    description: varchar('description').default(
      'A Turborepo starter with Next.js, Expo, self-hosted Convex, and embedded Payload CMS. Ship web apps faster with shared code, type-safe backend, and a live-editable marketing site.',
    ),
    primaryCta_label: varchar('primary_cta_label').default('View Source Code'),
    primaryCta_url: varchar('primary_cta_url').default(
      'https://git.gbrown.org/gib/convex-monorepo',
    ),
    primaryCta_openInNewTab: boolean('primary_cta_open_in_new_tab').default(
      true,
    ),
    secondaryCta_label: varchar('secondary_cta_label').default(
      'Try the Auth Flow',
    ),
    secondaryCta_url: varchar('secondary_cta_url').default('/sign-in'),
    secondaryCta_openInNewTab: boolean('secondary_cta_open_in_new_tab').default(
      false,
    ),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('landing_page_blocks_hero_order_idx').on(columns._order),
    index('landing_page_blocks_hero_parent_id_idx').on(columns._parentID),
    index('landing_page_blocks_hero_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page.id],
      name: 'landing_page_blocks_hero_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_stats_items = pgTable(
  'landing_page_blocks_stats_items',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    value: varchar('value'),
    label: varchar('label'),
    description: varchar('description'),
  },
  (columns) => [
    index('landing_page_blocks_stats_items_order_idx').on(columns._order),
    index('landing_page_blocks_stats_items_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_stats.id],
      name: 'landing_page_blocks_stats_items_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_stats = pgTable(
  'landing_page_blocks_stats',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: varchar('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('stats'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum_landing_page_blocks_stats_settings_padding(
        'settings_padding',
      ).default('md'),
    settings_tone:
      enum_landing_page_blocks_stats_settings_tone('settings_tone').default(
        'muted',
      ),
    settings_columns:
      enum_landing_page_blocks_stats_settings_columns(
        'settings_columns',
      ).default('4'),
    eyebrow: varchar('eyebrow').default('What the demo controls'),
    heading: varchar('heading').default(
      'The admin can already change more than just text',
    ),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('landing_page_blocks_stats_order_idx').on(columns._order),
    index('landing_page_blocks_stats_parent_id_idx').on(columns._parentID),
    index('landing_page_blocks_stats_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page.id],
      name: 'landing_page_blocks_stats_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_features_items = pgTable(
  'landing_page_blocks_features_items',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    icon: varchar('icon'),
    title: varchar('title'),
    description: varchar('description'),
  },
  (columns) => [
    index('landing_page_blocks_features_items_order_idx').on(columns._order),
    index('landing_page_blocks_features_items_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_features.id],
      name: 'landing_page_blocks_features_items_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_features = pgTable(
  'landing_page_blocks_features',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: varchar('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('features'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum_landing_page_blocks_features_settings_padding(
        'settings_padding',
      ).default('lg'),
    settings_tone:
      enum_landing_page_blocks_features_settings_tone('settings_tone').default(
        'default',
      ),
    settings_columns:
      enum_landing_page_blocks_features_settings_columns(
        'settings_columns',
      ).default('3'),
    settings_cardStyle: enum_landing_page_blocks_features_settings_card_style(
      'settings_card_style',
    ).default('outline'),
    heading: varchar('heading').default('Everything You Need to Ship Fast'),
    description: varchar('description').default(
      'A complete monorepo template with the tools, patterns, and now the CMS editing controls you need for production-ready applications.',
    ),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('landing_page_blocks_features_order_idx').on(columns._order),
    index('landing_page_blocks_features_parent_id_idx').on(columns._parentID),
    index('landing_page_blocks_features_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page.id],
      name: 'landing_page_blocks_features_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_tech_stack_categories_technologies = pgTable(
  'landing_page_blocks_tech_stack_categories_technologies',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    name: varchar('name'),
    description: varchar('description'),
  },
  (columns) => [
    index(
      'landing_page_blocks_tech_stack_categories_technologies_order_idx',
    ).on(columns._order),
    index(
      'landing_page_blocks_tech_stack_categories_technologies_parent_id_idx',
    ).on(columns._parentID),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_tech_stack_categories.id],
      name: 'landing_page_blocks_tech_stack_categories_technologies_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_tech_stack_categories = pgTable(
  'landing_page_blocks_tech_stack_categories',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    category: varchar('category'),
  },
  (columns) => [
    index('landing_page_blocks_tech_stack_categories_order_idx').on(
      columns._order,
    ),
    index('landing_page_blocks_tech_stack_categories_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_tech_stack.id],
      name: 'landing_page_blocks_tech_stack_categories_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_tech_stack = pgTable(
  'landing_page_blocks_tech_stack',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: varchar('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('tech-stack'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum_landing_page_blocks_tech_stack_settings_padding(
        'settings_padding',
      ).default('lg'),
    settings_tone:
      enum_landing_page_blocks_tech_stack_settings_tone(
        'settings_tone',
      ).default('muted'),
    settings_layout:
      enum_landing_page_blocks_tech_stack_settings_layout(
        'settings_layout',
      ).default('columns'),
    settings_columns:
      enum_landing_page_blocks_tech_stack_settings_columns(
        'settings_columns',
      ).default('3'),
    heading: varchar('heading').default('Modern Tech Stack'),
    description: varchar('description').default(
      'Built with the latest and greatest tools for maximum productivity, performance, and editor-friendly content workflows.',
    ),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('landing_page_blocks_tech_stack_order_idx').on(columns._order),
    index('landing_page_blocks_tech_stack_parent_id_idx').on(columns._parentID),
    index('landing_page_blocks_tech_stack_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page.id],
      name: 'landing_page_blocks_tech_stack_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_cta_supporting_points = pgTable(
  'landing_page_blocks_cta_supporting_points',
  {
    _order: integer('_order').notNull(),
    _parentID: varchar('_parent_id').notNull(),
    id: varchar('id').primaryKey(),
    label: varchar('label'),
  },
  (columns) => [
    index('landing_page_blocks_cta_supporting_points_order_idx').on(
      columns._order,
    ),
    index('landing_page_blocks_cta_supporting_points_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page_blocks_cta.id],
      name: 'landing_page_blocks_cta_supporting_points_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page_blocks_cta = pgTable(
  'landing_page_blocks_cta',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: varchar('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('cta'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum_landing_page_blocks_cta_settings_padding('settings_padding').default(
        'lg',
      ),
    settings_tone:
      enum_landing_page_blocks_cta_settings_tone('settings_tone').default(
        'default',
      ),
    settings_panelStyle: enum_landing_page_blocks_cta_settings_panel_style(
      'settings_panel_style',
    ).default('soft'),
    settings_showCommand: boolean('settings_show_command').default(true),
    heading: varchar('heading').default('Ready to Demo Real-Time Editing?'),
    description: varchar('description').default(
      'Open the admin, tweak the landing page layout, and use live preview to show clients how flexible the page builder can be.',
    ),
    primaryCta_label: varchar('primary_cta_label').default('Open Sign In'),
    primaryCta_url: varchar('primary_cta_url').default('/sign-in'),
    primaryCta_openInNewTab: boolean('primary_cta_open_in_new_tab').default(
      false,
    ),
    secondaryCta_label: varchar('secondary_cta_label').default(
      'View Repository',
    ),
    secondaryCta_url: varchar('secondary_cta_url').default(
      'https://git.gbrown.org/gib/convex-monorepo',
    ),
    secondaryCta_openInNewTab: boolean('secondary_cta_open_in_new_tab').default(
      true,
    ),
    commandLabel: varchar('command_label').default('Quick Start'),
    command: varchar('command').default(
      'git clone https://git.gbrown.org/gib/convex-monorepo.git\ncd convex-monorepo\nbun i',
    ),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('landing_page_blocks_cta_order_idx').on(columns._order),
    index('landing_page_blocks_cta_parent_id_idx').on(columns._parentID),
    index('landing_page_blocks_cta_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [landing_page.id],
      name: 'landing_page_blocks_cta_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const landing_page = pgTable(
  'landing_page',
  {
    id: serial('id').primaryKey(),
    _status: enum_landing_page_status('_status').default('draft'),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
  },
  (columns) => [index('landing_page__status_idx').on(columns._status)],
);

export const _landing_page_v_blocks_hero_highlights = pgTable(
  '_landing_page_v_blocks_hero_highlights',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    label: varchar('label'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_hero_highlights_order_idx').on(
      columns._order,
    ),
    index('_landing_page_v_blocks_hero_highlights_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_hero.id],
      name: '_landing_page_v_blocks_hero_highlights_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_hero_proof_points = pgTable(
  '_landing_page_v_blocks_hero_proof_points',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    value: varchar('value'),
    label: varchar('label'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_hero_proof_points_order_idx').on(
      columns._order,
    ),
    index('_landing_page_v_blocks_hero_proof_points_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_hero.id],
      name: '_landing_page_v_blocks_hero_proof_points_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_hero = pgTable(
  '_landing_page_v_blocks_hero',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: serial('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('hero'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum__landing_page_v_blocks_hero_settings_padding(
        'settings_padding',
      ).default('xl'),
    settings_tone:
      enum__landing_page_v_blocks_hero_settings_tone('settings_tone').default(
        'default',
      ),
    settings_layout:
      enum__landing_page_v_blocks_hero_settings_layout(
        'settings_layout',
      ).default('center'),
    settings_showHighlights: boolean('settings_show_highlights').default(true),
    settings_showProofPanel: boolean('settings_show_proof_panel').default(true),
    badgeEmoji: varchar('badge_emoji').default('🚀'),
    badgeText: varchar('badge_text').default(
      'Production-ready monorepo template',
    ),
    headingPrefix: varchar('heading_prefix').default(
      'Build Full-Stack Apps with',
    ),
    headingHighlight: varchar('heading_highlight').default('convex-monorepo'),
    description: varchar('description').default(
      'A Turborepo starter with Next.js, Expo, self-hosted Convex, and embedded Payload CMS. Ship web apps faster with shared code, type-safe backend, and a live-editable marketing site.',
    ),
    primaryCta_label: varchar('primary_cta_label').default('View Source Code'),
    primaryCta_url: varchar('primary_cta_url').default(
      'https://git.gbrown.org/gib/convex-monorepo',
    ),
    primaryCta_openInNewTab: boolean('primary_cta_open_in_new_tab').default(
      true,
    ),
    secondaryCta_label: varchar('secondary_cta_label').default(
      'Try the Auth Flow',
    ),
    secondaryCta_url: varchar('secondary_cta_url').default('/sign-in'),
    secondaryCta_openInNewTab: boolean('secondary_cta_open_in_new_tab').default(
      false,
    ),
    _uuid: varchar('_uuid'),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('_landing_page_v_blocks_hero_order_idx').on(columns._order),
    index('_landing_page_v_blocks_hero_parent_id_idx').on(columns._parentID),
    index('_landing_page_v_blocks_hero_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v.id],
      name: '_landing_page_v_blocks_hero_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_stats_items = pgTable(
  '_landing_page_v_blocks_stats_items',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    value: varchar('value'),
    label: varchar('label'),
    description: varchar('description'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_stats_items_order_idx').on(columns._order),
    index('_landing_page_v_blocks_stats_items_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_stats.id],
      name: '_landing_page_v_blocks_stats_items_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_stats = pgTable(
  '_landing_page_v_blocks_stats',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: serial('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('stats'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum__landing_page_v_blocks_stats_settings_padding(
        'settings_padding',
      ).default('md'),
    settings_tone:
      enum__landing_page_v_blocks_stats_settings_tone('settings_tone').default(
        'muted',
      ),
    settings_columns:
      enum__landing_page_v_blocks_stats_settings_columns(
        'settings_columns',
      ).default('4'),
    eyebrow: varchar('eyebrow').default('What the demo controls'),
    heading: varchar('heading').default(
      'The admin can already change more than just text',
    ),
    _uuid: varchar('_uuid'),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('_landing_page_v_blocks_stats_order_idx').on(columns._order),
    index('_landing_page_v_blocks_stats_parent_id_idx').on(columns._parentID),
    index('_landing_page_v_blocks_stats_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v.id],
      name: '_landing_page_v_blocks_stats_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_features_items = pgTable(
  '_landing_page_v_blocks_features_items',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    icon: varchar('icon'),
    title: varchar('title'),
    description: varchar('description'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_features_items_order_idx').on(columns._order),
    index('_landing_page_v_blocks_features_items_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_features.id],
      name: '_landing_page_v_blocks_features_items_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_features = pgTable(
  '_landing_page_v_blocks_features',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: serial('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('features'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum__landing_page_v_blocks_features_settings_padding(
        'settings_padding',
      ).default('lg'),
    settings_tone:
      enum__landing_page_v_blocks_features_settings_tone(
        'settings_tone',
      ).default('default'),
    settings_columns:
      enum__landing_page_v_blocks_features_settings_columns(
        'settings_columns',
      ).default('3'),
    settings_cardStyle:
      enum__landing_page_v_blocks_features_settings_card_style(
        'settings_card_style',
      ).default('outline'),
    heading: varchar('heading').default('Everything You Need to Ship Fast'),
    description: varchar('description').default(
      'A complete monorepo template with the tools, patterns, and now the CMS editing controls you need for production-ready applications.',
    ),
    _uuid: varchar('_uuid'),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('_landing_page_v_blocks_features_order_idx').on(columns._order),
    index('_landing_page_v_blocks_features_parent_id_idx').on(
      columns._parentID,
    ),
    index('_landing_page_v_blocks_features_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v.id],
      name: '_landing_page_v_blocks_features_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_tech_stack_categories_technologies =
  pgTable(
    '_landing_page_v_blocks_tech_stack_categories_technologies',
    {
      _order: integer('_order').notNull(),
      _parentID: integer('_parent_id').notNull(),
      id: serial('id').primaryKey(),
      name: varchar('name'),
      description: varchar('description'),
      _uuid: varchar('_uuid'),
    },
    (columns) => [
      index(
        '_landing_page_v_blocks_tech_stack_categories_technologies_order_idx',
      ).on(columns._order),
      index(
        '_landing_page_v_blocks_tech_stack_categories_technologies_parent_id_idx',
      ).on(columns._parentID),
      foreignKey({
        columns: [columns['_parentID']],
        foreignColumns: [_landing_page_v_blocks_tech_stack_categories.id],
        name: '_landing_page_v_blocks_tech_stack_categories_technologies_parent_id_fk',
      }).onDelete('cascade'),
    ],
  );

export const _landing_page_v_blocks_tech_stack_categories = pgTable(
  '_landing_page_v_blocks_tech_stack_categories',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    category: varchar('category'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_tech_stack_categories_order_idx').on(
      columns._order,
    ),
    index('_landing_page_v_blocks_tech_stack_categories_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_tech_stack.id],
      name: '_landing_page_v_blocks_tech_stack_categories_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_tech_stack = pgTable(
  '_landing_page_v_blocks_tech_stack',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: serial('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('tech-stack'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum__landing_page_v_blocks_tech_stack_settings_padding(
        'settings_padding',
      ).default('lg'),
    settings_tone:
      enum__landing_page_v_blocks_tech_stack_settings_tone(
        'settings_tone',
      ).default('muted'),
    settings_layout:
      enum__landing_page_v_blocks_tech_stack_settings_layout(
        'settings_layout',
      ).default('columns'),
    settings_columns:
      enum__landing_page_v_blocks_tech_stack_settings_columns(
        'settings_columns',
      ).default('3'),
    heading: varchar('heading').default('Modern Tech Stack'),
    description: varchar('description').default(
      'Built with the latest and greatest tools for maximum productivity, performance, and editor-friendly content workflows.',
    ),
    _uuid: varchar('_uuid'),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('_landing_page_v_blocks_tech_stack_order_idx').on(columns._order),
    index('_landing_page_v_blocks_tech_stack_parent_id_idx').on(
      columns._parentID,
    ),
    index('_landing_page_v_blocks_tech_stack_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v.id],
      name: '_landing_page_v_blocks_tech_stack_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_cta_supporting_points = pgTable(
  '_landing_page_v_blocks_cta_supporting_points',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    id: serial('id').primaryKey(),
    label: varchar('label'),
    _uuid: varchar('_uuid'),
  },
  (columns) => [
    index('_landing_page_v_blocks_cta_supporting_points_order_idx').on(
      columns._order,
    ),
    index('_landing_page_v_blocks_cta_supporting_points_parent_id_idx').on(
      columns._parentID,
    ),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v_blocks_cta.id],
      name: '_landing_page_v_blocks_cta_supporting_points_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v_blocks_cta = pgTable(
  '_landing_page_v_blocks_cta',
  {
    _order: integer('_order').notNull(),
    _parentID: integer('_parent_id').notNull(),
    _path: text('_path').notNull(),
    id: serial('id').primaryKey(),
    settings_sectionId: varchar('settings_section_id').default('cta'),
    settings_isVisible: boolean('settings_is_visible').default(true),
    settings_padding:
      enum__landing_page_v_blocks_cta_settings_padding(
        'settings_padding',
      ).default('lg'),
    settings_tone:
      enum__landing_page_v_blocks_cta_settings_tone('settings_tone').default(
        'default',
      ),
    settings_panelStyle: enum__landing_page_v_blocks_cta_settings_panel_style(
      'settings_panel_style',
    ).default('soft'),
    settings_showCommand: boolean('settings_show_command').default(true),
    heading: varchar('heading').default('Ready to Demo Real-Time Editing?'),
    description: varchar('description').default(
      'Open the admin, tweak the landing page layout, and use live preview to show clients how flexible the page builder can be.',
    ),
    primaryCta_label: varchar('primary_cta_label').default('Open Sign In'),
    primaryCta_url: varchar('primary_cta_url').default('/sign-in'),
    primaryCta_openInNewTab: boolean('primary_cta_open_in_new_tab').default(
      false,
    ),
    secondaryCta_label: varchar('secondary_cta_label').default(
      'View Repository',
    ),
    secondaryCta_url: varchar('secondary_cta_url').default(
      'https://git.gbrown.org/gib/convex-monorepo',
    ),
    secondaryCta_openInNewTab: boolean('secondary_cta_open_in_new_tab').default(
      true,
    ),
    commandLabel: varchar('command_label').default('Quick Start'),
    command: varchar('command').default(
      'git clone https://git.gbrown.org/gib/convex-monorepo.git\ncd convex-monorepo\nbun i',
    ),
    _uuid: varchar('_uuid'),
    blockName: varchar('block_name'),
  },
  (columns) => [
    index('_landing_page_v_blocks_cta_order_idx').on(columns._order),
    index('_landing_page_v_blocks_cta_parent_id_idx').on(columns._parentID),
    index('_landing_page_v_blocks_cta_path_idx').on(columns._path),
    foreignKey({
      columns: [columns['_parentID']],
      foreignColumns: [_landing_page_v.id],
      name: '_landing_page_v_blocks_cta_parent_id_fk',
    }).onDelete('cascade'),
  ],
);

export const _landing_page_v = pgTable(
  '_landing_page_v',
  {
    id: serial('id').primaryKey(),
    version__status:
      enum__landing_page_v_version_status('version__status').default('draft'),
    version_updatedAt: timestamp('version_updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
    version_createdAt: timestamp('version_created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    }),
    createdAt: timestamp('created_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    updatedAt: timestamp('updated_at', {
      mode: 'string',
      withTimezone: true,
      precision: 3,
    })
      .defaultNow()
      .notNull(),
    latest: boolean('latest'),
    autosave: boolean('autosave'),
  },
  (columns) => [
    index('_landing_page_v_version_version__status_idx').on(
      columns.version__status,
    ),
    index('_landing_page_v_created_at_idx').on(columns.createdAt),
    index('_landing_page_v_updated_at_idx').on(columns.updatedAt),
    index('_landing_page_v_latest_idx').on(columns.latest),
    index('_landing_page_v_autosave_idx').on(columns.autosave),
  ],
);

export const relations_users_sessions = relations(
  users_sessions,
  ({ one }) => ({
    _parentID: one(users, {
      fields: [users_sessions._parentID],
      references: [users.id],
      relationName: 'sessions',
    }),
  }),
);
export const relations_users = relations(users, ({ many }) => ({
  sessions: many(users_sessions, {
    relationName: 'sessions',
  }),
}));
export const relations_payload_kv = relations(payload_kv, () => ({}));
export const relations_payload_locked_documents_rels = relations(
  payload_locked_documents_rels,
  ({ one }) => ({
    parent: one(payload_locked_documents, {
      fields: [payload_locked_documents_rels.parent],
      references: [payload_locked_documents.id],
      relationName: '_rels',
    }),
    usersID: one(users, {
      fields: [payload_locked_documents_rels.usersID],
      references: [users.id],
      relationName: 'users',
    }),
  }),
);
export const relations_payload_locked_documents = relations(
  payload_locked_documents,
  ({ many }) => ({
    _rels: many(payload_locked_documents_rels, {
      relationName: '_rels',
    }),
  }),
);
export const relations_payload_preferences_rels = relations(
  payload_preferences_rels,
  ({ one }) => ({
    parent: one(payload_preferences, {
      fields: [payload_preferences_rels.parent],
      references: [payload_preferences.id],
      relationName: '_rels',
    }),
    usersID: one(users, {
      fields: [payload_preferences_rels.usersID],
      references: [users.id],
      relationName: 'users',
    }),
  }),
);
export const relations_payload_preferences = relations(
  payload_preferences,
  ({ many }) => ({
    _rels: many(payload_preferences_rels, {
      relationName: '_rels',
    }),
  }),
);
export const relations_payload_migrations = relations(
  payload_migrations,
  () => ({}),
);
export const relations_landing_page_blocks_hero_highlights = relations(
  landing_page_blocks_hero_highlights,
  ({ one }) => ({
    _parentID: one(landing_page_blocks_hero, {
      fields: [landing_page_blocks_hero_highlights._parentID],
      references: [landing_page_blocks_hero.id],
      relationName: 'highlights',
    }),
  }),
);
export const relations_landing_page_blocks_hero_proof_points = relations(
  landing_page_blocks_hero_proof_points,
  ({ one }) => ({
    _parentID: one(landing_page_blocks_hero, {
      fields: [landing_page_blocks_hero_proof_points._parentID],
      references: [landing_page_blocks_hero.id],
      relationName: 'proofPoints',
    }),
  }),
);
export const relations_landing_page_blocks_hero = relations(
  landing_page_blocks_hero,
  ({ one, many }) => ({
    _parentID: one(landing_page, {
      fields: [landing_page_blocks_hero._parentID],
      references: [landing_page.id],
      relationName: '_blocks_hero',
    }),
    highlights: many(landing_page_blocks_hero_highlights, {
      relationName: 'highlights',
    }),
    proofPoints: many(landing_page_blocks_hero_proof_points, {
      relationName: 'proofPoints',
    }),
  }),
);
export const relations_landing_page_blocks_stats_items = relations(
  landing_page_blocks_stats_items,
  ({ one }) => ({
    _parentID: one(landing_page_blocks_stats, {
      fields: [landing_page_blocks_stats_items._parentID],
      references: [landing_page_blocks_stats.id],
      relationName: 'items',
    }),
  }),
);
export const relations_landing_page_blocks_stats = relations(
  landing_page_blocks_stats,
  ({ one, many }) => ({
    _parentID: one(landing_page, {
      fields: [landing_page_blocks_stats._parentID],
      references: [landing_page.id],
      relationName: '_blocks_stats',
    }),
    items: many(landing_page_blocks_stats_items, {
      relationName: 'items',
    }),
  }),
);
export const relations_landing_page_blocks_features_items = relations(
  landing_page_blocks_features_items,
  ({ one }) => ({
    _parentID: one(landing_page_blocks_features, {
      fields: [landing_page_blocks_features_items._parentID],
      references: [landing_page_blocks_features.id],
      relationName: 'items',
    }),
  }),
);
export const relations_landing_page_blocks_features = relations(
  landing_page_blocks_features,
  ({ one, many }) => ({
    _parentID: one(landing_page, {
      fields: [landing_page_blocks_features._parentID],
      references: [landing_page.id],
      relationName: '_blocks_features',
    }),
    items: many(landing_page_blocks_features_items, {
      relationName: 'items',
    }),
  }),
);
export const relations_landing_page_blocks_tech_stack_categories_technologies =
  relations(
    landing_page_blocks_tech_stack_categories_technologies,
    ({ one }) => ({
      _parentID: one(landing_page_blocks_tech_stack_categories, {
        fields: [
          landing_page_blocks_tech_stack_categories_technologies._parentID,
        ],
        references: [landing_page_blocks_tech_stack_categories.id],
        relationName: 'technologies',
      }),
    }),
  );
export const relations_landing_page_blocks_tech_stack_categories = relations(
  landing_page_blocks_tech_stack_categories,
  ({ one, many }) => ({
    _parentID: one(landing_page_blocks_tech_stack, {
      fields: [landing_page_blocks_tech_stack_categories._parentID],
      references: [landing_page_blocks_tech_stack.id],
      relationName: 'categories',
    }),
    technologies: many(landing_page_blocks_tech_stack_categories_technologies, {
      relationName: 'technologies',
    }),
  }),
);
export const relations_landing_page_blocks_tech_stack = relations(
  landing_page_blocks_tech_stack,
  ({ one, many }) => ({
    _parentID: one(landing_page, {
      fields: [landing_page_blocks_tech_stack._parentID],
      references: [landing_page.id],
      relationName: '_blocks_techStack',
    }),
    categories: many(landing_page_blocks_tech_stack_categories, {
      relationName: 'categories',
    }),
  }),
);
export const relations_landing_page_blocks_cta_supporting_points = relations(
  landing_page_blocks_cta_supporting_points,
  ({ one }) => ({
    _parentID: one(landing_page_blocks_cta, {
      fields: [landing_page_blocks_cta_supporting_points._parentID],
      references: [landing_page_blocks_cta.id],
      relationName: 'supportingPoints',
    }),
  }),
);
export const relations_landing_page_blocks_cta = relations(
  landing_page_blocks_cta,
  ({ one, many }) => ({
    _parentID: one(landing_page, {
      fields: [landing_page_blocks_cta._parentID],
      references: [landing_page.id],
      relationName: '_blocks_cta',
    }),
    supportingPoints: many(landing_page_blocks_cta_supporting_points, {
      relationName: 'supportingPoints',
    }),
  }),
);
export const relations_landing_page = relations(landing_page, ({ many }) => ({
  _blocks_hero: many(landing_page_blocks_hero, {
    relationName: '_blocks_hero',
  }),
  _blocks_stats: many(landing_page_blocks_stats, {
    relationName: '_blocks_stats',
  }),
  _blocks_features: many(landing_page_blocks_features, {
    relationName: '_blocks_features',
  }),
  _blocks_techStack: many(landing_page_blocks_tech_stack, {
    relationName: '_blocks_techStack',
  }),
  _blocks_cta: many(landing_page_blocks_cta, {
    relationName: '_blocks_cta',
  }),
}));
export const relations__landing_page_v_blocks_hero_highlights = relations(
  _landing_page_v_blocks_hero_highlights,
  ({ one }) => ({
    _parentID: one(_landing_page_v_blocks_hero, {
      fields: [_landing_page_v_blocks_hero_highlights._parentID],
      references: [_landing_page_v_blocks_hero.id],
      relationName: 'highlights',
    }),
  }),
);
export const relations__landing_page_v_blocks_hero_proof_points = relations(
  _landing_page_v_blocks_hero_proof_points,
  ({ one }) => ({
    _parentID: one(_landing_page_v_blocks_hero, {
      fields: [_landing_page_v_blocks_hero_proof_points._parentID],
      references: [_landing_page_v_blocks_hero.id],
      relationName: 'proofPoints',
    }),
  }),
);
export const relations__landing_page_v_blocks_hero = relations(
  _landing_page_v_blocks_hero,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v, {
      fields: [_landing_page_v_blocks_hero._parentID],
      references: [_landing_page_v.id],
      relationName: '_blocks_hero',
    }),
    highlights: many(_landing_page_v_blocks_hero_highlights, {
      relationName: 'highlights',
    }),
    proofPoints: many(_landing_page_v_blocks_hero_proof_points, {
      relationName: 'proofPoints',
    }),
  }),
);
export const relations__landing_page_v_blocks_stats_items = relations(
  _landing_page_v_blocks_stats_items,
  ({ one }) => ({
    _parentID: one(_landing_page_v_blocks_stats, {
      fields: [_landing_page_v_blocks_stats_items._parentID],
      references: [_landing_page_v_blocks_stats.id],
      relationName: 'items',
    }),
  }),
);
export const relations__landing_page_v_blocks_stats = relations(
  _landing_page_v_blocks_stats,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v, {
      fields: [_landing_page_v_blocks_stats._parentID],
      references: [_landing_page_v.id],
      relationName: '_blocks_stats',
    }),
    items: many(_landing_page_v_blocks_stats_items, {
      relationName: 'items',
    }),
  }),
);
export const relations__landing_page_v_blocks_features_items = relations(
  _landing_page_v_blocks_features_items,
  ({ one }) => ({
    _parentID: one(_landing_page_v_blocks_features, {
      fields: [_landing_page_v_blocks_features_items._parentID],
      references: [_landing_page_v_blocks_features.id],
      relationName: 'items',
    }),
  }),
);
export const relations__landing_page_v_blocks_features = relations(
  _landing_page_v_blocks_features,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v, {
      fields: [_landing_page_v_blocks_features._parentID],
      references: [_landing_page_v.id],
      relationName: '_blocks_features',
    }),
    items: many(_landing_page_v_blocks_features_items, {
      relationName: 'items',
    }),
  }),
);
export const relations__landing_page_v_blocks_tech_stack_categories_technologies =
  relations(
    _landing_page_v_blocks_tech_stack_categories_technologies,
    ({ one }) => ({
      _parentID: one(_landing_page_v_blocks_tech_stack_categories, {
        fields: [
          _landing_page_v_blocks_tech_stack_categories_technologies._parentID,
        ],
        references: [_landing_page_v_blocks_tech_stack_categories.id],
        relationName: 'technologies',
      }),
    }),
  );
export const relations__landing_page_v_blocks_tech_stack_categories = relations(
  _landing_page_v_blocks_tech_stack_categories,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v_blocks_tech_stack, {
      fields: [_landing_page_v_blocks_tech_stack_categories._parentID],
      references: [_landing_page_v_blocks_tech_stack.id],
      relationName: 'categories',
    }),
    technologies: many(
      _landing_page_v_blocks_tech_stack_categories_technologies,
      {
        relationName: 'technologies',
      },
    ),
  }),
);
export const relations__landing_page_v_blocks_tech_stack = relations(
  _landing_page_v_blocks_tech_stack,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v, {
      fields: [_landing_page_v_blocks_tech_stack._parentID],
      references: [_landing_page_v.id],
      relationName: '_blocks_techStack',
    }),
    categories: many(_landing_page_v_blocks_tech_stack_categories, {
      relationName: 'categories',
    }),
  }),
);
export const relations__landing_page_v_blocks_cta_supporting_points = relations(
  _landing_page_v_blocks_cta_supporting_points,
  ({ one }) => ({
    _parentID: one(_landing_page_v_blocks_cta, {
      fields: [_landing_page_v_blocks_cta_supporting_points._parentID],
      references: [_landing_page_v_blocks_cta.id],
      relationName: 'supportingPoints',
    }),
  }),
);
export const relations__landing_page_v_blocks_cta = relations(
  _landing_page_v_blocks_cta,
  ({ one, many }) => ({
    _parentID: one(_landing_page_v, {
      fields: [_landing_page_v_blocks_cta._parentID],
      references: [_landing_page_v.id],
      relationName: '_blocks_cta',
    }),
    supportingPoints: many(_landing_page_v_blocks_cta_supporting_points, {
      relationName: 'supportingPoints',
    }),
  }),
);
export const relations__landing_page_v = relations(
  _landing_page_v,
  ({ many }) => ({
    _blocks_hero: many(_landing_page_v_blocks_hero, {
      relationName: '_blocks_hero',
    }),
    _blocks_stats: many(_landing_page_v_blocks_stats, {
      relationName: '_blocks_stats',
    }),
    _blocks_features: many(_landing_page_v_blocks_features, {
      relationName: '_blocks_features',
    }),
    _blocks_techStack: many(_landing_page_v_blocks_tech_stack, {
      relationName: '_blocks_techStack',
    }),
    _blocks_cta: many(_landing_page_v_blocks_cta, {
      relationName: '_blocks_cta',
    }),
  }),
);

type DatabaseSchema = {
  enum_landing_page_blocks_hero_settings_padding: typeof enum_landing_page_blocks_hero_settings_padding;
  enum_landing_page_blocks_hero_settings_tone: typeof enum_landing_page_blocks_hero_settings_tone;
  enum_landing_page_blocks_hero_settings_layout: typeof enum_landing_page_blocks_hero_settings_layout;
  enum_landing_page_blocks_stats_settings_padding: typeof enum_landing_page_blocks_stats_settings_padding;
  enum_landing_page_blocks_stats_settings_tone: typeof enum_landing_page_blocks_stats_settings_tone;
  enum_landing_page_blocks_stats_settings_columns: typeof enum_landing_page_blocks_stats_settings_columns;
  enum_landing_page_blocks_features_settings_padding: typeof enum_landing_page_blocks_features_settings_padding;
  enum_landing_page_blocks_features_settings_tone: typeof enum_landing_page_blocks_features_settings_tone;
  enum_landing_page_blocks_features_settings_columns: typeof enum_landing_page_blocks_features_settings_columns;
  enum_landing_page_blocks_features_settings_card_style: typeof enum_landing_page_blocks_features_settings_card_style;
  enum_landing_page_blocks_tech_stack_settings_padding: typeof enum_landing_page_blocks_tech_stack_settings_padding;
  enum_landing_page_blocks_tech_stack_settings_tone: typeof enum_landing_page_blocks_tech_stack_settings_tone;
  enum_landing_page_blocks_tech_stack_settings_layout: typeof enum_landing_page_blocks_tech_stack_settings_layout;
  enum_landing_page_blocks_tech_stack_settings_columns: typeof enum_landing_page_blocks_tech_stack_settings_columns;
  enum_landing_page_blocks_cta_settings_padding: typeof enum_landing_page_blocks_cta_settings_padding;
  enum_landing_page_blocks_cta_settings_tone: typeof enum_landing_page_blocks_cta_settings_tone;
  enum_landing_page_blocks_cta_settings_panel_style: typeof enum_landing_page_blocks_cta_settings_panel_style;
  enum_landing_page_status: typeof enum_landing_page_status;
  enum__landing_page_v_blocks_hero_settings_padding: typeof enum__landing_page_v_blocks_hero_settings_padding;
  enum__landing_page_v_blocks_hero_settings_tone: typeof enum__landing_page_v_blocks_hero_settings_tone;
  enum__landing_page_v_blocks_hero_settings_layout: typeof enum__landing_page_v_blocks_hero_settings_layout;
  enum__landing_page_v_blocks_stats_settings_padding: typeof enum__landing_page_v_blocks_stats_settings_padding;
  enum__landing_page_v_blocks_stats_settings_tone: typeof enum__landing_page_v_blocks_stats_settings_tone;
  enum__landing_page_v_blocks_stats_settings_columns: typeof enum__landing_page_v_blocks_stats_settings_columns;
  enum__landing_page_v_blocks_features_settings_padding: typeof enum__landing_page_v_blocks_features_settings_padding;
  enum__landing_page_v_blocks_features_settings_tone: typeof enum__landing_page_v_blocks_features_settings_tone;
  enum__landing_page_v_blocks_features_settings_columns: typeof enum__landing_page_v_blocks_features_settings_columns;
  enum__landing_page_v_blocks_features_settings_card_style: typeof enum__landing_page_v_blocks_features_settings_card_style;
  enum__landing_page_v_blocks_tech_stack_settings_padding: typeof enum__landing_page_v_blocks_tech_stack_settings_padding;
  enum__landing_page_v_blocks_tech_stack_settings_tone: typeof enum__landing_page_v_blocks_tech_stack_settings_tone;
  enum__landing_page_v_blocks_tech_stack_settings_layout: typeof enum__landing_page_v_blocks_tech_stack_settings_layout;
  enum__landing_page_v_blocks_tech_stack_settings_columns: typeof enum__landing_page_v_blocks_tech_stack_settings_columns;
  enum__landing_page_v_blocks_cta_settings_padding: typeof enum__landing_page_v_blocks_cta_settings_padding;
  enum__landing_page_v_blocks_cta_settings_tone: typeof enum__landing_page_v_blocks_cta_settings_tone;
  enum__landing_page_v_blocks_cta_settings_panel_style: typeof enum__landing_page_v_blocks_cta_settings_panel_style;
  enum__landing_page_v_version_status: typeof enum__landing_page_v_version_status;
  users_sessions: typeof users_sessions;
  users: typeof users;
  payload_kv: typeof payload_kv;
  payload_locked_documents: typeof payload_locked_documents;
  payload_locked_documents_rels: typeof payload_locked_documents_rels;
  payload_preferences: typeof payload_preferences;
  payload_preferences_rels: typeof payload_preferences_rels;
  payload_migrations: typeof payload_migrations;
  landing_page_blocks_hero_highlights: typeof landing_page_blocks_hero_highlights;
  landing_page_blocks_hero_proof_points: typeof landing_page_blocks_hero_proof_points;
  landing_page_blocks_hero: typeof landing_page_blocks_hero;
  landing_page_blocks_stats_items: typeof landing_page_blocks_stats_items;
  landing_page_blocks_stats: typeof landing_page_blocks_stats;
  landing_page_blocks_features_items: typeof landing_page_blocks_features_items;
  landing_page_blocks_features: typeof landing_page_blocks_features;
  landing_page_blocks_tech_stack_categories_technologies: typeof landing_page_blocks_tech_stack_categories_technologies;
  landing_page_blocks_tech_stack_categories: typeof landing_page_blocks_tech_stack_categories;
  landing_page_blocks_tech_stack: typeof landing_page_blocks_tech_stack;
  landing_page_blocks_cta_supporting_points: typeof landing_page_blocks_cta_supporting_points;
  landing_page_blocks_cta: typeof landing_page_blocks_cta;
  landing_page: typeof landing_page;
  _landing_page_v_blocks_hero_highlights: typeof _landing_page_v_blocks_hero_highlights;
  _landing_page_v_blocks_hero_proof_points: typeof _landing_page_v_blocks_hero_proof_points;
  _landing_page_v_blocks_hero: typeof _landing_page_v_blocks_hero;
  _landing_page_v_blocks_stats_items: typeof _landing_page_v_blocks_stats_items;
  _landing_page_v_blocks_stats: typeof _landing_page_v_blocks_stats;
  _landing_page_v_blocks_features_items: typeof _landing_page_v_blocks_features_items;
  _landing_page_v_blocks_features: typeof _landing_page_v_blocks_features;
  _landing_page_v_blocks_tech_stack_categories_technologies: typeof _landing_page_v_blocks_tech_stack_categories_technologies;
  _landing_page_v_blocks_tech_stack_categories: typeof _landing_page_v_blocks_tech_stack_categories;
  _landing_page_v_blocks_tech_stack: typeof _landing_page_v_blocks_tech_stack;
  _landing_page_v_blocks_cta_supporting_points: typeof _landing_page_v_blocks_cta_supporting_points;
  _landing_page_v_blocks_cta: typeof _landing_page_v_blocks_cta;
  _landing_page_v: typeof _landing_page_v;
  relations_users_sessions: typeof relations_users_sessions;
  relations_users: typeof relations_users;
  relations_payload_kv: typeof relations_payload_kv;
  relations_payload_locked_documents_rels: typeof relations_payload_locked_documents_rels;
  relations_payload_locked_documents: typeof relations_payload_locked_documents;
  relations_payload_preferences_rels: typeof relations_payload_preferences_rels;
  relations_payload_preferences: typeof relations_payload_preferences;
  relations_payload_migrations: typeof relations_payload_migrations;
  relations_landing_page_blocks_hero_highlights: typeof relations_landing_page_blocks_hero_highlights;
  relations_landing_page_blocks_hero_proof_points: typeof relations_landing_page_blocks_hero_proof_points;
  relations_landing_page_blocks_hero: typeof relations_landing_page_blocks_hero;
  relations_landing_page_blocks_stats_items: typeof relations_landing_page_blocks_stats_items;
  relations_landing_page_blocks_stats: typeof relations_landing_page_blocks_stats;
  relations_landing_page_blocks_features_items: typeof relations_landing_page_blocks_features_items;
  relations_landing_page_blocks_features: typeof relations_landing_page_blocks_features;
  relations_landing_page_blocks_tech_stack_categories_technologies: typeof relations_landing_page_blocks_tech_stack_categories_technologies;
  relations_landing_page_blocks_tech_stack_categories: typeof relations_landing_page_blocks_tech_stack_categories;
  relations_landing_page_blocks_tech_stack: typeof relations_landing_page_blocks_tech_stack;
  relations_landing_page_blocks_cta_supporting_points: typeof relations_landing_page_blocks_cta_supporting_points;
  relations_landing_page_blocks_cta: typeof relations_landing_page_blocks_cta;
  relations_landing_page: typeof relations_landing_page;
  relations__landing_page_v_blocks_hero_highlights: typeof relations__landing_page_v_blocks_hero_highlights;
  relations__landing_page_v_blocks_hero_proof_points: typeof relations__landing_page_v_blocks_hero_proof_points;
  relations__landing_page_v_blocks_hero: typeof relations__landing_page_v_blocks_hero;
  relations__landing_page_v_blocks_stats_items: typeof relations__landing_page_v_blocks_stats_items;
  relations__landing_page_v_blocks_stats: typeof relations__landing_page_v_blocks_stats;
  relations__landing_page_v_blocks_features_items: typeof relations__landing_page_v_blocks_features_items;
  relations__landing_page_v_blocks_features: typeof relations__landing_page_v_blocks_features;
  relations__landing_page_v_blocks_tech_stack_categories_technologies: typeof relations__landing_page_v_blocks_tech_stack_categories_technologies;
  relations__landing_page_v_blocks_tech_stack_categories: typeof relations__landing_page_v_blocks_tech_stack_categories;
  relations__landing_page_v_blocks_tech_stack: typeof relations__landing_page_v_blocks_tech_stack;
  relations__landing_page_v_blocks_cta_supporting_points: typeof relations__landing_page_v_blocks_cta_supporting_points;
  relations__landing_page_v_blocks_cta: typeof relations__landing_page_v_blocks_cta;
  relations__landing_page_v: typeof relations__landing_page_v;
};

declare module '@payloadcms/db-postgres' {
  export interface GeneratedDatabaseSchema {
    schema: DatabaseSchema;
  }
}
