equipped 5.1.11 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/errors/index.cjs +1 -2
  3. package/dist/cjs/errors/index.cjs.map +1 -1
  4. package/dist/cjs/errors/index.min.cjs +1 -1
  5. package/dist/cjs/errors/index.min.cjs.map +1 -1
  6. package/dist/cjs/errors/types/tokenExpired.cjs +12 -0
  7. package/dist/cjs/errors/types/tokenExpired.cjs.map +1 -0
  8. package/dist/cjs/errors/types/{refreshTokenMisusedError.min.cjs → tokenExpired.min.cjs} +2 -2
  9. package/dist/cjs/errors/types/tokenExpired.min.cjs.map +1 -0
  10. package/dist/cjs/instance/index.cjs.map +1 -1
  11. package/dist/cjs/instance/index.min.cjs.map +1 -1
  12. package/dist/cjs/server/impls/base.cjs +17 -17
  13. package/dist/cjs/server/impls/base.cjs.map +1 -1
  14. package/dist/cjs/server/impls/base.min.cjs +1 -1
  15. package/dist/cjs/server/impls/base.min.cjs.map +1 -1
  16. package/dist/cjs/server/impls/express.cjs +2 -13
  17. package/dist/cjs/server/impls/express.cjs.map +1 -1
  18. package/dist/cjs/server/impls/express.min.cjs +1 -1
  19. package/dist/cjs/server/impls/express.min.cjs.map +1 -1
  20. package/dist/cjs/server/impls/fastify.cjs +3 -14
  21. package/dist/cjs/server/impls/fastify.cjs.map +1 -1
  22. package/dist/cjs/server/impls/fastify.min.cjs +1 -1
  23. package/dist/cjs/server/impls/fastify.min.cjs.map +1 -1
  24. package/dist/cjs/server/index.cjs +1 -1
  25. package/dist/cjs/server/index.cjs.map +1 -1
  26. package/dist/cjs/server/index.min.cjs +1 -1
  27. package/dist/cjs/server/index.min.cjs.map +1 -1
  28. package/dist/cjs/server/middlewares/requireAuthUser.cjs +9 -52
  29. package/dist/cjs/server/middlewares/requireAuthUser.cjs.map +1 -1
  30. package/dist/cjs/server/middlewares/requireAuthUser.min.cjs +1 -1
  31. package/dist/cjs/server/middlewares/requireAuthUser.min.cjs.map +1 -1
  32. package/dist/cjs/server/pipes.cjs +23 -8
  33. package/dist/cjs/server/pipes.cjs.map +1 -1
  34. package/dist/cjs/server/pipes.min.cjs +1 -1
  35. package/dist/cjs/server/pipes.min.cjs.map +1 -1
  36. package/dist/cjs/server/requests-auth-methods/apiKeys.cjs +21 -0
  37. package/dist/cjs/server/requests-auth-methods/apiKeys.cjs.map +1 -0
  38. package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs +2 -0
  39. package/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs.map +1 -0
  40. package/dist/cjs/server/requests-auth-methods/base.cjs +20 -0
  41. package/dist/cjs/server/requests-auth-methods/base.cjs.map +1 -0
  42. package/dist/cjs/server/requests-auth-methods/base.min.cjs +2 -0
  43. package/dist/cjs/server/requests-auth-methods/base.min.cjs.map +1 -0
  44. package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.cjs +2 -1
  45. package/dist/cjs/server/requests-auth-methods/index.cjs.map +1 -0
  46. package/dist/cjs/server/{requests-auth → requests-auth-methods}/index.min.cjs +1 -1
  47. package/dist/cjs/server/requests-auth-methods/index.min.cjs.map +1 -0
  48. package/dist/cjs/server/requests-auth-methods/jwt.cjs +78 -0
  49. package/dist/cjs/server/requests-auth-methods/jwt.cjs.map +1 -0
  50. package/dist/cjs/server/requests-auth-methods/jwt.min.cjs +2 -0
  51. package/dist/cjs/server/requests-auth-methods/jwt.min.cjs.map +1 -0
  52. package/dist/cjs/server/requests.cjs +1 -9
  53. package/dist/cjs/server/requests.cjs.map +1 -1
  54. package/dist/cjs/server/requests.min.cjs +1 -1
  55. package/dist/cjs/server/requests.min.cjs.map +1 -1
  56. package/dist/cjs/server/routes.cjs +1 -2
  57. package/dist/cjs/server/routes.cjs.map +1 -1
  58. package/dist/cjs/server/routes.min.cjs +1 -1
  59. package/dist/cjs/server/routes.min.cjs.map +1 -1
  60. package/dist/cjs/server/sockets.cjs +2 -4
  61. package/dist/cjs/server/sockets.cjs.map +1 -1
  62. package/dist/cjs/server/sockets.min.cjs +1 -1
  63. package/dist/cjs/server/sockets.min.cjs.map +1 -1
  64. package/dist/cjs/server/types.cjs +1 -1
  65. package/dist/cjs/server/types.cjs.map +1 -1
  66. package/dist/cjs/server/types.min.cjs +1 -1
  67. package/dist/cjs/server/types.min.cjs.map +1 -1
  68. package/dist/esm/errors/index.min.mjs +1 -1
  69. package/dist/esm/errors/index.min.mjs.map +1 -1
  70. package/dist/esm/errors/index.mjs +1 -2
  71. package/dist/esm/errors/index.mjs.map +1 -1
  72. package/dist/esm/errors/types/tokenExpired.min.mjs +2 -0
  73. package/dist/esm/errors/types/tokenExpired.min.mjs.map +1 -0
  74. package/dist/esm/errors/types/tokenExpired.mjs +12 -0
  75. package/dist/esm/errors/types/tokenExpired.mjs.map +1 -0
  76. package/dist/esm/instance/index.min.mjs +1 -1
  77. package/dist/esm/instance/index.min.mjs.map +1 -1
  78. package/dist/esm/instance/index.mjs.map +1 -1
  79. package/dist/esm/server/impls/base.min.mjs +1 -1
  80. package/dist/esm/server/impls/base.min.mjs.map +1 -1
  81. package/dist/esm/server/impls/base.mjs +9 -9
  82. package/dist/esm/server/impls/base.mjs.map +1 -1
  83. package/dist/esm/server/impls/express.min.mjs +1 -1
  84. package/dist/esm/server/impls/express.min.mjs.map +1 -1
  85. package/dist/esm/server/impls/express.mjs +2 -13
  86. package/dist/esm/server/impls/express.mjs.map +1 -1
  87. package/dist/esm/server/impls/fastify.min.mjs +1 -1
  88. package/dist/esm/server/impls/fastify.min.mjs.map +1 -1
  89. package/dist/esm/server/impls/fastify.mjs +2 -13
  90. package/dist/esm/server/impls/fastify.mjs.map +1 -1
  91. package/dist/esm/server/index.min.mjs +1 -1
  92. package/dist/esm/server/index.min.mjs.map +1 -1
  93. package/dist/esm/server/index.mjs +1 -1
  94. package/dist/esm/server/index.mjs.map +1 -1
  95. package/dist/esm/server/middlewares/requireAuthUser.min.mjs +1 -1
  96. package/dist/esm/server/middlewares/requireAuthUser.min.mjs.map +1 -1
  97. package/dist/esm/server/middlewares/requireAuthUser.mjs +9 -52
  98. package/dist/esm/server/middlewares/requireAuthUser.mjs.map +1 -1
  99. package/dist/esm/server/pipes.min.mjs +1 -1
  100. package/dist/esm/server/pipes.min.mjs.map +1 -1
  101. package/dist/esm/server/pipes.mjs +23 -8
  102. package/dist/esm/server/pipes.mjs.map +1 -1
  103. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs +2 -0
  104. package/dist/esm/server/requests-auth-methods/apiKeys.min.mjs.map +1 -0
  105. package/dist/esm/server/requests-auth-methods/apiKeys.mjs +21 -0
  106. package/dist/esm/server/requests-auth-methods/apiKeys.mjs.map +1 -0
  107. package/dist/esm/server/requests-auth-methods/base.min.mjs +2 -0
  108. package/dist/esm/server/requests-auth-methods/base.min.mjs.map +1 -0
  109. package/dist/esm/server/requests-auth-methods/base.mjs +20 -0
  110. package/dist/esm/server/requests-auth-methods/base.mjs.map +1 -0
  111. package/dist/esm/server/requests-auth-methods/index.min.mjs +2 -0
  112. package/dist/esm/server/requests-auth-methods/index.min.mjs.map +1 -0
  113. package/dist/esm/server/requests-auth-methods/index.mjs +4 -0
  114. package/dist/esm/server/requests-auth-methods/index.mjs.map +1 -0
  115. package/dist/esm/server/requests-auth-methods/jwt.min.mjs +2 -0
  116. package/dist/esm/server/requests-auth-methods/jwt.min.mjs.map +1 -0
  117. package/dist/esm/server/requests-auth-methods/jwt.mjs +78 -0
  118. package/dist/esm/server/requests-auth-methods/jwt.mjs.map +1 -0
  119. package/dist/esm/server/requests.min.mjs +1 -1
  120. package/dist/esm/server/requests.min.mjs.map +1 -1
  121. package/dist/esm/server/requests.mjs +1 -9
  122. package/dist/esm/server/requests.mjs.map +1 -1
  123. package/dist/esm/server/routes.min.mjs +1 -1
  124. package/dist/esm/server/routes.min.mjs.map +1 -1
  125. package/dist/esm/server/routes.mjs +1 -2
  126. package/dist/esm/server/routes.mjs.map +1 -1
  127. package/dist/esm/server/sockets.min.mjs +1 -1
  128. package/dist/esm/server/sockets.min.mjs.map +1 -1
  129. package/dist/esm/server/sockets.mjs +2 -4
  130. package/dist/esm/server/sockets.mjs.map +1 -1
  131. package/dist/esm/server/types.min.mjs +1 -1
  132. package/dist/esm/server/types.min.mjs.map +1 -1
  133. package/dist/esm/server/types.mjs +1 -1
  134. package/dist/esm/server/types.mjs.map +1 -1
  135. package/dist/types/cache/index.d.ts +7 -1
  136. package/dist/types/errors/index.d.ts +7 -12
  137. package/dist/types/errors/index.js +1 -2
  138. package/dist/types/errors/types/tokenExpired.js +11 -0
  139. package/dist/types/{fastify-CDJ2WuLy.d.ts → fastify-B6FUtYe9.d.ts} +5 -4
  140. package/dist/types/index.d.ts +4 -4
  141. package/dist/types/instance/index.d.ts +63 -16
  142. package/dist/types/{requestError-DqkM5BfW.d.ts → requestError-7N-ngghg.d.ts} +97 -80
  143. package/dist/types/server/impls/base.js +9 -9
  144. package/dist/types/server/impls/express.js +2 -13
  145. package/dist/types/server/impls/fastify.js +2 -13
  146. package/dist/types/server/index.d.ts +62 -20
  147. package/dist/types/server/index.js +1 -1
  148. package/dist/types/server/middlewares/requireAuthUser.js +9 -52
  149. package/dist/types/server/pipes.js +23 -8
  150. package/dist/types/server/requests-auth-methods/apiKeys.js +20 -0
  151. package/dist/types/server/requests-auth-methods/base.js +19 -0
  152. package/dist/types/server/requests-auth-methods/index.js +3 -0
  153. package/dist/types/server/requests-auth-methods/jwt.js +77 -0
  154. package/dist/types/server/requests.js +1 -9
  155. package/dist/types/server/routes.js +1 -2
  156. package/dist/types/server/sockets.js +2 -4
  157. package/dist/types/server/types.js +1 -1
  158. package/dist/types/{validationError-BMKfV51p.d.ts → validationError-BB4cfdZa.d.ts} +1 -1
  159. package/dist/types/validations/index.d.ts +3 -9
  160. package/package.json +13 -12
  161. package/dist/cjs/errors/types/authorizationExpired.cjs +0 -12
  162. package/dist/cjs/errors/types/authorizationExpired.cjs.map +0 -1
  163. package/dist/cjs/errors/types/authorizationExpired.min.cjs +0 -2
  164. package/dist/cjs/errors/types/authorizationExpired.min.cjs.map +0 -1
  165. package/dist/cjs/errors/types/refreshTokenMisusedError.cjs +0 -12
  166. package/dist/cjs/errors/types/refreshTokenMisusedError.cjs.map +0 -1
  167. package/dist/cjs/errors/types/refreshTokenMisusedError.min.cjs.map +0 -1
  168. package/dist/cjs/server/middlewares/parseAuthUser.cjs +0 -21
  169. package/dist/cjs/server/middlewares/parseAuthUser.cjs.map +0 -1
  170. package/dist/cjs/server/middlewares/parseAuthUser.min.cjs +0 -2
  171. package/dist/cjs/server/middlewares/parseAuthUser.min.cjs.map +0 -1
  172. package/dist/cjs/server/requests-auth/apiKeys.cjs +0 -6
  173. package/dist/cjs/server/requests-auth/apiKeys.cjs.map +0 -1
  174. package/dist/cjs/server/requests-auth/apiKeys.min.cjs +0 -2
  175. package/dist/cjs/server/requests-auth/apiKeys.min.cjs.map +0 -1
  176. package/dist/cjs/server/requests-auth/index.cjs.map +0 -1
  177. package/dist/cjs/server/requests-auth/index.min.cjs.map +0 -1
  178. package/dist/cjs/server/requests-auth/tokens.cjs +0 -92
  179. package/dist/cjs/server/requests-auth/tokens.cjs.map +0 -1
  180. package/dist/cjs/server/requests-auth/tokens.min.cjs +0 -2
  181. package/dist/cjs/server/requests-auth/tokens.min.cjs.map +0 -1
  182. package/dist/esm/errors/types/authorizationExpired.min.mjs +0 -2
  183. package/dist/esm/errors/types/authorizationExpired.min.mjs.map +0 -1
  184. package/dist/esm/errors/types/authorizationExpired.mjs +0 -12
  185. package/dist/esm/errors/types/authorizationExpired.mjs.map +0 -1
  186. package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs +0 -2
  187. package/dist/esm/errors/types/refreshTokenMisusedError.min.mjs.map +0 -1
  188. package/dist/esm/errors/types/refreshTokenMisusedError.mjs +0 -12
  189. package/dist/esm/errors/types/refreshTokenMisusedError.mjs.map +0 -1
  190. package/dist/esm/server/middlewares/parseAuthUser.min.mjs +0 -2
  191. package/dist/esm/server/middlewares/parseAuthUser.min.mjs.map +0 -1
  192. package/dist/esm/server/middlewares/parseAuthUser.mjs +0 -21
  193. package/dist/esm/server/middlewares/parseAuthUser.mjs.map +0 -1
  194. package/dist/esm/server/requests-auth/apiKeys.min.mjs +0 -2
  195. package/dist/esm/server/requests-auth/apiKeys.min.mjs.map +0 -1
  196. package/dist/esm/server/requests-auth/apiKeys.mjs +0 -6
  197. package/dist/esm/server/requests-auth/apiKeys.mjs.map +0 -1
  198. package/dist/esm/server/requests-auth/index.min.mjs +0 -2
  199. package/dist/esm/server/requests-auth/index.min.mjs.map +0 -1
  200. package/dist/esm/server/requests-auth/index.mjs +0 -3
  201. package/dist/esm/server/requests-auth/index.mjs.map +0 -1
  202. package/dist/esm/server/requests-auth/tokens.min.mjs +0 -2
  203. package/dist/esm/server/requests-auth/tokens.min.mjs.map +0 -1
  204. package/dist/esm/server/requests-auth/tokens.mjs +0 -92
  205. package/dist/esm/server/requests-auth/tokens.mjs.map +0 -1
  206. package/dist/types/base-8yVXb67P.d.ts +0 -8
  207. package/dist/types/errors/types/authorizationExpired.js +0 -11
  208. package/dist/types/errors/types/refreshTokenMisusedError.js +0 -11
  209. package/dist/types/server/middlewares/parseAuthUser.js +0 -20
  210. package/dist/types/server/requests-auth/apiKeys.js +0 -5
  211. package/dist/types/server/requests-auth/index.js +0 -2
  212. package/dist/types/server/requests-auth/tokens.js +0 -91
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/impls/express.ts"],"names":["ExpressServer","http","req","headers","key","val","files","uploads","file","fileArray","f","getMediaDuration","Request","response","res","value","opts","path","cb","#expressApp","err","_next","port","app","reject","config","instance","cookie","helmet","cors","express","fileUpload","rateLimit","StatusCodes"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/express.min.cjs","sourcesContent":["import http from 'http'\n\nimport cookie from 'cookie-parser'\nimport cors from 'cors'\nimport express from 'express'\nimport fileUpload from 'express-fileupload'\nimport { rateLimit } from 'express-rate-limit'\n// import slowDown from 'express-slow-down'\nimport helmet from 'helmet'\nimport { pinoHttp } from 'pino-http'\n\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class ExpressServer extends Server<express.Request, express.Response> {\n\t#expressApp: express.Express\n\n\tconstructor(config: ServerConfig) {\n\t\tconst app = express()\n\t\tconst instance = Instance.get()\n\t\tsuper(http.createServer(app), config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]))\n\t\t\t\tconst headers = {\n\t\t\t\t\t...allHeaders,\n\t\t\t\t\tAuthorization: req.get('authorization'),\n\t\t\t\t\tRefreshToken: req.get('x-refresh-token'),\n\t\t\t\t\tApiKey: req.get('x-api-key'),\n\t\t\t\t\tContentType: req.get('content-type'),\n\t\t\t\t\tReferer: req.get('referer'),\n\t\t\t\t\tUserAgent: req.get('user-agent'),\n\t\t\t\t}\n\t\t\t\tconst files = Object.fromEntries(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tObject.entries(req.files ?? {}).map(async ([key, file]) => {\n\t\t\t\t\t\t\tconst uploads = Array.isArray(file) ? file : [file]\n\t\t\t\t\t\t\tconst fileArray: IncomingFile[] = await Promise.all(\n\t\t\t\t\t\t\t\tuploads.map(async (f) => ({\n\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\t\t\t\t\tsize: f.size,\n\t\t\t\t\t\t\t\t\tisTruncated: f.truncated,\n\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\tduration: await getMediaDuration(f.data),\n\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn <const>[key, fileArray]\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\n\t\t\t\treturn new Request<any>({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody: req.body ?? {},\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? {},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.path,\n\t\t\t\t\theaders,\n\t\t\t\t\tfiles,\n\t\t\t\t\tcontext: {},\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tif (!response.piped) {\n\t\t\t\t\tObject.entries(response.headers).forEach(([key, value]) => res.header(key, value as string))\n\t\t\t\t\tObject.entries(response.cookies).forEach(([key, { value, ...opts }]) => res.cookie(key, value, opts))\n\t\t\t\t\tconst type = response.body === null || response.body === undefined ? 'json' : 'send'\n\t\t\t\t\tres.status(response.status)[type](response.body).end()\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body.pipe(res)\n\t\t\t\t}\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tthis.#expressApp[method]?.(path, cb)\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(async (err, req, res, _next) => cb(err, req, res))\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(cb)\n\t\t\t},\n\t\t\tstart: async (port) =>\n\t\t\t\tnew Promise((resolve: (s: boolean) => void, reject: (e: Error) => void) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst app = this.server.listen({ host: '0.0.0.0', port }, async () => resolve(true))\n\t\t\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treject(<Error>err)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t})\n\t\tthis.#expressApp = app\n\n\t\tapp.disable('x-powered-by')\n\t\tif (config.requests.log) app.use(pinoHttp({ logger: instance.log }))\n\t\tapp.use(express.json())\n\t\tapp.use(express.text())\n\t\tapp.use(cookie())\n\t\tapp.use(\n\t\t\thelmet({\n\t\t\t\tcrossOriginResourcePolicy: { policy: 'cross-origin' },\n\t\t\t\tcontentSecurityPolicy: false,\n\t\t\t}),\n\t\t)\n\t\tapp.use(cors(this.cors))\n\t\tapp.use(express.urlencoded({ extended: false }))\n\t\tif (config.publicPath) app.use(express.static(config.publicPath))\n\t\tapp.use(\n\t\t\tfileUpload({\n\t\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\t\tuseTempFiles: false,\n\t\t\t}),\n\t\t)\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.use(\n\t\t\t\trateLimit({\n\t\t\t\t\twindowMs: config.requests.rateLimit.periodInMs,\n\t\t\t\t\tlimit: config.requests.rateLimit.limit,\n\t\t\t\t\thandler: (_: express.Request, res: express.Response) =>\n\t\t\t\t\t\tres.status(StatusCodes.TooManyRequests).json([{ message: 'Too Many Requests' }]),\n\t\t\t\t}),\n\t\t\t)\n\t\t/* if (this.settings.slowdown.enabled) app.use(slowDown({\n\t\t\twindowMs: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelayMs: this.settings.slowdown.delayInMs\n\t\t})) */\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/server/impls/express.ts"],"names":["ExpressServer","http","req","files","key","uploads","file","fileArray","f","getMediaDuration","Request","res","response","value","opts","path","cb","#expressApp","err","_next","port","app","reject","config","instance","cookie","helmet","cors","express","fileUpload","rateLimit","StatusCodes"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/express.min.cjs","sourcesContent":["import http from 'http'\n\nimport cookie from 'cookie-parser'\nimport cors from 'cors'\nimport express from 'express'\nimport fileUpload from 'express-fileupload'\nimport { rateLimit } from 'express-rate-limit'\n// import slowDown from 'express-slow-down'\nimport helmet from 'helmet'\nimport { pinoHttp } from 'pino-http'\n\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class ExpressServer extends Server<express.Request, express.Response> {\n\t#expressApp: express.Express\n\n\tconstructor(config: ServerConfig) {\n\t\tconst app = express()\n\t\tconst instance = Instance.get()\n\t\tsuper(http.createServer(app), config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst files = Object.fromEntries(\n\t\t\t\t\tawait Promise.all(\n\t\t\t\t\t\tObject.entries(req.files ?? {}).map(async ([key, file]) => {\n\t\t\t\t\t\t\tconst uploads = Array.isArray(file) ? file : [file]\n\t\t\t\t\t\t\tconst fileArray: IncomingFile[] = await Promise.all(\n\t\t\t\t\t\t\t\tuploads.map(async (f) => ({\n\t\t\t\t\t\t\t\t\tname: f.name,\n\t\t\t\t\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\t\t\t\t\tsize: f.size,\n\t\t\t\t\t\t\t\t\tisTruncated: f.truncated,\n\t\t\t\t\t\t\t\t\tdata: f.data,\n\t\t\t\t\t\t\t\t\tduration: await getMediaDuration(f.data),\n\t\t\t\t\t\t\t\t})),\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\treturn <const>[key, fileArray]\n\t\t\t\t\t\t}),\n\t\t\t\t\t),\n\t\t\t\t)\n\n\t\t\t\treturn new Request<any>({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody: req.body ?? {},\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? {},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.path,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tif (!response.piped) {\n\t\t\t\t\tObject.entries(response.headers).forEach(([key, value]) => res.header(key, value as string))\n\t\t\t\t\tObject.entries(response.cookies).forEach(([key, { value, ...opts }]) => res.cookie(key, value, opts))\n\t\t\t\t\tconst type = response.body === null || response.body === undefined ? 'json' : 'send'\n\t\t\t\t\tres.status(response.status)[type](response.body).end()\n\t\t\t\t} else {\n\t\t\t\t\tresponse.body.pipe(res)\n\t\t\t\t}\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tthis.#expressApp[method]?.(path, cb)\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(async (err, req, res, _next) => cb(err, req, res))\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tthis.#expressApp.use(cb)\n\t\t\t},\n\t\t\tstart: async (port) =>\n\t\t\t\tnew Promise((resolve: (s: boolean) => void, reject: (e: Error) => void) => {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconst app = this.server.listen({ host: '0.0.0.0', port }, async () => resolve(true))\n\t\t\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\treject(<Error>err)\n\t\t\t\t\t}\n\t\t\t\t}),\n\t\t})\n\t\tthis.#expressApp = app\n\n\t\tapp.disable('x-powered-by')\n\t\tif (config.requests.log) app.use(pinoHttp({ logger: instance.log }))\n\t\tapp.use(express.json())\n\t\tapp.use(express.text())\n\t\tapp.use(cookie())\n\t\tapp.use(\n\t\t\thelmet({\n\t\t\t\tcrossOriginResourcePolicy: { policy: 'cross-origin' },\n\t\t\t\tcontentSecurityPolicy: false,\n\t\t\t}),\n\t\t)\n\t\tapp.use(cors(this.cors))\n\t\tapp.use(express.urlencoded({ extended: false }))\n\t\tif (config.publicPath) app.use(express.static(config.publicPath))\n\t\tapp.use(\n\t\t\tfileUpload({\n\t\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\t\tuseTempFiles: false,\n\t\t\t}),\n\t\t)\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.use(\n\t\t\t\trateLimit({\n\t\t\t\t\twindowMs: config.requests.rateLimit.periodInMs,\n\t\t\t\t\tlimit: config.requests.rateLimit.limit,\n\t\t\t\t\thandler: (_: express.Request, res: express.Response) =>\n\t\t\t\t\t\tres.status(StatusCodes.TooManyRequests).json([{ message: 'Too Many Requests' }]),\n\t\t\t\t}),\n\t\t\t)\n\t\t/* if (this.settings.slowdown.enabled) app.use(slowDown({\n\t\t\twindowMs: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelayMs: this.settings.slowdown.delayInMs\n\t\t})) */\n\t}\n}\n"]}
@@ -33,16 +33,6 @@ class FastifyServer extends _basecjs.Server {
33
33
  });
