UNPKG

firebase-tools

Version:
45 lines (44 loc) 1.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.load = void 0; const path = require("path"); const fileUtils = require("./fileUtils"); const types_1 = require("./types"); async function load(projectId, config, sourceDirectory) { const resolvedDir = config.path(sourceDirectory); const dataConnectYaml = await fileUtils.readDataConnectYaml(resolvedDir); const serviceName = `projects/${projectId}/locations/${dataConnectYaml.location}/services/${dataConnectYaml.serviceId}`; const schemaDir = path.join(resolvedDir, dataConnectYaml.schema.source); const schemaGQLs = await fileUtils.readGQLFiles(schemaDir); const connectorInfo = await Promise.all(dataConnectYaml.connectorDirs.map(async (dir) => { const connectorDir = path.join(resolvedDir, dir); const connectorYaml = await fileUtils.readConnectorYaml(connectorDir); const connectorGqls = await fileUtils.readGQLFiles(connectorDir); return { directory: connectorDir, connectorYaml, connector: { name: `${serviceName}/connectors/${connectorYaml.connectorId}`, source: { files: connectorGqls, }, }, }; })); return { serviceName, sourceDirectory: resolvedDir, schema: { name: `${serviceName}/schemas/${types_1.SCHEMA_ID}`, datasources: [ (0, types_1.toDatasource)(projectId, dataConnectYaml.location, dataConnectYaml.schema.datasource), ], source: { files: schemaGQLs, }, }, dataConnectYaml, connectorInfo, }; } exports.load = load;