prostgles-server 4.2.133 → 4.2.135

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 (102) hide show
  1. package/dist/Auth/AuthHandler.d.ts +66 -0
  2. package/dist/Auth/AuthHandler.d.ts.map +1 -0
  3. package/dist/Auth/AuthHandler.js +425 -0
  4. package/dist/Auth/AuthHandler.js.map +1 -0
  5. package/dist/Auth/AuthTypes.d.ts +218 -0
  6. package/dist/Auth/AuthTypes.d.ts.map +1 -0
  7. package/dist/Auth/AuthTypes.js +3 -0
  8. package/dist/Auth/AuthTypes.js.map +1 -0
  9. package/dist/Auth/authInit.d.ts +3 -0
  10. package/dist/Auth/authInit.d.ts.map +1 -0
  11. package/dist/Auth/authInit.js +155 -0
  12. package/dist/Auth/authInit.js.map +1 -0
  13. package/dist/Auth/getSafeReturnURL.d.ts +2 -0
  14. package/dist/Auth/getSafeReturnURL.d.ts.map +1 -0
  15. package/dist/Auth/getSafeReturnURL.js +35 -0
  16. package/dist/Auth/getSafeReturnURL.js.map +1 -0
  17. package/dist/Auth/setAuthSignup.d.ts +5 -0
  18. package/dist/Auth/setAuthSignup.d.ts.map +1 -0
  19. package/dist/Auth/setAuthSignup.js +85 -0
  20. package/dist/Auth/setAuthSignup.js.map +1 -0
  21. package/dist/DboBuilder/DboBuilderTypes.d.ts +3 -3
  22. package/dist/DboBuilder/DboBuilderTypes.d.ts.map +1 -1
  23. package/dist/DboBuilder/DboBuilderTypes.js.map +1 -1
  24. package/dist/DboBuilder/QueryBuilder/getNewQuery.d.ts +1 -1
  25. package/dist/DboBuilder/ViewHandler/ViewHandler.d.ts +1 -1
  26. package/dist/DboBuilder/runSQL.d.ts +1 -1
  27. package/dist/FileManager/initFileManager.js +1 -1
  28. package/dist/FileManager/initFileManager.js.map +1 -1
  29. package/dist/Filtering.d.ts +1 -1
  30. package/dist/Prostgles.d.ts +1 -1
  31. package/dist/Prostgles.d.ts.map +1 -1
  32. package/dist/Prostgles.js +1 -1
  33. package/dist/Prostgles.js.map +1 -1
  34. package/dist/ProstglesTypes.d.ts +1 -1
  35. package/dist/ProstglesTypes.d.ts.map +1 -1
  36. package/dist/PubSubManager/PubSubManager.d.ts +1 -1
  37. package/dist/PubSubManager/PubSubManager.d.ts.map +1 -1
  38. package/dist/PubSubManager/PubSubManager.js +4 -3
  39. package/dist/PubSubManager/PubSubManager.js.map +1 -1
  40. package/dist/PublishParser/PublishParser.d.ts +2 -2
  41. package/dist/PublishParser/PublishParser.d.ts.map +1 -1
  42. package/dist/PublishParser/PublishParser.js.map +1 -1
  43. package/dist/PublishParser/getFileTableRules.d.ts +1 -1
  44. package/dist/PublishParser/getFileTableRules.d.ts.map +1 -1
  45. package/dist/PublishParser/getSchemaFromPublish.d.ts +1 -1
  46. package/dist/PublishParser/getSchemaFromPublish.d.ts.map +1 -1
  47. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts +1 -1
  48. package/dist/PublishParser/getTableRulesWithoutFileTable.d.ts.map +1 -1
  49. package/dist/PublishParser/publishTypesAndUtils.d.ts +1 -1
  50. package/dist/PublishParser/publishTypesAndUtils.d.ts.map +1 -1
  51. package/dist/PublishParser/publishTypesAndUtils.js.map +1 -1
  52. package/dist/RestApi.d.ts +1 -1
  53. package/dist/RestApi.d.ts.map +1 -1
  54. package/dist/RestApi.js +1 -1
  55. package/dist/RestApi.js.map +1 -1
  56. package/dist/SchemaWatch/SchemaWatch.d.ts.map +1 -1
  57. package/dist/SchemaWatch/SchemaWatch.js +5 -1
  58. package/dist/SchemaWatch/SchemaWatch.js.map +1 -1
  59. package/dist/index.d.ts +1 -1
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/initProstgles.js +1 -1
  62. package/dist/initProstgles.js.map +1 -1
  63. package/dist/runClientRequest.d.ts +1 -1
  64. package/dist/runClientRequest.d.ts.map +1 -1
  65. package/dist/runClientRequest.js +1 -1
  66. package/dist/runClientRequest.js.map +1 -1
  67. package/lib/Auth/AuthHandler.ts +474 -0
  68. package/lib/Auth/AuthTypes.ts +247 -0
  69. package/lib/Auth/authInit.ts +166 -0
  70. package/lib/Auth/getSafeReturnURL.ts +35 -0
  71. package/lib/Auth/setAuthSignup.ts +100 -0
  72. package/lib/DBSchemaBuilder.ts +1 -1
  73. package/lib/DboBuilder/DboBuilderTypes.ts +4 -3
  74. package/lib/FileManager/initFileManager.ts +1 -1
  75. package/lib/Prostgles.ts +2 -2
  76. package/lib/ProstglesTypes.ts +1 -1
  77. package/lib/PubSubManager/PubSubManager.ts +4 -3
  78. package/lib/PublishParser/PublishParser.ts +3 -3
  79. package/lib/PublishParser/getFileTableRules.ts +1 -1
  80. package/lib/PublishParser/getSchemaFromPublish.ts +1 -1
  81. package/lib/PublishParser/getTableRulesWithoutFileTable.ts +1 -1
  82. package/lib/PublishParser/publishTypesAndUtils.ts +1 -1
  83. package/lib/RestApi.ts +2 -1
  84. package/lib/SchemaWatch/SchemaWatch.ts +5 -1
  85. package/lib/index.ts +1 -1
  86. package/lib/initProstgles.ts +1 -1
  87. package/lib/runClientRequest.ts +3 -3
  88. package/package.json +14 -4
  89. package/tests/client/index.ts +9 -7
  90. package/tests/client/package-lock.json +2827 -143
  91. package/tests/client/package.json +1 -1
  92. package/tests/client/tsconfig.json +0 -6
  93. package/tests/clientFileTests.spec.ts +2 -3
  94. package/tests/clientOnlyQueries.spec.ts +2 -2
  95. package/tests/clientRestApi.spec.ts +2 -2
  96. package/tests/server/index.ts +1 -1
  97. package/tests/server/package-lock.json +62 -77
  98. package/tests/server/package.json +2 -2
  99. package/tests/server/tsconfig.json +1 -2
  100. package/tests/serverOnlyQueries.spec.ts +2 -2
  101. package/tsconfig.json +0 -1
  102. package/lib/AuthHandler.ts +0 -816
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaWatch.js","sourceRoot":"","sources":["../../lib/SchemaWatch/SchemaWatch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaWatch.js","sourceRoot":"","sources":["../../lib/SchemaWatch/SchemaWatch.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { SessionUser } from "./AuthHandler";
1
+ import { SessionUser } from "./Auth/AuthTypes";
2
2
  import { ProstglesInitOptions } from "./ProstglesTypes";
