@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 +40 -43
- package/bin/athena-js.js +0 -0
- package/dist/cli/index.cjs +1151 -67
- package/dist/cli/index.cjs.map +1 -1
- package/dist/cli/index.js +1151 -67
- package/dist/cli/index.js.map +1 -1
- package/dist/index.cjs +1592 -1000
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +21 -254
- package/dist/index.d.ts +21 -254
- package/dist/index.js +1592 -1001
- package/dist/index.js.map +1 -1
- package/dist/model-form-CVOtC8jq.d.ts +1284 -0
- package/dist/model-form-hXkvHS_3.d.cts +1284 -0
- package/dist/react.cjs +93 -0
- package/dist/react.cjs.map +1 -1
- package/dist/react.d.cts +36 -2
- package/dist/react.d.ts +36 -2
- package/dist/react.js +93 -1
- package/dist/react.js.map +1 -1
- package/package.json +16 -17
- package/dist/model-form-Bm_kqCn2.d.ts +0 -92
- package/dist/model-form-DkS48fsh.d.cts +0 -92
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# athena-js
|
|
2
2
|
|
|
3
|
-
current version: `
|
|
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 {
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
await auth.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
await auth.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
await auth.
|
|
80
|
-
await auth.
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
await auth.
|
|
84
|
-
|
|
85
|
-
|
|
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
|