You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
688 B
39 lines
688 B
const {
|
|
userCollection
|
|
} = require('../../common/constants')
|
|
const {
|
|
ERROR
|
|
} = require('../../common/error')
|
|
const {
|
|
findUser
|
|
} = require('../../lib/utils/account')
|
|
|
|
async function isAuthorizeApproved ({
|
|
uid,
|
|
appIdList
|
|
} = {}) {
|
|
const getUserRes = await userCollection.doc(uid).get()
|
|
const userRecord = getUserRes.data[0]
|
|
if (!userRecord) {
|
|
throw {
|
|
errCode: ERROR.ACCOUNT_NOT_EXISTS
|
|
}
|
|
}
|
|
const {
|
|
userMatched
|
|
} = await findUser({
|
|
userQuery: userRecord,
|
|
authorizedApp: appIdList
|
|
})
|
|
|
|
if (userMatched.some(item => item._id !== uid)) {
|
|
throw {
|
|
errCode: ERROR.ACCOUNT_CONFLICT
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
isAuthorizeApproved
|
|
}
|