var database = require('./../../models/index').database
var GError = require('./../../helper/Gerror').G_Error
var libMessage = require('./../../helper/constant')
module.exports = function (input) {
return database.select('expand(first(in("haslogin")))')
.from('Login').where({
token: input.token,
active: true
}).one()
.then(function (user) {
console.log(user)
if (!user) {
throw GError(libMessage.error.INVALID_TOKEN)
}
if (user.role !== 'admin') {
throw GError(libMessage.error.INVALID_PERMISSION)
}
return database.select().from('Product').where(
'@rid = ' + input.productId
).one()
}).then(function (product) {
if (!product) {
throw GError(libMessage.error.MISSING_PRODUCT)
}
return database.update('Product').set({
status: false
}).where('@rid = ' + input.productId)
.scalar()
}).then(function (data) {
if (!data) {
throw GError(libMessage.error.HANDLE_FAIL)
}
return {
message: libMessage.success.SUCCESSFUL.message
}
}).then(function (success) {
input.returnSuccessResponse(input.res, success)
}, function (error) {
input.returnErrorResponse(input.res, error)
})
}
我使用的是nodejs和Seneca。我使用OrientDB
数据库。我用它来扩展OrientDB,但结果并不像预期的那样。
当我在console.log(用户)时,它产生了一个结果:
{'@rid': {[String: '# 12: 37'] cluster: 12, position: 37}}
我使用的查询是:
select expand (first (print ("haslogin"))) from where the Login token = 'f3a93042ee17776443458b315416bfd430cb7e7ab5f85e9f39232d1093ef7c74' and active = true
中的代码和数据库中的结果不一样