@neuctra/authix 1.2.34 → 2.0.1
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 +7 -3
- package/dist/neuctra-authix.es.js +1314 -1173
- package/dist/neuctra-authix.umd.js +48 -48
- package/dist/sdk/index.d.ts +101 -5
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/interfaces.d.ts +9 -4
- package/dist/sdk/interfaces.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/sdk/index.d.ts
CHANGED
|
@@ -3,14 +3,17 @@ 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
9
|
private appId;
|
|
10
10
|
private client;
|
|
11
11
|
/**
|
|
12
|
-
* Initialize the SDK client
|
|
13
|
-
*
|
|
12
|
+
* Initialize the SDK client.
|
|
13
|
+
*
|
|
14
|
+
* Provide an account API key. It has full authority and must remain server-side.
|
|
15
|
+
*
|
|
16
|
+
* @param config configuration object with baseUrl, one key, and appId
|
|
14
17
|
*/
|
|
15
18
|
constructor(config: NeuctraAuthixConfig);
|
|
16
19
|
/**
|
|
@@ -117,26 +120,100 @@ export declare class NeuctraAuthix {
|
|
|
117
120
|
addUserData(params: AddUserDataParams): Promise<any>;
|
|
118
121
|
getUserData<T = any>(params: GetUserAllDataParams): Promise<GetUserDataResponse<T>>;
|
|
119
122
|
getSingleUserData(params: GetSingleUserDataParams): Promise<any>;
|
|
123
|
+
/**
|
|
124
|
+
* Search one user's records.
|
|
125
|
+
*
|
|
126
|
+
* Results are paginated. `limit` defaults to 20 and is capped at 100 by the
|
|
127
|
+
* server — follow `nextCursor` to read further rather than expecting the
|
|
128
|
+
* whole set in one response.
|
|
129
|
+
*/
|
|
120
130
|
searchInUserData(params: {
|
|
121
131
|
userId: string;
|
|
122
132
|
category?: string;
|
|
123
133
|
q?: string;
|
|
124
134
|
keys?: Record<string, any>;
|
|
135
|
+
limit?: number;
|
|
136
|
+
cursor?: string;
|
|
137
|
+
}): Promise<any>;
|
|
138
|
+
/**
|
|
139
|
+
* Walk every page of a user's records, yielding one page at a time.
|
|
140
|
+
*
|
|
141
|
+
* Prefer this over trying to fetch everything at once — the server no longer
|
|
142
|
+
* returns unbounded result sets.
|
|
143
|
+
*
|
|
144
|
+
* for await (const page of authix.iterateUserData({ userId })) {
|
|
145
|
+
* page.data.forEach(process);
|
|
146
|
+
* }
|
|
147
|
+
*/
|
|
148
|
+
iterateUserData(params: {
|
|
149
|
+
userId: string;
|
|
150
|
+
category?: string;
|
|
151
|
+
limit?: number;
|
|
152
|
+
}): AsyncGenerator<GetUserDataResponse, void, unknown>;
|
|
153
|
+
/**
|
|
154
|
+
* Update one record.
|
|
155
|
+
*
|
|
156
|
+
* Pass `version` (from a previous read) for optimistic concurrency: if the
|
|
157
|
+
* record changed in the meantime the call rejects with a 409 instead of
|
|
158
|
+
* silently overwriting the other writer's change.
|
|
159
|
+
*/
|
|
160
|
+
updateUserData(params: UpdateUserDataParams & {
|
|
161
|
+
version?: number;
|
|
125
162
|
}): Promise<any>;
|
|
126
|
-
updateUserData(params: UpdateUserDataParams): Promise<any>;
|
|
127
163
|
deleteUserData(params: DeleteUserDataParams): Promise<any>;
|
|
164
|
+
/**
|
|
165
|
+
* Delete several records in one transaction.
|
|
166
|
+
* Up to 100 ids per call; either all are removed or none are.
|
|
167
|
+
*/
|
|
168
|
+
deleteManyUserData(params: {
|
|
169
|
+
userId: string;
|
|
170
|
+
dataIds: string[];
|
|
171
|
+
}): Promise<any>;
|
|
172
|
+
/**
|
|
173
|
+
* Apply several create / update / delete operations atomically.
|
|
174
|
+
*
|
|
175
|
+
* Either every operation commits or none do — use this when two records must
|
|
176
|
+
* change together, e.g. deducting stock while recording an order.
|
|
177
|
+
*
|
|
178
|
+
* await authix.batch({
|
|
179
|
+
* userId,
|
|
180
|
+
* operations: [
|
|
181
|
+
* { type: "create", dataCategory: "orders", total: 40 },
|
|
182
|
+
* { type: "update", id: stockId, version: 3, remaining: 9 },
|
|
183
|
+
* { type: "delete", id: draftId },
|
|
184
|
+
* ],
|
|
185
|
+
* });
|
|
186
|
+
*
|
|
187
|
+
* Up to 50 operations per call. A version mismatch or a missing record aborts
|
|
188
|
+
* the whole batch and nothing is written.
|
|
189
|
+
*/
|
|
190
|
+
batch(params: {
|
|
191
|
+
userId: string;
|
|
192
|
+
operations: Array<Record<string, any>>;
|
|
193
|
+
}): Promise<any>;
|
|
128
194
|
addAppData(params: {
|
|
129
195
|
dataCategory: string;
|
|
130
196
|
data: Record<string, any>;
|
|
131
197
|
}): Promise<AppDataItem>;
|
|
132
|
-
|
|
198
|
+
/**
|
|
199
|
+
* Read app-wide data. Paginated: `limit` defaults to 20, capped at 100.
|
|
200
|
+
* Follow `nextCursor` for further pages.
|
|
201
|
+
*/
|
|
202
|
+
getAppData(categoryOrOptions?: string | {
|
|
203
|
+
category?: string;
|
|
204
|
+
limit?: number;
|
|
205
|
+
cursor?: string;
|
|
206
|
+
}): Promise<any>;
|
|
133
207
|
getSingleAppData(params: {
|
|
134
208
|
dataId: string;
|
|
135
209
|
}): Promise<AppDataItem>;
|
|
210
|
+
/** Search app-wide data. Paginated — follow `nextCursor`. */
|
|
136
211
|
searchInAppData(params: {
|
|
137
212
|
category?: string;
|
|
138
213
|
q?: string;
|
|
139
214
|
keys?: Record<string, any>;
|
|
215
|
+
limit?: number;
|
|
216
|
+
cursor?: string;
|
|
140
217
|
}): Promise<any>;
|
|
141
218
|
updateAppData(params: {
|
|
142
219
|
dataId: string;
|
|
@@ -149,19 +226,38 @@ export declare class NeuctraAuthix {
|
|
|
149
226
|
cursor?: string;
|
|
150
227
|
limit?: number;
|
|
151
228
|
}): Promise<any>;
|
|
229
|
+
/**
|
|
230
|
+
* Search users across the app. Requires an API key.
|
|
231
|
+
*
|
|
232
|
+
* Only these fields may be filtered on: id, username, name, email, phone,
|
|
233
|
+
* address, role, isVerified, isActive. Anything else is rejected with a 400 —
|
|
234
|
+
* credentials are deliberately unreachable.
|
|
235
|
+
*
|
|
236
|
+
* Paginated: `limit` defaults to 20, capped at 100.
|
|
237
|
+
*/
|
|
152
238
|
searchInAllAppUsers(params?: {
|
|
153
239
|
q?: string;
|
|
154
240
|
keys?: Record<string, any>;
|
|
241
|
+
limit?: number;
|
|
242
|
+
cursor?: string;
|
|
155
243
|
}): Promise<any>;
|
|
156
244
|
getAllUsersDataFromApp(params?: {
|
|
157
245
|
category?: string;
|
|
158
246
|
cursor?: string;
|
|
159
247
|
limit?: number;
|
|
160
248
|
}): Promise<any>;
|
|
249
|
+
/**
|
|
250
|
+
* Search across every user's records in the app. Requires an API key.
|
|
251
|
+
*
|
|
252
|
+
* `keys` becomes a jsonb containment query and `q` a trigram substring match,
|
|
253
|
+
* both index-backed in Postgres. Paginated — follow `nextCursor`.
|
|
254
|
+
*/
|
|
161
255
|
searchInAllAppUsersData(params?: {
|
|
162
256
|
category?: string;
|
|
163
257
|
q?: string;
|
|
164
258
|
keys?: Record<string, any>;
|
|
259
|
+
limit?: number;
|
|
260
|
+
cursor?: string;
|
|
165
261
|
}): Promise<any>;
|
|
166
262
|
}
|
|
167
263
|
//# 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;AAEzB;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,OAAO,CAAS;
|
|
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,9 +1,9 @@
|
|
|
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
|
-
/** API key
|
|
6
|
+
/** Account API key. Full account authority; server-side only. */
|
|
7
7
|
apiKey: string;
|
|
8
8
|
/** App ID for scoping user operations */
|
|
9
9
|
appId: string;
|
|
@@ -30,9 +30,13 @@ export interface UpdateUserParams {
|
|
|
30
30
|
*/
|
|
31
31
|
userId: string;
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* App scope for the update.
|
|
34
|
+
*
|
|
35
|
+
* Optional: the SDK injects the `appId` from your config on every request,
|
|
36
|
+
* so you only need to pass this to override it. It was previously typed as
|
|
37
|
+
* required, which made the bundled `UserProfile` component fail to typecheck.
|
|
34
38
|
*/
|
|
35
|
-
appId
|
|
39
|
+
appId?: string;
|
|
36
40
|
name?: string;
|
|
37
41
|
username?: string | null;
|
|
38
42
|
email?: string;
|
|
@@ -145,6 +149,7 @@ export interface GetUserAllDataParams {
|
|
|
145
149
|
limit?: number;
|
|
146
150
|
cursor?: string | null;
|
|
147
151
|
category?: string;
|
|
152
|
+
parentId?: string;
|
|
148
153
|
}
|
|
149
154
|
export interface GetUserDataResponse<T = any> {
|
|
150
155
|
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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"}
|