@xylex-group/athena 1.9.0 → 2.0.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # athena-js
2
2
 
3
- current version: `1.9.0`
3
+ current version: `2.0.0`
4
4
  `@xylex-group/athena` is a database driver and API gateway SDK that lets you interact with SQL backends over HTTP through a fluent builder API. It ships a typed query builder for Node.js / server environments plus Athena-native React hooks for client-side use.
5
5
 
6
6
  ## Install
@@ -45,48 +45,45 @@ if (error) {
45
45
 
46
46
  ### Auth client (Athena Auth server)
47
47
 
48
- If your auth backend is now Athena Auth, you can keep core login/session flows in this SDK:
49
-
50
- ```ts
51
- import { createAuthClient } from "@xylex-group/athena";
52
-
53
- const auth = createAuthClient({
54
- baseUrl: "http://localhost:3001/api/auth",
55
- // optional: bearer token if you are not using cookie-based sessions
56
- bearerToken: process.env.AUTH_BEARER_TOKEN,
57
- });
58
-
59
- const login = await auth.signIn.email({
60
- email: "demo@example.com",
61
- password: "super-secret",
62
- rememberMe: true,
63
- });
64
-
65
- const session = await auth.getSession();
66
- const sessions = await auth.listSessions();
67
-
68
- // clear one session
69
- await auth.revokeSession({ token: "session_token_here" });
70
- // or clear all sessions
71
- await auth.revokeSessions();
72
-
73
- await auth.signOut();
74
-
75
- // additional core flows
76
- await auth.forgetPassword({ email: "demo@example.com", redirectTo: "https://app/reset-password" });
77
- await auth.resetPassword({ newPassword: "new-secret", token: "reset_token" });
78
- await auth.verifyEmail({ token: "verify_token", callbackURL: "https://app/verified" });
79
- await auth.changePassword({ currentPassword: "old-secret", newPassword: "new-secret" });
80
- await auth.updateUser({ name: "Demo User" });
81
-
82
- // escape hatch for any endpoint on your Athena Auth instance
83
- await auth.request({
84
- endpoint: "/ok",
85
- query: { ping: "pong" },
86
- });
87
- ```
88
-
89
- Auth responses follow the same envelope style: `{ ok, status, data, error, errorDetails, raw }`.
48
+ If your auth backend is now Athena Auth, you can keep core login/session flows in this SDK:
49
+
50
+ ```ts
51
+ import { createClient } from "@xylex-group/athena";
52
+
53
+ const athena = createClient(ATHENA_URL, ATHENA_API_KEY, {
54
+ client: "CLIENT_NAME",
55
+ auth: {
56
+ baseUrl: "http://localhost:3001/api/auth",
57
+ // optional: bearer token if you are not using cookie-based sessions
58
+ bearerToken: process.env.AUTH_BEARER_TOKEN,
59
+ },
60
+ });
61
+
62
+ const login = await athena.auth.signIn.email({
63
+ email: "demo@example.com",
64
+ password: "super-secret",
65
+ rememberMe: true,
66
+ });
67
+
68
+ const session = await athena.auth.getSession();
69
+ const sessions = await athena.auth.session.list();
70
+
71
+ // clear one session
72
+ await athena.auth.session.revoke({ token: "session_token_here" });
73
+ // or clear all sessions
74
+ await athena.auth.session.revoke([{ token: "session_token_here" }, { token: "session_token_2" }]);
75
+
76
+ await athena.auth.signOut();
77
+
78
+ // additional core flows
79
+ await athena.auth.forgetPassword({ email: "demo@example.com", redirectTo: "https://app/reset-password" });
80
+ await athena.auth.resetPassword({ newPassword: "new-secret", token: "reset_token" });
81
+ await athena.auth.verifyEmail({ token: "verify_token", callbackURL: "https://app/verified" });
82
+ await athena.auth.changePassword({ currentPassword: "old-secret", newPassword: "new-secret" });
83
+ await athena.auth.user.update({ name: "Demo User" });
84
+ ```
85
+
86
+ Auth responses follow the same envelope style: `{ ok, status, data, error, errorDetails, raw }`.
90
87
 
91
88
  ### Typed schema registry (model-first)
92
89
 
package/bin/athena-js.js CHANGED
File without changes