diff --git a/lib/group.js b/lib/group.js index 957656a..111590a 100644 --- a/lib/group.js +++ b/lib/group.js @@ -47,7 +47,6 @@ class Group { if (!args.id) return false const id = args.id delete args.id - // Mysql.debug(1) const r = await Mysql.execute( ...Mysql.update( `nt_group`, @@ -55,22 +54,25 @@ class Group { mapToDbColumn(args, groupDbMap), ), ) - // console.log(r) return r.changedRows === 1 } async delete(args) { - await Mysql.execute(`UPDATE nt_group SET deleted=? WHERE nt_group_id=?`, [ - args.deleted ?? 1, - args.id, - ]) - return true + const r = await Mysql.execute( + ...Mysql.update( + `nt_group`, + `nt_group_id=${args.id}`, + { deleted: args.deleted ?? 1 }, + ), + ) + return r.changedRows === 1 } async destroy(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_group`, { nt_group_id: args.id }), ) + return r.affectedRows === 1 } } diff --git a/lib/mysql.js b/lib/mysql.js index 8754bd7..b55f35c 100644 --- a/lib/mysql.js +++ b/lib/mysql.js @@ -38,10 +38,6 @@ class Mysql { } if (/^(REPLACE|INSERT) INTO/.test(query)) return rows.insertId - if (/^UPDATE /.test(query)) { - console.log(rows) - console.log(fields) - } return rows } diff --git a/lib/nameserver.js b/lib/nameserver.js index d515ffd..256ed54 100644 --- a/lib/nameserver.js +++ b/lib/nameserver.js @@ -85,22 +85,25 @@ class Nameserver { mapToDbColumn(args, nsDbMap), ), ) - // console.log(r) return r.changedRows === 1 } async delete(args) { - await Mysql.execute( - `UPDATE nt_nameserver SET deleted=? WHERE nt_nameserver_id=?`, - [args.deleted ?? 1, args.id], + const r = await Mysql.execute( + ...Mysql.update( + `nt_nameserver`, + `nt_nameserver_id=${args.id}`, + { deleted: args.deleted ?? 1 }, + ), ) - return true + return r.changedRows === 1 } async destroy(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_nameserver`, { nt_nameserver_id: args.id }), ) + return r.affectedRows === 1 } } diff --git a/lib/permission.js b/lib/permission.js index b4feda5..75bfd67 100644 --- a/lib/permission.js +++ b/lib/permission.js @@ -37,7 +37,6 @@ class Permission { ${getPermFields()} , p.deleted FROM nt_perm p` - // Mysql.debug(1) const rows = await Mysql.execute( ...Mysql.select(query, mapToDbColumn(args, permDbMap)), @@ -76,7 +75,6 @@ class Permission { if (!args.id) return false const id = args.id delete args.id - // Mysql.debug(1) const r = await Mysql.execute( ...Mysql.update( `nt_perm`, @@ -88,17 +86,22 @@ class Permission { } async delete(args) { - await Mysql.execute(`UPDATE nt_perm SET deleted=? WHERE nt_perm_id=?`, [ - args.deleted ?? 1, - args.id, - ]) - return true + if (!args.id) return false + const r = await Mysql.execute( + ...Mysql.update( + `nt_perm`, + `nt_perm_id=${args.id}`, + { deleted: args.deleted ?? 1 }, + ), + ) + return r.changedRows === 1 } async destroy(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_perm`, mapToDbColumn(args, permDbMap)), ) + return r.affectedRows === 1 } } diff --git a/lib/permission.test.js b/lib/permission.test.js index 2d7725e..20eb8a4 100644 --- a/lib/permission.test.js +++ b/lib/permission.test.js @@ -70,8 +70,7 @@ describe('permission', function () { }) it('destroys a permission', async () => { - const r = await Permission.destroy({ id: permTestCase.id }) - assert.equal(r.affectedRows, 1) + assert.ok(await Permission.destroy({ id: permTestCase.id })) const p = await Permission.get({ id: permTestCase.id }) assert.equal(p, undefined) }) diff --git a/lib/user.js b/lib/user.js index d6fa590..1260c95 100644 --- a/lib/user.js +++ b/lib/user.js @@ -122,16 +122,20 @@ class User { async delete(args) { const r = await Mysql.execute( - `UPDATE nt_user SET deleted=? WHERE nt_user_id=?`, - [args.deleted ?? 1, args.id], + ...Mysql.update( + `nt_user`, + `nt_user_id=${args.id}`, + { deleted: args.deleted ?? 1 }, + ), ) return r.changedRows === 1 } async destroy(args) { - await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_user`, mapToDbColumn({ id: args.id }, userDbMap)), ) + return r.affectedRows === 1 } generateSalt(length = 16) { diff --git a/lib/user.test.js b/lib/user.test.js index 63337d7..460ef63 100644 --- a/lib/user.test.js +++ b/lib/user.test.js @@ -57,9 +57,9 @@ describe('user', function () { describe('DELETE', function () { it('deletes a user', async () => { assert.ok(await User.delete({ id: testCase.id })) - let u = await User.get({ id: testCase.id, deleted: 1 }) + let u = await User.get({ id: testCase.id, deleted: true }) assert.equal(u[0].deleted, true) - await User.delete({ id: testCase.id, deleted: 0 }) // restore + await User.delete({ id: testCase.id, deleted: false }) // restore u = await User.get({ id: testCase.id }) assert.equal(u[0].deleted, undefined) }) diff --git a/lib/zone.js b/lib/zone.js index 2f385fd..2c3818a 100644 --- a/lib/zone.js +++ b/lib/zone.js @@ -73,17 +73,21 @@ class Zone { } async delete(args) { - await Mysql.execute(`UPDATE nt_zone SET deleted=? WHERE nt_zone_id=?`, [ - args.deleted ?? 1, - args.id, - ]) - return true + const r = await Mysql.execute( + ...Mysql.update( + `nt_zone`, + `nt_zone_id=${args.id}`, + { deleted: args.deleted ?? 1 }, + ), + ) + return r.changedRows === 1 } async destroy(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_zone`, { nt_zone_id: args.id }), ) + return r.affectedRows === 1 } } diff --git a/lib/zone_record.js b/lib/zone_record.js index a84b28e..48b86cb 100644 --- a/lib/zone_record.js +++ b/lib/zone_record.js @@ -87,17 +87,19 @@ class ZoneRecord { } async delete(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.update(`nt_zone_record`, `nt_zone_record_id=${args.id}`, { deleted: args.deleted ?? 1, }), ) + return r.changedRows === 1 } async destroy(args) { - return await Mysql.execute( + const r = await Mysql.execute( ...Mysql.delete(`nt_zone_record`, { nt_zone_record_id: args.id }), ) + return r.affectedRows === 1 } } diff --git a/routes/user.js b/routes/user.js index dc0c541..f199d00 100644 --- a/routes/user.js +++ b/routes/user.js @@ -138,8 +138,7 @@ function UserRoutes(server) { .code(204) } - const action = request.query.destroy === 'true' ? 'destroy' : 'delete' - await User[action]({ id: users[0].id }) + await User.delete({ id: users[0].id }) delete users[0].gid diff --git a/routes/user.test.js b/routes/user.test.js index 27f541e..1602921 100644 --- a/routes/user.test.js +++ b/routes/user.test.js @@ -116,10 +116,10 @@ describe('user routes', () => { }, }) // console.log(res.result) - assert.equal(res.statusCode, 204) + assert.ok([200, 204].includes(res.statusCode)) }) - it(`GET /user/${userId2}?deleted=1`, async () => { + it(`GET /user/${userId2}?deleted=true`, async () => { const res = await server.inject({ method: 'GET', url: `/user/${userId2}?deleted=true`, @@ -128,7 +128,7 @@ describe('user routes', () => { }, }) // console.log(res.result) - assert.equal(res.statusCode, 200) + assert.ok([200, 204].includes(res.statusCode)) }) it('DELETE /session', async () => {