Skip to content

Commit bc1979b

Browse files
committed
new header for entities prod or dev mode
1 parent 9d02798 commit bc1979b

2 files changed

Lines changed: 17 additions & 13 deletions

File tree

src/client.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,11 @@ export type { Base44Client, CreateClientConfig, CreateClientOptions };
5656
* ```
5757
*/
5858
export function createClient(config: CreateClientConfig): Base44Client {
59+
// Auto-detect staging mode from URL if in browser and not explicitly set
60+
const autoDetectStagingDb = typeof window !== "undefined"
61+
? new URLSearchParams(window.location.search).get("use_staging_db") === "true"
62+
: false;
63+
5964
const {
6065
serverUrl = "https://base44.app",
6166
appId,
@@ -66,6 +71,7 @@ export function createClient(config: CreateClientConfig): Base44Client {
6671
options,
6772
functionsVersion,
6873
headers: optionalHeaders,
74+
useStagingDb = autoDetectStagingDb,
6975
} = config;
7076

7177
const socketConfig: RoomsSocketConfig = {
@@ -90,6 +96,7 @@ export function createClient(config: CreateClientConfig): Base44Client {
9096
const headers = {
9197
...optionalHeaders,
9298
"X-App-Id": String(appId),
99+
"Base44-Use-Staging-DB": String(useStagingDb),
93100
};
94101

95102
const functionHeaders = functionsVersion
@@ -346,6 +353,7 @@ export function createClientFromRequest(request: Request): Base44Client {
346353
const appId = request.headers.get("Base44-App-Id");
347354
const serverUrlHeader = request.headers.get("Base44-Api-Url");
348355
const functionsVersion = request.headers.get("Base44-Functions-Version");
356+
const useStagingDb = request.headers.get("Base44-Use-Staging-DB") === "true";
349357
const stateHeader = request.headers.get("Base44-State");
350358

351359
if (!appId) {
@@ -396,6 +404,7 @@ export function createClientFromRequest(request: Request): Base44Client {
396404
token: userToken,
397405
serviceToken: serviceRoleToken,
398406
functionsVersion: functionsVersion ?? undefined,
407+
useStagingDb: useStagingDb ?? undefined,
399408
headers: additionalHeaders,
400409
});
401410
}

src/modules/entities.ts

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -49,10 +49,6 @@ function createEntityHandler(
4949
entityName: string
5050
): EntityHandler {
5151
const baseURL = `/apps/${appId}/entities/${entityName}`;
52-
const isDevMode = typeof window !== "undefined"
53-
? new URLSearchParams(window.location.search).get("use_staging_db") === "true"
54-
: false;
55-
const headers = { "X-Use-Staging-DB": String(isDevMode) };
5652

5753
return {
5854
// List entities with optional pagination and sorting
@@ -64,7 +60,7 @@ function createEntityHandler(
6460
if (fields)
6561
params.fields = Array.isArray(fields) ? fields.join(",") : fields;
6662

67-
return axios.get(baseURL, { params, headers });
63+
return axios.get(baseURL, { params });
6864
},
6965

7066
// Filter entities based on query
@@ -85,37 +81,37 @@ function createEntityHandler(
8581
if (fields)
8682
params.fields = Array.isArray(fields) ? fields.join(",") : fields;
8783

88-
return axios.get(baseURL, { params, headers });
84+
return axios.get(baseURL, { params });
8985
},
9086

9187
// Get entity by ID
9288
async get(id: string) {
93-
return axios.get(`${baseURL}/${id}`, { headers });
89+
return axios.get(`${baseURL}/${id}`);
9490
},
9591

9692
// Create new entity
9793
async create(data: Record<string, any>) {
98-
return axios.post(baseURL, data, { headers });
94+
return axios.post(baseURL, data);
9995
},
10096

10197
// Update entity by ID
10298
async update(id: string, data: Record<string, any>) {
103-
return axios.put(`${baseURL}/${id}`, data, { headers });
99+
return axios.put(`${baseURL}/${id}`, data);
104100
},
105101

106102
// Delete entity by ID
107103
async delete(id: string) {
108-
return axios.delete(`${baseURL}/${id}`, { headers });
104+
return axios.delete(`${baseURL}/${id}`);
109105
},
110106

111107
// Delete multiple entities based on query
112108
async deleteMany(query: Record<string, any>) {
113-
return axios.delete(baseURL, { data: query, headers });
109+
return axios.delete(baseURL, { data: query });
114110
},
115111

116112
// Create multiple entities in a single request
117113
async bulkCreate(data: Record<string, any>[]) {
118-
return axios.post(`${baseURL}/bulk`, data, { headers });
114+
return axios.post(`${baseURL}/bulk`, data);
119115
},
120116

121117
// Import entities from a file
@@ -125,7 +121,6 @@ function createEntityHandler(
125121

126122
return axios.post(`${baseURL}/import`, formData, {
127123
headers: {
128-
...headers,
129124
"Content-Type": "multipart/form-data",
130125
},
131126
});

0 commit comments

Comments
 (0)