@rpcbase/server 0.474.0 → 0.475.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/dist/{handler-D6oN38vE.js → handler-BYVnU9H-.js} +1 -1
- package/dist/{handler-ybYk2VTq.js → handler-CTL2iQCj.js} +4 -4
- package/dist/{handler-CGko2pJM.js → handler-xi0XKR-Y.js} +1 -1
- package/dist/{index-dlSIqvl2.js → index-Ckx0UHs6.js} +3 -3
- package/dist/index.js +1 -1
- package/dist/rts/api/changes/handler.d.ts +2 -2
- package/dist/rts/api/changes/handler.d.ts.map +1 -1
- package/dist/rts.js +2 -2
- package/dist/{shared-8XhCreJo.js → shared-Chfrv8o6.js} +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/uploads/api/file-uploads/shared.d.ts +1 -1
- package/dist/uploads/api/file-uploads/shared.d.ts.map +1 -1
- package/dist/uploads.js +1 -1
- package/package.json +1 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getTenantFilesystemDb } from "@rpcbase/db";
|
|
2
2
|
import { ObjectId, GridFSBucket } from "mongodb";
|
|
3
|
-
import { g as getTenantId, c as getBucketName } from "./shared-
|
|
3
|
+
import { g as getTenantId, c as getBucketName } from "./shared-Chfrv8o6.js";
|
|
4
4
|
const deleteFile = async (_payload, ctx) => {
|
|
5
5
|
const tenantId = getTenantId(ctx);
|
|
6
6
|
if (!tenantId) {
|
|
@@ -22,15 +22,15 @@ const getTenantId = (ctx) => {
|
|
|
22
22
|
const raw = ctx.req.query?.["rb-tenant-id"];
|
|
23
23
|
const queryTenantId = Array.isArray(raw) ? raw[0] : raw;
|
|
24
24
|
if (typeof queryTenantId === "string" && queryTenantId.trim()) return queryTenantId.trim();
|
|
25
|
-
const sessionTenantId = ctx.req.session?.user?.
|
|
25
|
+
const sessionTenantId = ctx.req.session?.user?.currentTenantId;
|
|
26
26
|
if (typeof sessionTenantId === "string" && sessionTenantId.trim()) return sessionTenantId.trim();
|
|
27
27
|
return null;
|
|
28
28
|
};
|
|
29
29
|
const ensureAuthorized = (ctx, tenantId) => {
|
|
30
30
|
const userId = ctx.req.session?.user?.id;
|
|
31
31
|
if (!userId) return null;
|
|
32
|
-
const signedInTenants = ctx.req.session?.user?.
|
|
33
|
-
const currentTenantId = ctx.req.session?.user?.
|
|
32
|
+
const signedInTenants = ctx.req.session?.user?.signedInTenants;
|
|
33
|
+
const currentTenantId = ctx.req.session?.user?.currentTenantId;
|
|
34
34
|
const hasTenantAccessFromList = Array.isArray(signedInTenants) && signedInTenants.includes(tenantId);
|
|
35
35
|
const normalizedCurrentTenantId = typeof currentTenantId === "string" ? currentTenantId.trim() : "";
|
|
36
36
|
const hasTenantAccessFromCurrent = Boolean(normalizedCurrentTenantId) && normalizedCurrentTenantId === tenantId;
|
|
@@ -41,7 +41,7 @@ const getModelCtx = (_ctx, tenantId) => ({
|
|
|
41
41
|
req: {
|
|
42
42
|
session: {
|
|
43
43
|
user: {
|
|
44
|
-
|
|
44
|
+
currentTenantId: tenantId
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { loadModel, getTenantFilesystemDb } from "@rpcbase/db";
|
|
2
2
|
import { GridFSBucket, ObjectId } from "mongodb";
|
|
3
|
-
import { g as getTenantId, a as getModelCtx, b as getOwnershipSelector, e as ensureUploadIndexes, c as getBucketName, d as getUserId, f as getChunkSizeBytes, h as getSessionTtlMs, i as computeSha256Hex, t as toBufferPayload, n as normalizeSha256Hex, j as getMaxClientUploadBytesPerSecond, k as getRawBodyLimitBytes } from "./shared-
|
|
3
|
+
import { g as getTenantId, a as getModelCtx, b as getOwnershipSelector, e as ensureUploadIndexes, c as getBucketName, d as getUserId, f as getChunkSizeBytes, h as getSessionTtlMs, i as computeSha256Hex, t as toBufferPayload, n as normalizeSha256Hex, j as getMaxClientUploadBytesPerSecond, k as getRawBodyLimitBytes } from "./shared-Chfrv8o6.js";
|
|
4
4
|
import { randomBytes } from "node:crypto";
|
|
5
5
|
import { o as object, n as number, s as string, b as boolean, a as array, _ as _enum } from "./schemas-CyxqObur.js";
|
|
6
6
|
const waitForStreamFinished = async (stream) => new Promise((resolve, reject) => {
|
|
@@ -137,8 +137,8 @@ const parseUpgradeMeta = async ({
|
|
|
137
137
|
if (!sessionUserId) {
|
|
138
138
|
throw new Error("Not signed in (missing session.user.id)");
|
|
139
139
|
}
|
|
140
|
-
const signedInTenants = sessionUser?.
|
|
141
|
-
const currentTenantId = sessionUser?.
|
|
140
|
+
const signedInTenants = sessionUser?.signedInTenants;
|
|
141
|
+
const currentTenantId = sessionUser?.currentTenantId;
|
|
142
142
|
if (Array.isArray(signedInTenants) && signedInTenants.length > 0) {
|
|
143
143
|
if (!signedInTenants.includes(tenantId)) {
|
|
144
144
|
throw new Error("Tenant not authorized for this session");
|
|
@@ -164,7 +164,7 @@ const getTenantModel = async (tenantId, modelName) => {
|
|
|
164
164
|
req: {
|
|
165
165
|
session: {
|
|
166
166
|
user: {
|
|
167
|
-
|
|
167
|
+
currentTenantId: tenantId
|
|
168
168
|
}
|
|
169
169
|
}
|
|
170
170
|
}
|
package/dist/index.js
CHANGED
|
@@ -18,7 +18,7 @@ import { StrictMode, createElement } from "react";
|
|
|
18
18
|
import { renderToPipeableStream, renderToStaticMarkup } from "react-dom/server";
|
|
19
19
|
import { jsx } from "react/jsx-runtime";
|
|
20
20
|
import { createPath, matchRoutes, parsePath, createStaticRouter, StaticRouterProvider } from "@rpcbase/router";
|
|
21
|
-
import { i, n, r } from "./index-
|
|
21
|
+
import { i, n, r } from "./index-Ckx0UHs6.js";
|
|
22
22
|
function getDefaultExportFromCjs(x) {
|
|
23
23
|
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
24
24
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Api } from '../../../../../api/src';
|
|
2
2
|
type SessionUser = {
|
|
3
3
|
id?: string;
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
currentTenantId?: string;
|
|
5
|
+
signedInTenants?: string[];
|
|
6
6
|
};
|
|
7
7
|
declare const _default: (api: Api<SessionUser>) => void;
|
|
8
8
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/rts/api/changes/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,cAAc,CAAA;AAOnD,KAAK,WAAW,GAAG;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/rts/api/changes/handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAmB,MAAM,cAAc,CAAA;AAOnD,KAAK,WAAW,GAAG;IACjB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B,CAAA;yBA0He,KAAK,GAAG,CAAC,WAAW,CAAC;AAArC,wBAEC"}
|
package/dist/rts.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { i, n, r } from "./index-
|
|
1
|
+
import { i, n, r } from "./index-Ckx0UHs6.js";
|
|
2
2
|
const routes = Object.entries({
|
|
3
|
-
.../* @__PURE__ */ Object.assign({ "./api/changes/handler.ts": () => import("./handler-
|
|
3
|
+
.../* @__PURE__ */ Object.assign({ "./api/changes/handler.ts": () => import("./handler-CTL2iQCj.js") })
|
|
4
4
|
}).reduce((acc, [path, mod]) => {
|
|
5
5
|
acc[path.replace("./api/", "@rpcbase/server/rts/api/")] = mod;
|
|
6
6
|
return acc;
|
|
@@ -34,7 +34,7 @@ const getUserId = (ctx) => {
|
|
|
34
34
|
return normalized ? normalized : null;
|
|
35
35
|
};
|
|
36
36
|
const getTenantId = (ctx) => {
|
|
37
|
-
const rawSession = ctx.req.session?.user?.
|
|
37
|
+
const rawSession = ctx.req.session?.user?.currentTenantId;
|
|
38
38
|
const sessionTenantId = typeof rawSession === "string" ? rawSession.trim() : "";
|
|
39
39
|
const userId = getUserId(ctx);
|
|
40
40
|
const rawQuery = ctx.req.query?.["rb-tenant-id"];
|
|
@@ -51,7 +51,7 @@ const getModelCtx = (_ctx, tenantId) => ({
|
|
|
51
51
|
req: {
|
|
52
52
|
session: {
|
|
53
53
|
user: {
|
|
54
|
-
|
|
54
|
+
currentTenantId: tenantId
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAAA"}
|
|
@@ -3,7 +3,7 @@ import { IRBUploadChunk, IRBUploadSession, LoadModelCtx } from '../../../../../d
|
|
|
3
3
|
import { Model } from '../../../../../vite/node_modules/mongoose';
|
|
4
4
|
export type SessionUser = {
|
|
5
5
|
id?: string;
|
|
6
|
-
|
|
6
|
+
currentTenantId?: string;
|
|
7
7
|
};
|
|
8
8
|
export type UploadSessionDoc = IRBUploadSession;
|
|
9
9
|
export type UploadChunkDoc = Omit<IRBUploadChunk, "data"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/uploads/api/file-uploads/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,
|
|
1
|
+
{"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../../../src/uploads/api/file-uploads/shared.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAClC,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAGrC,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAA;AAC/C,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAoB5E,eAAO,MAAM,iBAAiB,QAAO,MAIpC,CAAA;AAED,eAAO,MAAM,gCAAgC,QAAO,MAAM,GAAG,IAG5D,CAAA;AAED,eAAO,MAAM,eAAe,QAAO,MAGlC,CAAA;AAED,eAAO,MAAM,oBAAoB,GAAI,gBAAgB,MAAM,KAAG,MAAsC,CAAA;AAEpG,eAAO,MAAM,aAAa,QAAO,MAAsE,CAAA;AAEvG,eAAO,MAAM,SAAS,GAAI,KAAK,GAAG,CAAC,WAAW,CAAC,KAAG,MAAM,GAAG,IAK1D,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,KAAK,GAAG,CAAC,WAAW,CAAC,KAAG,MAAM,GAAG,IAgB5D,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,MAAM,KAAG,MAAyD,CAAA;AAEzG,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,KAAG,MAAoC,CAAA;AAEvF,eAAO,MAAM,WAAW,GAAI,MAAM,GAAG,CAAC,WAAW,CAAC,EAAE,UAAU,MAAM,KAAG,YAQrE,CAAA;AAEF,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,KAAG,MAAM,GAAG,IAI3D,CAAA;AAED,eAAO,MAAM,mBAAmB,GAC9B,eAAe,KAAK,CAAC,gBAAgB,CAAC,EACtC,aAAa,KAAK,CAAC,cAAc,CAAC,KACjC,OAAO,CAAC,IAAI,CAUd,CAAA;AAQD,eAAO,MAAM,gBAAgB,GAAI,KAAK,GAAG,CAAC,WAAW,CAAC,KAAG,MAAM,GAAG,IAIjE,CAAA;AAWD,eAAO,MAAM,oBAAoB,GAC/B,KAAK,GAAG,CAAC,WAAW,CAAC,EACrB,SAAS,IAAI,CAAC,gBAAgB,EAAE,QAAQ,GAAG,cAAc,CAAC,KACzD;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAe/C,CAAA"}
|
package/dist/uploads.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const routes = Object.entries({
|
|
2
|
-
.../* @__PURE__ */ Object.assign({ "./api/file-uploads/handler.ts": () => import("./handler-
|
|
2
|
+
.../* @__PURE__ */ Object.assign({ "./api/file-uploads/handler.ts": () => import("./handler-xi0XKR-Y.js"), "./api/files/handler.ts": () => import("./handler-BYVnU9H-.js") })
|
|
3
3
|
}).reduce((acc, [path, mod]) => {
|
|
4
4
|
acc[path.replace("./api/", "@rpcbase/server/uploads/api/")] = mod;
|
|
5
5
|
return acc;
|