@rebasepro/server-core 0.0.1-canary.f81da60 → 0.1.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/app/frontend/node_modules/esbuild/LICENSE.md +21 -0
- package/app/frontend/node_modules/esbuild/README.md +3 -0
- package/app/frontend/node_modules/esbuild/bin/esbuild +220 -0
- package/app/frontend/node_modules/esbuild/install.js +285 -0
- package/app/frontend/node_modules/esbuild/lib/main.d.ts +705 -0
- package/app/frontend/node_modules/esbuild/lib/main.js +2239 -0
- package/app/frontend/node_modules/esbuild/package.json +46 -0
- package/dist/index.es.js +140 -28
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +140 -28
- package/dist/index.umd.js.map +1 -1
- package/dist/server-core/src/auth/google-oauth.d.ts +33 -3
- package/dist/server-core/src/auth/index.d.ts +1 -0
- package/dist/server-core/src/init.d.ts +1 -0
- package/dist/types/src/controllers/auth.d.ts +8 -2
- package/dist/types/src/controllers/client.d.ts +13 -0
- package/dist/types/src/controllers/navigation.d.ts +18 -6
- package/dist/types/src/controllers/registry.d.ts +9 -1
- package/dist/types/src/controllers/side_entity_controller.d.ts +7 -0
- package/dist/types/src/rebase_context.d.ts +17 -0
- package/dist/types/src/types/collections.d.ts +20 -1
- package/dist/types/src/types/component_ref.d.ts +47 -0
- package/dist/types/src/types/entity_views.d.ts +2 -1
- package/dist/types/src/types/index.d.ts +1 -0
- package/dist/types/src/types/properties.d.ts +15 -3
- package/dist/types/src/types/translations.d.ts +2 -0
- package/examples/firebase/node_modules/esbuild/LICENSE.md +21 -0
- package/examples/firebase/node_modules/esbuild/README.md +3 -0
- package/examples/firebase/node_modules/esbuild/bin/esbuild +220 -0
- package/examples/firebase/node_modules/esbuild/install.js +285 -0
- package/examples/firebase/node_modules/esbuild/lib/main.d.ts +705 -0
- package/examples/firebase/node_modules/esbuild/lib/main.js +2239 -0
- package/examples/firebase/node_modules/esbuild/package.json +46 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/LICENSE.md +21 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/README.md +3 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/bin/esbuild +220 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/install.js +285 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/lib/main.d.ts +705 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/lib/main.js +2239 -0
- package/examples/medmot-staging/frontend/node_modules/esbuild/package.json +46 -0
- package/examples/sdk-demo/node_modules/esbuild/LICENSE.md +21 -0
- package/examples/sdk-demo/node_modules/esbuild/README.md +3 -0
- package/examples/sdk-demo/node_modules/esbuild/bin/esbuild +223 -0
- package/examples/sdk-demo/node_modules/esbuild/install.js +289 -0
- package/examples/sdk-demo/node_modules/esbuild/lib/main.d.ts +716 -0
- package/examples/sdk-demo/node_modules/esbuild/lib/main.js +2242 -0
- package/examples/sdk-demo/node_modules/esbuild/package.json +49 -0
- package/package.json +7 -7
- package/packages/client/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/client/node_modules/esbuild/README.md +3 -0
- package/packages/client/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/client/node_modules/esbuild/install.js +285 -0
- package/packages/client/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/client/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/client/node_modules/esbuild/package.json +46 -0
- package/packages/client-postgresql/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/client-postgresql/node_modules/esbuild/README.md +3 -0
- package/packages/client-postgresql/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/client-postgresql/node_modules/esbuild/install.js +285 -0
- package/packages/client-postgresql/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/client-postgresql/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/client-postgresql/node_modules/esbuild/package.json +46 -0
- package/packages/common/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/common/node_modules/esbuild/README.md +3 -0
- package/packages/common/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/common/node_modules/esbuild/install.js +285 -0
- package/packages/common/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/common/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/common/node_modules/esbuild/package.json +46 -0
- package/packages/server-mongodb/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/server-mongodb/node_modules/esbuild/README.md +3 -0
- package/packages/server-mongodb/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/server-mongodb/node_modules/esbuild/install.js +285 -0
- package/packages/server-mongodb/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/server-mongodb/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/server-mongodb/node_modules/esbuild/package.json +46 -0
- package/packages/server-postgresql/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/server-postgresql/node_modules/esbuild/README.md +3 -0
- package/packages/server-postgresql/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/server-postgresql/node_modules/esbuild/install.js +285 -0
- package/packages/server-postgresql/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/server-postgresql/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/server-postgresql/node_modules/esbuild/package.json +46 -0
- package/packages/types/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/types/node_modules/esbuild/README.md +3 -0
- package/packages/types/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/types/node_modules/esbuild/install.js +285 -0
- package/packages/types/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/types/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/types/node_modules/esbuild/package.json +46 -0
- package/packages/utils/node_modules/esbuild/LICENSE.md +21 -0
- package/packages/utils/node_modules/esbuild/README.md +3 -0
- package/packages/utils/node_modules/esbuild/bin/esbuild +220 -0
- package/packages/utils/node_modules/esbuild/install.js +285 -0
- package/packages/utils/node_modules/esbuild/lib/main.d.ts +705 -0
- package/packages/utils/node_modules/esbuild/lib/main.js +2239 -0
- package/packages/utils/node_modules/esbuild/package.json +46 -0
- package/src/api/errors.ts +3 -2
- package/src/api/server.ts +5 -2
- package/src/auth/google-oauth.ts +148 -17
- package/src/auth/index.ts +1 -0
- package/src/auth/routes.ts +25 -5
- package/src/collections/loader.ts +3 -3
- package/src/init.ts +14 -2
- package/history_diff.log +0 -385
- package/scratch.ts +0 -9
- package/test-ast.ts +0 -28
- package/test_output.txt +0 -1133
package/dist/index.umd.js
CHANGED
|
@@ -1011,7 +1011,8 @@
|
|
|
1011
1011
|
}, { buffer: 3, lYpoI2: 11 }] }, {}, [1])(1);
|
|
1012
1012
|
});
|
|
1013
1013
|
})(object_hash);
|
|
1014
|
-
const
|
|
1014
|
+
const tokenizeRegex = /[A-Z]{2,}(?=[A-Z][a-z]|\b)|[A-Z]?[a-z]+|[0-9]+(?:[a-z](?![a-z]))?|[A-Z]/g;
|
|
1015
|
+
const snakeCaseRegex = tokenizeRegex;
|
|
1015
1016
|
const toSnakeCase = (str) => {
|
|
1016
1017
|
const regExpMatchArray = str.match(snakeCaseRegex);
|
|
1017
1018
|
if (!regExpMatchArray) return "";
|
|
@@ -3465,8 +3466,7 @@
|
|
|
3465
3466
|
const filePath = path__namespace.join(directory, file);
|
|
3466
3467
|
try {
|
|
3467
3468
|
const fileUrl = require$$0$2.pathToFileURL(filePath).href;
|
|
3468
|
-
const
|
|
3469
|
-
const module2 = await dynamicImport(fileUrl);
|
|
3469
|
+
const module2 = await import(fileUrl);
|
|
3470
3470
|
if (module2 && module2.default) {
|
|
3471
3471
|
collections.push(module2.default);
|
|
3472
3472
|
} else {
|
|
@@ -3624,7 +3624,8 @@
|
|
|
3624
3624
|
console.error(`❌ [API] ${c.req.method} ${c.req.path} → ${statusCode} ${code2}: ${logMessage}`);
|
|
3625
3625
|
const causePg = error2.cause && typeof error2.cause === "object" ? error2.cause : void 0;
|
|
3626
3626
|
const pgErrorCode = causePg?.code || error2.code;
|
|
3627
|
-
|
|
3627
|
+
const suppressStack = pgErrorCode === "42703" || pgErrorCode === "42P01" || statusCode < 500 && code2 === "BAD_REQUEST";
|
|
3628
|
+
if (!suppressStack) {
|
|
3628
3629
|
console.error(error2.stack || error2);
|
|
3629
3630
|
}
|
|
3630
3631
|
let clientMessage = "An unexpected error occurred";
|
|
@@ -21623,15 +21624,19 @@ ${credentialScope}
|
|
|
21623
21624
|
ZodPromise.create;
|
|
21624
21625
|
ZodOptional.create;
|
|
21625
21626
|
ZodNullable.create;
|
|
21626
|
-
function createGoogleProvider(
|
|
21627
|
-
const
|
|
21627
|
+
function createGoogleProvider(config) {
|
|
21628
|
+
const clientId = typeof config === "string" ? config : config.clientId;
|
|
21629
|
+
const clientSecret = typeof config === "string" ? void 0 : config.clientSecret;
|
|
21630
|
+
const googleClient = new src$4.OAuth2Client(clientId, clientSecret);
|
|
21628
21631
|
return {
|
|
21629
21632
|
id: "google",
|
|
21630
21633
|
schema: objectType({
|
|
21631
21634
|
idToken: stringType().min(1).optional(),
|
|
21632
|
-
accessToken: stringType().min(1).optional()
|
|
21633
|
-
|
|
21634
|
-
|
|
21635
|
+
accessToken: stringType().min(1).optional(),
|
|
21636
|
+
code: stringType().min(1).optional(),
|
|
21637
|
+
redirectUri: stringType().min(1).optional()
|
|
21638
|
+
}).refine((data) => data.idToken || data.accessToken || data.code && data.redirectUri, {
|
|
21639
|
+
message: "One of idToken, accessToken, or code+redirectUri is required"
|
|
21635
21640
|
}),
|
|
21636
21641
|
verify: async (payload) => {
|
|
21637
21642
|
try {
|
|
@@ -21642,7 +21647,7 @@ ${credentialScope}
|
|
|
21642
21647
|
});
|
|
21643
21648
|
const content = ticket.getPayload();
|
|
21644
21649
|
if (!content) {
|
|
21645
|
-
|
|
21650
|
+
throw new Error("Google ID token payload was empty");
|
|
21646
21651
|
}
|
|
21647
21652
|
return {
|
|
21648
21653
|
providerId: content.sub,
|
|
@@ -21658,12 +21663,11 @@ ${credentialScope}
|
|
|
21658
21663
|
}
|
|
21659
21664
|
});
|
|
21660
21665
|
if (!res.ok) {
|
|
21661
|
-
|
|
21662
|
-
return null;
|
|
21666
|
+
throw new Error(`Google userinfo request failed with status ${res.status}`);
|
|
21663
21667
|
}
|
|
21664
21668
|
const info = await res.json();
|
|
21665
21669
|
if (!info.sub || !info.email) {
|
|
21666
|
-
|
|
21670
|
+
throw new Error("Google userinfo response missing sub or email");
|
|
21667
21671
|
}
|
|
21668
21672
|
return {
|
|
21669
21673
|
providerId: info.sub,
|
|
@@ -21672,10 +21676,73 @@ ${credentialScope}
|
|
|
21672
21676
|
photoUrl: info.picture || null
|
|
21673
21677
|
};
|
|
21674
21678
|
}
|
|
21675
|
-
|
|
21679
|
+
if (payload.code && payload.redirectUri) {
|
|
21680
|
+
if (!clientSecret) {
|
|
21681
|
+
throw new Error("Google authorization code flow requires clientSecret. Configure GOOGLE_CLIENT_SECRET in your environment.");
|
|
21682
|
+
}
|
|
21683
|
+
const tokenResponse = await fetch("https://oauth2.googleapis.com/token", {
|
|
21684
|
+
method: "POST",
|
|
21685
|
+
headers: {
|
|
21686
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
21687
|
+
},
|
|
21688
|
+
body: new URLSearchParams({
|
|
21689
|
+
code: payload.code,
|
|
21690
|
+
client_id: clientId,
|
|
21691
|
+
client_secret: clientSecret,
|
|
21692
|
+
redirect_uri: payload.redirectUri,
|
|
21693
|
+
grant_type: "authorization_code"
|
|
21694
|
+
})
|
|
21695
|
+
});
|
|
21696
|
+
if (!tokenResponse.ok) {
|
|
21697
|
+
const errorBody = await tokenResponse.text();
|
|
21698
|
+
throw new Error(`Google token exchange failed (${tokenResponse.status}): ${errorBody}`);
|
|
21699
|
+
}
|
|
21700
|
+
const tokenData = await tokenResponse.json();
|
|
21701
|
+
if (tokenData.error) {
|
|
21702
|
+
throw new Error(`Google token exchange error: ${tokenData.error} – ${tokenData.error_description || "no details"}`);
|
|
21703
|
+
}
|
|
21704
|
+
if (tokenData.id_token) {
|
|
21705
|
+
const ticket = await googleClient.verifyIdToken({
|
|
21706
|
+
idToken: tokenData.id_token,
|
|
21707
|
+
audience: clientId
|
|
21708
|
+
});
|
|
21709
|
+
const content = ticket.getPayload();
|
|
21710
|
+
if (!content) {
|
|
21711
|
+
throw new Error("Google ID token payload was empty after code exchange");
|
|
21712
|
+
}
|
|
21713
|
+
return {
|
|
21714
|
+
providerId: content.sub,
|
|
21715
|
+
email: content.email || "",
|
|
21716
|
+
displayName: content.name || null,
|
|
21717
|
+
photoUrl: content.picture || null
|
|
21718
|
+
};
|
|
21719
|
+
}
|
|
21720
|
+
if (tokenData.access_token) {
|
|
21721
|
+
const userInfoRes = await fetch("https://www.googleapis.com/oauth2/v3/userinfo", {
|
|
21722
|
+
headers: {
|
|
21723
|
+
Authorization: `Bearer ${tokenData.access_token}`
|
|
21724
|
+
}
|
|
21725
|
+
});
|
|
21726
|
+
if (!userInfoRes.ok) {
|
|
21727
|
+
throw new Error(`Google userinfo request failed after code exchange (${userInfoRes.status})`);
|
|
21728
|
+
}
|
|
21729
|
+
const info = await userInfoRes.json();
|
|
21730
|
+
if (!info.sub || !info.email) {
|
|
21731
|
+
return null;
|
|
21732
|
+
}
|
|
21733
|
+
return {
|
|
21734
|
+
providerId: info.sub,
|
|
21735
|
+
email: info.email,
|
|
21736
|
+
displayName: info.name || null,
|
|
21737
|
+
photoUrl: info.picture || null
|
|
21738
|
+
};
|
|
21739
|
+
}
|
|
21740
|
+
throw new Error("Google token exchange returned neither id_token nor access_token");
|
|
21741
|
+
}
|
|
21742
|
+
throw new Error("No valid Google credential provided (expected idToken, accessToken, or code+redirectUri)");
|
|
21676
21743
|
} catch (error2) {
|
|
21677
|
-
console.error("
|
|
21678
|
-
|
|
21744
|
+
console.error("Google OAuth verification failed:", error2);
|
|
21745
|
+
throw error2;
|
|
21679
21746
|
}
|
|
21680
21747
|
}
|
|
21681
21748
|
};
|
|
@@ -22883,7 +22950,11 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
22883
22950
|
passwordHash,
|
|
22884
22951
|
displayName: displayName || void 0
|
|
22885
22952
|
});
|
|
22886
|
-
|
|
22953
|
+
const existingUsers = await authRepo.listUsers();
|
|
22954
|
+
const isFirstUser = existingUsers.length === 1 && existingUsers[0].id === user.id;
|
|
22955
|
+
if (isFirstUser) {
|
|
22956
|
+
await authRepo.setUserRoles(user.id, ["admin"]);
|
|
22957
|
+
} else if (config.defaultRole) {
|
|
22887
22958
|
await authRepo.assignDefaultRole(user.id, config.defaultRole);
|
|
22888
22959
|
}
|
|
22889
22960
|
const {
|
|
@@ -22924,7 +22995,13 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
22924
22995
|
for (const provider of config.oauthProviders) {
|
|
22925
22996
|
router.post(`/${provider.id}`, defaultAuthLimiter, async (c) => {
|
|
22926
22997
|
const payload = parseBody2(provider.schema, await c.req.json());
|
|
22927
|
-
|
|
22998
|
+
let externalUser;
|
|
22999
|
+
try {
|
|
23000
|
+
externalUser = await provider.verify(payload);
|
|
23001
|
+
} catch (err) {
|
|
23002
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
23003
|
+
throw ApiError.unauthorized(`${provider.id} login failed: ${msg}`, "OAUTH_ERROR");
|
|
23004
|
+
}
|
|
22928
23005
|
if (!externalUser) {
|
|
22929
23006
|
throw ApiError.unauthorized(`Invalid ${provider.id} credentials`, "INVALID_TOKEN");
|
|
22930
23007
|
}
|
|
@@ -22948,7 +23025,11 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
22948
23025
|
await authRepo.linkUserIdentity(user.id, provider.id, externalUser.providerId, {
|
|
22949
23026
|
email: externalUser.email
|
|
22950
23027
|
});
|
|
22951
|
-
|
|
23028
|
+
const allUsers = await authRepo.listUsers();
|
|
23029
|
+
const isFirstUser = allUsers.length === 1 && allUsers[0].id === user.id;
|
|
23030
|
+
if (isFirstUser) {
|
|
23031
|
+
await authRepo.setUserRoles(user.id, ["admin"]);
|
|
23032
|
+
} else if (config.defaultRole) {
|
|
22952
23033
|
await authRepo.assignDefaultRole(user.id, config.defaultRole);
|
|
22953
23034
|
}
|
|
22954
23035
|
sendWelcomeEmail({
|
|
@@ -24976,20 +25057,21 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
24976
25057
|
refreshToken: session.refreshToken
|
|
24977
25058
|
};
|
|
24978
25059
|
}
|
|
24979
|
-
async function signInWithGoogle(
|
|
25060
|
+
async function signInWithGoogle(tokenOrPayload) {
|
|
24980
25061
|
const fetchFn = getFetch();
|
|
25062
|
+
const body = typeof tokenOrPayload === "string" ? {
|
|
25063
|
+
idToken: tokenOrPayload
|
|
25064
|
+
} : tokenOrPayload;
|
|
24981
25065
|
const res = await fetchFn(authUrl("/google"), {
|
|
24982
25066
|
method: "POST",
|
|
24983
25067
|
headers: {
|
|
24984
25068
|
"Content-Type": "application/json"
|
|
24985
25069
|
},
|
|
24986
|
-
body: JSON.stringify(
|
|
24987
|
-
idToken
|
|
24988
|
-
})
|
|
25070
|
+
body: JSON.stringify(body)
|
|
24989
25071
|
});
|
|
24990
|
-
const
|
|
24991
|
-
if (!res.ok) throwApiError(res.status,
|
|
24992
|
-
const session = handleAuthResponse(
|
|
25072
|
+
const responseBody = await res.json().catch(() => ({}));
|
|
25073
|
+
if (!res.ok) throwApiError(res.status, responseBody, res.statusText);
|
|
25074
|
+
const session = handleAuthResponse(responseBody, "SIGNED_IN");
|
|
24993
25075
|
return {
|
|
24994
25076
|
user: session.user,
|
|
24995
25077
|
accessToken: session.accessToken,
|
|
@@ -25651,6 +25733,25 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
25651
25733
|
};
|
|
25652
25734
|
return client;
|
|
25653
25735
|
}
|
|
25736
|
+
function createFunctionsClient(transport) {
|
|
25737
|
+
return {
|
|
25738
|
+
async invoke(name2, payload, options2) {
|
|
25739
|
+
const method = options2?.method ?? "POST";
|
|
25740
|
+
const subPath = options2?.path ? `/${options2.path.replace(/^\//, "")}` : "";
|
|
25741
|
+
const routePath = `/functions/${encodeURIComponent(name2)}${subPath}`;
|
|
25742
|
+
const init = {
|
|
25743
|
+
method
|
|
25744
|
+
};
|
|
25745
|
+
if (payload !== void 0 && method !== "GET") {
|
|
25746
|
+
init.body = JSON.stringify(payload);
|
|
25747
|
+
}
|
|
25748
|
+
if (options2?.headers) {
|
|
25749
|
+
init.headers = options2.headers;
|
|
25750
|
+
}
|
|
25751
|
+
return transport.request(routePath, init);
|
|
25752
|
+
}
|
|
25753
|
+
};
|
|
25754
|
+
}
|
|
25654
25755
|
function createStorage(transport) {
|
|
25655
25756
|
const urlsCache = /* @__PURE__ */ new Map();
|
|
25656
25757
|
async function putObject({
|
|
@@ -25784,6 +25885,7 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
25784
25885
|
const admin = createAdmin(transport, options2.admin);
|
|
25785
25886
|
const cron = createCron(transport, options2.cron);
|
|
25786
25887
|
const storage = createStorage(transport);
|
|
25888
|
+
const functions = createFunctionsClient(transport);
|
|
25787
25889
|
let ws;
|
|
25788
25890
|
if (!options2.onUnauthorized) {
|
|
25789
25891
|
transport.setOnUnauthorized(async () => {
|
|
@@ -25822,6 +25924,7 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
25822
25924
|
auth,
|
|
25823
25925
|
admin,
|
|
25824
25926
|
cron,
|
|
25927
|
+
functions,
|
|
25825
25928
|
storage,
|
|
25826
25929
|
ws,
|
|
25827
25930
|
setToken: transport.setToken,
|
|
@@ -37149,7 +37252,7 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
37149
37252
|
const {
|
|
37150
37253
|
createGoogleProvider: createGoogleProvider2
|
|
37151
37254
|
} = await Promise.resolve().then(() => index);
|
|
37152
|
-
oauthProviders.push(createGoogleProvider2(config.auth.google
|
|
37255
|
+
oauthProviders.push(createGoogleProvider2(config.auth.google));
|
|
37153
37256
|
}
|
|
37154
37257
|
if (config.auth.linkedin?.clientId && config.auth.linkedin?.clientSecret) {
|
|
37155
37258
|
const {
|
|
@@ -37350,6 +37453,13 @@ Si tienes alguna pregunta, no dudes en contactarnos respondiendo a este correo.
|
|
|
37350
37453
|
}
|
|
37351
37454
|
_initRebase(serverClient);
|
|
37352
37455
|
logger.info("Rebase singleton initialized");
|
|
37456
|
+
if (defaultDriverResult.internals) {
|
|
37457
|
+
const internals = defaultDriverResult.internals;
|
|
37458
|
+
const driver = internals.driver;
|
|
37459
|
+
if (driver && "client" in driver) {
|
|
37460
|
+
driver.client = serverClient;
|
|
37461
|
+
}
|
|
37462
|
+
}
|
|
37353
37463
|
if (config.functionsDir) {
|
|
37354
37464
|
const {
|
|
37355
37465
|
loadFunctionsFromDirectory: loadFunctionsFromDirectory2
|
|
@@ -48228,7 +48338,9 @@ export default ${safeId}Collection;
|
|
|
48228
48338
|
* Setup Hono middleware
|
|
48229
48339
|
*/
|
|
48230
48340
|
setupMiddleware() {
|
|
48231
|
-
this.router.use("/*", secureHeaders.secureHeaders(
|
|
48341
|
+
this.router.use("/*", secureHeaders.secureHeaders({
|
|
48342
|
+
crossOriginOpenerPolicy: "same-origin-allow-popups"
|
|
48343
|
+
}));
|
|
48232
48344
|
if (this.config.cors) {
|
|
48233
48345
|
const origin = this.config.cors.origin;
|
|
48234
48346
|
this.router.use("/*", cors.cors({
|