{"version":3,"file":"upload-artifact-Bzt-D00w.cjs","names":["uploadArtifactHandler: CacheRouterHttpHandler","parseTokenFromHeaders","parseHashFromParams","parseTeamFromQuery","responseError","createStorageClient","Readable"],"sources":["../src/handlers/upload-artifact.ts"],"sourcesContent":["import { Readable } from \"node:stream\";\nimport { createStorageClient } from \"../utils/azure-storage\";\nimport { responseError } from \"../utils/error-utils\";\nimport {\n  parseHashFromParams,\n  parseTeamFromQuery,\n  parseTokenFromHeaders,\n} from \"../utils/validators\";\nimport type { CacheRouterHttpHandler } from \"../utils/types\";\n\nexport const uploadArtifactHandler: CacheRouterHttpHandler =\n  (options) => async (request, context) => {\n    const authResult = parseTokenFromHeaders(\n      request.headers,\n      context,\n      options.turboToken\n    );\n    if (authResult !== true) return authResult;\n\n    const hash = parseHashFromParams(request.params, context);\n    if (typeof hash !== \"string\") return hash;\n\n    const team = parseTeamFromQuery(request.query, context);\n    if (typeof team !== \"string\") return team;\n\n    context.info(\"Upload artifact\", { team, hash });\n\n    const body = request.body;\n    if (!body) {\n      return responseError(\"No body found\", context);\n    }\n\n    try {\n      const service = await createStorageClient(options);\n      await service.createCachedArtifact(hash, team, Readable.fromWeb(body));\n\n      const result = { urls: [`${team}/${hash}`] };\n\n      return { status: 202, jsonBody: result };\n    } catch (error) {\n      return responseError(error, context, 500);\n    }\n  };\n"],"mappings":";;;;;;AAUA,MAAaA,wBACX,CAAC,YAAY,OAAO,SAAS,YAAY;CACvC,MAAM,aAAaC,yCACjB,QAAQ,SACR,SACA,QAAQ,WACT;AACD,KAAI,eAAe,KAAM,QAAO;CAEhC,MAAM,OAAOC,uCAAoB,QAAQ,QAAQ,QAAQ;AACzD,KAAI,OAAO,SAAS,SAAU,QAAO;CAErC,MAAM,OAAOC,sCAAmB,QAAQ,OAAO,QAAQ;AACvD,KAAI,OAAO,SAAS,SAAU,QAAO;CAErC,QAAQ,KAAK,mBAAmB;EAAE;EAAM;CAAM,EAAC;CAE/C,MAAM,OAAO,QAAQ;AACrB,KAAI,CAAC,KACH,QAAOC,kCAAc,iBAAiB,QAAQ;AAGhD,KAAI;EACF,MAAM,UAAU,MAAMC,0CAAoB,QAAQ;EAClD,MAAM,QAAQ,qBAAqB,MAAM,MAAMC,qBAAS,QAAQ,KAAK,CAAC;EAEtE,MAAM,SAAS,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,EAAE,MAAM,AAAC,EAAE;AAE5C,SAAO;GAAE,QAAQ;GAAK,UAAU;EAAQ;CACzC,SAAQ,OAAO;AACd,SAAOF,kCAAc,OAAO,SAAS,IAAI;CAC1C;AACF"}