Add auth and blacklist APIs
This commit is contained in:
71
server/BlacklistAPI.js
Normal file
71
server/BlacklistAPI.js
Normal file
@ -0,0 +1,71 @@
|
||||
const db = require('./RedisClient')
|
||||
|
||||
const BlacklistSet = 'blacklisted-packages'
|
||||
|
||||
function addPackage(packageName) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.sadd(BlacklistSet, packageName, (error, value) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else {
|
||||
resolve(value === 1)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function removePackage(packageName) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.srem(BlacklistSet, packageName, (error, value) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else {
|
||||
resolve(value === 1)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function removeAllPackages() {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.del(BlacklistSet, error => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else {
|
||||
resolve()
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function getPackages() {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.smembers(BlacklistSet, (error, value) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else {
|
||||
resolve(value)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
function containsPackage(packageName) {
|
||||
return new Promise((resolve, reject) => {
|
||||
db.sismember(BlacklistSet, packageName, (error, value) => {
|
||||
if (error) {
|
||||
reject(error)
|
||||
} else {
|
||||
resolve(value === 1)
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
addPackage,
|
||||
removePackage,
|
||||
removeAllPackages,
|
||||
getPackages,
|
||||
containsPackage
|
||||
}
|
Reference in New Issue
Block a user