Files
coolify/apps/trpc-experimental/server/build/trpc/routers/settings.js
2023-01-23 10:37:14 +01:00

109 lines
4.0 KiB
JavaScript

"use strict";
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var settings_exports = {};
__export(settings_exports, {
settingsRouter: () => settingsRouter
});
module.exports = __toCommonJS(settings_exports);
var import_trpc = require("../trpc");
var import_server = require("@trpc/server");
var import_common = require("../../lib/common");
var import_env = require("../../env");
var import_jsonwebtoken = __toESM(require("jsonwebtoken"));
const settingsRouter = (0, import_trpc.router)({
getBaseSettings: import_trpc.publicProcedure.query(async () => {
const settings = await (0, import_common.listSettings)();
return {
success: true,
data: {
isRegistrationEnabled: settings?.isRegistrationEnabled
}
};
}),
getInstanceSettings: import_trpc.privateProcedure.query(async ({ ctx }) => {
try {
const settings = await (0, import_common.listSettings)();
let isAdmin = false;
let permission = null;
let token = null;
let pendingInvitations = [];
if (!settings) {
throw new import_server.TRPCError({
code: "INTERNAL_SERVER_ERROR",
message: "An unexpected error occurred, please try again later."
});
}
if (ctx.user) {
const currentUser = await (0, import_common.getCurrentUser)(ctx.user.userId);
if (currentUser) {
const foundPermission = currentUser.permission.find(
(p) => p.teamId === ctx.user?.teamId
)?.permission;
if (foundPermission) {
permission = foundPermission;
isAdmin = foundPermission === "owner" || foundPermission === "admin";
}
const payload = {
userId: ctx.user?.userId,
teamId: ctx.user?.teamId,
permission,
isAdmin,
iat: Math.floor(Date.now() / 1e3)
};
token = import_jsonwebtoken.default.sign(payload, import_env.env.COOLIFY_SECRET_KEY);
}
pendingInvitations = await (0, import_common.getTeamInvitation)(ctx.user.userId);
}
return {
success: true,
data: {
token,
userId: ctx.user?.userId,
teamId: ctx.user?.teamId,
permission,
isAdmin,
ipv4: ctx.user?.teamId ? settings.ipv4 : null,
ipv6: ctx.user?.teamId ? settings.ipv6 : null,
version: import_common.version,
whiteLabeled: import_env.env.COOLIFY_WHITE_LABELED === "true",
whiteLabeledIcon: import_env.env.COOLIFY_WHITE_LABELED_ICON,
isRegistrationEnabled: settings.isRegistrationEnabled,
pendingInvitations
}
};
} catch (error) {
throw new import_server.TRPCError({
code: "INTERNAL_SERVER_ERROR",
message: "An unexpected error occurred, please try again later.",
cause: error
});
}
})
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
settingsRouter
});