{"version":3,"sources":["/Users/shyun/comcom/ain-enterprise/ain-adk/dist/cjs/chunk-WHRBLXC6.cjs","../../src/middlewares/auth.middleware.ts"],"names":[],"mappings":"AAAA;AACE;AACF,wDAA6B;AAC7B;AACE;AACF,wDAA6B;AAC7B;AACA;ACNA,oDAA4B;AAMrB,IAAM,eAAA,EAAN,MAAqB;AAAA,EACnB;AAAA,EACR,WAAA,CAAY,IAAA,EAA8B;AACzC,IAAA,IAAA,CAAK,KAAA,EAAO,IAAA;AAAA,EACb;AAAA,EAEO,UAAA,CAAA,EAA6B;AACnC,IAAA,OAAO,MAAA,CAAO,GAAA,EAAc,GAAA,EAAe,IAAA,EAAA,GAAuB;AACjE,MAAA,GAAA,CAAI,CAAC,IAAA,CAAK,IAAA,EAAM;AAEf,QAAA,OAAO,IAAA,CAAK,CAAA;AAAA,MACb;AAEA,MAAA,IAAI;AACH,QAAA,MAAM,QAAA,EAAwB,MAAM,IAAA,CAAK,IAAA,CAAK,YAAA,CAAa,GAAA,EAAK,GAAG,CAAA;AACnE,QAAA,GAAA,CAAI,OAAA,CAAQ,eAAA,EAAiB;AAC5B,UAAA,GAAA,CAAI,MAAA,CAAO,OAAA,EAAS,OAAA,CAAQ,MAAA;AAC5B,UAAA,GAAA,CAAI,MAAA,CAAO,MAAA,EAAQ,OAAA,CAAQ,KAAA;AAC3B,UAAA,oDAAA,EAAuB,MAAA,EAAQ,OAAA,CAAQ,OAAO,CAAC,CAAA;AAC/C,UAAA,IAAA,CAAK,CAAA;AAAA,QACN,EAAA,KAAO;AACN,UAAA,MAAM,MAAA,EAAsB,IAAI,mCAAA;AAAA,YAC/B,4BAAA,CAAY,YAAA;AAAA,YACZ;AAAA,UACD,CAAA;AACA,UAAA,MAAM,KAAA;AAAA,QACP;AAAA,MACD,EAAA,MAAA,CAAS,CAAA,EAAQ;AAChB,QAAA,GAAA,CAAI,CAAC,CAAA,CAAE,MAAA,EAAQ;AACd,UAAA,MAAM,MAAA,EAAsB,IAAI,mCAAA;AAAA,YAC/B,4BAAA,CAAY,qBAAA;AAAA,YACZ,CAAA,sBAAA,EAAyB,IAAA,CAAK,SAAA,CAAU,CAAC,CAAC,CAAA;AAAA,UAAA;AAE3C,UAAA;AAAM,QAAA;AAEP,QAAA;AAAM,MAAA;AACP,IAAA;AACD,EAAA;AAEF;ADAA;AACA;AACA;AACA","file":"/Users/shyun/comcom/ain-enterprise/ain-adk/dist/cjs/chunk-WHRBLXC6.cjs","sourcesContent":[null,"import type { NextFunction, Request, RequestHandler, Response } from \"express\";\nimport { StatusCodes } from \"http-status-codes\";\nimport type { AuthModule } from \"@/modules\";\nimport { AinHttpError } from \"@/types/agent\";\nimport type { AuthResponse } from \"@/types/auth\";\nimport { updateRequestContext } from \"@/utils/request-context\";\n\nexport class AuthMiddleware {\n\tprivate auth: AuthModule | undefined;\n\tconstructor(auth: AuthModule | undefined) {\n\t\tthis.auth = auth;\n\t}\n\n\tpublic middleware(): RequestHandler {\n\t\treturn async (req: Request, res: Response, next: NextFunction) => {\n\t\t\tif (!this.auth) {\n\t\t\t\t// If no auth module is provided, skip authentication\n\t\t\t\treturn next();\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tconst authRes: AuthResponse = await this.auth.authenticate(req, res);\n\t\t\t\tif (authRes.isAuthenticated) {\n\t\t\t\t\tres.locals.userId = authRes.userId;\n\t\t\t\t\tres.locals.email = authRes.email;\n\t\t\t\t\tupdateRequestContext({ userId: authRes.userId });\n\t\t\t\t\tnext();\n\t\t\t\t} else {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.UNAUTHORIZED,\n\t\t\t\t\t\t\"Unauthorized\",\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t} catch (e: any) {\n\t\t\t\tif (!e.status) {\n\t\t\t\t\tconst error: AinHttpError = new AinHttpError(\n\t\t\t\t\t\tStatusCodes.INTERNAL_SERVER_ERROR,\n\t\t\t\t\t\t`Authentication error: ${JSON.stringify(e)}`,\n\t\t\t\t\t);\n\t\t\t\t\tthrow error;\n\t\t\t\t}\n\t\t\t\tthrow e;\n\t\t\t}\n\t\t};\n\t}\n}\n"]}