@privateaim/server-http-kit 0.7.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 (157) hide show
  1. package/CHANGELOG.md +68 -0
  2. package/LICENSE +202 -0
  3. package/README.md +6 -0
  4. package/dist/index.d.ts +6 -0
  5. package/dist/index.d.ts.map +1 -0
  6. package/dist/index.js +28 -0
  7. package/dist/index.js.map +1 -0
  8. package/dist/middlewares/basic.d.ts +3 -0
  9. package/dist/middlewares/basic.d.ts.map +1 -0
  10. package/dist/middlewares/basic.js +14 -0
  11. package/dist/middlewares/basic.js.map +1 -0
  12. package/dist/middlewares/cors.d.ts +3 -0
  13. package/dist/middlewares/cors.d.ts.map +1 -0
  14. package/dist/middlewares/cors.js +23 -0
  15. package/dist/middlewares/cors.js.map +1 -0
  16. package/dist/middlewares/decorators.d.ts +4 -0
  17. package/dist/middlewares/decorators.d.ts.map +1 -0
  18. package/dist/middlewares/decorators.js +39 -0
  19. package/dist/middlewares/decorators.js.map +1 -0
  20. package/dist/middlewares/error.d.ts +3 -0
  21. package/dist/middlewares/error.d.ts.map +1 -0
  22. package/dist/middlewares/error.js +50 -0
  23. package/dist/middlewares/error.js.map +1 -0
  24. package/dist/middlewares/force-logged-in.d.ts +6 -0
  25. package/dist/middlewares/force-logged-in.d.ts.map +1 -0
  26. package/dist/middlewares/force-logged-in.js +22 -0
  27. package/dist/middlewares/force-logged-in.js.map +1 -0
  28. package/dist/middlewares/index.d.ts +9 -0
  29. package/dist/middlewares/index.d.ts.map +1 -0
  30. package/dist/middlewares/index.js +31 -0
  31. package/dist/middlewares/index.js.map +1 -0
  32. package/dist/middlewares/module.d.ts +4 -0
  33. package/dist/middlewares/module.d.ts.map +1 -0
  34. package/dist/middlewares/module.js +46 -0
  35. package/dist/middlewares/module.js.map +1 -0
  36. package/dist/middlewares/prometheus.d.ts +3 -0
  37. package/dist/middlewares/prometheus.d.ts.map +1 -0
  38. package/dist/middlewares/prometheus.js +14 -0
  39. package/dist/middlewares/prometheus.js.map +1 -0
  40. package/dist/middlewares/rate-limit.d.ts +3 -0
  41. package/dist/middlewares/rate-limit.d.ts.map +1 -0
  42. package/dist/middlewares/rate-limit.js +40 -0
  43. package/dist/middlewares/rate-limit.js.map +1 -0
  44. package/dist/middlewares/swagger.d.ts +4 -0
  45. package/dist/middlewares/swagger.d.ts.map +1 -0
  46. package/dist/middlewares/swagger.js +29 -0
  47. package/dist/middlewares/swagger.js.map +1 -0
  48. package/dist/middlewares/types.d.ts +20 -0
  49. package/dist/middlewares/types.d.ts.map +1 -0
  50. package/dist/middlewares/types.js +9 -0
  51. package/dist/middlewares/types.js.map +1 -0
  52. package/dist/request/env.d.ts +6 -0
  53. package/dist/request/env.d.ts.map +1 -0
  54. package/dist/request/env.js +21 -0
  55. package/dist/request/env.js.map +1 -0
  56. package/dist/request/index.d.ts +3 -0
  57. package/dist/request/index.d.ts.map +1 -0
  58. package/dist/request/index.js +25 -0
  59. package/dist/request/index.js.map +1 -0
  60. package/dist/request/types.d.ts +15 -0
  61. package/dist/request/types.d.ts.map +1 -0
  62. package/dist/request/types.js +9 -0
  63. package/dist/request/types.js.map +1 -0
  64. package/dist/services/authup/index.d.ts +3 -0
  65. package/dist/services/authup/index.d.ts.map +1 -0
  66. package/dist/services/authup/index.js +25 -0
  67. package/dist/services/authup/index.js.map +1 -0
  68. package/dist/services/authup/middleware.d.ts +4 -0
  69. package/dist/services/authup/middleware.d.ts.map +1 -0
  70. package/dist/services/authup/middleware.js +86 -0
  71. package/dist/services/authup/middleware.js.map +1 -0
  72. package/dist/services/authup/types.d.ts +10 -0
  73. package/dist/services/authup/types.d.ts.map +1 -0
  74. package/dist/services/authup/types.js +9 -0
  75. package/dist/services/authup/types.js.map +1 -0
  76. package/dist/services/authup/utils.d.ts +7 -0
  77. package/dist/services/authup/utils.d.ts.map +1 -0
  78. package/dist/services/authup/utils.js +59 -0
  79. package/dist/services/authup/utils.js.map +1 -0
  80. package/dist/services/index.d.ts +2 -0
  81. package/dist/services/index.d.ts.map +1 -0
  82. package/dist/services/index.js +24 -0
  83. package/dist/services/index.js.map +1 -0
  84. package/dist/swagger/index.d.ts +2 -0
  85. package/dist/swagger/index.d.ts.map +1 -0
  86. package/dist/swagger/index.js +24 -0
  87. package/dist/swagger/index.js.map +1 -0
  88. package/dist/swagger/module.d.ts +3 -0
  89. package/dist/swagger/module.d.ts.map +1 -0
  90. package/dist/swagger/module.js +66 -0
  91. package/dist/swagger/module.js.map +1 -0
  92. package/dist/swagger/types.d.ts +7 -0
  93. package/dist/swagger/types.d.ts.map +1 -0
  94. package/dist/swagger/types.js +9 -0
  95. package/dist/swagger/types.js.map +1 -0
  96. package/dist/utils/boolable-to-object.d.ts +2 -0
  97. package/dist/utils/boolable-to-object.d.ts.map +1 -0
  98. package/dist/utils/boolable-to-object.js +16 -0
  99. package/dist/utils/boolable-to-object.js.map +1 -0
  100. package/dist/utils/index.d.ts +2 -0
  101. package/dist/utils/index.d.ts.map +1 -0
  102. package/dist/utils/index.js +24 -0
  103. package/dist/utils/index.js.map +1 -0
  104. package/dist/validation/index.d.ts +5 -0
  105. package/dist/validation/index.d.ts.map +1 -0
  106. package/dist/validation/index.js +27 -0
  107. package/dist/validation/index.js.map +1 -0
  108. package/dist/validation/message.d.ts +2 -0
  109. package/dist/validation/message.d.ts.map +1 -0
  110. package/dist/validation/message.js +17 -0
  111. package/dist/validation/message.js.map +1 -0
  112. package/dist/validation/module.d.ts +6 -0
  113. package/dist/validation/module.d.ts.map +1 -0
  114. package/dist/validation/module.js +45 -0
  115. package/dist/validation/module.js.map +1 -0
  116. package/dist/validation/result.d.ts +7 -0
  117. package/dist/validation/result.d.ts.map +1 -0
  118. package/dist/validation/result.js +43 -0
  119. package/dist/validation/result.js.map +1 -0
  120. package/dist/validation/type.d.ts +15 -0
  121. package/dist/validation/type.d.ts.map +1 -0
  122. package/dist/validation/type.js +9 -0
  123. package/dist/validation/type.js.map +1 -0
  124. package/package.json +49 -0
  125. package/src/index.ts +12 -0
  126. package/src/middlewares/basic.ts +13 -0
  127. package/src/middlewares/cors.ts +19 -0
  128. package/src/middlewares/decorators.ts +42 -0
  129. package/src/middlewares/error.ts +55 -0
  130. package/src/middlewares/force-logged-in.ts +26 -0
  131. package/src/middlewares/index.ts +15 -0
  132. package/src/middlewares/module.ts +53 -0
  133. package/src/middlewares/prometheus.ts +13 -0
  134. package/src/middlewares/rate-limit.ts +47 -0
  135. package/src/middlewares/swagger.ts +26 -0
  136. package/src/middlewares/types.ts +30 -0
  137. package/src/request/env.ts +28 -0
  138. package/src/request/index.ts +9 -0
  139. package/src/request/types.ts +22 -0
  140. package/src/services/authup/index.ts +9 -0
  141. package/src/services/authup/middleware.ts +110 -0
  142. package/src/services/authup/types.ts +17 -0
  143. package/src/services/authup/utils.ts +79 -0
  144. package/src/services/index.ts +8 -0
  145. package/src/swagger/index.ts +8 -0
  146. package/src/swagger/module.ts +67 -0
  147. package/src/swagger/types.ts +13 -0
  148. package/src/utils/boolable-to-object.ts +14 -0
  149. package/src/utils/index.ts +8 -0
  150. package/src/validation/index.ts +11 -0
  151. package/src/validation/message.ts +17 -0
  152. package/src/validation/module.ts +49 -0
  153. package/src/validation/result.ts +58 -0
  154. package/src/validation/type.ts +28 -0
  155. package/tsconfig.build.json +11 -0
  156. package/tsconfig.json +9 -0
  157. package/writable/.gitkeep +0 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.mountMiddlewares = mountMiddlewares;
