hazo_auth 10.0.0 → 10.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 (52) hide show
  1. package/README.md +119 -0
  2. package/SETUP_CHECKLIST.md +18 -0
  3. package/cli-src/lib/auth/nextauth_config.ts +41 -0
  4. package/cli-src/lib/auth/request_google_scopes.ts +23 -0
  5. package/cli-src/lib/hazo_connect_instance.server.ts +16 -0
  6. package/cli-src/lib/schema/sqlite_schema.ts +16 -0
  7. package/cli-src/lib/services/google_token_service.ts +408 -0
  8. package/cli-src/lib/services/index.ts +1 -1
  9. package/dist/client.d.ts +1 -0
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +2 -0
  12. package/dist/components/layouts/google_token_test/index.d.ts +6 -0
  13. package/dist/components/layouts/google_token_test/index.d.ts.map +1 -0
  14. package/dist/components/layouts/google_token_test/index.js +74 -0
  15. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.d.ts.map +1 -1
  16. package/dist/components/layouts/shared/components/sidebar_layout_wrapper.js +2 -2
  17. package/dist/components/ui/button.d.ts +1 -1
  18. package/dist/components/ui/input-otp.d.ts +2 -2
  19. package/dist/index.d.ts +1 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +2 -0
  22. package/dist/lib/auth/nextauth_config.d.ts +2 -0
  23. package/dist/lib/auth/nextauth_config.d.ts.map +1 -1
  24. package/dist/lib/auth/nextauth_config.js +39 -1
  25. package/dist/lib/auth/request_google_scopes.d.ts +10 -0
  26. package/dist/lib/auth/request_google_scopes.d.ts.map +1 -0
  27. package/dist/lib/auth/request_google_scopes.js +13 -0
  28. package/dist/lib/hazo_connect_instance.server.d.ts +4 -0
  29. package/dist/lib/hazo_connect_instance.server.d.ts.map +1 -1
  30. package/dist/lib/hazo_connect_instance.server.js +15 -0
  31. package/dist/lib/schema/sqlite_schema.d.ts +1 -1
  32. package/dist/lib/schema/sqlite_schema.d.ts.map +1 -1
  33. package/dist/lib/schema/sqlite_schema.js +16 -0
  34. package/dist/lib/services/google_token_service.d.ts +48 -0
  35. package/dist/lib/services/google_token_service.d.ts.map +1 -0
  36. package/dist/lib/services/google_token_service.js +319 -0
  37. package/dist/lib/services/index.d.ts +1 -0
  38. package/dist/lib/services/index.d.ts.map +1 -1
  39. package/dist/lib/services/index.js +1 -0
  40. package/dist/server/routes/google_token.d.ts +13 -0
  41. package/dist/server/routes/google_token.d.ts.map +1 -0
  42. package/dist/server/routes/google_token.js +66 -0
  43. package/dist/server/routes/index.d.ts +1 -0
  44. package/dist/server/routes/index.d.ts.map +1 -1
  45. package/dist/server/routes/index.js +2 -0
  46. package/dist/server/routes/me.d.ts.map +1 -1
  47. package/dist/server/routes/me.js +3 -0
  48. package/dist/server/routes/user_management_users.d.ts +1 -1
  49. package/dist/server-lib.d.ts +1 -1
  50. package/dist/server-lib.d.ts.map +1 -1
  51. package/dist/server-lib.js +1 -1
  52. package/package.json +11 -7
