{"version":3,"file":"TenantApiMiddlewareFactory.cjs","sources":["../../../../../packages/engine-http/src/tenant/TenantApiMiddlewareFactory.ts"],"sourcesContent":["import { HttpController } from '../application'\nimport { HttpErrorResponse } from '../common'\nimport { TenantGraphQLContextFactory } from './TenantGraphQLContextFactory'\nimport { ProjectGroupResolver } from '../projectGroup/ProjectGroupResolver'\nimport { GraphQLKoaState } from '../graphql'\n\nexport class TenantApiMiddlewareFactory {\n\tconstructor(\n\t\tprivate readonly debug: boolean,\n\t\tprivate readonly projectGroupResolver: ProjectGroupResolver,\n\t\tprivate readonly tenantGraphQLContextFactory: TenantGraphQLContextFactory,\n\t) {\n\t}\n\n\tcreate(): HttpController {\n\t\treturn async ctx => {\n\t\t\tconst { timer, projectGroup, authResult, logger, koa } = ctx\n\t\t\tif (!authResult) {\n\t\t\t\treturn new HttpErrorResponse(401, 'Authentication required')\n\t\t\t}\n\t\t\tconst tenantContainer = projectGroup.tenantContainer\n\t\t\tawait logger.scope(async logger => {\n\t\t\t\tlogger.debug('Tenant query processing started')\n\t\t\t\tawait timer('GraphQL', () => projectGroup.tenantGraphQLHandler({\n\t\t\t\t\trequest: koa.request,\n\t\t\t\t\tresponse: koa.response,\n\t\t\t\t\tcreateContext: ({ operation }) => {\n\t\t\t\t\t\t(koa.state as GraphQLKoaState).graphql = {\n\t\t\t\t\t\t\toperationName: operation,\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn this.tenantGraphQLContextFactory.create({ authResult, tenantContainer, logger })\n\t\t\t\t\t},\n\t\t\t\t}))\n\t\t\t\tlogger.debug('Tenant query finished')\n\t\t\t})\n\t\t}\n\t}\n}\n"],"names":["HttpErrorResponse","logger"],"mappings":";;;AAMO,MAAM,2BAA2B;AAAA,EACvC,YACkB,OACA,sBACA,6BAChB;AAHgB,SAAA,QAAA;AACA,SAAA,uBAAA;AACA,SAAA,8BAAA;AAAA,EAAA;AAAA,EAIlB,SAAyB;AACxB,WAAO,OAAM,QAAO;AACnB,YAAM,EAAE,OAAO,cAAc,YAAY,QAAQ,QAAQ;AACzD,UAAI,CAAC,YAAY;AACT,eAAA,IAAIA,aAAAA,kBAAkB,KAAK,yBAAyB;AAAA,MAAA;AAE5D,YAAM,kBAAkB,aAAa;AAC/B,YAAA,OAAO,MAAM,OAAMC,YAAU;AAClCA,gBAAO,MAAM,iCAAiC;AAC9C,cAAM,MAAM,WAAW,MAAM,aAAa,qBAAqB;AAAA,UAC9D,SAAS,IAAI;AAAA,UACb,UAAU,IAAI;AAAA,UACd,eAAe,CAAC,EAAE,gBAAgB;AAChC,gBAAI,MAA0B,UAAU;AAAA,cACxC,eAAe;AAAA,YAChB;AAEO,mBAAA,KAAK,4BAA4B,OAAO,EAAE,YAAY,iBAAiB,QAAAA,SAAQ;AAAA,UAAA;AAAA,QACvF,CACA,CAAC;AACFA,gBAAO,MAAM,uBAAuB;AAAA,MAAA,CACpC;AAAA,IACF;AAAA,EAAA;AAEF;;"}