34
34
  super(app.server, config, {
35
35
  parseRequest: async (req) => {
36
- const allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, _nullishCoalesce(val, () => ( null))]));
37
- const headers = {
38
- ...allHeaders,
39
- Authorization: _optionalChain([req, 'access', _2 => _2.headers, 'access', _3 => _3["authorization"], 'optionalAccess', _4 => _4.toString, 'call', _5 => _5()]),
40
- RefreshToken: _optionalChain([req, 'access', _6 => _6.headers, 'access', _7 => _7["x-refresh-token"], 'optionalAccess', _8 => _8.toString, 'call', _9 => _9()]),
41
- ApiKey: _optionalChain([req, 'access', _10 => _10.headers, 'access', _11 => _11["x-api-key"], 'optionalAccess', _12 => _12.toString, 'call', _13 => _13()]),
42
- ContentType: _optionalChain([req, 'access', _14 => _14.headers, 'access', _15 => _15["content-type"], 'optionalAccess', _16 => _16.toString, 'call', _17 => _17()]),
43
- Referer: _optionalChain([req, 'access', _18 => _18.headers, 'access', _19 => _19["referer"], 'optionalAccess', _20 => _20.toString, 'call', _21 => _21()]),
44
- UserAgent: _optionalChain([req, 'access', _22 => _22.headers, 'access', _23 => _23["user-agent"], 'optionalAccess', _24 => _24.toString, 'call', _25 => _25()])
45
- };
46
36
  const { body, files } = excludeBufferKeys(_nullishCoalesce(req.body, () => ( {})));