3
3
  declare function prostgles<S = void, SUser extends SessionUser = SessionUser>(params: ProstglesInitOptions<S, SUser>): Promise<import("./initProstgles").InitResult>;
4
4
  export = prostgles;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKxD,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,iDAI3G;AACD,SAAS,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAKxD,iBAAS,SAAS,CAAC,CAAC,GAAG,IAAI,EAAE,KAAK,SAAS,WAAW,GAAG,WAAW,EAAE,MAAM,EAAE,oBAAoB,CAAC,CAAC,EAAE,KAAK,CAAC,iDAI3G;AACD,SAAS,SAAS,CAAC"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initProstgles = void 0;
4
4
  const pgPromise = require("pg-promise");
5
5
  const prostgles_types_1 = require("prostgles-types");
6
- const AuthHandler_1 = require("./AuthHandler");
6
+ const AuthHandler_1 = require("./Auth/AuthHandler");
7
7
  const DBEventsManager_1 = require("./DBEventsManager");
8
8
  const Prostgles_1 = require("./Prostgles");
9
9
  const PublishParser_1 = require("./PublishParser/PublishParser");
@@ -1 +1 @@
1
- {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initProstgles.js","sourceRoot":"","sources":["../lib/initProstgles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { AnyObject } from "prostgles-types";
2
- import { ExpressReq } from "./AuthHandler";
2
+ import { ExpressReq } from "./Auth/AuthTypes";
3
3
  import { PRGLIOSocket } from "./DboBuilder/DboBuilder";
4
4
  import { Prostgles } from "./Prostgles";
5
5
  type ReqInfo = {
@@ -1 +1 @@
1
- {"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAmC,MAAM,iBAAiB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAY,MAAM,eAAe,CAAC;AACrD,OAAO,EAAe,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAA;AACD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG;IACF,OAAO,EAAE,UAAU,CAAC;CACrB,CAAA;AACD,KAAK,IAAI,GAAG,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AASF,eAAO,MAAM,gBAAgB,SAAwB,SAAS,QAAQ,IAAI,iBAqCzE,CAAA;AAED,eAAO,MAAM,sBAAsB,SAAwB,SAAS,QAAQ,OAAO;;;EAgBlF,CAAA;AAED,KAAK,OAAO,GAAG,OAAO,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AACD,eAAO,MAAM,mBAAmB,SAAwB,SAAS,UAAU,OAAO,iBAQjF,CAAA;AAID,KAAK,UAAU,GAAG,OAAO,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf,CAAA;AACD,eAAO,MAAM,eAAe,SAAwB,SAAS,WAAW,UAAU,iBAcjF,CAAA"}
1
+ {"version":3,"file":"runClientRequest.d.ts","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA6C,MAAM,iBAAiB,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAe,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAGpE,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,KAAK,OAAO,GAAG;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,GAAG;IACF,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB,CAAA;AACD,KAAK,aAAa,GAAG;IACnB,MAAM,EAAE,YAAY,CAAC;CACtB,GAAG;IACF,OAAO,EAAE,UAAU,CAAC;CACrB,CAAA;AACD,KAAK,IAAI,GAAG,OAAO,GAAG;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,GAAG,CAAC;CACb,CAAC;AASF,eAAO,MAAM,gBAAgB,SAAwB,SAAS,QAAQ,IAAI,iBAqCzE,CAAA;AAED,eAAO,MAAM,sBAAsB,SAAwB,SAAS,QAAQ,OAAO;;;EAgBlF,CAAA;AAED,KAAK,OAAO,GAAG,OAAO,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,GAAG,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,EAAE,GAAG,CAAC;CACf,CAAA;AACD,eAAO,MAAM,mBAAmB,SAAwB,SAAS,UAAU,OAAO,iBAQjF,CAAA;AAID,KAAK,UAAU,GAAG,OAAO,GAAG;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAA;CACf,CAAA;AACD,eAAO,MAAM,eAAe,SAAwB,SAAS,WAAW,UAAU,iBAcjF,CAAA"}
@@ -25,7 +25,7 @@ const runClientRequest = async function (args) {
25
25
  const valid_table_command_rules = await this.publishParser.getValidatedRequestRule({ tableName, command, localParams: reqInfo }, clientInfo);
26
26
  if (valid_table_command_rules) {
27
27
  const sessionUser = !clientInfo?.user ? undefined : {
28
- ...(0, parseFieldFilter_1.parseFieldFilter)(clientInfo.sessionFields ?? [], false, (0, prostgles_types_1.getKeys)(clientInfo.user)),
28
+ ...(0, parseFieldFilter_1.parseFieldFilter)(clientInfo.sessionFields ?? [], false, Object.keys(clientInfo.user)),
29
29
  ...(0, prostgles_types_1.pickKeys)(clientInfo.user, ["id", "type"]),
30
30
  };
31
31
  const localParams = { ...reqInfo, isRemoteRequest: { user: sessionUser } };
@@ -1 +1 @@
1
- {"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runClientRequest.js","sourceRoot":"","sources":["../lib/runClientRequest.ts"],"names":[],"mappings":";;;AAAA,qDAAuF;AAGvF,gFAA6E;AAC7E,gDAAgD;AAwBhD,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;AAEnE,MAAM,gBAAgB,GAAG,CAAC,OAAgB,EAAiB,EAAE;IAC3D,IAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAC,CAAC;QAC5B,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IACpC,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;AACtC,CAAC,CAAA;AACM,MAAM,gBAAgB,GAAG,KAAK,WAA2B,IAAU;IACxE,gGAAgG;IAChG,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACjJ,MAAM,uCAAuC,CAAC;IAChD,CAAC;IAED,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE5D,IAAG,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAC,CAAC;QACnE,MAAM,8EAA8E,GAAG,oBAAoB,CAAC;IAC9G,CAAC;IACD,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9D,MAAM,yBAAyB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,UAAU,CAAC,CAAC;IAC7I,IAAI,yBAAyB,EAAE,CAAC;QAC9B,MAAM,WAAW,GAAyB,CAAC,UAAU,EAAE,IAAI,CAAA,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YACvE,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,aAAa,IAAI,EAAS,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAC/F,GAAG,IAAA,0BAAQ,EAAC,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAa;SACzD,CAAA;QACD,MAAM,WAAW,GAAgB,EAAE,GAAG,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,CAAA;QACvF,IAAG,MAAM,IAAK,MAAsB,CAAC,WAAW,EAAC,CAAC;YAChD,MAAM,SAAS,GAAG,MAAM,IAAA,kBAAS,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YACrD,IAAG,SAAS,EAAC,CAAC;gBACZ,WAAW,CAAC,WAAW,GAAI,MAAsB,CAAC,WAAW,CAAC;YAChE,CAAC;iBAAM,CAAC;gBACN,MAAM,+CAA+C,CAAC;YACxD,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAG,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,YAAY;YAAE,MAAM,qBAAqB,SAAS,WAAW,CAAC;QAChG,MAAM,MAAM,GAAG,YAAY,CAAC,OAA6B,CAAC,CAAC;QAC3D,IAAG,CAAC,MAAM;YAAE,MAAM,mBAAmB,OAAO,WAAW,CAAC;QACxD,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,yBAAyB,EAAE,WAAW,CAAC,CAAC;IACtG,CAAC;SAAM,CAAC;QACN,MAAM,kCAAkC,SAAS,IAAI,OAAO,GAAG,CAAC;IAClE,CAAC;AACH,CAAC,CAAA;AArCY,QAAA,gBAAgB,oBAqC5B;AAEM,MAAM,sBAAsB,GAAG,KAAK,WAA2B,IAAa;IACjF,MAAM,OAAO,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACvC,IAAG,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,UAAU,EAAC,CAAC;QAC5E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAA;IACpC,CAAC;IACD,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;QAC3B,IAAG,CAAC,IAAI,CAAC,WAAW,EAAC,CAAC;YACpB,MAAM,qBAAqB,CAAC;QAC9B,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,aAAoB,CAAC,CAAC;QAClE,OAAO,OAAO,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,EAAE,CAAC;IAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC,CAAA;AAhBY,QAAA,sBAAsB,0BAgBlC;AAOM,MAAM,mBAAmB,GAAG,KAAK,WAA2B,MAAe;IAChF,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,8BAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7E,IAAG,CAAC,OAAO,EAAC,CAAC;QACX,MAAM,4BAA4B,CAAC;IACrC,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG;QAAE,MAAM,qCAAqC,CAAC;IAChE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IACxC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,CAAC,CAAA;AARY,QAAA,mBAAmB,uBAQ/B;AAQM,MAAM,eAAe,GAAG,KAAK,WAA2B,OAAmB;IAEhF,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAErE,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACjC,MAAM,CAAC,4BAA4B,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;IACnC,MAAM,KAAK,GAAG,CAAC,OAAO,SAAS,KAAK,UAAU,IAAI,OAAQ,SAAiB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAA,CAAC,CAAE,SAA6C,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC;IACjK,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC;IACnC,OAAO,GAAG,CAAC;AACb,CAAC,CAAA;AAdY,QAAA,eAAe,mBAc3B"}
@@ -0,0 +1,474 @@
1
+ import { AnyObject, AuthGuardLocation, AuthGuardLocationResponse, CHANNELS, AuthSocketSchema } from "prostgles-types";
2
+ import { LocalParams, PRGLIOSocket } from "../DboBuilder/DboBuilder";
3
+ import { DBOFullyTyped } from "../DBSchemaBuilder";
4
+ import { removeExpressRoute } from "../FileManager/FileManager";
5
+ import { DB, DBHandlerServer, Prostgles } from "../Prostgles";
6
+ import { Auth, AuthClientRequest, AuthResult, BasicSession, ExpressReq, ExpressRes, LoginClientInfo } from "./AuthTypes"
7
+ import { getSafeReturnURL } from "./getSafeReturnURL";
8
+ import { authInit } from "./authInit";
9
+ import { getProviders } from "./setAuthSignup";
10
+
11
+ export const HTTPCODES = {
12
+ AUTH_ERROR: 401,
13
+ NOT_FOUND: 404,
14
+ BAD_REQUEST: 400,
15
+ INTERNAL_SERVER_ERROR: 500,
16
+ };
17
+
18
+ export const getLoginClientInfo = (req: AuthClientRequest): AuthClientRequest & LoginClientInfo => {
19
+ if("httpReq" in req){
20
+ const ip_address = req.httpReq.ip;
21
+ if(!ip_address) throw new Error("ip_address missing from req.httpReq");
22
+ const user_agent = req.httpReq.headers["user-agent"];
23
+ return {
24
+ ...req,
25
+ ip_address,
26
+ ip_address_remote: req.httpReq.connection.remoteAddress,
27
+ x_real_ip: req.httpReq.headers['x-real-ip'] as any,
28
+ user_agent,
29
+ };
30
+ } else {
31
+ return {
32
+ ...req,
33
+ ip_address: req.socket.handshake.address,
34
+ ip_address_remote: req.socket.request.connection.remoteAddress,
35
+ x_real_ip: req.socket.handshake.headers?.["x-real-ip"],
36
+ user_agent: req.socket.handshake.headers?.['user-agent'],
37
+ }
38
+ }
39
+ }
40
+
41
+ export class AuthHandler {
42
+ protected prostgles: Prostgles;
43
+ protected opts?: Auth;
44
+ dbo: DBHandlerServer;
45
+ db: DB;
46
+ sidKeyName?: string;
47
+
48
+ routes: {
49
+ login?: string;
50
+ returnUrlParamName?: string;
51
+ logoutGetPath?: string;
52
+ magicLinks?: {
53
+ route: string;
54
+ expressRoute: string;
55
+ }
56
+ readonly catchAll: '*';
57
+ } = {
58
+ catchAll: "*"
59
+ }
60
+
61
+ constructor(prostgles: Prostgles) {
62
+ this.prostgles = prostgles;
63
+ this.opts = prostgles.opts.auth as any;
64
+ if (prostgles.opts.auth?.expressConfig) {
65
+ const { magicLinks, returnUrlParamName, loginRoute, logoutGetPath } = prostgles.opts.auth.expressConfig;
66
+ const magicLinksRoute = magicLinks?.route || "/magic-link"
67
+ this.routes = {
68
+ magicLinks: magicLinks? {
69
+ expressRoute: `${magicLinksRoute}/:id`,
70
+ route: magicLinksRoute
71
+ } : undefined,
72
+ returnUrlParamName: returnUrlParamName || "returnURL",
73
+ login: loginRoute || "/login",
74
+ logoutGetPath: logoutGetPath || "/logout",
75
+ catchAll: "*"
76
+ }
77
+ }
78
+ if(!prostgles.dbo || !prostgles.db) throw "dbo or db missing";
79
+ this.dbo = prostgles.dbo;
80
+ this.db = prostgles.db;
81
+ }
82
+
83
+ validateSid = (sid: string | undefined) => {
84
+ if (!sid) return undefined;
85
+ if (typeof sid !== "string") throw "sid missing or not a string";
86
+ return sid;
87
+ }
88
+
89
+ matchesRoute = (route: string | undefined, clientFullRoute: string) => {
90
+ return route && clientFullRoute && (
91
+ route === clientFullRoute ||
92
+ clientFullRoute.startsWith(route) && ["/", "?", "#"].includes(clientFullRoute[route.length] ?? "")
93
+ )
94
+ }
95
+
96
+ isUserRoute = (pathname: string) => {
97
+ const pubRoutes = [
98
+ ...this.opts?.expressConfig?.publicRoutes || [],
99
+ ];
100
+ if (this.routes?.login) pubRoutes.push(this.routes.login);
101
+ if (this.routes?.logoutGetPath) pubRoutes.push(this.routes.logoutGetPath);
102
+ if (this.routes?.magicLinks?.route) pubRoutes.push(this.routes.magicLinks.route);
103
+
104
+ return !pubRoutes.some(publicRoute => {
105
+ return this.matchesRoute(publicRoute, pathname);
106
+ });
107
+ }
108
+
109
+ setCookieAndGoToReturnURLIFSet = (cookie: { sid: string; expires: number; }, r: { req: ExpressReq; res: ExpressRes }) => {
110
+ const { sid, expires } = cookie;
111
+ const { res, req } = r;
112
+ if (sid) {
113
+ const maxAgeOneDay = 60 * 60 * 24; // 24 hours;
114
+ type CD = { maxAge: number } | { expires: Date }
115
+ let cookieDuration: CD = {
116
+ maxAge: maxAgeOneDay
117
+ }
118
+ if(expires && Number.isFinite(expires) && !isNaN(+ new Date(expires))){
119
+ // const maxAge = (+new Date(expires)) - Date.now();
120
+ cookieDuration = { expires: new Date(expires) };
121
+ const days = (+cookieDuration.expires - Date.now())/(24 * 60 * 60e3);
122
+ if(days >= 400){
123
+ console.warn(`Cookie expiration is higher than the Chrome 400 day limit: ${days}days`)
124
+ }
125
+ }
126
+
127
+ const cookieOpts = {
128
+ ...cookieDuration,
129
+ httpOnly: true, // The cookie only accessible by the web server
130
+ //signed: true // Indicates if the cookie should be signed
131
+ secure: true,
132
+ sameSite: "strict" as const,
133
+ ...(this.opts?.expressConfig?.cookieOptions || {})
134
+ };
135
+ const cookieData = sid;
136
+ if(!this.sidKeyName || !this.routes?.returnUrlParamName) throw "sidKeyName or returnURL missing"
137
+ res.cookie(this.sidKeyName, cookieData, cookieOpts);
138
+ const successURL = this.getReturnUrl(req) || "/";
139
+ res.redirect(successURL);
140
+
141
+ } else {
142
+ throw ("no user or session")
143
+ }
144
+ }
145
+
146
+ getUser = async (clientReq: { httpReq: ExpressReq; }): Promise<AuthResult> => {
147
+ if(!this.sidKeyName || !this.opts?.getUser) {
148
+ throw "sidKeyName or this.opts.getUser missing";
149
+ }
150
+ const sid = clientReq.httpReq?.cookies?.[this.sidKeyName];
151
+ if (!sid) return undefined;
152
+
153
+ try {
154
+ return this.throttledFunc(async () => {
155
+ return this.opts!.getUser(this.validateSid(sid), this.dbo as any, this.db, getLoginClientInfo(clientReq));
156
+ }, 50)
157
+ } catch (err) {
158
+ console.error(err);
159
+ }
160
+ return undefined;
161
+ }
162
+
163
+ init = authInit.bind(this);
164
+
165
+ getReturnUrl = (req: ExpressReq) => {
166
+ const { returnUrlParamName } = this.routes;
167
+ if (returnUrlParamName && req?.query?.[returnUrlParamName]) {
168
+ const returnURL = decodeURIComponent(req?.query?.[returnUrlParamName] as string);
169
+
170
+ return getSafeReturnURL(returnURL, returnUrlParamName);
171
+ }
172
+ return null;
173
+ }
174
+
175
+ destroy = () => {
176
+ const app = this.opts?.expressConfig?.app;
177
+ const { login, logoutGetPath, magicLinks } = this.routes;
178
+ removeExpressRoute(app, [login, logoutGetPath, magicLinks?.expressRoute]);
179
+ }
180
+
181
+ throttledFunc = <T>(func: () => Promise<T>, throttle = 500): Promise<T> => {
182
+
183
+ return new Promise(async (resolve, reject) => {
184
+
185
+ let result: any, error: any, finished = false;
186
+
187
+ /**
188
+ * Throttle reject response times to prevent timing attacks
189
+ */
190
+ const interval = setInterval(() => {
191
+ if (finished) {
192
+ clearInterval(interval);
193
+ if (error) {
194
+ reject(error);
195
+ } else {
196
+ resolve(result)
197
+ }
198
+ }
199
+ }, throttle);
200
+
201
+
202
+ try {
203
+ result = await func();
204
+ resolve(result);
205
+ clearInterval(interval);
206
+ } catch (err) {
207
+ console.log(err)
208
+ error = err;
209
+ }
210
+
211
+ finished = true;
212
+ })
213
+ }
214
+
215
+ loginThrottled = async (params: AnyObject, client: LoginClientInfo): Promise<BasicSession> => {
216
+ if (!this.opts?.login) throw "Auth login config missing";
217
+ const { responseThrottle = 500 } = this.opts;
218
+
219
+ return this.throttledFunc(async () => {
220
+ const result = await this.opts?.login?.(params, this.dbo as DBOFullyTyped, this.db, client);
221
+ const err = {
222
+ msg: "Bad login result type. \nExpecting: undefined | null | { sid: string; expires: number } but got: " + JSON.stringify(result)
223
+ }
224
+
225
+ if(!result) throw err;
226
+ if(result && (typeof result.sid !== "string" || typeof result.expires !== "number") || !result && ![undefined, null].includes(result)) {
227
+ throw err
228
+ }
229
+ if(result && result.expires < Date.now()){
230
+ throw { msg: "auth.login() is returning an expired session. Can only login with a session.expires greater than Date.now()"}
231
+ }
232
+
233
+ return result;
234
+ }, responseThrottle);
235
+
236
+ }
237
+
238
+
239
+ /**
240
+ * Will return first sid value found in:
241
+ * Bearer header
242
+ * http cookie
243
+ * query params
244
+ * Based on sid names in auth
245
+ */
246
+ getSID(localParams: LocalParams): string | undefined {
247
+ if (!this.opts) return undefined;
248
+
249
+ const { sidKeyName } = this.opts;
250
+
251
+ if (!sidKeyName || !localParams) return undefined;
252
+
253
+ if (localParams.socket) {
254
+ const { handshake } = localParams.socket;
255
+ const querySid = handshake?.auth?.[sidKeyName] || handshake?.query?.[sidKeyName];
256
+ let rawSid = querySid;
257
+ if (!rawSid) {
258
+ const cookie_str = localParams.socket?.handshake?.headers?.cookie;
259
+ const cookie = parseCookieStr(cookie_str);
260
+ rawSid = cookie[sidKeyName];
261
+ }
262
+ return this.validateSid(rawSid);
263
+
264
+ } else if (localParams.httpReq) {
265
+ const [tokenType, base64Token] = localParams.httpReq.headers.authorization?.split(' ') ?? [];
266
+ let bearerSid: string | undefined;
267
+ if(tokenType && base64Token){
268
+ if(tokenType.trim() !== "Bearer"){
269
+ throw "Only Bearer Authorization header allowed";
270
+ }
271
+ bearerSid = Buffer.from(base64Token, 'base64').toString();
272
+ }
273
+ return this.validateSid(bearerSid ?? localParams.httpReq?.cookies?.[sidKeyName]);
274
+
275
+ } else throw "socket OR httpReq missing from localParams";
276
+
277
+ function parseCookieStr(cookie_str: string | undefined): any {
278
+ if (!cookie_str || typeof cookie_str !== "string") {
279
+ return {}
280
+ }
281
+
282
+ return cookie_str.replace(/\s/g, '')
283
+ .split(";")
284
+ .reduce<AnyObject>((prev, current) => {
285
+ const [name, value] = current.split('=');
286
+ prev[name!] = value;
287
+ return prev;
288
+ }, {});
289
+ }
290
+ }
291
+
292
+ /**
293
+ * Used for logging
294
+ */
295
+ getSIDNoError = (localParams: LocalParams | undefined): string | undefined => {
296
+ if(!localParams) return undefined;
297
+ try {
298
+ return this.getSID(localParams);
299
+ } catch {
300
+ return undefined;
301
+ }
302
+ }
303
+
304
+ async getClientInfo(localParams: Pick<LocalParams, "socket" | "httpReq">): Promise<AuthResult> {
305
+ if (!this.opts) return {};
306
+
307
+ const getSession = this.opts.cacheSession?.getSession;
308
+ const isSocket = "socket" in localParams;
309
+ if(isSocket){
310
+ if(getSession && localParams.socket?.__prglCache){
311
+ const { session, user, clientUser } = localParams.socket.__prglCache;
312
+ const isValid = this.isValidSocketSession(localParams.socket, session)
313
+ if(isValid){
314
+
315
+ return {
316
+ sid: session.sid,
317
+ user,
318
+ clientUser,
319
+ }
320
+ } else return {
321
+ sid: session.sid
322
+ };
323
+ }
324
+ }
325
+
326
+ const authStart = Date.now();
327
+ const res = await this.throttledFunc(async () => {
328
+
329
+ const { getUser } = this.opts ?? {};
330
+
331
+ if (getUser && localParams && (localParams.httpReq || localParams.socket)) {
332
+ const sid = this.getSID(localParams);
333
+ const clientReq = localParams.httpReq? { httpReq: localParams.httpReq } : { socket: localParams.socket! };
334
+ let user, clientUser;
335
+ if(sid){
336
+ const res = await getUser(sid, this.dbo as any, this.db, getLoginClientInfo(clientReq)) as any;
337
+ user = res?.user;
338
+ clientUser = res?.clientUser;
339
+ }
340
+ if(getSession && isSocket){
341
+ const session = await getSession(sid, this.dbo as any, this.db)
342
+ if(session?.expires && user && clientUser && localParams.socket){
343
+ localParams.socket.__prglCache = {
344
+ session,
345
+ user,
346
+ clientUser,
347
+ }
348
+ }
349
+ }
350
+ if(sid) {
351
+ return { sid, user, clientUser }
352
+ }
353
+ }
354
+
355
+ return {};
356
+ }, 5);
357
+
358
+ await this.prostgles.opts.onLog?.({
359
+ type: "auth",
360
+ command: "getClientInfo",
361
+ duration: Date.now() - authStart,
362
+ sid: res.sid,
363
+ socketId: localParams.socket?.id,
364
+ });
365
+ return res;
366
+ }
367
+
368
+ isValidSocketSession = (socket: PRGLIOSocket, session: BasicSession): boolean => {
369
+ const hasExpired = Boolean(session && session.expires <= Date.now())
370
+ if(this.opts?.expressConfig?.publicRoutes && !this.opts.expressConfig?.disableSocketAuthGuard){
371
+ const error = "Session has expired";
372
+ if(hasExpired){
373
+ if(session.onExpiration === "redirect")
374
+ socket.emit(CHANNELS.AUTHGUARD, {
375
+ shouldReload: session.onExpiration === "redirect",
376
+ error
377
+ });
378
+ throw error;
379
+ }
380
+ }
381
+ return Boolean(session && !hasExpired);
382
+ }
383
+
384
+ getClientAuth = async (clientReq: Pick<LocalParams, "socket" | "httpReq">): Promise<{ auth: AuthSocketSchema; userData: AuthResult; }> => {
385
+
386
+ let pathGuard = false;
387
+ if (this.opts?.expressConfig?.publicRoutes && !this.opts.expressConfig?.disableSocketAuthGuard) {
388
+
389
+ pathGuard = true;
390
+
391
+ if("socket" in clientReq && clientReq.socket){
392
+ const { socket } = clientReq;
393
+ socket.removeAllListeners(CHANNELS.AUTHGUARD)
394
+ socket.on(CHANNELS.AUTHGUARD, async (params: AuthGuardLocation, cb = (_err: any, _res?: AuthGuardLocationResponse) => { /** EMPTY */ }) => {
395
+
396
+ try {
397
+
398
+ const { pathname, origin } = typeof params === "string" ? JSON.parse(params) : (params || {});
399
+ if (pathname && typeof pathname !== "string") {
400
+ console.warn("Invalid pathname provided for AuthGuardLocation: ", pathname);
401
+ }
402
+
403
+ /** These origins */
404
+ const IGNORED_API_ORIGINS = ["file://"]
405
+ if (!IGNORED_API_ORIGINS.includes(origin) && pathname && typeof pathname === "string" && this.isUserRoute(pathname) && !(await this.getClientInfo({ socket }))?.user) {
406
+ cb(null, { shouldReload: true });
407
+ } else {
408
+ cb(null, { shouldReload: false });
409
+ }
410
+
411
+ } catch (err) {
412
+ console.error("AUTHGUARD err: ", err);
413
+ cb(err)
414
+ }
415
+ });
416
+
417
+ }
418
+ }
419
+
420
+
421
+ /**
422
+ * ARE THESE NEEDED?!
423
+ */
424
+ // const {
425
+ // register,
426
+ // logout
427
+ // } = this.opts;
428
+ // const login = this.loginThrottled
429
+ // let handlers: {
430
+ // name: keyof Omit<AuthSocketSchema, "user">;
431
+ // ch: string;
432
+ // func: (...args: any) => any;
433
+ // }[] = [
434
+ // { func: (params: any, dbo: any, db: DB, client: LoginClientInfo) => register?.(params, dbo, db), ch: CHANNELS.REGISTER, name: "register" as keyof Omit<AuthSocketSchema, "user"> },
435
+ // { func: (params: any, dbo: any, db: DB, client: LoginClientInfo) => login(params, client), ch: CHANNELS.LOGIN, name: "login" as keyof Omit<AuthSocketSchema, "user"> },
436
+ // { func: (params: any, dbo: any, db: DB, client: LoginClientInfo) => logout?.(this.getSID({ socket }), dbo, db), ch: CHANNELS.LOGOUT, name: "logout" as keyof Omit<AuthSocketSchema, "user">}
437
+ // ].filter(h => h.func);
438
+
439
+
440
+ // handlers.map(({ func, ch, name }) => {
441
+ // auth[name] = true;
442
+
443
+ // socket.removeAllListeners(ch)
444
+ // socket.on(ch, async (params: any, cb = (..._callback: any) => { /** Empty */ }) => {
445
+
446
+ // try {
447
+ // if (!socket) throw "socket missing??!!";
448
+ // const id_address = (socket as any)?.conn?.remoteAddress;
449
+ // const user_agent = socket.handshake?.headers?.["user-agent"];
450
+ // const res = await func(params, this.dbo as any, this.db, { user_agent, id_address });
451
+ // if (name === "login" && res && res.sid) {
452
+ // /* TODO: Re-send schema to client */
453
+ // }
454
+
455
+ // cb(null, true);
456
+
457
+ // } catch (err) {
458
+ // console.error(name + " err", err);
459
+ // cb(err)
460
+ // }
461
+ // });
462
+ // });
463
+
464
+ const userData = await this.getClientInfo(clientReq);
465
+ const auth: AuthSocketSchema = {
466
+ providers: getProviders(this.opts?.expressConfig?.registrations),
467
+ register: this.opts?.expressConfig?.registrations?.email && { type: this.opts?.expressConfig?.registrations?.email.signupType, url: "/register" },
468
+ user: userData?.clientUser,
469
+ loginType: this.opts?.expressConfig?.registrations?.email.signupType,
470
+ pathGuard,
471
+ };
472
+ return { auth, userData };
473
+ }
474
+ }