Files
klz-cables.com/.pnpm-store/v10/files/b7/a61b770584d735336808707576137d6c38bde2c0162d24b6598b59b30875aa9082ea330c76b53c56c699714102f12bbd4cbaddfe6513fb460dfb962386395a
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

1 line
9.7 KiB
Plaintext

{"version":3,"sources":["../../../src/postgres/schema/buildDrizzleTable.ts"],"sourcesContent":["import type { ForeignKeyBuilder, IndexBuilder } from 'drizzle-orm/pg-core'\n\nimport {\n bit,\n boolean,\n foreignKey,\n halfvec,\n index,\n integer,\n jsonb,\n numeric,\n serial,\n sparsevec,\n text,\n timestamp,\n uniqueIndex,\n uuid,\n varchar,\n vector,\n} from 'drizzle-orm/pg-core'\n\nimport type { RawColumn, RawTable } from '../../types.js'\nimport type { BasePostgresAdapter } from '../types.js'\n\nimport { geometryColumn } from './geometryColumn.js'\n\nconst rawColumnBuilderMap: Partial<Record<RawColumn['type'], any>> = {\n boolean,\n geometry: geometryColumn,\n integer,\n jsonb,\n numeric,\n serial,\n text,\n uuid,\n varchar,\n}\n\nexport const buildDrizzleTable = ({\n adapter,\n rawTable,\n}: {\n adapter: BasePostgresAdapter\n rawTable: RawTable\n}) => {\n const columns: Record<string, any> = {}\n\n for (const [key, column] of Object.entries(rawTable.columns)) {\n switch (column.type) {\n case 'bit': {\n const builder = bit(column.name, { dimensions: column.dimensions })\n\n columns[key] = builder\n\n break\n }\n\n case 'enum':\n if ('locale' in column) {\n columns[key] = adapter.enums.enum__locales(column.name)\n } else {\n adapter.enums[column.enumName] = adapter.pgSchema.enum(\n column.enumName,\n column.options as [string, ...string[]],\n )\n columns[key] = adapter.enums[column.enumName](column.name)\n }\n break\n\n case 'halfvec': {\n const builder = halfvec(column.name, { dimensions: column.dimensions })\n\n columns[key] = builder\n break\n }\n\n case 'numeric': {\n columns[key] = numeric(column.name, { mode: 'number' })\n break\n }\n\n case 'sparsevec': {\n const builder = sparsevec(column.name, { dimensions: column.dimensions })\n\n columns[key] = builder\n\n break\n }\n\n case 'timestamp': {\n let builder = timestamp(column.name, {\n mode: column.mode,\n precision: column.precision,\n withTimezone: column.withTimezone,\n })\n\n if (column.defaultNow) {\n builder = builder.defaultNow()\n }\n\n columns[key] = builder\n break\n }\n\n case 'uuid': {\n let builder = uuid(column.name)\n\n if (column.defaultRandom) {\n builder = builder.defaultRandom()\n }\n\n columns[key] = builder\n break\n }\n\n case 'vector': {\n const builder = vector(column.name, { dimensions: column.dimensions })\n columns[key] = builder\n\n break\n }\n\n default:\n columns[key] = rawColumnBuilderMap[column.type](column.name)\n break\n }\n\n if (column.reference) {\n columns[key].references(() => adapter.tables[column.reference.table][column.reference.name], {\n onDelete: column.reference.onDelete,\n })\n }\n\n if (column.primaryKey) {\n columns[key].primaryKey()\n }\n\n if (column.notNull) {\n columns[key].notNull()\n }\n\n if (typeof column.default !== 'undefined') {\n let sanitizedDefault = column.default\n\n if (column.type === 'geometry' && Array.isArray(column.default)) {\n sanitizedDefault = `SRID=4326;POINT(${column.default[0]} ${column.default[1]})`\n }\n\n columns[key].default(sanitizedDefault)\n }\n\n if (column.type === 'geometry') {\n if (!adapter.extensions.postgis) {\n adapter.extensions.postgis = true\n }\n }\n }\n\n const extraConfig = (cols: any) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {}\n\n if (rawTable.indexes) {\n for (const [key, rawIndex] of Object.entries(rawTable.indexes)) {\n let fn: any = index\n if (rawIndex.unique) {\n fn = uniqueIndex\n }\n\n if (Array.isArray(rawIndex.on)) {\n if (rawIndex.on.length) {\n config[key] = fn(rawIndex.name).on(...rawIndex.on.map((colName) => cols[colName]))\n }\n } else {\n config[key] = fn(rawIndex.name).on(cols[rawIndex.on])\n }\n }\n }\n\n if (rawTable.foreignKeys) {\n for (const [key, rawForeignKey] of Object.entries(rawTable.foreignKeys)) {\n let builder = foreignKey({\n name: rawForeignKey.name,\n columns: rawForeignKey.columns.map((colName) => cols[colName]) as any,\n foreignColumns: rawForeignKey.foreignColumns.map(\n (column) => adapter.tables[column.table][column.name],\n ),\n })\n\n if (rawForeignKey.onDelete) {\n builder = builder.onDelete(rawForeignKey.onDelete)\n }\n\n if (rawForeignKey.onUpdate) {\n builder = builder.onDelete(rawForeignKey.onUpdate)\n }\n\n config[key] = builder\n }\n }\n\n return config\n }\n\n adapter.tables[rawTable.name] = adapter.pgSchema.table(\n rawTable.name,\n columns as any,\n extraConfig as any,\n )\n}\n"],"names":["bit","boolean","foreignKey","halfvec","index","integer","jsonb","numeric","serial","sparsevec","text","timestamp","uniqueIndex","uuid","varchar","vector","geometryColumn","rawColumnBuilderMap","geometry","buildDrizzleTable","adapter","rawTable","columns","key","column","Object","entries","type","builder","name","dimensions","enums","enum__locales","enumName","pgSchema","enum","options","mode","precision","withTimezone","defaultNow","defaultRandom","reference","references","tables","table","onDelete","primaryKey","notNull","default","sanitizedDefault","Array","isArray","extensions","postgis","extraConfig","cols","config","indexes","rawIndex","fn","unique","on","length","map","colName","foreignKeys","rawForeignKey","foreignColumns","onUpdate"],"mappings":"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"}