47
37
  return new (0, _requestscjs.Request)({
48
38
  ip: req.ip,
@@ -52,9 +42,8 @@ class FastifyServer extends _basecjs.Server {
52
42
  query: _nullishCoalesce(req.query, () => ( {})),
53
43
  method: req.method,
54
44
  path: req.url,
55
- headers,
56
- files,
57
- context: {}
45
+ headers: req.headers,
46
+ files
58
47
  });
59
48
  },
60
49
  handleResponse: async (res, response) => {
@@ -118,7 +107,7 @@ class FastifyServer extends _basecjs.Server {
118
107
  function excludeBufferKeys(body) {
119
108
  if (typeof body !== "object") return { body, files: {} };
120
109
  const entries = Object.entries(_nullishCoalesce(body, () => ( {})));
121
- const isFile = (val) => Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(_optionalChain([val, 'optionalAccess', _26 => _26.data]));
110
+ const isFile = (val) => Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(_optionalChain([val, 'optionalAccess', _2 => _2.data]));
122
111
  const fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]]);
123
112
  const nonFileEntries = entries.filter(([_, value]) => !isFile(value));
124
113
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/impls/fastify.ts","/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs"],"names":[],"mappings":"AAAA,02BAA0B;AAC1B,iFAAwB;AACxB,iGAA4B;AAC5B,yFAA0B;AAC1B,qGAA6B;AAC7B,sGAA6B;AAC7B,yFAA0B;AAE1B,oFAAoB;AAEpB,gEAAe;AAEf,kDAAgC;AAChC,qDAAyB;AACzB,sDAAiC;AAEjC,8CAAwB;AACxB,wCAA+C;AAC/C,qCAAuB;AAEhB,MAAM,cAAA,QAAsB,gBAAqC;AAAA,EACvE,WAAA,CAAY,MAAA,EAAsB;AACjC,IAAA,MAAM,SAAA,EAAW,mBAAA,CAAS,GAAA,CAAI,CAAA;AAC9B,IAAA,MAAM,IAAA,EAAM,+BAAA;AAAQ,MACnB,qBAAA,EAAuB,CAAC,MAAA,CAAO,QAAA,CAAS,GAAA;AAAA,MACxC,cAAA,EAAgB,MAAA,CAAO,QAAA,CAAS,IAAA,EAAM,QAAA,CAAS,IAAA,EAAM,KAAA,CAAA;AAAA,MACrD,GAAA,EAAK,EAAE,aAAA,EAAe,EAAE,WAAA,EAAa,MAAM,EAAE,CAAA;AAAA,MAC7C,aAAA,EAAe;AAAA,QACd,mBAAA,EAAqB,IAAA;AAAA,QACrB,aAAA,EAAe;AAAA,MAChB,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAA,EAAQ,IAAA,EAAA,GAC9B,IAAI,8BAAA;AAAA,QACH,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAA,CAAW;AAAA,UACtB,QAAA,EAAU,kBAAC,KAAA,CAAM,OAAA,UAAW,IAAE,CAAA;AAAA,UAC9B,KAAA,EAAO,CAAA,EAAA;AACN,QAAA;AACH,MAAA;AACD,IAAA;AACS,IAAA;AACT,MAAA;AACO,QAAA;AACA,QAAA;AACF,UAAA;AACH,UAAA;AACA,UAAA;AACQ,UAAA;AACR,UAAA;AACA,UAAA;AACA,UAAA;AACD,QAAA;AACQ,QAAA;AAED,QAAA;AACE,UAAA;AACR,UAAA;AACA,UAAA;AACQ,UAAA;AACD,UAAA;AACM,UAAA;AACP,UAAA;AACN,UAAA;AACA,UAAA;AACA,UAAA;AACA,QAAA;AACF,MAAA;AACA,MAAA;AACC,QAAA;AACU,QAAA;AACX,MAAA;AACA,MAAA;AACK,QAAA;AACE,UAAA;AACL,QAAA;AACF,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACO,MAAA;AACI,QAAA;AACA,QAAA;AACD,QAAA;AACF,QAAA;AACR,MAAA;AACA,IAAA;AAEG,IAAA;AACA,IAAA;AACA,IAAA;AACO,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACZ,MAAA;AACA,MAAA;AACU,MAAA;AACF,MAAA;AACD,QAAA;AACA,QAAA;AACG,UAAA;AACA,UAAA;AACF,UAAA;AACN,UAAA;AACM,UAAA;AACN,UAAA;AACD,QAAA;AAEU,QAAA;AACX,MAAA;AACA,IAAA;AAMU,IAAA;AACN,MAAA;AACE,QAAA;AACL,QAAA;AACA,QAAA;AACC,UAAA;AACA,UAAA;AACD,QAAA;AACA,MAAA;AACH,EAAA;AACD;AAES;AACG,EAAA;AACK,EAAA;AACA,EAAA;AACV,EAAA;AACA,EAAA;AACC,EAAA;AACU,IAAA;AAC8B,IAAA;AAC/C,EAAA;AACD;ACdkB;AACA;AACA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]))\n\t\t\t\tconst headers = {\n\t\t\t\t\t...allHeaders,\n\t\t\t\t\tAuthorization: req.headers['authorization']?.toString(),\n\t\t\t\t\tRefreshToken: req.headers['x-refresh-token']?.toString(),\n\t\t\t\t\tApiKey: req.headers['x-api-key']?.toString(),\n\t\t\t\t\tContentType: req.headers['content-type']?.toString(),\n\t\t\t\t\tReferer: req.headers['referer']?.toString(),\n\t\t\t\t\tUserAgent: req.headers['user-agent']?.toString(),\n\t\t\t\t}\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders,\n\t\t\t\t\tfiles,\n\t\t\t\t\tcontext: {},\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n",null]}
1
+ {"version":3,"sources":["../../../../src/server/impls/fastify.ts","/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs"],"names":[],"mappings":"AAAA,02BAA0B;AAC1B,iFAAwB;AACxB,iGAA4B;AAC5B,yFAA0B;AAC1B,qGAA6B;AAC7B,sGAA6B;AAC7B,yFAA0B;AAE1B,oFAAoB;AAEpB,gEAAe;AAEf,kDAAgC;AAChC,qDAAyB;AACzB,sDAAiC;AAEjC,8CAAwB;AACxB,wCAA+C;AAC/C,qCAAuB;AAEhB,MAAM,cAAA,QAAsB,gBAAqC;AAAA,EACvE,WAAA,CAAY,MAAA,EAAsB;AACjC,IAAA,MAAM,SAAA,EAAW,mBAAA,CAAS,GAAA,CAAI,CAAA;AAC9B,IAAA,MAAM,IAAA,EAAM,+BAAA;AAAQ,MACnB,qBAAA,EAAuB,CAAC,MAAA,CAAO,QAAA,CAAS,GAAA;AAAA,MACxC,cAAA,EAAgB,MAAA,CAAO,QAAA,CAAS,IAAA,EAAM,QAAA,CAAS,IAAA,EAAM,KAAA,CAAA;AAAA,MACrD,GAAA,EAAK,EAAE,aAAA,EAAe,EAAE,WAAA,EAAa,MAAM,EAAE,CAAA;AAAA,MAC7C,aAAA,EAAe;AAAA,QACd,mBAAA,EAAqB,IAAA;AAAA,QACrB,aAAA,EAAe;AAAA,MAChB,CAAA;AAAA,MACA,oBAAA,EAAsB,CAAC,MAAA,EAAQ,IAAA,EAAA,GAC9B,IAAI,8BAAA;AAAA,QACH,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,EAAA,GAAA,CAAW;AAAA,UACtB,QAAA,EAAU,kBAAC,KAAA,CAAM,OAAA,UAAW,IAAE,CAAA;AAAA,UAC9B,KAAA,EAAO,CAAA,EAAA;AACN,QAAA;AACH,MAAA;AACD,IAAA;AACS,IAAA;AACT,MAAA;AACS,QAAA;AAED,QAAA;AACE,UAAA;AACR,UAAA;AACA,UAAA;AACQ,UAAA;AACD,UAAA;AACM,UAAA;AACP,UAAA;AACN,UAAA;AACA,UAAA;AACA,QAAA;AACF,MAAA;AACA,MAAA;AACC,QAAA;AACU,QAAA;AACX,MAAA;AACA,MAAA;AACK,QAAA;AACE,UAAA;AACL,QAAA;AACF,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACA,MAAA;AACK,QAAA;AACL,MAAA;AACO,MAAA;AACI,QAAA;AACA,QAAA;AACD,QAAA;AACF,QAAA;AACR,MAAA;AACA,IAAA;AAEG,IAAA;AACA,IAAA;AACA,IAAA;AACO,IAAA;AACE,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACZ,MAAA;AACA,MAAA;AACU,MAAA;AACF,MAAA;AACD,QAAA;AACA,QAAA;AACG,UAAA;AACA,UAAA;AACF,UAAA;AACN,UAAA;AACM,UAAA;AACN,UAAA;AACD,QAAA;AAEU,QAAA;AACX,MAAA;AACA,IAAA;AAMU,IAAA;AACN,MAAA;AACE,QAAA;AACL,QAAA;AACA,QAAA;AACC,UAAA;AACA,UAAA;AACD,QAAA;AACA,MAAA;AACH,EAAA;AACD;AAES;AACG,EAAA;AACK,EAAA;AACA,EAAA;AACV,EAAA;AACA,EAAA;AACC,EAAA;AACU,IAAA;AAC8B,IAAA;AAC/C,EAAA;AACD;ACdkB;AACA;AACA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n",null]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _cookie = require('@fastify/cookie'); var _cookie2 = _interopRequireDefault(_cookie);var _cors = require('@fastify/cors'); var _cors2 = _interopRequireDefault(_cors);var _formbody = require('@fastify/formbody'); var _formbody2 = _interopRequireDefault(_formbody);var _helmet = require('@fastify/helmet'); var _helmet2 = _interopRequireDefault(_helmet);var _multipart = require('@fastify/multipart'); var _multipart2 = _interopRequireDefault(_multipart);var _ratelimit = require('@fastify/rate-limit'); var _ratelimit2 = _interopRequireDefault(_ratelimit);var _static = require('@fastify/static'); var _static2 = _interopRequireDefault(_static);var _fastify = require('fastify'); var _fastify2 = _interopRequireDefault(_fastify);var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs);var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _indexmincjs5 = require('../../utilities/index.min.cjs');var _requestsmincjs = require('../requests.min.cjs');var _typesmincjs = require('../types.min.cjs');var _basemincjs = require('./base.min.cjs');class _ extends _basemincjs.Server{constructor(i){const o=_indexmincjs3.Instance.get(),r=_fastify2.default.call(void 0, {disableRequestLogging:!i.requests.log,loggerInstance:i.requests.log?o.log:void 0,ajv:{customOptions:{coerceTypes:!1}},routerOptions:{ignoreTrailingSlash:!0,caseSensitive:!1},schemaErrorFormatter:(e,t)=>new (0, _indexmincjs.ValidationError)(e.map(s=>({messages:[_nullishCoalesce(s.message, () => (""))],field:`${t}${s.instancePath}`.replaceAll("/",".")})))});super(r.server,i,{parseRequest:async e=>{const s={...Object.fromEntries(Object.entries(e.headers).map(([m,u])=>[m,_nullishCoalesce(u, () => (null))])),Authorization:_optionalChain([e, 'access', _2 => _2.headers, 'access', _3 => _3.authorization, 'optionalAccess', _4 => _4.toString, 'call', _5 => _5()]),RefreshToken:_optionalChain([e, 'access', _6 => _6.headers, 'access', _7 => _7["x-refresh-token"], 'optionalAccess', _8 => _8.toString, 'call', _9 => _9()]),ApiKey:_optionalChain([e, 'access', _10 => _10.headers, 'access', _11 => _11["x-api-key"], 'optionalAccess', _12 => _12.toString, 'call', _13 => _13()]),ContentType:_optionalChain([e, 'access', _14 => _14.headers, 'access', _15 => _15["content-type"], 'optionalAccess', _16 => _16.toString, 'call', _17 => _17()]),Referer:_optionalChain([e, 'access', _18 => _18.headers, 'access', _19 => _19.referer, 'optionalAccess', _20 => _20.toString, 'call', _21 => _21()]),UserAgent:_optionalChain([e, 'access', _22 => _22.headers, 'access', _23 => _23["user-agent"], 'optionalAccess', _24 => _24.toString, 'call', _25 => _25()])},{body:a,files:l}=w(_nullishCoalesce(e.body, () => ({})));return new (0, _requestsmincjs.Request)({ip:e.ip,body:a,cookies:_nullishCoalesce(e.cookies, () => ({})),params:_nullishCoalesce(e.params, () => ({})),query:_nullishCoalesce(e.query, () => ({})),method:e.method,path:e.url,headers:s,files:l,context:{}})},handleResponse:async(e,t)=>{for(const[s,{value:a,...l}]of Object.entries(t.cookies))e=e.setCookie(s,a,l);await e.status(t.status).headers(t.headers).send(t.body)},registerRoute:(e,t,s)=>{r.register(async a=>{a.route({url:t,method:e,handler:s})})},registerErrorHandler:e=>{r.setErrorHandler(e)},registerNotFoundHandler:e=>{r.setNotFoundHandler(e)},start:async e=>(await r.ready(),await r.listen({port:e,host:"0.0.0.0"}),_indexmincjs3.Instance.on("close",r.close,1),!0)}),r.decorateRequest("savedReq",null),r.setValidatorCompiler(()=>()=>!0),r.setSerializerCompiler(()=>e=>JSON.stringify(e)),i.publicPath&&r.register(_static2.default,{root:i.publicPath}),r.register(_cookie2.default,{}),r.register(_cors2.default,this.cors),r.register(_formbody2.default,{parser:e=>_qs2.default.parse(e)}),r.register(_helmet2.default,{crossOriginResourcePolicy:{policy:"cross-origin"},contentSecurityPolicy:!1}),r.register(_multipart2.default,{attachFieldsToBody:"keyValues",throwFileSizeLimit:!1,limits:{fileSize:o.settings.utils.maxFileUploadSizeInMb*1024*1024},onFile:async e=>{const t=await e.toBuffer(),s={name:e.filename,type:e.mimetype,size:t.byteLength,isTruncated:e.file.truncated,data:t,duration:await _indexmincjs5.getMediaDuration.call(void 0, t)};e.value=s}}),i.requests.rateLimit.enabled&&r.register(_ratelimit2.default,{max:i.requests.rateLimit.limit,timeWindow:i.requests.rateLimit.periodInMs,errorResponseBuilder:(e,t)=>({statusCode:_typesmincjs.StatusCodes.TooManyRequests,message:JSON.stringify([{message:`Too Many Requests. Retry in ${t.after}`}])})})}}function w(n){if(typeof n!="object")return{body:n,files:{}};const i=Object.entries(_nullishCoalesce(n, () => ({}))),o=t=>Array.isArray(t)?o(t.at(0)):Buffer.isBuffer(_optionalChain([t, 'optionalAccess', _26 => _26.data])),r=i.filter(([t,s])=>o(s)).map(([t,s])=>[t,Array.isArray(s)?s:[s]]),e=i.filter(([t,s])=>!o(s));return{body:Object.fromEntries(e),files:Object.fromEntries(r)}}exports.FastifyServer = _;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _cookie = require('@fastify/cookie'); var _cookie2 = _interopRequireDefault(_cookie);var _cors = require('@fastify/cors'); var _cors2 = _interopRequireDefault(_cors);var _formbody = require('@fastify/formbody'); var _formbody2 = _interopRequireDefault(_formbody);var _helmet = require('@fastify/helmet'); var _helmet2 = _interopRequireDefault(_helmet);var _multipart = require('@fastify/multipart'); var _multipart2 = _interopRequireDefault(_multipart);var _ratelimit = require('@fastify/rate-limit'); var _ratelimit2 = _interopRequireDefault(_ratelimit);var _static = require('@fastify/static'); var _static2 = _interopRequireDefault(_static);var _fastify = require('fastify'); var _fastify2 = _interopRequireDefault(_fastify);var _qs = require('qs'); var _qs2 = _interopRequireDefault(_qs);var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../../instance/index.min.cjs');var _indexmincjs5 = require('../../utilities/index.min.cjs');var _requestsmincjs = require('../requests.min.cjs');var _typesmincjs = require('../types.min.cjs');var _basemincjs = require('./base.min.cjs');class N extends _basemincjs.Server{constructor(i){const o=_indexmincjs3.Instance.get(),r=_fastify2.default.call(void 0, {disableRequestLogging:!i.requests.log,loggerInstance:i.requests.log?o.log:void 0,ajv:{customOptions:{coerceTypes:!1}},routerOptions:{ignoreTrailingSlash:!0,caseSensitive:!1},schemaErrorFormatter:(e,t)=>new (0, _indexmincjs.ValidationError)(e.map(s=>({messages:[_nullishCoalesce(s.message, () => (""))],field:`${t}${s.instancePath}`.replaceAll("/",".")})))});super(r.server,i,{parseRequest:async e=>{const{body:t,files:s}=C(_nullishCoalesce(e.body, () => ({})));return new (0, _requestsmincjs.Request)({ip:e.ip,body:t,cookies:_nullishCoalesce(e.cookies, () => ({})),params:_nullishCoalesce(e.params, () => ({})),query:_nullishCoalesce(e.query, () => ({})),method:e.method,path:e.url,headers:e.headers,files:s})},handleResponse:async(e,t)=>{for(const[s,{value:n,...f}]of Object.entries(t.cookies))e=e.setCookie(s,n,f);await e.status(t.status).headers(t.headers).send(t.body)},registerRoute:(e,t,s)=>{r.register(async n=>{n.route({url:t,method:e,handler:s})})},registerErrorHandler:e=>{r.setErrorHandler(e)},registerNotFoundHandler:e=>{r.setNotFoundHandler(e)},start:async e=>(await r.ready(),await r.listen({port:e,host:"0.0.0.0"}),_indexmincjs3.Instance.on("close",r.close,1),!0)}),r.decorateRequest("savedReq",null),r.setValidatorCompiler(()=>()=>!0),r.setSerializerCompiler(()=>e=>JSON.stringify(e)),i.publicPath&&r.register(_static2.default,{root:i.publicPath}),r.register(_cookie2.default,{}),r.register(_cors2.default,this.cors),r.register(_formbody2.default,{parser:e=>_qs2.default.parse(e)}),r.register(_helmet2.default,{crossOriginResourcePolicy:{policy:"cross-origin"},contentSecurityPolicy:!1}),r.register(_multipart2.default,{attachFieldsToBody:"keyValues",throwFileSizeLimit:!1,limits:{fileSize:o.settings.utils.maxFileUploadSizeInMb*1024*1024},onFile:async e=>{const t=await e.toBuffer(),s={name:e.filename,type:e.mimetype,size:t.byteLength,isTruncated:e.file.truncated,data:t,duration:await _indexmincjs5.getMediaDuration.call(void 0, t)};e.value=s}}),i.requests.rateLimit.enabled&&r.register(_ratelimit2.default,{max:i.requests.rateLimit.limit,timeWindow:i.requests.rateLimit.periodInMs,errorResponseBuilder:(e,t)=>({statusCode:_typesmincjs.StatusCodes.TooManyRequests,message:JSON.stringify([{message:`Too Many Requests. Retry in ${t.after}`}])})})}}function C(a){if(typeof a!="object")return{body:a,files:{}};const i=Object.entries(_nullishCoalesce(a, () => ({}))),o=t=>Array.isArray(t)?o(t.at(0)):Buffer.isBuffer(_optionalChain([t, 'optionalAccess', _ => _.data])),r=i.filter(([t,s])=>o(s)).map(([t,s])=>[t,Array.isArray(s)?s:[s]]),e=i.filter(([t,s])=>!o(s));return{body:Object.fromEntries(e),files:Object.fromEntries(r)}}exports.FastifyServer = N;
2
2
  //# sourceMappingURL=fastify.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/impls/fastify.ts"],"names":["getMediaDuration","config","instance"],"mappings":"AAAA,02BAA0B,iFACF,iGACI,yFACF,qGACG,sGACA,yFACH,oFAEN,gEAEL,yDAGN,4DACAA,6DAGT,qDACS,+CAGIC,4CAGV,MAAwBA,EAAO,QAAS,kBAAA,CAAA,WACxC,CAAA,CAAA,CAAA,CAAA,MAAuB,CAAA,CAAA,sBAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAMC,CAAAA,+BAAS,CAAA,qBACxC,CAAA,CAAA,CAAA,CAAA,QAAiB,CAAA,GAAA,CAAA,cACxB,CAAA,CAAA,CAAA,QACC,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAqB,GACrB,CAAA,CAAA,aAAe,CAChB,CAAA,WACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACC,CAAA,CAAA,mBAEE,CAAA,CAAA,CAAA,CAAU,aAAkB,CAAE,CAAA,CAC9B,CAAA,CAAA,oBAAuB,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,EAAG,IAAA,iCAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,EAAK,CAAA,CAAA,QAGzD,CACD,kBAAA,CAAA,CAAA,OAAU,SAAA,IAAA,CAAQD,CAAAA,KACjB,CAAA,CAAA,EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.min.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst allHeaders = Object.fromEntries(Object.entries(req.headers).map(([key, val]) => [key, val ?? null]))\n\t\t\t\tconst headers = {\n\t\t\t\t\t...allHeaders,\n\t\t\t\t\tAuthorization: req.headers['authorization']?.toString(),\n\t\t\t\t\tRefreshToken: req.headers['x-refresh-token']?.toString(),\n\t\t\t\t\tApiKey: req.headers['x-api-key']?.toString(),\n\t\t\t\t\tContentType: req.headers['content-type']?.toString(),\n\t\t\t\t\tReferer: req.headers['referer']?.toString(),\n\t\t\t\t\tUserAgent: req.headers['user-agent']?.toString(),\n\t\t\t\t}\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders,\n\t\t\t\t\tfiles,\n\t\t\t\t\tcontext: {},\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n"]}
