From ccd040dfe19d6984c801de7d38295a2ee744cb8e Mon Sep 17 00:00:00 2001 From: Martin Porwoll Date: Tue, 16 Dec 2025 12:04:13 +0000 Subject: [PATCH] chore: regenerate Drizzle schema for video collections MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds videos_id and video_categories_id columns to payload_locked_documents_rels and payload_preferences_rels tables to fix CI test failures. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- src/payload-generated-schema.ts | 2103 ++++++++++++++++++++++++++++++- 1 file changed, 2102 insertions(+), 1 deletion(-) diff --git a/src/payload-generated-schema.ts b/src/payload-generated-schema.ts index 9b1d809..b6d6f95 100644 --- a/src/payload-generated-schema.ts +++ b/src/payload-generated-schema.ts @@ -249,10 +249,43 @@ export const enum_pages_blocks_divider_block_spacing = pgEnum("enum_pages_blocks "medium", "large", ]); +export const enum_pages_blocks_video_block_source_type = pgEnum("enum_pages_blocks_video_block_source_type", [ + "embed", + "upload", + "library", + "external", +]); export const enum_pages_blocks_video_block_aspect_ratio = pgEnum("enum_pages_blocks_video_block_aspect_ratio", [ "16:9", "4:3", "1:1", + "9:16", + "21:9", +]); +export const enum_pages_blocks_video_block_size = pgEnum("enum_pages_blocks_video_block_size", [ + "full", + "large", + "medium", + "small", +]); +export const enum_pages_blocks_video_block_alignment = pgEnum("enum_pages_blocks_video_block_alignment", [ + "left", + "center", + "right", +]); +export const enum_pages_blocks_video_block_style_rounded = pgEnum("enum_pages_blocks_video_block_style_rounded", [ + "none", + "sm", + "md", + "lg", + "xl", +]); +export const enum_pages_blocks_video_block_style_shadow = pgEnum("enum_pages_blocks_video_block_style_shadow", [ + "none", + "sm", + "md", + "lg", + "xl", ]); export const enum_pages_blocks_posts_list_block_post_type = pgEnum("enum_pages_blocks_posts_list_block_post_type", [ "blog", @@ -1509,8 +1542,95 @@ export const enum_pages_blocks_comparison_cross_color = pgEnum("enum_pages_block "gray", "transparent", ]); +export const enum_pages_blocks_before_after_comparisons_category = pgEnum( + "enum_pages_blocks_before_after_comparisons_category", + ["wedding", "portrait", "retouch", "colorgrade", "restore", "composing", "architecture", "product", "other"], +); +export const enum_pages_blocks_before_after_display_style = pgEnum("enum_pages_blocks_before_after_display_style", [ + "slider", + "hover", + "toggle", + "side-by-side", + "fade", +]); +export const enum_pages_blocks_before_after_slider_orientation = pgEnum( + "enum_pages_blocks_before_after_slider_orientation", + ["horizontal", "vertical"], +); +export const enum_pages_blocks_before_after_layout = pgEnum("enum_pages_blocks_before_after_layout", [ + "single", + "grid-2", + "grid-3", + "carousel", + "masonry", +]); +export const enum_pages_blocks_before_after_aspect_ratio = pgEnum("enum_pages_blocks_before_after_aspect_ratio", [ + "original", + "16-9", + "4-3", + "3-2", + "1-1", + "2-3", + "9-16", +]); +export const enum_pages_blocks_before_after_slider_handle_style = pgEnum( + "enum_pages_blocks_before_after_slider_handle_style", + ["circle", "line", "arrows", "custom"], +); +export const enum_pages_blocks_before_after_slider_handle_color = pgEnum( + "enum_pages_blocks_before_after_slider_handle_color", + ["white", "black", "primary", "accent"], +); +export const enum_pages_blocks_before_after_slider_handle_size = pgEnum( + "enum_pages_blocks_before_after_slider_handle_size", + ["small", "medium", "large"], +); +export const enum_pages_blocks_before_after_label_position = pgEnum("enum_pages_blocks_before_after_label_position", [ + "corners", + "top", + "bottom", + "overlay", +]); +export const enum_pages_blocks_before_after_label_style = pgEnum("enum_pages_blocks_before_after_label_style", [ + "badge", + "text", + "pill", +]); +export const enum_pages_blocks_before_after_cta_cta_style = pgEnum("enum_pages_blocks_before_after_cta_cta_style", [ + "primary", + "secondary", + "outline", + "ghost", +]); +export const enum_pages_blocks_before_after_background_color = pgEnum( + "enum_pages_blocks_before_after_background_color", + ["transparent", "white", "light", "dark", "black"], +); +export const enum_pages_blocks_before_after_border_radius = pgEnum("enum_pages_blocks_before_after_border_radius", [ + "none", + "small", + "medium", + "large", +]); +export const enum_pages_blocks_before_after_shadow = pgEnum("enum_pages_blocks_before_after_shadow", [ + "none", + "small", + "medium", + "large", +]); +export const enum_pages_blocks_before_after_spacing = pgEnum("enum_pages_blocks_before_after_spacing", [ + "none", + "small", + "medium", + "large", +]); export const enum_pages_status = pgEnum("enum_pages_status", ["draft", "published"]); export const enum_posts_type = pgEnum("enum_posts_type", ["blog", "news", "press", "announcement"]); +export const enum_posts_featured_video_source = pgEnum("enum_posts_featured_video_source", [ + "library", + "embed", + "upload", +]); export const enum_posts_status = pgEnum("enum_posts_status", ["draft", "published", "archived"]); export const enum_social_links_platform = pgEnum("enum_social_links_platform", [ "facebook", @@ -1561,6 +1681,20 @@ export const enum_newsletter_subscribers_status = pgEnum("enum_newsletter_subscr "bounced", ]); export const enum_portfolios_status = pgEnum("enum_portfolios_status", ["draft", "published", "archived"]); +export const enum_videos_source = pgEnum("enum_videos_source", ["youtube", "vimeo", "upload", "external"]); +export const enum_videos_video_type = pgEnum("enum_videos_video_type", [ + "tutorial", + "product", + "testimonial", + "explainer", + "webinar", + "interview", + "event", + "trailer", + "other", +]); +export const enum_videos_aspect_ratio = pgEnum("enum_videos_aspect_ratio", ["16:9", "4:3", "1:1", "9:16", "21:9"]); +export const enum_videos_status = pgEnum("enum_videos_status", ["draft", "published", "archived"]); export const enum_products_pricing_currency = pgEnum("enum_products_pricing_currency", ["EUR", "USD", "CHF"]); export const enum_products_pricing_price_type = pgEnum("enum_products_pricing_price_type", [ "fixed", @@ -1905,6 +2039,224 @@ export const enum_events_status = pgEnum("enum_events_status", [ "postponed", "past", ]); +export const enum_bookings_contact_history_type = pgEnum("enum_bookings_contact_history_type", [ + "email_sent", + "email_received", + "call", + "whatsapp", + "inperson", +]); +export const enum_bookings_service_type = pgEnum("enum_bookings_service_type", [ + "wedding", + "portrait", + "business", + "event", + "product", + "family", + "newborn", + "maternity", + "realestate", + "other", +]); +export const enum_bookings_duration = pgEnum("enum_bookings_duration", [ + "30", + "60", + "120", + "180", + "240", + "480", + "custom", +]); +export const enum_bookings_location_type = pgEnum("enum_bookings_location_type", [ + "studio", + "outdoor", + "customer", + "event", + "tbd", +]); +export const enum_bookings_status = pgEnum("enum_bookings_status", [ + "pending", + "review", + "confirmed", + "deposit", + "completed", + "cancelled", + "noshow", +]); +export const enum_bookings_priority = pgEnum("enum_bookings_priority", ["high", "normal", "low"]); +export const enum_bookings_source = pgEnum("enum_bookings_source", [ + "website", + "phone", + "email", + "instagram", + "facebook", + "referral", + "returning", + "other", +]); +export const enum_certifications_benefits_icon = pgEnum("enum_certifications_benefits_icon", [ + "check", + "star", + "shield", + "heart", + "lock", + "search", + "clock", + "document", +]); +export const enum_certifications_audits_type = pgEnum("enum_certifications_audits_type", [ + "initial", + "surveillance", + "recertification", + "special", +]); +export const enum_certifications_audits_result = pgEnum("enum_certifications_audits_result", [ + "passed", + "conditional", + "failed", +]); +export const enum_certifications_type = pgEnum("enum_certifications_type", [ + "iso", + "din", + "accreditation", + "seal", + "membership", + "award", + "license", + "approval", + "other", +]); +export const enum_certifications_category = pgEnum("enum_certifications_category", [ + "quality", + "care", + "medical", + "hygiene", + "safety", + "privacy", + "environment", + "hr", + "it-security", + "accessibility", + "other", +]); +export const enum_certifications_issuer_country = pgEnum("enum_certifications_issuer_country", [ + "DE", + "AT", + "CH", + "EU", + "INT", +]); +export const enum_certifications_renewal_cycle = pgEnum("enum_certifications_renewal_cycle", [ + "yearly", + "2years", + "3years", + "5years", + "unlimited", +]); +export const enum_certifications_status = pgEnum("enum_certifications_status", [ + "active", + "pending", + "renewal", + "suspended", + "expired", + "withdrawn", +]); +export const enum_certifications_visibility = pgEnum("enum_certifications_visibility", [ + "public", + "request", + "internal", +]); +export const enum_projects_genres = pgEnum("enum_projects_genres", [ + "action", + "adventure", + "rpg", + "strategy", + "simulation", + "puzzle", + "horror", + "shooter", + "platformer", + "racing", + "sports", + "fighting", + "music", + "visualnovel", + "survival", + "sandbox", + "towerdefense", + "roguelike", + "indie", +]); +export const enum_projects_platforms = pgEnum("enum_projects_platforms", [ + "windows", + "macos", + "linux", + "web", + "ios", + "android", + "playstation", + "xbox", + "switch", + "steamdeck", + "vr", +]); +export const enum_projects_videos_type = pgEnum("enum_projects_videos_type", [ + "trailer", + "gameplay", + "devlog", + "tutorial", + "other", +]); +export const enum_projects_tech_stack_languages = pgEnum("enum_projects_tech_stack_languages", [ + "csharp", + "cpp", + "gdscript", + "javascript", + "typescript", + "python", + "lua", + "rust", + "blueprint", +]); +export const enum_projects_downloads_platform = pgEnum("enum_projects_downloads_platform", [ + "windows", + "macos", + "linux", + "universal", +]); +export const enum_projects_type = pgEnum("enum_projects_type", [ + "game", + "demo", + "mod", + "tool", + "assets", + "prototype", + "gamejam", + "tutorial", + "opensource", + "other", +]); +export const enum_projects_tech_stack_engine = pgEnum("enum_projects_tech_stack_engine", [ + "unity", + "unreal", + "godot", + "gamemaker", + "rpgmaker", + "construct", + "custom", + "renpy", + "phaser", + "other", +]); +export const enum_projects_status = pgEnum("enum_projects_status", [ + "development", + "earlyaccess", + "released", + "paused", + "cancelled", + "completed", +]); +export const enum_projects_visibility = pgEnum("enum_projects_visibility", ["public", "draft", "unlisted", "private"]); export const enum_cookie_configurations_enabled_categories = pgEnum("enum_cookie_configurations_enabled_categories", [ "necessary", "functional", @@ -3012,14 +3364,40 @@ export const pages_blocks_video_block = pgTable( _parentID: integer("_parent_id").notNull(), _path: text("_path").notNull(), id: varchar("id").primaryKey(), - videoUrl: varchar("video_url").notNull(), + sourceType: enum_pages_blocks_video_block_source_type("source_type").notNull().default("embed"), + videoFromLibrary: integer("video_from_library_id").references(() => videos.id, { + onDelete: "set null", + }), + videoUrl: varchar("video_url"), + videoFile: integer("video_file_id").references(() => media.id, { + onDelete: "set null", + }), + thumbnail: integer("thumbnail_id").references(() => media.id, { + onDelete: "set null", + }), aspectRatio: enum_pages_blocks_video_block_aspect_ratio("aspect_ratio").default("16:9"), + size: enum_pages_blocks_video_block_size("size").default("full"), + alignment: enum_pages_blocks_video_block_alignment("alignment").default("center"), + playback_autoplay: boolean("playback_autoplay").default(false), + playback_muted: boolean("playback_muted").default(false), + playback_loop: boolean("playback_loop").default(false), + playback_controls: boolean("playback_controls").default(true), + playback_playsinline: boolean("playback_playsinline").default(true), + playback_startTime: numeric("playback_start_time", { mode: "number" }), + embedOptions_showRelated: boolean("embed_options_show_related").default(false), + embedOptions_privacyMode: boolean("embed_options_privacy_mode").default(true), + style_rounded: enum_pages_blocks_video_block_style_rounded("style_rounded").default("none"), + style_shadow: enum_pages_blocks_video_block_style_shadow("style_shadow").default("none"), + style_border: boolean("style_border").default(false), blockName: varchar("block_name"), }, (columns) => [ index("pages_blocks_video_block_order_idx").on(columns._order), index("pages_blocks_video_block_parent_id_idx").on(columns._parentID), index("pages_blocks_video_block_path_idx").on(columns._path), + index("pages_blocks_video_block_video_from_library_idx").on(columns.videoFromLibrary), + index("pages_blocks_video_block_video_file_idx").on(columns.videoFile), + index("pages_blocks_video_block_thumbnail_idx").on(columns.thumbnail), foreignKey({ columns: [columns["_parentID"]], foreignColumns: [pages.id], @@ -5770,6 +6148,134 @@ export const pages_blocks_comparison_locales = pgTable( ], ); +export const pages_blocks_before_after_comparisons = pgTable( + "pages_blocks_before_after_comparisons", + { + _order: integer("_order").notNull(), + _parentID: varchar("_parent_id").notNull(), + id: varchar("id").primaryKey(), + beforeImage: integer("before_image_id") + .notNull() + .references(() => media.id, { + onDelete: "set null", + }), + afterImage: integer("after_image_id") + .notNull() + .references(() => media.id, { + onDelete: "set null", + }), + category: enum_pages_blocks_before_after_comparisons_category("category"), + tags: varchar("tags"), + metadata_client: varchar("metadata_client"), + metadata_date: timestamp("metadata_date", { mode: "string", withTimezone: true, precision: 3 }), + metadata_tools: varchar("metadata_tools"), + metadata_duration: varchar("metadata_duration"), + showMetadata: boolean("show_metadata").default(false), + }, + (columns) => [ + index("pages_blocks_before_after_comparisons_order_idx").on(columns._order), + index("pages_blocks_before_after_comparisons_parent_id_idx").on(columns._parentID), + index("pages_blocks_before_after_comparisons_before_image_idx").on(columns.beforeImage), + index("pages_blocks_before_after_comparisons_after_image_idx").on(columns.afterImage), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [pages_blocks_before_after.id], + name: "pages_blocks_before_after_comparisons_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const pages_blocks_before_after_comparisons_locales = pgTable( + "pages_blocks_before_after_comparisons_locales", + { + title: varchar("title"), + beforeLabel: varchar("before_label").default("Vorher"), + afterLabel: varchar("after_label").default("Nachher"), + description: varchar("description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("pages_blocks_before_after_comparisons_locales_locale_parent_").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [pages_blocks_before_after_comparisons.id], + name: "pages_blocks_before_after_comparisons_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const pages_blocks_before_after = pgTable( + "pages_blocks_before_after", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + _path: text("_path").notNull(), + id: varchar("id").primaryKey(), + displayStyle: enum_pages_blocks_before_after_display_style("display_style").default("slider"), + sliderOrientation: enum_pages_blocks_before_after_slider_orientation("slider_orientation").default("horizontal"), + sliderStartPosition: numeric("slider_start_position", { mode: "number" }).default(50), + layout: enum_pages_blocks_before_after_layout("layout").default("single"), + aspectRatio: enum_pages_blocks_before_after_aspect_ratio("aspect_ratio").default("original"), + sliderHandle_style: enum_pages_blocks_before_after_slider_handle_style("slider_handle_style").default("circle"), + sliderHandle_color: enum_pages_blocks_before_after_slider_handle_color("slider_handle_color").default("white"), + sliderHandle_size: enum_pages_blocks_before_after_slider_handle_size("slider_handle_size").default("medium"), + sliderHandle_showLine: boolean("slider_handle_show_line").default(true), + showLabels: boolean("show_labels").default(true), + labelPosition: enum_pages_blocks_before_after_label_position("label_position").default("corners"), + labelStyle: enum_pages_blocks_before_after_label_style("label_style").default("badge"), + showFilter: boolean("show_filter").default(false), + animation_enableAnimation: boolean("animation_enable_animation").default(true), + animation_autoPlay: boolean("animation_auto_play").default(false), + animation_autoPlaySpeed: numeric("animation_auto_play_speed", { mode: "number" }).default(3), + animation_scrollTrigger: boolean("animation_scroll_trigger").default(true), + interactivity_enableZoom: boolean("interactivity_enable_zoom").default(false), + interactivity_enableFullscreen: boolean("interactivity_enable_fullscreen").default(true), + interactivity_enableSwipe: boolean("interactivity_enable_swipe").default(true), + interactivity_enableKeyboard: boolean("interactivity_enable_keyboard").default(true), + cta_showCta: boolean("cta_show_cta").default(false), + cta_ctaLink: varchar("cta_cta_link"), + cta_ctaStyle: enum_pages_blocks_before_after_cta_cta_style("cta_cta_style").default("primary"), + backgroundColor: enum_pages_blocks_before_after_background_color("background_color").default("transparent"), + borderRadius: enum_pages_blocks_before_after_border_radius("border_radius").default("medium"), + shadow: enum_pages_blocks_before_after_shadow("shadow").default("medium"), + spacing: enum_pages_blocks_before_after_spacing("spacing").default("medium"), + blockName: varchar("block_name"), + }, + (columns) => [ + index("pages_blocks_before_after_order_idx").on(columns._order), + index("pages_blocks_before_after_parent_id_idx").on(columns._parentID), + index("pages_blocks_before_after_path_idx").on(columns._path), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [pages.id], + name: "pages_blocks_before_after_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const pages_blocks_before_after_locales = pgTable( + "pages_blocks_before_after_locales", + { + title: varchar("title"), + subtitle: varchar("subtitle"), + description: varchar("description"), + cta_ctaText: varchar("cta_cta_text"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("pages_blocks_before_after_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [pages_blocks_before_after.id], + name: "pages_blocks_before_after_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + export const pages = pgTable( "pages", { @@ -5936,6 +6442,22 @@ export const posts = pgTable( featuredImage: integer("featured_image_id").references(() => media.id, { onDelete: "set null", }), + featuredVideo_enabled: boolean("featured_video_enabled").default(false), + featuredVideo_replaceImage: boolean("featured_video_replace_image").default(false), + featuredVideo_source: enum_posts_featured_video_source("featured_video_source").default("library"), + featuredVideo_video: integer("featured_video_video_id").references(() => videos.id, { + onDelete: "set null", + }), + featuredVideo_embedUrl: varchar("featured_video_embed_url"), + featuredVideo_uploadedVideo: integer("featured_video_uploaded_video_id").references(() => media.id, { + onDelete: "set null", + }), + featuredVideo_autoplay: boolean("featured_video_autoplay").default(false), + featuredVideo_muted: boolean("featured_video_muted").default(true), + featuredVideo_processedEmbedUrl: varchar("featured_video_processed_embed_url"), + featuredVideo_extractedVideoId: varchar("featured_video_extracted_video_id"), + featuredVideo_platform: varchar("featured_video_platform"), + featuredVideo_thumbnailUrl: varchar("featured_video_thumbnail_url"), author: integer("author_id").references(() => authors.id, { onDelete: "set null", }), @@ -5952,6 +6474,8 @@ export const posts = pgTable( (columns) => [ index("posts_tenant_idx").on(columns.tenant), index("posts_featured_image_idx").on(columns.featuredImage), + index("posts_featured_video_featured_video_video_idx").on(columns.featuredVideo_video), + index("posts_featured_video_featured_video_uploaded_video_idx").on(columns.featuredVideo_uploadedVideo), index("posts_author_idx").on(columns.author), index("posts_seo_seo_og_image_idx").on(columns.seo_ogImage), index("posts_updated_at_idx").on(columns.updatedAt), @@ -6889,6 +7413,163 @@ export const portfolios_texts = pgTable( ], ); +export const video_categories = pgTable( + "video_categories", + { + id: serial("id").primaryKey(), + tenant: integer("tenant_id").references(() => tenants.id, { + onDelete: "set null", + }), + slug: varchar("slug").notNull(), + icon: varchar("icon"), + coverImage: integer("cover_image_id").references(() => media.id, { + onDelete: "set null", + }), + order: numeric("order", { mode: "number" }).default(0), + isActive: boolean("is_active").default(true), + 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("video_categories_tenant_idx").on(columns.tenant), + index("video_categories_cover_image_idx").on(columns.coverImage), + index("video_categories_updated_at_idx").on(columns.updatedAt), + index("video_categories_created_at_idx").on(columns.createdAt), + ], +); + +export const video_categories_locales = pgTable( + "video_categories_locales", + { + name: varchar("name").notNull(), + description: varchar("description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: integer("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("video_categories_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [video_categories.id], + name: "video_categories_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const videos = pgTable( + "videos", + { + id: serial("id").primaryKey(), + tenant: integer("tenant_id").references(() => tenants.id, { + onDelete: "set null", + }), + slug: varchar("slug").notNull(), + source: enum_videos_source("source").notNull().default("youtube"), + videoFile: integer("video_file_id").references(() => media.id, { + onDelete: "set null", + }), + embedUrl: varchar("embed_url"), + videoId: varchar("video_id"), + thumbnail: integer("thumbnail_id").references(() => media.id, { + onDelete: "set null", + }), + duration: varchar("duration"), + durationSeconds: numeric("duration_seconds", { mode: "number" }), + category: integer("category_id").references(() => video_categories.id, { + onDelete: "set null", + }), + videoType: enum_videos_video_type("video_type").default("other"), + playback_autoplay: boolean("playback_autoplay").default(false), + playback_muted: boolean("playback_muted").default(false), + playback_loop: boolean("playback_loop").default(false), + playback_controls: boolean("playback_controls").default(true), + playback_startTime: numeric("playback_start_time", { mode: "number" }), + aspectRatio: enum_videos_aspect_ratio("aspect_ratio").default("16:9"), + status: enum_videos_status("status").default("draft"), + isFeatured: boolean("is_featured").default(false), + publishedAt: timestamp("published_at", { mode: "string", withTimezone: true, precision: 3 }), + seo_metaDescription: varchar("seo_meta_description"), + seo_ogImage: integer("seo_og_image_id").references(() => media.id, { + onDelete: "set null", + }), + 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("videos_tenant_idx").on(columns.tenant), + index("videos_video_file_idx").on(columns.videoFile), + index("videos_thumbnail_idx").on(columns.thumbnail), + index("videos_category_idx").on(columns.category), + index("videos_seo_seo_og_image_idx").on(columns.seo_ogImage), + index("videos_updated_at_idx").on(columns.updatedAt), + index("videos_created_at_idx").on(columns.createdAt), + ], +); + +export const videos_locales = pgTable( + "videos_locales", + { + title: varchar("title").notNull(), + description: jsonb("description"), + excerpt: varchar("excerpt"), + transcript: jsonb("transcript"), + seo_metaTitle: varchar("seo_meta_title"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: integer("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("videos_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [videos.id], + name: "videos_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const videos_rels = pgTable( + "videos_rels", + { + id: serial("id").primaryKey(), + order: integer("order"), + parent: integer("parent_id").notNull(), + path: varchar("path").notNull(), + tagsID: integer("tags_id"), + videosID: integer("videos_id"), + postsID: integer("posts_id"), + }, + (columns) => [ + index("videos_rels_order_idx").on(columns.order), + index("videos_rels_parent_idx").on(columns.parent), + index("videos_rels_path_idx").on(columns.path), + index("videos_rels_tags_id_idx").on(columns.tagsID), + index("videos_rels_videos_id_idx").on(columns.videosID), + index("videos_rels_posts_id_idx").on(columns.postsID), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [videos.id], + name: "videos_rels_parent_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["tagsID"]], + foreignColumns: [tags.id], + name: "videos_rels_tags_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["videosID"]], + foreignColumns: [videos.id], + name: "videos_rels_videos_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["postsID"]], + foreignColumns: [posts.id], + name: "videos_rels_posts_fk", + }).onDelete("cascade"), + ], +); + export const product_categories = pgTable( "product_categories", { @@ -8743,6 +9424,708 @@ export const events_rels = pgTable( ], ); +export const bookings_reference_images = pgTable( + "bookings_reference_images", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + image: integer("image_id").references(() => media.id, { + onDelete: "set null", + }), + note: varchar("note"), + }, + (columns) => [ + index("bookings_reference_images_order_idx").on(columns._order), + index("bookings_reference_images_parent_id_idx").on(columns._parentID), + index("bookings_reference_images_image_idx").on(columns.image), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [bookings.id], + name: "bookings_reference_images_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const bookings_internal_notes = pgTable( + "bookings_internal_notes", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + note: varchar("note").notNull(), + author: integer("author_id").references(() => users.id, { + onDelete: "set null", + }), + createdAt: timestamp("created_at", { mode: "string", withTimezone: true, precision: 3 }), + }, + (columns) => [ + index("bookings_internal_notes_order_idx").on(columns._order), + index("bookings_internal_notes_parent_id_idx").on(columns._parentID), + index("bookings_internal_notes_author_idx").on(columns.author), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [bookings.id], + name: "bookings_internal_notes_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const bookings_contact_history = pgTable( + "bookings_contact_history", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + type: enum_bookings_contact_history_type("type").notNull(), + summary: varchar("summary").notNull(), + date: timestamp("date", { mode: "string", withTimezone: true, precision: 3 }), + }, + (columns) => [ + index("bookings_contact_history_order_idx").on(columns._order), + index("bookings_contact_history_parent_id_idx").on(columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [bookings.id], + name: "bookings_contact_history_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const bookings = pgTable( + "bookings", + { + id: serial("id").primaryKey(), + tenant: integer("tenant_id").references(() => tenants.id, { + onDelete: "set null", + }), + customerName: varchar("customer_name").notNull(), + customerEmail: varchar("customer_email").notNull(), + customerPhone: varchar("customer_phone"), + customerCompany: varchar("customer_company"), + serviceType: enum_bookings_service_type("service_type").notNull(), + service: integer("service_id").references(() => services.id, { + onDelete: "set null", + }), + date: timestamp("date", { mode: "string", withTimezone: true, precision: 3 }).notNull(), + time: varchar("time"), + duration: enum_bookings_duration("duration"), + locationType: enum_bookings_location_type("location_type"), + locationAddress: varchar("location_address"), + participants: numeric("participants", { mode: "number" }), + message: varchar("message"), + status: enum_bookings_status("status").notNull().default("pending"), + priority: enum_bookings_priority("priority").default("normal"), + pricing_estimatedPrice: numeric("pricing_estimated_price", { mode: "number" }), + pricing_finalPrice: numeric("pricing_final_price", { mode: "number" }), + pricing_depositAmount: numeric("pricing_deposit_amount", { mode: "number" }), + pricing_depositPaid: boolean("pricing_deposit_paid").default(false), + pricing_fullyPaid: boolean("pricing_fully_paid").default(false), + assignedTo: integer("assigned_to_id").references(() => users.id, { + onDelete: "set null", + }), + source: enum_bookings_source("source"), + gdprConsent: boolean("gdpr_consent").default(false), + 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("bookings_tenant_idx").on(columns.tenant), + index("bookings_service_idx").on(columns.service), + index("bookings_assigned_to_idx").on(columns.assignedTo), + index("bookings_updated_at_idx").on(columns.updatedAt), + index("bookings_created_at_idx").on(columns.createdAt), + ], +); + +export const certifications_gallery = pgTable( + "certifications_gallery", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + document: integer("document_id").references(() => media.id, { + onDelete: "set null", + }), + title: varchar("title"), + }, + (columns) => [ + index("certifications_gallery_order_idx").on(columns._order), + index("certifications_gallery_parent_id_idx").on(columns._parentID), + index("certifications_gallery_document_idx").on(columns.document), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications.id], + name: "certifications_gallery_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_requirements = pgTable( + "certifications_requirements", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + }, + (columns) => [ + index("certifications_requirements_order_idx").on(columns._order), + index("certifications_requirements_parent_id_idx").on(columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications.id], + name: "certifications_requirements_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_requirements_locales = pgTable( + "certifications_requirements_locales", + { + requirement: varchar("requirement").notNull(), + description: varchar("description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("certifications_requirements_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications_requirements.id], + name: "certifications_requirements_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_benefits = pgTable( + "certifications_benefits", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + icon: enum_certifications_benefits_icon("icon"), + }, + (columns) => [ + index("certifications_benefits_order_idx").on(columns._order), + index("certifications_benefits_parent_id_idx").on(columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications.id], + name: "certifications_benefits_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_benefits_locales = pgTable( + "certifications_benefits_locales", + { + title: varchar("title").notNull(), + description: varchar("description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("certifications_benefits_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications_benefits.id], + name: "certifications_benefits_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_audits = pgTable( + "certifications_audits", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + date: timestamp("date", { mode: "string", withTimezone: true, precision: 3 }).notNull(), + type: enum_certifications_audits_type("type"), + result: enum_certifications_audits_result("result"), + notes: varchar("notes"), + }, + (columns) => [ + index("certifications_audits_order_idx").on(columns._order), + index("certifications_audits_parent_id_idx").on(columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications.id], + name: "certifications_audits_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications = pgTable( + "certifications", + { + id: serial("id").primaryKey(), + tenant: integer("tenant_id").references(() => tenants.id, { + onDelete: "set null", + }), + slug: varchar("slug").notNull(), + type: enum_certifications_type("type").notNull(), + category: enum_certifications_category("category"), + issuer_name: varchar("issuer_name").notNull(), + issuer_logo: integer("issuer_logo_id").references(() => media.id, { + onDelete: "set null", + }), + issuer_website: varchar("issuer_website"), + issuer_country: enum_certifications_issuer_country("issuer_country"), + certNumber: varchar("cert_number"), + issuedDate: timestamp("issued_date", { mode: "string", withTimezone: true, precision: 3 }), + validUntil: timestamp("valid_until", { mode: "string", withTimezone: true, precision: 3 }), + renewalCycle: enum_certifications_renewal_cycle("renewal_cycle"), + logo: integer("logo_id").references(() => media.id, { + onDelete: "set null", + }), + certificate: integer("certificate_id").references(() => media.id, { + onDelete: "set null", + }), + status: enum_certifications_status("status").notNull().default("active"), + visibility: enum_certifications_visibility("visibility").default("public"), + priority: numeric("priority", { mode: "number" }).default(0), + showOnHomepage: boolean("show_on_homepage").default(false), + 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("certifications_tenant_idx").on(columns.tenant), + uniqueIndex("certifications_slug_idx").on(columns.slug), + index("certifications_issuer_issuer_logo_idx").on(columns.issuer_logo), + index("certifications_logo_idx").on(columns.logo), + index("certifications_certificate_idx").on(columns.certificate), + index("certifications_updated_at_idx").on(columns.updatedAt), + index("certifications_created_at_idx").on(columns.createdAt), + ], +); + +export const certifications_locales = pgTable( + "certifications_locales", + { + name: varchar("name").notNull(), + description: jsonb("description"), + shortDescription: varchar("short_description"), + scope_description: varchar("scope_description"), + seo_metaTitle: varchar("seo_meta_title"), + seo_metaDescription: varchar("seo_meta_description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: integer("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("certifications_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [certifications.id], + name: "certifications_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const certifications_rels = pgTable( + "certifications_rels", + { + id: serial("id").primaryKey(), + order: integer("order"), + parent: integer("parent_id").notNull(), + path: varchar("path").notNull(), + locationsID: integer("locations_id"), + servicesID: integer("services_id"), + }, + (columns) => [ + index("certifications_rels_order_idx").on(columns.order), + index("certifications_rels_parent_idx").on(columns.parent), + index("certifications_rels_path_idx").on(columns.path), + index("certifications_rels_locations_id_idx").on(columns.locationsID), + index("certifications_rels_services_id_idx").on(columns.servicesID), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [certifications.id], + name: "certifications_rels_parent_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["locationsID"]], + foreignColumns: [locations.id], + name: "certifications_rels_locations_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["servicesID"]], + foreignColumns: [services.id], + name: "certifications_rels_services_fk", + }).onDelete("cascade"), + ], +); + +export const projects_genres = pgTable( + "projects_genres", + { + order: integer("order").notNull(), + parent: integer("parent_id").notNull(), + value: enum_projects_genres("value"), + id: serial("id").primaryKey(), + }, + (columns) => [ + index("projects_genres_order_idx").on(columns.order), + index("projects_genres_parent_idx").on(columns.parent), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [projects.id], + name: "projects_genres_parent_fk", + }).onDelete("cascade"), + ], +); + +export const projects_platforms = pgTable( + "projects_platforms", + { + order: integer("order").notNull(), + parent: integer("parent_id").notNull(), + value: enum_projects_platforms("value"), + id: serial("id").primaryKey(), + }, + (columns) => [ + index("projects_platforms_order_idx").on(columns.order), + index("projects_platforms_parent_idx").on(columns.parent), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [projects.id], + name: "projects_platforms_parent_fk", + }).onDelete("cascade"), + ], +); + +export const projects_screenshots = pgTable( + "projects_screenshots", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + image: integer("image_id") + .notNull() + .references(() => media.id, { + onDelete: "set null", + }), + }, + (columns) => [ + index("projects_screenshots_order_idx").on(columns._order), + index("projects_screenshots_parent_id_idx").on(columns._parentID), + index("projects_screenshots_image_idx").on(columns.image), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_screenshots_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_screenshots_locales = pgTable( + "projects_screenshots_locales", + { + caption: varchar("caption"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("projects_screenshots_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects_screenshots.id], + name: "projects_screenshots_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_videos = pgTable( + "projects_videos", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + type: enum_projects_videos_type("type").notNull(), + url: varchar("url").notNull(), + thumbnail: integer("thumbnail_id").references(() => media.id, { + onDelete: "set null", + }), + }, + (columns) => [ + index("projects_videos_order_idx").on(columns._order), + index("projects_videos_parent_id_idx").on(columns._parentID), + index("projects_videos_thumbnail_idx").on(columns.thumbnail), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_videos_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_videos_locales = pgTable( + "projects_videos_locales", + { + title: varchar("title"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("projects_videos_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects_videos.id], + name: "projects_videos_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_tech_stack_languages = pgTable( + "projects_tech_stack_languages", + { + order: integer("order").notNull(), + parent: integer("parent_id").notNull(), + value: enum_projects_tech_stack_languages("value"), + id: serial("id").primaryKey(), + }, + (columns) => [ + index("projects_tech_stack_languages_order_idx").on(columns.order), + index("projects_tech_stack_languages_parent_idx").on(columns.parent), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [projects.id], + name: "projects_tech_stack_languages_parent_fk", + }).onDelete("cascade"), + ], +); + +export const projects_downloads = pgTable( + "projects_downloads", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + title: varchar("title").notNull(), + platform: enum_projects_downloads_platform("platform"), + version: varchar("version"), + file: integer("file_id").references(() => media.id, { + onDelete: "set null", + }), + externalUrl: varchar("external_url"), + size: varchar("size"), + }, + (columns) => [ + index("projects_downloads_order_idx").on(columns._order), + index("projects_downloads_parent_id_idx").on(columns._parentID), + index("projects_downloads_file_idx").on(columns.file), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_downloads_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_features = pgTable( + "projects_features", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + icon: integer("icon_id").references(() => media.id, { + onDelete: "set null", + }), + }, + (columns) => [ + index("projects_features_order_idx").on(columns._order), + index("projects_features_parent_id_idx").on(columns._parentID), + index("projects_features_icon_idx").on(columns.icon), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_features_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_features_locales = pgTable( + "projects_features_locales", + { + title: varchar("title").notNull(), + description: varchar("description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("projects_features_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects_features.id], + name: "projects_features_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_team = pgTable( + "projects_team", + { + _order: integer("_order").notNull(), + _parentID: integer("_parent_id").notNull(), + id: varchar("id").primaryKey(), + name: varchar("name").notNull(), + link: varchar("link"), + avatar: integer("avatar_id").references(() => media.id, { + onDelete: "set null", + }), + }, + (columns) => [ + index("projects_team_order_idx").on(columns._order), + index("projects_team_parent_id_idx").on(columns._parentID), + index("projects_team_avatar_idx").on(columns.avatar), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_team_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_team_locales = pgTable( + "projects_team_locales", + { + role: varchar("role"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: varchar("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("projects_team_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects_team.id], + name: "projects_team_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects = pgTable( + "projects", + { + id: serial("id").primaryKey(), + tenant: integer("tenant_id").references(() => tenants.id, { + onDelete: "set null", + }), + slug: varchar("slug").notNull(), + type: enum_projects_type("type").notNull(), + featuredImage: integer("featured_image_id") + .notNull() + .references(() => media.id, { + onDelete: "set null", + }), + logo: integer("logo_id").references(() => media.id, { + onDelete: "set null", + }), + techStack_engine: enum_projects_tech_stack_engine("tech_stack_engine"), + techStack_tools: varchar("tech_stack_tools"), + requirements_minimum_os: varchar("requirements_minimum_os"), + requirements_minimum_cpu: varchar("requirements_minimum_cpu"), + requirements_minimum_ram: varchar("requirements_minimum_ram"), + requirements_minimum_gpu: varchar("requirements_minimum_gpu"), + requirements_minimum_storage: varchar("requirements_minimum_storage"), + requirements_recommended_os: varchar("requirements_recommended_os"), + requirements_recommended_cpu: varchar("requirements_recommended_cpu"), + requirements_recommended_ram: varchar("requirements_recommended_ram"), + requirements_recommended_gpu: varchar("requirements_recommended_gpu"), + requirements_recommended_storage: varchar("requirements_recommended_storage"), + releaseDate: timestamp("release_date", { mode: "string", withTimezone: true, precision: 3 }), + links_website: varchar("links_website"), + links_steam: varchar("links_steam"), + links_itchio: varchar("links_itchio"), + links_epicGames: varchar("links_epic_games"), + links_gog: varchar("links_gog"), + links_playStore: varchar("links_play_store"), + links_appStore: varchar("links_app_store"), + links_github: varchar("links_github"), + links_discord: varchar("links_discord"), + links_twitter: varchar("links_twitter"), + gameJam_jamName: varchar("game_jam_jam_name"), + gameJam_theme: varchar("game_jam_theme"), + gameJam_duration: varchar("game_jam_duration"), + gameJam_ranking: varchar("game_jam_ranking"), + gameJam_jamLink: varchar("game_jam_jam_link"), + status: enum_projects_status("status").notNull().default("development"), + visibility: enum_projects_visibility("visibility").default("public"), + featured: boolean("featured").default(false), + sortOrder: numeric("sort_order", { mode: "number" }).default(0), + seo_ogImage: integer("seo_og_image_id").references(() => media.id, { + onDelete: "set null", + }), + 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("projects_tenant_idx").on(columns.tenant), + uniqueIndex("projects_slug_idx").on(columns.slug), + index("projects_featured_image_idx").on(columns.featuredImage), + index("projects_logo_idx").on(columns.logo), + index("projects_seo_seo_og_image_idx").on(columns.seo_ogImage), + index("projects_updated_at_idx").on(columns.updatedAt), + index("projects_created_at_idx").on(columns.createdAt), + ], +); + +export const projects_locales = pgTable( + "projects_locales", + { + title: varchar("title").notNull(), + tagline: varchar("tagline"), + description: jsonb("description"), + shortDescription: varchar("short_description"), + seo_metaTitle: varchar("seo_meta_title"), + seo_metaDescription: varchar("seo_meta_description"), + id: serial("id").primaryKey(), + _locale: enum__locales("_locale").notNull(), + _parentID: integer("_parent_id").notNull(), + }, + (columns) => [ + uniqueIndex("projects_locales_locale_parent_id_unique").on(columns._locale, columns._parentID), + foreignKey({ + columns: [columns["_parentID"]], + foreignColumns: [projects.id], + name: "projects_locales_parent_id_fk", + }).onDelete("cascade"), + ], +); + +export const projects_rels = pgTable( + "projects_rels", + { + id: serial("id").primaryKey(), + order: integer("order"), + parent: integer("parent_id").notNull(), + path: varchar("path").notNull(), + postsID: integer("posts_id"), + }, + (columns) => [ + index("projects_rels_order_idx").on(columns.order), + index("projects_rels_parent_idx").on(columns.parent), + index("projects_rels_path_idx").on(columns.path), + index("projects_rels_posts_id_idx").on(columns.postsID), + foreignKey({ + columns: [columns["parent"]], + foreignColumns: [projects.id], + name: "projects_rels_parent_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["postsID"]], + foreignColumns: [posts.id], + name: "projects_rels_posts_fk", + }).onDelete("cascade"), + ], +); + export const cookie_configurations_enabled_categories = pgTable( "cookie_configurations_enabled_categories", { @@ -9541,6 +10924,8 @@ export const payload_locked_documents_rels = pgTable( "newsletter-subscribersID": integer("newsletter_subscribers_id"), "portfolio-categoriesID": integer("portfolio_categories_id"), portfoliosID: integer("portfolios_id"), + "video-categoriesID": integer("video_categories_id"), + videosID: integer("videos_id"), "product-categoriesID": integer("product_categories_id"), productsID: integer("products_id"), timelinesID: integer("timelines_id"), @@ -9552,6 +10937,9 @@ export const payload_locked_documents_rels = pgTable( jobsID: integer("jobs_id"), downloadsID: integer("downloads_id"), eventsID: integer("events_id"), + bookingsID: integer("bookings_id"), + certificationsID: integer("certifications_id"), + projectsID: integer("projects_id"), "cookie-configurationsID": integer("cookie_configurations_id"), "cookie-inventoryID": integer("cookie_inventory_id"), "consent-logsID": integer("consent_logs_id"), @@ -9581,6 +10969,8 @@ export const payload_locked_documents_rels = pgTable( index("payload_locked_documents_rels_newsletter_subscribers_id_idx").on(columns["newsletter-subscribersID"]), index("payload_locked_documents_rels_portfolio_categories_id_idx").on(columns["portfolio-categoriesID"]), index("payload_locked_documents_rels_portfolios_id_idx").on(columns.portfoliosID), + index("payload_locked_documents_rels_video_categories_id_idx").on(columns["video-categoriesID"]), + index("payload_locked_documents_rels_videos_id_idx").on(columns.videosID), index("payload_locked_documents_rels_product_categories_id_idx").on(columns["product-categoriesID"]), index("payload_locked_documents_rels_products_id_idx").on(columns.productsID), index("payload_locked_documents_rels_timelines_id_idx").on(columns.timelinesID), @@ -9592,6 +10982,9 @@ export const payload_locked_documents_rels = pgTable( index("payload_locked_documents_rels_jobs_id_idx").on(columns.jobsID), index("payload_locked_documents_rels_downloads_id_idx").on(columns.downloadsID), index("payload_locked_documents_rels_events_id_idx").on(columns.eventsID), + index("payload_locked_documents_rels_bookings_id_idx").on(columns.bookingsID), + index("payload_locked_documents_rels_certifications_id_idx").on(columns.certificationsID), + index("payload_locked_documents_rels_projects_id_idx").on(columns.projectsID), index("payload_locked_documents_rels_cookie_configurations_id_idx").on(columns["cookie-configurationsID"]), index("payload_locked_documents_rels_cookie_inventory_id_idx").on(columns["cookie-inventoryID"]), index("payload_locked_documents_rels_consent_logs_id_idx").on(columns["consent-logsID"]), @@ -9681,6 +11074,16 @@ export const payload_locked_documents_rels = pgTable( foreignColumns: [portfolios.id], name: "payload_locked_documents_rels_portfolios_fk", }).onDelete("cascade"), + foreignKey({ + columns: [columns["video-categoriesID"]], + foreignColumns: [video_categories.id], + name: "payload_locked_documents_rels_video_categories_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["videosID"]], + foreignColumns: [videos.id], + name: "payload_locked_documents_rels_videos_fk", + }).onDelete("cascade"), foreignKey({ columns: [columns["product-categoriesID"]], foreignColumns: [product_categories.id], @@ -9736,6 +11139,21 @@ export const payload_locked_documents_rels = pgTable( foreignColumns: [events.id], name: "payload_locked_documents_rels_events_fk", }).onDelete("cascade"), + foreignKey({ + columns: [columns["bookingsID"]], + foreignColumns: [bookings.id], + name: "payload_locked_documents_rels_bookings_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["certificationsID"]], + foreignColumns: [certifications.id], + name: "payload_locked_documents_rels_certifications_fk", + }).onDelete("cascade"), + foreignKey({ + columns: [columns["projectsID"]], + foreignColumns: [projects.id], + name: "payload_locked_documents_rels_projects_fk", + }).onDelete("cascade"), foreignKey({ columns: [columns["cookie-configurationsID"]], foreignColumns: [cookie_configurations.id], @@ -10586,6 +12004,21 @@ export const relations_pages_blocks_video_block = relations(pages_blocks_video_b _locales: many(pages_blocks_video_block_locales, { relationName: "_locales", }), + videoFromLibrary: one(videos, { + fields: [pages_blocks_video_block.videoFromLibrary], + references: [videos.id], + relationName: "videoFromLibrary", + }), + videoFile: one(media, { + fields: [pages_blocks_video_block.videoFile], + references: [media.id], + relationName: "videoFile", + }), + thumbnail: one(media, { + fields: [pages_blocks_video_block.thumbnail], + references: [media.id], + relationName: "thumbnail", + }), })); export const relations_pages_blocks_posts_list_block_locales = relations( pages_blocks_posts_list_block_locales, @@ -11829,6 +13262,59 @@ export const relations_pages_blocks_comparison = relations(pages_blocks_comparis relationName: "prosCons_items", }), })); +export const relations_pages_blocks_before_after_comparisons_locales = relations( + pages_blocks_before_after_comparisons_locales, + ({ one }) => ({ + _parentID: one(pages_blocks_before_after_comparisons, { + fields: [pages_blocks_before_after_comparisons_locales._parentID], + references: [pages_blocks_before_after_comparisons.id], + relationName: "_locales", + }), + }), +); +export const relations_pages_blocks_before_after_comparisons = relations( + pages_blocks_before_after_comparisons, + ({ one, many }) => ({ + _parentID: one(pages_blocks_before_after, { + fields: [pages_blocks_before_after_comparisons._parentID], + references: [pages_blocks_before_after.id], + relationName: "comparisons", + }), + _locales: many(pages_blocks_before_after_comparisons_locales, { + relationName: "_locales", + }), + beforeImage: one(media, { + fields: [pages_blocks_before_after_comparisons.beforeImage], + references: [media.id], + relationName: "beforeImage", + }), + afterImage: one(media, { + fields: [pages_blocks_before_after_comparisons.afterImage], + references: [media.id], + relationName: "afterImage", + }), + }), +); +export const relations_pages_blocks_before_after_locales = relations(pages_blocks_before_after_locales, ({ one }) => ({ + _parentID: one(pages_blocks_before_after, { + fields: [pages_blocks_before_after_locales._parentID], + references: [pages_blocks_before_after.id], + relationName: "_locales", + }), +})); +export const relations_pages_blocks_before_after = relations(pages_blocks_before_after, ({ one, many }) => ({ + _parentID: one(pages, { + fields: [pages_blocks_before_after._parentID], + references: [pages.id], + relationName: "_blocks_before-after", + }), + _locales: many(pages_blocks_before_after_locales, { + relationName: "_locales", + }), + comparisons: many(pages_blocks_before_after_comparisons, { + relationName: "comparisons", + }), +})); export const relations_pages_locales = relations(pages_locales, ({ one }) => ({ _parentID: one(pages, { fields: [pages_locales._parentID], @@ -12022,6 +13508,9 @@ export const relations_pages = relations(pages, ({ one, many }) => ({ _blocks_comparison: many(pages_blocks_comparison, { relationName: "_blocks_comparison", }), + "_blocks_before-after": many(pages_blocks_before_after, { + relationName: "_blocks_before-after", + }), seo_ogImage: one(media, { fields: [pages.seo_ogImage], references: [media.id], @@ -12074,6 +13563,16 @@ export const relations_posts = relations(posts, ({ one, many }) => ({ references: [media.id], relationName: "featuredImage", }), + featuredVideo_video: one(videos, { + fields: [posts.featuredVideo_video], + references: [videos.id], + relationName: "featuredVideo_video", + }), + featuredVideo_uploadedVideo: one(media, { + fields: [posts.featuredVideo_uploadedVideo], + references: [media.id], + relationName: "featuredVideo_uploadedVideo", + }), author: one(authors, { fields: [posts.author], references: [authors.id], @@ -12526,6 +14025,90 @@ export const relations_portfolios = relations(portfolios, ({ one, many }) => ({ relationName: "_texts", }), })); +export const relations_video_categories_locales = relations(video_categories_locales, ({ one }) => ({ + _parentID: one(video_categories, { + fields: [video_categories_locales._parentID], + references: [video_categories.id], + relationName: "_locales", + }), +})); +export const relations_video_categories = relations(video_categories, ({ one, many }) => ({ + tenant: one(tenants, { + fields: [video_categories.tenant], + references: [tenants.id], + relationName: "tenant", + }), + coverImage: one(media, { + fields: [video_categories.coverImage], + references: [media.id], + relationName: "coverImage", + }), + _locales: many(video_categories_locales, { + relationName: "_locales", + }), +})); +export const relations_videos_locales = relations(videos_locales, ({ one }) => ({ + _parentID: one(videos, { + fields: [videos_locales._parentID], + references: [videos.id], + relationName: "_locales", + }), +})); +export const relations_videos_rels = relations(videos_rels, ({ one }) => ({ + parent: one(videos, { + fields: [videos_rels.parent], + references: [videos.id], + relationName: "_rels", + }), + tagsID: one(tags, { + fields: [videos_rels.tagsID], + references: [tags.id], + relationName: "tags", + }), + videosID: one(videos, { + fields: [videos_rels.videosID], + references: [videos.id], + relationName: "videos", + }), + postsID: one(posts, { + fields: [videos_rels.postsID], + references: [posts.id], + relationName: "posts", + }), +})); +export const relations_videos = relations(videos, ({ one, many }) => ({ + tenant: one(tenants, { + fields: [videos.tenant], + references: [tenants.id], + relationName: "tenant", + }), + videoFile: one(media, { + fields: [videos.videoFile], + references: [media.id], + relationName: "videoFile", + }), + thumbnail: one(media, { + fields: [videos.thumbnail], + references: [media.id], + relationName: "thumbnail", + }), + category: one(video_categories, { + fields: [videos.category], + references: [video_categories.id], + relationName: "category", + }), + seo_ogImage: one(media, { + fields: [videos.seo_ogImage], + references: [media.id], + relationName: "seo_ogImage", + }), + _locales: many(videos_locales, { + relationName: "_locales", + }), + _rels: many(videos_rels, { + relationName: "_rels", + }), +})); export const relations_product_categories_locales = relations(product_categories_locales, ({ one }) => ({ _parentID: one(product_categories, { fields: [product_categories_locales._parentID], @@ -13482,6 +15065,375 @@ export const relations_events = relations(events, ({ one, many }) => ({ relationName: "_rels", }), })); +export const relations_bookings_reference_images = relations(bookings_reference_images, ({ one }) => ({ + _parentID: one(bookings, { + fields: [bookings_reference_images._parentID], + references: [bookings.id], + relationName: "referenceImages", + }), + image: one(media, { + fields: [bookings_reference_images.image], + references: [media.id], + relationName: "image", + }), +})); +export const relations_bookings_internal_notes = relations(bookings_internal_notes, ({ one }) => ({ + _parentID: one(bookings, { + fields: [bookings_internal_notes._parentID], + references: [bookings.id], + relationName: "internalNotes", + }), + author: one(users, { + fields: [bookings_internal_notes.author], + references: [users.id], + relationName: "author", + }), +})); +export const relations_bookings_contact_history = relations(bookings_contact_history, ({ one }) => ({ + _parentID: one(bookings, { + fields: [bookings_contact_history._parentID], + references: [bookings.id], + relationName: "contactHistory", + }), +})); +export const relations_bookings = relations(bookings, ({ one, many }) => ({ + tenant: one(tenants, { + fields: [bookings.tenant], + references: [tenants.id], + relationName: "tenant", + }), + service: one(services, { + fields: [bookings.service], + references: [services.id], + relationName: "service", + }), + referenceImages: many(bookings_reference_images, { + relationName: "referenceImages", + }), + internalNotes: many(bookings_internal_notes, { + relationName: "internalNotes", + }), + contactHistory: many(bookings_contact_history, { + relationName: "contactHistory", + }), + assignedTo: one(users, { + fields: [bookings.assignedTo], + references: [users.id], + relationName: "assignedTo", + }), +})); +export const relations_certifications_gallery = relations(certifications_gallery, ({ one }) => ({ + _parentID: one(certifications, { + fields: [certifications_gallery._parentID], + references: [certifications.id], + relationName: "gallery", + }), + document: one(media, { + fields: [certifications_gallery.document], + references: [media.id], + relationName: "document", + }), +})); +export const relations_certifications_requirements_locales = relations( + certifications_requirements_locales, + ({ one }) => ({ + _parentID: one(certifications_requirements, { + fields: [certifications_requirements_locales._parentID], + references: [certifications_requirements.id], + relationName: "_locales", + }), + }), +); +export const relations_certifications_requirements = relations(certifications_requirements, ({ one, many }) => ({ + _parentID: one(certifications, { + fields: [certifications_requirements._parentID], + references: [certifications.id], + relationName: "requirements", + }), + _locales: many(certifications_requirements_locales, { + relationName: "_locales", + }), +})); +export const relations_certifications_benefits_locales = relations(certifications_benefits_locales, ({ one }) => ({ + _parentID: one(certifications_benefits, { + fields: [certifications_benefits_locales._parentID], + references: [certifications_benefits.id], + relationName: "_locales", + }), +})); +export const relations_certifications_benefits = relations(certifications_benefits, ({ one, many }) => ({ + _parentID: one(certifications, { + fields: [certifications_benefits._parentID], + references: [certifications.id], + relationName: "benefits", + }), + _locales: many(certifications_benefits_locales, { + relationName: "_locales", + }), +})); +export const relations_certifications_audits = relations(certifications_audits, ({ one }) => ({ + _parentID: one(certifications, { + fields: [certifications_audits._parentID], + references: [certifications.id], + relationName: "audits", + }), +})); +export const relations_certifications_locales = relations(certifications_locales, ({ one }) => ({ + _parentID: one(certifications, { + fields: [certifications_locales._parentID], + references: [certifications.id], + relationName: "_locales", + }), +})); +export const relations_certifications_rels = relations(certifications_rels, ({ one }) => ({ + parent: one(certifications, { + fields: [certifications_rels.parent], + references: [certifications.id], + relationName: "_rels", + }), + locationsID: one(locations, { + fields: [certifications_rels.locationsID], + references: [locations.id], + relationName: "locations", + }), + servicesID: one(services, { + fields: [certifications_rels.servicesID], + references: [services.id], + relationName: "services", + }), +})); +export const relations_certifications = relations(certifications, ({ one, many }) => ({ + tenant: one(tenants, { + fields: [certifications.tenant], + references: [tenants.id], + relationName: "tenant", + }), + issuer_logo: one(media, { + fields: [certifications.issuer_logo], + references: [media.id], + relationName: "issuer_logo", + }), + logo: one(media, { + fields: [certifications.logo], + references: [media.id], + relationName: "logo", + }), + certificate: one(media, { + fields: [certifications.certificate], + references: [media.id], + relationName: "certificate", + }), + gallery: many(certifications_gallery, { + relationName: "gallery", + }), + requirements: many(certifications_requirements, { + relationName: "requirements", + }), + benefits: many(certifications_benefits, { + relationName: "benefits", + }), + audits: many(certifications_audits, { + relationName: "audits", + }), + _locales: many(certifications_locales, { + relationName: "_locales", + }), + _rels: many(certifications_rels, { + relationName: "_rels", + }), +})); +export const relations_projects_genres = relations(projects_genres, ({ one }) => ({ + parent: one(projects, { + fields: [projects_genres.parent], + references: [projects.id], + relationName: "genres", + }), +})); +export const relations_projects_platforms = relations(projects_platforms, ({ one }) => ({ + parent: one(projects, { + fields: [projects_platforms.parent], + references: [projects.id], + relationName: "platforms", + }), +})); +export const relations_projects_screenshots_locales = relations(projects_screenshots_locales, ({ one }) => ({ + _parentID: one(projects_screenshots, { + fields: [projects_screenshots_locales._parentID], + references: [projects_screenshots.id], + relationName: "_locales", + }), +})); +export const relations_projects_screenshots = relations(projects_screenshots, ({ one, many }) => ({ + _parentID: one(projects, { + fields: [projects_screenshots._parentID], + references: [projects.id], + relationName: "screenshots", + }), + _locales: many(projects_screenshots_locales, { + relationName: "_locales", + }), + image: one(media, { + fields: [projects_screenshots.image], + references: [media.id], + relationName: "image", + }), +})); +export const relations_projects_videos_locales = relations(projects_videos_locales, ({ one }) => ({ + _parentID: one(projects_videos, { + fields: [projects_videos_locales._parentID], + references: [projects_videos.id], + relationName: "_locales", + }), +})); +export const relations_projects_videos = relations(projects_videos, ({ one, many }) => ({ + _parentID: one(projects, { + fields: [projects_videos._parentID], + references: [projects.id], + relationName: "videos", + }), + _locales: many(projects_videos_locales, { + relationName: "_locales", + }), + thumbnail: one(media, { + fields: [projects_videos.thumbnail], + references: [media.id], + relationName: "thumbnail", + }), +})); +export const relations_projects_tech_stack_languages = relations(projects_tech_stack_languages, ({ one }) => ({ + parent: one(projects, { + fields: [projects_tech_stack_languages.parent], + references: [projects.id], + relationName: "techStack_languages", + }), +})); +export const relations_projects_downloads = relations(projects_downloads, ({ one }) => ({ + _parentID: one(projects, { + fields: [projects_downloads._parentID], + references: [projects.id], + relationName: "downloads", + }), + file: one(media, { + fields: [projects_downloads.file], + references: [media.id], + relationName: "file", + }), +})); +export const relations_projects_features_locales = relations(projects_features_locales, ({ one }) => ({ + _parentID: one(projects_features, { + fields: [projects_features_locales._parentID], + references: [projects_features.id], + relationName: "_locales", + }), +})); +export const relations_projects_features = relations(projects_features, ({ one, many }) => ({ + _parentID: one(projects, { + fields: [projects_features._parentID], + references: [projects.id], + relationName: "features", + }), + _locales: many(projects_features_locales, { + relationName: "_locales", + }), + icon: one(media, { + fields: [projects_features.icon], + references: [media.id], + relationName: "icon", + }), +})); +export const relations_projects_team_locales = relations(projects_team_locales, ({ one }) => ({ + _parentID: one(projects_team, { + fields: [projects_team_locales._parentID], + references: [projects_team.id], + relationName: "_locales", + }), +})); +export const relations_projects_team = relations(projects_team, ({ one, many }) => ({ + _parentID: one(projects, { + fields: [projects_team._parentID], + references: [projects.id], + relationName: "team", + }), + _locales: many(projects_team_locales, { + relationName: "_locales", + }), + avatar: one(media, { + fields: [projects_team.avatar], + references: [media.id], + relationName: "avatar", + }), +})); +export const relations_projects_locales = relations(projects_locales, ({ one }) => ({ + _parentID: one(projects, { + fields: [projects_locales._parentID], + references: [projects.id], + relationName: "_locales", + }), +})); +export const relations_projects_rels = relations(projects_rels, ({ one }) => ({ + parent: one(projects, { + fields: [projects_rels.parent], + references: [projects.id], + relationName: "_rels", + }), + postsID: one(posts, { + fields: [projects_rels.postsID], + references: [posts.id], + relationName: "posts", + }), +})); +export const relations_projects = relations(projects, ({ one, many }) => ({ + tenant: one(tenants, { + fields: [projects.tenant], + references: [tenants.id], + relationName: "tenant", + }), + genres: many(projects_genres, { + relationName: "genres", + }), + platforms: many(projects_platforms, { + relationName: "platforms", + }), + featuredImage: one(media, { + fields: [projects.featuredImage], + references: [media.id], + relationName: "featuredImage", + }), + logo: one(media, { + fields: [projects.logo], + references: [media.id], + relationName: "logo", + }), + screenshots: many(projects_screenshots, { + relationName: "screenshots", + }), + videos: many(projects_videos, { + relationName: "videos", + }), + techStack_languages: many(projects_tech_stack_languages, { + relationName: "techStack_languages", + }), + downloads: many(projects_downloads, { + relationName: "downloads", + }), + features: many(projects_features, { + relationName: "features", + }), + team: many(projects_team, { + relationName: "team", + }), + seo_ogImage: one(media, { + fields: [projects.seo_ogImage], + references: [media.id], + relationName: "seo_ogImage", + }), + _locales: many(projects_locales, { + relationName: "_locales", + }), + _rels: many(projects_rels, { + relationName: "_rels", + }), +})); export const relations_cookie_configurations_enabled_categories = relations( cookie_configurations_enabled_categories, ({ one }) => ({ @@ -13868,6 +15820,16 @@ export const relations_payload_locked_documents_rels = relations(payload_locked_ references: [portfolios.id], relationName: "portfolios", }), + "video-categoriesID": one(video_categories, { + fields: [payload_locked_documents_rels["video-categoriesID"]], + references: [video_categories.id], + relationName: "video-categories", + }), + videosID: one(videos, { + fields: [payload_locked_documents_rels.videosID], + references: [videos.id], + relationName: "videos", + }), "product-categoriesID": one(product_categories, { fields: [payload_locked_documents_rels["product-categoriesID"]], references: [product_categories.id], @@ -13923,6 +15885,21 @@ export const relations_payload_locked_documents_rels = relations(payload_locked_ references: [events.id], relationName: "events", }), + bookingsID: one(bookings, { + fields: [payload_locked_documents_rels.bookingsID], + references: [bookings.id], + relationName: "bookings", + }), + certificationsID: one(certifications, { + fields: [payload_locked_documents_rels.certificationsID], + references: [certifications.id], + relationName: "certifications", + }), + projectsID: one(projects, { + fields: [payload_locked_documents_rels.projectsID], + references: [projects.id], + relationName: "projects", + }), "cookie-configurationsID": one(cookie_configurations, { fields: [payload_locked_documents_rels["cookie-configurationsID"]], references: [cookie_configurations.id], @@ -14207,7 +16184,12 @@ type DatabaseSchema = { enum_pages_blocks_timeline_block_background_color: typeof enum_pages_blocks_timeline_block_background_color; enum_pages_blocks_divider_block_style: typeof enum_pages_blocks_divider_block_style; enum_pages_blocks_divider_block_spacing: typeof enum_pages_blocks_divider_block_spacing; + enum_pages_blocks_video_block_source_type: typeof enum_pages_blocks_video_block_source_type; enum_pages_blocks_video_block_aspect_ratio: typeof enum_pages_blocks_video_block_aspect_ratio; + enum_pages_blocks_video_block_size: typeof enum_pages_blocks_video_block_size; + enum_pages_blocks_video_block_alignment: typeof enum_pages_blocks_video_block_alignment; + enum_pages_blocks_video_block_style_rounded: typeof enum_pages_blocks_video_block_style_rounded; + enum_pages_blocks_video_block_style_shadow: typeof enum_pages_blocks_video_block_style_shadow; enum_pages_blocks_posts_list_block_post_type: typeof enum_pages_blocks_posts_list_block_post_type; enum_pages_blocks_posts_list_block_layout: typeof enum_pages_blocks_posts_list_block_layout; enum_pages_blocks_posts_list_block_columns: typeof enum_pages_blocks_posts_list_block_columns; @@ -14440,8 +16422,24 @@ type DatabaseSchema = { enum_pages_blocks_comparison_table_style: typeof enum_pages_blocks_comparison_table_style; enum_pages_blocks_comparison_check_color: typeof enum_pages_blocks_comparison_check_color; enum_pages_blocks_comparison_cross_color: typeof enum_pages_blocks_comparison_cross_color; + enum_pages_blocks_before_after_comparisons_category: typeof enum_pages_blocks_before_after_comparisons_category; + enum_pages_blocks_before_after_display_style: typeof enum_pages_blocks_before_after_display_style; + enum_pages_blocks_before_after_slider_orientation: typeof enum_pages_blocks_before_after_slider_orientation; + enum_pages_blocks_before_after_layout: typeof enum_pages_blocks_before_after_layout; + enum_pages_blocks_before_after_aspect_ratio: typeof enum_pages_blocks_before_after_aspect_ratio; + enum_pages_blocks_before_after_slider_handle_style: typeof enum_pages_blocks_before_after_slider_handle_style; + enum_pages_blocks_before_after_slider_handle_color: typeof enum_pages_blocks_before_after_slider_handle_color; + enum_pages_blocks_before_after_slider_handle_size: typeof enum_pages_blocks_before_after_slider_handle_size; + enum_pages_blocks_before_after_label_position: typeof enum_pages_blocks_before_after_label_position; + enum_pages_blocks_before_after_label_style: typeof enum_pages_blocks_before_after_label_style; + enum_pages_blocks_before_after_cta_cta_style: typeof enum_pages_blocks_before_after_cta_cta_style; + enum_pages_blocks_before_after_background_color: typeof enum_pages_blocks_before_after_background_color; + enum_pages_blocks_before_after_border_radius: typeof enum_pages_blocks_before_after_border_radius; + enum_pages_blocks_before_after_shadow: typeof enum_pages_blocks_before_after_shadow; + enum_pages_blocks_before_after_spacing: typeof enum_pages_blocks_before_after_spacing; enum_pages_status: typeof enum_pages_status; enum_posts_type: typeof enum_posts_type; + enum_posts_featured_video_source: typeof enum_posts_featured_video_source; enum_posts_status: typeof enum_posts_status; enum_social_links_platform: typeof enum_social_links_platform; enum_team_social_links_platform: typeof enum_team_social_links_platform; @@ -14452,6 +16450,10 @@ type DatabaseSchema = { enum_newsletter_subscribers_interests: typeof enum_newsletter_subscribers_interests; enum_newsletter_subscribers_status: typeof enum_newsletter_subscribers_status; enum_portfolios_status: typeof enum_portfolios_status; + enum_videos_source: typeof enum_videos_source; + enum_videos_video_type: typeof enum_videos_video_type; + enum_videos_aspect_ratio: typeof enum_videos_aspect_ratio; + enum_videos_status: typeof enum_videos_status; enum_products_pricing_currency: typeof enum_products_pricing_currency; enum_products_pricing_price_type: typeof enum_products_pricing_price_type; enum_products_inventory_stock_status: typeof enum_products_inventory_stock_status; @@ -14501,6 +16503,31 @@ type DatabaseSchema = { enum_events_online_platform: typeof enum_events_online_platform; enum_events_registration_method: typeof enum_events_registration_method; enum_events_status: typeof enum_events_status; + enum_bookings_contact_history_type: typeof enum_bookings_contact_history_type; + enum_bookings_service_type: typeof enum_bookings_service_type; + enum_bookings_duration: typeof enum_bookings_duration; + enum_bookings_location_type: typeof enum_bookings_location_type; + enum_bookings_status: typeof enum_bookings_status; + enum_bookings_priority: typeof enum_bookings_priority; + enum_bookings_source: typeof enum_bookings_source; + enum_certifications_benefits_icon: typeof enum_certifications_benefits_icon; + enum_certifications_audits_type: typeof enum_certifications_audits_type; + enum_certifications_audits_result: typeof enum_certifications_audits_result; + enum_certifications_type: typeof enum_certifications_type; + enum_certifications_category: typeof enum_certifications_category; + enum_certifications_issuer_country: typeof enum_certifications_issuer_country; + enum_certifications_renewal_cycle: typeof enum_certifications_renewal_cycle; + enum_certifications_status: typeof enum_certifications_status; + enum_certifications_visibility: typeof enum_certifications_visibility; + enum_projects_genres: typeof enum_projects_genres; + enum_projects_platforms: typeof enum_projects_platforms; + enum_projects_videos_type: typeof enum_projects_videos_type; + enum_projects_tech_stack_languages: typeof enum_projects_tech_stack_languages; + enum_projects_downloads_platform: typeof enum_projects_downloads_platform; + enum_projects_type: typeof enum_projects_type; + enum_projects_tech_stack_engine: typeof enum_projects_tech_stack_engine; + enum_projects_status: typeof enum_projects_status; + enum_projects_visibility: typeof enum_projects_visibility; enum_cookie_configurations_enabled_categories: typeof enum_cookie_configurations_enabled_categories; enum_cookie_configurations_styling_position: typeof enum_cookie_configurations_styling_position; enum_cookie_configurations_styling_theme: typeof enum_cookie_configurations_styling_theme; @@ -14662,6 +16689,10 @@ type DatabaseSchema = { pages_blocks_comparison_pros_cons_items_locales: typeof pages_blocks_comparison_pros_cons_items_locales; pages_blocks_comparison: typeof pages_blocks_comparison; pages_blocks_comparison_locales: typeof pages_blocks_comparison_locales; + pages_blocks_before_after_comparisons: typeof pages_blocks_before_after_comparisons; + pages_blocks_before_after_comparisons_locales: typeof pages_blocks_before_after_comparisons_locales; + pages_blocks_before_after: typeof pages_blocks_before_after; + pages_blocks_before_after_locales: typeof pages_blocks_before_after_locales; pages: typeof pages; pages_locales: typeof pages_locales; pages_rels: typeof pages_rels; @@ -14705,6 +16736,11 @@ type DatabaseSchema = { portfolios: typeof portfolios; portfolios_locales: typeof portfolios_locales; portfolios_texts: typeof portfolios_texts; + video_categories: typeof video_categories; + video_categories_locales: typeof video_categories_locales; + videos: typeof videos; + videos_locales: typeof videos_locales; + videos_rels: typeof videos_rels; product_categories: typeof product_categories; product_categories_locales: typeof product_categories_locales; products_tags: typeof products_tags; @@ -14780,6 +16816,34 @@ type DatabaseSchema = { events: typeof events; events_locales: typeof events_locales; events_rels: typeof events_rels; + bookings_reference_images: typeof bookings_reference_images; + bookings_internal_notes: typeof bookings_internal_notes; + bookings_contact_history: typeof bookings_contact_history; + bookings: typeof bookings; + certifications_gallery: typeof certifications_gallery; + certifications_requirements: typeof certifications_requirements; + certifications_requirements_locales: typeof certifications_requirements_locales; + certifications_benefits: typeof certifications_benefits; + certifications_benefits_locales: typeof certifications_benefits_locales; + certifications_audits: typeof certifications_audits; + certifications: typeof certifications; + certifications_locales: typeof certifications_locales; + certifications_rels: typeof certifications_rels; + projects_genres: typeof projects_genres; + projects_platforms: typeof projects_platforms; + projects_screenshots: typeof projects_screenshots; + projects_screenshots_locales: typeof projects_screenshots_locales; + projects_videos: typeof projects_videos; + projects_videos_locales: typeof projects_videos_locales; + projects_tech_stack_languages: typeof projects_tech_stack_languages; + projects_downloads: typeof projects_downloads; + projects_features: typeof projects_features; + projects_features_locales: typeof projects_features_locales; + projects_team: typeof projects_team; + projects_team_locales: typeof projects_team_locales; + projects: typeof projects; + projects_locales: typeof projects_locales; + projects_rels: typeof projects_rels; cookie_configurations_enabled_categories: typeof cookie_configurations_enabled_categories; cookie_configurations: typeof cookie_configurations; cookie_inventory: typeof cookie_inventory; @@ -14973,6 +17037,10 @@ type DatabaseSchema = { relations_pages_blocks_comparison_pros_cons_items: typeof relations_pages_blocks_comparison_pros_cons_items; relations_pages_blocks_comparison_locales: typeof relations_pages_blocks_comparison_locales; relations_pages_blocks_comparison: typeof relations_pages_blocks_comparison; + relations_pages_blocks_before_after_comparisons_locales: typeof relations_pages_blocks_before_after_comparisons_locales; + relations_pages_blocks_before_after_comparisons: typeof relations_pages_blocks_before_after_comparisons; + relations_pages_blocks_before_after_locales: typeof relations_pages_blocks_before_after_locales; + relations_pages_blocks_before_after: typeof relations_pages_blocks_before_after; relations_pages_locales: typeof relations_pages_locales; relations_pages_rels: typeof relations_pages_rels; relations_pages: typeof relations_pages; @@ -15016,6 +17084,11 @@ type DatabaseSchema = { relations_portfolios_locales: typeof relations_portfolios_locales; relations_portfolios_texts: typeof relations_portfolios_texts; relations_portfolios: typeof relations_portfolios; + relations_video_categories_locales: typeof relations_video_categories_locales; + relations_video_categories: typeof relations_video_categories; + relations_videos_locales: typeof relations_videos_locales; + relations_videos_rels: typeof relations_videos_rels; + relations_videos: typeof relations_videos; relations_product_categories_locales: typeof relations_product_categories_locales; relations_product_categories: typeof relations_product_categories; relations_products_tags: typeof relations_products_tags; @@ -15091,6 +17164,34 @@ type DatabaseSchema = { relations_events_locales: typeof relations_events_locales; relations_events_rels: typeof relations_events_rels; relations_events: typeof relations_events; + relations_bookings_reference_images: typeof relations_bookings_reference_images; + relations_bookings_internal_notes: typeof relations_bookings_internal_notes; + relations_bookings_contact_history: typeof relations_bookings_contact_history; + relations_bookings: typeof relations_bookings; + relations_certifications_gallery: typeof relations_certifications_gallery; + relations_certifications_requirements_locales: typeof relations_certifications_requirements_locales; + relations_certifications_requirements: typeof relations_certifications_requirements; + relations_certifications_benefits_locales: typeof relations_certifications_benefits_locales; + relations_certifications_benefits: typeof relations_certifications_benefits; + relations_certifications_audits: typeof relations_certifications_audits; + relations_certifications_locales: typeof relations_certifications_locales; + relations_certifications_rels: typeof relations_certifications_rels; + relations_certifications: typeof relations_certifications; + relations_projects_genres: typeof relations_projects_genres; + relations_projects_platforms: typeof relations_projects_platforms; + relations_projects_screenshots_locales: typeof relations_projects_screenshots_locales; + relations_projects_screenshots: typeof relations_projects_screenshots; + relations_projects_videos_locales: typeof relations_projects_videos_locales; + relations_projects_videos: typeof relations_projects_videos; + relations_projects_tech_stack_languages: typeof relations_projects_tech_stack_languages; + relations_projects_downloads: typeof relations_projects_downloads; + relations_projects_features_locales: typeof relations_projects_features_locales; + relations_projects_features: typeof relations_projects_features; + relations_projects_team_locales: typeof relations_projects_team_locales; + relations_projects_team: typeof relations_projects_team; + relations_projects_locales: typeof relations_projects_locales; + relations_projects_rels: typeof relations_projects_rels; + relations_projects: typeof relations_projects; relations_cookie_configurations_enabled_categories: typeof relations_cookie_configurations_enabled_categories; relations_cookie_configurations: typeof relations_cookie_configurations; relations_cookie_inventory: typeof relations_cookie_inventory;