var fs = require("fs");

var SAVE_PATH = "codes/"

exports.makeDir = function(dirPath,callback){
  fs.mkdir(SAVE_PATH+dirPath,callback);
}
exports.save = function(id, slot, file, callback){
  var is = fs.createReadStream(file.path);
  var os = fs.createWriteStream(SAVE_PATH + id + "/" + slot);
  is.pipe(os);
  is.on('end', function(){
  	fs.unlinkSync(file.path);
  	callback(null);
  });
  is.on("error", callback);
}

exports.getFilePath = function(id, slot){
  return SAVE_PATH + id + "/" + slot;
}
exports.getSlotList = function(id, callback){
  fs.readdir(SAVE_PATH + id+"/", function(err, files){
    if(err) {
    	return callback(err);
    }
    //to detech suffix
    files = files.map(function(item){
      return item.substr(0, item.length - 3)
    });
    callback(null, files);
  });
}
var fs = require("fs");

var SAVE_PATH = "codes/"

exports.makeDir = function(dirPath,callback){
  fs.mkdir(SAVE_PATH+dirPath,callback);
}
exports.save = function(id, slot, file, callback){
  var is = fs.createReadStream(file.path);
  var os = fs.createWriteStream(SAVE_PATH + id + "/" + slot);
  is.pipe(os);
  is.on('end', function(){
  	fs.unlinkSync(file.path);
  	callback(null);
  });
  is.on("error", callback);
}

exports.getFilePath = function(id, slot){
  return SAVE_PATH + id + "/" + slot;
}
exports.getSlotList = function(id, callback){
  fs.readdir(SAVE_PATH + id+"/", function(err, files){
    if(err) {
      console.log("여기 진입");
    	return callback(err, {});
    }
    //to detech suffix
    files = files.map(function(item){
      return item.substr(0, item.length - 3)
    });
    callback(null, files);
  });
}
fix bug: error at user login 유저가 로그인 해서 로비로 넘어가는 과정에서 코드 리스트를 불러오는 함수가 routes/codefs.js라는 파일에 있었는데 여기서 콜백으로 넣어준 함수의 인자는 2개인데 1개만 넣어서 콜백을 호출해서 에러가 발생했습니다. 그래서 일단codefs.node.js의 25번 줄의 callback(err)을 callback(err, {})로 바꿨습니다. {}는 files라는 코드 파일 리스트를 빈 리스트로 반환하겠다는 의미입니다.