@cocalc/server
Version:
CoCalc server functionality: functions used by either the hub and the next.js server
22 lines • 1.07 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const pool_1 = __importDefault(require("@cocalc/database/pool"));
const jsonb_utils_1 = require("@cocalc/database/postgres/jsonb-utils");
const misc_1 = require("@cocalc/util/misc");
async function addUserToProject({ account_id, project_id, group, // default is 'collaborator'
}) {
if (!(0, misc_1.is_valid_uuid_string)(account_id) || !(0, misc_1.is_valid_uuid_string)(project_id)) {
throw Error("account_id and project_id must be UUID's");
}
const pool = (0, pool_1.default)();
if (!group) {
group = "collaborator";
}
const { set, params } = (0, jsonb_utils_1.jsonbSet)({ users: { [account_id]: { group } } });
await pool.query(`UPDATE projects SET ${set} WHERE project_id=$${params.length + 1}`, params.concat(project_id));
}
exports.default = addUserToProject;
//# sourceMappingURL=add-user-to-project.js.map