"use strict"; exports.id = 2630; exports.ids = [2630]; exports.modules = { /***/ 2630: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Z": () => (/* binding */ importExportTableDataFn) /* harmony export */ }); /* harmony import */ var _package_shared_functions_backend_db_addDbEntry__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(5338); /* harmony import */ var _package_shared_functions_backend_db_addDbEntry__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_package_shared_functions_backend_db_addDbEntry__WEBPACK_IMPORTED_MODULE_0__); // @ts-check const serverError = __webpack_require__(2163); const DB_HANDLER = __webpack_require__(2224); /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** * @typedef {object} ExportTableDataFnReturn * @property {any} [tableData] */ /** * ============================================================================== * @param {Object} params - Single object parameter * @param {"export" | "import"} params.paradigm * @param {string | number} params.userId * @param {string} params.dbName * @param {string} params.tableName * @param {any} params.payload * @param {"JSON" | "base64" | "object"} params.payloadType * @return {Promise} */ async function importExportTableDataFn({ paradigm , userId , dbName , tableName , payload , payloadType , }) { /** @type {ExportTableDataFnReturn} */ let returnObject = {}; try { const dbFullName = `${process.env.DSQL_USER_DB_PREFIX}${userId}_${dbName.replace(/ /g, "")}`; switch(paradigm){ case "export": const tableData = await DB_HANDLER(`SELECT * FROM \`${dbFullName}\`.\`${tableName}\``); returnObject["tableData"] = tableData; break; case "import": const jsonData = payloadType == "base64" ? Buffer.from(payload, "base64").toString() : payloadType == "JSON" ? payload : payload; const writeData = payloadType === "object" ? payload : JSON.parse(jsonData); for(let i = 0; i < writeData.length; i++){ const dataToWrite = writeData[i]; const newEntry = await _package_shared_functions_backend_db_addDbEntry__WEBPACK_IMPORTED_MODULE_0___default()({ data: dataToWrite, dbFullName: dbFullName, tableName: tableName, dbContext: "Dsql User", paradigm: "Full Access", duplicateColumnName: "id", duplicateColumnValue: dataToWrite?.id, update: true }); if (newEntry.error) { throw new Error(newEntry.error); } } break; default: return null; } return returnObject; } catch (/** @type {any} */ error) { serverError({ component: "/functions/backend/importExportTableDataFn", message: error.message }); return null; } } /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /***/ }) }; ;