prostgles-server 4.2.203 → 4.2.205

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 (95) hide show
  1. package/dist/Auth/AuthHandler.d.ts +9 -12
  2. package/dist/Auth/AuthHandler.d.ts.map +1 -1
  3. package/dist/Auth/AuthHandler.js +39 -170
  4. package/dist/Auth/AuthHandler.js.map +1 -1
  5. package/dist/Auth/AuthTypes.d.ts +37 -48
  6. package/dist/Auth/AuthTypes.d.ts.map +1 -1
  7. package/dist/Auth/endpoints/setCatchAllRequestHandler.d.ts +1 -2
  8. package/dist/Auth/endpoints/setCatchAllRequestHandler.d.ts.map +1 -1
  9. package/dist/Auth/endpoints/setCatchAllRequestHandler.js +4 -4
  10. package/dist/Auth/endpoints/setCatchAllRequestHandler.js.map +1 -1
  11. package/dist/Auth/endpoints/setConfirmEmailRequestHandler.d.ts +3 -5
  12. package/dist/Auth/endpoints/setConfirmEmailRequestHandler.d.ts.map +1 -1
  13. package/dist/Auth/endpoints/setConfirmEmailRequestHandler.js +4 -5
  14. package/dist/Auth/endpoints/setConfirmEmailRequestHandler.js.map +1 -1
  15. package/dist/Auth/endpoints/setLoginRequestHandler.d.ts +2 -6
  16. package/dist/Auth/endpoints/setLoginRequestHandler.d.ts.map +1 -1
  17. package/dist/Auth/endpoints/setLoginRequestHandler.js +2 -6
  18. package/dist/Auth/endpoints/setLoginRequestHandler.js.map +1 -1
  19. package/dist/Auth/endpoints/setMagicLinkRequestHandler.d.ts +2 -3
  20. package/dist/Auth/endpoints/setMagicLinkRequestHandler.d.ts.map +1 -1
  21. package/dist/Auth/endpoints/setMagicLinkRequestHandler.js +4 -4
  22. package/dist/Auth/endpoints/setMagicLinkRequestHandler.js.map +1 -1
  23. package/dist/Auth/endpoints/setOAuthRequestHandlers.d.ts +5 -0
  24. package/dist/Auth/endpoints/setOAuthRequestHandlers.d.ts.map +1 -0
  25. package/dist/Auth/{authProviders/setOAuthProviders.js → endpoints/setOAuthRequestHandlers.js} +19 -15
  26. package/dist/Auth/endpoints/setOAuthRequestHandlers.js.map +1 -0
  27. package/dist/Auth/endpoints/setRegisterRequestHandler.d.ts +2 -2
  28. package/dist/Auth/endpoints/setRegisterRequestHandler.d.ts.map +1 -1
  29. package/dist/Auth/endpoints/setRegisterRequestHandler.js +18 -44
  30. package/dist/Auth/endpoints/setRegisterRequestHandler.js.map +1 -1
  31. package/dist/Auth/getClientAuth.d.ts +8 -0
  32. package/dist/Auth/getClientAuth.d.ts.map +1 -0
  33. package/dist/Auth/getClientAuth.js +76 -0
  34. package/dist/Auth/getClientAuth.js.map +1 -0
  35. package/dist/Auth/login.d.ts +5 -0
  36. package/dist/Auth/login.d.ts.map +1 -0
  37. package/dist/Auth/login.js +111 -0
  38. package/dist/Auth/login.js.map +1 -0
  39. package/dist/Auth/sendEmail.d.ts +3 -5
  40. package/dist/Auth/sendEmail.d.ts.map +1 -1
  41. package/dist/Auth/sendEmail.js +27 -2
  42. package/dist/Auth/sendEmail.js.map +1 -1
  43. package/dist/Auth/setupAuthRoutes.d.ts.map +1 -1
  44. package/dist/Auth/setupAuthRoutes.js +15 -9
  45. package/dist/Auth/setupAuthRoutes.js.map +1 -1
  46. package/dist/Auth/utils/getSidAndUserFromRequest.d.ts.map +1 -1
  47. package/dist/Auth/utils/getSidAndUserFromRequest.js +2 -1
  48. package/dist/Auth/utils/getSidAndUserFromRequest.js.map +1 -1
  49. package/dist/Auth/utils/throttledReject.d.ts +5 -0
  50. package/dist/Auth/utils/throttledReject.d.ts.map +1 -0
  51. package/dist/Auth/utils/throttledReject.js +34 -0
  52. package/dist/Auth/utils/throttledReject.js.map +1 -0
  53. package/dist/Auth/utils/upsertNamedExpressMiddleware.d.ts +6 -0
  54. package/dist/Auth/utils/upsertNamedExpressMiddleware.d.ts.map +1 -0
  55. package/dist/Auth/utils/upsertNamedExpressMiddleware.js +12 -0
  56. package/dist/Auth/utils/upsertNamedExpressMiddleware.js.map +1 -0
  57. package/dist/DBSchemaBuilder.js.map +1 -1
  58. package/dist/Prostgles.d.ts +1 -1
  59. package/dist/Prostgles.d.ts.map +1 -1
  60. package/dist/Prostgles.js +2 -2
  61. package/dist/Prostgles.js.map +1 -1
  62. package/dist/ProstglesTypes.d.ts +2 -2
  63. package/dist/ProstglesTypes.d.ts.map +1 -1
  64. package/lib/Auth/AuthHandler.ts +50 -218
  65. package/lib/Auth/AuthTypes.ts +72 -72
  66. package/lib/Auth/endpoints/setCatchAllRequestHandler.ts +8 -4
  67. package/lib/Auth/endpoints/setConfirmEmailRequestHandler.ts +9 -13
  68. package/lib/Auth/endpoints/setLoginRequestHandler.ts +7 -13
  69. package/lib/Auth/endpoints/setMagicLinkRequestHandler.ts +6 -6
  70. package/lib/Auth/{authProviders/setOAuthProviders.ts → endpoints/setOAuthRequestHandlers.ts} +24 -17
  71. package/lib/Auth/endpoints/setRegisterRequestHandler.ts +22 -54
  72. package/lib/Auth/getClientAuth.ts +100 -0
  73. package/lib/Auth/login.ts +139 -0
  74. package/lib/Auth/sendEmail.ts +31 -7
  75. package/lib/Auth/setupAuthRoutes.ts +22 -9
  76. package/lib/Auth/utils/getSidAndUserFromRequest.ts +2 -1
  77. package/lib/Auth/utils/throttledReject.ts +33 -0
  78. package/lib/Auth/utils/upsertNamedExpressMiddleware.ts +14 -0
  79. package/lib/DBSchemaBuilder.ts +2 -2
  80. package/lib/Prostgles.ts +1 -1
  81. package/lib/ProstglesTypes.ts +2 -2
  82. package/package.json +2 -2
  83. package/dist/Auth/authProviders/setEmailProvider.d.ts +0 -4
  84. package/dist/Auth/authProviders/setEmailProvider.d.ts.map +0 -1
  85. package/dist/Auth/authProviders/setEmailProvider.js +0 -26
  86. package/dist/Auth/authProviders/setEmailProvider.js.map +0 -1
  87. package/dist/Auth/authProviders/setOAuthProviders.d.ts +0 -5
  88. package/dist/Auth/authProviders/setOAuthProviders.d.ts.map +0 -1
  89. package/dist/Auth/authProviders/setOAuthProviders.js.map +0 -1
  90. package/dist/Auth/setAuthProviders.d.ts +0 -11
  91. package/dist/Auth/setAuthProviders.d.ts.map +0 -1
  92. package/dist/Auth/setAuthProviders.js +0 -41
  93. package/dist/Auth/setAuthProviders.js.map +0 -1
  94. package/lib/Auth/authProviders/setEmailProvider.ts +0 -26
  95. package/lib/Auth/setAuthProviders.ts +0 -47
