Whalebird-desktop-client-ma.../src/main/hashtags.js

40 lines
825 B
JavaScript
Raw Normal View History

2018-06-01 07:19:56 +02:00
export default class Hashtags {
constructor (db) {
this.db = db
2018-12-01 21:54:50 +01:00
this.db.ensureIndex({ fieldName: 'tagName', unique: true }, (_) => {})
2018-06-01 07:19:56 +02:00
}
listTags () {
return new Promise((resolve, reject) => {
this.db.find({}, (err, docs) => {
if (err) return reject(err)
resolve(docs)
})
})
}
insertTag (tag) {
return new Promise((resolve, reject) => {
2018-12-01 21:54:50 +01:00
this.db.insert({ tagName: tag }, (err, doc) => {
2018-06-01 07:19:56 +02:00
if (err) return reject(err)
resolve(doc)
})
})
}
2018-06-02 08:30:20 +02:00
removeTag (tag) {
return new Promise((resolve, reject) => {
this.db.remove(
{
tagName: tag.tagName
},
{ multi: true },
(err, numRemoved) => {
if (err) return reject(err)
resolve(numRemoved)
}
)
})
}
2018-06-01 07:19:56 +02:00
}