controller.js 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. import Database from 'better-sqlite3'
  2. import { v4 } from 'uuid'
  3. const db = new Database('./cosette.db')
  4. function load () {
  5. db.pragma('journal_mode = WAL')
  6. db.exec('CREATE TABLE IF NOT EXISTS cosette (uuid TEXT PRIMARY KEY, name TEXT NOT NULL, description TEXT, tags TEXT, images TEXT)')
  7. }
  8. // load()
  9. export function add (cosetta) {
  10. const q = db.prepare('INSERT INTO cosette (uuid, name, description, tags, images) VALUES(:uuid, :name, :description, :tags, :imgs)')
  11. cosetta.uuid = v4()
  12. cosetta.tags = JSON.stringify(cosetta.tags)
  13. cosetta.imgs = JSON.stringify(cosetta.imgs)
  14. q.run(cosetta)
  15. return cosetta
  16. }
  17. export function get (uuid) {
  18. const q = db.prepare('SELECT * from cosette WHERE uuid = ?')
  19. console.error('sono dentro cosetta e cerco ', uuid)
  20. q.get(uuid)
  21. }
  22. export function getAll (limit=0, offset=0, tags=[], search='') {
  23. const q = db.prepare('SELECT * FROM cosette')
  24. const ret = q.all()
  25. return ret.map(r => {
  26. r.tags = JSON.parse(r.tags)
  27. r.imgs = JSON.parse(r.imgs)
  28. return r
  29. })
  30. }