Make avatar apis buffer based
This commit is contained in:
+6
-4
@@ -783,11 +783,13 @@ function compareRoles(role1, role2) {
|
||||
async function getAvatarUrl(user) {
|
||||
assert.strictEqual(typeof user, 'object');
|
||||
|
||||
const result = await getAvatar(user.id);
|
||||
const fallbackUrl = `${settings.dashboardOrigin()}/img/avatar-default-symbolic.svg`;
|
||||
|
||||
if (result.toString() === constants.AVATAR_NONE) return fallbackUrl;
|
||||
else if (result.toString() === constants.AVATAR_GRAVATAR) return `https://www.gravatar.com/avatar/${require('crypto').createHash('md5').update(user.email).digest('hex')}.jpg`;
|
||||
const [error, result] = await safe(getAvatar(user.id));
|
||||
if (error) throw error;
|
||||
|
||||
if (result.equals(constants.AVATAR_NONE)) return fallbackUrl;
|
||||
else if (result.equals(constants.AVATAR_GRAVATAR)) return `https://www.gravatar.com/avatar/${require('crypto').createHash('md5').update(user.email).digest('hex')}.jpg`;
|
||||
else if (result) return `${settings.dashboardOrigin()}/api/v1/profile/avatar/${user.id}`;
|
||||
else return fallbackUrl;
|
||||
}
|
||||
@@ -802,7 +804,7 @@ async function getAvatar(id) {
|
||||
|
||||
async function setAvatar(id, avatar) {
|
||||
assert.strictEqual(typeof id, 'string');
|
||||
assert(avatar === constants.AVATAR_NONE || avatar === constants.AVATAR_GRAVATAR || Buffer.isBuffer(avatar));
|
||||
assert(Buffer.isBuffer(avatar));
|
||||
|
||||
const result = await database.query('UPDATE users SET avatar=? WHERE id = ?', [ avatar, id ]);
|
||||
if (result.length === 0) throw new BoxError(BoxError.NOT_FOUND, 'User not found');
|
||||
|
||||
Reference in New Issue
Block a user