@objectstack/rest 9.9.1 → 9.10.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/index.cjs +30 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +30 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -489,7 +489,7 @@ function rowsToCsv(fields, rows, includeHeader) {
|
|
|
489
489
|
return lines.join("\r\n") + (lines.length > 0 ? "\r\n" : "");
|
|
490
490
|
}
|
|
491
491
|
var RestServer = class {
|
|
492
|
-
constructor(server, protocol, config = {}, kernelManager, envRegistry, defaultEnvironmentIdProvider, authServiceProvider, objectQLProvider, emailServiceProvider, sharingServiceProvider, reportsServiceProvider, approvalsServiceProvider, sharingRulesServiceProvider, i18nServiceProvider, analyticsServiceProvider) {
|
|
492
|
+
constructor(server, protocol, config = {}, kernelManager, envRegistry, defaultEnvironmentIdProvider, authServiceProvider, objectQLProvider, emailServiceProvider, sharingServiceProvider, reportsServiceProvider, approvalsServiceProvider, sharingRulesServiceProvider, i18nServiceProvider, analyticsServiceProvider, settingsServiceProvider) {
|
|
493
493
|
/**
|
|
494
494
|
* Short-TTL cache for `hostname → environmentId` (P1-4). `resolveByHostname`
|
|
495
495
|
* is a control-plane lookup (typically a DB query) that otherwise runs on
|
|
@@ -520,6 +520,7 @@ var RestServer = class {
|
|
|
520
520
|
this.sharingRulesServiceProvider = sharingRulesServiceProvider;
|
|
521
521
|
this.i18nServiceProvider = i18nServiceProvider;
|
|
522
522
|
this.analyticsServiceProvider = analyticsServiceProvider;
|
|
523
|
+
this.settingsServiceProvider = settingsServiceProvider;
|
|
523
524
|
}
|
|
524
525
|
/**
|
|
525
526
|
* Resolve the protocol for a given request. When `environmentId` is present
|
|
@@ -909,6 +910,23 @@ var RestServer = class {
|
|
|
909
910
|
} catch {
|
|
910
911
|
}
|
|
911
912
|
}
|
|
913
|
+
let timezone;
|
|
914
|
+
let locale;
|
|
915
|
+
try {
|
|
916
|
+
const settings = this.settingsServiceProvider ? await this.settingsServiceProvider(environmentId).catch(() => void 0) : void 0;
|
|
917
|
+
if (settings && typeof settings.get === "function") {
|
|
918
|
+
const sctx = { tenantId, userId };
|
|
919
|
+
const [tzRes, localeRes] = await Promise.all([
|
|
920
|
+
settings.get("localization", "timezone", sctx).catch(() => void 0),
|
|
921
|
+
settings.get("localization", "locale", sctx).catch(() => void 0)
|
|
922
|
+
]);
|
|
923
|
+
const tzVal = tzRes?.value;
|
|
924
|
+
const localeVal = localeRes?.value;
|
|
925
|
+
if (typeof tzVal === "string" && tzVal.trim()) timezone = tzVal.trim();
|
|
926
|
+
if (typeof localeVal === "string" && localeVal.trim()) locale = localeVal.trim();
|
|
927
|
+
}
|
|
928
|
+
} catch {
|
|
929
|
+
}
|
|
912
930
|
return {
|
|
913
931
|
userId,
|
|
914
932
|
tenantId,
|
|
@@ -916,7 +934,9 @@ var RestServer = class {
|
|
|
916
934
|
permissions,
|
|
917
935
|
systemPermissions,
|
|
918
936
|
isSystem: false,
|
|
919
|
-
org_user_ids
|
|
937
|
+
org_user_ids,
|
|
938
|
+
...timezone ? { timezone } : {},
|
|
939
|
+
...locale ? { locale } : {}
|
|
920
940
|
};
|
|
921
941
|
} catch {
|
|
922
942
|
return void 0;
|
|
@@ -4449,6 +4469,13 @@ function createRestApiPlugin(config = {}) {
|
|
|
4449
4469
|
return void 0;
|
|
4450
4470
|
}
|
|
4451
4471
|
};
|
|
4472
|
+
const settingsServiceProvider = async (_environmentId) => {
|
|
4473
|
+
try {
|
|
4474
|
+
return ctx.getService("settings");
|
|
4475
|
+
} catch {
|
|
4476
|
+
return void 0;
|
|
4477
|
+
}
|
|
4478
|
+
};
|
|
4452
4479
|
if (!server) {
|
|
4453
4480
|
ctx.logger.warn(`RestApiPlugin: HTTP Server service '${serverService}' not found. REST routes skipped.`);
|
|
4454
4481
|
return;
|
|
@@ -4459,7 +4486,7 @@ function createRestApiPlugin(config = {}) {
|
|
|
4459
4486
|
}
|
|
4460
4487
|
ctx.logger.info("Hydrating REST API from Protocol...");
|
|
4461
4488
|
try {
|
|
4462
|
-
const restServer = new RestServer(server, protocol, config.api, kernelManager, envRegistry, defaultEnvironmentIdProvider, authServiceProvider, objectQLProvider, emailServiceProvider, sharingServiceProvider, reportsServiceProvider, approvalsServiceProvider, sharingRulesServiceProvider, i18nServiceProvider, analyticsServiceProvider);
|
|
4489
|
+
const restServer = new RestServer(server, protocol, config.api, kernelManager, envRegistry, defaultEnvironmentIdProvider, authServiceProvider, objectQLProvider, emailServiceProvider, sharingServiceProvider, reportsServiceProvider, approvalsServiceProvider, sharingRulesServiceProvider, i18nServiceProvider, analyticsServiceProvider, settingsServiceProvider);
|
|
4463
4490
|
restServer.registerRoutes();
|
|
4464
4491
|
ctx.logger.info("REST API successfully registered");
|
|
4465
4492
|
} catch (err) {
|