1
+ {"version":3,"sources":["../../../../src/server/impls/fastify.ts"],"names":["getMediaDuration","config","instance"],"mappings":"AAAA,02BAA0B,iFACF,iGACI,yFACF,qGACG,sGACA,yFACH,oFAEN,gEAEL,yDAGN,4DACAA,6DAGT,qDACS,+CAGIC,4CAGV,MAAwBA,EAAO,QAAS,kBAAA,CAAA,WACxC,CAAA,CAAA,CAAA,CAAA,MAAuB,CAAA,CAAA,sBAAA,CAAA,GAAS,CAAA,CAAA,CAAA,CAAMC,CAAAA,+BAAS,CAAA,qBACxC,CAAA,CAAA,CAAA,CAAA,QAAiB,CAAA,GAAA,CAAA,cACxB,CAAA,CAAA,CAAA,QACC,CAAA,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,KAAA,CAAA,CAAqB,GACrB,CAAA,CAAA,aAAe,CAChB,CAAA,WACA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,aACC,CAAA,CAAA,mBAEE,CAAA,CAAA,CAAA,CAAU,aAAkB,CAAE,CAAA,CAC9B,CAAA,CAAA,oBAAuB,CAAA,CAAA,CAAA,CAAA,CAAY,CAAA,EAAG,IAAA,iCAAA,CAAA,CAAA,CAAA,GAAW,CAAA,CAAA,EAAK,CAAA,CAAA,QAGzD,CACD,kBAAA,CAAA,CAAA,OAAU,SAAA,IAAA,CAAQD,CAAAA,KACjB,CAAA,CAAA,EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/impls/fastify.min.cjs","sourcesContent":["import fastifyCookie from '@fastify/cookie'\nimport fastifyCors from '@fastify/cors'\nimport fastifyFormBody from '@fastify/formbody'\nimport fastifyHelmet from '@fastify/helmet'\nimport fastifyMultipart from '@fastify/multipart'\nimport fastifyRateLimit from '@fastify/rate-limit'\nimport fastifyStatic from '@fastify/static'\nimport type { FastifyReply, FastifyRequest } from 'fastify'\nimport Fastify from 'fastify'\n// import fastifySlowDown from 'fastify-slow-down'\nimport qs from 'qs'\n\nimport { ValidationError } from '../../errors'\nimport { Instance } from '../../instance'\nimport { getMediaDuration } from '../../utilities'\nimport type { ServerConfig } from '../pipes'\nimport { Request } from '../requests'\nimport { type IncomingFile, StatusCodes } from '../types'\nimport { Server } from './base'\n\nexport class FastifyServer extends Server<FastifyRequest, FastifyReply> {\n\tconstructor(config: ServerConfig) {\n\t\tconst instance = Instance.get()\n\t\tconst app = Fastify({\n\t\t\tdisableRequestLogging: !config.requests.log,\n\t\t\tloggerInstance: config.requests.log ? instance.log : undefined,\n\t\t\tajv: { customOptions: { coerceTypes: false } },\n\t\t\trouterOptions: {\n\t\t\t\tignoreTrailingSlash: true,\n\t\t\t\tcaseSensitive: false,\n\t\t\t},\n\t\t\tschemaErrorFormatter: (errors, data) =>\n\t\t\t\tnew ValidationError(\n\t\t\t\t\terrors.map((error) => ({\n\t\t\t\t\t\tmessages: [error.message ?? ''],\n\t\t\t\t\t\tfield: `${data}${error.instancePath}`.replaceAll('/', '.'),\n\t\t\t\t\t})),\n\t\t\t\t),\n\t\t})\n\t\tsuper(app.server, config, {\n\t\t\tparseRequest: async (req) => {\n\t\t\t\tconst { body, files } = excludeBufferKeys(req.body ?? {})\n\n\t\t\t\treturn new Request({\n\t\t\t\t\tip: req.ip,\n\t\t\t\t\tbody,\n\t\t\t\t\tcookies: req.cookies ?? {},\n\t\t\t\t\tparams: req.params ?? <any>{},\n\t\t\t\t\tquery: req.query ?? {},\n\t\t\t\t\tmethod: <any>req.method,\n\t\t\t\t\tpath: req.url,\n\t\t\t\t\theaders: req.headers,\n\t\t\t\t\tfiles,\n\t\t\t\t})\n\t\t\t},\n\t\t\thandleResponse: async (res, response) => {\n\t\t\t\tfor (const [key, { value, ...opts }] of Object.entries(response.cookies)) res = res.setCookie(key, value, opts)\n\t\t\t\tawait res.status(response.status).headers(response.headers).send(response.body)\n\t\t\t},\n\t\t\tregisterRoute: (method, path, cb) => {\n\t\t\t\tapp.register(async (inst) => {\n\t\t\t\t\tinst.route({ url: path, method, handler: cb })\n\t\t\t\t})\n\t\t\t},\n\t\t\tregisterErrorHandler: (cb) => {\n\t\t\t\tapp.setErrorHandler(cb)\n\t\t\t},\n\t\t\tregisterNotFoundHandler: (cb) => {\n\t\t\t\tapp.setNotFoundHandler(cb)\n\t\t\t},\n\t\t\tstart: async (port) => {\n\t\t\t\tawait app.ready()\n\t\t\t\tawait app.listen({ port, host: '0.0.0.0' })\n\t\t\t\tInstance.on('close', app.close, 1)\n\t\t\t\treturn true\n\t\t\t},\n\t\t})\n\n\t\tapp.decorateRequest('savedReq', null)\n\t\tapp.setValidatorCompiler(() => () => true)\n\t\tapp.setSerializerCompiler(() => (data) => JSON.stringify(data))\n\t\tif (config.publicPath) app.register(fastifyStatic, { root: config.publicPath })\n\t\tapp.register(fastifyCookie, {})\n\t\tapp.register(fastifyCors, this.cors)\n\t\tapp.register(fastifyFormBody, { parser: (str) => qs.parse(str) })\n\t\tapp.register(fastifyHelmet, { crossOriginResourcePolicy: { policy: 'cross-origin' }, contentSecurityPolicy: false })\n\t\tapp.register(fastifyMultipart, {\n\t\t\tattachFieldsToBody: 'keyValues',\n\t\t\tthrowFileSizeLimit: false,\n\t\t\tlimits: { fileSize: instance.settings.utils.maxFileUploadSizeInMb * 1024 * 1024 },\n\t\t\tonFile: async (f) => {\n\t\t\t\tconst buffer = await f.toBuffer()\n\t\t\t\tconst parsed: IncomingFile = {\n\t\t\t\t\tname: f.filename,\n\t\t\t\t\ttype: f.mimetype,\n\t\t\t\t\tsize: buffer.byteLength,\n\t\t\t\t\tisTruncated: f.file.truncated,\n\t\t\t\t\tdata: buffer,\n\t\t\t\t\tduration: await getMediaDuration(buffer),\n\t\t\t\t}\n\t\t\t\t// @ts-ignore\n\t\t\t\tf.value = parsed\n\t\t\t},\n\t\t})\n\t\t/* if (this.settings.slowdown.enabled) app.register(fastifySlowDown, {\n\t\t\ttimeWindow: this.settings.slowdown.periodInMs,\n\t\t\tdelayAfter: this.settings.slowdown.delayAfter,\n\t\t\tdelay: this.settings.slowdown.delayInMs\n\t\t}) */\n\t\tif (config.requests.rateLimit.enabled)\n\t\t\tapp.register(fastifyRateLimit, {\n\t\t\t\tmax: config.requests.rateLimit.limit,\n\t\t\t\ttimeWindow: config.requests.rateLimit.periodInMs,\n\t\t\t\terrorResponseBuilder: (_, context) => ({\n\t\t\t\t\tstatusCode: StatusCodes.TooManyRequests,\n\t\t\t\t\tmessage: JSON.stringify([{ message: `Too Many Requests. Retry in ${context.after}` }]),\n\t\t\t\t}),\n\t\t\t})\n\t}\n}\n\nfunction excludeBufferKeys<T>(body: T) {\n\tif (typeof body !== 'object') return { body, files: {} }\n\tconst entries = Object.entries(body ?? {})\n\tconst isFile = (val: any) => (Array.isArray(val) ? isFile(val.at(0)) : Buffer.isBuffer(val?.data))\n\tconst fileEntries = entries.filter(([_, value]) => isFile(value)).map(([key, value]) => [key, Array.isArray(value) ? value : [value]])\n\tconst nonFileEntries = entries.filter(([_, value]) => !isFile(value))\n\treturn {\n\t\tbody: <T>Object.fromEntries(nonFileEntries),\n\t\tfiles: <Record<string, IncomingFile[]>>Object.fromEntries(fileEntries),\n\t}\n}\n"]}
@@ -4,7 +4,7 @@ var _fastifycjs = require('./impls/fastify.cjs'); _createStarExport(_fastifycjs)
4
4
  var _indexcjs = require('./middlewares/index.cjs'); _createStarExport(_indexcjs);
