mirror of
https://github.com/plankanban/planka.git
synced 2025-12-28 01:11:54 +03:00
feat: Add ability to use Gravatar as avatar provider (#1319)
Closes #1243
This commit is contained in:
26
server/api/helpers/users/build-gravatar-url.js
Normal file
26
server/api/helpers/users/build-gravatar-url.js
Normal file
@@ -0,0 +1,26 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
const crypto = require('crypto');
|
||||
|
||||
module.exports = {
|
||||
sync: true,
|
||||
|
||||
inputs: {
|
||||
record: {
|
||||
type: 'ref',
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
fn(inputs) {
|
||||
if (!sails.config.custom.gravatarBaseUrl) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const hash = crypto.createHash('md5').update(inputs.record.email).digest('hex');
|
||||
return `${sails.config.custom.gravatarBaseUrl}${hash}?s=180&d=initials`;
|
||||
},
|
||||
};
|
||||
@@ -36,6 +36,12 @@ module.exports = {
|
||||
termsType: sails.hooks.terms.getTypeByUserRole(inputs.record.role),
|
||||
};
|
||||
|
||||
const gravatarUrl = sails.helpers.users.buildGravatarUrl(inputs.record);
|
||||
|
||||
if (gravatarUrl) {
|
||||
data.gravatarUrl = gravatarUrl;
|
||||
}
|
||||
|
||||
if (inputs.user) {
|
||||
const isForCurrentUser = inputs.record.id === inputs.user.id;
|
||||
const isForAdmin = inputs.user.role === User.Roles.ADMIN;
|
||||
|
||||
Reference in New Issue
Block a user