@base44-preview/sdk 0.8.4-pr.53.f19b952 → 0.8.5-pr.52.f01053f
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/client.d.ts +6 -0
- package/dist/client.js +5 -3
- package/dist/index.d.ts +2 -1
- package/dist/index.js +2 -1
- package/dist/modules/users.d.ts +16 -0
- package/dist/modules/users.js +23 -0
- package/dist/utils/app-params.d.ts +13 -0
- package/dist/utils/app-params.js +44 -0
- package/dist/utils/common.d.ts +1 -0
- package/dist/utils/common.js +2 -1
- package/package.json +1 -1
package/dist/client.d.ts
CHANGED
|
@@ -125,6 +125,9 @@ export declare function createClient(config: {
|
|
|
125
125
|
fetchLogs(params?: Record<string, any>): Promise<any>;
|
|
126
126
|
getStats(params?: Record<string, any>): Promise<any>;
|
|
127
127
|
};
|
|
128
|
+
users: {
|
|
129
|
+
inviteUser(user_email: string, role: "user" | "admin"): Promise<any>;
|
|
130
|
+
};
|
|
128
131
|
cleanup: () => void;
|
|
129
132
|
};
|
|
130
133
|
export declare function createClientFromRequest(request: Request): {
|
|
@@ -229,5 +232,8 @@ export declare function createClientFromRequest(request: Request): {
|
|
|
229
232
|
fetchLogs(params?: Record<string, any>): Promise<any>;
|
|
230
233
|
getStats(params?: Record<string, any>): Promise<any>;
|
|
231
234
|
};
|
|
235
|
+
users: {
|
|
236
|
+
inviteUser(user_email: string, role: "user" | "admin"): Promise<any>;
|
|
237
|
+
};
|
|
232
238
|
cleanup: () => void;
|
|
233
239
|
};
|
package/dist/client.js
CHANGED
|
@@ -8,6 +8,7 @@ import { getAccessToken } from "./utils/auth-utils.js";
|
|
|
8
8
|
import { createFunctionsModule } from "./modules/functions.js";
|
|
9
9
|
import { createAgentsModule } from "./modules/agents.js";
|
|
10
10
|
import { createAppLogsModule } from "./modules/app-logs.js";
|
|
11
|
+
import { createUsersModule } from "./modules/users.js";
|
|
11
12
|
import { RoomsSocket } from "./utils/socket-utils.js";
|
|
12
13
|
/**
|
|
13
14
|
* Create a Base44 client instance
|
|
@@ -83,6 +84,7 @@ export function createClient(config) {
|
|
|
83
84
|
token,
|
|
84
85
|
}),
|
|
85
86
|
appLogs: createAppLogsModule(axiosClient, appId),
|
|
87
|
+
users: createUsersModule(axiosClient, appId),
|
|
86
88
|
cleanup: () => {
|
|
87
89
|
socket.disconnect();
|
|
88
90
|
},
|
|
@@ -172,7 +174,7 @@ export function createClientFromRequest(request) {
|
|
|
172
174
|
const appId = request.headers.get("Base44-App-Id");
|
|
173
175
|
const serverUrlHeader = request.headers.get("Base44-Api-Url");
|
|
174
176
|
const functionsVersion = request.headers.get("Base44-Functions-Version");
|
|
175
|
-
const
|
|
177
|
+
const stateHeader = request.headers.get("Base44-State");
|
|
176
178
|
if (!appId) {
|
|
177
179
|
throw new Error("Base44-App-Id header is required, but is was not found on the request");
|
|
178
180
|
}
|
|
@@ -197,8 +199,8 @@ export function createClientFromRequest(request) {
|
|
|
197
199
|
}
|
|
198
200
|
// Prepare additional headers to propagate
|
|
199
201
|
const additionalHeaders = {};
|
|
200
|
-
if (
|
|
201
|
-
additionalHeaders["Base44-
|
|
202
|
+
if (stateHeader) {
|
|
203
|
+
additionalHeaders["Base44-State"] = stateHeader;
|
|
202
204
|
}
|
|
203
205
|
return createClient({
|
|
204
206
|
serverUrl: serverUrlHeader || "https://base44.app",
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createClient, createClientFromRequest, type Base44Client } from "./client.js";
|
|
2
2
|
import { Base44Error } from "./utils/axios-client.js";
|
|
3
3
|
import { getAccessToken, saveAccessToken, removeAccessToken, getLoginUrl } from "./utils/auth-utils.js";
|
|
4
|
-
|
|
4
|
+
import { appParams } from "./utils/app-params.js";
|
|
5
|
+
export { createClient, createClientFromRequest, Base44Error, getAccessToken, saveAccessToken, removeAccessToken, getLoginUrl, appParams };
|
|
5
6
|
export type { Base44Client };
|
|
6
7
|
export * from "./types.js";
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createClient, createClientFromRequest } from "./client.js";
|
|
2
2
|
import { Base44Error } from "./utils/axios-client.js";
|
|
3
3
|
import { getAccessToken, saveAccessToken, removeAccessToken, getLoginUrl, } from "./utils/auth-utils.js";
|
|
4
|
-
|
|
4
|
+
import { appParams } from "./utils/app-params.js";
|
|
5
|
+
export { createClient, createClientFromRequest, Base44Error, getAccessToken, saveAccessToken, removeAccessToken, getLoginUrl, appParams };
|
|
5
6
|
export * from "./types.js";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { AxiosInstance } from "axios";
|
|
2
|
+
/**
|
|
3
|
+
* Creates the users module for the Base44 SDK
|
|
4
|
+
* @param {AxiosInstance} axios - Axios instance
|
|
5
|
+
* @param {string} appId - Application ID
|
|
6
|
+
* @returns {Object} Users module
|
|
7
|
+
*/
|
|
8
|
+
export declare function createUsersModule(axios: AxiosInstance, appId: string): {
|
|
9
|
+
/**
|
|
10
|
+
* Invite a user to the application
|
|
11
|
+
* @param {string} user_email - User's email address
|
|
12
|
+
* @param {'user'|'admin'} role - User's role (user or admin)
|
|
13
|
+
* @returns {Promise<any>}
|
|
14
|
+
*/
|
|
15
|
+
inviteUser(user_email: string, role: "user" | "admin"): Promise<any>;
|
|
16
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates the users module for the Base44 SDK
|
|
3
|
+
* @param {AxiosInstance} axios - Axios instance
|
|
4
|
+
* @param {string} appId - Application ID
|
|
5
|
+
* @returns {Object} Users module
|
|
6
|
+
*/
|
|
7
|
+
export function createUsersModule(axios, appId) {
|
|
8
|
+
return {
|
|
9
|
+
/**
|
|
10
|
+
* Invite a user to the application
|
|
11
|
+
* @param {string} user_email - User's email address
|
|
12
|
+
* @param {'user'|'admin'} role - User's role (user or admin)
|
|
13
|
+
* @returns {Promise<any>}
|
|
14
|
+
*/
|
|
15
|
+
async inviteUser(user_email, role) {
|
|
16
|
+
if (role !== "user" && role !== "admin") {
|
|
17
|
+
throw new Error(`Invalid role: "${role}". Role must be either "user" or "admin".`);
|
|
18
|
+
}
|
|
19
|
+
const response = await axios.post(`/apps/${appId}/runtime/users/invite-user`, { user_email, role });
|
|
20
|
+
return response;
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare const appParams: {
|
|
2
|
+
appId?: undefined;
|
|
3
|
+
serverUrl?: undefined;
|
|
4
|
+
token?: undefined;
|
|
5
|
+
fromUrl?: undefined;
|
|
6
|
+
functionsVersion?: undefined;
|
|
7
|
+
} | {
|
|
8
|
+
appId: any;
|
|
9
|
+
serverUrl: any;
|
|
10
|
+
token: any;
|
|
11
|
+
fromUrl: any;
|
|
12
|
+
functionsVersion: any;
|
|
13
|
+
};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { isBrowser } from './common';
|
|
2
|
+
const toSnakeCase = (str) => {
|
|
3
|
+
return str.replace(/([A-Z])/g, '_$1').toLowerCase();
|
|
4
|
+
};
|
|
5
|
+
const getAppParamValue = (paramName, { defaultValue = undefined, removeFromUrl = false } = {}) => {
|
|
6
|
+
const storageKey = `base44_${toSnakeCase(paramName)}`;
|
|
7
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
8
|
+
const searchParam = urlParams.get(paramName);
|
|
9
|
+
if (removeFromUrl) {
|
|
10
|
+
urlParams.delete(paramName);
|
|
11
|
+
const newUrl = `${window.location.pathname}${urlParams.toString() ? `?${urlParams.toString()}` : ""}${window.location.hash}`;
|
|
12
|
+
window.history.replaceState({}, document.title, newUrl);
|
|
13
|
+
}
|
|
14
|
+
if (searchParam) {
|
|
15
|
+
localStorage.setItem(storageKey, searchParam);
|
|
16
|
+
return searchParam;
|
|
17
|
+
}
|
|
18
|
+
if (defaultValue) {
|
|
19
|
+
localStorage.setItem(storageKey, defaultValue);
|
|
20
|
+
return defaultValue;
|
|
21
|
+
}
|
|
22
|
+
const storedValue = localStorage.getItem(storageKey);
|
|
23
|
+
if (storedValue) {
|
|
24
|
+
return storedValue;
|
|
25
|
+
}
|
|
26
|
+
return null;
|
|
27
|
+
};
|
|
28
|
+
const getAppParams = () => {
|
|
29
|
+
if (!isBrowser) {
|
|
30
|
+
return {};
|
|
31
|
+
}
|
|
32
|
+
if (getAppParamValue("clear_access_token") === 'true') {
|
|
33
|
+
localStorage.removeItem('base44_access_token');
|
|
34
|
+
localStorage.removeItem('token');
|
|
35
|
+
}
|
|
36
|
+
return {
|
|
37
|
+
appId: getAppParamValue("app_id", { defaultValue: import.meta.env.VITE_BASE44_APP_ID }),
|
|
38
|
+
serverUrl: getAppParamValue("server_url", { defaultValue: import.meta.env.VITE_BASE44_BACKEND_URL }),
|
|
39
|
+
token: getAppParamValue("access_token", { removeFromUrl: true }),
|
|
40
|
+
fromUrl: getAppParamValue("from_url", { defaultValue: window.location.href }),
|
|
41
|
+
functionsVersion: getAppParamValue("functions_version", { defaultValue: import.meta.env.VITE_BASE44_FUNCTIONS_VERSION }),
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
export const appParams = getAppParams();
|
package/dist/utils/common.d.ts
CHANGED
package/dist/utils/common.js
CHANGED