@cabin-id/nextjs 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/dist/cjs/api/{getUserInfo.js → endpoints/AbstractApi.js} +14 -18
  2. package/dist/cjs/api/endpoints/AbstractApi.js.map +1 -0
  3. package/dist/cjs/api/endpoints/UserApi.js +40 -0
  4. package/dist/cjs/api/endpoints/UserApi.js.map +1 -0
  5. package/dist/cjs/api/endpoints/index.js +32 -0
  6. package/dist/cjs/api/endpoints/index.js.map +1 -0
  7. package/dist/cjs/api/factory.js +60 -0
  8. package/dist/cjs/api/factory.js.map +1 -0
  9. package/dist/cjs/api/request.js +97 -0
  10. package/dist/cjs/api/request.js.map +1 -0
  11. package/dist/cjs/component.client.js +2 -2
  12. package/dist/cjs/component.client.js.map +1 -1
  13. package/dist/cjs/component.server.js +5 -2
  14. package/dist/cjs/component.server.js.map +1 -1
  15. package/dist/cjs/components/SignInButton.js +15 -6
  16. package/dist/cjs/components/SignInButton.js.map +1 -1
  17. package/dist/cjs/constants.js +20 -19
  18. package/dist/cjs/constants.js.map +1 -1
  19. package/dist/cjs/hooks/createContextAndHook.js +62 -0
  20. package/dist/cjs/hooks/createContextAndHook.js.map +1 -0
  21. package/dist/cjs/hooks/useSafeLayoutEffect.js +40 -0
  22. package/dist/cjs/hooks/useSafeLayoutEffect.js.map +1 -0
  23. package/dist/cjs/hooks/useUser.js +9 -16
  24. package/dist/cjs/hooks/useUser.js.map +1 -1
  25. package/dist/cjs/index.js +2 -2
  26. package/dist/cjs/index.js.map +1 -1
  27. package/dist/cjs/provider/context.js +62 -0
  28. package/dist/cjs/provider/context.js.map +1 -0
  29. package/dist/cjs/provider/core.provider.js +49 -0
  30. package/dist/cjs/provider/core.provider.js.map +1 -0
  31. package/dist/cjs/{client/provider.js → provider/main.provider.js} +9 -21
  32. package/dist/cjs/provider/main.provider.js.map +1 -0
  33. package/dist/cjs/server/auth.js +31 -7
  34. package/dist/cjs/server/auth.js.map +1 -1
  35. package/dist/cjs/{client/request.js → server/client.js} +12 -20
  36. package/dist/cjs/server/client.js.map +1 -0
  37. package/dist/cjs/server/createGetAuth.js +45 -0
  38. package/dist/cjs/server/createGetAuth.js.map +1 -0
  39. package/dist/cjs/server/createRedirect.js +36 -35
  40. package/dist/cjs/server/createRedirect.js.map +1 -1
  41. package/dist/cjs/server/errors.js +110 -0
  42. package/dist/cjs/server/errors.js.map +1 -0
  43. package/dist/cjs/server/getCurrentUser.js +3 -10
  44. package/dist/cjs/server/getCurrentUser.js.map +1 -1
  45. package/dist/cjs/server/index.js +32 -0
  46. package/dist/cjs/server/index.js.map +1 -0
  47. package/dist/cjs/server/middleware.js +122 -102
  48. package/dist/cjs/server/middleware.js.map +1 -1
  49. package/dist/cjs/server/protect.js +69 -0
  50. package/dist/cjs/server/protect.js.map +1 -0
  51. package/dist/cjs/server/routeMatcher.js +1 -0
  52. package/dist/cjs/server/routeMatcher.js.map +1 -1
  53. package/dist/cjs/server/serverRedirectWithAuth.js +2 -2
  54. package/dist/cjs/server/serverRedirectWithAuth.js.map +1 -1
  55. package/dist/cjs/server/type.js.map +1 -1
  56. package/dist/cjs/server/utils.js +58 -0
  57. package/dist/cjs/server/utils.js.map +1 -1
  58. package/dist/cjs/styles/global.css +30 -2
  59. package/dist/cjs/styles/global.css.map +1 -1
  60. package/dist/cjs/tokens/authObjects.js +45 -0
  61. package/dist/cjs/tokens/authObjects.js.map +1 -0
  62. package/dist/cjs/tokens/authStatus.js +86 -0
  63. package/dist/cjs/tokens/authStatus.js.map +1 -0
  64. package/dist/cjs/tokens/authenticateContext.js +69 -0
  65. package/dist/cjs/tokens/authenticateContext.js.map +1 -0
  66. package/dist/cjs/tokens/cabinIdRequest.js +79 -0
  67. package/dist/cjs/tokens/cabinIdRequest.js.map +1 -0
  68. package/dist/cjs/tokens/cabinIdUrl.js +36 -0
  69. package/dist/cjs/tokens/cabinIdUrl.js.map +1 -0
  70. package/dist/cjs/tokens/request.js +58 -0
  71. package/dist/cjs/tokens/request.js.map +1 -0
  72. package/dist/cjs/types.js.map +1 -1
  73. package/dist/cjs/utils/createCabinIdClient.js +38 -0
  74. package/dist/cjs/utils/createCabinIdClient.js.map +1 -0
  75. package/dist/cjs/utils/http.js +31 -0
  76. package/dist/cjs/utils/http.js.map +1 -0
  77. package/dist/cjs/utils/initial.js +51 -0
  78. package/dist/cjs/utils/initial.js.map +1 -0
  79. package/dist/cjs/utils.js +10 -0
  80. package/dist/cjs/utils.js.map +1 -1
  81. package/dist/esm/api/endpoints/AbstractApi.js +14 -0
  82. package/dist/esm/api/endpoints/AbstractApi.js.map +1 -0
  83. package/dist/esm/api/endpoints/UserApi.js +16 -0
  84. package/dist/esm/api/endpoints/UserApi.js.map +1 -0
  85. package/dist/esm/api/endpoints/index.js +7 -0
  86. package/dist/esm/api/endpoints/index.js.map +1 -0
  87. package/dist/esm/api/factory.js +35 -0
  88. package/dist/esm/api/factory.js.map +1 -0
  89. package/dist/esm/api/request.js +63 -0
  90. package/dist/esm/api/request.js.map +1 -0
  91. package/dist/esm/component.client.js +1 -1
  92. package/dist/esm/component.client.js.map +1 -1
  93. package/dist/esm/component.server.js +3 -1
  94. package/dist/esm/component.server.js.map +1 -1
  95. package/dist/esm/components/SignInButton.js +17 -8
  96. package/dist/esm/components/SignInButton.js.map +1 -1
  97. package/dist/esm/constants.js +16 -15
  98. package/dist/esm/constants.js.map +1 -1
  99. package/dist/esm/hooks/createContextAndHook.js +27 -0
  100. package/dist/esm/hooks/createContextAndHook.js.map +1 -0
  101. package/dist/esm/hooks/useSafeLayoutEffect.js +6 -0
  102. package/dist/esm/hooks/useSafeLayoutEffect.js.map +1 -0
  103. package/dist/esm/hooks/useUser.js +12 -6
  104. package/dist/esm/hooks/useUser.js.map +1 -1
  105. package/dist/esm/index.js +1 -1
  106. package/dist/esm/index.js.map +1 -1
  107. package/dist/esm/provider/context.js +24 -0
  108. package/dist/esm/provider/context.js.map +1 -0
  109. package/dist/esm/provider/core.provider.js +15 -0
  110. package/dist/esm/provider/core.provider.js.map +1 -0
  111. package/dist/esm/provider/main.provider.js +11 -0
  112. package/dist/esm/provider/main.provider.js.map +1 -0
  113. package/dist/esm/server/auth.js +32 -8
  114. package/dist/esm/server/auth.js.map +1 -1
  115. package/dist/esm/server/client.js +11 -0
  116. package/dist/esm/server/client.js.map +1 -0
  117. package/dist/esm/server/createGetAuth.js +23 -0
  118. package/dist/esm/server/createGetAuth.js.map +1 -0
  119. package/dist/esm/server/createRedirect.js +36 -35
  120. package/dist/esm/server/createRedirect.js.map +1 -1
  121. package/dist/esm/server/errors.js +78 -0
  122. package/dist/esm/server/errors.js.map +1 -0
  123. package/dist/esm/server/getCurrentUser.js +3 -10
  124. package/dist/esm/server/getCurrentUser.js.map +1 -1
  125. package/dist/esm/server/index.js +7 -0
  126. package/dist/esm/server/index.js.map +1 -0
  127. package/dist/esm/server/middleware.js +125 -106
  128. package/dist/esm/server/middleware.js.map +1 -1
  129. package/dist/esm/server/protect.js +45 -0
  130. package/dist/esm/server/protect.js.map +1 -0
  131. package/dist/esm/server/routeMatcher.js +1 -0
  132. package/dist/esm/server/routeMatcher.js.map +1 -1
  133. package/dist/esm/server/serverRedirectWithAuth.js +2 -2
  134. package/dist/esm/server/serverRedirectWithAuth.js.map +1 -1
  135. package/dist/esm/server/utils.js +54 -1
  136. package/dist/esm/server/utils.js.map +1 -1
  137. package/dist/esm/styles/global.css +30 -2
  138. package/dist/esm/styles/global.css.map +1 -1
  139. package/dist/esm/tokens/authObjects.js +20 -0
  140. package/dist/esm/tokens/authObjects.js.map +1 -0
  141. package/dist/esm/tokens/authStatus.js +59 -0
  142. package/dist/esm/tokens/authStatus.js.map +1 -0
  143. package/dist/esm/tokens/authenticateContext.js +45 -0
  144. package/dist/esm/tokens/authenticateContext.js.map +1 -0
  145. package/dist/esm/tokens/cabinIdRequest.js +55 -0
  146. package/dist/esm/tokens/cabinIdRequest.js.map +1 -0
  147. package/dist/esm/tokens/cabinIdUrl.js +12 -0
  148. package/dist/esm/tokens/cabinIdUrl.js.map +1 -0
  149. package/dist/esm/tokens/request.js +34 -0
  150. package/dist/esm/tokens/request.js.map +1 -0
  151. package/dist/esm/utils/createCabinIdClient.js +17 -0
  152. package/dist/esm/utils/createCabinIdClient.js.map +1 -0
  153. package/dist/esm/utils/http.js +7 -0
  154. package/dist/esm/utils/http.js.map +1 -0
  155. package/dist/esm/utils/initial.js +26 -0
  156. package/dist/esm/utils/initial.js.map +1 -0
  157. package/dist/esm/utils.js +9 -0
  158. package/dist/esm/utils.js.map +1 -1
  159. package/dist/types/api/endpoints/AbstractApi.d.ts +7 -0
  160. package/dist/types/api/endpoints/AbstractApi.d.ts.map +1 -0
  161. package/dist/types/api/endpoints/UserApi.d.ts +6 -0
  162. package/dist/types/api/endpoints/UserApi.d.ts.map +1 -0
  163. package/dist/types/api/endpoints/index.d.ts +3 -0
  164. package/dist/types/api/endpoints/index.d.ts.map +1 -0
  165. package/dist/types/api/factory.d.ts +35 -0
  166. package/dist/types/api/factory.d.ts.map +1 -0
  167. package/dist/types/api/request.d.ts +33 -0
  168. package/dist/types/api/request.d.ts.map +1 -0
  169. package/dist/types/component.client.d.ts +1 -1
  170. package/dist/types/component.client.d.ts.map +1 -1
  171. package/dist/types/component.server.d.ts +1 -0
  172. package/dist/types/component.server.d.ts.map +1 -1
  173. package/dist/types/components/SignInButton.d.ts.map +1 -1
  174. package/dist/types/constants.d.ts +11 -10
  175. package/dist/types/constants.d.ts.map +1 -1
  176. package/dist/types/hooks/createContextAndHook.d.ts +18 -0
  177. package/dist/types/hooks/createContextAndHook.d.ts.map +1 -0
  178. package/dist/types/hooks/useSafeLayoutEffect.d.ts +3 -0
  179. package/dist/types/hooks/useSafeLayoutEffect.d.ts.map +1 -0
  180. package/dist/types/hooks/useUser.d.ts +16 -1
  181. package/dist/types/hooks/useUser.d.ts.map +1 -1
  182. package/dist/types/index.d.ts +1 -1
  183. package/dist/types/index.d.ts.map +1 -1
  184. package/dist/types/provider/context.d.ts +15 -0
  185. package/dist/types/provider/context.d.ts.map +1 -0
  186. package/dist/types/provider/core.provider.d.ts +6 -0
  187. package/dist/types/provider/core.provider.d.ts.map +1 -0
  188. package/dist/types/provider/main.provider.d.ts +5 -0
  189. package/dist/types/provider/main.provider.d.ts.map +1 -0
  190. package/dist/types/server/auth.d.ts +10 -3
  191. package/dist/types/server/auth.d.ts.map +1 -1
  192. package/dist/types/server/client.d.ts +3 -0
  193. package/dist/types/server/client.d.ts.map +1 -0
  194. package/dist/types/server/createGetAuth.d.ts +5 -0
  195. package/dist/types/server/createGetAuth.d.ts.map +1 -0
  196. package/dist/types/server/createRedirect.d.ts.map +1 -1
  197. package/dist/types/server/errors.d.ts +10 -0
  198. package/dist/types/server/errors.d.ts.map +1 -0
  199. package/dist/types/server/getCurrentUser.d.ts.map +1 -1
  200. package/dist/types/server/index.d.ts +3 -0
  201. package/dist/types/server/index.d.ts.map +1 -0
  202. package/dist/types/server/middleware.d.ts +22 -77
  203. package/dist/types/server/middleware.d.ts.map +1 -1
  204. package/dist/types/server/protect.d.ts +34 -0
  205. package/dist/types/server/protect.d.ts.map +1 -0
  206. package/dist/types/server/routeMatcher.d.ts +4 -4
  207. package/dist/types/server/serverRedirectWithAuth.d.ts +2 -1
  208. package/dist/types/server/serverRedirectWithAuth.d.ts.map +1 -1
  209. package/dist/types/server/type.d.ts +10 -1
  210. package/dist/types/server/type.d.ts.map +1 -1
  211. package/dist/types/server/utils.d.ts +10 -3
  212. package/dist/types/server/utils.d.ts.map +1 -1
  213. package/dist/types/tokens/authObjects.d.ts +37 -0
  214. package/dist/types/tokens/authObjects.d.ts.map +1 -0
  215. package/dist/types/tokens/authStatus.d.ts +51 -0
  216. package/dist/types/tokens/authStatus.d.ts.map +1 -0
  217. package/dist/types/tokens/authenticateContext.d.ts +40 -0
  218. package/dist/types/tokens/authenticateContext.d.ts.map +1 -0
  219. package/dist/types/tokens/cabinIdRequest.d.ts +24 -0
  220. package/dist/types/tokens/cabinIdRequest.d.ts.map +1 -0
  221. package/dist/types/tokens/cabinIdUrl.d.ts +18 -0
  222. package/dist/types/tokens/cabinIdUrl.d.ts.map +1 -0
  223. package/dist/types/tokens/request.d.ts +4 -0
  224. package/dist/types/tokens/request.d.ts.map +1 -0
  225. package/dist/types/types.d.ts +1 -3
  226. package/dist/types/types.d.ts.map +1 -1
  227. package/dist/types/utils/createCabinIdClient.d.ts +5 -0
  228. package/dist/types/utils/createCabinIdClient.d.ts.map +1 -0
  229. package/dist/types/utils/http.d.ts +4 -0
  230. package/dist/types/utils/http.d.ts.map +1 -0
  231. package/dist/types/utils/initial.d.ts +8 -0
  232. package/dist/types/utils/initial.d.ts.map +1 -0
  233. package/dist/types/utils.d.ts +1 -0
  234. package/dist/types/utils.d.ts.map +1 -1
  235. package/package.json +6 -2
  236. package/server/package.json +5 -0
  237. package/dist/cjs/api/getUserInfo.js.map +0 -1
  238. package/dist/cjs/client/provider.js.map +0 -1
  239. package/dist/cjs/client/request.js.map +0 -1
  240. package/dist/esm/api/getUserInfo.js +0 -18
  241. package/dist/esm/api/getUserInfo.js.map +0 -1
  242. package/dist/esm/client/provider.js +0 -22
  243. package/dist/esm/client/provider.js.map +0 -1
  244. package/dist/esm/client/request.js +0 -19
  245. package/dist/esm/client/request.js.map +0 -1
  246. package/dist/types/api/getUserInfo.d.ts +0 -2
  247. package/dist/types/api/getUserInfo.d.ts.map +0 -1
  248. package/dist/types/client/provider.d.ts +0 -7
  249. package/dist/types/client/provider.d.ts.map +0 -1
  250. package/dist/types/client/request.d.ts +0 -3
  251. package/dist/types/client/request.d.ts.map +0 -1
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  "use client";
3
- var __create = Object.create;
4
3
  var __defProp = Object.defineProperty;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
