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
|
|
|
}
|