@lucidcms/core
Version:
The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.
1 lines • 3.47 kB
Source Map (JSON)
{"version":3,"file":"aggregate-brick-tables.mjs","names":[],"sources":["../../../../src/services/documents-bricks/helpers/aggregate-brick-tables.ts"],"sourcesContent":["import type CollectionBuilder from \"../../../libs/collection/builders/collection-builder/index.js\";\nimport type { BrickInputSchema } from \"../../../schemas/collection-bricks.js\";\nimport type { FieldInputSchema } from \"../../../schemas/collection-fields.js\";\nimport type {\n\tConfig,\n\tInternalDocumentBrick,\n\tInternalDocumentField,\n\tLucidBrickTableName,\n} from \"../../../types.js\";\nimport constructBrickTable, {\n\ttype InsertBrickTables,\n} from \"./construct-brick-table.js\";\n\n/**\n * Aggregates brick tables generate from bricks and fields using the constructBrickTable helper\n */\nconst aggregateBrickTables = (params: {\n\tversionId: number;\n\tdocumentId: number;\n\tbricks?: Array<BrickInputSchema> | Array<InternalDocumentBrick>;\n\tfields?: Array<FieldInputSchema> | Array<InternalDocumentField>;\n\tcollection: CollectionBuilder;\n\tlocalization: Config[\"localization\"];\n\ttableNameByteLimit: number | null;\n}) => {\n\tconst brickTables: Array<InsertBrickTables> = [];\n\tconst brickKeyTableNameMap: Map<string, LucidBrickTableName> = new Map();\n\n\tconst locales = params.localization.locales.map((locale) => locale.code);\n\n\tif (params.fields !== undefined && params.fields.length > 0) {\n\t\tconstructBrickTable(brickTables, {\n\t\t\ttype: \"document-fields\",\n\t\t\tcollection: params.collection,\n\t\t\tdocumentId: params.documentId,\n\t\t\tversionId: params.versionId,\n\t\t\ttargetFields: params.fields,\n\t\t\tlocalization: {\n\t\t\t\tlocales: locales,\n\t\t\t\tdefaultLocale: params.localization.defaultLocale,\n\t\t\t},\n\t\t\tbrickKeyTableNameMap: brickKeyTableNameMap,\n\t\t\torder: 0,\n\t\t\topen: true,\n\t\t\ttableNameByteLimit: params.tableNameByteLimit,\n\t\t});\n\t}\n\n\tif (params.bricks !== undefined) {\n\t\tfor (let i = 0; i < params.bricks.length; i++) {\n\t\t\tconst brick = params.bricks[i];\n\t\t\tif (!brick) continue;\n\n\t\t\tconstructBrickTable(brickTables, {\n\t\t\t\ttype: \"brick\",\n\t\t\t\tcollection: params.collection,\n\t\t\t\tdocumentId: params.documentId,\n\t\t\t\tversionId: params.versionId,\n\t\t\t\ttargetFields: brick.fields || [],\n\t\t\t\tlocalization: {\n\t\t\t\t\tlocales: locales,\n\t\t\t\t\tdefaultLocale: params.localization.defaultLocale,\n\t\t\t\t},\n\t\t\t\tbrick: brick,\n\t\t\t\tbrickKeyTableNameMap: brickKeyTableNameMap,\n\t\t\t\torder: brick.order !== undefined ? brick.order : i,\n\t\t\t\topen: brick.open ?? false,\n\t\t\t\ttableNameByteLimit: params.tableNameByteLimit,\n\t\t\t});\n\t\t}\n\t}\n\n\treturn brickTables;\n};\n\nexport default aggregateBrickTables;\n"],"mappings":"2CAgBA,MAAM,EAAwB,GAQxB,CACL,IAAM,EAAwC,CAAC,EACzC,EAAyD,IAAI,IAE7D,EAAU,EAAO,aAAa,QAAQ,IAAK,GAAW,EAAO,IAAI,EAoBvE,GAlBI,EAAO,SAAW,IAAA,IAAa,EAAO,OAAO,OAAS,GACzD,EAAoB,EAAa,CAChC,KAAM,kBACN,WAAY,EAAO,WACnB,WAAY,EAAO,WACnB,UAAW,EAAO,UAClB,aAAc,EAAO,OACrB,aAAc,CACJ,UACT,cAAe,EAAO,aAAa,aACpC,EACsB,uBACtB,MAAO,EACP,KAAM,GACN,mBAAoB,EAAO,kBAC5B,CAAC,EAGE,EAAO,SAAW,IAAA,GACrB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAO,OAAO,OAAQ,IAAK,CAC9C,IAAM,EAAQ,EAAO,OAAO,GACvB,GAEL,EAAoB,EAAa,CAChC,KAAM,QACN,WAAY,EAAO,WACnB,WAAY,EAAO,WACnB,UAAW,EAAO,UAClB,aAAc,EAAM,QAAU,CAAC,EAC/B,aAAc,CACJ,UACT,cAAe,EAAO,aAAa,aACpC,EACO,QACe,uBACtB,MAAO,EAAM,QAAU,IAAA,GAA0B,EAAd,EAAM,MACzC,KAAM,EAAM,MAAQ,GACpB,mBAAoB,EAAO,kBAC5B,CAAC,CACF,CAGD,OAAO,CACR"}