UNPKG

@cocalc/project

Version:
55 lines 2.71 kB
"use strict"; /* * This file is part of CoCalc: Copyright © 2022 Sagemath, Inc. * License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details */ var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.username = exports.project_id = exports.secretToken = exports.SSH_ERR = exports.SSH_LOG = exports.rootSymlink = exports.sessionIDFile = exports.startTimestampFile = exports.projectPidFile = exports.browserPortFile = exports.apiServerPortFile = exports.hubPortFile = exports.infoJson = void 0; /* Paths to temporary files used by the project. */ const path_1 = require("path"); const data_1 = require("@cocalc/backend/data"); const misc_1 = require("@cocalc/util/misc"); exports.infoJson = (0, path_1.join)(data_1.data, "info.json"); exports.hubPortFile = (0, path_1.join)(data_1.data, "hub-server.port"); exports.apiServerPortFile = (0, path_1.join)(data_1.data, "api-server.port"); exports.browserPortFile = (0, path_1.join)(data_1.data, "browser-server.port"); exports.projectPidFile = (0, path_1.join)(data_1.data, "project.pid"); exports.startTimestampFile = (0, path_1.join)(data_1.data, "start-timestamp.txt"); exports.sessionIDFile = (0, path_1.join)(data_1.data, "session-id.txt"); exports.rootSymlink = (0, path_1.join)(data_1.data, "root"); exports.SSH_LOG = (0, path_1.join)(data_1.data, "sshd.log"); exports.SSH_ERR = (0, path_1.join)(data_1.data, "sshd.err"); exports.secretToken = process.env.COCALC_SECRET_TOKEN ?? (0, path_1.join)(data_1.data, "secret_token"); // note that the "username" need not be the output of `whoami`, e.g., // when using a cc-in-cc dev project where users are "virtual". function getIDs() { let project_id, username; if (process.env.COCALC_PROJECT_ID && process.env.COCALC_USERNAME) { project_id = process.env.COCALC_PROJECT_ID; username = process.env.COCALC_USERNAME; } else { if (!process.env.HOME) { throw Error("HOME not defined, so no way to determine project_id"); } const v = process.env.HOME.split("/"); project_id = v[v.length - 1]; if (!(0, misc_1.is_valid_uuid_string)(project_id)) { throw Error("unable to determine project_id from HOME directory path"); } username = project_id.replace(/-/g, ""); } // Throw in some consistency checks: if (!(0, misc_1.is_valid_uuid_string)(project_id)) { throw Error(`project_id=${project_id} is not a valid UUID`); } if (!username) { throw Error("unable to determine username"); } return { project_id, username }; } _a = getIDs(), exports.project_id = _a.project_id, exports.username = _a.username; //# sourceMappingURL=data.js.map