Я пытаюсь создать оболочку для небольшого sqlite, я знаю, что это против SQL для создания динамических запросов, но я хотел бы знать, если это безопасно
async create(item: T): Promise<sqlite3.RunResult> {
// tslint:disable-next-line: no-parameter-reassignment
const values = Object.keys(item).map(_ => _ = '?').join(', ');
const query = `INSERT INTO ${this.table} VALUES (${values})`;
const stmt = await this.database.prepare(query);
return stmt.run(item);
}
Таким образом, в основном я вызываю класс, который имеет эту функцию, с именем таблицы по своему выбору (в коде), пользователь вводит значения свойств объекта, и я читаю ключи указанного объекта, затем создаю запрос, используя таблицу имя, которое я выбираю, и значения заполнителя генерируются из объекта, это безопасно?