Merge with master
						commit
						3361caaf4a
					
				| 
						 | 
					@ -6,7 +6,8 @@ tmp/
 | 
				
			||||||
etc/
 | 
					etc/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# dependencies
 | 
					# dependencies
 | 
				
			||||||
/node_modules
 | 
					node_modules
 | 
				
			||||||
 | 
					package-lock.json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# IDEs and editors
 | 
					# IDEs and editors
 | 
				
			||||||
/.idea
 | 
					/.idea
 | 
				
			||||||
| 
						 | 
					@ -49,7 +50,6 @@ mongodb-data/
 | 
				
			||||||
backup/
 | 
					backup/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.idea/
 | 
					.idea/
 | 
				
			||||||
node_modules
 | 
					 | 
				
			||||||
*/nbproject*
 | 
					*/nbproject*
 | 
				
			||||||
.npm/
 | 
					.npm/
 | 
				
			||||||
.bash_history
 | 
					.bash_history
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 Before Width: | Height: | Size: 95 B  | 
| 
						 | 
					@ -14,26 +14,39 @@ deleteOldest() {
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# array of available collection names
 | 
					# array of available collection names
 | 
				
			||||||
col=(app_user awarding decoration rank squad user promotion player war)
 | 
					col=(app_user awarding decoration rank squad user promotion player war campaign)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$1" ]
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    DATE=$(date '+%Y-%m-%d')
 | 
				
			||||||
 | 
					    mkdir -p ${DATE}/resource
 | 
				
			||||||
 | 
					    cp -R ../api/resource/ ${DATE}/
 | 
				
			||||||
 | 
					  else
 | 
				
			||||||
 | 
					    DATE=${1}
 | 
				
			||||||
 | 
					    tar -xzf ${DATE}.tar.gz
 | 
				
			||||||
 | 
					    rm -rf ../api/resource
 | 
				
			||||||
 | 
					    cp -Rv ${DATE}/resource ../api/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
for i in "${col[@]}"
 | 
					for i in "${col[@]}"
 | 
				
			||||||
do
 | 
					do
 | 
				
			||||||
  # provide date for restore process, if data import is needed
 | 
					  # provide date for restore process, if data import is needed
 | 
				
			||||||
  if [ -z "$1" ]
 | 
					  if [ -z "$1" ]
 | 
				
			||||||
    then
 | 
					    then
 | 
				
			||||||
      DATE=$(date '+%Y-%m-%d')
 | 
					 | 
				
			||||||
      mongoexport --db cc --collection $i --out ${DATE}/collections/${i}.json;
 | 
					      mongoexport --db cc --collection $i --out ${DATE}/collections/${i}.json;
 | 
				
			||||||
      cp -R ../api/resource ${DATE}/
 | 
					 | 
				
			||||||
      tar -zcf ${DATE}.tar.gz ${DATE}
 | 
					 | 
				
			||||||
      rm -R ${DATE}
 | 
					 | 
				
			||||||
      if [ $(ls -l | grep -c ^d) -gt 5 ]; then
 | 
					      if [ $(ls -l | grep -c ^d) -gt 5 ]; then
 | 
				
			||||||
        deleteOldest
 | 
					        deleteOldest
 | 
				
			||||||
      fi
 | 
					      fi
 | 
				
			||||||
    else
 | 
					    else
 | 
				
			||||||
      tar -xzf ${1}.tar.gz
 | 
					 | 
				
			||||||
      mongoimport --db cc --collection $i --drop --file ${1}/collections/${i}.json
 | 
					      mongoimport --db cc --collection $i --drop --file ${1}/collections/${i}.json
 | 
				
			||||||
      rm -rf ../api/resource
 | 
					 | 
				
			||||||
      cp -Rv ${1}/resource ../api/
 | 
					 | 
				
			||||||
      rm -R ${1}
 | 
					 | 
				
			||||||
  fi
 | 
					  fi
 | 
				
			||||||
done
 | 
					done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -z "$1" ]
 | 
				
			||||||
 | 
					  then
 | 
				
			||||||
 | 
					    tar -zcf ${DATE}.tar.gz ${DATE}
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rm -rf ${DATE}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,683 +0,0 @@
 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  "name": "opt-cc",
 | 
					 | 
				
			||||||
  "version": "1.3.1",
 | 
					 | 
				
			||||||
  "lockfileVersion": 1,
 | 
					 | 
				
			||||||
  "requires": true,
 | 
					 | 
				
			||||||
  "dependencies": {
 | 
					 | 
				
			||||||
    "ajv": {
 | 
					 | 
				
			||||||
      "version": "4.11.8",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "co": "4.6.0",
 | 
					 | 
				
			||||||
        "json-stable-stringify": "1.0.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "ansi-regex": {
 | 
					 | 
				
			||||||
      "version": "0.2.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-DY6UaWej2BQ/k+JOKYUl/BsiNfk=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "ansi-styles": {
 | 
					 | 
				
			||||||
      "version": "1.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-6uy/Zs1waIJ2Cy9GkVgrj1XXp94=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "asn1": {
 | 
					 | 
				
			||||||
      "version": "0.2.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "assert-plus": {
 | 
					 | 
				
			||||||
      "version": "0.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "asynckit": {
 | 
					 | 
				
			||||||
      "version": "0.4.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "aws-sign2": {
 | 
					 | 
				
			||||||
      "version": "0.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "aws4": {
 | 
					 | 
				
			||||||
      "version": "1.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "bcrypt-pbkdf": {
 | 
					 | 
				
			||||||
      "version": "1.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "optional": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "tweetnacl": "0.14.5"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "boom": {
 | 
					 | 
				
			||||||
      "version": "2.10.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "hoek": "2.16.3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "hoek": {
 | 
					 | 
				
			||||||
          "version": "2.16.3",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "caseless": {
 | 
					 | 
				
			||||||
      "version": "0.12.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "chalk": {
 | 
					 | 
				
			||||||
      "version": "0.5.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-Zjs6ZItotV0EaQ1JFnqoN4WPIXQ=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "ansi-styles": "1.1.0",
 | 
					 | 
				
			||||||
        "escape-string-regexp": "1.0.5",
 | 
					 | 
				
			||||||
        "has-ansi": "0.1.0",
 | 
					 | 
				
			||||||
        "strip-ansi": "0.3.0",
 | 
					 | 
				
			||||||
        "supports-color": "0.2.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "supports-color": {
 | 
					 | 
				
			||||||
          "version": "0.2.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-2S3iaU6z9nMjlz1649i1W0wiGQo=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "co": {
 | 
					 | 
				
			||||||
      "version": "4.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "combined-stream": {
 | 
					 | 
				
			||||||
      "version": "1.0.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "delayed-stream": "1.0.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "commander": {
 | 
					 | 
				
			||||||
      "version": "2.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-nfflL7Kgyw+4kFjugMMQQiXzfh0=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "concurrently": {
 | 
					 | 
				
			||||||
      "version": "3.5.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-3.5.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-jPG3cHppFqeKT/W3e7BN7FSzebI=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "chalk": "0.5.1",
 | 
					 | 
				
			||||||
        "commander": "2.6.0",
 | 
					 | 
				
			||||||
        "date-fns": "1.28.5",
 | 
					 | 
				
			||||||
        "lodash": "4.17.4",
 | 
					 | 
				
			||||||
        "rx": "2.3.24",
 | 
					 | 
				
			||||||
        "spawn-command": "0.0.2-1",
 | 
					 | 
				
			||||||
        "supports-color": "3.2.3",
 | 
					 | 
				
			||||||
        "tree-kill": "1.1.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "core-js": {
 | 
					 | 
				
			||||||
      "version": "2.4.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.4.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-TekR5mew6ukSTjQlS1OupvxhjT4=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "cryptiles": {
 | 
					 | 
				
			||||||
      "version": "2.0.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "boom": "2.10.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "dashdash": {
 | 
					 | 
				
			||||||
      "version": "1.14.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "assert-plus": "1.0.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "assert-plus": {
 | 
					 | 
				
			||||||
          "version": "1.0.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "date-fns": {
 | 
					 | 
				
			||||||
      "version": "1.28.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.28.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-JXz8RdMi30XvVlhmWWfuhBzXP68=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "delayed-stream": {
 | 
					 | 
				
			||||||
      "version": "1.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "ecc-jsbn": {
 | 
					 | 
				
			||||||
      "version": "0.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "optional": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "jsbn": "0.1.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "escape-string-regexp": {
 | 
					 | 
				
			||||||
      "version": "1.0.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "extend": {
 | 
					 | 
				
			||||||
      "version": "3.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "extsprintf": {
 | 
					 | 
				
			||||||
      "version": "1.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-4QgOBljjALBilJkMxw4VAiNf1VA=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "forever-agent": {
 | 
					 | 
				
			||||||
      "version": "0.6.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "form-data": {
 | 
					 | 
				
			||||||
      "version": "2.1.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.1.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "asynckit": "0.4.0",
 | 
					 | 
				
			||||||
        "combined-stream": "1.0.5",
 | 
					 | 
				
			||||||
        "mime-types": "2.1.15"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "getpass": {
 | 
					 | 
				
			||||||
      "version": "0.1.7",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "assert-plus": "1.0.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "assert-plus": {
 | 
					 | 
				
			||||||
          "version": "1.0.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "har-schema": {
 | 
					 | 
				
			||||||
      "version": "1.0.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "har-validator": {
 | 
					 | 
				
			||||||
      "version": "4.2.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "ajv": "4.11.8",
 | 
					 | 
				
			||||||
        "har-schema": "1.0.5"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "has-ansi": {
 | 
					 | 
				
			||||||
      "version": "0.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-hPJlqujA5qiKEtcCKJS3VoiUxi4=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "ansi-regex": "0.2.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "has-flag": {
 | 
					 | 
				
			||||||
      "version": "1.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "hawk": {
 | 
					 | 
				
			||||||
      "version": "3.1.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "boom": "2.10.1",
 | 
					 | 
				
			||||||
        "cryptiles": "2.0.5",
 | 
					 | 
				
			||||||
        "hoek": "2.16.3",
 | 
					 | 
				
			||||||
        "sntp": "1.0.9"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "hoek": {
 | 
					 | 
				
			||||||
          "version": "2.16.3",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "hoek": {
 | 
					 | 
				
			||||||
      "version": "4.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/hoek/-/hoek-4.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-nMVz/7ore0CPtenCoTeWvpTN3Ok=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "http-signature": {
 | 
					 | 
				
			||||||
      "version": "1.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "assert-plus": "0.2.0",
 | 
					 | 
				
			||||||
        "jsprim": "1.4.0",
 | 
					 | 
				
			||||||
        "sshpk": "1.13.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "is-typedarray": {
 | 
					 | 
				
			||||||
      "version": "1.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "isemail": {
 | 
					 | 
				
			||||||
      "version": "2.2.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/isemail/-/isemail-2.2.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-A1PT2aYpUQgMJiwqoKQrjqjp4qY=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "isstream": {
 | 
					 | 
				
			||||||
      "version": "0.1.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "items": {
 | 
					 | 
				
			||||||
      "version": "2.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/items/-/items-2.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-i9FtnIOxlSneWuoyGsqtp4NkoZg=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "joi": {
 | 
					 | 
				
			||||||
      "version": "9.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/joi/-/joi-9.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-M4WseQGSEwy+Iw6ALsAskhW7/to=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "hoek": "4.1.1",
 | 
					 | 
				
			||||||
        "isemail": "2.2.1",
 | 
					 | 
				
			||||||
        "items": "2.1.1",
 | 
					 | 
				
			||||||
        "moment": "2.18.1",
 | 
					 | 
				
			||||||
        "topo": "2.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "jsbn": {
 | 
					 | 
				
			||||||
      "version": "0.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "optional": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "json-schema": {
 | 
					 | 
				
			||||||
      "version": "0.2.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "json-stable-stringify": {
 | 
					 | 
				
			||||||
      "version": "1.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "jsonify": "0.0.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "json-stringify-safe": {
 | 
					 | 
				
			||||||
      "version": "5.0.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "jsonify": {
 | 
					 | 
				
			||||||
      "version": "0.0.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "jsprim": {
 | 
					 | 
				
			||||||
      "version": "1.4.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-o7h+QCmNjDgFUtjMdiigu5WiKRg=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "assert-plus": "1.0.0",
 | 
					 | 
				
			||||||
        "extsprintf": "1.0.2",
 | 
					 | 
				
			||||||
        "json-schema": "0.2.3",
 | 
					 | 
				
			||||||
        "verror": "1.3.6"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "assert-plus": {
 | 
					 | 
				
			||||||
          "version": "1.0.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "lodash": {
 | 
					 | 
				
			||||||
      "version": "4.17.4",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.4.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-eCA6TRwyiuHYbcpkYONptX9AVa4=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "mime-db": {
 | 
					 | 
				
			||||||
      "version": "1.27.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.27.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-gg9XIpa70g7CXtVeW13oaeVDbrE=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "mime-types": {
 | 
					 | 
				
			||||||
      "version": "2.1.15",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.15.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-pOv1BkCUVpI3uM9wBGd20J/JKu0=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "mime-db": "1.27.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "minimist": {
 | 
					 | 
				
			||||||
      "version": "1.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "moment": {
 | 
					 | 
				
			||||||
      "version": "2.18.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/moment/-/moment-2.18.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-w2GT3Tzhwu7SrbfIAtu8d6gbHA8=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "oauth-sign": {
 | 
					 | 
				
			||||||
      "version": "0.8.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "performance-now": {
 | 
					 | 
				
			||||||
      "version": "0.2.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "punycode": {
 | 
					 | 
				
			||||||
      "version": "1.4.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "qs": {
 | 
					 | 
				
			||||||
      "version": "6.4.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "request": {
 | 
					 | 
				
			||||||
      "version": "2.81.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/request/-/request-2.81.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "aws-sign2": "0.6.0",
 | 
					 | 
				
			||||||
        "aws4": "1.6.0",
 | 
					 | 
				
			||||||
        "caseless": "0.12.0",
 | 
					 | 
				
			||||||
        "combined-stream": "1.0.5",
 | 
					 | 
				
			||||||
        "extend": "3.0.1",
 | 
					 | 
				
			||||||
        "forever-agent": "0.6.1",
 | 
					 | 
				
			||||||
        "form-data": "2.1.4",
 | 
					 | 
				
			||||||
        "har-validator": "4.2.1",
 | 
					 | 
				
			||||||
        "hawk": "3.1.3",
 | 
					 | 
				
			||||||
        "http-signature": "1.1.1",
 | 
					 | 
				
			||||||
        "is-typedarray": "1.0.0",
 | 
					 | 
				
			||||||
        "isstream": "0.1.2",
 | 
					 | 
				
			||||||
        "json-stringify-safe": "5.0.1",
 | 
					 | 
				
			||||||
        "mime-types": "2.1.15",
 | 
					 | 
				
			||||||
        "oauth-sign": "0.8.2",
 | 
					 | 
				
			||||||
        "performance-now": "0.2.0",
 | 
					 | 
				
			||||||
        "qs": "6.4.0",
 | 
					 | 
				
			||||||
        "safe-buffer": "5.1.1",
 | 
					 | 
				
			||||||
        "stringstream": "0.0.5",
 | 
					 | 
				
			||||||
        "tough-cookie": "2.3.2",
 | 
					 | 
				
			||||||
        "tunnel-agent": "0.6.0",
 | 
					 | 
				
			||||||
        "uuid": "3.1.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "rx": {
 | 
					 | 
				
			||||||
      "version": "2.3.24",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/rx/-/rx-2.3.24.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-FPlQpCF9fjXapxu8vljv9o6ksrc=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "safe-buffer": {
 | 
					 | 
				
			||||||
      "version": "5.1.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "sntp": {
 | 
					 | 
				
			||||||
      "version": "1.0.9",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "hoek": "2.16.3"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "hoek": {
 | 
					 | 
				
			||||||
          "version": "2.16.3",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "source-map": {
 | 
					 | 
				
			||||||
      "version": "0.5.6",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI="
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "spawn-command": {
 | 
					 | 
				
			||||||
      "version": "0.0.2-1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/spawn-command/-/spawn-command-0.0.2-1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-YvXpRmmBwbeW3Fkpk34RycaSG9A=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "sshpk": {
 | 
					 | 
				
			||||||
      "version": "1.13.1",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "asn1": "0.2.3",
 | 
					 | 
				
			||||||
        "assert-plus": "1.0.0",
 | 
					 | 
				
			||||||
        "bcrypt-pbkdf": "1.0.1",
 | 
					 | 
				
			||||||
        "dashdash": "1.14.1",
 | 
					 | 
				
			||||||
        "ecc-jsbn": "0.1.1",
 | 
					 | 
				
			||||||
        "getpass": "0.1.7",
 | 
					 | 
				
			||||||
        "jsbn": "0.1.1",
 | 
					 | 
				
			||||||
        "tweetnacl": "0.14.5"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "assert-plus": {
 | 
					 | 
				
			||||||
          "version": "1.0.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "stringstream": {
 | 
					 | 
				
			||||||
      "version": "0.0.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "strip-ansi": {
 | 
					 | 
				
			||||||
      "version": "0.3.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-JfSOoiynkYfzF0pNuHWTR7sSYiA=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "ansi-regex": "0.2.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "supports-color": {
 | 
					 | 
				
			||||||
      "version": "3.2.3",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "has-flag": "1.0.0"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "topo": {
 | 
					 | 
				
			||||||
      "version": "2.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "hoek": "4.1.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "tough-cookie": {
 | 
					 | 
				
			||||||
      "version": "2.3.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "punycode": "1.4.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "tree-kill": {
 | 
					 | 
				
			||||||
      "version": "1.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-yWPc8DciiS7FnLpWnpQLcZVNFyk=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "tunnel-agent": {
 | 
					 | 
				
			||||||
      "version": "0.6.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "safe-buffer": "5.1.1"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "tweetnacl": {
 | 
					 | 
				
			||||||
      "version": "0.14.5",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "optional": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "uglify-js": {
 | 
					 | 
				
			||||||
      "version": "3.0.26",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.0.26.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-+D/BjzuvT1oRMSkH0fuF3M/BCvDxDywmZasd1UTPPHsdsHZqJEAZSvrojgFlS7lrM3ZZWq5h7Bb5i96X1TbOJw==",
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "commander": "2.11.0",
 | 
					 | 
				
			||||||
        "source-map": "0.5.6"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "commander": {
 | 
					 | 
				
			||||||
          "version": "2.11.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/commander/-/commander-2.11.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ=="
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "uuid": {
 | 
					 | 
				
			||||||
      "version": "3.1.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ=",
 | 
					 | 
				
			||||||
      "dev": true
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "verror": {
 | 
					 | 
				
			||||||
      "version": "1.3.6",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-z/XfEpRtKX0rqu+qJoniW+AcAFw=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "extsprintf": "1.0.2"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
    "wait-on": {
 | 
					 | 
				
			||||||
      "version": "2.0.2",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-2.0.2.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha1-CoT9BwJMb8Joyw6r5YW+IXqvK6o=",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "requires": {
 | 
					 | 
				
			||||||
        "core-js": "2.4.1",
 | 
					 | 
				
			||||||
        "joi": "9.2.0",
 | 
					 | 
				
			||||||
        "minimist": "1.2.0",
 | 
					 | 
				
			||||||
        "request": "2.81.0",
 | 
					 | 
				
			||||||
        "rx": "4.1.0"
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      "dependencies": {
 | 
					 | 
				
			||||||
        "rx": {
 | 
					 | 
				
			||||||
          "version": "4.1.0",
 | 
					 | 
				
			||||||
          "resolved": "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz",
 | 
					 | 
				
			||||||
          "integrity": "sha1-pfE/957zt0D+MKqAP7CfmIBdR4I=",
 | 
					 | 
				
			||||||
          "dev": true
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
  "name": "opt-cc",
 | 
					  "name": "opt-cc",
 | 
				
			||||||
  "version": "1.3.1",
 | 
					  "version": "1.4.0",
 | 
				
			||||||
  "license": "MIT",
 | 
					  "license": "MIT",
 | 
				
			||||||
  "private": true,
 | 
					  "private": true,
 | 
				
			||||||
  "scripts": {
 | 
					  "scripts": {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							| 
						 | 
					@ -25,7 +25,6 @@ import {AppUserService} from "./services/app-user-service/app-user.service";
 | 
				
			||||||
import {AppUserStore} from "./services/stores/app-user.store";
 | 
					import {AppUserStore} from "./services/stores/app-user.store";
 | 
				
			||||||
import {PromotionService} from "./services/promotion-service/promotion.service";
 | 
					import {PromotionService} from "./services/promotion-service/promotion.service";
 | 
				
			||||||
import {FilterRankPipe} from "./filter/filter.pipe";
 | 
					import {FilterRankPipe} from "./filter/filter.pipe";
 | 
				
			||||||
import {WarService} from "./services/war-service/war.service";
 | 
					 | 
				
			||||||
import {SharedModule} from "./shared.module";
 | 
					import {SharedModule} from "./shared.module";
 | 
				
			||||||
import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
 | 
					import {BrowserAnimationsModule} from "@angular/platform-browser/animations";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,3 +1,9 @@
 | 
				
			||||||
.chart-container {
 | 
					.slide-chart-container {
 | 
				
			||||||
  width: 1200px;
 | 
					  width: 1200px;
 | 
				
			||||||
 | 
					  margin: auto;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					:host /deep/ .carousel-control {
 | 
				
			||||||
 | 
					  width: 5%;
 | 
				
			||||||
 | 
					  cursor: pointer;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,13 +1,23 @@
 | 
				
			||||||
<h2>{{title}}</h2>
 | 
					<h2 style="margin-bottom: 20px">{{title}}</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<h3>Punkte</h3>
 | 
					<div class="btn btn-default" [style.background]="activeSlideIndex === 2 ? '#d9edf7':'white'"
 | 
				
			||||||
 | 
					     (click)="goToSlide(2)" *ngIf="id != 'all'">Gesamtpunktzahl
 | 
				
			||||||
<div class="chart-container">
 | 
					</div>
 | 
				
			||||||
 | 
					<div class="btn btn-default" [style.background]="activeSlideIndex === 0 ? '#d9edf7':'white'"
 | 
				
			||||||
 | 
					     (click)="goToSlide(0)">Punkte je Schlacht
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					<div class="btn btn-default" [style.background]="activeSlideIndex === 1 ? '#d9edf7':'white'"
 | 
				
			||||||
 | 
					     (click)="goToSlide(1)">Spielerzahlen
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<carousel [(activeSlide)]="activeSlideIndex">
 | 
				
			||||||
 | 
					  <slide *ngIf="id != 'all'">
 | 
				
			||||||
 | 
					    <div class="slide-chart-container">
 | 
				
			||||||
 | 
					      <h3>Gesamtpunktzahl</h3>
 | 
				
			||||||
      <ngx-charts-line-chart
 | 
					      <ngx-charts-line-chart
 | 
				
			||||||
    [view]="[1050, 400]"
 | 
					        [view]="[1200, 500]"
 | 
				
			||||||
        [scheme]="colorScheme"
 | 
					        [scheme]="colorScheme"
 | 
				
			||||||
    [results]="playerData"
 | 
					        [results]="pointSumData"
 | 
				
			||||||
        [gradient]="false"
 | 
					        [gradient]="false"
 | 
				
			||||||
        [xAxis]="true"
 | 
					        [xAxis]="true"
 | 
				
			||||||
        [yAxis]="true"
 | 
					        [yAxis]="true"
 | 
				
			||||||
| 
						 | 
					@ -15,19 +25,16 @@
 | 
				
			||||||
        [legendTitle]="''"
 | 
					        [legendTitle]="''"
 | 
				
			||||||
        [showXAxisLabel]="true"
 | 
					        [showXAxisLabel]="true"
 | 
				
			||||||
        [showYAxisLabel]="true"
 | 
					        [showYAxisLabel]="true"
 | 
				
			||||||
    [xAxisLabel]="'Schlachtdatum'"
 | 
					        [yAxisLabel]="'Gesamtpunkte'"
 | 
				
			||||||
    [yAxisLabel]="'Punkte'"
 | 
					        [autoScale]="true">
 | 
				
			||||||
    [autoScale]="false">
 | 
					 | 
				
			||||||
      </ngx-charts-line-chart>
 | 
					      </ngx-charts-line-chart>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
</div>
 | 
					  </slide>
 | 
				
			||||||
 | 
					  <slide>
 | 
				
			||||||
<h3 style="margin-top: 370px;">Spielerzahlen</h3>
 | 
					    <div class="slide-chart-container">
 | 
				
			||||||
 | 
					      <h3>Punkte je Schlacht</h3>
 | 
				
			||||||
<div class="chart-container">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
      <ngx-charts-line-chart
 | 
					      <ngx-charts-line-chart
 | 
				
			||||||
    [view]="[1050, 350]"
 | 
					        [view]="[1200, 500]"
 | 
				
			||||||
        [scheme]="colorScheme"
 | 
					        [scheme]="colorScheme"
 | 
				
			||||||
        [results]="pointData"
 | 
					        [results]="pointData"
 | 
				
			||||||
        [gradient]="false"
 | 
					        [gradient]="false"
 | 
				
			||||||
| 
						 | 
					@ -37,10 +44,28 @@
 | 
				
			||||||
        [legendTitle]="''"
 | 
					        [legendTitle]="''"
 | 
				
			||||||
        [showXAxisLabel]="true"
 | 
					        [showXAxisLabel]="true"
 | 
				
			||||||
        [showYAxisLabel]="true"
 | 
					        [showYAxisLabel]="true"
 | 
				
			||||||
    [xAxisLabel]="'Schlachtdatum'"
 | 
					        [yAxisLabel]="'Punkte'"
 | 
				
			||||||
    [yAxisLabel]="'Anzahl Spieler'"
 | 
					        [autoScale]="false">
 | 
				
			||||||
    [autoScale]="true"
 | 
					 | 
				
			||||||
    (select)="onSelect($event)">
 | 
					 | 
				
			||||||
      </ngx-charts-line-chart>
 | 
					      </ngx-charts-line-chart>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
</div>
 | 
					  </slide>
 | 
				
			||||||
 | 
					  <slide>
 | 
				
			||||||
 | 
					    <div class="slide-chart-container">
 | 
				
			||||||
 | 
					      <h3>Spielerzahlen</h3>
 | 
				
			||||||
 | 
					      <ngx-charts-line-chart
 | 
				
			||||||
 | 
					        [view]="[1200, 500]"
 | 
				
			||||||
 | 
					        [scheme]="colorScheme"
 | 
				
			||||||
 | 
					        [results]="playerData"
 | 
				
			||||||
 | 
					        [gradient]="false"
 | 
				
			||||||
 | 
					        [xAxis]="true"
 | 
				
			||||||
 | 
					        [yAxis]="true"
 | 
				
			||||||
 | 
					        [legend]="true"
 | 
				
			||||||
 | 
					        [legendTitle]="''"
 | 
				
			||||||
 | 
					        [showXAxisLabel]="true"
 | 
				
			||||||
 | 
					        [showYAxisLabel]="true"
 | 
				
			||||||
 | 
					        [yAxisLabel]="'Anzahl Spieler'"
 | 
				
			||||||
 | 
					        [autoScale]="true">
 | 
				
			||||||
 | 
					      </ngx-charts-line-chart>
 | 
				
			||||||
 | 
					    </div>
 | 
				
			||||||
 | 
					  </slide>
 | 
				
			||||||
 | 
					</carousel>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,21 +1,24 @@
 | 
				
			||||||
import {Component} from "@angular/core";
 | 
					import {Component} from "@angular/core";
 | 
				
			||||||
import {WarService} from "../../services/war-service/war.service";
 | 
					import {WarService} from "../../services/war-service/war.service";
 | 
				
			||||||
import {Campaign, War} from "../../models/model-interfaces";
 | 
					 | 
				
			||||||
import {WarListComponent} from "../war-list/war-list.component";
 | 
					 | 
				
			||||||
import {ActivatedRoute} from "@angular/router";
 | 
					import {ActivatedRoute} from "@angular/router";
 | 
				
			||||||
 | 
					import {CarouselConfig} from "ngx-bootstrap";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@Component({
 | 
					@Component({
 | 
				
			||||||
  selector: 'stats-overview',
 | 
					  selector: 'stats-overview',
 | 
				
			||||||
  templateUrl: './stats-overview.component.html',
 | 
					  templateUrl: './stats-overview.component.html',
 | 
				
			||||||
  styleUrls: ['./stats-overview.component.css'],
 | 
					  styleUrls: ['./stats-overview.component.css'],
 | 
				
			||||||
  inputs: ['campaigns']
 | 
					  inputs: ['campaigns'],
 | 
				
			||||||
 | 
					  providers: [{provide: CarouselConfig, useValue: {interval: false}}]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class StatisticOverviewComponent {
 | 
					export class StatisticOverviewComponent {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  id = "";
 | 
				
			||||||
  title = "";
 | 
					  title = "";
 | 
				
			||||||
 | 
					  activeSlideIndex: number = 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  pointData: any[] = [];
 | 
					  pointData: any[] = [];
 | 
				
			||||||
 | 
					  pointSumData: any[] = [];
 | 
				
			||||||
  playerData: any[] = [];
 | 
					  playerData: any[] = [];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  colorScheme = {
 | 
					  colorScheme = {
 | 
				
			||||||
| 
						 | 
					@ -30,26 +33,30 @@ export class StatisticOverviewComponent {
 | 
				
			||||||
    this.route.params
 | 
					    this.route.params
 | 
				
			||||||
      .map(params => params['id'])
 | 
					      .map(params => params['id'])
 | 
				
			||||||
      .subscribe((id) => {
 | 
					      .subscribe((id) => {
 | 
				
			||||||
 | 
					        this.id = id;
 | 
				
			||||||
        if (this.warService.campaigns) {
 | 
					        if (this.warService.campaigns) {
 | 
				
			||||||
          this.initWars(this.warService.campaigns, id);
 | 
					          this.initWars(this.warService.campaigns);
 | 
				
			||||||
        } else {
 | 
					        } else {
 | 
				
			||||||
          this.warService.getAllCampaigns().subscribe(campaigns => {
 | 
					          this.warService.getAllCampaigns().subscribe(campaigns => {
 | 
				
			||||||
            this.initWars(campaigns, id);
 | 
					            this.initWars(campaigns);
 | 
				
			||||||
          })
 | 
					          })
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  initWars(campaigns, id) {
 | 
					  initWars(campaigns) {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    let wars = [];
 | 
					    let wars = [];
 | 
				
			||||||
    let itemsProcessed = 0;
 | 
					    let itemsProcessed = 0;
 | 
				
			||||||
    campaigns = campaigns.filter(campaign => id === 'all' || campaign._id === id);
 | 
					    campaigns = campaigns.filter(campaign => this.id === 'all' || campaign._id === this.id);
 | 
				
			||||||
    campaigns.forEach(campaign => {
 | 
					    campaigns.forEach(campaign => {
 | 
				
			||||||
      if (id === 'all') {
 | 
					      if (this.id === 'all') {
 | 
				
			||||||
        this.title = "Gesamtübersicht"
 | 
					        this.title = "Gesamtübersicht";
 | 
				
			||||||
      } else {
 | 
					      } else {
 | 
				
			||||||
        this.title = campaign.title
 | 
					        this.title = campaign.title
 | 
				
			||||||
 | 
					        setTimeout(() => {
 | 
				
			||||||
 | 
					          this.activeSlideIndex = 2;
 | 
				
			||||||
 | 
					        }, 10)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      wars = wars.concat(campaign.wars);
 | 
					      wars = wars.concat(campaign.wars);
 | 
				
			||||||
      itemsProcessed++;
 | 
					      itemsProcessed++;
 | 
				
			||||||
| 
						 | 
					@ -59,6 +66,10 @@ export class StatisticOverviewComponent {
 | 
				
			||||||
    })
 | 
					    })
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  goToSlide(index: number) {
 | 
				
			||||||
 | 
					    this.activeSlideIndex = index;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  initChart(wars: any[]) {
 | 
					  initChart(wars: any[]) {
 | 
				
			||||||
    let pointsObj = [
 | 
					    let pointsObj = [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
| 
						 | 
					@ -69,6 +80,15 @@ export class StatisticOverviewComponent {
 | 
				
			||||||
        "name": "CSAT",
 | 
					        "name": "CSAT",
 | 
				
			||||||
        "series": []
 | 
					        "series": []
 | 
				
			||||||
      }];
 | 
					      }];
 | 
				
			||||||
 | 
					    let pointsSumObj = [
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "name": "NATO",
 | 
				
			||||||
 | 
					        "series": []
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      {
 | 
				
			||||||
 | 
					        "name": "CSAT",
 | 
				
			||||||
 | 
					        "series": []
 | 
				
			||||||
 | 
					      }];
 | 
				
			||||||
    let playersObj = [
 | 
					    let playersObj = [
 | 
				
			||||||
      {
 | 
					      {
 | 
				
			||||||
        "name": "NATO",
 | 
					        "name": "NATO",
 | 
				
			||||||
| 
						 | 
					@ -80,37 +100,46 @@ export class StatisticOverviewComponent {
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    ];
 | 
					    ];
 | 
				
			||||||
    for (let i = wars.length - 1; i >= 0; i--) {
 | 
					    for (let i = wars.length - 1; i >= 0; i--) {
 | 
				
			||||||
 | 
					      let j = wars.length - i - 1;
 | 
				
			||||||
      const isoDate = wars[i].date.slice(0, 10);
 | 
					      const isoDate = wars[i].date.slice(0, 10);
 | 
				
			||||||
      const dayDate = parseInt(isoDate.slice(8, 10)) + 1;
 | 
					      const dayDate = parseInt(isoDate.slice(8, 10)) + 1;
 | 
				
			||||||
      const warDateString = (dayDate < 10 ? "0" + dayDate : dayDate) + '.'
 | 
					      const warDateString = (dayDate < 10 ? "0" + dayDate : dayDate) + '.'
 | 
				
			||||||
        + isoDate.slice(5, 7) + '.' + isoDate.slice(0, 4);
 | 
					        + isoDate.slice(5, 7) + '.' + isoDate.slice(0, 4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      const bluforData = {
 | 
					      pointsObj[0].series.push({
 | 
				
			||||||
        name: warDateString,
 | 
					        name: warDateString,
 | 
				
			||||||
        value: wars[i].ptBlufor
 | 
					        value: wars[i].ptBlufor
 | 
				
			||||||
      };
 | 
					      });
 | 
				
			||||||
      const opforData = {
 | 
					      pointsObj[1].series.push({
 | 
				
			||||||
        name: warDateString,
 | 
					        name: warDateString,
 | 
				
			||||||
        value: wars[i].ptOpfor
 | 
					        value: wars[i].ptOpfor
 | 
				
			||||||
      };
 | 
					      });
 | 
				
			||||||
      const bluforPlayers = {
 | 
					      pointsSumObj[0].series.push({
 | 
				
			||||||
 | 
					        name: warDateString,
 | 
				
			||||||
 | 
					        value: pointsSumObj[0].series[j - 1] ?
 | 
				
			||||||
 | 
					          pointsSumObj[0].series[j - 1].value + wars[i].ptBlufor :
 | 
				
			||||||
 | 
					          wars[i].ptBlufor
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      pointsSumObj[1].series.push({
 | 
				
			||||||
 | 
					        name: warDateString,
 | 
				
			||||||
 | 
					        value: pointsSumObj[1].series[j - 1]
 | 
				
			||||||
 | 
					          ? pointsSumObj[1].series[j - 1].value + wars[i].ptOpfor :
 | 
				
			||||||
 | 
					          wars[i].ptOpfor
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
 | 
					      playersObj[0].series.push({
 | 
				
			||||||
        name: warDateString,
 | 
					        name: warDateString,
 | 
				
			||||||
        value: wars[i].playersBlufor
 | 
					        value: wars[i].playersBlufor
 | 
				
			||||||
      };
 | 
					      });
 | 
				
			||||||
      const opforPlayers = {
 | 
					      playersObj[1].series.push({
 | 
				
			||||||
        name: warDateString,
 | 
					        name: warDateString,
 | 
				
			||||||
        value: wars[i].playersOpfor
 | 
					        value: wars[i].playersOpfor
 | 
				
			||||||
      };
 | 
					      });
 | 
				
			||||||
 | 
					 | 
				
			||||||
      playersObj[0].series.push(bluforData);
 | 
					 | 
				
			||||||
      playersObj[1].series.push(opforData);
 | 
					 | 
				
			||||||
      pointsObj[0].series.push(bluforPlayers);
 | 
					 | 
				
			||||||
      pointsObj[1].series.push(opforPlayers);
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.pointData = pointsObj;
 | 
					    this.pointData = pointsObj;
 | 
				
			||||||
 | 
					    this.pointSumData = pointsSumObj;
 | 
				
			||||||
    this.playerData = playersObj;
 | 
					    this.playerData = playersObj;
 | 
				
			||||||
    Object.assign(this, [this.playerData, this.pointData])
 | 
					    Object.assign(this, [this.pointData, this.pointSumData, this.playerData])
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -4,12 +4,13 @@ import {SharedModule} from "../shared.module";
 | 
				
			||||||
import {statsRouterModule, statsRoutingComponents} from "./stats.routing";
 | 
					import {statsRouterModule, statsRoutingComponents} from "./stats.routing";
 | 
				
			||||||
import {WarService} from "../services/war-service/war.service";
 | 
					import {WarService} from "../services/war-service/war.service";
 | 
				
			||||||
import {DataTableModule} from "angular2-datatable";
 | 
					import {DataTableModule} from "angular2-datatable";
 | 
				
			||||||
import {NgxChartsModule} from "@swimlane/ngx-charts";
 | 
					import {LineChartModule, PieChartModule} from "@swimlane/ngx-charts";
 | 
				
			||||||
import {AccordionModule} from "ngx-bootstrap";
 | 
					import {AccordionModule, CarouselModule} from "ngx-bootstrap";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@NgModule({
 | 
					@NgModule({
 | 
				
			||||||
  declarations: statsRoutingComponents,
 | 
					  declarations: statsRoutingComponents,
 | 
				
			||||||
  imports: [CommonModule, SharedModule, statsRouterModule, NgxChartsModule, AccordionModule.forRoot(), DataTableModule],
 | 
					  imports: [CommonModule, SharedModule, statsRouterModule, LineChartModule, PieChartModule,
 | 
				
			||||||
 | 
					    AccordionModule.forRoot(), CarouselModule.forRoot(), DataTableModule],
 | 
				
			||||||
  providers: [WarService]
 | 
					  providers: [WarService]
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
export class StatsModule {
 | 
					export class StatsModule {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue