forked from noxious/server
More cache stuff
This commit is contained in:
parent
010454914b
commit
39ec4daa06
166
package-lock.json
generated
166
package-lock.json
generated
@ -1360,9 +1360,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/client": {
|
"node_modules/@prisma/client": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/client/-/client-6.2.0.tgz",
|
||||||
"integrity": "sha512-AbQYc5+EJKm1Ydfq3KxwcGiy7wIbm4/QbjCKWWoNROtvy7d6a3gmAGkKjK0iUCzh+rHV8xDhD5Cge8ke/kiy5Q==",
|
"integrity": "sha512-tmEgej4OR+Wqk8MwZQcu58JzA1iFPmi/z7VPEmjTuTIQDLqHQZ6+MDRLL4wgNJXJkMHUKD9yMD5AkwYH0/0hKA==",
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -1378,53 +1378,53 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/debug": {
|
"node_modules/@prisma/debug": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/debug/-/debug-6.2.0.tgz",
|
||||||
"integrity": "sha512-0himsvcM4DGBTtvXkd2Tggv6sl2JyUYLzEGXXleFY+7Kp6rZeSS3hiTW9mwtUlXrwYbJP6pwlVNB7jYElrjWUg==",
|
"integrity": "sha512-Q96rqZVivmEtt29h1hhALceJTqggHDsr3RAWpeSJZOppQu6vcv5PyiY4XxyTf04gZw4Ue+kkqtaRcRms1zC8aQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/engines": {
|
"node_modules/@prisma/engines": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/engines/-/engines-6.2.0.tgz",
|
||||||
"integrity": "sha512-GnYJbCiep3Vyr1P/415ReYrgJUjP79fBNc1wCo7NP6Eia0CzL2Ot9vK7Infczv3oK7JLrCcawOSAxFxNFsAERQ==",
|
"integrity": "sha512-Od7fH2gH+4n0E/XIhhAfO3OaKKNRzD0s1LY8umyvDQXlFmiDYF8kNJydcfWLvU3XNNV40wM2T0jOU+4ua1Zp3A==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/debug": "6.1.0",
|
"@prisma/debug": "6.2.0",
|
||||||
"@prisma/engines-version": "6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959",
|
"@prisma/engines-version": "6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69",
|
||||||
"@prisma/fetch-engine": "6.1.0",
|
"@prisma/fetch-engine": "6.2.0",
|
||||||
"@prisma/get-platform": "6.1.0"
|
"@prisma/get-platform": "6.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/engines-version": {
|
"node_modules/@prisma/engines-version": {
|
||||||
"version": "6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959",
|
"version": "6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/engines-version/-/engines-version-6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69.tgz",
|
||||||
"integrity": "sha512-PdJqmYM2Fd8K0weOOtQThWylwjsDlTig+8Pcg47/jszMuLL9iLIaygC3cjWJLda69siRW4STlCTMSgOjZzvKPQ==",
|
"integrity": "sha512-7tw1qs/9GWSX6qbZs4He09TOTg1ff3gYsB3ubaVNN0Pp1zLm9NC5C5MZShtkz7TyQjx7blhpknB7HwEhlG+PrQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0"
|
"license": "Apache-2.0"
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/fetch-engine": {
|
"node_modules/@prisma/fetch-engine": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/fetch-engine/-/fetch-engine-6.2.0.tgz",
|
||||||
"integrity": "sha512-asdFi7TvPlEZ8CzSZ/+Du5wZ27q6OJbRSXh+S8ISZguu+S9KtS/gP7NeXceZyb1Jv1SM1S5YfiCv+STDsG6rrg==",
|
"integrity": "sha512-zz0HmZ2Npsthnh+1cj7aFPRWs57GS4CNlM9uXpVeQm2/YN0LMRNeuI5/zpqRhHrZUXdKde0jltJnvIM1Xz/mPQ==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/debug": "6.1.0",
|
"@prisma/debug": "6.2.0",
|
||||||
"@prisma/engines-version": "6.1.0-21.11f085a2012c0f4778414c8db2651556ee0ef959",
|
"@prisma/engines-version": "6.2.0-14.4123509d24aa4dede1e864b46351bf2790323b69",
|
||||||
"@prisma/get-platform": "6.1.0"
|
"@prisma/get-platform": "6.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@prisma/get-platform": {
|
"node_modules/@prisma/get-platform": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/@prisma/get-platform/-/get-platform-6.2.0.tgz",
|
||||||
"integrity": "sha512-ia8bNjboBoHkmKGGaWtqtlgQOhCi7+f85aOkPJKgNwWvYrT6l78KgojLekE8zMhVk0R9lWcifV0Pf8l3/15V0Q==",
|
"integrity": "sha512-Nnk2fcjiRB9E0uRKCMl+EmBC1Vs6kXqaHa2E108pDrEXAgxj0Ns/YQSeZE0o4QJiK5m1PGmImA9/FFUAgCUTHA==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/debug": "6.1.0"
|
"@prisma/debug": "6.2.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@rtsao/scc": {
|
"node_modules/@rtsao/scc": {
|
||||||
@ -1840,21 +1840,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz",
|
||||||
"integrity": "sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==",
|
"integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/regexpp": "^4.10.0",
|
"@eslint-community/regexpp": "^4.10.0",
|
||||||
"@typescript-eslint/scope-manager": "8.19.0",
|
"@typescript-eslint/scope-manager": "8.19.1",
|
||||||
"@typescript-eslint/type-utils": "8.19.0",
|
"@typescript-eslint/type-utils": "8.19.1",
|
||||||
"@typescript-eslint/utils": "8.19.0",
|
"@typescript-eslint/utils": "8.19.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.19.0",
|
"@typescript-eslint/visitor-keys": "8.19.1",
|
||||||
"graphemer": "^1.4.0",
|
"graphemer": "^1.4.0",
|
||||||
"ignore": "^5.3.1",
|
"ignore": "^5.3.1",
|
||||||
"natural-compare": "^1.4.0",
|
"natural-compare": "^1.4.0",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^2.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -1870,16 +1870,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/parser": {
|
"node_modules/@typescript-eslint/parser": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz",
|
||||||
"integrity": "sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==",
|
"integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/scope-manager": "8.19.0",
|
"@typescript-eslint/scope-manager": "8.19.1",
|
||||||
"@typescript-eslint/types": "8.19.0",
|
"@typescript-eslint/types": "8.19.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.19.0",
|
"@typescript-eslint/typescript-estree": "8.19.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.19.0",
|
"@typescript-eslint/visitor-keys": "8.19.1",
|
||||||
"debug": "^4.3.4"
|
"debug": "^4.3.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -1895,14 +1895,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/scope-manager": {
|
"node_modules/@typescript-eslint/scope-manager": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz",
|
||||||
"integrity": "sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==",
|
"integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.19.0",
|
"@typescript-eslint/types": "8.19.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.19.0"
|
"@typescript-eslint/visitor-keys": "8.19.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -1913,16 +1913,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/type-utils": {
|
"node_modules/@typescript-eslint/type-utils": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz",
|
||||||
"integrity": "sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==",
|
"integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/typescript-estree": "8.19.0",
|
"@typescript-eslint/typescript-estree": "8.19.1",
|
||||||
"@typescript-eslint/utils": "8.19.0",
|
"@typescript-eslint/utils": "8.19.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^2.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -1937,9 +1937,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/types": {
|
"node_modules/@typescript-eslint/types": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz",
|
||||||
"integrity": "sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==",
|
"integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -1951,20 +1951,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/typescript-estree": {
|
"node_modules/@typescript-eslint/typescript-estree": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz",
|
||||||
"integrity": "sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==",
|
"integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.19.0",
|
"@typescript-eslint/types": "8.19.1",
|
||||||
"@typescript-eslint/visitor-keys": "8.19.0",
|
"@typescript-eslint/visitor-keys": "8.19.1",
|
||||||
"debug": "^4.3.4",
|
"debug": "^4.3.4",
|
||||||
"fast-glob": "^3.3.2",
|
"fast-glob": "^3.3.2",
|
||||||
"is-glob": "^4.0.3",
|
"is-glob": "^4.0.3",
|
||||||
"minimatch": "^9.0.4",
|
"minimatch": "^9.0.4",
|
||||||
"semver": "^7.6.0",
|
"semver": "^7.6.0",
|
||||||
"ts-api-utils": "^1.3.0"
|
"ts-api-utils": "^2.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -1978,16 +1978,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/utils": {
|
"node_modules/@typescript-eslint/utils": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz",
|
||||||
"integrity": "sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==",
|
"integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@eslint-community/eslint-utils": "^4.4.0",
|
"@eslint-community/eslint-utils": "^4.4.0",
|
||||||
"@typescript-eslint/scope-manager": "8.19.0",
|
"@typescript-eslint/scope-manager": "8.19.1",
|
||||||
"@typescript-eslint/types": "8.19.0",
|
"@typescript-eslint/types": "8.19.1",
|
||||||
"@typescript-eslint/typescript-estree": "8.19.0"
|
"@typescript-eslint/typescript-estree": "8.19.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||||
@ -2002,13 +2002,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@typescript-eslint/visitor-keys": {
|
"node_modules/@typescript-eslint/visitor-keys": {
|
||||||
"version": "8.19.0",
|
"version": "8.19.1",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz",
|
||||||
"integrity": "sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==",
|
"integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@typescript-eslint/types": "8.19.0",
|
"@typescript-eslint/types": "8.19.1",
|
||||||
"eslint-visitor-keys": "^4.2.0"
|
"eslint-visitor-keys": "^4.2.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
@ -2457,9 +2457,9 @@
|
|||||||
"license": "BSD-3-Clause"
|
"license": "BSD-3-Clause"
|
||||||
},
|
},
|
||||||
"node_modules/bullmq": {
|
"node_modules/bullmq": {
|
||||||
"version": "5.34.6",
|
"version": "5.34.7",
|
||||||
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.34.6.tgz",
|
"resolved": "https://registry.npmjs.org/bullmq/-/bullmq-5.34.7.tgz",
|
||||||
"integrity": "sha512-pRCYyO9RlkQWxdmKlrNnUthyFwurYXRYLVXD1YIx+nCCdhAOiHatD8FDHbsT/w2I31c0NWoMcfZiIGuipiF7Lg==",
|
"integrity": "sha512-Z6nKi8skD9n5/ErddTngeeEd8dRvZCu8wgZqpeH9zK0DlyTxYKceTnkGab3FkA+U9mzlqa0z34ZKGMbn4GWdgQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"cron-parser": "^4.9.0",
|
"cron-parser": "^4.9.0",
|
||||||
@ -5992,14 +5992,14 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/prisma": {
|
"node_modules/prisma": {
|
||||||
"version": "6.1.0",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.1.0.tgz",
|
"resolved": "https://registry.npmjs.org/prisma/-/prisma-6.2.0.tgz",
|
||||||
"integrity": "sha512-aFI3Yi+ApUxkwCJJwyQSwpyzUX7YX3ihzuHNHOyv4GJg3X5tQsmRaJEnZ+ZyfHpMtnyahhmXVfbTZ+lS8ZtfKw==",
|
"integrity": "sha512-3bnAPqtWXbyA9QEKYEstPcsQMxoQ97rjC0E1OZ+QVKuNNpzRDdIgdCpTVpHvqj/9UaWpqaEiENYqS2At8DtESA==",
|
||||||
"devOptional": true,
|
"devOptional": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@prisma/engines": "6.1.0"
|
"@prisma/engines": "6.2.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"prisma": "build/index.js"
|
"prisma": "build/index.js"
|
||||||
@ -7090,16 +7090,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-api-utils": {
|
"node_modules/ts-api-utils": {
|
||||||
"version": "1.4.3",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.3.tgz",
|
"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.0.0.tgz",
|
||||||
"integrity": "sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==",
|
"integrity": "sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=16"
|
"node": ">=18.12"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"typescript": ">=4.2.0"
|
"typescript": ">=4.8.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ts-morph": {
|
"node_modules/ts-morph": {
|
||||||
|
@ -2,57 +2,10 @@ import { Request, Response } from 'express'
|
|||||||
|
|
||||||
import { BaseController } from '#application/base/baseController'
|
import { BaseController } from '#application/base/baseController'
|
||||||
import { AssetData, UUID } from '#application/types'
|
import { AssetData, UUID } from '#application/types'
|
||||||
import MapRepository from '#repositories/mapRepository'
|
|
||||||
import SpriteRepository from '#repositories/spriteRepository'
|
import SpriteRepository from '#repositories/spriteRepository'
|
||||||
import TileRepository from '#repositories/tileRepository'
|
|
||||||
|
|
||||||
export class AssetsController extends BaseController {
|
export class AssetsController extends BaseController {
|
||||||
private readonly mapRepository = new MapRepository()
|
|
||||||
private readonly spriteRepository = new SpriteRepository()
|
private readonly spriteRepository = new SpriteRepository()
|
||||||
private readonly tileRepository = new TileRepository()
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List tiles
|
|
||||||
* @param req
|
|
||||||
* @param res
|
|
||||||
*/
|
|
||||||
public async listTiles(req: Request, res: Response) {
|
|
||||||
const assets: AssetData[] = []
|
|
||||||
const tiles = await this.tileRepository.getAll()
|
|
||||||
|
|
||||||
for (const tile of tiles) {
|
|
||||||
assets.push({ key: tile.getId(), data: '/textures/tiles/' + tile.getId() + '.png', group: 'tiles', updatedAt: tile.getUpdatedAt() } as AssetData)
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.sendSuccess(res, assets)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* List tiles by map
|
|
||||||
* @param req
|
|
||||||
* @param res
|
|
||||||
*/
|
|
||||||
public async listTilesByMap(req: Request, res: Response) {
|
|
||||||
const mapId = req.params.mapId as UUID
|
|
||||||
|
|
||||||
if (!mapId) {
|
|
||||||
return this.sendError(res, 'Invalid map ID', 400)
|
|
||||||
}
|
|
||||||
|
|
||||||
const map = await this.mapRepository.getById(mapId)
|
|
||||||
if (!map) {
|
|
||||||
return this.sendError(res, 'Map not found', 404)
|
|
||||||
}
|
|
||||||
|
|
||||||
const assets: AssetData[] = []
|
|
||||||
const tiles = await this.tileRepository.getByMapId(mapId)
|
|
||||||
|
|
||||||
for (const tile of tiles) {
|
|
||||||
assets.push({ key: tile.getId(), data: '/textures/tiles/' + tile.getId() + '.png', group: 'tiles', updatedAt: tile.getUpdatedAt() } as AssetData)
|
|
||||||
}
|
|
||||||
|
|
||||||
return this.sendSuccess(res, assets)
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* List sprite actions
|
* List sprite actions
|
||||||
|
@ -5,8 +5,28 @@ import MapObjectRepository from '#repositories/mapObjectRepository'
|
|||||||
import MapRepository from '#repositories/mapRepository'
|
import MapRepository from '#repositories/mapRepository'
|
||||||
import SpriteRepository from '#repositories/spriteRepository'
|
import SpriteRepository from '#repositories/spriteRepository'
|
||||||
import TileRepository from '#repositories/tileRepository'
|
import TileRepository from '#repositories/tileRepository'
|
||||||
|
import CharacterHairRepository from '#repositories/characterHairRepository'
|
||||||
|
import CharacterTypeRepository from '#repositories/characterTypeRepository'
|
||||||
|
|
||||||
export class CacheController extends BaseController {
|
export class CacheController extends BaseController {
|
||||||
|
/**
|
||||||
|
* Serve a list of tiles and send as JSON
|
||||||
|
* @param req
|
||||||
|
* @param res
|
||||||
|
*/
|
||||||
|
public async tiles(req: Request, res: Response) {
|
||||||
|
const items: any[] = []
|
||||||
|
|
||||||
|
const tileRepository = new TileRepository()
|
||||||
|
const tiles = await tileRepository.getAll()
|
||||||
|
|
||||||
|
for (const tile of tiles) {
|
||||||
|
items.push(await tile.cache())
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.sendSuccess(res, items)
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Serve a list of maps and send as JSON
|
* Serve a list of maps and send as JSON
|
||||||
* @param req
|
* @param req
|
||||||
@ -42,4 +62,58 @@ export class CacheController extends BaseController {
|
|||||||
|
|
||||||
return this.sendSuccess(res, items)
|
return this.sendSuccess(res, items)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serve a list of character hairs and send as JSON
|
||||||
|
* @param req
|
||||||
|
* @param res
|
||||||
|
*/
|
||||||
|
public async characterHair(req: Request, res: Response) {
|
||||||
|
const items: any[] = []
|
||||||
|
|
||||||
|
const characterHairRepository = new CharacterHairRepository()
|
||||||
|
const characterHairs = await characterHairRepository.getAll()
|
||||||
|
|
||||||
|
for (const characterHair of characterHairs) {
|
||||||
|
items.push(await characterHair.cache())
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.sendSuccess(res, items)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serve a list of character types and send as JSON
|
||||||
|
* @param req
|
||||||
|
* @param res
|
||||||
|
*/
|
||||||
|
public async characterTypes(req: Request, res: Response) {
|
||||||
|
const items: any[] = []
|
||||||
|
|
||||||
|
const characterTypeRepository = new CharacterTypeRepository()
|
||||||
|
const characterTypes = await characterTypeRepository.getAll()
|
||||||
|
|
||||||
|
for (const characterType of characterTypes) {
|
||||||
|
items.push(await characterType.cache())
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.sendSuccess(res, items)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serve a list of sprites and send as JSON
|
||||||
|
* @param req
|
||||||
|
* @param res
|
||||||
|
*/
|
||||||
|
public async sprites(req: Request, res: Response) {
|
||||||
|
const items: any[] = []
|
||||||
|
|
||||||
|
const spriteRepository = new SpriteRepository()
|
||||||
|
const sprites = await spriteRepository.getAll()
|
||||||
|
|
||||||
|
for (const sprite of sprites) {
|
||||||
|
items.push(await sprite.cache())
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.sendSuccess(res, items)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
|
|||||||
import { BaseCharacterHair } from '#entities/base/characterHair'
|
import { BaseCharacterHair } from '#entities/base/characterHair'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterHair extends BaseCharacterHair {}
|
export class CharacterHair extends BaseCharacterHair {
|
||||||
|
public async cache() {
|
||||||
|
try {
|
||||||
|
return this
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
|
|||||||
import { BaseCharacterType } from '#entities/base/characterType'
|
import { BaseCharacterType } from '#entities/base/characterType'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class CharacterType extends BaseCharacterType {}
|
export class CharacterType extends BaseCharacterType {
|
||||||
|
public async cache() {
|
||||||
|
try {
|
||||||
|
return this
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -3,4 +3,33 @@ import { Entity } from '@mikro-orm/core'
|
|||||||
import { BaseSprite } from '#entities/base/sprite'
|
import { BaseSprite } from '#entities/base/sprite'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Sprite extends BaseSprite {}
|
export class Sprite extends BaseSprite {
|
||||||
|
public async cache() {
|
||||||
|
await this.getSpriteActions().load()
|
||||||
|
|
||||||
|
try {
|
||||||
|
return {
|
||||||
|
id: this.getId(),
|
||||||
|
name: this.getName(),
|
||||||
|
createdAt: this.getCreatedAt(),
|
||||||
|
updatedAt: this.getUpdatedAt(),
|
||||||
|
spriteActions: this.getSpriteActions().map((spriteAction) => ({
|
||||||
|
id: spriteAction.getId(),
|
||||||
|
sprite: spriteAction.getSprite().getId(),
|
||||||
|
action: spriteAction.getAction(),
|
||||||
|
// sprites: spriteAction.getSprites(), // We dont want to send this to the client
|
||||||
|
originX: spriteAction.getOriginX(),
|
||||||
|
originY: spriteAction.getOriginY(),
|
||||||
|
isAnimated: spriteAction.getIsAnimated(),
|
||||||
|
isLooping: spriteAction.getIsLooping(),
|
||||||
|
frameWidth: spriteAction.getFrameWidth(),
|
||||||
|
frameHeight: spriteAction.getFrameHeight(),
|
||||||
|
frameRate: spriteAction.getFrameRate()
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -3,4 +3,13 @@ import { Entity } from '@mikro-orm/core'
|
|||||||
import { BaseTile } from '#entities/base/tile'
|
import { BaseTile } from '#entities/base/tile'
|
||||||
|
|
||||||
@Entity()
|
@Entity()
|
||||||
export class Tile extends BaseTile {}
|
export class Tile extends BaseTile {
|
||||||
|
public async cache() {
|
||||||
|
try {
|
||||||
|
return this
|
||||||
|
} catch (error) {
|
||||||
|
console.error(error)
|
||||||
|
return {}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
import { BaseEvent } from '#application/base/baseEvent'
|
|
||||||
import { CharacterHair } from '#entities/characterHair'
|
|
||||||
import CharacterHairRepository from '#repositories/characterHairRepository'
|
|
||||||
|
|
||||||
interface IPayload {}
|
|
||||||
|
|
||||||
export default class characterHairListEvent extends BaseEvent {
|
|
||||||
public listen(): void {
|
|
||||||
this.socket.on('character:hair:list', this.handleEvent.bind(this))
|
|
||||||
}
|
|
||||||
|
|
||||||
private async handleEvent(data: IPayload, callback: (response: CharacterHair[]) => void): Promise<void> {
|
|
||||||
try {
|
|
||||||
const characterHairRepository = new CharacterHairRepository()
|
|
||||||
const items: CharacterHair[] = await characterHairRepository.getAllSelectable(['sprite'])
|
|
||||||
|
|
||||||
return callback(items)
|
|
||||||
} catch (error) {
|
|
||||||
this.logger.error('character:hair:list error', error)
|
|
||||||
return callback([])
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -32,9 +32,6 @@ export default class CharacterConnectEvent extends BaseEvent {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Populate character with characterType and characterHair
|
|
||||||
await this.characterRepository.getEntityManager().populate(character, ['characterType', 'characterHair'])
|
|
||||||
|
|
||||||
// Set character id
|
// Set character id
|
||||||
this.socket.characterId = character.id
|
this.socket.characterId = character.id
|
||||||
|
|
||||||
|
@ -12,9 +12,6 @@ export default class CharacterListEvent extends BaseEvent {
|
|||||||
const characterRepository = new CharacterRepository()
|
const characterRepository = new CharacterRepository()
|
||||||
let characters: Character[] = await characterRepository.getByUserId(this.socket.userId!)
|
let characters: Character[] = await characterRepository.getByUserId(this.socket.userId!)
|
||||||
|
|
||||||
// Populate characters with characterType and characterHair
|
|
||||||
await characterRepository.getEntityManager().populate(characters, ['characterType', 'characterHair'])
|
|
||||||
|
|
||||||
this.socket.emit('character:list', characters)
|
this.socket.emit('character:list', characters)
|
||||||
} catch (error: any) {
|
} catch (error: any) {
|
||||||
this.logger.error('character:list error', error.message)
|
this.logger.error('character:list error', error.message)
|
||||||
|
@ -37,16 +37,18 @@ class HttpManager {
|
|||||||
app.get('/avatar/s/:characterTypeId/:characterHairId?', (req, res) => this.avatarController.getByParams(req, res))
|
app.get('/avatar/s/:characterTypeId/:characterHairId?', (req, res) => this.avatarController.getByParams(req, res))
|
||||||
|
|
||||||
// Assets routes
|
// Assets routes
|
||||||
app.get('/assets/list_tiles', (req, res) => this.assetsController.listTiles(req, res))
|
|
||||||
app.get('/assets/list_tiles/:mapId', (req, res) => this.assetsController.listTilesByMap(req, res))
|
|
||||||
app.get('/assets/list_sprite_actions/:spriteId', (req, res) => this.assetsController.listSpriteActions(req, res))
|
app.get('/assets/list_sprite_actions/:spriteId', (req, res) => this.assetsController.listSpriteActions(req, res))
|
||||||
|
|
||||||
// Download texture file
|
// Download texture file
|
||||||
app.get('/textures/:type/:spriteId?/:file', (req, res) => this.texturesController.download(req, res))
|
app.get('/textures/:type/:spriteId?/:file', (req, res) => this.texturesController.download(req, res))
|
||||||
|
|
||||||
// Cache routes
|
// Cache routes
|
||||||
|
app.get('/cache/tiles', (req, res) => this.cacheController.tiles(req, res))
|
||||||
app.get('/cache/maps', (req, res) => this.cacheController.maps(req, res))
|
app.get('/cache/maps', (req, res) => this.cacheController.maps(req, res))
|
||||||
app.get('/cache/map_objects', (req, res) => this.cacheController.mapObjects(req, res))
|
app.get('/cache/map_objects', (req, res) => this.cacheController.mapObjects(req, res))
|
||||||
|
app.get('/cache/sprites', (req, res) => this.cacheController.sprites(req, res))
|
||||||
|
app.get('/cache/character_types', (req, res) => this.cacheController.characterTypes(req, res))
|
||||||
|
app.get('/cache/character_hair', (req, res) => this.cacheController.characterHair(req, res))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -74,7 +74,7 @@ class TeleportService {
|
|||||||
// Notify clients
|
// Notify clients
|
||||||
io.in(options.targetMapId).emit('map:character:join', mapCharacter)
|
io.in(options.targetMapId).emit('map:character:join', mapCharacter)
|
||||||
socket.emit('map:character:teleport', {
|
socket.emit('map:character:teleport', {
|
||||||
map: map,
|
mapId: options.targetMapId,
|
||||||
characters: targetMap.getCharactersInMap()
|
characters: targetMap.getCharactersInMap()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user