10
+ const services_1 = require("../services");
11
+ const utils_1 = require("../utils");
12
+ const basic_1 = require("./basic");
13
+ const cors_1 = require("./cors");
14
+ const decorators_1 = require("./decorators");
15
+ const prometheus_1 = require("./prometheus");
16
+ const rate_limit_1 = require("./rate-limit");
17
+ const swagger_1 = require("./swagger");
18
+ function mountMiddlewares(router, ctx) {
19
+ ctx.basic ??= true;
20
+ ctx.cors ??= true;
21
+ ctx.prometheus ??= true;
22
+ ctx.rateLimit ??= true;
23
+ ctx.swagger ??= true;
24
+ if (ctx.cors) {
25
+ (0, cors_1.mountCorsMiddleware)(router);
26
+ }
27
+ if (ctx.basic) {
28
+ (0, basic_1.mountBasicMiddleware)(router);
29
+ }
30
+ if (ctx.authup) {
31
+ (0, services_1.mountAuthupMiddleware)(router, ctx.authup);
32
+ }
33
+ if (ctx.prometheus) {
34
+ (0, prometheus_1.mountPrometheusMiddleware)(router);
35
+ }
36
+ if (ctx.rateLimit) {
37
+ (0, rate_limit_1.mountRateLimiterMiddleware)(router);
38
+ }
39
+ if (ctx.swagger) {
40
+ (0, swagger_1.mountSwaggerMiddleware)(router, (0, utils_1.boolableToObject)(ctx.swagger));
41
+ }
42
+ if (ctx.decorators) {
43
+ (0, decorators_1.mountDecoratorsMiddleware)(router, ctx.decorators);
44
+ }
45
+ }
46
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/middlewares/module.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAaH,4CAkCC;AA5CD,0CAAoD;AACpD,oCAA4C;AAC5C,mCAA+C;AAC/C,iCAA6C;AAC7C,6CAAyD;AACzD,6CAAyD;AACzD,6CAA0D;AAC1D,uCAAmD;AAGnD,SAAgB,gBAAgB,CAAC,MAAc,EAAE,GAAkC;IAC/E,GAAG,CAAC,KAAK,KAAK,IAAI,CAAC;IACnB,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC;IAClB,GAAG,CAAC,UAAU,KAAK,IAAI,CAAC;IACxB,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC;IACvB,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC;IAErB,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;QACX,IAAA,0BAAmB,EAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QACZ,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;QACb,IAAA,gCAAqB,EAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACjB,IAAA,sCAAyB,EAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;QAChB,IAAA,uCAA0B,EAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACd,IAAA,gCAAsB,EAAC,MAAM,EAAE,IAAA,wBAAgB,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACjB,IAAA,sCAAyB,EAAC,MAAM,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC;AACL,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Router } from 'routup';
2
+ export declare function mountPrometheusMiddleware(router: Router): void;
3
+ //# sourceMappingURL=prometheus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.d.ts","sourceRoot":"","sources":["../../src/middlewares/prometheus.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,QAEvD"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023-2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.mountPrometheusMiddleware = mountPrometheusMiddleware;
10
+ const prometheus_1 = require("@routup/prometheus");
11
+ function mountPrometheusMiddleware(router) {
12
+ router.use((0, prometheus_1.prometheus)());
13
+ }
14
+ //# sourceMappingURL=prometheus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prometheus.js","sourceRoot":"","sources":["../../src/middlewares/prometheus.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAKH,8DAEC;AALD,mDAAgD;AAGhD,SAAgB,yBAAyB,CAAC,MAAc;IACpD,MAAM,CAAC,GAAG,CAAC,IAAA,uBAAU,GAAE,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { Router } from 'routup';
2
+ export declare function mountRateLimiterMiddleware(router: Router): void;
3
+ //# sourceMappingURL=rate-limit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/middlewares/rate-limit.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,QAAQ,CAAC;AAG9C,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,QAiCxD"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023-2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.mountRateLimiterMiddleware = mountRateLimiterMiddleware;
10
+ const core_kit_1 = require("@authup/core-kit");
11
+ const rate_limit_1 = require("@routup/rate-limit");
12
+ const request_1 = require("../request");
13
+ function mountRateLimiterMiddleware(router) {
14
+ const options = {
15
+ skip(req) {
16
+ const robot = (0, request_1.useRequestEnv)(req, 'robotId');
17
+ if (robot) {
18
+ const { name } = (0, request_1.useRequestEnv)(req, 'realm');
19
+ if (name === core_kit_1.REALM_MASTER_NAME &&
20
+ (0, request_1.useRequestEnv)(req, 'robotName') === 'system') {
21
+ return true;
22
+ }
23
+ }
24
+ return false;
25
+ },
26
+ max(req) {
27
+ if ((0, request_1.useRequestEnv)(req, 'userId')) {
28
+ return 60 * 100; // 100 req p. sec
29
+ }
30
+ const robot = (0, request_1.useRequestEnv)(req, 'robotId');
31
+ if (robot) {
32
+ return 60 * 1000; // 1000 req p. sec
33
+ }
34
+ return 60 * 20; // 20 req p. sec
35
+ },
36
+ windowMs: 60 * 1000, // 60 sec
37
+ };
38
+ router.use((0, rate_limit_1.rateLimit)(options));
39
+ }
40
+ //# sourceMappingURL=rate-limit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/middlewares/rate-limit.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,gEAiCC;AAvCD,+CAAqD;AAErD,mDAA+C;AAE/C,wCAA2C;AAE3C,SAAgB,0BAA0B,CAAC,MAAc;IACrD,MAAM,OAAO,GAAkB;QAC3B,IAAI,CAAC,GAAY;YACb,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,uBAAa,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;gBAE7C,IACI,IAAI,KAAK,4BAAiB;oBAC1B,IAAA,uBAAa,EAAC,GAAG,EAAE,WAAW,CAAC,KAAK,QAAQ,EAC9C,CAAC;oBACC,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YAED,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,GAAG,CAAC,GAAY;YACZ,IAAI,IAAA,uBAAa,EAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,GAAG,GAAG,CAAC,CAAC,iBAAiB;YACtC,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,uBAAa,EAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAC5C,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC,kBAAkB;YACxC,CAAC;YAED,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,gBAAgB;QACpC,CAAC;QACD,QAAQ,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS;KACjC,CAAC;IAEF,MAAM,CAAC,GAAG,CAAC,IAAA,sBAAS,EAAC,OAAO,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { Router } from 'routup';
2
+ import type { MiddlewareSwaggerOptions } from './types';
3
+ export declare function mountSwaggerMiddleware(router: Router, options: MiddlewareSwaggerOptions): void;
4
+ //# sourceMappingURL=swagger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.d.ts","sourceRoot":"","sources":["../../src/middlewares/swagger.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,wBAAwB,QAWvF"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2023-2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __importDefault = (this && this.__importDefault) || function (mod) {
9
+ return (mod && mod.__esModule) ? mod : { "default": mod };
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.mountSwaggerMiddleware = mountSwaggerMiddleware;
13
+ const node_path_1 = __importDefault(require("node:path"));
14
+ const swagger_1 = require("@routup/swagger");
15
+ const locter_1 = require("locter");
16
+ const node_process_1 = __importDefault(require("node:process"));
17
+ function mountSwaggerMiddleware(router, options) {
18
+ let document;
19
+ if (options.cwd) {
20
+ document = (0, locter_1.loadSync)(node_path_1.default.join(options.cwd, 'swagger.json'));
21
+ }
22
+ else {
23
+ document = (0, locter_1.loadSync)(node_path_1.default.join(node_process_1.default.cwd(), 'writable', 'swagger.json'));
24
+ }
25
+ router.use('/docs', (0, swagger_1.swaggerUI)(document, {
26
+ baseURL: options.baseURL,
27
+ }));
28
+ }
29
+ //# sourceMappingURL=swagger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swagger.js","sourceRoot":"","sources":["../../src/middlewares/swagger.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;AASH,wDAWC;AAlBD,0DAA6B;AAC7B,6CAA4C;AAC5C,mCAAkC;AAClC,gEAAmC;AAInC,SAAgB,sBAAsB,CAAC,MAAc,EAAE,OAAiC;IACpF,IAAI,QAAc,CAAC;IACnB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,QAAQ,GAAG,IAAA,iBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;IAChE,CAAC;SAAM,CAAC;QACJ,QAAQ,GAAG,IAAA,iBAAQ,EAAC,mBAAI,CAAC,IAAI,CAAC,sBAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,IAAA,mBAAS,EAAC,QAAQ,EAAE;QACpC,OAAO,EAAE,OAAO,CAAC,OAAO;KAC3B,CAAC,CAAC,CAAC;AACR,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { ClassType } from '@routup/decorators';
2
+ import type { AuthupMiddlewareRegistrationOptions } from '../services';
3
+ export type MiddlewareSwaggerOptions = {
4
+ cwd?: string;
5
+ baseURL?: string;
6
+ };
7
+ export type MiddlewareDecoratorsOptions = {
8
+ controllers: (ClassType | Record<string, any>)[];
9
+ };
10
+ export type MiddlewareRegistrationContext = {
11
+ options?: MiddlewareSwaggerOptions;
12
+ authup?: AuthupMiddlewareRegistrationOptions;
13
+ basic?: boolean;
14
+ cors?: boolean;
15
+ decorators?: MiddlewareDecoratorsOptions;
16
+ prometheus?: boolean;
17
+ rateLimit?: boolean;
18
+ swagger?: MiddlewareSwaggerOptions | boolean;
19
+ };
20
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/middlewares/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,aAAa,CAAC;AAEvE,MAAM,MAAM,wBAAwB,GAAG;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;CACnB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACtC,WAAW,EAAE,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAA;CACnD,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IACxC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAEnC,MAAM,CAAC,EAAE,mCAAmC,CAAC;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC;CAChD,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/middlewares/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,6 @@
1
+ import type { Request } from 'routup';
2
+ import type { RequestEnv } from './types';
3
+ export declare function useRequestEnv(req: Request): RequestEnv;
4
+ export declare function useRequestEnv<T extends keyof RequestEnv>(req: Request, key: T): RequestEnv[T];
5
+ export declare function setRequestEnv<T extends keyof RequestEnv>(req: Request, key: T, value: RequestEnv[T]): void;
6
+ //# sourceMappingURL=env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/request/env.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAI,UAAU,CAAC;AACzD,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,UAAU,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAI,UAAU,CAAC,CAAC,CAAC,CAAC;AAShG,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,UAAU,EACpD,GAAG,EAAE,OAAO,EACZ,GAAG,EAAE,CAAC,EACN,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,QAGvB"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.useRequestEnv = useRequestEnv;
10
+ exports.setRequestEnv = setRequestEnv;
11
+ const routup_1 = require("routup");
12
+ function useRequestEnv(req, key) {
13
+ if (typeof key === 'string') {
14
+ return (0, routup_1.useRequestEnv)(req, key);
15
+ }
16
+ return (0, routup_1.useRequestEnv)(req);
17
+ }
18
+ function setRequestEnv(req, key, value) {
19
+ return (0, routup_1.setRequestEnv)(req, key, value);
20
+ }
21
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/request/env.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AAQH,sCAMC;AAED,sCAMC;AApBD,mCAA0E;AAM1E,SAAgB,aAAa,CAA6B,GAAY,EAAE,GAAO;IAC3E,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC1B,OAAO,IAAA,sBAAM,EAAC,GAAG,EAAE,GAAG,CAAkB,CAAC;IAC7C,CAAC;IAED,OAAO,IAAA,sBAAM,EAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,SAAgB,aAAa,CACzB,GAAY,EACZ,GAAM,EACN,KAAoB;IAEpB,OAAO,IAAA,sBAAM,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './env';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":"AAOA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./env"), exports);
24
+ __exportStar(require("./types"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/request/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,wCAAsB;AACtB,0CAAwB"}
@@ -0,0 +1,15 @@
1
+ import type { Abilities } from '@authup/kit';
2
+ export type RequestEnv = {
3
+ abilities?: Abilities;
4
+ realmId?: string;
5
+ realmName?: string;
6
+ realm?: {
7
+ id?: string;
8
+ name?: string;
9
+ };
10
+ userId?: string;
11
+ userName?: string;
12
+ robotId?: string;
13
+ robotName?: string;
14
+ };
15
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,UAAU,GAAG;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IAEtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/request/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,3 @@
1
+ export * from './middleware';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/authup/index.ts"],"names":[],"mappings":"AAOA,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./middleware"), exports);
24
+ __exportStar(require("./types"), exports);
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/authup/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,+CAA6B;AAC7B,0CAAwB"}
@@ -0,0 +1,4 @@
1
+ import type { Router } from 'routup';
2
+ import type { AuthupMiddlewareRegistrationOptions } from './types';
3
+ export declare function mountAuthupMiddleware(router: Router, options: AuthupMiddlewareRegistrationOptions): void;
4
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/services/authup/middleware.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,mCAAmC,EAAE,MAAM,SAAS,CAAC;AAGnE,wBAAgB,qBAAqB,CACjC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,mCAAmC,QA0F/C"}
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.mountAuthupMiddleware = mountAuthupMiddleware;
10
+ const server_core_plugin_http_1 = require("@authup/server-core-plugin-http");
11
+ const cookie_1 = require("@routup/basic/cookie");
12
+ const hapic_1 = require("hapic");
13
+ const routup_1 = require("routup");
14
+ const utils_1 = require("./utils");
15
+ function mountAuthupMiddleware(router, options) {
16
+ if (!options.client) {
17
+ const data = (0, utils_1.createFakeTokenVerificationData)();
18
+ router.use((0, routup_1.coreHandler)((req, res, next) => {
19
+ (0, utils_1.applyTokenVerificationData)(req, data, options.fakeAbilities);
20
+ next();
21
+ }));
22
+ return;
23
+ }
24
+ router.use((0, routup_1.coreHandler)(async (req, res, next) => {
25
+ const headerRaw = (0, routup_1.getRequestHeader)(req, 'authorization');
26
+ if (typeof headerRaw !== 'string') {
27
+ next();
28
+ }
29
+ const cacheKey = `authorization-header:${headerRaw}`;
30
+ if (options.redisClient) {
31
+ const data = await options.redisClient.get(cacheKey);
32
+ if (data) {
33
+ req.headers.authorization = `Bearer ${data}`;
34
+ next();
35
+ return;
36
+ }
37
+ }
38
+ const header = (0, hapic_1.parseAuthorizationHeader)(headerRaw);
39
+ if (header.type === 'Basic') {
40
+ const token = await options.client.token.createWithPasswordGrant({
41
+ username: header.username,
42
+ password: header.password,
43
+ });
44
+ req.headers.authorization = `Bearer ${token.access_token}`;
45
+ if (options.redisClient) {
46
+ await options.redisClient.setex(cacheKey, token.expires_in, token.access_token);
47
+ }
48
+ }
49
+ next();
50
+ }));
51
+ let tokenCreator;
52
+ if (options.vaultClient) {
53
+ tokenCreator = {
54
+ type: 'robotInVault',
55
+ name: 'system',
56
+ vault: options.vaultClient,
57
+ baseURL: options.client.getBaseURL(),
58
+ };
59
+ }
60
+ else {
61
+ tokenCreator = {
62
+ type: 'user',
63
+ name: 'admin',
64
+ password: 'start123',
65
+ baseURL: options.client.getBaseURL(),
66
+ };
67
+ }
68
+ let tokenCache;
69
+ if (options.redisClient) {
70
+ tokenCache = {
71
+ type: 'redis',
72
+ client: options.redisClient,
73
+ };
74
+ }
75
+ const middleware = (0, server_core_plugin_http_1.createMiddleware)({
76
+ tokenByCookie: (req, cookieName) => (0, cookie_1.useRequestCookie)(req, cookieName),
77
+ tokenVerifier: {
78
+ baseURL: options.client.getBaseURL(),
79
+ creator: tokenCreator,
80
+ cache: tokenCache,
81
+ },
82
+ tokenVerifierHandler: (req, data) => (0, utils_1.applyTokenVerificationData)(req, data, options.fakeAbilities),
83
+ });
84
+ router.use((0, routup_1.coreHandler)((req, res, next) => middleware(req, res, next)));
85
+ }
86
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/services/authup/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { VaultClient } from '@hapic/vault';
2
+ import type { Client as RedisClient } from 'redis-extension';
3
+ import type { Client as AuthupClient } from '@authup/core-http-kit';
4
+ export type AuthupMiddlewareRegistrationOptions = {
5
+ client?: AuthupClient;
6
+ vaultClient?: VaultClient;
7
+ redisClient?: RedisClient;
8
+ fakeAbilities?: boolean;
9
+ };
10
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/authup/types.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEpE,MAAM,MAAM,mCAAmC,GAAG;IAC9C,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAA;CAC1B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/services/authup/types.ts"],"names":[],"mappings":";AAAA;;;;;GAKG"}
@@ -0,0 +1,7 @@
1
+ import type { TokenVerificationData } from '@authup/server-core-plugin-kit';
2
+ import type { Request } from 'routup';
3
+ type TokenVerificationDataMinimal = Pick<TokenVerificationData, 'permissions' | 'realm_id' | 'realm_name' | 'sub' | 'sub_kind' | 'sub_name'>;
4
+ export declare function createFakeTokenVerificationData(): TokenVerificationDataMinimal;
5
+ export declare function applyTokenVerificationData(req: Request, data: TokenVerificationDataMinimal, fakeAbilities?: boolean): void;
6
+ export {};
7
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAE5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAC;AAGtC,KAAK,4BAA4B,GAAG,IAAI,CACxC,qBAAqB,EACrB,aAAa,GACb,UAAU,GACV,YAAY,GACZ,KAAK,GACL,UAAU,GACV,UAAU,CACT,CAAC;AAQF,wBAAgB,+BAA+B,IAAI,4BAA4B,CAW9E;AAED,wBAAgB,0BAA0B,CACtC,GAAG,EAAE,OAAO,EACZ,IAAI,EAAE,4BAA4B,EAClC,aAAa,CAAC,EAAE,OAAO,QA+B1B"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.createFakeTokenVerificationData = createFakeTokenVerificationData;
10
+ exports.applyTokenVerificationData = applyTokenVerificationData;
11
+ const kit_1 = require("@authup/kit");
12
+ const core_kit_1 = require("@authup/core-kit");
13
+ const kit_2 = require("@privateaim/kit");
14
+ const request_1 = require("../../request");
15
+ function generateAbilities() {
16
+ return Object.values(kit_2.PermissionID).map((name) => ({
17
+ name,
18
+ }));
19
+ }
20
+ function createFakeTokenVerificationData() {
21
+ return {
22
+ realm_id: 'd94b2f28-29e3-4ced-b8f1-6923a01dc1ee',
23
+ realm_name: core_kit_1.REALM_MASTER_NAME,
24
+ sub_kind: 'user',
25
+ sub: 'd94b2f28-29e3-4ced-b8f1-6923a01dc1ee',
26
+ sub_name: 'admin',
27
+ permissions: generateAbilities(),
28
+ };
29
+ }
30
+ function applyTokenVerificationData(req, data, fakeAbilities) {
31
+ let abilities;
32
+ if (fakeAbilities) {
33
+ abilities = generateAbilities();
34
+ }
35
+ else {
36
+ abilities = data.permissions;
37
+ }
38
+ const ability = new kit_1.Abilities(abilities);
39
+ (0, request_1.setRequestEnv)(req, 'abilities', ability);
40
+ (0, request_1.setRequestEnv)(req, 'realmId', data.realm_id);
41
+ (0, request_1.setRequestEnv)(req, 'realmName', data.realm_name);
42
+ (0, request_1.setRequestEnv)(req, 'realm', {
43
+ id: data.realm_id,
44
+ name: data.realm_name,
45
+ });
46
+ switch (data.sub_kind) {
47
+ case 'user': {
48
+ (0, request_1.setRequestEnv)(req, 'userId', data.sub);
49
+ (0, request_1.setRequestEnv)(req, 'userName', data.sub_name);
50
+ break;
51
+ }
52
+ case 'robot': {
53
+ (0, request_1.setRequestEnv)(req, 'robotId', data.sub);
54
+ (0, request_1.setRequestEnv)(req, 'robotName', data.sub_name);
55
+ break;
56
+ }
57
+ }
58
+ }
59
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/services/authup/utils.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;AA0BH,0EAWC;AAED,gEAkCC;AAtED,qCAAwC;AACxC,+CAAqD;AAErD,yCAA+C;AAE/C,2CAA8C;AAY9C,SAAS,iBAAiB;IACtB,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAY,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI;KACY,CAAA,CAAC,CAAC;AAC1B,CAAC;AAED,SAAgB,+BAA+B;IAC3C,OAAO;QACH,QAAQ,EAAE,sCAAsC;QAChD,UAAU,EAAE,4BAAiB;QAE7B,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,sCAAsC;QAC3C,QAAQ,EAAE,OAAO;QAEjB,WAAW,EAAE,iBAAiB,EAAE;KACnC,CAAC;AACN,CAAC;AAED,SAAgB,0BAA0B,CACtC,GAAY,EACZ,IAAkC,EAClC,aAAuB;IAEvB,IAAI,SAAoB,CAAC;IACzB,IAAI,aAAa,EAAE,CAAC;QAChB,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACJ,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;IACjC,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,eAAS,CAAC,SAAS,CAAC,CAAC;IACzC,IAAA,uBAAa,EAAC,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAEzC,IAAA,uBAAa,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7C,IAAA,uBAAa,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACjD,IAAA,uBAAa,EAAC,GAAG,EAAE,OAAO,EAAE;QACxB,EAAE,EAAE,IAAI,CAAC,QAAQ;QACjB,IAAI,EAAE,IAAI,CAAC,UAAU;KACxB,CAAC,CAAC;IAEH,QAAQ,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,MAAM,CAAC,CAAC,CAAC;YACV,IAAA,uBAAa,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACvC,IAAA,uBAAa,EAAC,GAAG,EAAE,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9C,MAAM;QACV,CAAC;QACD,KAAK,OAAO,CAAC,CAAC,CAAC;YACX,IAAA,uBAAa,EAAC,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YACxC,IAAA,uBAAa,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM;QACV,CAAC;IACL,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './authup';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright (c) 2024.
4
+ * Author Peter Placzek (tada5hi)
5
+ * For the full copyright and license information,
6
+ * view the LICENSE file that was distributed with this source code.
7
+ */
8
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
9
+ if (k2 === undefined) k2 = k;
10
+ var desc = Object.getOwnPropertyDescriptor(m, k);
11
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
12
+ desc = { enumerable: true, get: function() { return m[k]; } };
13
+ }
14
+ Object.defineProperty(o, k2, desc);
15
+ }) : (function(o, m, k, k2) {
16
+ if (k2 === undefined) k2 = k;
17
+ o[k2] = m[k];
18
+ }));
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ __exportStar(require("./authup"), exports);
24
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;;;;;;;;;;;;;AAEH,2CAAyB"}
@@ -0,0 +1,2 @@
1
+ export * from './module';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":"AAOA,cAAc,UAAU,CAAC"}