{"version":3,"file":"get-all.mjs","names":["collectionsFormatter"],"sources":["../../../src/services/collections/get-all.ts"],"sourcesContent":["import primeRuntimeSchemas from \"../../libs/collection/schema/runtime/prime-runtime-schemas.js\";\nimport { getDocumentTableSchema } from \"../../libs/collection/schema/runtime/runtime-schema-selectors.js\";\nimport { collectionsFormatter } from \"../../libs/formatters/index.js\";\nimport { DocumentsRepository } from \"../../libs/repositories/index.js\";\nimport type { Collection } from \"../../types/response.js\";\nimport { tenantAccessAllowed } from \"../../utils/helpers/index.js\";\nimport type { ServiceFn } from \"../../utils/services/types.js\";\n\nconst getAll: ServiceFn<\n\t[\n\t\t{\n\t\t\tincludeDocumentId?: boolean;\n\t\t\tincludeFields?: boolean;\n\t\t},\n\t],\n\tCollection[]\n> = async (context, data) => {\n\tconst collections = (context.config.collections ?? []).filter((collection) =>\n\t\ttenantAccessAllowed(collection.getData.tenants, context.request.tenantKey),\n\t);\n\n\tconst adminTranslations = context.translate\n\t\t.forLocale(context.config.i18n.defaultLocale)\n\t\t.adminBundle();\n\n\tif (data.includeDocumentId === true) {\n\t\tconst singleCollections = collections.filter(\n\t\t\t(collection) => collection.getData.mode === \"single\",\n\t\t);\n\n\t\tconst Documents = new DocumentsRepository(\n\t\t\tcontext.db.client,\n\t\t\tcontext.config.db,\n\t\t);\n\n\t\tawait primeRuntimeSchemas(context, {\n\t\t\tcollectionKeys: singleCollections.map((c) => c.key),\n\t\t});\n\n\t\tconst documentsRes = await Documents.selectMultipleUnion({\n\t\t\ttables: (\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tsingleCollections.map(async (c) => {\n\t\t\t\t\t\tconst documentTableSchema = await getDocumentTableSchema(\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tc.key,\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (documentTableSchema.error || !documentTableSchema.data)\n\t\t\t\t\t\t\treturn null;\n\n\t\t\t\t\t\treturn documentTableSchema.data.name;\n\t\t\t\t\t}),\n\t\t\t\t)\n\t\t\t).filter((n) => n !== null),\n\t\t});\n\t\tif (documentsRes.error) return documentsRes;\n\n\t\treturn {\n\t\t\terror: undefined,\n\t\t\tdata: collectionsFormatter.formatMultiple({\n\t\t\t\tcollections: collections,\n\t\t\t\tallCollections: context.config.collections ?? [],\n\t\t\t\ttenantKey: context.request.tenantKey,\n\t\t\t\tqueueSupportsScheduling: context.queue.support.scheduling,\n\t\t\t\tadminTranslations,\n\t\t\t\tinclude: {\n\t\t\t\t\tbricks: false,\n\t\t\t\t\tfields: data.includeFields === true,\n\t\t\t\t\tdocumentId: true,\n\t\t\t\t},\n\t\t\t\tdocuments: documentsRes.data,\n\t\t\t}),\n\t\t};\n\t}\n\n\treturn {\n\t\terror: undefined,\n\t\tdata: collectionsFormatter.formatMultiple({\n\t\t\tcollections: collections,\n\t\t\tallCollections: context.config.collections ?? [],\n\t\t\ttenantKey: context.request.tenantKey,\n\t\t\tqueueSupportsScheduling: context.queue.support.scheduling,\n\t\t\tadminTranslations,\n\t\t\tinclude: {\n\t\t\t\tbricks: false,\n\t\t\t\tfields: data.includeFields === true,\n\t\t\t\tdocumentId: false,\n\t\t\t},\n\t\t}),\n\t};\n};\n\nexport default getAll;\n"],"mappings":"yWAQA,MAAM,EAQF,MAAO,EAAS,IAAS,CAC5B,IAAM,GAAe,EAAQ,OAAO,aAAe,CAAC,EAAA,CAAG,OAAQ,GAC9D,EAAoB,EAAW,QAAQ,QAAS,EAAQ,QAAQ,SAAS,CAC1E,EAEM,EAAoB,EAAQ,UAChC,UAAU,EAAQ,OAAO,KAAK,aAAa,CAAC,CAC5C,YAAY,EAEd,GAAI,EAAK,oBAAsB,GAAM,CACpC,IAAM,EAAoB,EAAY,OACpC,GAAe,EAAW,QAAQ,OAAS,QAC7C,EAEM,EAAY,IAAI,EACrB,EAAQ,GAAG,OACX,EAAQ,OAAO,EAChB,EAEA,MAAM,EAAoB,EAAS,CAClC,eAAgB,EAAkB,IAAK,GAAM,EAAE,GAAG,CACnD,CAAC,EAED,IAAM,EAAe,MAAM,EAAU,oBAAoB,CACxD,QACC,MAAM,QAAQ,IACb,EAAkB,IAAI,KAAO,IAAM,CAClC,IAAM,EAAsB,MAAM,EACjC,EACA,EAAE,GACH,EAIA,OAHI,EAAoB,OAAS,CAAC,EAAoB,KAC9C,KAED,EAAoB,KAAK,IACjC,CAAC,CACF,EAAA,CACC,OAAQ,GAAM,IAAM,IAAI,CAC3B,CAAC,EAGD,OAFI,EAAa,MAAc,EAExB,CACN,MAAO,IAAA,GACP,KAAMA,EAAqB,eAAe,CAC5B,cACb,eAAgB,EAAQ,OAAO,aAAe,CAAC,EAC/C,UAAW,EAAQ,QAAQ,UAC3B,wBAAyB,EAAQ,MAAM,QAAQ,WAC/C,oBACA,QAAS,CACR,OAAQ,GACR,OAAQ,EAAK,gBAAkB,GAC/B,WAAY,EACb,EACA,UAAW,EAAa,IACzB,CAAC,CACF,CACD,CAEA,MAAO,CACN,MAAO,IAAA,GACP,KAAMA,EAAqB,eAAe,CAC5B,cACb,eAAgB,EAAQ,OAAO,aAAe,CAAC,EAC/C,UAAW,EAAQ,QAAQ,UAC3B,wBAAyB,EAAQ,MAAM,QAAQ,WAC/C,oBACA,QAAS,CACR,OAAQ,GACR,OAAQ,EAAK,gBAAkB,GAC/B,WAAY,EACb,CACD,CAAC,CACF,CACD"}