tom-framework
Version:
tom-framework for Node.js
22 lines (21 loc) • 1.19 kB
JavaScript
const require2 = require('tomjs/handlers/require2');
const path = require2('path');
const AppDir = require2('tomjs/handlers/dir')();
const ApiError = require2(path.join(AppDir, './error/api_error'));
const Events = require2('tomjs/handlers/events');
const { renameFile } = require2('tomjs/handlers/tools');
const SystemConfig = require2('tomjs/configs')().system;
const users_cfg = require2('tomjs/configs')().users;
class UsersHandler {
static async avatar(user_id, request_files_avatar_path) {
let emitter = Events.getEventEmitter('user');
let filename = user_id + path.extname(request_files_avatar_path);
let avatar_filename = path.resolve(AppDir, users_cfg.avatar_path, filename);
try { await renameFile(request_files_avatar_path, avatar_filename); }
catch (e) { throw new ApiError(ApiError.MOVE_USER_AVATAR_ERROR, { id: id }); }
let avatar_url = SystemConfig.api_server_type + SystemConfig.api_server_host + ':' + SystemConfig.api_server_port + '/avatar/' + filename;
emitter.emit('update_avatar', { user_id, avatar_filename, avatar_url });
return avatar_url;
}
}
module.exports = UsersHandler;