5
5
  var _pipescjs = require('./pipes.cjs'); _createStarExport(_pipescjs);
6
6
  var _requestscjs = require('./requests.cjs'); _createStarExport(_requestscjs);
7
- var _indexcjs3 = require('./requests-auth/index.cjs'); _createStarExport(_indexcjs3);
7
+ var _indexcjs3 = require('./requests-auth-methods/index.cjs'); _createStarExport(_indexcjs3);
8
8
  var _routescjs = require('./routes.cjs'); _createStarExport(_routescjs);
9
9
  var _typescjs = require('./types.cjs'); _createStarExport(_typescjs);
10
10
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,yaAAc;AACd,iFAAc;AACd,iFAAc;AACd,iFAAc;AACd,qEAAc;AACd,8EAAc;AACd,qFAAc;AACd,wEAAc;AAEd,qEAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
1
+ {"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,yaAAc;AACd,iFAAc;AACd,iFAAc;AACd,iFAAc;AACd,qEAAc;AACd,8EAAc;AACd,6FAAc;AACd,wEAAc;AAEd,qEAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth-methods'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./impls/base.min.cjs'); _createStarExport(_basemincjs);var _expressmincjs = require('./impls/express.min.cjs'); _createStarExport(_expressmincjs);var _fastifymincjs = require('./impls/fastify.min.cjs'); _createStarExport(_fastifymincjs);var _indexmincjs = require('./middlewares/index.min.cjs'); _createStarExport(_indexmincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _requestsmincjs = require('./requests.min.cjs'); _createStarExport(_requestsmincjs);var _indexmincjs3 = require('./requests-auth/index.min.cjs'); _createStarExport(_indexmincjs3);var _routesmincjs = require('./routes.min.cjs'); _createStarExport(_routesmincjs);var _typesmincjs = require('./types.min.cjs'); _createStarExport(_typesmincjs);
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _basemincjs = require('./impls/base.min.cjs'); _createStarExport(_basemincjs);var _expressmincjs = require('./impls/express.min.cjs'); _createStarExport(_expressmincjs);var _fastifymincjs = require('./impls/fastify.min.cjs'); _createStarExport(_fastifymincjs);var _indexmincjs = require('./middlewares/index.min.cjs'); _createStarExport(_indexmincjs);var _pipesmincjs = require('./pipes.min.cjs'); _createStarExport(_pipesmincjs);var _requestsmincjs = require('./requests.min.cjs'); _createStarExport(_requestsmincjs);var _indexmincjs3 = require('./requests-auth-methods/index.min.cjs'); _createStarExport(_indexmincjs3);var _routesmincjs = require('./routes.min.cjs'); _createStarExport(_routesmincjs);var _typesmincjs = require('./types.min.cjs'); _createStarExport(_typesmincjs);
2
2
  //# sourceMappingURL=index.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,mbACA,2FACc,2FACA,2FAEA,+EACA,wFAGd,+FAAc,kFAAA,+EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.min.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
1
+ {"version":3,"sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,mbACA,2FACc,2FACA,2FAEA,+EACA,wFAGd,uGAAc,kFAAA,+EAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/index.min.cjs","sourcesContent":["export * from './impls/base'\nexport * from './impls/express'\nexport * from './impls/fastify'\nexport * from './middlewares'\nexport * from './pipes'\nexport * from './requests'\nexport * from './requests-auth-methods'\nexport * from './routes'\nexport type * from './sockets'\nexport * from './types'\n"]}
@@ -1,65 +1,22 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _indexcjs = require('../../errors/index.cjs');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexcjs = require('../../errors/index.cjs');
2
+ var _indexcjs3 = require('../requests-auth-methods/index.cjs');
2
3
  var _typescjs = require('../types.cjs');
3
- const requireAuthUser = _typescjs.makeMiddleware.call(void 0,
4
+ const requireAuthUser = (methods) => _typescjs.makeMiddleware.call(void 0,
4
5
  async (request) => {
5
- const user = request.users.access.value || request.users.apiKey.value;
6
- const error = request.users.access.error || request.users.apiKey.error;
7
- if (!user && error) throw error;
8
- request.authUser = user;
6
+ request.authUser = await _indexcjs3.BaseRequestAuthMethod.process(methods, request.headers);
9
7
  if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
10
8
  },
11
9
  (route) => {
12
10
  route.security ??= [];
13
- route.security.push({ Authorization: [] }, { ApiKey: [] });
11
+ for (const method of methods) {
12
+ const schemeName = method.routeSecuritySchemeName();
13
+ if (schemeName) route.security.push({ [schemeName]: [] });
14
+ }
14
15
  route.descriptions ??= [];
15
16
  route.descriptions.push("Requires a valid means of authentication.");
16
17
  }
17
18
  );
18
- const requireAuthorizationUser = _typescjs.makeMiddleware.call(void 0,
19
- async (request) => {
20
- if (request.users.access.error) throw request.users.access.error;
21
- request.authUser = request.users.access.value;
22
- if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
23
- },
24
- (route) => {
25
- route.security ??= [];
26
- route.security.push({ Authorization: [] });
27
- route.descriptions ??= [];
28
- route.descriptions.push("Requires a valid authorization header.");
29
- }
30
- );
31
- const requireApiKeyUser = _typescjs.makeMiddleware.call(void 0,
32
- async (request) => {
33
- if (request.users.apiKey.error) throw request.users.apiKey.error;
34
- request.authUser = request.users.apiKey.value;
35
- if (!request.authUser) throw new (0, _indexcjs.NotAuthenticatedError)();
36
- },
37
- (route) => {
38
- route.security ??= [];
39
- route.security.push({ ApiKey: [] });
40
- route.descriptions ??= [];
41
- route.descriptions.push("Requires a valid x-api-key header.");
42
- }
43
- );
44
- const requireRefreshTokenUser = _typescjs.makeMiddleware.call(void 0,
45
- async (request, config) => {
46
- if (request.users.refresh.error) throw request.users.refresh.error;
47
- const refreshToken = request.headers.RefreshToken;
48
- if (!refreshToken) throw new (0, _indexcjs.NotAuthorizedError)("x-refresh-token header missing");
49
- request.users.refresh.value = await _optionalChain([config, 'optionalAccess', _ => _.requestsAuth, 'access', _2 => _2.tokens, 'optionalAccess', _3 => _3.verifyRefreshToken, 'call', _4 => _4(refreshToken)]);
50
- if (!request.users.refresh.value) throw new (0, _indexcjs.NotAuthorizedError)();
51
- },
52
- (route) => {
53
- route.security ??= [];
54
- route.security.push({ RefreshToken: [] });
55
- route.descriptions ??= [];
56
- route.descriptions.push("Requires a valid x-refresh-token header.");
57
- }
58
- );
59
-
60
-
61
-
62
19
 
63
20
 
64
- exports.requireApiKeyUser = requireApiKeyUser; exports.requireAuthUser = requireAuthUser; exports.requireAuthorizationUser = requireAuthorizationUser; exports.requireRefreshTokenUser = requireRefreshTokenUser;
21
+ exports.requireAuthUser = requireAuthUser;
65
22
  //# sourceMappingURL=requireAuthUser.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts","/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs"],"names":[],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs","sourcesContent":["import { NotAuthenticatedError, NotAuthorizedError } from '../../errors'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = makeMiddleware(\n\tasync (request) => {\n\t\tconst user = request.users.access.value || request.users.apiKey.value\n\t\tconst error = request.users.access.error || request.users.apiKey.error\n\t\tif (!user && error) throw error\n\t\trequest.authUser = user\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ Authorization: [] }, { ApiKey: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t},\n)\n\nexport const requireAuthorizationUser = makeMiddleware(\n\tasync (request) => {\n\t\tif (request.users.access.error) throw request.users.access.error\n\t\trequest.authUser = request.users.access.value\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ Authorization: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid authorization header.')\n\t},\n)\n\nexport const requireApiKeyUser = makeMiddleware(\n\tasync (request) => {\n\t\tif (request.users.apiKey.error) throw request.users.apiKey.error\n\t\trequest.authUser = request.users.apiKey.value\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ ApiKey: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid x-api-key header.')\n\t},\n)\n\nexport const requireRefreshTokenUser = makeMiddleware(\n\tasync (request, config) => {\n\t\tif (request.users.refresh.error) throw request.users.refresh.error\n\t\tconst refreshToken = request.headers.RefreshToken\n\t\tif (!refreshToken) throw new NotAuthorizedError('x-refresh-token header missing')\n\t\trequest.users.refresh.value = await config?.requestsAuth.tokens?.verifyRefreshToken(refreshToken)\n\t\tif (!request.users.refresh.value) throw new NotAuthorizedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ RefreshToken: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid x-refresh-token header.')\n\t},\n)\n",null]}
1
+ {"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts","/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs"],"names":[],"mappings":"AAAA,2HAAsC;AAEtC,+DAAsC;AACtC,wCAA+B;AAExB,MAAM,gBAAA,EAAkB,CAAC,OAAA,EAAA,GAC/B,sCAAA;AAAA,EACC,MAAA,CAAO,OAAA,EAAA,GAAY;AAClB,IAAA,OAAA,CAAQ,SAAA,EAAW,MAAM,gCAAA,CAAsB,OAAA,CAAQ,OAAA,EAAS,OAAA,CAAQ,OAAO,CAAA;AAC/E,IAAA,GAAA,CAAI,CAAC,OAAA,CAAQ,QAAA,EAAU,MAAM,IAAI,oCAAA,CAAsB,CAAA;AAAA,EACxD,CAAA;AAAA,EACA,CAAC,KAAA,EAAA,GAAU;AACV,IAAA,KAAA,CAAM,SAAA,IAAa,CAAC,CAAA;AACpB,IAAA,IAAA,CAAA,MAAW,OAAA,GAAU,OAAA,EAAS;AAC7B,MAAA,MAAM,WAAA,EAAa,MAAA,CAAO,uBAAA,CAAwB,CAAA;AAClD,MAAA,GAAA,CAAI,UAAA,EAAY,KAAA,CAAM,QAAA,CAAS,IAAA,CAAK,EAAE,CAAC,UAAU,CAAA,EAAG,CAAC,EAAE,CAAC,CAAA;AAAA,IACzD;AAEA,IAAA,KAAA,CAAM,aAAA,IAAiB,CAAC,CAAA;AACxB,IAAA,KAAA,CAAM,YAAA,CAAa,IAAA,CAAK,2CAA2C,CAAA;AAAA,EACpE;AACD,CAAA;ACHD;AACE;AACF,0CAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.cjs","sourcesContent":["import { NotAuthenticatedError } from '../../errors'\nimport type { AuthUser } from '../../types'\nimport { BaseRequestAuthMethod } from '../requests-auth-methods'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = (methods: BaseRequestAuthMethod<AuthUser>[]) =>\n\tmakeMiddleware(\n\t\tasync (request) => {\n\t\t\trequest.authUser = await BaseRequestAuthMethod.process(methods, request.headers)\n\t\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t\t},\n\t\t(route) => {\n\t\t\troute.security ??= []\n\t\t\tfor (const method of methods) {\n\t\t\t\tconst schemeName = method.routeSecuritySchemeName()\n\t\t\t\tif (schemeName) route.security.push({ [schemeName]: [] })\n\t\t\t}\n\n\t\t\troute.descriptions ??= []\n\t\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t\t},\n\t)\n",null]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _indexmincjs = require('../../errors/index.min.cjs');var _typesmincjs = require('../types.min.cjs');const c=_typesmincjs.makeMiddleware.call(void 0, async r=>{const s=r.users.access.value||r.users.apiKey.value,e=r.users.access.error||r.users.apiKey.error;if(!s&&e)throw e;if(r.authUser=s,!r.authUser)throw new _indexmincjs.NotAuthenticatedError},r=>{r.security??=[],r.security.push({Authorization:[]},{ApiKey:[]}),r.descriptions??=[],r.descriptions.push("Requires a valid means of authentication.")}),t= exports.requireAuthorizationUser =_typesmincjs.makeMiddleware.call(void 0, async r=>{if(r.users.access.error)throw r.users.access.error;if(r.authUser=r.users.access.value,!r.authUser)throw new _indexmincjs.NotAuthenticatedError},r=>{r.security??=[],r.security.push({Authorization:[]}),r.descriptions??=[],r.descriptions.push("Requires a valid authorization header.")}),u= exports.requireApiKeyUser =_typesmincjs.makeMiddleware.call(void 0, async r=>{if(r.users.apiKey.error)throw r.users.apiKey.error;if(r.authUser=r.users.apiKey.value,!r.authUser)throw new _indexmincjs.NotAuthenticatedError},r=>{r.security??=[],r.security.push({ApiKey:[]}),r.descriptions??=[],r.descriptions.push("Requires a valid x-api-key header.")}),p= exports.requireRefreshTokenUser =_typesmincjs.makeMiddleware.call(void 0, async(r,s)=>{if(r.users.refresh.error)throw r.users.refresh.error;const e=r.headers.RefreshToken;if(!e)throw new (0, _indexmincjs.NotAuthorizedError)("x-refresh-token header missing");if(r.users.refresh.value=await _optionalChain([s, 'optionalAccess', _ => _.requestsAuth, 'access', _2 => _2.tokens, 'optionalAccess', _3 => _3.verifyRefreshToken, 'call', _4 => _4(e)]),!r.users.refresh.value)throw new _indexmincjs.NotAuthorizedError},r=>{r.security??=[],r.security.push({RefreshToken:[]}),r.descriptions??=[],r.descriptions.push("Requires a valid x-refresh-token header.")});exports.requireApiKeyUser = u; exports.requireAuthUser = c; exports.requireAuthorizationUser = t; exports.requireRefreshTokenUser = p;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _indexmincjs = require('../../errors/index.min.cjs');var _indexmincjs3 = require('../requests-auth-methods/index.min.cjs');var _typesmincjs = require('../types.min.cjs');const u=t=>_typesmincjs.makeMiddleware.call(void 0, async e=>{if(e.authUser=await _indexmincjs3.BaseRequestAuthMethod.process(t,e.headers),!e.authUser)throw new _indexmincjs.NotAuthenticatedError},e=>{e.security??=[];for(const s of t){const r=s.routeSecuritySchemeName();r&&e.security.push({[r]:[]})}e.descriptions??=[],e.descriptions.push("Requires a valid means of authentication.")});exports.requireAuthUser = u;
2
2
  //# sourceMappingURL=requireAuthUser.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts"],"names":["request","error","user","NotAuthenticatedError","route","NotAuthorizedError"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.min.cjs","sourcesContent":["import { NotAuthenticatedError, NotAuthorizedError } from '../../errors'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = makeMiddleware(\n\tasync (request) => {\n\t\tconst user = request.users.access.value || request.users.apiKey.value\n\t\tconst error = request.users.access.error || request.users.apiKey.error\n\t\tif (!user && error) throw error\n\t\trequest.authUser = user\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ Authorization: [] }, { ApiKey: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t},\n)\n\nexport const requireAuthorizationUser = makeMiddleware(\n\tasync (request) => {\n\t\tif (request.users.access.error) throw request.users.access.error\n\t\trequest.authUser = request.users.access.value\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ Authorization: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid authorization header.')\n\t},\n)\n\nexport const requireApiKeyUser = makeMiddleware(\n\tasync (request) => {\n\t\tif (request.users.apiKey.error) throw request.users.apiKey.error\n\t\trequest.authUser = request.users.apiKey.value\n\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ ApiKey: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid x-api-key header.')\n\t},\n)\n\nexport const requireRefreshTokenUser = makeMiddleware(\n\tasync (request, config) => {\n\t\tif (request.users.refresh.error) throw request.users.refresh.error\n\t\tconst refreshToken = request.headers.RefreshToken\n\t\tif (!refreshToken) throw new NotAuthorizedError('x-refresh-token header missing')\n\t\trequest.users.refresh.value = await config?.requestsAuth.tokens?.verifyRefreshToken(refreshToken)\n\t\tif (!request.users.refresh.value) throw new NotAuthorizedError()\n\t},\n\t(route) => {\n\t\troute.security ??= []\n\t\troute.security.push({ RefreshToken: [] })\n\t\troute.descriptions ??= []\n\t\troute.descriptions.push('Requires a valid x-refresh-token header.')\n\t},\n)\n"]}
1
+ {"version":3,"sources":["../../../../src/server/middlewares/requireAuthUser.ts"],"names":["makeMiddleware","request","route","method","methods","schemeName"],"mappings":"AAAA,kIAES,sEACAA,+CAKa,MAA4B,CAAA,CAAA,CAAA,EAAA,yCAAA,MAAyB,CAAA,EAAA,CAAA,EAAO,CAAA,CAC3E,CAACC,QAAQ,CAAA,MAAU,mCAAA,CAAM,OAE7BC,CAAAA,CAAAA,CAAU,CACVA,CAAAA,OAAM,CAAA,CAAA,CAAA,CAAA,CAAa,QACnB,CAAA,MAAWC,IAAUC,kCAAS,CAC7B,CAAA,CAAA,EAAA,CAAA,CAAMC,CAAAA,QAAoB,GAAA,CAAA,CAAA,CAAA,GAAA,CAAA,MAAA,EAAA,GACtBA,CAAAA,CAAAA,CAAYH,MAAM,CAAA,CAAA,CAAA,CAAA,uBAGjB,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,CAAA,QACA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAa,CAAA,CAAA,CAAA,CAAA,CAAK,CAAA,YAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,YAAA,CAAA,IAAA,CAAA,2CAE1B,CAAA,CAAA,CAAA,CAAA,4BAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/middlewares/requireAuthUser.min.cjs","sourcesContent":["import { NotAuthenticatedError } from '../../errors'\nimport type { AuthUser } from '../../types'\nimport { BaseRequestAuthMethod } from '../requests-auth-methods'\nimport { makeMiddleware } from '../types'\n\nexport const requireAuthUser = (methods: BaseRequestAuthMethod<AuthUser>[]) =>\n\tmakeMiddleware(\n\t\tasync (request) => {\n\t\t\trequest.authUser = await BaseRequestAuthMethod.process(methods, request.headers)\n\t\t\tif (!request.authUser) throw new NotAuthenticatedError()\n\t\t},\n\t\t(route) => {\n\t\t\troute.security ??= []\n\t\t\tfor (const method of methods) {\n\t\t\t\tconst schemeName = method.routeSecuritySchemeName()\n\t\t\t\tif (schemeName) route.security.push({ [schemeName]: [] })\n\t\t\t}\n\n\t\t\troute.descriptions ??= []\n\t\t\troute.descriptions.push('Requires a valid means of authentication.')\n\t\t},\n\t)\n"]}
@@ -1,9 +1,16 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');
2
2
  var _indexcjs = require('../events/index.cjs');
3
- var _indexcjs3 = require('./requests-auth/index.cjs');
4
- const serverConfigPipe = () => _valleyed.v.object({
5
- type: _valleyed.v.in(["fastify", "express"]),
3
+ var _indexcjs3 = require('./requests-auth-methods/index.cjs');
4
+ var _typescjs = require('./types.cjs');
5
+ const serverBasePipe = () => _valleyed.v.object({
6
6
  port: _valleyed.v.number(),
7
+ cors: _valleyed.v.optional(
8
+ _valleyed.v.object({
9
+ origin: _valleyed.v.optional(_valleyed.v.array(_valleyed.v.string())),
10
+ methods: _valleyed.v.optional(_valleyed.v.array(_valleyed.v.in(Object.values(_typescjs.Methods)))),
11
+ credentials: _valleyed.v.optional(_valleyed.v.boolean())
12
+ })
13
+ ),
7
14
  eventBus: _valleyed.v.optional(_valleyed.v.instanceOf(_indexcjs.EventBus)),
8
15
  publicPath: _valleyed.v.optional(_valleyed.v.string()),
9
16
  healthPath: _valleyed.v.optional(_valleyed.v.string()),
@@ -38,12 +45,20 @@ const serverConfigPipe = () => _valleyed.v.object({
38
45
  }),
39
46
  {}
40
47
  ),
41
- requestsAuth: _valleyed.v.defaults(
48
+ socketsAuthMethods: _valleyed.v.defaults(_valleyed.v.array(_valleyed.v.instanceOf(_indexcjs3.BaseRequestAuthMethod)), [])
49
+ });
50
+ const serverConfigPipe = () => _valleyed.v.discriminate((d) => d.type, {
51
+ fastify: _valleyed.v.merge(
52
+ serverBasePipe(),
42
53
  _valleyed.v.object({
43
- tokens: _valleyed.v.optional(_valleyed.v.instanceOf(_indexcjs3.BaseTokensUtility)),
44
- apiKey: _valleyed.v.optional(_valleyed.v.instanceOf(_indexcjs3.BaseApiKeysUtility))
45
- }),
46
- {}
54
+ type: _valleyed.v.is("fastify")
55
+ })
56
+ ),
57
+ express: _valleyed.v.merge(
58
+ serverBasePipe(),
59
+ _valleyed.v.object({
60
+ type: _valleyed.v.is("express")
61
+ })
47
62
  )
48
63
  });
49
64
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs"],"names":[],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport { BaseApiKeysUtility, BaseTokensUtility } from './requests-auth'\n\nexport const serverConfigPipe = () =>\n\tv.object({\n\t\ttype: v.in(['fastify', 'express'] as const),\n\t\tport: v.number(),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequestsAuth: v.defaults(\n\t\t\tv.object({\n\t\t\t\ttokens: v.optional(v.instanceOf(BaseTokensUtility)),\n\t\t\t\tapiKey: v.optional(v.instanceOf(BaseApiKeysUtility)),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n",null]}
1
+ {"version":3,"sources":["../../../src/server/pipes.ts","/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs"],"names":[],"mappings":"AAAA,6GAAmC;AAEnC,+CAAyB;AAEzB,8DAAsC;AACtC,uCAAwB;AAExB,MAAM,eAAA,EAAiB,CAAA,EAAA,GACtB,WAAA,CAAE,MAAA,CAAO;AAAA,EACR,IAAA,EAAM,WAAA,CAAE,MAAA,CAAO,CAAA;AAAA,EACf,IAAA,EAAM,WAAA,CAAE,QAAA;AAAA,IACP,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,MAAA,EAAQ,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,WAAA,CAAE,MAAA,CAAO,CAAC,CAAC,CAAA;AAAA,MACtC,OAAA,EAAS,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,WAAA,CAAE,EAAA,CAAG,MAAA,CAAO,MAAA,CAAO,iBAAO,CAAC,CAAC,CAAC,CAAA;AAAA,MACzD,WAAA,EAAa,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAC;AAAA,IACpC,CAAC;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,UAAA,CAAW,kBAAQ,CAAC,CAAA;AAAA,EAC3C,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,EACjC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA;AAAA,EACjC,OAAA,EAAS,WAAA,CAAE,QAAA;AAAA,IACV,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,WAAA,EAAa,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,OAAO,CAAA;AAAA,MAC3C,WAAA,EAAa,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,WAAA,CAAE,MAAA,CAAO,CAAC,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAAA,MAClD,QAAA,EAAU,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,SAAS;AAAA,IAC3C,CAAC,CAAA;AAAA,IACD,CAAC;AAAA,EACF,CAAA;AAAA,EACA,QAAA,EAAU,WAAA,CAAE,QAAA;AAAA,IACX,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,GAAA,EAAK,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,IAAI,CAAA;AAAA,MACjC,SAAA,EAAW,WAAA,CAAE,QAAA;AAAA,QACZ,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,OAAA,EAAS,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,KAAK,CAAA;AAAA,UACtC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAA,EAAK,GAAA,EAAK,GAAI,CAAA;AAAA,UACjD,KAAA,EAAO,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAI;AAAA,QACnC,CAAC,CAAA;AAAA,QACD,CAAC;AAAA,MACF,CAAA;AAAA,MACA,QAAA,EAAU,WAAA,CAAE,QAAA;AAAA,QACX,WAAA,CAAE,MAAA,CAAO;AAAA,UACR,OAAA,EAAS,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,OAAA,CAAQ,CAAA,EAAG,KAAK,CAAA;AAAA,UACtC,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAA,EAAK,GAAA,EAAK,GAAI,CAAA;AAAA,UACjD,UAAA,EAAY,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAI,CAAA;AAAA,UACvC,SAAA,EAAW,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,MAAA,CAAO,CAAA,EAAG,GAAG;AAAA,QACtC,CAAC,CAAA;AAAA,QACD,CAAC;AAAA,MACF;AAAA,IACD,CAAC,CAAA;AAAA,IACD,CAAC;AAAA,EACF,CAAA;AAAA,EACA,kBAAA,EAAoB,WAAA,CAAE,QAAA,CAAS,WAAA,CAAE,KAAA,CAAM,WAAA,CAAE,UAAA,CAAW,gCAA+B,CAAC,CAAA,EAAG,CAAC,CAAC;AAC1F,CAAC,CAAA;AAEK,MAAM,iBAAA,EAAmB,CAAA,EAAA,GAC/B,WAAA,CAAE,YAAA,CAAa,CAAC,CAAA,EAAA,GAAW,CAAA,CAAE,IAAA,EAAM;AAAA,EAClC,OAAA,EAAS,WAAA,CAAE,KAAA;AAAA,IACV,cAAA,CAAe,CAAA;AAAA,IACf,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,SAAkB;AAAA,IAC9B,CAAC;AAAA,EACF,CAAA;AAAA,EACA,OAAA,EAAS,WAAA,CAAE,KAAA;AAAA,IACV,cAAA,CAAe,CAAA;AAAA,IACf,WAAA,CAAE,MAAA,CAAO;AAAA,MACR,IAAA,EAAM,WAAA,CAAE,EAAA,CAAG,SAAkB;AAAA,IAC9B,CAAC;AAAA,EACF;AACD,CAAC,CAAA;ACLF;AACE;AACF,4CAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport type { AuthUser } from '../types'\nimport { BaseRequestAuthMethod } from './requests-auth-methods'\nimport { Methods } from './types'\n\nconst serverBasePipe = () =>\n\tv.object({\n\t\tport: v.number(),\n\t\tcors: v.optional(\n\t\t\tv.object({\n\t\t\t\torigin: v.optional(v.array(v.string())),\n\t\t\t\tmethods: v.optional(v.array(v.in(Object.values(Methods)))),\n\t\t\t\tcredentials: v.optional(v.boolean()),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tsocketsAuthMethods: v.defaults(v.array(v.instanceOf(BaseRequestAuthMethod<AuthUser>)), []),\n\t})\n\nexport const serverConfigPipe = () =>\n\tv.discriminate((d: any) => d.type, {\n\t\tfastify: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('fastify' as const),\n\t\t\t}),\n\t\t),\n\t\texpress: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('express' as const),\n\t\t\t}),\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n",null]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');var _indexmincjs = require('../events/index.min.cjs');var _indexmincjs3 = require('./requests-auth/index.min.cjs');const r=()=>_valleyed.v.object({type:_valleyed.v.in(["fastify","express"]),port:_valleyed.v.number(),eventBus:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs.EventBus)),publicPath:_valleyed.v.optional(_valleyed.v.string()),healthPath:_valleyed.v.optional(_valleyed.v.string()),openapi:_valleyed.v.defaults(_valleyed.v.object({docsVersion:_valleyed.v.defaults(_valleyed.v.string(),"1.0.0"),docsBaseUrl:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.string()),["/"]),docsPath:_valleyed.v.defaults(_valleyed.v.string(),"/__docs")}),{}),requests:_valleyed.v.defaults(_valleyed.v.object({log:_valleyed.v.defaults(_valleyed.v.boolean(),!0),rateLimit:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),3600*1e3),limit:_valleyed.v.defaults(_valleyed.v.number(),5e3)}),{}),slowdown:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),600*1e3),delayAfter:_valleyed.v.defaults(_valleyed.v.number(),2e3),delayInMs:_valleyed.v.defaults(_valleyed.v.number(),500)}),{})}),{}),requestsAuth:_valleyed.v.defaults(_valleyed.v.object({tokens:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs3.BaseTokensUtility)),apiKey:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs3.BaseApiKeysUtility))}),{})});exports.serverConfigPipe = r;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _valleyed = require('valleyed');var _indexmincjs = require('../events/index.min.cjs');var _indexmincjs3 = require('./requests-auth-methods/index.min.cjs');var _typesmincjs = require('./types.min.cjs');const t=()=>_valleyed.v.object({port:_valleyed.v.number(),cors:_valleyed.v.optional(_valleyed.v.object({origin:_valleyed.v.optional(_valleyed.v.array(_valleyed.v.string())),methods:_valleyed.v.optional(_valleyed.v.array(_valleyed.v.in(Object.values(_typesmincjs.Methods)))),credentials:_valleyed.v.optional(_valleyed.v.boolean())})),eventBus:_valleyed.v.optional(_valleyed.v.instanceOf(_indexmincjs.EventBus)),publicPath:_valleyed.v.optional(_valleyed.v.string()),healthPath:_valleyed.v.optional(_valleyed.v.string()),openapi:_valleyed.v.defaults(_valleyed.v.object({docsVersion:_valleyed.v.defaults(_valleyed.v.string(),"1.0.0"),docsBaseUrl:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.string()),["/"]),docsPath:_valleyed.v.defaults(_valleyed.v.string(),"/__docs")}),{}),requests:_valleyed.v.defaults(_valleyed.v.object({log:_valleyed.v.defaults(_valleyed.v.boolean(),!0),rateLimit:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),3600*1e3),limit:_valleyed.v.defaults(_valleyed.v.number(),5e3)}),{}),slowdown:_valleyed.v.defaults(_valleyed.v.object({enabled:_valleyed.v.defaults(_valleyed.v.boolean(),!1),periodInMs:_valleyed.v.defaults(_valleyed.v.number(),600*1e3),delayAfter:_valleyed.v.defaults(_valleyed.v.number(),2e3),delayInMs:_valleyed.v.defaults(_valleyed.v.number(),500)}),{})}),{}),socketsAuthMethods:_valleyed.v.defaults(_valleyed.v.array(_valleyed.v.instanceOf(_indexmincjs3.BaseRequestAuthMethod)),[])}),u= exports.serverConfigPipe =()=>_valleyed.v.discriminate(s=>s.type,{fastify:_valleyed.v.merge(t(),_valleyed.v.object({type:_valleyed.v.is("fastify")})),express:_valleyed.v.merge(t(),_valleyed.v.object({type:_valleyed.v.is("express")}))});exports.serverConfigPipe = u;
2
2
  //# sourceMappingURL=pipes.min.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/pipes.ts"],"names":["v"],"mappings":"AAAA,6GAAmC,sDAG1B,6DAIC,MAAI,CAAA,CAAA,CAAA,CAAA,EAAA,WAAW,CAAA,MAAA,CAAA,CAAS,IAChC,CAAA,WAAA,CAAA,EAAMA,CAAE,CAAA,SACR,CAAA,SAAY,CAAA,CAAA,CAAA,IAAA,CAAA,WAASA,CAAAA,MAAE,CAAA,CAAA,CAAA,QACvB,CAAA,WAAA,CAAA,QAAYA,CAAE,WAAA,CAAA,UAAW,CAAA,qBAAA,CAAA,CAAA,CAAA,UACzB,CAAA,WAAA,CAAA,QAAc,CAAA,WAAA,CAAA,MAAW,CAAA,CAAA,CAAA,CAAA,UACzB,CAAA,WAASA,CAAAA,QAAE,CAAA,WACVA,CAAAA,MAAE,CAAA,CAAO,CACR,CAAA,OAAA,CAAA,WAAA,CAAA,QAAe,CAAA,WAAA,CAAA,MAAW,CAAA,CAAA,WAAiB,CAAA,WAC3C,CAAA,QAAA,CAAA,WAAA,CAAaA,MAAE,CAAA,CAAA,CAAA,OAAW,CAAA,CAAA,WAAgB,CAAA,WAAG,CAAC,QAC9C,CAAA,WAAA,CAAA,KAAUA,CAAE,WAAA,CAAA,MAAA,CAASA,CAAAA,CAAE,CAAA,CAAA,GAAA,CAAA,CAAO,CAAA,QAAG,CAAA,WAAS,CAC3C,QAGD,CAAA,WAAA,CAAA,MAAUA,CAAE,CAAA,CAAA,SACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CACR,QAAO,CAAA,WAAA,CAAA,QAAW,CAAA,WAAA,CAAA,MAAW,CAAI,CAAA,GACjC,CAAA,WAAA,CAAA,QAAa,CAAA,WAAA,CAAA,OACV,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,SACCA,CAAAA,WAAE,CAAA,QAASA,CAAAA,WAAE,CAAA,MAAA,CAAQ,CAAA,OAC9B,CAAA,WAAA,CAAA,QAAc,CAAA,WAAA,CAAA,OAASA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAoB,CAAI,WAAA,CACjD,QAAS,CAAA,WAAA,CAAA,MAASA,CAAAA,CAAE,CAAA,IAAA,CAAA,GAAU,CAAA,CAAA,KAE/B,CAAC,WACF,CAAA,QACA,CAAA,WAAUA,CAAAA,MAAE,CAAA,CAAA,CAAA,GACT,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAO,CACR,QAASA,CAAAA,WAAE,CAAA,QAASA,CAAAA,WAAE,CAAA,MAAA,CAAQ,CAAA,OAC9B,CAAA,WAAA,CAAA,QAAc,CAAA,WAAA,CAAA,OAASA,CAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,UAAwB,CAAA,WACjD,CAAA,QAAA,CAAA,WAAYA,CAAAA,MAAE,CAAA,CAAA,CAAA,GAAW,CAAA,GAAA,CAAA,CAAA,UACzB,CAAA,WAAA,CAAA,QAAa,CAAA,WAAA,CAAA,MAASA,CAAE,CAAA,CAAA,GAAA,CAAA,CAAO,SAEhC,CAAC,WACF,CACD,QAGD,CAAA,WAAA,CAAA,MAAA,CAAA,CAAA,CAAcA,GAAE,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CACfA,CAAAA,CAAE,CAAA,CAAA,CAAA,CAAA,YACOA,CAAE,WAAA,CAAA,QAASA,CAAE,WAAA,CAAA,MAAA,CAAA,CAAA,MACrB,CAAA,WAAA,CAAA,QAAU,CAAA,WAAA,CAAA,UAAW,CAAA,+BAAA,CAAA,CAAA,CAAA,MACrB,CACD,WAAC,CACF,QACA,CAAA,WAAA,CAAA,UAAA,CAAA,gCAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,6BAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.min.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport { BaseApiKeysUtility, BaseTokensUtility } from './requests-auth'\n\nexport const serverConfigPipe = () =>\n\tv.object({\n\t\ttype: v.in(['fastify', 'express'] as const),\n\t\tport: v.number(),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequestsAuth: v.defaults(\n\t\t\tv.object({\n\t\t\t\ttokens: v.optional(v.instanceOf(BaseTokensUtility)),\n\t\t\t\tapiKey: v.optional(v.instanceOf(BaseApiKeysUtility)),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n"]}
