@neuctra/authix 1.2.34 → 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 +2 -2
- package/dist/neuctra-authix.es.js +1700 -1530
- package/dist/neuctra-authix.umd.js +70 -70
- package/dist/sdk/index.d.ts +105 -5
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/interfaces.d.ts +31 -5
- package/dist/sdk/interfaces.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/sdk/index.d.ts
CHANGED
|
@@ -3,14 +3,21 @@ import { AddUserDataParams, AppDataItem, ChangePasswordParams, CheckSessionRespo
|
|
|
3
3
|
* Main SDK class for interacting with Neuctra Authix API
|
|
4
4
|
*/
|
|
5
5
|
export declare class NeuctraAuthix {
|
|
6
|
-
private appName
|
|
6
|
+
private appName?;
|
|
7
7
|
private baseUrl;
|
|
8
8
|
private apiKey;
|
|
9
|
+
/** Which credential this instance holds. Drives error messages and warnings. */
|
|
10
|
+
readonly keyType: "publishable" | "secret" | null;
|
|
9
11
|
private appId;
|
|
10
12
|
private client;
|
|
11
13
|
/**
|
|
12
|
-
* Initialize the SDK client
|
|
13
|
-
*
|
|
14
|
+
* Initialize the SDK client.
|
|
15
|
+
*
|
|
16
|
+
* Provide exactly one credential:
|
|
17
|
+
* • `publishableKey` (`pk_live_…`) for browser and mobile code
|
|
18
|
+
* • `secretKey` (`sk_live_…`) for server code only
|
|
19
|
+
*
|
|
20
|
+
* @param config configuration object with baseUrl, one key, and appId
|
|
14
21
|
*/
|
|
15
22
|
constructor(config: NeuctraAuthixConfig);
|
|
16
23
|
/**
|
|
@@ -117,26 +124,100 @@ export declare class NeuctraAuthix {
|
|
|
117
124
|
addUserData(params: AddUserDataParams): Promise<any>;
|
|
118
125
|
getUserData<T = any>(params: GetUserAllDataParams): Promise<GetUserDataResponse<T>>;
|
|
119
126
|
getSingleUserData(params: GetSingleUserDataParams): Promise<any>;
|
|
127
|
+
/**
|
|
128
|
+
* Search one user's records.
|
|
129
|
+
*
|
|
130
|
+
* Results are paginated. `limit` defaults to 20 and is capped at 100 by the
|
|
131
|
+
* server — follow `nextCursor` to read further rather than expecting the
|
|
132
|
+
* whole set in one response.
|
|
133
|
+
*/
|
|
120
134
|
searchInUserData(params: {
|
|
121
135
|
userId: string;
|
|
122
136
|
category?: string;
|
|
123
137
|
q?: string;
|
|
124
138
|
keys?: Record<string, any>;
|
|
139
|
+
limit?: number;
|
|
140
|
+
cursor?: string;
|
|
141
|
+
}): Promise<any>;
|
|
142
|
+
/**
|
|
143
|
+
* Walk every page of a user's records, yielding one page at a time.
|
|
144
|
+
*
|
|
145
|
+
* Prefer this over trying to fetch everything at once — the server no longer
|
|
146
|
+
* returns unbounded result sets.
|
|
147
|
+
*
|
|
148
|
+
* for await (const page of authix.iterateUserData({ userId })) {
|
|
149
|
+
* page.data.forEach(process);
|
|
150
|
+
* }
|
|
151
|
+
*/
|
|
152
|
+
iterateUserData(params: {
|
|
153
|
+
userId: string;
|
|
154
|
+
category?: string;
|
|
155
|
+
limit?: number;
|
|
156
|
+
}): AsyncGenerator<GetUserDataResponse, void, unknown>;
|
|
157
|
+
/**
|
|
158
|
+
* Update one record.
|
|
159
|
+
*
|
|
160
|
+
* Pass `version` (from a previous read) for optimistic concurrency: if the
|
|
161
|
+
* record changed in the meantime the call rejects with a 409 instead of
|
|
162
|
+
* silently overwriting the other writer's change.
|
|
163
|
+
*/
|
|
164
|
+
updateUserData(params: UpdateUserDataParams & {
|
|
165
|
+
version?: number;
|
|
125
166
|
}): Promise<any>;
|
|
126
|
-
updateUserData(params: UpdateUserDataParams): Promise<any>;
|
|
127
167
|
deleteUserData(params: DeleteUserDataParams): Promise<any>;
|
|
168
|
+
/**
|
|
169
|
+
* Delete several records in one transaction.
|
|
170
|
+
* Up to 100 ids per call; either all are removed or none are.
|
|
171
|
+
*/
|
|
172
|
+
deleteManyUserData(params: {
|
|
173
|
+
userId: string;
|
|
174
|
+
dataIds: string[];
|
|
175
|
+
}): Promise<any>;
|
|
176
|
+
/**
|
|
177
|
+
* Apply several create / update / delete operations atomically.
|
|
178
|
+
*
|
|
179
|
+
* Either every operation commits or none do — use this when two records must
|
|
180
|
+
* change together, e.g. deducting stock while recording an order.
|
|
181
|
+
*
|
|
182
|
+
* await authix.batch({
|
|
183
|
+
* userId,
|
|
184
|
+
* operations: [
|
|
185
|
+
* { type: "create", dataCategory: "orders", total: 40 },
|
|
186
|
+
* { type: "update", id: stockId, version: 3, remaining: 9 },
|
|
187
|
+
* { type: "delete", id: draftId },
|
|
188
|
+
* ],
|
|
189
|
+
* });
|
|
190
|
+
*
|
|
191
|
+
* Up to 50 operations per call. A version mismatch or a missing record aborts
|
|
192
|
+
* the whole batch and nothing is written.
|
|
193
|
+
*/
|
|
194
|
+
batch(params: {
|
|
195
|
+
userId: string;
|
|
196
|
+
operations: Array<Record<string, any>>;
|
|
197
|
+
}): Promise<any>;
|
|
128
198
|
addAppData(params: {
|
|
129
199
|
dataCategory: string;
|
|
130
200
|
data: Record<string, any>;
|
|
131
201
|
}): Promise<AppDataItem>;
|
|
132
|
-
|
|
202
|
+
/**
|
|
203
|
+
* Read app-wide data. Paginated: `limit` defaults to 20, capped at 100.
|
|
204
|
+
* Follow `nextCursor` for further pages.
|
|
205
|
+
*/
|
|
206
|
+
getAppData(categoryOrOptions?: string | {
|
|
207
|
+
category?: string;
|
|
208
|
+
limit?: number;
|
|
209
|
+
cursor?: string;
|
|
210
|
+
}): Promise<any>;
|
|
133
211
|
getSingleAppData(params: {
|
|
134
212
|
dataId: string;
|
|
135
213
|
}): Promise<AppDataItem>;
|
|
214
|
+
/** Search app-wide data. Paginated — follow `nextCursor`. */
|
|
136
215
|
searchInAppData(params: {
|
|
137
216
|
category?: string;
|
|
138
217
|
q?: string;
|
|
139
218
|
keys?: Record<string, any>;
|
|
219
|
+
limit?: number;
|
|
220
|
+
cursor?: string;
|
|
140
221
|
}): Promise<any>;
|
|
141
222
|
updateAppData(params: {
|
|
142
223
|
dataId: string;
|
|
@@ -149,19 +230,38 @@ export declare class NeuctraAuthix {
|
|
|
149
230
|
cursor?: string;
|
|
150
231
|
limit?: number;
|
|
151
232
|
}): Promise<any>;
|
|
233
|
+
/**
|
|
234
|
+
* Search users across the app. Requires a secret key.
|
|
235
|
+
*
|
|
236
|
+
* Only these fields may be filtered on: id, username, name, email, phone,
|
|
237
|
+
* address, role, isVerified, isActive. Anything else is rejected with a 400 —
|
|
238
|
+
* credentials are deliberately unreachable.
|
|
239
|
+
*
|
|
240
|
+
* Paginated: `limit` defaults to 20, capped at 100.
|
|
241
|
+
*/
|
|
152
242
|
searchInAllAppUsers(params?: {
|
|
153
243
|
q?: string;
|
|
154
244
|
keys?: Record<string, any>;
|
|
245
|
+
limit?: number;
|
|
246
|
+
cursor?: string;
|
|
155
247
|
}): Promise<any>;
|
|
156
248
|
getAllUsersDataFromApp(params?: {
|
|
157
249
|
category?: string;
|
|
158
250
|
cursor?: string;
|
|
159
251
|
limit?: number;
|
|
160
252
|
}): Promise<any>;
|
|
253
|
+
/**
|
|
254
|
+
* Search across every user's records in the app. Requires a secret key.
|
|
255
|
+
*
|
|
256
|
+
* `keys` becomes a jsonb containment query and `q` a trigram substring match,
|
|
257
|
+
* both index-backed in Postgres. Paginated — follow `nextCursor`.
|
|
258
|
+
*/
|
|
161
259
|
searchInAllAppUsersData(params?: {
|
|
162
260
|
category?: string;
|
|
163
261
|
q?: string;
|
|
164
262
|
keys?: Record<string, any>;
|
|
263
|
+
limit?: number;
|
|
264
|
+
cursor?: string;
|
|
165
265
|
}): Promise<any>;
|
|
166
266
|
}
|
|
167
267
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/sdk/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAMhB,uBAAuB,EACvB,oBAAoB,EAEpB,mBAAmB,EACnB,WAAW,EACX,mBAAmB,EAEnB,YAAY,EACZ,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/sdk/index.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/interfaces.d.ts
CHANGED
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import { Method } from "axios";
|
|
2
2
|
export interface NeuctraAuthixConfig {
|
|
3
|
-
appName
|
|
3
|
+
appName?: string;
|
|
4
4
|
/** Base URL of the Authix API (required) */
|
|
5
5
|
baseUrl: string;
|
|
6
|
-
/**
|
|
7
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Publishable key (`pk_live_…`). Safe to ship in browser and mobile code.
|
|
8
|
+
*
|
|
9
|
+
* Scope: sign up, sign in, email verification, password reset, and reading
|
|
10
|
+
* or writing the data of the user who is currently signed in. It cannot list
|
|
11
|
+
* your users, manage apps, or reach your account.
|
|
12
|
+
*/
|
|
13
|
+
publishableKey?: string;
|
|
14
|
+
/**
|
|
15
|
+
* Secret key (`sk_live_…`). Server-side only — it carries full authority
|
|
16
|
+
* over every app, user, and record on your account.
|
|
17
|
+
*
|
|
18
|
+
* Never place this in code that is bundled for a browser: anything shipped
|
|
19
|
+
* to a client is public, including environment variables.
|
|
20
|
+
*/
|
|
21
|
+
secretKey?: string;
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Removed in v2. Replaced by `publishableKey` for client code and
|
|
24
|
+
* `secretKey` for server code. Passing this now throws, because the old
|
|
25
|
+
* single-key model made it impossible to tell a browser-safe credential from
|
|
26
|
+
* a privileged one — and the quickstart shipped the privileged one.
|
|
27
|
+
*/
|
|
28
|
+
apiKey?: never;
|
|
8
29
|
/** App ID for scoping user operations */
|
|
9
30
|
appId: string;
|
|
10
31
|
}
|
|
@@ -30,9 +51,13 @@ export interface UpdateUserParams {
|
|
|
30
51
|
*/
|
|
31
52
|
userId: string;
|
|
32
53
|
/**
|
|
33
|
-
*
|
|
54
|
+
* App scope for the update.
|
|
55
|
+
*
|
|
56
|
+
* Optional: the SDK injects the `appId` from your config on every request,
|
|
57
|
+
* so you only need to pass this to override it. It was previously typed as
|
|
58
|
+
* required, which made the bundled `UserProfile` component fail to typecheck.
|
|
34
59
|
*/
|
|
35
|
-
appId
|
|
60
|
+
appId?: string;
|
|
36
61
|
name?: string;
|
|
37
62
|
username?: string | null;
|
|
38
63
|
email?: string;
|
|
@@ -145,6 +170,7 @@ export interface GetUserAllDataParams {
|
|
|
145
170
|
limit?: number;
|
|
146
171
|
cursor?: string | null;
|
|
147
172
|
category?: string;
|
|
173
|
+
parentId?: string;
|
|
148
174
|
}
|
|
149
175
|
export interface GetUserDataResponse<T = any> {
|
|
150
176
|
success: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/sdk/interfaces.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAK/B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/sdk/interfaces.ts"],"names":[],"mappings":"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"}
|