@@ -0,0 +1,66 @@
1
+ import { hazo_get_auth } from "../../lib/auth/hazo_get_auth.server.js";
2
+ import { get_google_token_status, revoke_google_oauth_token, } from "../../lib/services/google_token_service.js";
3
+ import { create_app_logger } from "../../lib/app_logger.js";
4
+ // section: get_handler
5
+ /**
6
+ * GET /api/hazo_auth/google/token
7
+ * Returns the current Google OAuth token status for the authenticated user.
8
+ */
9
+ export async function GET(request) {
10
+ var _a;
11
+ const logger = create_app_logger();
12
+ try {
13
+ const auth = await hazo_get_auth(request);
14
+ if (!((_a = auth.user) === null || _a === void 0 ? void 0 : _a.id)) {
15
+ return new Response(JSON.stringify({ ok: false, error: "unauthenticated" }), {
16
+ status: 401,
17
+ headers: { "Content-Type": "application/json" },
18
+ });
19
+ }
20
+ const status = await get_google_token_status(auth.user.id);
21
+ return new Response(JSON.stringify({ ok: true, data: status }), {
22
+ status: 200,
23
+ headers: { "Content-Type": "application/json" },
24
+ });
25
+ }
26
+ catch (error) {
27
+ const msg = error instanceof Error ? error.message : String(error);
28
+ logger.error("google_token_get_error", { error: msg });
29
+ return new Response(JSON.stringify({ ok: false, error: "internal_error" }), {
30
+ status: 500,
31
+ headers: { "Content-Type": "application/json" },
32
+ });
33
+ }
34
+ }
35
+ // section: delete_handler
36
+ /**
37
+ * DELETE /api/hazo_auth/google/token
38
+ * Revokes the stored Google OAuth token for the authenticated user.
39
+ * Does NOT sign the user out.
40
+ */
41
+ export async function DELETE(request) {
42
+ var _a;
43
+ const logger = create_app_logger();
44
+ try {
45
+ const auth = await hazo_get_auth(request);
46
+ if (!((_a = auth.user) === null || _a === void 0 ? void 0 : _a.id)) {
47
+ return new Response(JSON.stringify({ ok: false, error: "unauthenticated" }), {
48
+ status: 401,
49
+ headers: { "Content-Type": "application/json" },
50
+ });
51
+ }
52
+ const result = await revoke_google_oauth_token(auth.user.id);
53
+ return new Response(JSON.stringify(result), {
54
+ status: result.ok ? 200 : 400,
55
+ headers: { "Content-Type": "application/json" },
56
+ });
57
+ }
58
+ catch (error) {
59
+ const msg = error instanceof Error ? error.message : String(error);
60
+ logger.error("google_token_delete_error", { error: msg });
61
+ return new Response(JSON.stringify({ ok: false, error: "internal_error" }), {
62
+ status: 500,
63
+ headers: { "Content-Type": "application/json" },
64
+ });
65
+ }
66
+ }
@@ -39,4 +39,5 @@ export { legalDocsAcceptPOST } from './legal_docs_accept.js';
39
39
  export { legalDocsPublishPOST } from './legal_docs_publish.js';
40
40
  export { consentMeGET } from "./consent_me.js";
41
41
  export { stringsDefaultsGET } from "./strings_defaults.js";
42
+ export { GET as googleTokenGET, DELETE as googleTokenDELETE } from "./google_token.js";
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/routes/index.ts"],"names":[],"mappings":"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"}
@@ -56,3 +56,5 @@ export { legalDocsPublishPOST } from './legal_docs_publish.js';
56
56
  export { consentMeGET } from "./consent_me.js";
57
57
  // Strings routes
58
58
  export { stringsDefaultsGET } from "./strings_defaults.js";