7
  var __export = (target, all) => {
10
8
  for (var name in all)
@@ -18,28 +16,23 @@ var __copyProps = (to, from, except, desc) => {
18
16
  }
19
17
  return to;
20
18
  };
21
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
- // If the importer is in node compatibility mode or this is not an ESM
23
- // file that has been converted to a CommonJS file using a Babel-
24
- // compatible transform (i.e. "__esModule" has not been set), then set
25
- // "default" to the CommonJS "module.exports" for node compatibility.
26
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
- mod
28
- ));
29
19
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
20
  var useUser_exports = {};
31
21
  __export(useUser_exports, {
32
22
  useUser: () => useUser
33
23
  });
34
24
  module.exports = __toCommonJS(useUser_exports);
35
- var import_react = __toESM(require("react"));
36
- var import_provider = require("../client/provider");
25
+ var import_context = require("../provider/context");
37
26
  const useUser = () => {
38
- const useCabinIDContext = import_react.default.useContext(import_provider.CabinIDContext);
39
- if (!useCabinIDContext) {
40
- throw new Error("Please wrap your app with CabinID Provider");
27
+ (0, import_context.useAssertWrappedByCabinIdProvider)("useUser");
28
+ const user = (0, import_context.useUserContext)();
29
+ if (user === void 0) {
30
+ return { isLoaded: false, isSignedIn: void 0, user: void 0 };
41
31
  }
42
- return useCabinIDContext.user;
32
+ if (user === null) {
33
+ return { isLoaded: true, isSignedIn: false, user: null };
34
+ }
35
+ return { isLoaded: true, isSignedIn: true, user };
43
36
  };
44
37
  // Annotate the CommonJS export names for ESM import in node:
45
38
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/hooks/useUser.ts"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport { CabinIDContext } from '../client/provider';\n\nexport const useUser = () => {\n const useCabinIDContext = React.useContext(CabinIDContext);\n if (!useCabinIDContext) {\n throw new Error('Please wrap your app with CabinID Provider');\n }\n return useCabinIDContext.user;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkB;AAClB,sBAA+B;AAExB,MAAM,UAAU,MAAM;AAC3B,QAAM,oBAAoB,aAAAA,QAAM,WAAW,8BAAc;AACzD,MAAI,CAAC,mBAAmB;AACtB,UAAM,IAAI,MAAM,4CAA4C;AAAA,EAC9D;AACA,SAAO,kBAAkB;AAC3B;","names":["React"]}
1
+ {"version":3,"sources":["../../../src/hooks/useUser.ts"],"sourcesContent":["'use client';\n\nimport {\n useAssertWrappedByCabinIdProvider,\n useUserContext,\n} from '../provider/context';\nimport { User } from '../types';\n\ntype UseUserReturn =\n | { isLoaded: false; isSignedIn: undefined; user: undefined }\n | { isLoaded: true; isSignedIn: false; user: null }\n | { isLoaded: true; isSignedIn: true; user: User };\n\nexport const useUser = (): UseUserReturn => {\n useAssertWrappedByCabinIdProvider('useUser');\n\n const user = useUserContext();\n\n if (user === undefined) {\n return { isLoaded: false, isSignedIn: undefined, user: undefined };\n }\n\n if (user === null) {\n return { isLoaded: true, isSignedIn: false, user: null };\n }\n\n return { isLoaded: true, isSignedIn: true, user };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAGO;AAQA,MAAM,UAAU,MAAqB;AAC1C,wDAAkC,SAAS;AAE3C,QAAM,WAAO,+BAAe;AAE5B,MAAI,SAAS,QAAW;AACtB,WAAO,EAAE,UAAU,OAAO,YAAY,QAAW,MAAM,OAAU;AAAA,EACnE;AAEA,MAAI,SAAS,MAAM;AACjB,WAAO,EAAE,UAAU,MAAM,YAAY,OAAO,MAAM,KAAK;AAAA,EACzD;AAEA,SAAO,EAAE,UAAU,MAAM,YAAY,MAAM,KAAK;AAClD;","names":[]}
package/dist/cjs/index.js CHANGED
@@ -18,7 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var src_exports = {};
20
20
  __export(src_exports, {
21
- CabinIDProvider: () => import_provider.CabinIDProvider,
21
+ CabinIDProvider: () => import_main.CabinIDProvider,
22
22
  SignInButton: () => import_components.SignInButton,
23
23
  auth: () => import_auth.auth,
24
24
  authMiddleware: () => import_middleware.authMiddleware,
@@ -29,7 +29,7 @@ module.exports = __toCommonJS(src_exports);
29
29
  var import_global = require("./styles/global.css");
30
30
  var import_auth = require("./server/auth");
31
31
  var import_getCurrentUser = require("./server/getCurrentUser");
32
- var import_provider = require("./client/provider");
32
+ var import_main = require("./provider/main.provider");
33
33
  var import_hooks = require("./hooks");
34
34
  var import_middleware = require("./server/middleware");
35
35
  var import_components = require("./components");
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/global.css';\n\nexport { auth } from './server/auth';\nexport { currentUser } from './server/getCurrentUser';\nexport { CabinIDProvider } from './client/provider';\nexport { useUser } from './hooks';\nexport { authMiddleware } from './server/middleware';\nexport { SignInButton } from './components';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAO;AAEP,kBAAqB;AACrB,4BAA4B;AAC5B,sBAAgC;AAChC,mBAAwB;AACxB,wBAA+B;AAC/B,wBAA6B;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["import './styles/global.css';\n\nexport { auth } from './server/auth';\nexport { currentUser } from './server/getCurrentUser';\nexport { CabinIDProvider } from './provider/main.provider';\nexport { useUser } from './hooks';\nexport { authMiddleware } from './server/middleware';\nexport { SignInButton } from './components';\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAO;AAEP,kBAAqB;AACrB,4BAA4B;AAC5B,kBAAgC;AAChC,mBAAwB;AACxB,wBAA+B;AAC/B,wBAA6B;","names":[]}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var context_exports = {};
30
+ __export(context_exports, {
31
+ CabinIdInstanceContext: () => CabinIdInstanceContext,
32
+ UserContext: () => UserContext,
33
+ useAssertWrappedByCabinIdProvider: () => useAssertWrappedByCabinIdProvider,
34
+ useCabinIDInstanceContext: () => useCabinIDInstanceContext,
35
+ useUserContext: () => useUserContext
36
+ });
37
+ module.exports = __toCommonJS(context_exports);
38
+ var import_react = __toESM(require("react"));
39
+ var import_createContextAndHook = require("../hooks/createContextAndHook");
40
+ const [CabinIdInstanceContext, useCabinIDInstanceContext] = (0, import_createContextAndHook.createContextAndHook)("CabinIdInstanceContext");
41
+ const [UserContext, useUserContext] = (0, import_createContextAndHook.createContextAndHook)("UserContext");
42
+ function useAssertWrappedByCabinIdProvider(displayNameOrFn) {
43
+ const ctx = import_react.default.useContext(CabinIdInstanceContext);
44
+ if (!ctx) {
45
+ if (typeof displayNameOrFn === "function") {
46
+ displayNameOrFn();
47
+ return;
48
+ }
49
+ throw new Error(
50
+ `${displayNameOrFn} can only be used within the <CabinIDProvider /> component.`
51
+ );
52
+ }
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ CabinIdInstanceContext,
57
+ UserContext,
58
+ useAssertWrappedByCabinIdProvider,
59
+ useCabinIDInstanceContext,
60
+ useUserContext
61
+ });
62
+ //# sourceMappingURL=context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/provider/context.tsx"],"sourcesContent":["import React from 'react';\nimport { createContextAndHook } from '../hooks/createContextAndHook';\nimport { User } from '../types';\n\nexport type LoadedCabinId = {\n user: User | null;\n userId: string | null;\n};\n\nconst [CabinIdInstanceContext, useCabinIDInstanceContext] =\n createContextAndHook<LoadedCabinId>('CabinIdInstanceContext');\nconst [UserContext, useUserContext] = createContextAndHook<\n User | null | undefined\n>('UserContext');\n\nfunction useAssertWrappedByCabinIdProvider(\n displayNameOrFn: string | (() => void)\n): void {\n const ctx = React.useContext(CabinIdInstanceContext);\n\n if (!ctx) {\n if (typeof displayNameOrFn === 'function') {\n displayNameOrFn();\n return;\n }\n\n throw new Error(\n `${displayNameOrFn} can only be used within the <CabinIDProvider /> component.`\n );\n }\n}\n\nexport {\n CabinIdInstanceContext,\n UserContext,\n useCabinIDInstanceContext,\n useUserContext,\n useAssertWrappedByCabinIdProvider,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAClB,kCAAqC;AAQrC,MAAM,CAAC,wBAAwB,yBAAyB,QACtD,kDAAoC,wBAAwB;AAC9D,MAAM,CAAC,aAAa,cAAc,QAAI,kDAEpC,aAAa;AAEf,SAAS,kCACP,iBACM;AACN,QAAM,MAAM,aAAAA,QAAM,WAAW,sBAAsB;AAEnD,MAAI,CAAC,KAAK;AACR,QAAI,OAAO,oBAAoB,YAAY;AACzC,sBAAgB;AAChB;AAAA,IACF;AAEA,UAAM,IAAI;AAAA,MACR,GAAG,eAAe;AAAA,IACpB;AAAA,EACF;AACF;","names":["React"]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ "use client";
3
+ var __create = Object.create;
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __getProtoOf = Object.getPrototypeOf;
8
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __copyProps = (to, from, except, desc) => {
14
+ if (from && typeof from === "object" || typeof from === "function") {
15
+ for (let key of __getOwnPropNames(from))
16
+ if (!__hasOwnProp.call(to, key) && key !== except)
17
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
+ }
19
+ return to;
20
+ };
21
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
22
+ // If the importer is in node compatibility mode or this is not an ESM
23
+ // file that has been converted to a CommonJS file using a Babel-
24
+ // compatible transform (i.e. "__esModule" has not been set), then set
25
+ // "default" to the CommonJS "module.exports" for node compatibility.
26
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
27
+ mod
28
+ ));
29
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
+ var core_provider_exports = {};
31
+ __export(core_provider_exports, {
32
+ CabinIDCoreProvider: () => CabinIDCoreProvider
33
+ });
34
+ module.exports = __toCommonJS(core_provider_exports);
35
+ var import_react = __toESM(require("react"));
36
+ var import_context = require("./context");
37
+ const CabinIDCoreProvider = ({
38
+ children,
39
+ ...rest
40
+ }) => {
41
+ const { user } = rest;
42
+ const userCtx = import_react.default.useMemo(() => ({ value: user }), [user]);
43
+ return /* @__PURE__ */ import_react.default.createElement(import_context.CabinIdInstanceContext.Provider, { value: { value: rest } }, /* @__PURE__ */ import_react.default.createElement(import_context.UserContext.Provider, { value: userCtx }, children));
44
+ };
45
+ // Annotate the CommonJS export names for ESM import in node:
46
+ 0 && (module.exports = {
47
+ CabinIDCoreProvider
48
+ });
49
+ //# sourceMappingURL=core.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/provider/core.provider.tsx"],"sourcesContent":["'use client';\n\nimport React from 'react';\nimport type { PropsWithChildren } from 'react';\nimport { CabinIdInstanceContext, LoadedCabinId, UserContext } from './context';\n\nconst CabinIDCoreProvider = ({\n children,\n ...rest\n}: PropsWithChildren<LoadedCabinId>) => {\n const { user } = rest;\n\n const userCtx = React.useMemo(() => ({ value: user }), [user]);\n\n return (\n <CabinIdInstanceContext.Provider value={{ value: rest }}>\n <UserContext.Provider value={userCtx}>{children}</UserContext.Provider>\n </CabinIdInstanceContext.Provider>\n );\n};\n\nexport { CabinIDCoreProvider };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAkB;AAElB,qBAAmE;AAEnE,MAAM,sBAAsB,CAAC;AAAA,EAC3B;AAAA,EACA,GAAG;AACL,MAAwC;AACtC,QAAM,EAAE,KAAK,IAAI;AAEjB,QAAM,UAAU,aAAAA,QAAM,QAAQ,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,IAAI,CAAC;AAE7D,SACE,6BAAAA,QAAA,cAAC,sCAAuB,UAAvB,EAAgC,OAAO,EAAE,OAAO,KAAK,KACpD,6BAAAA,QAAA,cAAC,2BAAY,UAAZ,EAAqB,OAAO,WAAU,QAAS,CAClD;AAEJ;","names":["React"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- "use client";
3
2
  var __create = Object.create;
