forked from OpenWF/SpaceNinjaServer
		
	Use non-relative imports (#8)
This commit is contained in:
		
							parent
							
								
									f2dfb42071
								
							
						
					
					
						commit
						108d2c621d
					
				@ -11,6 +11,7 @@
 | 
				
			|||||||
        "node": true
 | 
					        "node": true
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "rules": {
 | 
					    "rules": {
 | 
				
			||||||
 | 
					        "@typescript-eslint/no-misused-promises": "off",
 | 
				
			||||||
        "prettier/prettier": "error",
 | 
					        "prettier/prettier": "error",
 | 
				
			||||||
        "@typescript-eslint/semi": ["error"],
 | 
					        "@typescript-eslint/semi": ["error"],
 | 
				
			||||||
        "@typescript-eslint/explicit-function-return-type": "off",
 | 
					        "@typescript-eslint/explicit-function-return-type": "off",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										11
									
								
								.prettierrc
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								.prettierrc
									
									
									
									
									
								
							@ -14,5 +14,14 @@
 | 
				
			|||||||
    "singleQuote": false,
 | 
					    "singleQuote": false,
 | 
				
			||||||
    "vueIndentScriptAndStyle": true,
 | 
					    "vueIndentScriptAndStyle": true,
 | 
				
			||||||
    "arrowParens": "avoid",
 | 
					    "arrowParens": "avoid",
 | 
				
			||||||
    "bracketSpacing": true
 | 
					    "bracketSpacing": true,
 | 
				
			||||||
 | 
					    "overrides": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            "files": "*.json",
 | 
				
			||||||
 | 
					            "options": {
 | 
				
			||||||
 | 
					                "tabWidth": 2,
 | 
				
			||||||
 | 
					                "printWidth": 200
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										153
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										153
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -9,24 +9,23 @@
 | 
				
			|||||||
            "version": "0.1.0",
 | 
					            "version": "0.1.0",
 | 
				
			||||||
            "license": "GNU",
 | 
					            "license": "GNU",
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "dotenv": "^16.0.3",
 | 
					                "dotenv": "^16.1.3",
 | 
				
			||||||
                "express": "^5.0.0-beta.1",
 | 
					                "express": "^5.0.0-beta.1",
 | 
				
			||||||
                "mongoose": "^7.1.1"
 | 
					                "mongoose": "^7.1.1"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "devDependencies": {
 | 
					            "devDependencies": {
 | 
				
			||||||
                "@tsconfig/node20": "^1.0.0",
 | 
					                "@tsconfig/node20": "^1.0.0",
 | 
				
			||||||
        "@types/body-parser": "^1.19.2",
 | 
					 | 
				
			||||||
                "@types/express": "^4.17.17",
 | 
					                "@types/express": "^4.17.17",
 | 
				
			||||||
                "@types/morgan": "^1.9.4",
 | 
					                "@types/morgan": "^1.9.4",
 | 
				
			||||||
        "@typescript-eslint/eslint-plugin": "^5.59.2",
 | 
					                "@typescript-eslint/eslint-plugin": "^5.59.8",
 | 
				
			||||||
        "@typescript-eslint/parser": "^5.59.2",
 | 
					                "@typescript-eslint/parser": "^5.59.8",
 | 
				
			||||||
        "eslint": "^8.40.0",
 | 
					                "eslint": "^8.41.0",
 | 
				
			||||||
                "eslint-plugin-prettier": "^4.2.1",
 | 
					                "eslint-plugin-prettier": "^4.2.1",
 | 
				
			||||||
                "morgan": "^1.10.0",
 | 
					                "morgan": "^1.10.0",
 | 
				
			||||||
                "prettier": "^2.8.8",
 | 
					                "prettier": "^2.8.8",
 | 
				
			||||||
                "ts-node-dev": "^2.0.0",
 | 
					                "ts-node-dev": "^2.0.0",
 | 
				
			||||||
                "tsconfig-paths": "^4.2.0",
 | 
					                "tsconfig-paths": "^4.2.0",
 | 
				
			||||||
        "typescript": "^5.0.4"
 | 
					                "typescript": "^5.1.3"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
                "node": ">=18.15.0",
 | 
					                "node": ">=18.15.0",
 | 
				
			||||||
@ -116,9 +115,9 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@eslint/js": {
 | 
					        "node_modules/@eslint/js": {
 | 
				
			||||||
      "version": "8.40.0",
 | 
					            "version": "8.41.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
 | 
					            "integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
					                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
				
			||||||
@ -314,9 +313,9 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@types/json-schema": {
 | 
					        "node_modules/@types/json-schema": {
 | 
				
			||||||
      "version": "7.0.11",
 | 
					            "version": "7.0.12",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
 | 
				
			||||||
      "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
 | 
					            "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
 | 
				
			||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@types/mime": {
 | 
					        "node_modules/@types/mime": {
 | 
				
			||||||
@ -352,9 +351,9 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@types/semver": {
 | 
					        "node_modules/@types/semver": {
 | 
				
			||||||
      "version": "7.3.13",
 | 
					            "version": "7.5.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
 | 
					            "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
 | 
				
			||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@types/send": {
 | 
					        "node_modules/@types/send": {
 | 
				
			||||||
@ -404,15 +403,15 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/eslint-plugin": {
 | 
					        "node_modules/@typescript-eslint/eslint-plugin": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
 | 
					            "integrity": "sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
                "@eslint-community/regexpp": "^4.4.0",
 | 
					                "@eslint-community/regexpp": "^4.4.0",
 | 
				
			||||||
        "@typescript-eslint/scope-manager": "5.59.2",
 | 
					                "@typescript-eslint/scope-manager": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/type-utils": "5.59.2",
 | 
					                "@typescript-eslint/type-utils": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/utils": "5.59.2",
 | 
					                "@typescript-eslint/utils": "5.59.8",
 | 
				
			||||||
                "debug": "^4.3.4",
 | 
					                "debug": "^4.3.4",
 | 
				
			||||||
                "grapheme-splitter": "^1.0.4",
 | 
					                "grapheme-splitter": "^1.0.4",
 | 
				
			||||||
                "ignore": "^5.2.0",
 | 
					                "ignore": "^5.2.0",
 | 
				
			||||||
@ -461,14 +460,14 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/parser": {
 | 
					        "node_modules/@typescript-eslint/parser": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
 | 
					            "integrity": "sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "@typescript-eslint/scope-manager": "5.59.2",
 | 
					                "@typescript-eslint/scope-manager": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/types": "5.59.2",
 | 
					                "@typescript-eslint/types": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/typescript-estree": "5.59.2",
 | 
					                "@typescript-eslint/typescript-estree": "5.59.8",
 | 
				
			||||||
                "debug": "^4.3.4"
 | 
					                "debug": "^4.3.4"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
@ -511,13 +510,13 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/scope-manager": {
 | 
					        "node_modules/@typescript-eslint/scope-manager": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
 | 
					            "integrity": "sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "@typescript-eslint/types": "5.59.2",
 | 
					                "@typescript-eslint/types": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/visitor-keys": "5.59.2"
 | 
					                "@typescript-eslint/visitor-keys": "5.59.8"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
					                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
				
			||||||
@ -528,13 +527,13 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/type-utils": {
 | 
					        "node_modules/@typescript-eslint/type-utils": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
 | 
					            "integrity": "sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "@typescript-eslint/typescript-estree": "5.59.2",
 | 
					                "@typescript-eslint/typescript-estree": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/utils": "5.59.2",
 | 
					                "@typescript-eslint/utils": "5.59.8",
 | 
				
			||||||
                "debug": "^4.3.4",
 | 
					                "debug": "^4.3.4",
 | 
				
			||||||
                "tsutils": "^3.21.0"
 | 
					                "tsutils": "^3.21.0"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@ -578,9 +577,9 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/types": {
 | 
					        "node_modules/@typescript-eslint/types": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
 | 
					            "integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
					                "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 | 
				
			||||||
@ -591,13 +590,13 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/typescript-estree": {
 | 
					        "node_modules/@typescript-eslint/typescript-estree": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
 | 
					            "integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "@typescript-eslint/types": "5.59.2",
 | 
					                "@typescript-eslint/types": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/visitor-keys": "5.59.2",
 | 
					                "@typescript-eslint/visitor-keys": "5.59.8",
 | 
				
			||||||
                "debug": "^4.3.4",
 | 
					                "debug": "^4.3.4",
 | 
				
			||||||
                "globby": "^11.1.0",
 | 
					                "globby": "^11.1.0",
 | 
				
			||||||
                "is-glob": "^4.0.3",
 | 
					                "is-glob": "^4.0.3",
 | 
				
			||||||
@ -641,17 +640,17 @@
 | 
				
			|||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/utils": {
 | 
					        "node_modules/@typescript-eslint/utils": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
 | 
					            "integrity": "sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
                "@eslint-community/eslint-utils": "^4.2.0",
 | 
					                "@eslint-community/eslint-utils": "^4.2.0",
 | 
				
			||||||
                "@types/json-schema": "^7.0.9",
 | 
					                "@types/json-schema": "^7.0.9",
 | 
				
			||||||
                "@types/semver": "^7.3.12",
 | 
					                "@types/semver": "^7.3.12",
 | 
				
			||||||
        "@typescript-eslint/scope-manager": "5.59.2",
 | 
					                "@typescript-eslint/scope-manager": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/types": "5.59.2",
 | 
					                "@typescript-eslint/types": "5.59.8",
 | 
				
			||||||
        "@typescript-eslint/typescript-estree": "5.59.2",
 | 
					                "@typescript-eslint/typescript-estree": "5.59.8",
 | 
				
			||||||
                "eslint-scope": "^5.1.1",
 | 
					                "eslint-scope": "^5.1.1",
 | 
				
			||||||
                "semver": "^7.3.7"
 | 
					                "semver": "^7.3.7"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
@ -667,12 +666,12 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/@typescript-eslint/visitor-keys": {
 | 
					        "node_modules/@typescript-eslint/visitor-keys": {
 | 
				
			||||||
      "version": "5.59.2",
 | 
					            "version": "5.59.8",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz",
 | 
				
			||||||
      "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
 | 
					            "integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
        "@typescript-eslint/types": "5.59.2",
 | 
					                "@typescript-eslint/types": "5.59.8",
 | 
				
			||||||
                "eslint-visitor-keys": "^3.3.0"
 | 
					                "eslint-visitor-keys": "^3.3.0"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
@ -1111,11 +1110,14 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/dotenv": {
 | 
					        "node_modules/dotenv": {
 | 
				
			||||||
      "version": "16.0.3",
 | 
					            "version": "16.1.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
 | 
					            "integrity": "sha512-FYssxsmCTtKL72fGBSvb1K9dRz0/VZeWqFme/vSb7r7323x4CRaHu4LvQ5JG3+s6yt2YPbBrkpiEODktfyjI9A==",
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
                "node": ">=12"
 | 
					                "node": ">=12"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            "funding": {
 | 
				
			||||||
 | 
					                "url": "https://github.com/motdotla/dotenv?sponsor=1"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/dynamic-dedupe": {
 | 
					        "node_modules/dynamic-dedupe": {
 | 
				
			||||||
@ -1158,15 +1160,15 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/eslint": {
 | 
					        "node_modules/eslint": {
 | 
				
			||||||
      "version": "8.40.0",
 | 
					            "version": "8.41.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
 | 
					            "integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "dependencies": {
 | 
					            "dependencies": {
 | 
				
			||||||
                "@eslint-community/eslint-utils": "^4.2.0",
 | 
					                "@eslint-community/eslint-utils": "^4.2.0",
 | 
				
			||||||
                "@eslint-community/regexpp": "^4.4.0",
 | 
					                "@eslint-community/regexpp": "^4.4.0",
 | 
				
			||||||
                "@eslint/eslintrc": "^2.0.3",
 | 
					                "@eslint/eslintrc": "^2.0.3",
 | 
				
			||||||
        "@eslint/js": "8.40.0",
 | 
					                "@eslint/js": "8.41.0",
 | 
				
			||||||
                "@humanwhocodes/config-array": "^0.11.8",
 | 
					                "@humanwhocodes/config-array": "^0.11.8",
 | 
				
			||||||
                "@humanwhocodes/module-importer": "^1.0.1",
 | 
					                "@humanwhocodes/module-importer": "^1.0.1",
 | 
				
			||||||
                "@nodelib/fs.walk": "^1.2.8",
 | 
					                "@nodelib/fs.walk": "^1.2.8",
 | 
				
			||||||
@ -1186,13 +1188,12 @@
 | 
				
			|||||||
                "find-up": "^5.0.0",
 | 
					                "find-up": "^5.0.0",
 | 
				
			||||||
                "glob-parent": "^6.0.2",
 | 
					                "glob-parent": "^6.0.2",
 | 
				
			||||||
                "globals": "^13.19.0",
 | 
					                "globals": "^13.19.0",
 | 
				
			||||||
        "grapheme-splitter": "^1.0.4",
 | 
					                "graphemer": "^1.4.0",
 | 
				
			||||||
                "ignore": "^5.2.0",
 | 
					                "ignore": "^5.2.0",
 | 
				
			||||||
                "import-fresh": "^3.0.0",
 | 
					                "import-fresh": "^3.0.0",
 | 
				
			||||||
                "imurmurhash": "^0.1.4",
 | 
					                "imurmurhash": "^0.1.4",
 | 
				
			||||||
                "is-glob": "^4.0.0",
 | 
					                "is-glob": "^4.0.0",
 | 
				
			||||||
                "is-path-inside": "^3.0.3",
 | 
					                "is-path-inside": "^3.0.3",
 | 
				
			||||||
        "js-sdsl": "^4.1.4",
 | 
					 | 
				
			||||||
                "js-yaml": "^4.1.0",
 | 
					                "js-yaml": "^4.1.0",
 | 
				
			||||||
                "json-stable-stringify-without-jsonify": "^1.0.1",
 | 
					                "json-stable-stringify-without-jsonify": "^1.0.1",
 | 
				
			||||||
                "levn": "^0.4.1",
 | 
					                "levn": "^0.4.1",
 | 
				
			||||||
@ -1689,6 +1690,12 @@
 | 
				
			|||||||
            "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
 | 
					            "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
 | 
				
			||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
 | 
					        "node_modules/graphemer": {
 | 
				
			||||||
 | 
					            "version": "1.4.0",
 | 
				
			||||||
 | 
					            "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
 | 
				
			||||||
 | 
					            "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==",
 | 
				
			||||||
 | 
					            "dev": true
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
        "node_modules/has": {
 | 
					        "node_modules/has": {
 | 
				
			||||||
            "version": "1.0.3",
 | 
					            "version": "1.0.3",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
 | 
				
			||||||
@ -1875,16 +1882,6 @@
 | 
				
			|||||||
            "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
 | 
					            "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
 | 
				
			||||||
            "dev": true
 | 
					            "dev": true
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
    "node_modules/js-sdsl": {
 | 
					 | 
				
			||||||
      "version": "4.4.0",
 | 
					 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz",
 | 
					 | 
				
			||||||
      "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==",
 | 
					 | 
				
			||||||
      "dev": true,
 | 
					 | 
				
			||||||
      "funding": {
 | 
					 | 
				
			||||||
        "type": "opencollective",
 | 
					 | 
				
			||||||
        "url": "https://opencollective.com/js-sdsl"
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    },
 | 
					 | 
				
			||||||
        "node_modules/js-yaml": {
 | 
					        "node_modules/js-yaml": {
 | 
				
			||||||
            "version": "4.1.0",
 | 
					            "version": "4.1.0",
 | 
				
			||||||
            "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
 | 
				
			||||||
@ -3092,16 +3089,16 @@
 | 
				
			|||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/typescript": {
 | 
					        "node_modules/typescript": {
 | 
				
			||||||
      "version": "5.0.4",
 | 
					            "version": "5.1.3",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
 | 
					            "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
 | 
				
			||||||
      "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
 | 
					            "integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
 | 
				
			||||||
            "dev": true,
 | 
					            "dev": true,
 | 
				
			||||||
            "bin": {
 | 
					            "bin": {
 | 
				
			||||||
                "tsc": "bin/tsc",
 | 
					                "tsc": "bin/tsc",
 | 
				
			||||||
                "tsserver": "bin/tsserver"
 | 
					                "tsserver": "bin/tsserver"
 | 
				
			||||||
            },
 | 
					            },
 | 
				
			||||||
            "engines": {
 | 
					            "engines": {
 | 
				
			||||||
        "node": ">=12.20"
 | 
					                "node": ">=14.17"
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        "node_modules/unpipe": {
 | 
					        "node_modules/unpipe": {
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										14
									
								
								package.json
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								package.json
									
									
									
									
									
								
							@ -7,28 +7,28 @@
 | 
				
			|||||||
        "start": "node build/index.js",
 | 
					        "start": "node build/index.js",
 | 
				
			||||||
        "dev": "ts-node-dev --openssl-legacy-provider -r tsconfig-paths/register src/index.ts",
 | 
					        "dev": "ts-node-dev --openssl-legacy-provider -r tsconfig-paths/register src/index.ts",
 | 
				
			||||||
        "build": "tsc",
 | 
					        "build": "tsc",
 | 
				
			||||||
        "lint": "eslint --ext .ts ."
 | 
					        "lint": "eslint --ext .ts .",
 | 
				
			||||||
 | 
					        "prettier": "prettier --write ."
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "license": "GNU",
 | 
					    "license": "GNU",
 | 
				
			||||||
    "dependencies": {
 | 
					    "dependencies": {
 | 
				
			||||||
        "dotenv": "^16.0.3",
 | 
					        "dotenv": "^16.1.3",
 | 
				
			||||||
        "express": "^5.0.0-beta.1",
 | 
					        "express": "^5.0.0-beta.1",
 | 
				
			||||||
        "mongoose": "^7.1.1"
 | 
					        "mongoose": "^7.1.1"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "devDependencies": {
 | 
					    "devDependencies": {
 | 
				
			||||||
        "@tsconfig/node20": "^1.0.0",
 | 
					        "@tsconfig/node20": "^1.0.0",
 | 
				
			||||||
        "@types/body-parser": "^1.19.2",
 | 
					 | 
				
			||||||
        "@types/express": "^4.17.17",
 | 
					        "@types/express": "^4.17.17",
 | 
				
			||||||
        "@types/morgan": "^1.9.4",
 | 
					        "@types/morgan": "^1.9.4",
 | 
				
			||||||
        "@typescript-eslint/eslint-plugin": "^5.59.2",
 | 
					        "@typescript-eslint/eslint-plugin": "^5.59.8",
 | 
				
			||||||
        "@typescript-eslint/parser": "^5.59.2",
 | 
					        "@typescript-eslint/parser": "^5.59.8",
 | 
				
			||||||
        "eslint": "^8.40.0",
 | 
					        "eslint": "^8.41.0",
 | 
				
			||||||
        "eslint-plugin-prettier": "^4.2.1",
 | 
					        "eslint-plugin-prettier": "^4.2.1",
 | 
				
			||||||
        "morgan": "^1.10.0",
 | 
					        "morgan": "^1.10.0",
 | 
				
			||||||
        "prettier": "^2.8.8",
 | 
					        "prettier": "^2.8.8",
 | 
				
			||||||
        "ts-node-dev": "^2.0.0",
 | 
					        "ts-node-dev": "^2.0.0",
 | 
				
			||||||
        "tsconfig-paths": "^4.2.0",
 | 
					        "tsconfig-paths": "^4.2.0",
 | 
				
			||||||
        "typescript": "^5.0.4"
 | 
					        "typescript": "^5.1.3"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    "engines": {
 | 
					    "engines": {
 | 
				
			||||||
        "node": ">=18.15.0",
 | 
					        "node": ">=18.15.0",
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								src/app.ts
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								src/app.ts
									
									
									
									
									
								
							@ -6,14 +6,14 @@ import { requestLogger, unknownEndpointHandler } from "@/src/middleware/middlewa
 | 
				
			|||||||
import { apiRouter } from "@/src/routes/api";
 | 
					import { apiRouter } from "@/src/routes/api";
 | 
				
			||||||
//import { testRouter } from "@/src/routes/test";
 | 
					//import { testRouter } from "@/src/routes/test";
 | 
				
			||||||
import { cacheRouter } from "@/src/routes/cache";
 | 
					import { cacheRouter } from "@/src/routes/cache";
 | 
				
			||||||
import { customRouter } from "./routes/custom";
 | 
					 | 
				
			||||||
import { dynamicController } from "./routes/dynamic";
 | 
					 | 
				
			||||||
import { statsRouter } from "./routes/stats";
 | 
					 | 
				
			||||||
import bodyParser from "body-parser";
 | 
					import bodyParser from "body-parser";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import morgan from "morgan";
 | 
					import morgan from "morgan";
 | 
				
			||||||
import { steamPacksController } from "./controllers/misc/steamPacksController";
 | 
					import { steamPacksController } from "@/src/controllers/misc/steamPacksController";
 | 
				
			||||||
import { connectDatabase } from "./services/mongoService";
 | 
					import { customRouter } from "@/src/routes/custom";
 | 
				
			||||||
 | 
					import { dynamicController } from "@/src/routes/dynamic";
 | 
				
			||||||
 | 
					import { statsRouter } from "@/src/routes/stats";
 | 
				
			||||||
 | 
					import { connectDatabase } from "@/src/services/mongoService";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void connectDatabase();
 | 
					void connectDatabase();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dronesController: RequestHandler = (_req, res) => {
 | 
					const dronesController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    res.json({})
 | 
					    res.json({});
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { dronesController };
 | 
					export { dronesController };
 | 
				
			||||||
 | 
				
			|||||||
@ -3,7 +3,7 @@ import { RequestHandler } from "express";
 | 
				
			|||||||
const findSessionsController: RequestHandler = (_req, res) => {
 | 
					const findSessionsController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    console.log("FindSession Request:", JSON.parse(_req.body));
 | 
					    console.log("FindSession Request:", JSON.parse(_req.body));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res.json({ "sessionId": { "$oid": "64768f104722f795300c9fc0" }, "rewardSeed": 5867309943877621023 });
 | 
					    res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { findSessionsController };
 | 
					export { findSessionsController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getCreditsController: RequestHandler = (_req, res) => {
 | 
					const getCreditsController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    res.json({ "RegularCredits": 42069, "TradesRemaining": 1, "PremiumCreditsFree": 42069, "PremiumCredits": 42069 });
 | 
					    res.json({ RegularCredits: 42069, TradesRemaining: 1, PremiumCreditsFree: 42069, PremiumCredits: 42069 });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { getCreditsController };
 | 
					export { getCreditsController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
import { Request, Response } from "express";
 | 
					import { Request, Response } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default (_request: Request, response: Response) => {
 | 
					const getFriendsController = (_request: Request, response: Response) => {
 | 
				
			||||||
    response.writeHead(200, {
 | 
					    response.writeHead(200, {
 | 
				
			||||||
        //Connection: "keep-alive",
 | 
					        //Connection: "keep-alive",
 | 
				
			||||||
        //"Content-Encoding": "gzip",
 | 
					        //"Content-Encoding": "gzip",
 | 
				
			||||||
@ -10,3 +10,5 @@ export default (_request: Request, response: Response) => {
 | 
				
			|||||||
    });
 | 
					    });
 | 
				
			||||||
    response.end(Buffer.from([0x7b, 0x7d, 0x0a]));
 | 
					    response.end(Buffer.from([0x7b, 0x7d, 0x0a]));
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export { getFriendsController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getNewRewardSeedController: RequestHandler = (_req, res) => {
 | 
					const getNewRewardSeedController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    res.json({ "rewardSeed": 5867309943877621023 });
 | 
					    res.json({ rewardSeed: 5867309943877621023 });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { getNewRewardSeedController };
 | 
					export { getNewRewardSeedController };
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,6 @@ const hostSessionController: RequestHandler = (_req, res) => {
 | 
				
			|||||||
    console.log("HostSession Request:", JSON.parse(_req.body));
 | 
					    console.log("HostSession Request:", JSON.parse(_req.body));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
 | 
					    res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
 | 
				
			||||||
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { hostSessionController };
 | 
					export { hostSessionController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,11 +1,11 @@
 | 
				
			|||||||
import inventory from "@/static/fixed_responses/inventory.json";
 | 
					import inventory from "@/static/fixed_responses/inventory.json";
 | 
				
			||||||
import { Request, RequestHandler, Response } from "express";
 | 
					import { Request, RequestHandler, Response } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const inventorController: RequestHandler = (request: Request, response: Response) => {
 | 
					const inventoryController: RequestHandler = (request: Request, response: Response) => {
 | 
				
			||||||
    console.log(request.query);
 | 
					    console.log(request.query);
 | 
				
			||||||
    const accountId = request.query.accountId;
 | 
					    const accountId = request.query.accountId;
 | 
				
			||||||
    console.log(accountId);
 | 
					    console.log(accountId);
 | 
				
			||||||
    response.json(inventory);
 | 
					    response.json(inventory);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default inventorController;
 | 
					export { inventoryController };
 | 
				
			||||||
 | 
				
			|||||||
@ -9,7 +9,6 @@ import { createAccount, isCorrectPassword } from "@/src/services/loginService";
 | 
				
			|||||||
import { ILoginResponse } from "@/src/types/loginTypes";
 | 
					import { ILoginResponse } from "@/src/types/loginTypes";
 | 
				
			||||||
import { DTLS, groups, HUB, IRC, Nonce, NRS, platformCDNs } from "@/static/fixed_responses/login_static";
 | 
					import { DTLS, groups, HUB, IRC, Nonce, NRS, platformCDNs } from "@/static/fixed_responses/login_static";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// eslint-disable-next-line @typescript-eslint/no-misused-promises
 | 
					 | 
				
			||||||
const loginController: RequestHandler = async (request, response) => {
 | 
					const loginController: RequestHandler = async (request, response) => {
 | 
				
			||||||
    // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument
 | 
					    // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument
 | 
				
			||||||
    const body = JSON.parse(request.body); // parse octet stream of json data to json object
 | 
					    const body = JSON.parse(request.body); // parse octet stream of json data to json object
 | 
				
			||||||
@ -34,7 +33,6 @@ const loginController: RequestHandler = async (request, response) => {
 | 
				
			|||||||
                TrackedSettings: []
 | 
					                TrackedSettings: []
 | 
				
			||||||
            });
 | 
					            });
 | 
				
			||||||
            console.log("CREATED ACCOUNT", newAccount);
 | 
					            console.log("CREATED ACCOUNT", newAccount);
 | 
				
			||||||
            // eslint-disable-next-line @typescript-eslint/no-unused-vars
 | 
					 | 
				
			||||||
            const { email, password, ...databaseAccount } = newAccount;
 | 
					            const { email, password, ...databaseAccount } = newAccount;
 | 
				
			||||||
            const newLoginResponse: ILoginResponse = {
 | 
					            const newLoginResponse: ILoginResponse = {
 | 
				
			||||||
                ...databaseAccount,
 | 
					                ...databaseAccount,
 | 
				
			||||||
 | 
				
			|||||||
@ -1,9 +1,7 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const logoutController: RequestHandler = (_req, res) => {
 | 
					const logoutController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    const data = Buffer.from([
 | 
					    const data = Buffer.from([0x31]);
 | 
				
			||||||
        0x31
 | 
					 | 
				
			||||||
    ]);
 | 
					 | 
				
			||||||
    res.writeHead(200, {
 | 
					    res.writeHead(200, {
 | 
				
			||||||
        "Content-Type": "text/html",
 | 
					        "Content-Type": "text/html",
 | 
				
			||||||
        "Content-Length": data.length
 | 
					        "Content-Length": data.length
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,8 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					import modularWeaponSale from "@/static/fixed_responses/modularWeaponSale.json";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const modularWeaponSaleController: RequestHandler = (_req, res) => {
 | 
					const modularWeaponSaleController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    res.json({"SaleInfos":[{"Name":"Ostron","Expiry":{"$date":{"$numberLong":"1683586800000"}},"Revision":3045,"Weapons":[{"ItemType":"/Lotus/Weapons/Ostron/Melee/LotusModularWeapon","PremiumPrice":171,"ModularParts":["/Lotus/Weapons/Ostron/Melee/ModularMelee01/Handle/HandleFive","/Lotus/Weapons/Ostron/Melee/ModularMelee01/Tip/TipSix","/Lotus/Weapons/Ostron/Melee/ModularMelee01/Balance/BalanceDamageICritII"]}]},{"Name":"SolarisUnitedHoverboard","Expiry":{"$date":{"$numberLong":"1683586800000"}},"Revision":1650,"Weapons":[{"ItemType":"/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit","PremiumPrice":51,"ModularParts":["/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCDeck","/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCEngine","/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusB/HoverboardCorpusBFront","/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCJet"]}]},{"Name":"SolarisUnitedMoaPet","Expiry":{"$date":{"$numberLong":"1683586800000"}},"Revision":1650,"Weapons":[{"ItemType":"/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit","PremiumPrice":175,"ModularParts":["/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetLegC","/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetHeadOloro","/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetEngineKrisys","/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetPayloadThermocor"]}]},{"Name":"SolarisUnitedKitGun","Expiry":{"$date":{"$numberLong":"1683586800000"}},"Revision":1650,"Weapons":[{"ItemType":"/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimaryBeam","PremiumPrice":157,"ModularParts":["/Lotus/Weapons/SolarisUnited/Primary/SUModularPrimarySet1/Handles/SUModularPrimaryHandleAPart","/Lotus/Weapons/SolarisUnited/Secondary/SUModularSecondarySet1/Barrel/SUModularSecondaryBarrelDPart","/Lotus/Weapons/SolarisUnited/Secondary/SUModularSecondarySet1/Clip/SUModularCritIReloadIIClipPart"]}]}]});
 | 
					    res.json(modularWeaponSale);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { modularWeaponSaleController };
 | 
					export { modularWeaponSaleController };
 | 
				
			||||||
@ -1,6 +1,8 @@
 | 
				
			|||||||
import purchase from "@/static/fixed_responses/purchase.json";
 | 
					import purchase from "@/static/fixed_responses/purchase.json";
 | 
				
			||||||
import { Request, Response } from "express";
 | 
					import { Request, Response } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export default (_req: Request, res: Response): void => {
 | 
					const purchaseController = (_req: Request, res: Response): void => {
 | 
				
			||||||
    res.json(purchase);
 | 
					    res.json(purchase);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					export { purchaseController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,8 +1,8 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const rerollRandomModController: RequestHandler = (_req, res) => {
 | 
					const rerollRandomModController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    console.log("RerollRandomMod Request:", _req.body.toString('hex').replace(/(.)(.)/g, '$1$2 '));
 | 
					    console.log("RerollRandomMod Request:", _req.body.toString("hex").replace(/(.)(.)/g, "$1$2 "));
 | 
				
			||||||
    res.json({ });
 | 
					    res.json({});
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { rerollRandomModController };
 | 
					export { rerollRandomModController };
 | 
				
			||||||
@ -6,6 +6,6 @@ const updateSessionGetController: RequestHandler = (_req, res) => {
 | 
				
			|||||||
const updateSessionPostController: RequestHandler = (_req, res) => {
 | 
					const updateSessionPostController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    console.log("UpdateSessions POST Request:", JSON.parse(_req.body));
 | 
					    console.log("UpdateSessions POST Request:", JSON.parse(_req.body));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    res.json({ "hasStarted": true });
 | 
					    res.json({ hasStarted: true });
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
export { updateSessionGetController, updateSessionPostController };
 | 
					export { updateSessionGetController, updateSessionPostController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,3 @@
 | 
				
			|||||||
/* eslint-disable @typescript-eslint/no-misused-promises */
 | 
					 | 
				
			||||||
import { toCreateAccount, toDatabaseAccount } from "@/src/helpers/customHelpers";
 | 
					import { toCreateAccount, toDatabaseAccount } from "@/src/helpers/customHelpers";
 | 
				
			||||||
import { createAccount } from "@/src/services/loginService";
 | 
					import { createAccount } from "@/src/services/loginService";
 | 
				
			||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,8 @@
 | 
				
			|||||||
import { RequestHandler } from "express";
 | 
					import { RequestHandler } from "express";
 | 
				
			||||||
 | 
					import aggregateSessions from "@/static/fixed_responses/aggregateSessions.json";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const aggregateSessionsController: RequestHandler = (_req, res) => {
 | 
					const aggregateSessionsController: RequestHandler = (_req, res) => {
 | 
				
			||||||
    res.json( { "Results": [{ "gameModeId": 3228, "count": 12 }, { "gameModeId": 2022236, "count": 1 }, { "gameModeId": 1109004, "count": 1 }, { "gameModeId": 2004450, "count": 1 }, { "gameModeId": 2129, "count": 4 }, { "gameModeId": 8763, "count": 1 }, { "gameModeId": 12183, "count": 1 }, { "gameModeId": 11167, "count": 1 }, { "gameModeId": 17710, "count": 1 }, { "gameModeId": 22237, "count": 1 }, { "gameModeId": 3509, "count": 1 }, { "gameModeId": 13006, "count": 1 }, { "gameModeId": 20801, "count": 2 }, { "gameModeId": 204014, "count": 1 }, { "gameModeId": 2061, "count": 1 }, { "gameModeId": 303025, "count": 1 }, { "gameModeId": 702001, "count": 12 }, { "gameModeId": 2305121, "count": 1 }, { "gameModeId": 1704046, "count": 1 }, { "gameModeId": 17229, "count": 12 }, { "gameModeId": 717000, "count": 15 }, { "gameModeId": 9536, "count": 1 }, { "gameModeId": 15409, "count": 1 }, { "gameModeId": 722000, "count": 20 }, { "gameModeId": 22232, "count": 2 }, { "gameModeId": 2023, "count": 2 }, { "gameModeId": 1704008, "count": 1 }, { "gameModeId": 6042, "count": 1 }, { "gameModeId": 2305053, "count": 1 }, { "gameModeId": 2022238, "count": 2 }, { "gameModeId": 1708001, "count": 1 }, { "gameModeId": 5004, "count": 1 }, { "gameModeId": 605088, "count": 1 }, { "gameModeId": 6032, "count": 1 }, { "gameModeId": 2022, "count": 2 }, { "gameModeId": 1216214, "count": 1 }, { "gameModeId": 3903, "count": 1 }, { "gameModeId": 6096, "count": 1 }, { "gameModeId": 2003079, "count": 1 }, { "gameModeId": 1105121, "count": 1 }, { "gameModeId": 616020, "count": 1 }, { "gameModeId": 1204235, "count": 1 }, { "gameModeId": 9024, "count": 2 }, { "gameModeId": 703004, "count": 16 }, { "gameModeId": 706000, "count": 2 }, { "gameModeId": 201223, "count": 1 }, { "gameModeId": 1404068, "count": 2 }, { "gameModeId": 22231, "count": 1 }, { "gameModeId": 2111019, "count": 1 }, { "gameModeId": 1407064, "count": 1 }, { "gameModeId": 701000, "count": 2 }, { "gameModeId": 703000, "count": 2 }, { "gameModeId": 1703039, "count": 1 }, { "gameModeId": 5005, "count": 1 }, { "gameModeId": 2001094, "count": 1 }, { "gameModeId": 22236, "count": 2 }, { "gameModeId": 703003, "count": 1 }, { "gameModeId": 98000, "count": 30 }, { "gameModeId": 1419748, "count": 1 }, { "gameModeId": 21555, "count": 1 }, { "gameModeId": 22238, "count": 1 }, { "gameModeId": 1704113, "count": 1 }, { "gameModeId": 9025, "count": 2 }, { "gameModeId": 1318307, "count": 1 }, { "gameModeId": 303034, "count": 1 }, { "gameModeId": 15401, "count": 1 }, { "gameModeId": 4904, "count": 1 }, { "gameModeId": 2305126, "count": 1 }, { "gameModeId": 2002123, "count": 1 }, { "gameModeId": 9004, "count": 1 }, { "gameModeId": 1702109, "count": 1 }, { "gameModeId": 15408, "count": 1 }, { "gameModeId": 6013, "count": 1 }, { "gameModeId": 17706, "count": 2 }, { "gameModeId": 2005053, "count": 1 }, { "gameModeId": 1805125, "count": 2 }, { "gameModeId": 15402, "count": 1 }, { "gameModeId": 101, "count": 3 }, { "gameModeId": 2010144, "count": 1 }, { "gameModeId": 3027, "count": 1 }, { "gameModeId": 2001, "count": 1 }, { "gameModeId": 12191, "count": 1 }, { "gameModeId": 1112189, "count": 1 }, { "gameModeId": 4450, "count": 1 }, { "gameModeId": 2011019, "count": 1 }, { "gameModeId": 12195, "count": 1 }, { "gameModeId": 8525, "count": 1 }, { "gameModeId": 12014, "count": 1 }, { "gameModeId": 12189, "count": 1 }, { "gameModeId": 10147, "count": 1 }, { "gameModeId": 11175, "count": 1 }, { "gameModeId": 1703089, "count": 1 }, { "gameModeId": 2104, "count": 1 }, { "gameModeId": 2015409, "count": 1 }, { "gameModeId": 4058, "count": 1 }, { "gameModeId": 1416015, "count": 2 }, { "gameModeId": 1201108, "count": 1 }, { "gameModeId": 704001, "count": 6 }, { "gameModeId": 2022230, "count": 1 }, { "gameModeId": 5100, "count": 1 }, { "gameModeId": 1703026, "count": 1 }, { "gameModeId": 1415400, "count": 1 }] });
 | 
					    res.json(aggregateSessions);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
export { aggregateSessionsController };
 | 
					export { aggregateSessionsController };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
 | 
					import { IAccountCreation } from "@/src/types/customTypes";
 | 
				
			||||||
 | 
					import { IDatabaseAccount } from "@/src/types/loginTypes";
 | 
				
			||||||
import crypto from "crypto";
 | 
					import crypto from "crypto";
 | 
				
			||||||
import { IAccountCreation } from "../types/customTypes";
 | 
					 | 
				
			||||||
import { IDatabaseAccount } from "../types/loginTypes";
 | 
					 | 
				
			||||||
import { isString, parseEmail, parseString } from "./general";
 | 
					import { isString, parseEmail, parseString } from "./general";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const getWhirlpoolHash = (rawPassword: string): string => {
 | 
					const getWhirlpoolHash = (rawPassword: string): string => {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
import { ILoginRequest } from "../types/loginTypes";
 | 
					import { ILoginRequest } from "@/src/types/loginTypes";
 | 
				
			||||||
import { parseEmail, parseNumber, parseString } from "./general";
 | 
					import { parseEmail, parseNumber, parseString } from "./general";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const toLoginRequest = (loginRequest: unknown): ILoginRequest => {
 | 
					const toLoginRequest = (loginRequest: unknown): ILoginRequest => {
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
 | 
					import { IDatabaseAccountDocument } from "@/src/types/loginTypes";
 | 
				
			||||||
import { model, Schema, SchemaOptions } from "mongoose";
 | 
					import { model, Schema, SchemaOptions } from "mongoose";
 | 
				
			||||||
import { IDatabaseAccountDocument } from "../types/loginTypes";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const opts = {
 | 
					const opts = {
 | 
				
			||||||
    toJSON: { virtuals: true },
 | 
					    toJSON: { virtuals: true },
 | 
				
			||||||
 | 
				
			|||||||
@ -1,35 +1,33 @@
 | 
				
			|||||||
import getFriendsController from "@/src/controllers/api/getFriendsController";
 | 
					import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
 | 
				
			||||||
import inventoryController from "@/src/controllers/api/inventoryController";
 | 
					import { deleteSessionController } from "@/src/controllers/api/deleteSessionController";
 | 
				
			||||||
import purchaseController from "@/src/controllers/api/purchaseController";
 | 
					import { dronesController } from "@/src/controllers/api/dronesController";
 | 
				
			||||||
 | 
					import { findSessionsController } from "@/src/controllers/api/findSessionsController";
 | 
				
			||||||
 | 
					import { genericUpdateController } from "@/src/controllers/api/genericUpdateController";
 | 
				
			||||||
 | 
					import { getAllianceController } from "@/src/controllers/api/getAllianceController";
 | 
				
			||||||
 | 
					import { getCreditsController } from "@/src/controllers/api/getCreditsController";
 | 
				
			||||||
 | 
					import { getFriendsController } from "@/src/controllers/api/getFriendsController";
 | 
				
			||||||
 | 
					import { getIgnoredUsersController } from "@/src/controllers/api/getIgnoredUsersController";
 | 
				
			||||||
 | 
					import { getNewRewardSeedController } from "@/src/controllers/api/getNewRewardSeedController";
 | 
				
			||||||
 | 
					import { getShipController } from "@/src/controllers/api/getShipController";
 | 
				
			||||||
 | 
					import { hostSessionController } from "@/src/controllers/api/hostSessionController";
 | 
				
			||||||
 | 
					import { hubController } from "@/src/controllers/api/hubController";
 | 
				
			||||||
 | 
					import { hubInstancesController } from "@/src/controllers/api/hubInstancesController";
 | 
				
			||||||
 | 
					import { inboxController } from "@/src/controllers/api/inboxController";
 | 
				
			||||||
 | 
					import { inventoryController } from "@/src/controllers/api/inventoryController";
 | 
				
			||||||
 | 
					import { loginController } from "@/src/controllers/api/loginController";
 | 
				
			||||||
 | 
					import { loginRewardsController } from "@/src/controllers/api/loginRewardsController";
 | 
				
			||||||
 | 
					import { logoutController } from "@/src/controllers/api/logoutController";
 | 
				
			||||||
 | 
					import { marketRecommendationsController } from "@/src/controllers/api/marketRecommendationsController";
 | 
				
			||||||
 | 
					import { missionInventoryUpdateController } from "@/src/controllers/api/missionInventoryUpdateController";
 | 
				
			||||||
 | 
					import { modularWeaponSaleController } from "@/src/controllers/api/modularWeaponSaleController";
 | 
				
			||||||
 | 
					import { purchaseController } from "@/src/controllers/api/purchaseController";
 | 
				
			||||||
 | 
					import { rerollRandomModController } from "@/src/controllers/api/rerollRandomModController";
 | 
				
			||||||
 | 
					import { setActiveQuestController } from "@/src/controllers/api/setActiveQuestController";
 | 
				
			||||||
 | 
					import { surveysController } from "@/src/controllers/api/surveysController";
 | 
				
			||||||
 | 
					import { updateChallengeProgressController } from "@/src/controllers/api/updateChallengeProgressController";
 | 
				
			||||||
 | 
					import { updateSessionGetController, updateSessionPostController } from "@/src/controllers/api/updateSessionController";
 | 
				
			||||||
 | 
					import { viewController } from "@/src/controllers/api/viewController";
 | 
				
			||||||
import express from "express";
 | 
					import express from "express";
 | 
				
			||||||
import { checkDailyMissionBonusController } from "../controllers/api/checkDailyMissionBonusController";
 | 
					 | 
				
			||||||
import { dronesController } from "../controllers/api/dronesController";
 | 
					 | 
				
			||||||
import { findSessionsController } from "../controllers/api/findSessionsController";
 | 
					 | 
				
			||||||
import { getAllianceController } from "../controllers/api/getAllianceController";
 | 
					 | 
				
			||||||
import { getIgnoredUsersController } from "../controllers/api/getIgnoredUsersController";
 | 
					 | 
				
			||||||
import { getNewRewardSeedController } from "../controllers/api/getNewRewardSeedController";
 | 
					 | 
				
			||||||
import { getShipController } from "../controllers/api/getShipController";
 | 
					 | 
				
			||||||
import { hostSessionController } from "../controllers/api/hostSessionController";
 | 
					 | 
				
			||||||
import { inboxController } from "../controllers/api/inboxController";
 | 
					 | 
				
			||||||
import { loginController } from "../controllers/api/loginController";
 | 
					 | 
				
			||||||
import { loginRewardsController } from "../controllers/api/loginRewardsController";
 | 
					 | 
				
			||||||
import { marketRecommendationsController } from "../controllers/api/marketRecommendationsController";
 | 
					 | 
				
			||||||
import { setActiveQuestController } from "../controllers/api/setActiveQuestController";
 | 
					 | 
				
			||||||
import { surveysController } from "../controllers/api/surveysController";
 | 
					 | 
				
			||||||
import { updateChallengeProgressController } from "../controllers/api/updateChallengeProgressController";
 | 
					 | 
				
			||||||
import { viewController } from "../controllers/api/viewController";
 | 
					 | 
				
			||||||
import { updateSessionPostController } from "../controllers/api/updateSessionController";
 | 
					 | 
				
			||||||
import { updateSessionGetController } from "../controllers/api/updateSessionController";
 | 
					 | 
				
			||||||
import { getCreditsController } from "../controllers/api/getCreditsController";
 | 
					 | 
				
			||||||
import { hubInstancesController } from "../controllers/api/hubInstancesController";
 | 
					 | 
				
			||||||
import { hubController } from "../controllers/api/hubController";
 | 
					 | 
				
			||||||
import { modularWeaponSaleController } from "../controllers/api/modularWeaponSaleController";
 | 
					 | 
				
			||||||
import { deleteSessionController } from "../controllers/api/deleteSessionController";
 | 
					 | 
				
			||||||
import { logoutController } from "../controllers/api/logoutController";
 | 
					 | 
				
			||||||
import { missionInventoryUpdateController } from "../controllers/api/missionInventoryUpdateController";
 | 
					 | 
				
			||||||
import { genericUpdateController } from "../controllers/api/genericUpdateController";
 | 
					 | 
				
			||||||
import { rerollRandomModController } from "../controllers/api/rerollRandomModController";
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const apiRouter = express.Router();
 | 
					const apiRouter = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -66,5 +64,5 @@ apiRouter.post("/hostSession.php", hostSessionController);
 | 
				
			|||||||
apiRouter.post("/updateSession.php", updateSessionPostController);
 | 
					apiRouter.post("/updateSession.php", updateSessionPostController);
 | 
				
			||||||
apiRouter.post("/missionInventoryUpdate.php", missionInventoryUpdateController);
 | 
					apiRouter.post("/missionInventoryUpdate.php", missionInventoryUpdateController);
 | 
				
			||||||
apiRouter.post("/genericUpdate.php", genericUpdateController);
 | 
					apiRouter.post("/genericUpdate.php", genericUpdateController);
 | 
				
			||||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController)
 | 
					apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
 | 
				
			||||||
export { apiRouter };
 | 
					export { apiRouter };
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
 | 
					import { createAccountController } from "@/src/controllers/custom/createAccountController";
 | 
				
			||||||
import express from "express";
 | 
					import express from "express";
 | 
				
			||||||
import { createAccountController } from "../controllers/custom/createAccountController";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const customRouter = express.Router();
 | 
					const customRouter = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,6 @@
 | 
				
			|||||||
 | 
					import { aggregateSessionsController } from "@/src/controllers/dynamic/aggregateSessionsController";
 | 
				
			||||||
 | 
					import { worldStateController } from "@/src/controllers/dynamic/worldStateController";
 | 
				
			||||||
import express from "express";
 | 
					import express from "express";
 | 
				
			||||||
import { aggregateSessionsController } from "../controllers/dynamic/aggregateSessionsController";
 | 
					 | 
				
			||||||
import { worldStateController } from "../controllers/dynamic/worldStateController";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const dynamicController = express.Router();
 | 
					const dynamicController = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
 | 
					import { uploadController } from "@/src/controllers/stats/uploadController";
 | 
				
			||||||
import express from "express";
 | 
					import express from "express";
 | 
				
			||||||
import { uploadController } from "../controllers/stats/uploadController";
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
const statsRouter = express.Router();
 | 
					const statsRouter = express.Router();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,5 +1,5 @@
 | 
				
			|||||||
import { Account } from "../models/loginModel";
 | 
					import { Account } from "@/src/models/loginModel";
 | 
				
			||||||
import { IDatabaseAccount } from "../types/loginTypes";
 | 
					import { IDatabaseAccount } from "@/src/types/loginTypes";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const isCorrectPassword = (requestPassword: string, databasePassword: string): boolean => {
 | 
					const isCorrectPassword = (requestPassword: string, databasePassword: string): boolean => {
 | 
				
			||||||
    return requestPassword === databasePassword;
 | 
					    return requestPassword === databasePassword;
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										106
									
								
								static/fixed_responses/aggregateSessions.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										106
									
								
								static/fixed_responses/aggregateSessions.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,106 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "Results": [
 | 
				
			||||||
 | 
					    { "gameModeId": 3228, "count": 12 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2022236, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1109004, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2004450, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2129, "count": 4 },
 | 
				
			||||||
 | 
					    { "gameModeId": 8763, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 12183, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 11167, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 17710, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 22237, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 3509, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 13006, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 20801, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 204014, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2061, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 303025, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 702001, "count": 12 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2305121, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1704046, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 17229, "count": 12 },
 | 
				
			||||||
 | 
					    { "gameModeId": 717000, "count": 15 },
 | 
				
			||||||
 | 
					    { "gameModeId": 9536, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 15409, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 722000, "count": 20 },
 | 
				
			||||||
 | 
					    { "gameModeId": 22232, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2023, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1704008, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 6042, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2305053, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2022238, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1708001, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 5004, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 605088, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 6032, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2022, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1216214, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 3903, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 6096, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2003079, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1105121, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 616020, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1204235, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 9024, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 703004, "count": 16 },
 | 
				
			||||||
 | 
					    { "gameModeId": 706000, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 201223, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1404068, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 22231, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2111019, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1407064, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 701000, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 703000, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1703039, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 5005, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2001094, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 22236, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 703003, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 98000, "count": 30 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1419748, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 21555, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 22238, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1704113, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 9025, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1318307, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 303034, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 15401, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 4904, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2305126, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2002123, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 9004, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1702109, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 15408, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 6013, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 17706, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2005053, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1805125, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 15402, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 101, "count": 3 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2010144, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 3027, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2001, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 12191, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1112189, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 4450, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2011019, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 12195, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 8525, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 12014, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 12189, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 10147, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 11175, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1703089, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2104, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2015409, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 4058, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1416015, "count": 2 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1201108, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 704001, "count": 6 },
 | 
				
			||||||
 | 
					    { "gameModeId": 2022230, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 5100, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1703026, "count": 1 },
 | 
				
			||||||
 | 
					    { "gameModeId": 1415400, "count": 1 }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										70
									
								
								static/fixed_responses/modularWeaponSale.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								static/fixed_responses/modularWeaponSale.json
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
				
			|||||||
 | 
					{
 | 
				
			||||||
 | 
					  "SaleInfos": [
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "Name": "Ostron",
 | 
				
			||||||
 | 
					      "Expiry": { "$date": { "$numberLong": "1683586800000" } },
 | 
				
			||||||
 | 
					      "Revision": 3045,
 | 
				
			||||||
 | 
					      "Weapons": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "ItemType": "/Lotus/Weapons/Ostron/Melee/LotusModularWeapon",
 | 
				
			||||||
 | 
					          "PremiumPrice": 171,
 | 
				
			||||||
 | 
					          "ModularParts": [
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/Ostron/Melee/ModularMelee01/Handle/HandleFive",
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/Ostron/Melee/ModularMelee01/Tip/TipSix",
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/Ostron/Melee/ModularMelee01/Balance/BalanceDamageICritII"
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "Name": "SolarisUnitedHoverboard",
 | 
				
			||||||
 | 
					      "Expiry": { "$date": { "$numberLong": "1683586800000" } },
 | 
				
			||||||
 | 
					      "Revision": 1650,
 | 
				
			||||||
 | 
					      "Weapons": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "ItemType": "/Lotus/Types/Vehicles/Hoverboard/HoverboardSuit",
 | 
				
			||||||
 | 
					          "PremiumPrice": 51,
 | 
				
			||||||
 | 
					          "ModularParts": [
 | 
				
			||||||
 | 
					            "/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCDeck",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCEngine",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusB/HoverboardCorpusBFront",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Vehicles/Hoverboard/HoverboardParts/PartComponents/HoverboardCorpusC/HoverboardCorpusCJet"
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "Name": "SolarisUnitedMoaPet",
 | 
				
			||||||
 | 
					      "Expiry": { "$date": { "$numberLong": "1683586800000" } },
 | 
				
			||||||
 | 
					      "Revision": 1650,
 | 
				
			||||||
 | 
					      "Weapons": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "ItemType": "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetPowerSuit",
 | 
				
			||||||
 | 
					          "PremiumPrice": 175,
 | 
				
			||||||
 | 
					          "ModularParts": [
 | 
				
			||||||
 | 
					            "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetLegC",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetHeadOloro",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetEngineKrisys",
 | 
				
			||||||
 | 
					            "/Lotus/Types/Friendly/Pets/MoaPets/MoaPetParts/MoaPetPayloadThermocor"
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      "Name": "SolarisUnitedKitGun",
 | 
				
			||||||
 | 
					      "Expiry": { "$date": { "$numberLong": "1683586800000" } },
 | 
				
			||||||
 | 
					      "Revision": 1650,
 | 
				
			||||||
 | 
					      "Weapons": [
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					          "ItemType": "/Lotus/Weapons/SolarisUnited/Primary/LotusModularPrimaryBeam",
 | 
				
			||||||
 | 
					          "PremiumPrice": 157,
 | 
				
			||||||
 | 
					          "ModularParts": [
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/SolarisUnited/Primary/SUModularPrimarySet1/Handles/SUModularPrimaryHandleAPart",
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/SolarisUnited/Secondary/SUModularSecondarySet1/Barrel/SUModularSecondaryBarrelDPart",
 | 
				
			||||||
 | 
					            "/Lotus/Weapons/SolarisUnited/Secondary/SUModularSecondarySet1/Clip/SUModularCritIReloadIIClipPart"
 | 
				
			||||||
 | 
					          ]
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					      ]
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@ -52,9 +52,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "62ff8739293d0365d3046528" },
 | 
					      "_id": { "$oid": "62ff8739293d0365d3046528" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "fr", "Message": "[Guide] Que faire après avoir terminé \"Le Trophée de Vor\"" }],
 | 
				
			||||||
                { "LanguageCode": "fr", "Message": "[Guide] Que faire après avoir terminé \"Le Trophée de Vor\"" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1315672-guide-que-faire-apr%C3%A8s-avoir-termin%C3%A9-le-troph%C3%A9e-de-vor/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1315672-guide-que-faire-apr%C3%A8s-avoir-termin%C3%A9-le-troph%C3%A9e-de-vor/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1660913400000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1660913400000" } },
 | 
				
			||||||
      "ImageUrl": "https://n9e5v4d8.ssl.hwcdn.net/uploads/0bd16bb52c55ec09ca1168becb87b030.png",
 | 
					      "ImageUrl": "https://n9e5v4d8.ssl.hwcdn.net/uploads/0bd16bb52c55ec09ca1168becb87b030.png",
 | 
				
			||||||
@ -429,9 +427,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "646e6a4cf16914573401c77b" },
 | 
					      "_id": { "$oid": "646e6a4cf16914573401c77b" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "tr", "Message": "Nora’nın Derlemesi - 3. Seri Tamamlandı + 4. Seri Sizlerle!" }],
 | 
				
			||||||
                { "LanguageCode": "tr", "Message": "Nora’nın Derlemesi - 3. Seri Tamamlandı + 4. Seri Sizlerle!" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1354223-nora%E2%80%99n%C4%B1n-derlemesi-seri-3-tamamland%C4%B1-seri-4-24-may%C4%B1s%E2%80%99ta-sizlerle/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1354223-nora%E2%80%99n%C4%B1n-derlemesi-seri-3-tamamland%C4%B1-seri-4-24-may%C4%B1s%E2%80%99ta-sizlerle/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1684957500000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1684957500000" } },
 | 
				
			||||||
      "Priority": false,
 | 
					      "Priority": false,
 | 
				
			||||||
@ -440,9 +436,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "646fbefdeaa2199bc406b117" },
 | 
					      "_id": { "$oid": "646fbefdeaa2199bc406b117" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.11 + Revisión 33.0.12" }],
 | 
				
			||||||
                { "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.11 + Revisión 33.0.12" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1354406-la-paradoja-de-duviri-revisi%C3%B3n-33011-revisi%C3%B3n-33012/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1354406-la-paradoja-de-duviri-revisi%C3%B3n-33011-revisi%C3%B3n-33012/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1685044920000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1685044920000" } },
 | 
				
			||||||
      "Priority": false,
 | 
					      "Priority": false,
 | 
				
			||||||
@ -468,9 +462,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "64751514ef6fa74efd0b624e" },
 | 
					      "_id": { "$oid": "64751514ef6fa74efd0b624e" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "en", "Message": " PSA: Hotfix pause until The 7 Crimes of Kullervo Update" }],
 | 
				
			||||||
                { "LanguageCode": "en", "Message": " PSA: Hotfix pause until The 7 Crimes of Kullervo Update" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1355007-psa-hotfixing-paused-until-the-7-crimes-of-kullervo/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1355007-psa-hotfixing-paused-until-the-7-crimes-of-kullervo/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1685394600000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1685394600000" } },
 | 
				
			||||||
      "Priority": true,
 | 
					      "Priority": true,
 | 
				
			||||||
@ -491,9 +483,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "6475175603028af6f50769e3" },
 | 
					      "_id": { "$oid": "6475175603028af6f50769e3" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "en", "Message": "Twitch Drops: Community Stream Schedule May 29 to June 2!" }],
 | 
				
			||||||
                { "LanguageCode": "en", "Message": "Twitch Drops: Community Stream Schedule May 29 to June 2!" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1355012-community-stream-schedule-may-29-june-2/?utm_medium=in-game&utm_source=in-game&utm_campaign=2023-05-Community-Streams-29",
 | 
					      "Prop": "https://forums.warframe.com/topic/1355012-community-stream-schedule-may-29-june-2/?utm_medium=in-game&utm_source=in-game&utm_campaign=2023-05-Community-Streams-29",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1685395200000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1685395200000" } },
 | 
				
			||||||
      "Priority": false,
 | 
					      "Priority": false,
 | 
				
			||||||
@ -521,9 +511,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "6476250bedcc8797810215de" },
 | 
					      "_id": { "$oid": "6476250bedcc8797810215de" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "es", "Message": "¡Emisión Tenno con sorteo de Hildryn Prime Access + Twitch Drop!" }],
 | 
				
			||||||
                { "LanguageCode": "es", "Message": "¡Emisión Tenno con sorteo de Hildryn Prime Access + Twitch Drop!" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1355104-programa-de-streams-y-twitch-drops-29-de-mayo-2-de-junio/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1355104-programa-de-streams-y-twitch-drops-29-de-mayo-2-de-junio/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1685464260000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1685464260000" } },
 | 
				
			||||||
      "EventStartDate": { "$date": { "$numberLong": "1685559600000" } },
 | 
					      "EventStartDate": { "$date": { "$numberLong": "1685559600000" } },
 | 
				
			||||||
@ -544,9 +532,7 @@
 | 
				
			|||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "64764bd4931e7ae47f0d1a60" },
 | 
					      "_id": { "$oid": "64764bd4931e7ae47f0d1a60" },
 | 
				
			||||||
            "Messages": [
 | 
					      "Messages": [{ "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.13 + Revisión 33.0.14" }],
 | 
				
			||||||
                { "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.13 + Revisión 33.0.14" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Prop": "https://forums.warframe.com/topic/1355129-la-paradoja-de-duviri-revisi%C3%B3n-33013-revisi%C3%B3n-33014/",
 | 
					      "Prop": "https://forums.warframe.com/topic/1355129-la-paradoja-de-duviri-revisi%C3%B3n-33013-revisi%C3%B3n-33014/",
 | 
				
			||||||
      "Date": { "$date": { "$numberLong": "1685474220000" } },
 | 
					      "Date": { "$date": { "$numberLong": "1685474220000" } },
 | 
				
			||||||
      "Priority": false,
 | 
					      "Priority": false,
 | 
				
			||||||
@ -590,19 +576,13 @@
 | 
				
			|||||||
        {
 | 
					        {
 | 
				
			||||||
          "credits": 0,
 | 
					          "credits": 0,
 | 
				
			||||||
          "xp": 0,
 | 
					          "xp": 0,
 | 
				
			||||||
                    "items": [
 | 
					          "items": ["/Lotus/StoreItems/Upgrades/Mods/DualSource/Shotgun/ShotgunMedicMod", "/Lotus/StoreItems/Upgrades/Mods/DualSource/Rifle/SerratedRushMod"],
 | 
				
			||||||
                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Shotgun/ShotgunMedicMod",
 | 
					 | 
				
			||||||
                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Rifle/SerratedRushMod"
 | 
					 | 
				
			||||||
                    ],
 | 
					 | 
				
			||||||
          "countedItems": []
 | 
					          "countedItems": []
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
          "credits": 0,
 | 
					          "credits": 0,
 | 
				
			||||||
          "xp": 0,
 | 
					          "xp": 0,
 | 
				
			||||||
                    "items": [
 | 
					          "items": ["/Lotus/StoreItems/Upgrades/Mods/DualSource/Pistol/MultishotDodgeMod", "/Lotus/StoreItems/Upgrades/Mods/DualSource/Melee/CritDamageChargeSpeedMod"],
 | 
				
			||||||
                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Pistol/MultishotDodgeMod",
 | 
					 | 
				
			||||||
                        "/Lotus/StoreItems/Upgrades/Mods/DualSource/Melee/CritDamageChargeSpeedMod"
 | 
					 | 
				
			||||||
                    ],
 | 
					 | 
				
			||||||
          "countedItems": []
 | 
					          "countedItems": []
 | 
				
			||||||
        },
 | 
					        },
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
@ -628,10 +608,7 @@
 | 
				
			|||||||
      "Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
 | 
					      "Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
 | 
				
			||||||
      "Tag": "Anniversary2018TacAlert",
 | 
					      "Tag": "Anniversary2018TacAlert",
 | 
				
			||||||
      "Reward": {
 | 
					      "Reward": {
 | 
				
			||||||
                "items": [
 | 
					        "items": ["/Lotus/StoreItems/Upgrades/Skins/Scarves/DexScarf", "/Lotus/StoreItems/Types/Game/CatbrowPet/CatbrowGeneticSignature"]
 | 
				
			||||||
                    "/Lotus/StoreItems/Upgrades/Skins/Scarves/DexScarf",
 | 
					 | 
				
			||||||
                    "/Lotus/StoreItems/Types/Game/CatbrowPet/CatbrowGeneticSignature"
 | 
					 | 
				
			||||||
                ]
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
@ -649,10 +626,7 @@
 | 
				
			|||||||
      "Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
 | 
					      "Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
 | 
				
			||||||
      "Tag": "Anniversary2018TacAlert",
 | 
					      "Tag": "Anniversary2018TacAlert",
 | 
				
			||||||
      "Reward": {
 | 
					      "Reward": {
 | 
				
			||||||
                "items": [
 | 
					        "items": ["/Lotus/StoreItems/Upgrades/Skins/Wisp/DexWispSkin", "/Lotus/StoreItems/Types/StoreItems/SlotItems/TwoSentinelSlotItem"]
 | 
				
			||||||
                    "/Lotus/StoreItems/Upgrades/Skins/Wisp/DexWispSkin",
 | 
					 | 
				
			||||||
                    "/Lotus/StoreItems/Types/StoreItems/SlotItems/TwoSentinelSlotItem"
 | 
					 | 
				
			||||||
                ]
 | 
					 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  ],
 | 
					  ],
 | 
				
			||||||
@ -1090,15 +1064,7 @@
 | 
				
			|||||||
      "Expiry": { "$date": { "$numberLong": "1685635140000" } },
 | 
					      "Expiry": { "$date": { "$numberLong": "1685635140000" } },
 | 
				
			||||||
      "Tag": "RedVeilSyndicate",
 | 
					      "Tag": "RedVeilSyndicate",
 | 
				
			||||||
      "Seed": 78309,
 | 
					      "Seed": 78309,
 | 
				
			||||||
            "Nodes": [
 | 
					      "Nodes": ["SolNode15", "SolNode106", "SettlementNode3", "SolNode224", "SolNode401", "SolNode76", "SolNode62"]
 | 
				
			||||||
                "SolNode15",
 | 
					 | 
				
			||||||
                "SolNode106",
 | 
					 | 
				
			||||||
                "SettlementNode3",
 | 
					 | 
				
			||||||
                "SolNode224",
 | 
					 | 
				
			||||||
                "SolNode401",
 | 
					 | 
				
			||||||
                "SolNode76",
 | 
					 | 
				
			||||||
                "SolNode62"
 | 
					 | 
				
			||||||
            ]
 | 
					 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
      "_id": { "$oid": "64776ec6e72990bfd5fea4f3" },
 | 
					      "_id": { "$oid": "64776ec6e72990bfd5fea4f3" },
 | 
				
			||||||
@ -1763,15 +1729,11 @@
 | 
				
			|||||||
      "Completed": true,
 | 
					      "Completed": true,
 | 
				
			||||||
      "ChainID": { "$oid": "646fdcb95a219384bdbbd5f1" },
 | 
					      "ChainID": { "$oid": "646fdcb95a219384bdbbd5f1" },
 | 
				
			||||||
      "AttackerReward": {
 | 
					      "AttackerReward": {
 | 
				
			||||||
                "countedItems": [
 | 
					        "countedItems": [{ "ItemType": "/Lotus/Types/Recipes/Weapons/SnipetronVandalBlueprint", "ItemCount": 1 }]
 | 
				
			||||||
                    { "ItemType": "/Lotus/Types/Recipes/Weapons/SnipetronVandalBlueprint", "ItemCount": 1 }
 | 
					 | 
				
			||||||
                ]
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "AttackerMissionInfo": { "seed": 181914, "faction": "FC_GRINEER" },
 | 
					      "AttackerMissionInfo": { "seed": 181914, "faction": "FC_GRINEER" },
 | 
				
			||||||
      "DefenderReward": {
 | 
					      "DefenderReward": {
 | 
				
			||||||
                "countedItems": [
 | 
					        "countedItems": [{ "ItemType": "/Lotus/Types/Recipes/Weapons/WeaponParts/GrineerCombatKnifeHilt", "ItemCount": 1 }]
 | 
				
			||||||
                    { "ItemType": "/Lotus/Types/Recipes/Weapons/WeaponParts/GrineerCombatKnifeHilt", "ItemCount": 1 }
 | 
					 | 
				
			||||||
                ]
 | 
					 | 
				
			||||||
      },
 | 
					      },
 | 
				
			||||||
      "DefenderMissionInfo": { "seed": 197505, "faction": "FC_CORPUS" },
 | 
					      "DefenderMissionInfo": { "seed": 197505, "faction": "FC_CORPUS" },
 | 
				
			||||||
      "Activation": { "$date": { "$numberLong": "1685232025336" } }
 | 
					      "Activation": { "$date": { "$numberLong": "1685232025336" } }
 | 
				
			||||||
@ -2307,11 +2269,7 @@
 | 
				
			|||||||
      "params": [{ "n": "ScriptParamValue", "v": 0 }],
 | 
					      "params": [{ "n": "ScriptParamValue", "v": 0 }],
 | 
				
			||||||
      "isGenerated": true,
 | 
					      "isGenerated": true,
 | 
				
			||||||
      "PVPMode": "PVPMODE_NONE",
 | 
					      "PVPMode": "PVPMODE_NONE",
 | 
				
			||||||
            "subChallenges": [
 | 
					      "subChallenges": [{ "$oid": "6470fd0132c7efc24f00caf0" }, { "$oid": "6470fd0132c7efc24f00caf1" }, { "$oid": "6470fd0132c7efc24f00caf2" }],
 | 
				
			||||||
                { "$oid": "6470fd0132c7efc24f00caf0" },
 | 
					 | 
				
			||||||
                { "$oid": "6470fd0132c7efc24f00caf1" },
 | 
					 | 
				
			||||||
                { "$oid": "6470fd0132c7efc24f00caf2" }
 | 
					 | 
				
			||||||
            ],
 | 
					 | 
				
			||||||
      "Category": "PVPChallengeTypeCategory_WEEKLY_ROOT"
 | 
					      "Category": "PVPChallengeTypeCategory_WEEKLY_ROOT"
 | 
				
			||||||
    },
 | 
					    },
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user