1
+ {"version":3,"sources":["../../../src/server/pipes.ts"],"names":["v","Methods","EventBus"],"mappings":"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","file":"/home/runner/work/equipped/equipped/dist/cjs/server/pipes.min.cjs","sourcesContent":["import { type PipeOutput, v } from 'valleyed'\n\nimport { EventBus } from '../events'\nimport type { AuthUser } from '../types'\nimport { BaseRequestAuthMethod } from './requests-auth-methods'\nimport { Methods } from './types'\n\nconst serverBasePipe = () =>\n\tv.object({\n\t\tport: v.number(),\n\t\tcors: v.optional(\n\t\t\tv.object({\n\t\t\t\torigin: v.optional(v.array(v.string())),\n\t\t\t\tmethods: v.optional(v.array(v.in(Object.values(Methods)))),\n\t\t\t\tcredentials: v.optional(v.boolean()),\n\t\t\t}),\n\t\t),\n\t\teventBus: v.optional(v.instanceOf(EventBus)),\n\t\tpublicPath: v.optional(v.string()),\n\t\thealthPath: v.optional(v.string()),\n\t\topenapi: v.defaults(\n\t\t\tv.object({\n\t\t\t\tdocsVersion: v.defaults(v.string(), '1.0.0'),\n\t\t\t\tdocsBaseUrl: v.defaults(v.array(v.string()), ['/']),\n\t\t\t\tdocsPath: v.defaults(v.string(), '/__docs'),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\trequests: v.defaults(\n\t\t\tv.object({\n\t\t\t\tlog: v.defaults(v.boolean(), true),\n\t\t\t\trateLimit: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 60 * 60 * 1000),\n\t\t\t\t\t\tlimit: v.defaults(v.number(), 5000),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t\tslowdown: v.defaults(\n\t\t\t\t\tv.object({\n\t\t\t\t\t\tenabled: v.defaults(v.boolean(), false),\n\t\t\t\t\t\tperiodInMs: v.defaults(v.number(), 10 * 60 * 1000),\n\t\t\t\t\t\tdelayAfter: v.defaults(v.number(), 2000),\n\t\t\t\t\t\tdelayInMs: v.defaults(v.number(), 500),\n\t\t\t\t\t}),\n\t\t\t\t\t{},\n\t\t\t\t),\n\t\t\t}),\n\t\t\t{},\n\t\t),\n\t\tsocketsAuthMethods: v.defaults(v.array(v.instanceOf(BaseRequestAuthMethod<AuthUser>)), []),\n\t})\n\nexport const serverConfigPipe = () =>\n\tv.discriminate((d: any) => d.type, {\n\t\tfastify: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('fastify' as const),\n\t\t\t}),\n\t\t),\n\t\texpress: v.merge(\n\t\t\tserverBasePipe(),\n\t\t\tv.object({\n\t\t\t\ttype: v.is('express' as const),\n\t\t\t}),\n\t\t),\n\t})\n\nexport type ServerConfig = PipeOutput<ReturnType<typeof serverConfigPipe>>\n"]}
@@ -0,0 +1,21 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _basecjs = require('./base.cjs');
2
+ var _indexcjs = require('../../errors/index.cjs');
3
+ class BaseApiKeyRequestAuthMethod extends _basecjs.BaseRequestAuthMethod {
4
+
5
+ constructor(headerName) {
6
+ super();
7
+ this.headerName = headerName;
8
+ }
9
+ async parse(headers) {
10
+ const headerValue = headers[this.headerName];
11
+ if (!headerValue || typeof headerValue !== "string") throw new (0, _indexcjs.NotAuthenticatedError)();
12
+ return this.verify(headerValue);
13
+ }
14
+ routeSecuritySchemeName() {
15
+ return this.headerName;
16
+ }
17
+ }
18
+
19
+
20
+ exports.BaseApiKeyRequestAuthMethod = BaseApiKeyRequestAuthMethod;
21
+ //# sourceMappingURL=apiKeys.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/server/requests-auth-methods/apiKeys.ts","/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.cjs"],"names":[],"mappings":"AAEA,8GAAsC;AACtC,kDAAsC;AAE/B,MAAe,4BAAA,QAA8D,+BAAyB;AAAA,EACzF;AAAA,EAGnB,WAAA,CAAY,UAAA,EAAoB;AAC/B,IAAA,KAAA,CAAM,CAAA;AACN,IAAA,IAAA,CAAK,WAAA,EAAa,UAAA;AAAA,EACnB;AAAA,EAEA,MAAM,KAAA,CAAM,OAAA,EAA8B;AACzC,IAAA,MAAM,YAAA,EAAc,OAAA,CAAQ,IAAA,CAAK,UAAU,CAAA;AAC3C,IAAA,GAAA,CAAI,CAAC,YAAA,GAAe,OAAO,YAAA,IAAgB,QAAA,EAAU,MAAM,IAAI,oCAAA,CAAsB,CAAA;AACrF,IAAA,OAAO,IAAA,CAAK,MAAA,CAAO,WAAW,CAAA;AAAA,EAC/B;AAAA,EAEA,uBAAA,CAAA,EAA0B;AACzB,IAAA,OAAO,IAAA,CAAK,UAAA;AAAA,EACb;AACD;ACNA;AACE;AACF,kEAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.cjs","sourcesContent":["import type { IncomingHttpHeaders } from 'node:http2'\n\nimport { BaseRequestAuthMethod } from './base'\nimport { NotAuthenticatedError } from '../../errors'\n\nexport abstract class BaseApiKeyRequestAuthMethod<T extends { id: string }> extends BaseRequestAuthMethod<T> {\n\tprotected readonly headerName: string\n\tprotected abstract verify(apiKey: string): Promise<T>\n\n\tconstructor(headerName: string) {\n\t\tsuper()\n\t\tthis.headerName = headerName\n\t}\n\n\tasync parse(headers: IncomingHttpHeaders) {\n\t\tconst headerValue = headers[this.headerName]\n\t\tif (!headerValue || typeof headerValue !== 'string') throw new NotAuthenticatedError()\n\t\treturn this.verify(headerValue)\n\t}\n\n\trouteSecuritySchemeName() {\n\t\treturn this.headerName\n\t}\n}\n",null]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _basemincjs = require('./base.min.cjs');var _indexmincjs = require('../../errors/index.min.cjs');class n extends _basemincjs.BaseRequestAuthMethod{constructor(e){super(),this.headerName=e}async parse(e){const t=e[this.headerName];if(!t||typeof t!="string")throw new _indexmincjs.NotAuthenticatedError;return this.verify(t)}routeSecuritySchemeName(){return this.headerName}}exports.BaseApiKeyRequestAuthMethod = n;
2
+ //# sourceMappingURL=apiKeys.min.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/server/requests-auth-methods/apiKeys.ts"],"names":["headerName","headerValue","headers"],"mappings":"AAEA,qHACS,yDAGW,MAGnB,EAAA,QAAA,iCAAYA,CAAAA,WAEN,CAAA,CAAA,CAAA,CAAaA,KAGnB,CAAA,CAAA,CAAM,IAAA,CAAA,UACCC,CAAAA,CAAcC,CAAAA,MAAa,KAAA,CAAA,CAAA,CAAA,CAAA,MAC7B,CAACD,CAAAA,CAAAA,CAAe,IAAA,CAAA,UAAuB,CAAA,CAAA,EAAU,CAAA,CAAA,CAAA,EAAA,OACrD,CAAA,EAAA,QAAO,CAAK,MAAA,IAGb,kCAAA,CAAA,OAAA,IAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAA,uBACa,CACb,CACD,CAAA,OAAA,IAAA,CAAA,UAAA,CAAA,CAAA,wCAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/apiKeys.min.cjs","sourcesContent":["import type { IncomingHttpHeaders } from 'node:http2'\n\nimport { BaseRequestAuthMethod } from './base'\nimport { NotAuthenticatedError } from '../../errors'\n\nexport abstract class BaseApiKeyRequestAuthMethod<T extends { id: string }> extends BaseRequestAuthMethod<T> {\n\tprotected readonly headerName: string\n\tprotected abstract verify(apiKey: string): Promise<T>\n\n\tconstructor(headerName: string) {\n\t\tsuper()\n\t\tthis.headerName = headerName\n\t}\n\n\tasync parse(headers: IncomingHttpHeaders) {\n\t\tconst headerValue = headers[this.headerName]\n\t\tif (!headerValue || typeof headerValue !== 'string') throw new NotAuthenticatedError()\n\t\treturn this.verify(headerValue)\n\t}\n\n\trouteSecuritySchemeName() {\n\t\treturn this.headerName\n\t}\n}\n"]}
@@ -0,0 +1,20 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('node:http2');
2
+ var _indexcjs = require('../../errors/index.cjs');
3
+ class BaseRequestAuthMethod {
4
+ static async process(methods, headers) {
5
+ if (methods.length === 0) return null;
6
+ let error;
7
+ for (const method of methods) {
8
+ try {
9
+ return await method.parse(headers);
10
+ } catch (err) {
11
+ error = err;
12
+ }
13
+ }
14
+ throw error instanceof _indexcjs.RequestError ? error : new (0, _indexcjs.BadRequestError)("failed to parse auth user", error);
15
+ }
16
+ }
17
+
18
+
19
+ exports.BaseRequestAuthMethod = BaseRequestAuthMethod;
20
+ //# sourceMappingURL=base.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/server/requests-auth-methods/base.ts","/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.cjs"],"names":[],"mappings":"AAAA,+FAAyC;AAEzC,kDAA8C;AAEvC,MAAe,sBAAgD;AAAA,EAIrE,OAAA,MAAa,OAAA,CAAkC,OAAA,EAAqC,OAAA,EAA8B;AACjH,IAAA,GAAA,CAAI,OAAA,CAAQ,OAAA,IAAW,CAAA,EAAG,OAAO,IAAA;AACjC,IAAA,IAAI,KAAA;AACJ,IAAA,IAAA,CAAA,MAAW,OAAA,GAAU,OAAA,EAAS;AAC7B,MAAA,IAAI;AACH,QAAA,OAAO,MAAM,MAAA,CAAO,KAAA,CAAM,OAAO,CAAA;AAAA,MAClC,EAAA,MAAA,CAAS,GAAA,EAAK;AACb,QAAA,MAAA,EAAQ,GAAA;AAAA,MACT;AAAA,IACD;AACA,IAAA,MAAM,MAAA,WAAiB,uBAAA,EAAe,MAAA,EAAQ,IAAI,8BAAA,CAAgB,2BAAA,EAA6B,KAAK,CAAA;AAAA,EACrG;AACD;ACJA;AACE;AACF,sDAAC","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.cjs","sourcesContent":["import { type IncomingHttpHeaders } from 'node:http2'\n\nimport { BadRequestError, RequestError } from '../../errors'\n\nexport abstract class BaseRequestAuthMethod<T extends { id: string }> {\n\tpublic abstract parse(headers: IncomingHttpHeaders): Promise<T>\n\tpublic abstract routeSecuritySchemeName(): string | null\n\n\tstatic async process<T extends { id: string }>(methods: BaseRequestAuthMethod<T>[], headers: IncomingHttpHeaders) {\n\t\tif (methods.length === 0) return null\n\t\tlet error: Error | undefined\n\t\tfor (const method of methods) {\n\t\t\ttry {\n\t\t\t\treturn await method.parse(headers)\n\t\t\t} catch (err) {\n\t\t\t\terror = err as Error\n\t\t\t}\n\t\t}\n\t\tthrow error instanceof RequestError ? error : new BadRequestError('failed to parse auth user', error)\n\t}\n}\n",null]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('node:http2');var _indexmincjs = require('../../errors/index.min.cjs');class d{static async process(r,t){if(r.length===0)return null;let e;for(const s of r)try{return await s.parse(t)}catch(a){e=a}throw e instanceof _indexmincjs.RequestError?e:new (0, _indexmincjs.BadRequestError)("failed to parse auth user",e)}}exports.BaseRequestAuthMethod = d;
2
+ //# sourceMappingURL=base.min.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/server/requests-auth-methods/base.ts"],"names":["methods","method","err","error"],"mappings":"AAAA,+FAAyC,yDAQxC,MAAa,CAAA,CAAA,OAAkCA,MAC9C,OAAY,CAAA,CAAA,CAAA,CAAA,CAAW,CAAA,EAAG,CAAA,CAAA,CAAA,MAAO,GACjC,CAAA,CAAA,OACA,IAAA,CAAA,IAAWC,CAAAA,CAAUD,GACpB,CAAA,MACC,EAAA,GAAO,CAAA,CAAA,GAAMC,CAAO,OAAa,MAClC,CAAA,CAASC,KACAA,CACT,CAED,CAAA,CAAA,KAAMC,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,MAAgCA,EAAQ,WAAoB,yBAAA,CAAA,CAAA,CAAA,IAAA,iCAAA,CAAA,2BAEpE,CAAA,CAAA,CAAA,CAAA,CAAA,kCAAA","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/base.min.cjs","sourcesContent":["import { type IncomingHttpHeaders } from 'node:http2'\n\nimport { BadRequestError, RequestError } from '../../errors'\n\nexport abstract class BaseRequestAuthMethod<T extends { id: string }> {\n\tpublic abstract parse(headers: IncomingHttpHeaders): Promise<T>\n\tpublic abstract routeSecuritySchemeName(): string | null\n\n\tstatic async process<T extends { id: string }>(methods: BaseRequestAuthMethod<T>[], headers: IncomingHttpHeaders) {\n\t\tif (methods.length === 0) return null\n\t\tlet error: Error | undefined\n\t\tfor (const method of methods) {\n\t\t\ttry {\n\t\t\t\treturn await method.parse(headers)\n\t\t\t} catch (err) {\n\t\t\t\terror = err as Error\n\t\t\t}\n\t\t}\n\t\tthrow error instanceof RequestError ? error : new BadRequestError('failed to parse auth user', error)\n\t}\n}\n"]}
@@ -1,3 +1,4 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _createStarExport(obj) { Object.keys(obj) .filter((key) => key !== "default" && key !== "__esModule") .forEach((key) => { if (exports.hasOwnProperty(key)) { return; } Object.defineProperty(exports, key, {enumerable: true, configurable: true, get: () => obj[key]}); }); }var _apiKeyscjs = require('./apiKeys.cjs'); _createStarExport(_apiKeyscjs);
2
- var _tokenscjs = require('./tokens.cjs'); _createStarExport(_tokenscjs);
2
+ var _basecjs = require('./base.cjs'); _createStarExport(_basecjs);
3
+ var _jwtcjs = require('./jwt.cjs'); _createStarExport(_jwtcjs);
3
4
  //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/server/requests-auth-methods/index.ts"],"names":[],"mappings":"AAAA,4aAAc;AACd,kEAAc;AACd,+DAAc","file":"/home/runner/work/equipped/equipped/dist/cjs/server/requests-auth-methods/index.cjs","sourcesContent":["export * from './apiKeys'\nexport * from './base'\nexport * from './jwt'\n"]}