files.js 2.76 KB
var fs_ex = require('fs.extra');
var fs = require('fs');
var console = process.console;
module.exports = function(Files) {

    Files.disableRemoteMethod("create", true);
    Files.disableRemoteMethod("upsert", true);
    Files.disableRemoteMethod("updateAll", true);
    Files.disableRemoteMethod("updateAttributes", false);

    Files.disableRemoteMethod("find", true);
    Files.disableRemoteMethod("findById", true);
    Files.disableRemoteMethod("findOne", true);

    Files.disableRemoteMethod("deleteById", true);

    Files.disableRemoteMethod("confirm", true);
    Files.disableRemoteMethod("count", true);
    Files.disableRemoteMethod("exists", true);
    Files.disableRemoteMethod("resetPassword", true);

    Files.disableRemoteMethod('__count__accessTokens', false);
    Files.disableRemoteMethod('__create__accessTokens', false);
    Files.disableRemoteMethod('__delete__accessTokens', false);
    Files.disableRemoteMethod('__destroyById__accessTokens', false);
    Files.disableRemoteMethod('__findById__accessTokens', false);
    Files.disableRemoteMethod('__get__accessTokens', false);
    Files.disableRemoteMethod('__updateById__accessTokens', false);

    Files.disableRemoteMethod('create', true);                // Removes (POST) /products
    Files.disableRemoteMethod('upsert', true);                // Removes (PUT) /products
    Files.disableRemoteMethod('deleteById', true);            // Removes (DELETE) /products/:id
    Files.disableRemoteMethod("updateAll", true);               // Removes (POST) /products/update
    Files.disableRemoteMethod("updateAttributes", false);       // Removes (PUT) /products/:id
    Files.disableRemoteMethod('createChangeStream', true);    // removes (GET|POST) /products/change-stream


    Files.Files = function(ctx,cb){
        var path = __dirname+'/../uploads/upload';
        console.log(path);
        fs.readFile(path+'.txt', 'utf8', function (err, body) {
            if (err){
                FnwriteFile(body,ctx)
            }else{
                FnwriteFile(body,ctx)
            }
        });
    };
    function FnwriteFile(body,data){
        var path = __dirname+'/../uploads/upload';

        //Do your processing, MD5, send a satellite to the moon, etc.
        fs.writeFile(path+'.txt', body+"\n"+data.data, 'utf8', function (err) {
            if (err) {
                console.log(err);
            }else {
                console.tag('docs').log("Write file complete");
            }
        });

    }
    Files.remoteMethod('Files',{
        http:{path:'/Files',verb:'post'},
        accepts: { arg: 'ctx', type: 'object', default: {
            "data":"https://www.npmjs.com/package/fs.extra  // https://nodejs.org/api/fs.html"
        },http: { source: 'body' }},
        returns: {arg: 'data', type: 'object', root: true}
    })

};