@taruvi/refine-providers 1.1.3 → 1.1.6
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/dist/index.cjs +41 -48
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +7 -30
- package/dist/index.d.ts +7 -30
- package/dist/index.js +41 -21
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DataProvider, AuthProvider, AccessControlProvider, MetaQuery, CrudFilter, CrudSort, Pagination } from '@refinedev/core';
|
|
2
|
-
import { Client
|
|
3
|
-
export { Analytics, AnalyticsRequest, AnalyticsResponse, App, Auth, Client, Functions, Policy, RoleResponse, TaruviConfig, User, UserDataResponse } from '@taruvi/sdk';
|
|
2
|
+
import { Client } from '@taruvi/sdk';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* Creates a Refine DataProvider for Taruvi database operations.
|
|
@@ -64,7 +63,7 @@ declare function appDataProvider(client: Client): DataProvider;
|
|
|
64
63
|
* Supported resources:
|
|
65
64
|
* - "users" (getList): Fetch list of users with filtering/pagination
|
|
66
65
|
* - "users" (getOne): Fetch a specific user by username/id
|
|
67
|
-
* - "
|
|
66
|
+
* - "roles" (getList): Fetch roles for a specific user (requires meta.username)
|
|
68
67
|
*
|
|
69
68
|
* @example
|
|
70
69
|
* ```typescript
|
|
@@ -87,11 +86,11 @@ declare function appDataProvider(client: Client): DataProvider;
|
|
|
87
86
|
* id: "john_doe",
|
|
88
87
|
* });
|
|
89
88
|
*
|
|
90
|
-
* // Get
|
|
91
|
-
* const { data } =
|
|
89
|
+
* // Get roles for a specific user
|
|
90
|
+
* const { data } = useList({
|
|
92
91
|
* dataProviderName: "user",
|
|
93
|
-
* resource: "
|
|
94
|
-
*
|
|
92
|
+
* resource: "roles",
|
|
93
|
+
* meta: { username: "john_doe" },
|
|
95
94
|
* });
|
|
96
95
|
* ```
|
|
97
96
|
*/
|
|
@@ -106,28 +105,6 @@ interface AnalyticsMeta {
|
|
|
106
105
|
}
|
|
107
106
|
declare function analyticsDataProvider(client: Client): DataProvider;
|
|
108
107
|
|
|
109
|
-
/**
|
|
110
|
-
* User identity returned from getCurrentUser API
|
|
111
|
-
*/
|
|
112
|
-
interface TaruviUser {
|
|
113
|
-
id: number;
|
|
114
|
-
username: string;
|
|
115
|
-
email: string;
|
|
116
|
-
first_name: string;
|
|
117
|
-
last_name: string;
|
|
118
|
-
full_name: string;
|
|
119
|
-
is_active: boolean;
|
|
120
|
-
is_staff: boolean;
|
|
121
|
-
is_superuser: boolean;
|
|
122
|
-
is_deleted: boolean;
|
|
123
|
-
date_joined: string;
|
|
124
|
-
last_login: string;
|
|
125
|
-
groups: UserGroup[];
|
|
126
|
-
user_permissions: UserPermission[];
|
|
127
|
-
attributes: Record<string, unknown>;
|
|
128
|
-
missing_attributes: string[];
|
|
129
|
-
roles: UserRole[];
|
|
130
|
-
}
|
|
131
108
|
/**
|
|
132
109
|
* Login params - supports both redirect flow and credentials flow
|
|
133
110
|
*/
|
|
@@ -280,4 +257,4 @@ declare function buildQueryString(params?: Record<string, unknown>): string;
|
|
|
280
257
|
*/
|
|
281
258
|
declare function handleError(error: unknown): never;
|
|
282
259
|
|
|
283
|
-
export { type AnalyticsMeta, type FunctionMeta, type LoginParams, type LogoutParams, REFINE_OPERATOR_MAP, type RegisterParams, type StorageUploadVariables, type TaruviListResponse, type TaruviMeta,
|
|
260
|
+
export { type AnalyticsMeta, type FunctionMeta, type LoginParams, type LogoutParams, REFINE_OPERATOR_MAP, type RegisterParams, type StorageUploadVariables, type TaruviListResponse, type TaruviMeta, accessControlProvider, analyticsDataProvider, appDataProvider, authProvider, buildQueryString, buildRefineQueryParams, convertRefineFilters, convertRefinePagination, convertRefineSorters, dataProvider, functionsDataProvider, handleError, storageDataProvider, userDataProvider };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DataProvider, AuthProvider, AccessControlProvider, MetaQuery, CrudFilter, CrudSort, Pagination } from '@refinedev/core';
|
|
2
|
-
import { Client
|
|
3
|
-
export { Analytics, AnalyticsRequest, AnalyticsResponse, App, Auth, Client, Functions, Policy, RoleResponse, TaruviConfig, User, UserDataResponse } from '@taruvi/sdk';
|
|
2
|
+
import { Client } from '@taruvi/sdk';
|
|
4
3
|
|
|
5
4
|
/**
|
|
6
5
|
* Creates a Refine DataProvider for Taruvi database operations.
|
|
@@ -64,7 +63,7 @@ declare function appDataProvider(client: Client): DataProvider;
|
|
|
64
63
|
* Supported resources:
|
|
65
64
|
* - "users" (getList): Fetch list of users with filtering/pagination
|
|
66
65
|
* - "users" (getOne): Fetch a specific user by username/id
|
|
67
|
-
* - "
|
|
66
|
+
* - "roles" (getList): Fetch roles for a specific user (requires meta.username)
|
|
68
67
|
*
|
|
69
68
|
* @example
|
|
70
69
|
* ```typescript
|
|
@@ -87,11 +86,11 @@ declare function appDataProvider(client: Client): DataProvider;
|
|
|
87
86
|
* id: "john_doe",
|
|
88
87
|
* });
|
|
89
88
|
*
|
|
90
|
-
* // Get
|
|
91
|
-
* const { data } =
|
|
89
|
+
* // Get roles for a specific user
|
|
90
|
+
* const { data } = useList({
|
|
92
91
|
* dataProviderName: "user",
|
|
93
|
-
* resource: "
|
|
94
|
-
*
|
|
92
|
+
* resource: "roles",
|
|
93
|
+
* meta: { username: "john_doe" },
|
|
95
94
|
* });
|
|
96
95
|
* ```
|
|
97
96
|
*/
|
|
@@ -106,28 +105,6 @@ interface AnalyticsMeta {
|
|
|
106
105
|
}
|
|
107
106
|
declare function analyticsDataProvider(client: Client): DataProvider;
|
|
108
107
|
|
|
109
|
-
/**
|
|
110
|
-
* User identity returned from getCurrentUser API
|
|
111
|
-
*/
|
|
112
|
-
interface TaruviUser {
|
|
113
|
-
id: number;
|
|
114
|
-
username: string;
|
|
115
|
-
email: string;
|
|
116
|
-
first_name: string;
|
|
117
|
-
last_name: string;
|
|
118
|
-
full_name: string;
|
|
119
|
-
is_active: boolean;
|
|
120
|
-
is_staff: boolean;
|
|
121
|
-
is_superuser: boolean;
|
|
122
|
-
is_deleted: boolean;
|
|
123
|
-
date_joined: string;
|
|
124
|
-
last_login: string;
|
|
125
|
-
groups: UserGroup[];
|
|
126
|
-
user_permissions: UserPermission[];
|
|
127
|
-
attributes: Record<string, unknown>;
|
|
128
|
-
missing_attributes: string[];
|
|
129
|
-
roles: UserRole[];
|
|
130
|
-
}
|
|
131
108
|
/**
|
|
132
109
|
* Login params - supports both redirect flow and credentials flow
|
|
133
110
|
*/
|
|
@@ -280,4 +257,4 @@ declare function buildQueryString(params?: Record<string, unknown>): string;
|
|
|
280
257
|
*/
|
|
281
258
|
declare function handleError(error: unknown): never;
|
|
282
259
|
|
|
283
|
-
export { type AnalyticsMeta, type FunctionMeta, type LoginParams, type LogoutParams, REFINE_OPERATOR_MAP, type RegisterParams, type StorageUploadVariables, type TaruviListResponse, type TaruviMeta,
|
|
260
|
+
export { type AnalyticsMeta, type FunctionMeta, type LoginParams, type LogoutParams, REFINE_OPERATOR_MAP, type RegisterParams, type StorageUploadVariables, type TaruviListResponse, type TaruviMeta, accessControlProvider, analyticsDataProvider, appDataProvider, authProvider, buildQueryString, buildRefineQueryParams, convertRefineFilters, convertRefinePagination, convertRefineSorters, dataProvider, functionsDataProvider, handleError, storageDataProvider, userDataProvider };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Database, Storage, Functions, App, User, Analytics, Auth, Policy } from '@taruvi/sdk';
|
|
2
|
-
export { Analytics, App, Auth, Client, Functions, Policy, User } from '@taruvi/sdk';
|
|
3
2
|
import DataLoader2 from 'dataloader';
|
|
4
3
|
|
|
5
4
|
// src/dataProvider.ts
|
|
@@ -174,21 +173,26 @@ function dataProvider(client) {
|
|
|
174
173
|
return { data };
|
|
175
174
|
},
|
|
176
175
|
custom: async (params) => {
|
|
177
|
-
const { url, method, payload } = params;
|
|
178
|
-
const fullUrl = url.startsWith("http") ? url : `${baseApiUrl}${url}`;
|
|
176
|
+
const { url, method, payload, query } = params;
|
|
179
177
|
let data;
|
|
180
178
|
switch (method.toLowerCase()) {
|
|
181
|
-
case "get":
|
|
182
|
-
|
|
179
|
+
case "get": {
|
|
180
|
+
let requestUrl = url;
|
|
181
|
+
if (query && Object.keys(query).length > 0) {
|
|
182
|
+
const queryString = new URLSearchParams(query).toString();
|
|
183
|
+
requestUrl = `${url}${url.includes("?") ? "&" : "?"}${queryString}`;
|
|
184
|
+
}
|
|
185
|
+
data = await client.httpClient.get(requestUrl);
|
|
183
186
|
break;
|
|
187
|
+
}
|
|
184
188
|
case "post":
|
|
185
|
-
data = await client.httpClient.post(
|
|
189
|
+
data = await client.httpClient.post(url, payload);
|
|
186
190
|
break;
|
|
187
191
|
case "put":
|
|
188
|
-
data = await client.httpClient.put(
|
|
192
|
+
data = await client.httpClient.put(url, payload);
|
|
189
193
|
break;
|
|
190
194
|
case "delete":
|
|
191
|
-
data = await client.httpClient.delete(
|
|
195
|
+
data = await client.httpClient.delete(url);
|
|
192
196
|
break;
|
|
193
197
|
default:
|
|
194
198
|
throw new Error(`Unsupported HTTP method: ${method}`);
|
|
@@ -396,21 +400,26 @@ function storageDataProvider(client) {
|
|
|
396
400
|
return { data: [data] };
|
|
397
401
|
},
|
|
398
402
|
custom: async (params) => {
|
|
399
|
-
const { url, method, payload } = params;
|
|
400
|
-
const fullUrl = url.startsWith("http") ? url : `${baseApiUrl}${url}`;
|
|
403
|
+
const { url, method, payload, query } = params;
|
|
401
404
|
let data;
|
|
402
405
|
switch (method.toLowerCase()) {
|
|
403
|
-
case "get":
|
|
404
|
-
|
|
406
|
+
case "get": {
|
|
407
|
+
let requestUrl = url;
|
|
408
|
+
if (query && Object.keys(query).length > 0) {
|
|
409
|
+
const queryString = new URLSearchParams(query).toString();
|
|
410
|
+
requestUrl = `${url}${url.includes("?") ? "&" : "?"}${queryString}`;
|
|
411
|
+
}
|
|
412
|
+
data = await client.httpClient.get(requestUrl);
|
|
405
413
|
break;
|
|
414
|
+
}
|
|
406
415
|
case "post":
|
|
407
|
-
data = await client.httpClient.post(
|
|
416
|
+
data = await client.httpClient.post(url, payload);
|
|
408
417
|
break;
|
|
409
418
|
case "put":
|
|
410
|
-
data = await client.httpClient.put(
|
|
419
|
+
data = await client.httpClient.put(url, payload);
|
|
411
420
|
break;
|
|
412
421
|
case "delete":
|
|
413
|
-
data = await client.httpClient.delete(
|
|
422
|
+
data = await client.httpClient.delete(url);
|
|
414
423
|
break;
|
|
415
424
|
default:
|
|
416
425
|
throw new Error(`Unsupported HTTP method: ${method}`);
|
|
@@ -596,7 +605,7 @@ function userDataProvider(client) {
|
|
|
596
605
|
const baseApiUrl = `${config.baseUrl}/api/apps/${config.appSlug}`;
|
|
597
606
|
return {
|
|
598
607
|
getList: async (params) => {
|
|
599
|
-
const { resource, pagination, filters, sorters } = params;
|
|
608
|
+
const { resource, pagination, filters, sorters, meta } = params;
|
|
600
609
|
if (resource === "users") {
|
|
601
610
|
const user = new User(client);
|
|
602
611
|
const userFilters = buildUserListFilters(filters, sorters, pagination);
|
|
@@ -606,18 +615,29 @@ function userDataProvider(client) {
|
|
|
606
615
|
total: response.total
|
|
607
616
|
};
|
|
608
617
|
}
|
|
609
|
-
|
|
618
|
+
if (resource === "roles") {
|
|
619
|
+
const username = meta?.username;
|
|
620
|
+
if (!username) {
|
|
621
|
+
throw new Error("roles resource requires meta.username");
|
|
622
|
+
}
|
|
623
|
+
const user = new User(client);
|
|
624
|
+
const response = await user.getUser(username);
|
|
625
|
+
const roles = response.roles || [];
|
|
626
|
+
return {
|
|
627
|
+
data: roles,
|
|
628
|
+
total: roles.length
|
|
629
|
+
};
|
|
630
|
+
}
|
|
631
|
+
throw new Error(`Unknown user resource for getList: ${resource}. Supported: users, roles`);
|
|
610
632
|
},
|
|
611
633
|
getOne: async (params) => {
|
|
612
634
|
const { resource, id } = params;
|
|
613
635
|
if (resource === "users") {
|
|
614
636
|
const user = new User(client);
|
|
615
637
|
const response = await user.getUser(String(id));
|
|
616
|
-
return {
|
|
617
|
-
data: response
|
|
618
|
-
};
|
|
638
|
+
return { data: response };
|
|
619
639
|
}
|
|
620
|
-
throw new Error(`Unknown user resource for getOne: ${resource}. Supported
|
|
640
|
+
throw new Error(`Unknown user resource for getOne: ${resource}. Supported: users`);
|
|
621
641
|
},
|
|
622
642
|
getApiUrl: () => baseApiUrl,
|
|
623
643
|
create: async (params) => {
|