@@ -0,0 +1,14 @@
1
+ import type e from "express";
2
+ import { RequestHandler } from "express";
3
+ import { removeExpressRouteByName } from "../../FileManager/FileManager";
4
+
5
+ export const upsertNamedExpressMiddleware = (
6
+ app: e.Express,
7
+ handler: RequestHandler,
8
+ name: string
9
+ ) => {
10
+ const funcName = name;
11
+ Object.defineProperty(handler, "name", { value: funcName });
12
+ removeExpressRouteByName(app, name);
13
+ app.use(handler);
14
+ };
@@ -9,7 +9,7 @@ import {
9
9
  ViewHandler,
10
10
  } from "prostgles-types";
11
11
  import prostgles from ".";
12
- import { Auth } from "./Auth/AuthTypes";
12
+ import { AuthConfig } from "./Auth/AuthTypes";
13
13
  import { DboBuilder, escapeTSNames, postgresToTsType } from "./DboBuilder/DboBuilder";
14
14
  import {
15
15
  PublishAllOrNothing,
@@ -164,7 +164,7 @@ export type PublishFullyTyped<Schema = void> =
164
164
  },
165
165
  });
166
166
 
167
- const _auth: Auth = {
167
+ const _auth: AuthConfig = {
168
168
  sidKeyName: "sid_token",
169
169
  getUser: async (sid, db, _db) => {
170
170
  db.dwadaw?.find;
package/lib/Prostgles.ts CHANGED
@@ -37,7 +37,7 @@ import {
37
37
  } from "prostgles-types";
38
38
  import { DBEventsManager } from "./DBEventsManager";
39
39
  import { PublishParser } from "./PublishParser/PublishParser";
40
- export { getOrSetTransporter, sendEmail, verifySMTPConfig } from "./Auth/sendEmail";
40
+ export { getOrSetTransporter, getEmailSender, verifySMTPConfig } from "./Auth/sendEmail";
41
41
 
42
42
  export type DB = pgPromise.IDatabase<{}, pg.IClient>;
43
43
  export type DBorTx = DB | pgPromise.ITask<{}>;
@@ -1,5 +1,5 @@
1
1
  import { FileColumnConfig } from "prostgles-types";
2
- import { Auth, AuthRequestParams, SessionUser } from "./Auth/AuthTypes";
2
+ import { AuthConfig, AuthRequestParams, SessionUser } from "./Auth/AuthTypes";
3
3
  import { EventTriggerTagFilter } from "./Event_Trigger_Tags";
4
4
  import { CloudClient, ImageOptions, LocalConfig } from "./FileManager/FileManager";
5
5
  import { DbConnection, OnReadyCallback } from "./initProstgles";
@@ -232,7 +232,7 @@ export type ProstglesInitOptions<S = void, SUser extends SessionUser = SessionUs
232
232
  * Auth configuration.
233
233
  * Supports email and OAuth strategies
234
234
  */
235
- auth?: Auth<S, SUser>;
235
+ auth?: AuthConfig<S, SUser>;
236
236
 
237
237
  /**
238
238
  * Used internally for debugging
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "prostgles-server",
3
- "version": "4.2.203",
3
+ "version": "4.2.205",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -55,7 +55,7 @@
55
55
  "pg": "^8.11.5",
56
56
  "pg-cursor": "^2.11.0",
57
57
  "pg-promise": "^11.9.1",
58
- "prostgles-types": "^4.0.133"
58
+ "prostgles-types": "^4.0.135"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/express": "^4.17.21",
@@ -1,4 +0,0 @@
1
- import e from "express";
2
- import { AuthHandler } from "../AuthHandler";
3
- export declare function setEmailProvider(this: AuthHandler, app: e.Express): Promise<void>;
4
- //# sourceMappingURL=setEmailProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setEmailProvider.d.ts","sourceRoot":"","sources":["../../../lib/Auth/authProviders/setEmailProvider.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,SAAS,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAM7C,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,iBAkBvE"}
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setEmailProvider = void 0;
4
- const setConfirmEmailRequestHandler_1 = require("../endpoints/setConfirmEmailRequestHandler");
5
- const setRegisterRequestHandler_1 = require("../endpoints/setRegisterRequestHandler");
6
- const sendEmail_1 = require("../sendEmail");
7
- const checkDmarc_1 = require("../utils/checkDmarc");
8
- async function setEmailProvider(app) {
9
- const { email, websiteUrl } = this.opts.expressConfig?.registrations ?? {};
10
- if (!email)
11
- return;
12
- if (!websiteUrl) {
13
- throw new Error("websiteUrl is required for email/magic-link registrations");
14
- }
15
- await (0, checkDmarc_1.checkDmarc)(websiteUrl);
16
- /**
17
- * Setup nodemailer transporters
18
- */
19
- (0, sendEmail_1.getOrSetTransporter)(email.smtp);
20
- (0, setRegisterRequestHandler_1.setRegisterRequestHandler)({ email, websiteUrl }, app);
21
- if (email.signupType === "withPassword") {
22
- setConfirmEmailRequestHandler_1.setConfirmEmailRequestHandler.bind(this)(email, app);
23
- }
24
- }
25
- exports.setEmailProvider = setEmailProvider;
26
- //# sourceMappingURL=setEmailProvider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setEmailProvider.js","sourceRoot":"","sources":["../../../lib/Auth/authProviders/setEmailProvider.ts"],"names":[],"mappings":";;;AAEA,8FAA2F;AAC3F,sFAAmF;AACnF,4CAAmD;AACnD,oDAAiD;AAE1C,KAAK,UAAU,gBAAgB,CAAoB,GAAc;IACtE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,aAAa,IAAI,EAAE,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,OAAO;IACnB,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,MAAM,IAAA,uBAAU,EAAC,UAAU,CAAC,CAAC;IAE7B;;OAEG;IACH,IAAA,+BAAmB,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhC,IAAA,qDAAyB,EAAC,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,GAAG,CAAC,CAAC;IAEtD,IAAI,KAAK,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;QACxC,6DAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAlBD,4CAkBC"}
@@ -1,5 +0,0 @@
1
- import { AuthHandler } from "../AuthHandler";
2
- import { AuthRegistrationConfig } from "../AuthTypes";
3
- import e from "express";
4
- export declare function setOAuthProviders(this: AuthHandler, app: e.Express, registrations: AuthRegistrationConfig<void>): void;
5
- //# sourceMappingURL=setOAuthProviders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setOAuthProviders.d.ts","sourceRoot":"","sources":["../../../lib/Auth/authProviders/setOAuthProviders.ts"],"names":[],"mappings":"AAOA,OAAO,EAA0B,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAErE,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEtD,OAAO,CAAC,MAAM,SAAS,CAAC;AAExB,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,CAAC,CAAC,OAAO,EACd,aAAa,EAAE,sBAAsB,CAAC,IAAI,CAAC,QAgF5C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"setOAuthProviders.js","sourceRoot":"","sources":["../../../lib/Auth/authProviders/setOAuthProviders.ts"],"names":[],"mappings":";;;AAAA,qCAAqC;AACrC,yDAAiE;AACjE,uDAA8D;AAC9D,qEAAqE;AACrE,2DAAmE;AACnE,qDAA4D;AAC5D,sEAAoE;AACpE,gDAAqE;AACrE,8EAA2E;AAE3E,0DAAmE;AAGnE,SAAgB,iBAAiB,CAE/B,GAAc,EACd,aAA2C;IAE3C,MAAM,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;IAChG,IAAI,CAAC,cAAc,IAAI,IAAA,yBAAO,EAAC,cAAc,CAAC,EAAE,CAAC;QAC/C,OAAO;IACT,CAAC;IAED,IAAA,+CAA4B,EAAC,GAAG,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAExF,IAAA,kCAAgB,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC,EAAE,EAAE;QAC1E,IAAI,CAAC,cAAc,EAAE,QAAQ,EAAE,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,cAAc,CAAC;QAE/C,MAAM,QAAQ,GACZ,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,kCAAc;YAC1C,CAAC,CAAC,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAAc;gBAC5C,CAAC,CAAC,YAAY,KAAK,UAAU,CAAC,CAAC,CAAC,4BAAgB;oBAChD,CAAC,CAAC,6BAAiB,CAAC;QACtB,MAAM,YAAY,GAAG,GAAG,oCAAsB,CAAC,iBAAiB,IAAI,YAAY,WAAW,CAAC;QAC5F,QAAQ,CAAC,GAAG,CACV,IAAK,QAAkC,CACrC;YACE,GAAG,MAAM;YACT,WAAW,EAAE,GAAG,UAAU,GAAG,YAAY,EAAE;SAC5C,EACD,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;YACjD,0FAA0F;YAC1F,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC;QACrE,CAAC,CACF,CACF,CAAC;QAEF,GAAG,CAAC,GAAG,CACL,GAAG,oCAAsB,CAAC,iBAAiB,IAAI,YAAY,EAAE,EAC7D,QAAQ,CAAC,YAAY,CAAC,YAAY,EAAE,QAAQ,IAAI,EAAE,CAAC,CACpD,CAAC;QAEF,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;YACvC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAA,iDAAuB,EAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClE,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAU,CAAC;gBAC5B,MAAM,IAAI,GAAG,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE,UAAU,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC;gBACvE,MAAM,UAAU,GAAG,MAAM,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC;gBACtD,IAAI,UAAU,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;oBACxC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;oBAClD,OAAO;gBACT,CAAC;gBACD,QAAQ,CAAC,YAAY,CACnB,YAAY,EACZ;oBACE,OAAO,EAAE,KAAK;oBACd,eAAe,EAAE,QAAQ;oBACzB,aAAa,EAAE,IAAI;iBACpB,EACD,KAAK,EAAE,KAAU,EAAE,QAAa,EAAE,QAAa,EAAE,EAAE;oBACjD,IAAI,KAAK,EAAE,CAAC;wBACV,MAAM,mBAAmB,EAAE,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;wBAChD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;4BACnB,KAAK,EAAE,+BAA+B;yBACvC,CAAC,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,0BAA0B,CAAC,GAAG,EAAE,GAAG,EAAE;4BACxC,GAAG,QAAQ;4BACX,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,YAAY;yBACvB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;4BAClB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAA,kCAAgB,EAAC,CAAC,CAAC,CAAC,CAAC;wBAC5C,CAAC,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC,CACF,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACd,CAAC;YAAC,OAAO,EAAE,EAAE,CAAC;gBACZ,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAnFD,8CAmFC"}
@@ -1,11 +0,0 @@
1
- /// <reference types="express-serve-static-core" />
2
- /// <reference types="passport" />
3
- import type e from "express";
4
- import { RequestHandler } from "express";
5
- import { AuthSocketSchema } from "prostgles-types";
6
- import { AuthHandler } from "./AuthHandler";
7
- import { Auth } from "./AuthTypes";
8
- export declare const upsertNamedExpressMiddleware: (app: e.Express, handler: RequestHandler, name: string) => void;
9
- export declare function setAuthProviders(this: AuthHandler, { registrations, app }: Required<Auth>["expressConfig"]): Promise<void>;
10
- export declare function getProviders(this: AuthHandler): AuthSocketSchema["providers"] | undefined;
11
- //# sourceMappingURL=setAuthProviders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setAuthProviders.d.ts","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":";;AAAA,OAAO,KAAK,CAAC,MAAM,SAAS,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAA6B,MAAM,iBAAiB,CAAC;AAE9E,OAAO,EAA0B,WAAW,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAInC,eAAO,MAAM,4BAA4B,QAClC,SAAS,WACL,cAAc,QACjB,MAAM,SAMb,CAAC;AAEF,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,WAAW,EACjB,EAAE,aAAa,EAAE,GAAG,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,iBAMxD;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC,GAAG,SAAS,CAgBzF"}
@@ -1,41 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProviders = exports.setAuthProviders = exports.upsertNamedExpressMiddleware = void 0;
4
- const prostgles_types_1 = require("prostgles-types");
5
- const FileManager_1 = require("../FileManager/FileManager");
6
- const AuthHandler_1 = require("./AuthHandler");
7
- const setEmailProvider_1 = require("./authProviders/setEmailProvider");
8
- const setOAuthProviders_1 = require("./authProviders/setOAuthProviders");
9
- const upsertNamedExpressMiddleware = (app, handler, name) => {
10
- const funcName = name;
11
- Object.defineProperty(handler, "name", { value: funcName });
12
- (0, FileManager_1.removeExpressRouteByName)(app, name);
13
- app.use(handler);
14
- };
15
- exports.upsertNamedExpressMiddleware = upsertNamedExpressMiddleware;
16
- async function setAuthProviders({ registrations, app }) {
17
- if (!registrations)
18
- return;
19
- await setEmailProvider_1.setEmailProvider.bind(this)(app);
20
- await setOAuthProviders_1.setOAuthProviders.bind(this)(app, registrations);
21
- }
22
- exports.setAuthProviders = setAuthProviders;
23
- function getProviders() {
24
- const { registrations } = this.opts.expressConfig ?? {};
25
- if (!registrations)
26
- return undefined;
27
- const { OAuthProviders } = registrations;
28
- if (!OAuthProviders || (0, prostgles_types_1.isEmpty)(OAuthProviders))
29
- return undefined;
30
- const result = {};
31
- (0, prostgles_types_1.getObjectEntries)(OAuthProviders).forEach(([providerName, config]) => {
32
- if (config?.clientID) {
33
- result[providerName] = {
34
- url: `${AuthHandler_1.AUTH_ROUTES_AND_PARAMS.loginWithProvider}/${providerName}`,
35
- };
36
- }
37
- });
38
- return result;
39
- }
40
- exports.getProviders = getProviders;
41
- //# sourceMappingURL=setAuthProviders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setAuthProviders.js","sourceRoot":"","sources":["../../lib/Auth/setAuthProviders.ts"],"names":[],"mappings":";;;AAEA,qDAA8E;AAC9E,4DAAsE;AACtE,+CAAoE;AAEpE,uEAAoE;AACpE,yEAAsE;AAE/D,MAAM,4BAA4B,GAAG,CAC1C,GAAc,EACd,OAAuB,EACvB,IAAY,EACZ,EAAE;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC;IACtB,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC5D,IAAA,sCAAwB,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACpC,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACnB,CAAC,CAAC;AATW,QAAA,4BAA4B,gCASvC;AAEK,KAAK,UAAU,gBAAgB,CAEpC,EAAE,aAAa,EAAE,GAAG,EAAmC;IAEvD,IAAI,CAAC,aAAa;QAAE,OAAO;IAE3B,MAAM,mCAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,qCAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AARD,4CAQC;AAED,SAAgB,YAAY;IAC1B,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAAC;IACzC,IAAI,CAAC,cAAc,IAAI,IAAA,yBAAO,EAAC,cAAc,CAAC;QAAE,OAAO,SAAS,CAAC;IAEjE,MAAM,MAAM,GAAkC,EAAE,CAAC;IACjD,IAAA,kCAAgB,EAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,MAAM,CAAC,EAAE,EAAE;QAClE,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,YAAY,CAAC,GAAG;gBACrB,GAAG,EAAE,GAAG,oCAAsB,CAAC,iBAAiB,IAAI,YAAY,EAAE;aACnE,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAhBD,oCAgBC"}
@@ -1,26 +0,0 @@
1
- import e from "express";
2
- import { AuthHandler } from "../AuthHandler";
3
- import { setConfirmEmailRequestHandler } from "../endpoints/setConfirmEmailRequestHandler";
4
- import { setRegisterRequestHandler } from "../endpoints/setRegisterRequestHandler";
5
- import { getOrSetTransporter } from "../sendEmail";
6
- import { checkDmarc } from "../utils/checkDmarc";
7
-
8
- export async function setEmailProvider(this: AuthHandler, app: e.Express) {
9
- const { email, websiteUrl } = this.opts.expressConfig?.registrations ?? {};
10
- if (!email) return;
11
- if (!websiteUrl) {
12
- throw new Error("websiteUrl is required for email/magic-link registrations");
13
- }
14
- await checkDmarc(websiteUrl);
15
-
16
- /**
17
- * Setup nodemailer transporters
18
- */
19
- getOrSetTransporter(email.smtp);
20
-
21
- setRegisterRequestHandler({ email, websiteUrl }, app);
22
-
23
- if (email.signupType === "withPassword") {
24
- setConfirmEmailRequestHandler.bind(this)(email, app);
25
- }
26
- }
@@ -1,47 +0,0 @@
1
- import type e from "express";
2
- import { RequestHandler } from "express";
3
- import { AuthSocketSchema, getObjectEntries, isEmpty } from "prostgles-types";
4
- import { removeExpressRouteByName } from "../FileManager/FileManager";
5
- import { AUTH_ROUTES_AND_PARAMS, AuthHandler } from "./AuthHandler";
6
- import { Auth } from "./AuthTypes";
7
- import { setEmailProvider } from "./authProviders/setEmailProvider";
8
- import { setOAuthProviders } from "./authProviders/setOAuthProviders";
9
-
10
- export const upsertNamedExpressMiddleware = (
11
- app: e.Express,
12
- handler: RequestHandler,
13
- name: string
14
- ) => {
15
- const funcName = name;
16
- Object.defineProperty(handler, "name", { value: funcName });
17
- removeExpressRouteByName(app, name);
18
- app.use(handler);
19
- };
20
-
21
- export async function setAuthProviders(
22
- this: AuthHandler,
23
- { registrations, app }: Required<Auth>["expressConfig"]
24
- ) {
25
- if (!registrations) return;
26
-
27
- await setEmailProvider.bind(this)(app);
28
- await setOAuthProviders.bind(this)(app, registrations);
29
- }
30
-
31
- export function getProviders(this: AuthHandler): AuthSocketSchema["providers"] | undefined {
32
- const { registrations } = this.opts.expressConfig ?? {};
33
- if (!registrations) return undefined;
34
- const { OAuthProviders } = registrations;
35
- if (!OAuthProviders || isEmpty(OAuthProviders)) return undefined;
36
-
37
- const result: AuthSocketSchema["providers"] = {};
38
- getObjectEntries(OAuthProviders).forEach(([providerName, config]) => {
39
- if (config?.clientID) {
40
- result[providerName] = {
41
- url: `${AUTH_ROUTES_AND_PARAMS.loginWithProvider}/${providerName}`,
42
- };
43
- }
44
- });
45
-
46
- return result;
47
- }