SWAG98

Division.js

Jul 8th, 2016
163
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. fs = require("fs")
  2. maxDivisions = 10
  3. maxShips = 10
  4. divisionFile = "./division.json"
  5. if(!archive.exists(divisionFile)){
  6.     fs.writeFileSync(divisionFile,"{}")
  7. }
  8. /*
  9. Format of Divisions.json:
  10. {"userid1":{{"name":"division1","ships":[shipids]},{"name":"division2","ships":[shipids]}},"userid2":{{"name":"division1","ships":[shipids]},{"name":"division2","ships":[shipids]}}}
  11.  
  12. Returning:
  13.     div(object) = success
  14.     error01     = to many divisions
  15.     error02     = to many ships
  16.     error03     = no such division
  17.     error04     = no divisions
  18. */
  19. this.createDivision = function(id,name,ships){
  20.     div = archive.read(divisionFile)
  21.     if(!div[id]){div[id] = id}
  22.     if(Object.keys(div[id].length)>=maxDivisions){return "error01"}
  23.     if(ships.length>maxShips){return "error02"}
  24.     div[id][Object.keys(div[id]).length+1].name = name
  25.     div[id][Object.keys(div[id]).length+1].ships = ships
  26.     archive.write(divisionFile,div)
  27.     return div
  28. }
  29.  
  30. this.renameDivision = function(id,divNr,name){
  31.     div = archive.read(divisionFile)
  32.     if(!div[id]){return "error04"}
  33.     if(!div[id][divNr]){return "error03"}
  34.     div[id][divNr].name=name
  35.     archive.write(divisionFile,div)
  36.     return div
  37. }
  38.  
  39. this.editDivision = function(id,divNr,ships){
  40.     div = archive.read(divisionFile)
  41.     if(ships.length>maxShips){return "error02"}
  42.     if(!div[id][divNr]){return "error03"}
  43.     div[id][divNr].ships = ships
  44.     archive.write(divisionFile,div)
  45.     return div
  46. }
  47.  
  48. this.getDivision = function(id){
  49.     div = archive.read(divisionFile)
  50.     if(!div[id]){return "error04"}
  51.     return div[id]
  52. }
  53.  
  54. class archive{
  55.     read(file){
  56.         return JSON.parse(fs.readFileSync(file))
  57.     }
  58.     write(file,object){
  59.         fs.writeFileSync(file,JSON.stringify(object))
  60.         return true
  61.     }
  62.     exists(file){
  63.         fs.stat(file,(err,stats)=>{
  64.             if(err){return err}
  65.             if(stats.isFile()){return true}
  66.         })
  67.     }
  68. }
Advertisement
Add Comment
Please, Sign In to add comment