Advertisement
Guest User

Untitled

a guest
Jan 17th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. class User {
  2. constructor (db, row) {
  3. this._db = db
  4.  
  5. this.id = row.id
  6. this.firstName = row.first_name
  7. this.lastName = row.last_name
  8. }
  9.  
  10. async save () {
  11. if (!this.id) {
  12. const result = await this._db.execute(`insert into users (first_name, last_name) values (?, ?)`, [this.firstName, this.lastName])
  13. this.id = result.insertId
  14. return
  15. }
  16.  
  17. return this._db.execute(`update users set first_name = ?,last_name = ? where id = ?`, [this.firstName, this.lastName, this.id])
  18. }
  19.  
  20. remove () {
  21. return this._db.execute(`delete from users where id = ?`, [this.id])
  22. }
  23. }
  24.  
  25. module.exports = function (db) {
  26. return {
  27. async find (id) {
  28. const [rows] = await db.execute(`select id, first_name, last_name from users where id = ?`, [id])
  29. return new User(db, rows[0])
  30. },
  31.  
  32. async findAll () {
  33. const [rows] = await db.execute(`select id, first_name, last_name from users`)
  34. return rows.map((row) => new User(db, row))
  35. },
  36. async findByUsername (username) {
  37. const [rows] = await db.execute(`select id, first_name, last_name from users where username = ?`, [username])
  38. return new User(db, rows[0])
  39. }
  40. }
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement