(obj: P) { + async insert
(obj: P) { const sql = QueryBuilder.insert(this.tableName, obj) const params = Object.values(obj) - return this.executeSql(sql, params).then(({ insertId }) => this.find(insertId)) + const { insertId } = await this.executeSql(sql, params) + return this.find(insertId) } - update
(obj: P) { + async update
(obj: P) {
const sql = QueryBuilder.update(this.tableName, obj)
- // @ts-ignore
- const { id, ...props } = obj
- const params = Object.values(props);
- return this.executeSql(sql, [...params, id])
+ const { id, ...props } = obj as any
+ const params = [...Object.values(props), id]
+ await this.executeSql(sql, params)
+ return this.find(id)
}
- bulkInsertOrReplace(objs) {
+ async bulkInsertOrReplace(objs) {
const list = objs.reduce((accumulator, obj) => {
const params = Object.values(obj)
accumulator.sqls.push(QueryBuilder.insertOrReplace(this.tableName, obj))
@@ -62,55 +46,55 @@ export class DatabaseLayer