|
const PluginAuth = require('../../models/schema/pluginAuthSchema'); |
|
const { encrypt, decrypt } = require('../../utils/'); |
|
|
|
const getUserPluginAuthValue = async (user, authField) => { |
|
try { |
|
const pluginAuth = await PluginAuth.findOne({ user, authField }).lean(); |
|
if (!pluginAuth) { |
|
return null; |
|
} |
|
const decryptedValue = decrypt(pluginAuth.value); |
|
return decryptedValue; |
|
} catch (err) { |
|
console.log(err); |
|
return err; |
|
} |
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const updateUserPluginAuth = async (userId, authField, pluginKey, value) => { |
|
try { |
|
const encryptedValue = encrypt(value); |
|
const pluginAuth = await PluginAuth.findOne({ userId, authField }).lean(); |
|
if (pluginAuth) { |
|
const pluginAuth = await PluginAuth.updateOne( |
|
{ userId, authField }, |
|
{ $set: { value: encryptedValue } }, |
|
); |
|
return pluginAuth; |
|
} else { |
|
const newPluginAuth = await new PluginAuth({ |
|
userId, |
|
authField, |
|
value: encryptedValue, |
|
pluginKey, |
|
}); |
|
newPluginAuth.save(); |
|
return newPluginAuth; |
|
} |
|
} catch (err) { |
|
console.log(err); |
|
return err; |
|
} |
|
}; |
|
|
|
const deleteUserPluginAuth = async (userId, authField) => { |
|
try { |
|
const response = await PluginAuth.deleteOne({ userId, authField }); |
|
return response; |
|
} catch (err) { |
|
console.log(err); |
|
return err; |
|
} |
|
}; |
|
|
|
module.exports = { |
|
getUserPluginAuthValue, |
|
updateUserPluginAuth, |
|
deleteUserPluginAuth, |
|
}; |
|
|