First stable version
This commit is contained in:
+13
-7
@@ -1,11 +1,17 @@
|
||||
import _ from "lodash";
|
||||
import { DefaultFields } from "../types";
|
||||
export default function ({ dbSchema }) {
|
||||
const finaldbSchema = _.cloneDeep(dbSchema);
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = default_1;
|
||||
const lodash_1 = __importDefault(require("lodash"));
|
||||
const types_1 = require("../types");
|
||||
function default_1({ dbSchema }) {
|
||||
const finaldbSchema = lodash_1.default.cloneDeep(dbSchema);
|
||||
finaldbSchema.tables = finaldbSchema.tables.map((t) => {
|
||||
const newTable = _.cloneDeep(t);
|
||||
newTable.fields = newTable.fields.filter((f) => !f.fieldName?.match(/^(id|created_at|updated_at)$/));
|
||||
newTable.fields.unshift(...DefaultFields);
|
||||
const newTable = lodash_1.default.cloneDeep(t);
|
||||
newTable.fields = newTable.fields.filter((f) => { var _a; return !((_a = f.fieldName) === null || _a === void 0 ? void 0 : _a.match(/^(id|created_at|updated_at)$/)); });
|
||||
newTable.fields.unshift(...types_1.DefaultFields);
|
||||
return newTable;
|
||||
});
|
||||
return finaldbSchema;
|
||||
|
||||
Vendored
+4
-1
@@ -1,4 +1,7 @@
|
||||
export default function grabBackupData({ backup_name }) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = grabBackupData;
|
||||
function grabBackupData({ backup_name }) {
|
||||
const backup_parts = backup_name.split("-");
|
||||
const backup_date_timestamp = Number(backup_parts.pop());
|
||||
const origin_backup_name = backup_parts.join("-");
|
||||
|
||||
+4
-1
@@ -1,4 +1,7 @@
|
||||
export default function grabDBBackupFileName({ config }) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = grabDBBackupFileName;
|
||||
function grabDBBackupFileName({ config }) {
|
||||
const new_db_file_name = `${config.db_name}-${Date.now()}`;
|
||||
return new_db_file_name;
|
||||
}
|
||||
|
||||
Vendored
+14
-8
@@ -1,14 +1,20 @@
|
||||
import path from "path";
|
||||
import grabDirNames from "../data/grab-dir-names";
|
||||
import { AppData } from "../data/app-data";
|
||||
export default function grabDBDir({ config }) {
|
||||
const { ROOT_DIR } = grabDirNames();
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = grabDBDir;
|
||||
const path_1 = __importDefault(require("path"));
|
||||
const grab_dir_names_1 = __importDefault(require("../data/grab-dir-names"));
|
||||
const app_data_1 = require("../data/app-data");
|
||||
function grabDBDir({ config }) {
|
||||
const { ROOT_DIR } = (0, grab_dir_names_1.default)();
|
||||
let db_dir = ROOT_DIR;
|
||||
if (config.db_dir) {
|
||||
db_dir = config.db_dir;
|
||||
}
|
||||
const backup_dir_name = config.db_backup_dir || AppData["DefaultBackupDirName"];
|
||||
const backup_dir = path.resolve(db_dir, backup_dir_name);
|
||||
const db_file_path = path.resolve(db_dir, config.db_name);
|
||||
const backup_dir_name = config.db_backup_dir || app_data_1.AppData["DefaultBackupDirName"];
|
||||
const backup_dir = path_1.default.resolve(db_dir, backup_dir_name);
|
||||
const db_file_path = path_1.default.resolve(db_dir, config.db_name);
|
||||
return { db_dir, backup_dir, db_file_path };
|
||||
}
|
||||
|
||||
Vendored
+11
-5
@@ -1,8 +1,14 @@
|
||||
import grabDBDir from "../utils/grab-db-dir";
|
||||
import fs from "fs";
|
||||
export default function grabSortedBackups({ config }) {
|
||||
const { backup_dir } = grabDBDir({ config });
|
||||
const backups = fs.readdirSync(backup_dir);
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = grabSortedBackups;
|
||||
const grab_db_dir_1 = __importDefault(require("../utils/grab-db-dir"));
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
function grabSortedBackups({ config }) {
|
||||
const { backup_dir } = (0, grab_db_dir_1.default)({ config });
|
||||
const backups = fs_1.default.readdirSync(backup_dir);
|
||||
/**
|
||||
* Order Backups. Most recent first.
|
||||
*/
|
||||
|
||||
Vendored
+4
-2
@@ -1,5 +1,7 @@
|
||||
import { ServerQueryEqualities } from "../types";
|
||||
export default function sqlEqualityParser(eq) {
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = sqlEqualityParser;
|
||||
function sqlEqualityParser(eq) {
|
||||
switch (eq) {
|
||||
case "EQUAL":
|
||||
return "=";
|
||||
|
||||
Vendored
+10
-4
@@ -1,9 +1,15 @@
|
||||
import sqlEqualityParser from "./sql-equality-parser";
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = sqlGenOperatorGen;
|
||||
const sql_equality_parser_1 = __importDefault(require("./sql-equality-parser"));
|
||||
/**
|
||||
* # SQL Gen Operator Gen
|
||||
* @description Generates an SQL operator for node module `mysql` or `serverless-mysql`
|
||||
*/
|
||||
export default function sqlGenOperatorGen({ fieldName, value, equality, queryObj, isValueFieldValue, }) {
|
||||
function sqlGenOperatorGen({ fieldName, value, equality, queryObj, isValueFieldValue, }) {
|
||||
if (queryObj.nullValue) {
|
||||
return { str: `${fieldName} IS NULL` };
|
||||
}
|
||||
@@ -93,7 +99,7 @@ export default function sqlGenOperatorGen({ fieldName, value, equality, queryObj
|
||||
}
|
||||
else if (equality) {
|
||||
return {
|
||||
str: `${fieldName} ${sqlEqualityParser(equality)} ${finalValue}`,
|
||||
str: `${fieldName} ${(0, sql_equality_parser_1.default)(equality)} ${finalValue}`,
|
||||
param: finalParams,
|
||||
};
|
||||
}
|
||||
@@ -113,7 +119,7 @@ export default function sqlGenOperatorGen({ fieldName, value, equality, queryObj
|
||||
}
|
||||
else if (equality) {
|
||||
return {
|
||||
str: `${fieldName} ${sqlEqualityParser(equality)} ?`,
|
||||
str: `${fieldName} ${(0, sql_equality_parser_1.default)(equality)} ?`,
|
||||
param: value,
|
||||
};
|
||||
}
|
||||
|
||||
Vendored
+47
-43
@@ -1,11 +1,17 @@
|
||||
import { isUndefined } from "lodash";
|
||||
import sqlGenOperatorGen from "./sql-gen-operator-gen";
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = sqlGenerator;
|
||||
const lodash_1 = require("lodash");
|
||||
const sql_gen_operator_gen_1 = __importDefault(require("./sql-gen-operator-gen"));
|
||||
/**
|
||||
* # SQL Query Generator
|
||||
* @description Generates an SQL Query for node module `mysql` or `serverless-mysql`
|
||||
*/
|
||||
export default function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
||||
const finalQuery = genObject?.query ? genObject.query : undefined;
|
||||
function sqlGenerator({ tableName, genObject, dbFullName, count }) {
|
||||
const finalQuery = (genObject === null || genObject === void 0 ? void 0 : genObject.query) ? genObject.query : undefined;
|
||||
const queryKeys = finalQuery ? Object.keys(finalQuery) : undefined;
|
||||
const sqlSearhValues = [];
|
||||
const finalDbName = dbFullName ? `${dbFullName}.` : "";
|
||||
@@ -14,7 +20,7 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
*/
|
||||
function genSqlSrchStr({ queryObj, join, field, }) {
|
||||
const finalFieldName = (() => {
|
||||
if (queryObj?.tableName) {
|
||||
if (queryObj === null || queryObj === void 0 ? void 0 : queryObj.tableName) {
|
||||
return `${finalDbName}${queryObj.tableName}.${field}`;
|
||||
}
|
||||
if (join) {
|
||||
@@ -24,6 +30,7 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
})();
|
||||
let str = `${finalFieldName}=?`;
|
||||
function grabValue(val) {
|
||||
var _a;
|
||||
const valueParsed = val;
|
||||
if (!valueParsed)
|
||||
return;
|
||||
@@ -32,16 +39,16 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
: valueParsed
|
||||
? valueParsed.fieldName && valueParsed.tableName
|
||||
? `${valueParsed.tableName}.${valueParsed.fieldName}`
|
||||
: valueParsed.value?.toString()
|
||||
: (_a = valueParsed.value) === null || _a === void 0 ? void 0 : _a.toString()
|
||||
: undefined;
|
||||
const valueEquality = typeof valueParsed == "object"
|
||||
? valueParsed.equality || queryObj.equality
|
||||
: queryObj.equality;
|
||||
const operatorStrParam = sqlGenOperatorGen({
|
||||
const operatorStrParam = (0, sql_gen_operator_gen_1.default)({
|
||||
queryObj,
|
||||
equality: valueEquality,
|
||||
fieldName: finalFieldName || "",
|
||||
value: valueString?.toString() || "",
|
||||
value: (valueString === null || valueString === void 0 ? void 0 : valueString.toString()) || "",
|
||||
isValueFieldValue: Boolean(typeof valueParsed == "object" &&
|
||||
valueParsed.fieldName &&
|
||||
valueParsed.tableName),
|
||||
@@ -66,7 +73,7 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
}
|
||||
else if (typeof queryObj.value == "object") {
|
||||
const operatorStrParam = grabValue(queryObj.value);
|
||||
if (operatorStrParam?.str) {
|
||||
if (operatorStrParam === null || operatorStrParam === void 0 ? void 0 : operatorStrParam.str) {
|
||||
str = operatorStrParam.str;
|
||||
if (operatorStrParam.param) {
|
||||
sqlSearhValues.push(operatorStrParam.param);
|
||||
@@ -77,7 +84,7 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
const valueParsed = queryObj.value
|
||||
? String(queryObj.value)
|
||||
: undefined;
|
||||
const operatorStrParam = sqlGenOperatorGen({
|
||||
const operatorStrParam = (0, sql_gen_operator_gen_1.default)({
|
||||
equality: queryObj.equality,
|
||||
fieldName: finalFieldName || "",
|
||||
value: valueParsed,
|
||||
@@ -128,49 +135,46 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
: mtch.target}`;
|
||||
})()}`;
|
||||
}
|
||||
let fullTextMatchStr = genObject?.fullTextSearch
|
||||
let fullTextMatchStr = (genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch)
|
||||
? ` MATCH(${genObject.fullTextSearch.fields
|
||||
.map((f) => genObject.join ? `${tableName}.${String(f)}` : `${String(f)}`)
|
||||
.join(",")}) AGAINST (? IN BOOLEAN MODE)`
|
||||
: undefined;
|
||||
const fullTextSearchStr = genObject?.fullTextSearch
|
||||
const fullTextSearchStr = (genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch)
|
||||
? genObject.fullTextSearch.searchTerm
|
||||
.split(` `)
|
||||
.map((t) => `${t}`)
|
||||
.join(" ")
|
||||
: undefined;
|
||||
let queryString = (() => {
|
||||
var _a, _b, _c;
|
||||
let str = "SELECT";
|
||||
if (count) {
|
||||
str += ` COUNT(*)`;
|
||||
}
|
||||
else if (genObject?.selectFields?.[0]) {
|
||||
else if ((_a = genObject === null || genObject === void 0 ? void 0 : genObject.selectFields) === null || _a === void 0 ? void 0 : _a[0]) {
|
||||
if (genObject.join) {
|
||||
str += ` ${genObject.selectFields
|
||||
?.map((fld) => typeof fld == "object"
|
||||
str += ` ${(_b = genObject.selectFields) === null || _b === void 0 ? void 0 : _b.map((fld) => typeof fld == "object"
|
||||
? `${finalDbName}${tableName}.${fld.fieldName.toString()}` +
|
||||
(fld.alias ? ` as ${fld.alias}` : ``)
|
||||
: `${finalDbName}${tableName}.${String(fld)}`)
|
||||
.join(",")}`;
|
||||
: `${finalDbName}${tableName}.${String(fld)}`).join(",")}`;
|
||||
}
|
||||
else {
|
||||
str += ` ${genObject.selectFields
|
||||
?.map((fld) => typeof fld == "object"
|
||||
str += ` ${(_c = genObject.selectFields) === null || _c === void 0 ? void 0 : _c.map((fld) => typeof fld == "object"
|
||||
? `${fld.fieldName.toString()}` +
|
||||
(fld.alias ? ` as ${fld.alias}` : ``)
|
||||
: fld)
|
||||
.join(",")}`;
|
||||
: fld).join(",")}`;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (genObject?.join) {
|
||||
if (genObject === null || genObject === void 0 ? void 0 : genObject.join) {
|
||||
str += ` ${finalDbName}${tableName}.*`;
|
||||
}
|
||||
else {
|
||||
str += " *";
|
||||
}
|
||||
}
|
||||
if (genObject?.countSubQueries) {
|
||||
if (genObject === null || genObject === void 0 ? void 0 : genObject.countSubQueries) {
|
||||
let countSqls = [];
|
||||
for (let i = 0; i < genObject.countSubQueries.length; i++) {
|
||||
const countSubQuery = genObject.countSubQueries[i];
|
||||
@@ -201,13 +205,13 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
}
|
||||
str += `, ${countSqls.join(",")}`;
|
||||
}
|
||||
if (genObject?.join && !count) {
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.join) && !count) {
|
||||
const existingJoinTableNames = [tableName];
|
||||
str +=
|
||||
"," +
|
||||
genObject.join
|
||||
.flat()
|
||||
.filter((j) => !isUndefined(j))
|
||||
.filter((j) => !(0, lodash_1.isUndefined)(j))
|
||||
.map((joinObj) => {
|
||||
const joinTableName = joinObj.alias
|
||||
? joinObj.alias
|
||||
@@ -239,19 +243,19 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
.filter((_) => Boolean(_))
|
||||
.join(",");
|
||||
}
|
||||
if (genObject?.fullTextSearch &&
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch) &&
|
||||
fullTextMatchStr &&
|
||||
fullTextSearchStr) {
|
||||
str += `, ${fullTextMatchStr} AS ${genObject.fullTextSearch.scoreAlias}`;
|
||||
sqlSearhValues.push(fullTextSearchStr);
|
||||
}
|
||||
str += ` FROM ${finalDbName}${tableName}`;
|
||||
if (genObject?.join) {
|
||||
if (genObject === null || genObject === void 0 ? void 0 : genObject.join) {
|
||||
str +=
|
||||
" " +
|
||||
genObject.join
|
||||
.flat()
|
||||
.filter((j) => !isUndefined(j))
|
||||
.filter((j) => !(0, lodash_1.isUndefined)(j))
|
||||
.map((join) => {
|
||||
return (join.joinType +
|
||||
" " +
|
||||
@@ -280,20 +284,20 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
}
|
||||
return str;
|
||||
})();
|
||||
const sqlSearhString = queryKeys?.map((field) => {
|
||||
const queryObj = finalQuery?.[field];
|
||||
const sqlSearhString = queryKeys === null || queryKeys === void 0 ? void 0 : queryKeys.map((field) => {
|
||||
const queryObj = finalQuery === null || finalQuery === void 0 ? void 0 : finalQuery[field];
|
||||
if (!queryObj)
|
||||
return;
|
||||
if (queryObj.__query) {
|
||||
const subQueryGroup = queryObj.__query;
|
||||
const subSearchKeys = Object.keys(subQueryGroup);
|
||||
const subSearchString = subSearchKeys.map((_field) => {
|
||||
const newSubQueryObj = subQueryGroup?.[_field];
|
||||
const newSubQueryObj = subQueryGroup === null || subQueryGroup === void 0 ? void 0 : subQueryGroup[_field];
|
||||
if (newSubQueryObj) {
|
||||
return genSqlSrchStr({
|
||||
queryObj: newSubQueryObj,
|
||||
field: newSubQueryObj.fieldName || _field,
|
||||
join: genObject?.join,
|
||||
join: genObject === null || genObject === void 0 ? void 0 : genObject.join,
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -304,20 +308,20 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
return genSqlSrchStr({
|
||||
queryObj,
|
||||
field: queryObj.fieldName || field,
|
||||
join: genObject?.join,
|
||||
join: genObject === null || genObject === void 0 ? void 0 : genObject.join,
|
||||
});
|
||||
});
|
||||
const cleanedUpSearchStr = sqlSearhString?.filter((str) => typeof str == "string");
|
||||
const isSearchStr = cleanedUpSearchStr?.[0] && cleanedUpSearchStr.find((str) => str);
|
||||
const cleanedUpSearchStr = sqlSearhString === null || sqlSearhString === void 0 ? void 0 : sqlSearhString.filter((str) => typeof str == "string");
|
||||
const isSearchStr = (cleanedUpSearchStr === null || cleanedUpSearchStr === void 0 ? void 0 : cleanedUpSearchStr[0]) && cleanedUpSearchStr.find((str) => str);
|
||||
if (isSearchStr) {
|
||||
const stringOperator = genObject?.searchOperator || "AND";
|
||||
const stringOperator = (genObject === null || genObject === void 0 ? void 0 : genObject.searchOperator) || "AND";
|
||||
queryString += ` WHERE ${cleanedUpSearchStr.join(` ${stringOperator} `)}`;
|
||||
}
|
||||
if (genObject?.fullTextSearch && fullTextSearchStr && fullTextMatchStr) {
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch) && fullTextSearchStr && fullTextMatchStr) {
|
||||
queryString += `${isSearchStr ? " AND" : " WHERE"} ${fullTextMatchStr}`;
|
||||
sqlSearhValues.push(fullTextSearchStr);
|
||||
}
|
||||
if (genObject?.group) {
|
||||
if (genObject === null || genObject === void 0 ? void 0 : genObject.group) {
|
||||
let group_by_txt = ``;
|
||||
if (typeof genObject.group == "string") {
|
||||
group_by_txt = genObject.group;
|
||||
@@ -352,10 +356,10 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
function grabOrderString(order) {
|
||||
let orderFields = [];
|
||||
let orderSrt = ``;
|
||||
if (genObject?.fullTextSearch && genObject.fullTextSearch.scoreAlias) {
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.fullTextSearch) && genObject.fullTextSearch.scoreAlias) {
|
||||
orderFields.push(genObject.fullTextSearch.scoreAlias);
|
||||
}
|
||||
else if (genObject?.join) {
|
||||
else if (genObject === null || genObject === void 0 ? void 0 : genObject.join) {
|
||||
orderFields.push(`${finalDbName}${tableName}.${String(order.field)}`);
|
||||
}
|
||||
else {
|
||||
@@ -364,7 +368,7 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
orderSrt += ` ${orderFields.join(", ")} ${order.strategy}`;
|
||||
return orderSrt;
|
||||
}
|
||||
if (genObject?.order && !count) {
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.order) && !count) {
|
||||
let orderSrt = ` ORDER BY`;
|
||||
if (Array.isArray(genObject.order)) {
|
||||
for (let i = 0; i < genObject.order.length; i++) {
|
||||
@@ -381,9 +385,9 @@ export default function sqlGenerator({ tableName, genObject, dbFullName, count }
|
||||
}
|
||||
queryString += ` ${orderSrt}`;
|
||||
}
|
||||
if (genObject?.limit && !count)
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.limit) && !count)
|
||||
queryString += ` LIMIT ${genObject.limit}`;
|
||||
if (genObject?.offset && !count)
|
||||
if ((genObject === null || genObject === void 0 ? void 0 : genObject.offset) && !count)
|
||||
queryString += ` OFFSET ${genObject.offset}`;
|
||||
return {
|
||||
string: queryString,
|
||||
|
||||
Vendored
+5
-2
@@ -1,10 +1,13 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = sqlInsertGenerator;
|
||||
/**
|
||||
* # SQL Insert Generator
|
||||
*/
|
||||
export default function sqlInsertGenerator({ tableName, data, dbFullName, }) {
|
||||
function sqlInsertGenerator({ tableName, data, dbFullName, }) {
|
||||
const finalDbName = dbFullName ? `${dbFullName}.` : "";
|
||||
try {
|
||||
if (Array.isArray(data) && data?.[0]) {
|
||||
if (Array.isArray(data) && (data === null || data === void 0 ? void 0 : data[0])) {
|
||||
let insertKeys = [];
|
||||
data.forEach((dt) => {
|
||||
const kys = Object.keys(dt);
|
||||
|
||||
Vendored
+17
-11
@@ -1,19 +1,25 @@
|
||||
import grabDBDir from "../utils/grab-db-dir";
|
||||
import fs from "fs";
|
||||
import grabSortedBackups from "./grab-sorted-backups";
|
||||
import { AppData } from "../data/app-data";
|
||||
import path from "path";
|
||||
export default function trimBackups({ config }) {
|
||||
const { backup_dir } = grabDBDir({ config });
|
||||
const backups = grabSortedBackups({ config });
|
||||
const max_backups = config.max_backups || AppData["MaxBackups"];
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.default = trimBackups;
|
||||
const grab_db_dir_1 = __importDefault(require("../utils/grab-db-dir"));
|
||||
const fs_1 = __importDefault(require("fs"));
|
||||
const grab_sorted_backups_1 = __importDefault(require("./grab-sorted-backups"));
|
||||
const app_data_1 = require("../data/app-data");
|
||||
const path_1 = __importDefault(require("path"));
|
||||
function trimBackups({ config }) {
|
||||
const { backup_dir } = (0, grab_db_dir_1.default)({ config });
|
||||
const backups = (0, grab_sorted_backups_1.default)({ config });
|
||||
const max_backups = config.max_backups || app_data_1.AppData["MaxBackups"];
|
||||
for (let i = 0; i < backups.length; i++) {
|
||||
const backup_name = backups[i];
|
||||
if (!backup_name)
|
||||
continue;
|
||||
if (i > max_backups - 1) {
|
||||
const backup_file_to_unlink = path.join(backup_dir, backup_name);
|
||||
fs.unlinkSync(backup_file_to_unlink);
|
||||
const backup_file_to_unlink = path_1.default.join(backup_dir, backup_name);
|
||||
fs_1.default.unlinkSync(backup_file_to_unlink);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user