Use non-relative imports (#8)
This commit is contained in:
parent
f2dfb42071
commit
108d2c621d
@ -11,6 +11,7 @@
|
||||
"node": true
|
||||
},
|
||||
"rules": {
|
||||
"@typescript-eslint/no-misused-promises": "off",
|
||||
"prettier/prettier": "error",
|
||||
"@typescript-eslint/semi": ["error"],
|
||||
"@typescript-eslint/explicit-function-return-type": "off",
|
||||
|
11
.prettierrc
11
.prettierrc
@ -14,5 +14,14 @@
|
||||
"singleQuote": false,
|
||||
"vueIndentScriptAndStyle": true,
|
||||
"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",
|
||||
"license": "GNU",
|
||||
"dependencies": {
|
||||
"dotenv": "^16.0.3",
|
||||
"dotenv": "^16.1.3",
|
||||
"express": "^5.0.0-beta.1",
|
||||
"mongoose": "^7.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/node20": "^1.0.0",
|
||||
"@types/body-parser": "^1.19.2",
|
||||
"@types/express": "^4.17.17",
|
||||
"@types/morgan": "^1.9.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
||||
"@typescript-eslint/parser": "^5.59.2",
|
||||
"eslint": "^8.40.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.8",
|
||||
"@typescript-eslint/parser": "^5.59.8",
|
||||
"eslint": "^8.41.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"morgan": "^1.10.0",
|
||||
"prettier": "^2.8.8",
|
||||
"ts-node-dev": "^2.0.0",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^5.0.4"
|
||||
"typescript": "^5.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18.15.0",
|
||||
@ -116,9 +115,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "8.40.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz",
|
||||
"integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==",
|
||||
"version": "8.41.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.41.0.tgz",
|
||||
"integrity": "sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@ -314,9 +313,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/json-schema": {
|
||||
"version": "7.0.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
|
||||
"integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==",
|
||||
"version": "7.0.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
|
||||
"integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/mime": {
|
||||
@ -352,9 +351,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/semver": {
|
||||
"version": "7.3.13",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz",
|
||||
"integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==",
|
||||
"version": "7.5.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz",
|
||||
"integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/send": {
|
||||
@ -404,15 +403,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz",
|
||||
"integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.8.tgz",
|
||||
"integrity": "sha512-JDMOmhXteJ4WVKOiHXGCoB96ADWg9q7efPWHRViT/f09bA8XOMLAVHHju3l0MkZnG1izaWXYmgvQcUjTRcpShQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@typescript-eslint/scope-manager": "5.59.2",
|
||||
"@typescript-eslint/type-utils": "5.59.2",
|
||||
"@typescript-eslint/utils": "5.59.2",
|
||||
"@typescript-eslint/scope-manager": "5.59.8",
|
||||
"@typescript-eslint/type-utils": "5.59.8",
|
||||
"@typescript-eslint/utils": "5.59.8",
|
||||
"debug": "^4.3.4",
|
||||
"grapheme-splitter": "^1.0.4",
|
||||
"ignore": "^5.2.0",
|
||||
@ -461,14 +460,14 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/parser": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz",
|
||||
"integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.8.tgz",
|
||||
"integrity": "sha512-AnR19RjJcpjoeGojmwZtCwBX/RidqDZtzcbG3xHrmz0aHHoOcbWnpDllenRDmDvsV0RQ6+tbb09/kyc+UT9Orw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/scope-manager": "5.59.2",
|
||||
"@typescript-eslint/types": "5.59.2",
|
||||
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||
"@typescript-eslint/scope-manager": "5.59.8",
|
||||
"@typescript-eslint/types": "5.59.8",
|
||||
"@typescript-eslint/typescript-estree": "5.59.8",
|
||||
"debug": "^4.3.4"
|
||||
},
|
||||
"engines": {
|
||||
@ -511,13 +510,13 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/scope-manager": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz",
|
||||
"integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.8.tgz",
|
||||
"integrity": "sha512-/w08ndCYI8gxGf+9zKf1vtx/16y8MHrZs5/tnjHhMLNSixuNcJavSX4wAiPf4aS5x41Es9YPCn44MIe4cxIlig==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.59.2",
|
||||
"@typescript-eslint/visitor-keys": "5.59.2"
|
||||
"@typescript-eslint/types": "5.59.8",
|
||||
"@typescript-eslint/visitor-keys": "5.59.8"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@ -528,13 +527,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/type-utils": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz",
|
||||
"integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.8.tgz",
|
||||
"integrity": "sha512-+5M518uEIHFBy3FnyqZUF3BMP+AXnYn4oyH8RF012+e7/msMY98FhGL5SrN29NQ9xDgvqCgYnsOiKp1VjZ/fpA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||
"@typescript-eslint/utils": "5.59.2",
|
||||
"@typescript-eslint/typescript-estree": "5.59.8",
|
||||
"@typescript-eslint/utils": "5.59.8",
|
||||
"debug": "^4.3.4",
|
||||
"tsutils": "^3.21.0"
|
||||
},
|
||||
@ -578,9 +577,9 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/types": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz",
|
||||
"integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.8.tgz",
|
||||
"integrity": "sha512-+uWuOhBTj/L6awoWIg0BlWy0u9TyFpCHrAuQ5bNfxDaZ1Ppb3mx6tUigc74LHcbHpOHuOTOJrBoAnhdHdaea1w==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
@ -591,13 +590,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/typescript-estree": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz",
|
||||
"integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.8.tgz",
|
||||
"integrity": "sha512-Jy/lPSDJGNow14vYu6IrW790p7HIf/SOV1Bb6lZ7NUkLc2iB2Z9elESmsaUtLw8kVqogSbtLH9tut5GCX1RLDg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.59.2",
|
||||
"@typescript-eslint/visitor-keys": "5.59.2",
|
||||
"@typescript-eslint/types": "5.59.8",
|
||||
"@typescript-eslint/visitor-keys": "5.59.8",
|
||||
"debug": "^4.3.4",
|
||||
"globby": "^11.1.0",
|
||||
"is-glob": "^4.0.3",
|
||||
@ -641,17 +640,17 @@
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@typescript-eslint/utils": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz",
|
||||
"integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.8.tgz",
|
||||
"integrity": "sha512-Tr65630KysnNn9f9G7ROF3w1b5/7f6QVCJ+WK9nhIocWmx9F+TmCAcglF26Vm7z8KCTwoKcNEBZrhlklla3CKg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@types/json-schema": "^7.0.9",
|
||||
"@types/semver": "^7.3.12",
|
||||
"@typescript-eslint/scope-manager": "5.59.2",
|
||||
"@typescript-eslint/types": "5.59.2",
|
||||
"@typescript-eslint/typescript-estree": "5.59.2",
|
||||
"@typescript-eslint/scope-manager": "5.59.8",
|
||||
"@typescript-eslint/types": "5.59.8",
|
||||
"@typescript-eslint/typescript-estree": "5.59.8",
|
||||
"eslint-scope": "^5.1.1",
|
||||
"semver": "^7.3.7"
|
||||
},
|
||||
@ -667,12 +666,12 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@typescript-eslint/visitor-keys": {
|
||||
"version": "5.59.2",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz",
|
||||
"integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==",
|
||||
"version": "5.59.8",
|
||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.8.tgz",
|
||||
"integrity": "sha512-pJhi2ms0x0xgloT7xYabil3SGGlojNNKjK/q6dB3Ey0uJLMjK2UDGJvHieiyJVW/7C3KI+Z4Q3pEHkm4ejA+xQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@typescript-eslint/types": "5.59.2",
|
||||
"@typescript-eslint/types": "5.59.8",
|
||||
"eslint-visitor-keys": "^3.3.0"
|
||||
},
|
||||
"engines": {
|
||||
@ -1111,11 +1110,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/dotenv": {
|
||||
"version": "16.0.3",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
|
||||
"integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
|
||||
"version": "16.1.3",
|
||||
"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.1.3.tgz",
|
||||
"integrity": "sha512-FYssxsmCTtKL72fGBSvb1K9dRz0/VZeWqFme/vSb7r7323x4CRaHu4LvQ5JG3+s6yt2YPbBrkpiEODktfyjI9A==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/motdotla/dotenv?sponsor=1"
|
||||
}
|
||||
},
|
||||
"node_modules/dynamic-dedupe": {
|
||||
@ -1158,15 +1160,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "8.40.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz",
|
||||
"integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==",
|
||||
"version": "8.41.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.41.0.tgz",
|
||||
"integrity": "sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.4.0",
|
||||
"@eslint/eslintrc": "^2.0.3",
|
||||
"@eslint/js": "8.40.0",
|
||||
"@eslint/js": "8.41.0",
|
||||
"@humanwhocodes/config-array": "^0.11.8",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
@ -1186,13 +1188,12 @@
|
||||
"find-up": "^5.0.0",
|
||||
"glob-parent": "^6.0.2",
|
||||
"globals": "^13.19.0",
|
||||
"grapheme-splitter": "^1.0.4",
|
||||
"graphemer": "^1.4.0",
|
||||
"ignore": "^5.2.0",
|
||||
"import-fresh": "^3.0.0",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"is-glob": "^4.0.0",
|
||||
"is-path-inside": "^3.0.3",
|
||||
"js-sdsl": "^4.1.4",
|
||||
"js-yaml": "^4.1.0",
|
||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||
"levn": "^0.4.1",
|
||||
@ -1689,6 +1690,12 @@
|
||||
"integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
|
||||
"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": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
|
||||
@ -1875,16 +1882,6 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"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": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
|
||||
@ -3092,16 +3089,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.0.4",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz",
|
||||
"integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==",
|
||||
"version": "5.1.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.1.3.tgz",
|
||||
"integrity": "sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"tsc": "bin/tsc",
|
||||
"tsserver": "bin/tsserver"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.20"
|
||||
"node": ">=14.17"
|
||||
}
|
||||
},
|
||||
"node_modules/unpipe": {
|
||||
|
14
package.json
14
package.json
@ -7,28 +7,28 @@
|
||||
"start": "node build/index.js",
|
||||
"dev": "ts-node-dev --openssl-legacy-provider -r tsconfig-paths/register src/index.ts",
|
||||
"build": "tsc",
|
||||
"lint": "eslint --ext .ts ."
|
||||
"lint": "eslint --ext .ts .",
|
||||
"prettier": "prettier --write ."
|
||||
},
|
||||
"license": "GNU",
|
||||
"dependencies": {
|
||||
"dotenv": "^16.0.3",
|
||||
"dotenv": "^16.1.3",
|
||||
"express": "^5.0.0-beta.1",
|
||||
"mongoose": "^7.1.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@tsconfig/node20": "^1.0.0",
|
||||
"@types/body-parser": "^1.19.2",
|
||||
"@types/express": "^4.17.17",
|
||||
"@types/morgan": "^1.9.4",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
||||
"@typescript-eslint/parser": "^5.59.2",
|
||||
"eslint": "^8.40.0",
|
||||
"@typescript-eslint/eslint-plugin": "^5.59.8",
|
||||
"@typescript-eslint/parser": "^5.59.8",
|
||||
"eslint": "^8.41.0",
|
||||
"eslint-plugin-prettier": "^4.2.1",
|
||||
"morgan": "^1.10.0",
|
||||
"prettier": "^2.8.8",
|
||||
"ts-node-dev": "^2.0.0",
|
||||
"tsconfig-paths": "^4.2.0",
|
||||
"typescript": "^5.0.4"
|
||||
"typescript": "^5.1.3"
|
||||
},
|
||||
"engines": {
|
||||
"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 { testRouter } from "@/src/routes/test";
|
||||
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 morgan from "morgan";
|
||||
import { steamPacksController } from "./controllers/misc/steamPacksController";
|
||||
import { connectDatabase } from "./services/mongoService";
|
||||
import { steamPacksController } from "@/src/controllers/misc/steamPacksController";
|
||||
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();
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
const dronesController: RequestHandler = (_req, res) => {
|
||||
res.json({})
|
||||
res.json({});
|
||||
};
|
||||
|
||||
export { dronesController };
|
||||
|
@ -3,7 +3,7 @@ import { RequestHandler } from "express";
|
||||
const findSessionsController: RequestHandler = (_req, res) => {
|
||||
console.log("FindSession Request:", JSON.parse(_req.body));
|
||||
|
||||
res.json({ "sessionId": { "$oid": "64768f104722f795300c9fc0" }, "rewardSeed": 5867309943877621023 });
|
||||
res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
|
||||
};
|
||||
|
||||
export { findSessionsController };
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
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 };
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Request, Response } from "express";
|
||||
|
||||
export default (_request: Request, response: Response) => {
|
||||
const getFriendsController = (_request: Request, response: Response) => {
|
||||
response.writeHead(200, {
|
||||
//Connection: "keep-alive",
|
||||
//"Content-Encoding": "gzip",
|
||||
@ -10,3 +10,5 @@ export default (_request: Request, response: Response) => {
|
||||
});
|
||||
response.end(Buffer.from([0x7b, 0x7d, 0x0a]));
|
||||
};
|
||||
|
||||
export { getFriendsController };
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
const getNewRewardSeedController: RequestHandler = (_req, res) => {
|
||||
res.json({ "rewardSeed": 5867309943877621023 });
|
||||
res.json({ rewardSeed: 5867309943877621023 });
|
||||
};
|
||||
|
||||
export { getNewRewardSeedController };
|
||||
|
@ -4,7 +4,6 @@ const hostSessionController: RequestHandler = (_req, res) => {
|
||||
console.log("HostSession Request:", JSON.parse(_req.body));
|
||||
|
||||
res.json({ sessionId: { $oid: "64768f104722f795300c9fc0" }, rewardSeed: 5867309943877621023 });
|
||||
|
||||
};
|
||||
|
||||
export { hostSessionController };
|
||||
|
@ -1,11 +1,11 @@
|
||||
import inventory from "@/static/fixed_responses/inventory.json";
|
||||
import { Request, RequestHandler, Response } from "express";
|
||||
|
||||
const inventorController: RequestHandler = (request: Request, response: Response) => {
|
||||
const inventoryController: RequestHandler = (request: Request, response: Response) => {
|
||||
console.log(request.query);
|
||||
const accountId = request.query.accountId;
|
||||
console.log(accountId);
|
||||
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 { 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) => {
|
||||
// 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
|
||||
@ -34,7 +33,6 @@ const loginController: RequestHandler = async (request, response) => {
|
||||
TrackedSettings: []
|
||||
});
|
||||
console.log("CREATED ACCOUNT", newAccount);
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
const { email, password, ...databaseAccount } = newAccount;
|
||||
const newLoginResponse: ILoginResponse = {
|
||||
...databaseAccount,
|
||||
|
@ -1,9 +1,7 @@
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
const logoutController: RequestHandler = (_req, res) => {
|
||||
const data = Buffer.from([
|
||||
0x31
|
||||
]);
|
||||
const data = Buffer.from([0x31]);
|
||||
res.writeHead(200, {
|
||||
"Content-Type": "text/html",
|
||||
"Content-Length": data.length
|
||||
|
@ -1,7 +1,8 @@
|
||||
import { RequestHandler } from "express";
|
||||
import modularWeaponSale from "@/static/fixed_responses/modularWeaponSale.json";
|
||||
|
||||
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 };
|
@ -1,6 +1,8 @@
|
||||
import purchase from "@/static/fixed_responses/purchase.json";
|
||||
import { Request, Response } from "express";
|
||||
|
||||
export default (_req: Request, res: Response): void => {
|
||||
const purchaseController = (_req: Request, res: Response): void => {
|
||||
res.json(purchase);
|
||||
};
|
||||
|
||||
export { purchaseController };
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { RequestHandler } from "express";
|
||||
|
||||
const rerollRandomModController: RequestHandler = (_req, res) => {
|
||||
console.log("RerollRandomMod Request:", _req.body.toString('hex').replace(/(.)(.)/g, '$1$2 '));
|
||||
res.json({ });
|
||||
console.log("RerollRandomMod Request:", _req.body.toString("hex").replace(/(.)(.)/g, "$1$2 "));
|
||||
res.json({});
|
||||
};
|
||||
|
||||
export { rerollRandomModController };
|
@ -6,6 +6,6 @@ const updateSessionGetController: RequestHandler = (_req, res) => {
|
||||
const updateSessionPostController: RequestHandler = (_req, res) => {
|
||||
console.log("UpdateSessions POST Request:", JSON.parse(_req.body));
|
||||
|
||||
res.json({ "hasStarted": true });
|
||||
res.json({ hasStarted: true });
|
||||
};
|
||||
export { updateSessionGetController, updateSessionPostController };
|
||||
|
@ -1,4 +1,3 @@
|
||||
/* eslint-disable @typescript-eslint/no-misused-promises */
|
||||
import { toCreateAccount, toDatabaseAccount } from "@/src/helpers/customHelpers";
|
||||
import { createAccount } from "@/src/services/loginService";
|
||||
import { RequestHandler } from "express";
|
||||
|
@ -1,7 +1,8 @@
|
||||
import { RequestHandler } from "express";
|
||||
import aggregateSessions from "@/static/fixed_responses/aggregateSessions.json";
|
||||
|
||||
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 };
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { IAccountCreation } from "@/src/types/customTypes";
|
||||
import { IDatabaseAccount } from "@/src/types/loginTypes";
|
||||
import crypto from "crypto";
|
||||
import { IAccountCreation } from "../types/customTypes";
|
||||
import { IDatabaseAccount } from "../types/loginTypes";
|
||||
import { isString, parseEmail, parseString } from "./general";
|
||||
|
||||
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";
|
||||
|
||||
const toLoginRequest = (loginRequest: unknown): ILoginRequest => {
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { IDatabaseAccountDocument } from "@/src/types/loginTypes";
|
||||
import { model, Schema, SchemaOptions } from "mongoose";
|
||||
import { IDatabaseAccountDocument } from "../types/loginTypes";
|
||||
|
||||
const opts = {
|
||||
toJSON: { virtuals: true },
|
||||
|
@ -1,35 +1,33 @@
|
||||
import getFriendsController from "@/src/controllers/api/getFriendsController";
|
||||
import inventoryController from "@/src/controllers/api/inventoryController";
|
||||
import purchaseController from "@/src/controllers/api/purchaseController";
|
||||
import { checkDailyMissionBonusController } from "@/src/controllers/api/checkDailyMissionBonusController";
|
||||
import { deleteSessionController } from "@/src/controllers/api/deleteSessionController";
|
||||
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 { 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();
|
||||
|
||||
@ -66,5 +64,5 @@ apiRouter.post("/hostSession.php", hostSessionController);
|
||||
apiRouter.post("/updateSession.php", updateSessionPostController);
|
||||
apiRouter.post("/missionInventoryUpdate.php", missionInventoryUpdateController);
|
||||
apiRouter.post("/genericUpdate.php", genericUpdateController);
|
||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController)
|
||||
apiRouter.post("/rerollRandomMod.php", rerollRandomModController);
|
||||
export { apiRouter };
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { createAccountController } from "@/src/controllers/custom/createAccountController";
|
||||
import express from "express";
|
||||
import { createAccountController } from "../controllers/custom/createAccountController";
|
||||
|
||||
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 { aggregateSessionsController } from "../controllers/dynamic/aggregateSessionsController";
|
||||
import { worldStateController } from "../controllers/dynamic/worldStateController";
|
||||
|
||||
const dynamicController = express.Router();
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { uploadController } from "@/src/controllers/stats/uploadController";
|
||||
import express from "express";
|
||||
import { uploadController } from "../controllers/stats/uploadController";
|
||||
|
||||
const statsRouter = express.Router();
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Account } from "../models/loginModel";
|
||||
import { IDatabaseAccount } from "../types/loginTypes";
|
||||
import { Account } from "@/src/models/loginModel";
|
||||
import { IDatabaseAccount } from "@/src/types/loginTypes";
|
||||
|
||||
const isCorrectPassword = (requestPassword: string, databasePassword: string): boolean => {
|
||||
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" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "fr", "Message": "[Guide] Que faire après avoir terminé \"Le Trophée de Vor\"" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1660913400000" } },
|
||||
"ImageUrl": "https://n9e5v4d8.ssl.hwcdn.net/uploads/0bd16bb52c55ec09ca1168becb87b030.png",
|
||||
@ -429,9 +427,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "646e6a4cf16914573401c77b" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "tr", "Message": "Nora’nın Derlemesi - 3. Seri Tamamlandı + 4. Seri Sizlerle!" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1684957500000" } },
|
||||
"Priority": false,
|
||||
@ -440,9 +436,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "646fbefdeaa2199bc406b117" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.11 + Revisión 33.0.12" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1685044920000" } },
|
||||
"Priority": false,
|
||||
@ -468,9 +462,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "64751514ef6fa74efd0b624e" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "en", "Message": " PSA: Hotfix pause until The 7 Crimes of Kullervo Update" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1685394600000" } },
|
||||
"Priority": true,
|
||||
@ -491,9 +483,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "6475175603028af6f50769e3" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "en", "Message": "Twitch Drops: Community Stream Schedule May 29 to June 2!" }
|
||||
],
|
||||
"Messages": [{ "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",
|
||||
"Date": { "$date": { "$numberLong": "1685395200000" } },
|
||||
"Priority": false,
|
||||
@ -521,9 +511,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "6476250bedcc8797810215de" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "es", "Message": "¡Emisión Tenno con sorteo de Hildryn Prime Access + Twitch Drop!" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1685464260000" } },
|
||||
"EventStartDate": { "$date": { "$numberLong": "1685559600000" } },
|
||||
@ -544,9 +532,7 @@
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "64764bd4931e7ae47f0d1a60" },
|
||||
"Messages": [
|
||||
{ "LanguageCode": "es", "Message": "La Paradoja de Duviri: Revisión 33.0.13 + Revisión 33.0.14" }
|
||||
],
|
||||
"Messages": [{ "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/",
|
||||
"Date": { "$date": { "$numberLong": "1685474220000" } },
|
||||
"Priority": false,
|
||||
@ -590,19 +576,13 @@
|
||||
{
|
||||
"credits": 0,
|
||||
"xp": 0,
|
||||
"items": [
|
||||
"/Lotus/StoreItems/Upgrades/Mods/DualSource/Shotgun/ShotgunMedicMod",
|
||||
"/Lotus/StoreItems/Upgrades/Mods/DualSource/Rifle/SerratedRushMod"
|
||||
],
|
||||
"items": ["/Lotus/StoreItems/Upgrades/Mods/DualSource/Shotgun/ShotgunMedicMod", "/Lotus/StoreItems/Upgrades/Mods/DualSource/Rifle/SerratedRushMod"],
|
||||
"countedItems": []
|
||||
},
|
||||
{
|
||||
"credits": 0,
|
||||
"xp": 0,
|
||||
"items": [
|
||||
"/Lotus/StoreItems/Upgrades/Mods/DualSource/Pistol/MultishotDodgeMod",
|
||||
"/Lotus/StoreItems/Upgrades/Mods/DualSource/Melee/CritDamageChargeSpeedMod"
|
||||
],
|
||||
"items": ["/Lotus/StoreItems/Upgrades/Mods/DualSource/Pistol/MultishotDodgeMod", "/Lotus/StoreItems/Upgrades/Mods/DualSource/Melee/CritDamageChargeSpeedMod"],
|
||||
"countedItems": []
|
||||
},
|
||||
{
|
||||
@ -628,10 +608,7 @@
|
||||
"Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
|
||||
"Tag": "Anniversary2018TacAlert",
|
||||
"Reward": {
|
||||
"items": [
|
||||
"/Lotus/StoreItems/Upgrades/Skins/Scarves/DexScarf",
|
||||
"/Lotus/StoreItems/Types/Game/CatbrowPet/CatbrowGeneticSignature"
|
||||
]
|
||||
"items": ["/Lotus/StoreItems/Upgrades/Skins/Scarves/DexScarf", "/Lotus/StoreItems/Types/Game/CatbrowPet/CatbrowGeneticSignature"]
|
||||
}
|
||||
},
|
||||
{
|
||||
@ -649,10 +626,7 @@
|
||||
"Icon": "/Lotus/Interface/Icons/Player/GlyphLotus10Anniversary.png",
|
||||
"Tag": "Anniversary2018TacAlert",
|
||||
"Reward": {
|
||||
"items": [
|
||||
"/Lotus/StoreItems/Upgrades/Skins/Wisp/DexWispSkin",
|
||||
"/Lotus/StoreItems/Types/StoreItems/SlotItems/TwoSentinelSlotItem"
|
||||
]
|
||||
"items": ["/Lotus/StoreItems/Upgrades/Skins/Wisp/DexWispSkin", "/Lotus/StoreItems/Types/StoreItems/SlotItems/TwoSentinelSlotItem"]
|
||||
}
|
||||
}
|
||||
],
|
||||
@ -1090,15 +1064,7 @@
|
||||
"Expiry": { "$date": { "$numberLong": "1685635140000" } },
|
||||
"Tag": "RedVeilSyndicate",
|
||||
"Seed": 78309,
|
||||
"Nodes": [
|
||||
"SolNode15",
|
||||
"SolNode106",
|
||||
"SettlementNode3",
|
||||
"SolNode224",
|
||||
"SolNode401",
|
||||
"SolNode76",
|
||||
"SolNode62"
|
||||
]
|
||||
"Nodes": ["SolNode15", "SolNode106", "SettlementNode3", "SolNode224", "SolNode401", "SolNode76", "SolNode62"]
|
||||
},
|
||||
{
|
||||
"_id": { "$oid": "64776ec6e72990bfd5fea4f3" },
|
||||
@ -1763,15 +1729,11 @@
|
||||
"Completed": true,
|
||||
"ChainID": { "$oid": "646fdcb95a219384bdbbd5f1" },
|
||||
"AttackerReward": {
|
||||
"countedItems": [
|
||||
{ "ItemType": "/Lotus/Types/Recipes/Weapons/SnipetronVandalBlueprint", "ItemCount": 1 }
|
||||
]
|
||||
"countedItems": [{ "ItemType": "/Lotus/Types/Recipes/Weapons/SnipetronVandalBlueprint", "ItemCount": 1 }]
|
||||
},
|
||||
"AttackerMissionInfo": { "seed": 181914, "faction": "FC_GRINEER" },
|
||||
"DefenderReward": {
|
||||
"countedItems": [
|
||||
{ "ItemType": "/Lotus/Types/Recipes/Weapons/WeaponParts/GrineerCombatKnifeHilt", "ItemCount": 1 }
|
||||
]
|
||||
"countedItems": [{ "ItemType": "/Lotus/Types/Recipes/Weapons/WeaponParts/GrineerCombatKnifeHilt", "ItemCount": 1 }]
|
||||
},
|
||||
"DefenderMissionInfo": { "seed": 197505, "faction": "FC_CORPUS" },
|
||||
"Activation": { "$date": { "$numberLong": "1685232025336" } }
|
||||
@ -2307,11 +2269,7 @@
|
||||
"params": [{ "n": "ScriptParamValue", "v": 0 }],
|
||||
"isGenerated": true,
|
||||
"PVPMode": "PVPMODE_NONE",
|
||||
"subChallenges": [
|
||||
{ "$oid": "6470fd0132c7efc24f00caf0" },
|
||||
{ "$oid": "6470fd0132c7efc24f00caf1" },
|
||||
{ "$oid": "6470fd0132c7efc24f00caf2" }
|
||||
],
|
||||
"subChallenges": [{ "$oid": "6470fd0132c7efc24f00caf0" }, { "$oid": "6470fd0132c7efc24f00caf1" }, { "$oid": "6470fd0132c7efc24f00caf2" }],
|
||||
"Category": "PVPChallengeTypeCategory_WEEKLY_ROOT"
|
||||
},
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user