4
3
  var __defProp = Object.defineProperty;
5
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -27,31 +26,20 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
27
26
  mod
28
27
  ));
29
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
30
- var provider_exports = {};
31
- __export(provider_exports, {
32
- CabinIDContext: () => CabinIDContext,
29
+ var main_provider_exports = {};
30
+ __export(main_provider_exports, {
33
31
  CabinIDProvider: () => CabinIDProvider
34
32
  });
35
- module.exports = __toCommonJS(provider_exports);
33
+ module.exports = __toCommonJS(main_provider_exports);
36
34
  var import_react = __toESM(require("react"));
37
- var import_request = require("./request");
38
- const CabinIDContext = import_react.default.createContext({
39
- user: null
40
- });
41
- const CabinIDProvider = ({ children }) => {
42
- const [user, setState] = import_react.default.useState(null);
43
- import_react.default.useEffect(() => {
44
- fetchUser();
45
- }, []);
46
- const fetchUser = async () => {
47
- const user2 = await (0, import_request.getCurrentUser)();
48
- setState(user2);
49
- };
50
- return /* @__PURE__ */ import_react.default.createElement(CabinIDContext.Provider, { value: { user } }, children);
35
+ var import_core = require("./core.provider");
36
+ var import_initial = require("../utils/initial");
37
+ const CabinIDProvider = async ({ children }) => {
38
+ const state = await (0, import_initial.initialState)();
39
+ return /* @__PURE__ */ import_react.default.createElement(import_core.CabinIDCoreProvider, { ...state }, children);
51
40
  };
52
41
  // Annotate the CommonJS export names for ESM import in node:
53
42
  0 && (module.exports = {
54
- CabinIDContext,
55
43
  CabinIDProvider
56
44
  });
57
- //# sourceMappingURL=provider.js.map
45
+ //# sourceMappingURL=main.provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/provider/main.provider.tsx"],"sourcesContent":["import React from 'react';\nimport type { PropsWithChildren } from 'react';\nimport { CabinIDCoreProvider } from './core.provider';\nimport { initialState } from '../utils/initial';\n\nconst CabinIDProvider = async ({ children }: PropsWithChildren<any>) => {\n const state = await initialState();\n return <CabinIDCoreProvider {...state}>{children}</CabinIDCoreProvider>;\n};\n\nexport { CabinIDProvider };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkB;AAElB,kBAAoC;AACpC,qBAA6B;AAE7B,MAAM,kBAAkB,OAAO,EAAE,SAAS,MAA8B;AACtE,QAAM,QAAQ,UAAM,6BAAa;AACjC,SAAO,6BAAAA,QAAA,cAAC,mCAAqB,GAAG,SAAQ,QAAS;AACnD;","names":["React"]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- "use server";
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -22,13 +21,38 @@ __export(auth_exports, {
22
21
  auth: () => auth
23
22
  });
24
23
  module.exports = __toCommonJS(auth_exports);
25
- var import_headers = require("next/headers");
24
+ var import_navigation = require("next/navigation");
25
+ var import_createRedirect = require("./createRedirect");
26
+ var import_protect = require("./protect");
27
+ var import_utils = require("./utils");
26
28
  var import_constants = require("../constants");
27
- const auth = async () => {
28
- var _a;
29
- const cookie = (0, import_headers.cookies)();
30
- const userId = ((_a = cookie.get(import_constants.constants.Cookies.User)) == null ? void 0 : _a.value) || null;
31
- return { userId };
29
+ var import_cabinIdRequest = require("../tokens/cabinIdRequest");
30
+ var import_createGetAuth = require("./createGetAuth");
31
+ const auth = () => {
32
+ const request = (0, import_utils.buildRequestLike)();
33
+ const authObject = (0, import_createGetAuth.createGetAuth)()(request);
34
+ const cabinIdUrl = (0, import_utils.getAuthKeyFromRequest)(request, "CabinIdUrl");
35
+ const redirectToSignIn = (opts = {}) => {
36
+ return (0, import_createRedirect.createRedirect)({
37
+ redirectAdapter: import_navigation.redirect,
38
+ baseUrl: (0, import_cabinIdRequest.createCabinIdRequest)(request).cabinIdUrl.toString(),
39
+ // TODO: Support runtime-value configuration of these options
40
+ // via setting and reading headers from clerkMiddleware
41
+ publishableKey: import_constants.PUBLISHABLE_KEY,
42
+ signInUrl: import_constants.SIGN_IN_URL,
43
+ signUpUrl: import_constants.SIGN_UP_URL
44
+ }).redirectToSignIn({
45
+ returnBackUrl: opts.returnBackUrl === null ? "" : opts.returnBackUrl || (cabinIdUrl == null ? void 0 : cabinIdUrl.toString())
46
+ });
47
+ };
48
+ const protect = (0, import_protect.createProtect)({
49
+ request,
50
+ authObject,
51
+ redirectToSignIn,
52
+ notFound: import_navigation.notFound,
53
+ redirect: import_navigation.redirect
54
+ });
55
+ return Object.assign(authObject, { protect, redirectToSignIn });
32
56
  };
33
57
  // Annotate the CommonJS export names for ESM import in node:
34
58
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/auth.ts"],"sourcesContent":["'use server';\n\nimport { cookies } from 'next/headers';\nimport { constants } from '../constants';\n\nexport const auth = async () => {\n const cookie = cookies();\n const userId = cookie.get(constants.Cookies.User)?.value || null;\n\n return { userId };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,qBAAwB;AACxB,uBAA0B;AAEnB,MAAM,OAAO,YAAY;AALhC;AAME,QAAM,aAAS,wBAAQ;AACvB,QAAM,WAAS,YAAO,IAAI,2BAAU,QAAQ,IAAI,MAAjC,mBAAoC,UAAS;AAE5D,SAAO,EAAE,OAAO;AAClB;","names":[]}
1
+ {"version":3,"sources":["../../../src/server/auth.ts"],"sourcesContent":["import { notFound, redirect } from 'next/navigation';\nimport { AuthObject } from '../tokens/authObjects';\nimport { createRedirect, RedirectFun } from './createRedirect';\nimport { AuthProtect, createProtect } from './protect';\nimport { buildRequestLike, getAuthKeyFromRequest } from './utils';\nimport { PUBLISHABLE_KEY, SIGN_IN_URL, SIGN_UP_URL } from '../constants';\nimport { createCabinIdRequest } from '../tokens/cabinIdRequest';\nimport { createGetAuth } from './createGetAuth';\n\ntype Auth = AuthObject & {\n protect: AuthProtect;\n redirectToSignIn: RedirectFun<ReturnType<typeof redirect>>;\n};\n\nexport const auth = (): Auth => {\n const request = buildRequestLike();\n const authObject = createGetAuth()(request);\n\n const cabinIdUrl = getAuthKeyFromRequest(request, 'CabinIdUrl');\n\n const redirectToSignIn: RedirectFun<never> = (opts = {}) => {\n return createRedirect({\n redirectAdapter: redirect,\n baseUrl: createCabinIdRequest(request).cabinIdUrl.toString(),\n // TODO: Support runtime-value configuration of these options\n // via setting and reading headers from clerkMiddleware\n publishableKey: PUBLISHABLE_KEY,\n signInUrl: SIGN_IN_URL,\n signUpUrl: SIGN_UP_URL,\n }).redirectToSignIn({\n returnBackUrl:\n opts.returnBackUrl === null\n ? ''\n : opts.returnBackUrl || cabinIdUrl?.toString(),\n });\n };\n\n const protect = createProtect({\n request,\n authObject,\n redirectToSignIn,\n notFound,\n redirect,\n });\n\n return Object.assign(authObject, { protect, redirectToSignIn });\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAmC;AAEnC,4BAA4C;AAC5C,qBAA2C;AAC3C,mBAAwD;AACxD,uBAA0D;AAC1D,4BAAqC;AACrC,2BAA8B;AAOvB,MAAM,OAAO,MAAY;AAC9B,QAAM,cAAU,+BAAiB;AACjC,QAAM,iBAAa,oCAAc,EAAE,OAAO;AAE1C,QAAM,iBAAa,oCAAsB,SAAS,YAAY;AAE9D,QAAM,mBAAuC,CAAC,OAAO,CAAC,MAAM;AAC1D,eAAO,sCAAe;AAAA,MACpB,iBAAiB;AAAA,MACjB,aAAS,4CAAqB,OAAO,EAAE,WAAW,SAAS;AAAA;AAAA;AAAA,MAG3D,gBAAgB;AAAA,MAChB,WAAW;AAAA,MACX,WAAW;AAAA,IACb,CAAC,EAAE,iBAAiB;AAAA,MAClB,eACE,KAAK,kBAAkB,OACnB,KACA,KAAK,kBAAiB,yCAAY;AAAA,IAC1C,CAAC;AAAA,EACH;AAEA,QAAM,cAAU,8BAAc;AAAA,IAC5B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,CAAC;AAED,SAAO,OAAO,OAAO,YAAY,EAAE,SAAS,iBAAiB,CAAC;AAChE;","names":[]}
@@ -1,5 +1,4 @@
1
1
  "use strict";
2
- "use server";
3
2
  var __defProp = Object.defineProperty;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -17,27 +16,20 @@ var __copyProps = (to, from, except, desc) => {
17
16
  return to;
18
17
  };
19
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
20
- var request_exports = {};
21
- __export(request_exports, {
22
- getCurrentUser: () => getCurrentUser
19
+ var client_exports = {};
20
+ __export(client_exports, {
21
+ cabinIdClient: () => cabinIdClient
23
22
  });
24
- module.exports = __toCommonJS(request_exports);
23
+ module.exports = __toCommonJS(client_exports);
25
24
  var import_constants = require("../constants");
26
- var import_headers = require("next/headers");
27
- const getCurrentUser = async () => {
28
- var _a;
29
- const token = (_a = (0, import_headers.cookies)().get(import_constants.constants.Cookies.Client)) == null ? void 0 : _a.value;
30
- const response = await fetch(`${import_constants.baseApiUrl}/user/me`, {
31
- method: "GET",
32
- headers: {
33
- Authorization: `Bearer ${token}`
34
- }
35
- });
36
- const data = await response.json();
37
- return data;
38
- };
25
+ var import_createCabinIdClient = require("../utils/createCabinIdClient");
26
+ const cabinIdClient = (0, import_createCabinIdClient.createCabinIdClient)({
27
+ apiUrl: import_constants.API_URL,
28
+ apiVersion: import_constants.API_VERSION,
29
+ secretKey: import_constants.SECRET_KEY
30
+ });
39
31
  // Annotate the CommonJS export names for ESM import in node:
40
32
  0 && (module.exports = {
41
- getCurrentUser
33
+ cabinIdClient
42
34
  });
43
- //# sourceMappingURL=request.js.map
35
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/client.ts"],"sourcesContent":["import { API_URL, API_VERSION, SECRET_KEY } from '../constants';\nimport { createCabinIdClient } from '../utils/createCabinIdClient';\n\nconst cabinIdClient = createCabinIdClient({\n apiUrl: API_URL,\n apiVersion: API_VERSION,\n secretKey: SECRET_KEY,\n});\n\nexport { cabinIdClient };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiD;AACjD,iCAAoC;AAEpC,MAAM,oBAAgB,gDAAoB;AAAA,EACxC,QAAQ;AAAA,EACR,YAAY;AAAA,EACZ,WAAW;AACb,CAAC;","names":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var createGetAuth_exports = {};
20
+ __export(createGetAuth_exports, {
21
+ createGetAuth: () => createGetAuth,
22
+ getAuth: () => getAuth
23
+ });
24
+ module.exports = __toCommonJS(createGetAuth_exports);
25
+ var import_authObjects = require("../tokens/authObjects");
26
+ var import_constants = require("../constants");
27
+ var import_utils = require("./utils");
28
+ const createGetAuth = () => (req) => {
29
+ const authToken = (0, import_utils.getCookie)(req, import_constants.constants.Cookies.Client);
30
+ const userId = (0, import_utils.getCookie)(req, import_constants.constants.Cookies.User);
31
+ if (authToken && userId) {
32
+ return (0, import_authObjects.signedInAuthObject)({
33
+ sessionToken: authToken || "",
34
+ userId: userId || ""
35
+ });
36
+ }
37
+ return (0, import_authObjects.signedOutAuthObject)();
38
+ };
39
+ const getAuth = createGetAuth();
40
+ // Annotate the CommonJS export names for ESM import in node:
41
+ 0 && (module.exports = {
42
+ createGetAuth,
43
+ getAuth
44
+ });
45
+ //# sourceMappingURL=createGetAuth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/server/createGetAuth.ts"],"sourcesContent":["import {\n AuthObject,\n signedInAuthObject,\n signedOutAuthObject,\n} from '../tokens/authObjects';\nimport { constants } from '../constants';\nimport { getCookie } from './utils';\nimport { RequestLike } from './type';\n\nexport const createGetAuth =\n () =>\n (req: RequestLike): AuthObject => {\n const authToken = getCookie(req, constants.Cookies.Client);\n const userId = getCookie(req, constants.Cookies.User);\n if (authToken && userId) {\n return signedInAuthObject({\n sessionToken: authToken || '',\n userId: userId || '',\n });\n }\n\n return signedOutAuthObject();\n };\n\nexport const getAuth = createGetAuth();\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yBAIO;AACP,uBAA0B;AAC1B,mBAA0B;AAGnB,MAAM,gBACX,MACA,CAAC,QAAiC;AAChC,QAAM,gBAAY,wBAAU,KAAK,2BAAU,QAAQ,MAAM;AACzD,QAAM,aAAS,wBAAU,KAAK,2BAAU,QAAQ,IAAI;AACpD,MAAI,aAAa,QAAQ;AACvB,eAAO,uCAAmB;AAAA,MACxB,cAAc,aAAa;AAAA,MAC3B,QAAQ,UAAU;AAAA,IACpB,CAAC;AAAA,EACH;AAEA,aAAO,wCAAoB;AAC7B;AAEK,MAAM,UAAU,cAAc;","names":[]}
@@ -23,51 +23,47 @@ __export(createRedirect_exports, {
23
23
  module.exports = __toCommonJS(createRedirect_exports);
24
24
  var import_key = require("../utils/key");
25
25
  const buildUrl = (_baseUrl, _targetUrl, _returnBackUrl) => {
26
- if (_baseUrl === "") {
27
- const legacyUrl = legacyBuildUrl(
28
- _targetUrl.toString(),
29
- _returnBackUrl == null ? void 0 : _returnBackUrl.toString()
30
- );
31
- return legacyUrl;
32
- }
33
- const baseUrl = new URL(_baseUrl);
34
- const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : void 0;
35
- const res = new URL(_targetUrl, baseUrl);
36
- if (returnBackUrl) {
37
- res.searchParams.set("redirect_url", returnBackUrl.toString());
38
- }
39
- return res.toString();
40
- };
41
- const legacyBuildUrl = (targetUrl, redirectUrl) => {
42
- let url;
43
- if (!targetUrl.startsWith("http")) {
44
- if (!redirectUrl || !redirectUrl.startsWith("http")) {
45
- throw new Error(
46
- "destination url or return back url should be an absolute path url!"
47
- );
26
+ if (!!_baseUrl) {
27
+ const baseUrl = new URL(_baseUrl);
28
+ const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl, baseUrl) : void 0;
29
+ const res = new URL(_targetUrl, baseUrl);
30
+ if (returnBackUrl) {
31
+ res.searchParams.set("redirect_url", returnBackUrl.toString());
48
32
  }
49
- const baseURL = new URL(redirectUrl);
50
- url = new URL(targetUrl, baseURL.origin);
33
+ return res.toString();
51
34
  } else {
52
- url = new URL(targetUrl);
35
+ const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl) : void 0;
36
+ const res = new URL(_targetUrl);
37
+ if (returnBackUrl) {
38
+ res.searchParams.set("redirect_url", returnBackUrl.toString());
39
+ }
40
+ return res.toString();
53
41
  }
54
- if (redirectUrl) {
55
- url.searchParams.set("redirect_url", redirectUrl);
42
+ };
43
+ const buildAccountsBaseUrl = (frontendApi) => {
44
+ if (!frontendApi) {
45
+ return "";
56
46
  }
57
- return url.toString();
47
+ const accountsBaseUrl = frontendApi;
48
+ return `https://${accountsBaseUrl}`;
58
49
  };
59
50
  const createRedirect = (params) => {
60
51
  const { publishableKey, redirectAdapter, signInUrl, signUpUrl, baseUrl } = params;
61
52
  const frontendApi = (0, import_key.parsePublishableKey)(publishableKey);
62
- const accountsBaseUrl = frontendApi;
53
+ const accountsBaseUrl = buildAccountsBaseUrl(frontendApi);
63
54
  const redirectToSignUp = ({ returnBackUrl } = {}) => {
64
55
  if (!signUpUrl && !accountsBaseUrl) {
65
56
  throw new Error("Publish Key is not exist");
66
57
  }
67
58
  const accountsSignUpUrl = `${accountsBaseUrl}/sign-up`;
68
- const redirect = redirectAdapter(
69
- buildUrl(baseUrl, signUpUrl || accountsSignUpUrl, returnBackUrl)
70
- );
59
+ let redirect = null;
60
+ if (signUpUrl) {
61
+ redirect = redirectAdapter(buildUrl(baseUrl, signUpUrl));
62
+ } else {
63
+ redirect = redirectAdapter(
64
+ buildUrl(null, accountsSignUpUrl, returnBackUrl)
65
+ );
66
+ }
71
67
  return redirect;
72
68
  };
73
69
  const redirectToSignIn = ({ returnBackUrl } = {}) => {
@@ -75,9 +71,14 @@ const createRedirect = (params) => {
75
71
  throw new Error("Publish Key is not exist");
76
72
  }
77
73
  const accountsSignInUrl = `${accountsBaseUrl}/sign-in`;
78
- const redirect = redirectAdapter(
79
- buildUrl(baseUrl, signInUrl || accountsSignInUrl, returnBackUrl)
80
- );
74
+ let redirect = null;
75
+ if (signInUrl) {
76
+ redirect = redirectAdapter(buildUrl(baseUrl, signInUrl));
77
+ } else {
78
+ redirect = redirectAdapter(
79
+ buildUrl(null, accountsSignInUrl, returnBackUrl)
80
+ );
81
+ }
81
82
  return redirect;
82
83
  };
83
84
  return { redirectToSignUp, redirectToSignIn };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/server/createRedirect.ts"],"sourcesContent":["import { parsePublishableKey } from '../utils/key';\n\ntype RedirectAdapter<RedirectReturn> = (url: string) => RedirectReturn;\ntype RedirectToParams = { returnBackUrl?: string | URL | null };\nexport type RedirectFun<ReturnType> = (params?: RedirectToParams) => ReturnType;\n\nconst buildUrl = (\n _baseUrl: string | URL,\n _targetUrl: string | URL,\n _returnBackUrl?: string | URL | null\n) => {\n if (_baseUrl === '') {\n const legacyUrl = legacyBuildUrl(\n _targetUrl.toString(),\n _returnBackUrl?.toString()\n );\n return legacyUrl;\n }\n\n const baseUrl = new URL(_baseUrl);\n const returnBackUrl = _returnBackUrl\n ? new URL(_returnBackUrl, baseUrl)\n : undefined;\n const res = new URL(_targetUrl, baseUrl);\n\n if (returnBackUrl) {\n res.searchParams.set('redirect_url', returnBackUrl.toString());\n }\n return res.toString();\n};\n\nconst legacyBuildUrl = (targetUrl: string, redirectUrl?: string) => {\n let url;\n if (!targetUrl.startsWith('http')) {\n if (!redirectUrl || !redirectUrl.startsWith('http')) {\n throw new Error(\n 'destination url or return back url should be an absolute path url!'\n );\n }\n\n const baseURL = new URL(redirectUrl);\n url = new URL(targetUrl, baseURL.origin);\n } else {\n url = new URL(targetUrl);\n }\n\n if (redirectUrl) {\n url.searchParams.set('redirect_url', redirectUrl);\n }\n\n return url.toString();\n};\n\n/**\n * @internal\n */\ntype CreateRedirect = <ReturnType>(params: {\n publishableKey: string;\n redirectAdapter: RedirectAdapter<ReturnType>;\n baseUrl: URL | string;\n signInUrl?: URL | string;\n signUpUrl?: URL | string;\n}) => {\n redirectToSignIn: RedirectFun<ReturnType>;\n redirectToSignUp: RedirectFun<ReturnType>;\n};\n\nexport const createRedirect: CreateRedirect = (params) => {\n const { publishableKey, redirectAdapter, signInUrl, signUpUrl, baseUrl } =\n params;\n const frontendApi = parsePublishableKey(publishableKey);\n const accountsBaseUrl = frontendApi;\n\n const redirectToSignUp = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signUpUrl && !accountsBaseUrl) {\n throw new Error('Publish Key is not exist');\n }\n const accountsSignUpUrl = `${accountsBaseUrl}/sign-up`;\n const redirect = redirectAdapter(\n buildUrl(baseUrl, signUpUrl || accountsSignUpUrl, returnBackUrl)\n );\n return redirect;\n };\n\n const redirectToSignIn = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signInUrl && !accountsBaseUrl) {\n throw new Error('Publish Key is not exist');\n }\n const accountsSignInUrl = `${accountsBaseUrl}/sign-in`;\n\n const redirect = redirectAdapter(\n buildUrl(baseUrl, signInUrl || accountsSignInUrl, returnBackUrl)\n );\n\n return redirect;\n };\n\n return { redirectToSignUp, redirectToSignIn };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAoC;AAMpC,MAAM,WAAW,CACf,UACA,YACA,mBACG;AACH,MAAI,aAAa,IAAI;AACnB,UAAM,YAAY;AAAA,MAChB,WAAW,SAAS;AAAA,MACpB,iDAAgB;AAAA,IAClB;AACA,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,IAAI,IAAI,QAAQ;AAChC,QAAM,gBAAgB,iBAClB,IAAI,IAAI,gBAAgB,OAAO,IAC/B;AACJ,QAAM,MAAM,IAAI,IAAI,YAAY,OAAO;AAEvC,MAAI,eAAe;AACjB,QAAI,aAAa,IAAI,gBAAgB,cAAc,SAAS,CAAC;AAAA,EAC/D;AACA,SAAO,IAAI,SAAS;AACtB;AAEA,MAAM,iBAAiB,CAAC,WAAmB,gBAAyB;AAClE,MAAI;AACJ,MAAI,CAAC,UAAU,WAAW,MAAM,GAAG;AACjC,QAAI,CAAC,eAAe,CAAC,YAAY,WAAW,MAAM,GAAG;AACnD,YAAM,IAAI;AAAA,QACR;AAAA,MACF;AAAA,IACF;AAEA,UAAM,UAAU,IAAI,IAAI,WAAW;AACnC,UAAM,IAAI,IAAI,WAAW,QAAQ,MAAM;AAAA,EACzC,OAAO;AACL,UAAM,IAAI,IAAI,SAAS;AAAA,EACzB;AAEA,MAAI,aAAa;AACf,QAAI,aAAa,IAAI,gBAAgB,WAAW;AAAA,EAClD;AAEA,SAAO,IAAI,SAAS;AACtB;AAgBO,MAAM,iBAAiC,CAAC,WAAW;AACxD,QAAM,EAAE,gBAAgB,iBAAiB,WAAW,WAAW,QAAQ,IACrE;AACF,QAAM,kBAAc,gCAAoB,cAAc;AACtD,QAAM,kBAAkB;AAExB,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,aAAa,CAAC,iBAAiB;AAClC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,UAAM,oBAAoB,GAAG,eAAe;AAC5C,UAAM,WAAW;AAAA,MACf,SAAS,SAAS,aAAa,mBAAmB,aAAa;AAAA,IACjE;AACA,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,aAAa,CAAC,iBAAiB;AAClC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,UAAM,oBAAoB,GAAG,eAAe;AAE5C,UAAM,WAAW;AAAA,MACf,SAAS,SAAS,aAAa,mBAAmB,aAAa;AAAA,IACjE;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,kBAAkB,iBAAiB;AAC9C;","names":[]}
1
+ {"version":3,"sources":["../../../src/server/createRedirect.ts"],"sourcesContent":["import { parsePublishableKey } from '../utils/key';\n\ntype RedirectAdapter<RedirectReturn> = (url: string) => RedirectReturn;\ntype RedirectToParams = { returnBackUrl?: string | URL | null };\nexport type RedirectFun<ReturnType> = (params?: RedirectToParams) => ReturnType;\n\nconst buildUrl = (\n _baseUrl: string | URL | null,\n _targetUrl: string | URL,\n _returnBackUrl?: string | URL | null\n) => {\n if (!!_baseUrl) {\n const baseUrl = new URL(_baseUrl);\n const returnBackUrl = _returnBackUrl\n ? new URL(_returnBackUrl, baseUrl)\n : undefined;\n const res = new URL(_targetUrl, baseUrl);\n\n if (returnBackUrl) {\n res.searchParams.set('redirect_url', returnBackUrl.toString());\n }\n return res.toString();\n } else {\n const returnBackUrl = _returnBackUrl ? new URL(_returnBackUrl) : undefined;\n const res = new URL(_targetUrl);\n\n if (returnBackUrl) {\n res.searchParams.set('redirect_url', returnBackUrl.toString());\n }\n return res.toString();\n }\n};\n\nconst buildAccountsBaseUrl = (frontendApi: string | null) => {\n if (!frontendApi) {\n return '';\n }\n\n // convert url from FAPI to accounts for Kima and legacy (prod & dev) instances\n const accountsBaseUrl = frontendApi;\n return `https://${accountsBaseUrl}`;\n};\n\n/**\n * @internal\n */\ntype CreateRedirect = <ReturnType>(params: {\n publishableKey: string;\n redirectAdapter: RedirectAdapter<ReturnType>;\n baseUrl: URL | string;\n signInUrl?: URL | string;\n signUpUrl?: URL | string;\n}) => {\n redirectToSignIn: RedirectFun<ReturnType>;\n redirectToSignUp: RedirectFun<ReturnType>;\n};\n\nexport const createRedirect: CreateRedirect = (params) => {\n const { publishableKey, redirectAdapter, signInUrl, signUpUrl, baseUrl } =\n params;\n const frontendApi = parsePublishableKey(publishableKey);\n const accountsBaseUrl = buildAccountsBaseUrl(frontendApi);\n\n const redirectToSignUp = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signUpUrl && !accountsBaseUrl) {\n throw new Error('Publish Key is not exist');\n }\n const accountsSignUpUrl = `${accountsBaseUrl}/sign-up`;\n let redirect = null;\n\n if (signUpUrl) {\n redirect = redirectAdapter(buildUrl(baseUrl, signUpUrl));\n } else {\n redirect = redirectAdapter(\n buildUrl(null, accountsSignUpUrl, returnBackUrl)\n );\n }\n return redirect;\n };\n\n const redirectToSignIn = ({ returnBackUrl }: RedirectToParams = {}) => {\n if (!signInUrl && !accountsBaseUrl) {\n throw new Error('Publish Key is not exist');\n }\n const accountsSignInUrl = `${accountsBaseUrl}/sign-in`;\n\n let redirect = null;\n if (signInUrl) {\n redirect = redirectAdapter(buildUrl(baseUrl, signInUrl));\n } else {\n redirect = redirectAdapter(\n buildUrl(null, accountsSignInUrl, returnBackUrl)\n );\n }\n\n return redirect;\n };\n\n return { redirectToSignUp, redirectToSignIn };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAoC;AAMpC,MAAM,WAAW,CACf,UACA,YACA,mBACG;AACH,MAAI,CAAC,CAAC,UAAU;AACd,UAAM,UAAU,IAAI,IAAI,QAAQ;AAChC,UAAM,gBAAgB,iBAClB,IAAI,IAAI,gBAAgB,OAAO,IAC/B;AACJ,UAAM,MAAM,IAAI,IAAI,YAAY,OAAO;AAEvC,QAAI,eAAe;AACjB,UAAI,aAAa,IAAI,gBAAgB,cAAc,SAAS,CAAC;AAAA,IAC/D;AACA,WAAO,IAAI,SAAS;AAAA,EACtB,OAAO;AACL,UAAM,gBAAgB,iBAAiB,IAAI,IAAI,cAAc,IAAI;AACjE,UAAM,MAAM,IAAI,IAAI,UAAU;AAE9B,QAAI,eAAe;AACjB,UAAI,aAAa,IAAI,gBAAgB,cAAc,SAAS,CAAC;AAAA,IAC/D;AACA,WAAO,IAAI,SAAS;AAAA,EACtB;AACF;AAEA,MAAM,uBAAuB,CAAC,gBAA+B;AAC3D,MAAI,CAAC,aAAa;AAChB,WAAO;AAAA,EACT;AAGA,QAAM,kBAAkB;AACxB,SAAO,WAAW,eAAe;AACnC;AAgBO,MAAM,iBAAiC,CAAC,WAAW;AACxD,QAAM,EAAE,gBAAgB,iBAAiB,WAAW,WAAW,QAAQ,IACrE;AACF,QAAM,kBAAc,gCAAoB,cAAc;AACtD,QAAM,kBAAkB,qBAAqB,WAAW;AAExD,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,aAAa,CAAC,iBAAiB;AAClC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,UAAM,oBAAoB,GAAG,eAAe;AAC5C,QAAI,WAAW;AAEf,QAAI,WAAW;AACb,iBAAW,gBAAgB,SAAS,SAAS,SAAS,CAAC;AAAA,IACzD,OAAO;AACL,iBAAW;AAAA,QACT,SAAS,MAAM,mBAAmB,aAAa;AAAA,MACjD;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAEA,QAAM,mBAAmB,CAAC,EAAE,cAAc,IAAsB,CAAC,MAAM;AACrE,QAAI,CAAC,aAAa,CAAC,iBAAiB;AAClC,YAAM,IAAI,MAAM,0BAA0B;AAAA,IAC5C;AACA,UAAM,oBAAoB,GAAG,eAAe;AAE5C,QAAI,WAAW;AACf,QAAI,WAAW;AACb,iBAAW,gBAAgB,SAAS,SAAS,SAAS,CAAC;AAAA,IACzD,OAAO;AACL,iBAAW;AAAA,QACT,SAAS,MAAM,mBAAmB,aAAa;AAAA,MACjD;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAEA,SAAO,EAAE,kBAAkB,iBAAiB;AAC9C;","names":[]}