Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var Group = require(__dirname + '/schema_group.js')
- module.exports = function(waw) {
- waw.dataUrlToLocation = function(dataUrl, loc, file, cb){
- var base64Data = dataUrl.replace(/^data:image\/png;base64,/, '').replace(/^data:image\/jpeg;base64,/, '');
- var decodeData = new Buffer(base64Data, 'base64');
- waw.fs.mkdirSync(loc, { recursive: true });
- waw.fs.writeFile(loc+'/'+file, decodeData, cb);
- }
- var router = waw.router('/api/group');
- router.post("/avatar", function(req, res) {
- Group.findOne({
- _id: req.body._id
- }, function(err, group){
- group.avatarUrl = '/api/group/avatar/' + group._id + '.jpg?' + Date.now();
- console.log(group.avatarUrl);
- waw.parallel([function(next) {
- group.save(next);
- }, function(next) {
- waw.dataUrlToLocation(req.body.dataUrl, __dirname + '/files/', group._id + '.jpg', next);
- }], function() {
- res.json(group.avatarUrl);
- });
- });
- });
- router.get("/avatar/:file", function(req, res) {
- res.sendFile(__dirname + '/files/' + req.params.file);
- });
- router.get("/default.png", function(req, res) {
- res.sendFile(__dirname + '/files/avatar.svg');
- });
- var base = __dirname+'/app/dist/memo';
- waw.use(function(req, res, next) {
- let host = req.get('host').toLowerCase();
- if(req.url.indexOf('/api/')==0) return next();
- if(waw.config.memo && waw.config.memo.urls.indexOf(host)>=0){
- if(req.url.indexOf('.')>-1){
- res.sendFile(base+req.url);
- }else{
- let pages = waw.config.memo.pages.split(' ');
- for (var i = 0; i < pages.length; i++) {
- if(req.url.indexOf(pages[i])>=0){
- return res.sendFile(base+'/index.html');
- }
- }
- next();
- }
- }else{
- next();
- }
- });
- };
Add Comment
Please, Sign In to add comment