59
+ // Google OAuth token routes (status + revoke)
60
+ export { GET as googleTokenGET, DELETE as googleTokenDELETE } from "./google_token.js";
@@ -1 +1 @@
1
- {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/server/routes/me.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoBxD;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,WAAW;;IA+G7C"}
1
+ {"version":3,"file":"me.d.ts","sourceRoot":"","sources":["../../../src/server/routes/me.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAoBxD;;;;;GAKG;AACH,wBAAsB,GAAG,CAAC,OAAO,EAAE,WAAW;;IAiH7C"}
@@ -24,6 +24,7 @@ function strip_sentinel_email(email) {
24
24
  * Always returns the same format to prevent downstream variations.
25
25
  */
26
26
  export async function GET(request) {
27
+ var _a;
27
28
  const logger = create_app_logger();
28
29
  try {
29
30
  // Use hazo_get_auth to get user with permissions
@@ -94,6 +95,8 @@ export async function GET(request) {
94
95
  user_type_info,
95
96
  // App-specific user data (JSON object, always included)
96
97
  app_user_data: auth_result.user.app_user_data,
98
+ // Legal documents the user has accepted (map of key -> { hash, accepted_at })
99
+ legal_acceptance: (_a = auth_result.user.legal_acceptance) !== null && _a !== void 0 ? _a : null,
97
100
  // Permissions and user object (always included)
98
101
  user: auth_result.user,
99
102
  permissions: auth_result.permissions,
@@ -26,7 +26,7 @@ export declare function GET(request: NextRequest): Promise<NextResponse<{
26
26
  profile_source: {} | null;
27
27
  user_type: string | null;
28
28
  app_user_data: Record<string, unknown> | null;
29
- legal_acceptance_status: "none" | "current" | "outdated";
29
+ legal_acceptance_status: "current" | "none" | "outdated";
30
30
  }[];
31
31
  }>>;
32
32
  /**
@@ -25,7 +25,7 @@ export type { OAuthConfig } from "./lib/oauth_config.server";
25
25
  export { get_branding_config, is_branding_enabled, is_allowed_logo_format, get_max_logo_size_bytes, } from "./lib/branding_config.server.js";
26
26
  export type { FirmBrandingConfig } from "./lib/branding_config.server";
27
27
  export { create_sqlite_hazo_connect } from "./lib/hazo_connect_setup.js";
28
- export { get_hazo_connect_instance } from "./lib/hazo_connect_instance.server.js";
28
+ export { get_hazo_connect_instance, set_hazo_connect_instance, reset_hazo_connect_instance, } from "./lib/hazo_connect_instance.server.js";
29
29
  export { create_app_logger } from "./lib/app_logger.js";
30
30
  export { sanitize_error_for_user } from "./lib/utils/error_sanitizer.js";
31
31
  export type { ErrorSanitizationOptions } from "./lib/utils/error_sanitizer";
@@ -1 +1 @@
1
- {"version":3,"file":"server-lib.d.ts","sourceRoot":"","sources":["../src/server-lib.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,CAAC;AAGrB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAGrF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAG/E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,+BAA+B,CAAC"}
1
+ {"version":3,"file":"server-lib.d.ts","sourceRoot":"","sources":["../src/server-lib.ts"],"names":[],"mappings":"AAYA,OAAO,aAAa,CAAC;AAGrB,cAAc,kBAAkB,CAAC;AAGjC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wCAAwC,CAAC;AAGrF,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,mCAAmC,CAAC;AAG3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,wCAAwC,CAAC;AACvF,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACjF,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,EAAE,gCAAgC,EAAE,MAAM,2CAA2C,CAAC;AAC7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AACnC,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EACL,yBAAyB,EACzB,yBAAyB,EACzB,2BAA2B,GAC5B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAGrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,YAAY,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAC5E,cAAc,+BAA+B,CAAC"}
@@ -39,7 +39,7 @@ export { get_oauth_config, is_google_oauth_enabled, is_email_password_enabled, }
39
39
  export { get_branding_config, is_branding_enabled, is_allowed_logo_format, get_max_logo_size_bytes, } from "./lib/branding_config.server.js";
40
40
  // section: hazo_connect_exports
41
41
  export { create_sqlite_hazo_connect } from "./lib/hazo_connect_setup.js";
42
- export { get_hazo_connect_instance } from "./lib/hazo_connect_instance.server.js";
42
+ export { get_hazo_connect_instance, set_hazo_connect_instance, reset_hazo_connect_instance, } from "./lib/hazo_connect_instance.server.js";
43
43
  // section: logger_exports
44
44
  export { create_app_logger } from "./lib/app_logger.js";
45
45
  // section: util_exports
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hazo_auth",
3
- "version": "10.0.0",
3
+ "version": "10.2.0",
4
4
  "description": "Zero-config authentication UI components for Next.js with RBAC, OAuth, scope-based multi-tenancy, and invitations",
5
5
  "keywords": [
6
6
  "authentication",
@@ -252,13 +252,14 @@
252
252
  "@radix-ui/react-switch": "^1.2.0",
253
253
  "@radix-ui/react-tabs": "^1.1.0",
254
254
  "@radix-ui/react-tooltip": "^1.2.0",
255
- "hazo_api": "^2.3.1",
255
+ "hazo_api": "^2.4.0",
256
256
  "hazo_config": "^2.1.10",
257
- "hazo_connect": "^3.4.1",
257
+ "hazo_connect": "^3.6.0",
258
258
  "hazo_core": "^1.1.0",
259
259
  "hazo_logs": "^2.0.3",
260
260
  "hazo_notify": "^6.1.3",
261
- "hazo_ui": "^3.2.1",
261
+ "hazo_secure": "^1.1.0",
262
+ "hazo_ui": "^4.0.0",
262
263
  "input-otp": "^1.4.0",
263
264
  "lucide-react": "^0.553.0",
264
265
  "next": "^14.0.0",
@@ -287,6 +288,9 @@
287
288
  "hazo_notify": {
288
289
  "optional": true
289
290
  },
291
+ "hazo_secure": {
292
+ "optional": true
293
+ },
290
294
  "hazo_ui": {
291
295
  "optional": true
292
296
  },
@@ -388,13 +392,13 @@
388
392
  "eslint": "^9.39.1",
389
393
  "eslint-config-next": "^16.0.4",
390
394
  "eslint-plugin-storybook": "^10.0.6",
391
- "hazo_api": "^2.3.1",
395
+ "hazo_api": "^2.4.0",
392
396
  "hazo_config": "^2.1.10",
393
- "hazo_connect": "^3.4.1",
397
+ "hazo_connect": "^3.6.0",
394
398
  "hazo_core": "^1.1.0",
395
399
  "hazo_logs": "^2.0.3",
396
400
  "hazo_notify": "^6.1.3",
397
- "hazo_ui": "^3.2.1",
401
+ "hazo_ui": "^4.0.0",
398
402
  "input-otp": "^1.4.0",
399
403
  "jest": "^30.2.0",
400
404
  "jest-environment-jsdom": "^30.0.0",