use camelcase file names from now on...
This commit is contained in:
parent
acc9eaae9e
commit
6b97e7d9cb
251
package-lock.json
generated
251
package-lock.json
generated
@ -11,6 +11,7 @@
|
||||
"dotenv": "^16.4.5",
|
||||
"express": "^4.19.2",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"pino": "^9.3.2",
|
||||
"prisma": "^5.17.0",
|
||||
"sharp": "^0.33.4",
|
||||
"socket.io": "^4.7.5",
|
||||
@ -667,6 +668,18 @@
|
||||
"@types/send": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/abort-controller": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
|
||||
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"event-target-shim": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.5"
|
||||
}
|
||||
},
|
||||
"node_modules/accepts": {
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
||||
@ -730,6 +743,15 @@
|
||||
"integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/atomic-sleep": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
|
||||
"integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
@ -737,6 +759,26 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
"integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/base64id": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz",
|
||||
@ -813,6 +855,30 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer": {
|
||||
"version": "6.0.3",
|
||||
"resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
|
||||
"integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"base64-js": "^1.3.1",
|
||||
"ieee754": "^1.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/buffer-equal-constant-time": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
|
||||
@ -1172,6 +1238,24 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/event-target-shim": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
|
||||
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/events": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
|
||||
"integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=0.8.x"
|
||||
}
|
||||
},
|
||||
"node_modules/express": {
|
||||
"version": "4.19.2",
|
||||
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||
@ -1214,6 +1298,15 @@
|
||||
"node": ">= 0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fast-redact": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.5.0.tgz",
|
||||
"integrity": "sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
@ -1417,6 +1510,26 @@
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/ieee754": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
|
||||
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "BSD-3-Clause"
|
||||
},
|
||||
"node_modules/ignore-by-default": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz",
|
||||
@ -1758,6 +1871,15 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/on-exit-leak-free": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz",
|
||||
"integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=14.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/on-finished": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||
@ -1798,6 +1920,44 @@
|
||||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/pino": {
|
||||
"version": "9.3.2",
|
||||
"resolved": "https://registry.npmjs.org/pino/-/pino-9.3.2.tgz",
|
||||
"integrity": "sha512-WtARBjgZ7LNEkrGWxMBN/jvlFiE17LTbBoH0konmBU684Kd0uIiDwBXlcTCW7iJnA6HfIKwUssS/2AC6cDEanw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"atomic-sleep": "^1.0.0",
|
||||
"fast-redact": "^3.1.1",
|
||||
"on-exit-leak-free": "^2.1.0",
|
||||
"pino-abstract-transport": "^1.2.0",
|
||||
"pino-std-serializers": "^7.0.0",
|
||||
"process-warning": "^4.0.0",
|
||||
"quick-format-unescaped": "^4.0.3",
|
||||
"real-require": "^0.2.0",
|
||||
"safe-stable-stringify": "^2.3.1",
|
||||
"sonic-boom": "^4.0.1",
|
||||
"thread-stream": "^3.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"pino": "bin.js"
|
||||
}
|
||||
},
|
||||
"node_modules/pino-abstract-transport": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.2.0.tgz",
|
||||
"integrity": "sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readable-stream": "^4.0.0",
|
||||
"split2": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/pino-std-serializers": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-7.0.0.tgz",
|
||||
"integrity": "sha512-e906FRY0+tV27iq4juKzSYPbUj2do2X2JX4EzSca1631EB2QJQUqGbDuERal7LCtOpxl6x3+nvo9NPZcmjkiFA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/prettier": {
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz",
|
||||
@ -1830,6 +1990,21 @@
|
||||
"node": ">=16.13"
|
||||
}
|
||||
},
|
||||
"node_modules/process": {
|
||||
"version": "0.11.10",
|
||||
"resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
|
||||
"integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/process-warning": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/process-warning/-/process-warning-4.0.0.tgz",
|
||||
"integrity": "sha512-/MyYDxttz7DfGMMHiysAsFE4qF+pQYAA8ziO/3NcRVrQ5fSk+Mns4QZA/oRPFzvcqNoVJXQNWNAsdwBXLUkQKw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
@ -1865,6 +2040,12 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/quick-format-unescaped": {
|
||||
"version": "4.0.4",
|
||||
"resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
|
||||
"integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/range-parser": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
|
||||
@ -1889,6 +2070,22 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/readable-stream": {
|
||||
"version": "4.5.2",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz",
|
||||
"integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"abort-controller": "^3.0.0",
|
||||
"buffer": "^6.0.3",
|
||||
"events": "^3.3.0",
|
||||
"process": "^0.11.10",
|
||||
"string_decoder": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/readdirp": {
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
|
||||
@ -1902,6 +2099,15 @@
|
||||
"node": ">=8.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/real-require": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
|
||||
"integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 12.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/safe-buffer": {
|
||||
"version": "5.2.1",
|
||||
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
|
||||
@ -1922,6 +2128,15 @@
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/safe-stable-stringify": {
|
||||
"version": "2.4.3",
|
||||
"resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz",
|
||||
"integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/safer-buffer": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
||||
@ -2197,6 +2412,24 @@
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/sonic-boom": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-4.0.1.tgz",
|
||||
"integrity": "sha512-hTSD/6JMLyT4r9zeof6UtuBDpjJ9sO08/nmS5djaA9eozT9oOlNdpXSnzcgj4FTqpk3nkLrs61l4gip9r1HCrQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"atomic-sleep": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/split2": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz",
|
||||
"integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==",
|
||||
"license": "ISC",
|
||||
"engines": {
|
||||
"node": ">= 10.x"
|
||||
}
|
||||
},
|
||||
"node_modules/statuses": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||
@ -2206,6 +2439,15 @@
|
||||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/string_decoder": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
|
||||
"integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"safe-buffer": "~5.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/supports-color": {
|
||||
"version": "5.5.0",
|
||||
"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
|
||||
@ -2219,6 +2461,15 @@
|
||||
"node": ">=4"
|
||||
}
|
||||
},
|
||||
"node_modules/thread-stream": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-3.1.0.tgz",
|
||||
"integrity": "sha512-OqyPZ9u96VohAyMfJykzmivOrY2wfMSf3C5TtFJVgN+Hm6aj+voFhlK+kZEIv2FBh1X6Xp3DlnCOfEQ3B2J86A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"real-require": "^0.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/to-regex-range": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
|
||||
|
@ -12,6 +12,7 @@
|
||||
"dotenv": "^16.4.5",
|
||||
"express": "^4.19.2",
|
||||
"jsonwebtoken": "^9.0.2",
|
||||
"pino": "^9.3.2",
|
||||
"prisma": "^5.17.0",
|
||||
"sharp": "^0.33.4",
|
||||
"socket.io": "^4.7.5",
|
||||
|
@ -1,5 +1,5 @@
|
||||
import { Server } from 'socket.io'
|
||||
import ZoneManager from '../managers/ZoneManager'
|
||||
import ZoneManager from '../managers/zoneManager'
|
||||
|
||||
type CommandInput = string[]
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/Types'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/types'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
type SocketResponseT = {
|
||||
character_id: number
|
@ -1,9 +1,10 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import { ZCharacterCreate } from '../../utilities/ZodTypes'
|
||||
import prisma from '../../utilities/Prisma'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
import { ZCharacterCreate } from '../../utilities/zodTypes'
|
||||
import prisma from '../../utilities/prisma'
|
||||
import logger from '../../utilities/logger'
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('character:create', async (data: any) => {
|
||||
@ -30,7 +31,7 @@ export default function (socket: TSocket, io: Server) {
|
||||
data: {
|
||||
name: data.name,
|
||||
userId: user_id,
|
||||
characterTypeId: 1 // @TODO set to chosen character type
|
||||
// characterTypeId: 1 // @TODO set to chosen character type
|
||||
}
|
||||
})
|
||||
|
||||
@ -38,8 +39,10 @@ export default function (socket: TSocket, io: Server) {
|
||||
|
||||
socket.emit('character:create:success')
|
||||
socket.emit('character:list', characters)
|
||||
|
||||
logger.info('character:create success')
|
||||
} catch (error: any) {
|
||||
console.log('character:create error', error)
|
||||
logger.error('character:create error', error)
|
||||
return socket.emit('notification', { message: 'Could not create character. Please try again (later).' })
|
||||
}
|
||||
})
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
type TypePayload = {
|
||||
character_id: number
|
@ -1,7 +1,7 @@
|
||||
import { Socket, Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import { Character } from '@prisma/client'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
|
||||
export default function CharacterList(socket: TSocket, io: Server) {
|
||||
socket.on('character:list', async (data: any) => {
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/Types'
|
||||
import ZoneManager from '../../managers/ZoneManager'
|
||||
import prisma from '../../utilities/Prisma'
|
||||
import { AStar } from '../../utilities/Player/AStar'
|
||||
import Rotation from '../../utilities/Player/Rotation'
|
||||
import { TSocket, ExtendedCharacter } from '../../utilities/types'
|
||||
import ZoneManager from '../../managers/zoneManager'
|
||||
import prisma from '../../utilities/prisma'
|
||||
import { AStar } from '../../utilities/player/aStar'
|
||||
import Rotation from '../../utilities/player/rotation'
|
||||
|
||||
const moveTokens = new Map<number, symbol>()
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import ZoneRepository from '../../repositories/ZoneRepository'
|
||||
import ZoneManager from '../../managers/ZoneManager'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
import ZoneManager from '../../managers/zoneManager'
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
|
||||
/**
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import ZoneRepository from '../../repositories/ZoneRepository'
|
||||
import ZoneManager from '../../managers/ZoneManager'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
import ZoneManager from '../../managers/zoneManager'
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
|
||||
interface IPayload {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { getArgs, isCommand } from '../../../utilities/Chat'
|
||||
import CharacterRepository from '../../../repositories/CharacterRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { getArgs, isCommand } from '../../../utilities/chat'
|
||||
import CharacterRepository from '../../../repositories/characterRepository'
|
||||
|
||||
type TypePayload = {
|
||||
message: string
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../utilities/Types'
|
||||
import CharacterRepository from '../../repositories/CharacterRepository'
|
||||
import ZoneRepository from '../../repositories/ZoneRepository'
|
||||
import { isCommand } from '../../utilities/Chat'
|
||||
import { TSocket } from '../../utilities/types'
|
||||
import CharacterRepository from '../../repositories/characterRepository'
|
||||
import ZoneRepository from '../../repositories/zoneRepository'
|
||||
import { isCommand } from '../../utilities/chat'
|
||||
|
||||
type TypePayload = {
|
||||
message: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import ZoneManager from '../managers/ZoneManager'
|
||||
import { TSocket } from '../utilities/types'
|
||||
import ZoneManager from '../managers/zoneManager'
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('disconnect', (data: any) => {
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Object } from '@prisma/client'
|
||||
import ObjectRepository from '../../../repositories/ObjectRepository'
|
||||
import ObjectRepository from '../../../repositories/objectRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface IPayload {
|
||||
object: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { writeFile } from 'node:fs/promises'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface IObjectData {
|
||||
[key: string]: Buffer
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
/**
|
||||
* Handle game master new sprite event
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Sprite } from '@prisma/client'
|
||||
import SpriteRepository from '../../../repositories/SpriteRepository'
|
||||
import SpriteRepository from '../../../repositories/spriteRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
import type { Prisma, SpriteAction } from '@prisma/client'
|
||||
import path from 'path'
|
||||
import { writeFile, mkdir } from 'node:fs/promises'
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Tile } from '@prisma/client'
|
||||
import TileRepository from '../../../repositories/TileRepository'
|
||||
import TileRepository from '../../../repositories/tileRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import path from 'path'
|
||||
import fs from 'fs'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
id: string
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { writeFile } from 'node:fs/promises'
|
||||
import path from 'path'
|
||||
import fs from 'fs/promises'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
interface ITileData {
|
||||
[key: string]: Buffer
|
@ -1,8 +1,8 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
name: string
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
|
||||
type Payload = {
|
||||
zoneId: number
|
@ -1,7 +1,7 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import { Zone } from '@prisma/client'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
|
||||
interface IPayload {}
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { Zone } from '@prisma/client'
|
||||
|
||||
interface IPayload {
|
@ -1,9 +1,9 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../../../utilities/Types'
|
||||
import ZoneRepository from '../../../repositories/ZoneRepository'
|
||||
import { TSocket } from '../../../utilities/types'
|
||||
import ZoneRepository from '../../../repositories/zoneRepository'
|
||||
import { ZoneEventTile, ZoneObject } from '@prisma/client'
|
||||
import prisma from '../../../utilities/Prisma'
|
||||
import zoneManager from '../../../managers/ZoneManager'
|
||||
import prisma from '../../../utilities/prisma'
|
||||
import zoneManager from '../../../managers/zoneManager'
|
||||
|
||||
interface IPayload {
|
||||
zoneId: number
|
@ -1,5 +1,5 @@
|
||||
import { Server } from 'socket.io'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import { TSocket } from '../utilities/types'
|
||||
|
||||
export default function (socket: TSocket, io: Server) {
|
||||
socket.on('login', () => {
|
@ -1,4 +1,5 @@
|
||||
import { User } from '@prisma/client'
|
||||
import logger from '../utilities/logger'
|
||||
|
||||
type TLoggedInUsers = {
|
||||
users: User[]
|
||||
@ -9,7 +10,7 @@ class UserManager {
|
||||
|
||||
// Method to initialize user manager
|
||||
public async boot() {
|
||||
console.log('[✅] User manager loaded')
|
||||
logger.info('User manager loaded')
|
||||
}
|
||||
|
||||
// Function that adds user to logged in users
|
@ -1,7 +1,8 @@
|
||||
import { Character, Zone } from '@prisma/client'
|
||||
import ZoneRepository from '../repositories/ZoneRepository'
|
||||
import ZoneService from '../services/ZoneService'
|
||||
import zoneRepository from '../repositories/ZoneRepository'
|
||||
import ZoneRepository from '../repositories/zoneRepository'
|
||||
import ZoneService from '../services/zoneService'
|
||||
import zoneRepository from '../repositories/zoneRepository'
|
||||
import logger from '../utilities/logger'
|
||||
|
||||
type TLoadedZone = {
|
||||
zone: Zone
|
||||
@ -25,7 +26,7 @@ class ZoneManager {
|
||||
await this.loadZone(zone)
|
||||
}
|
||||
|
||||
console.log('[✅] Zone manager loaded')
|
||||
logger.info('Zone manager loaded')
|
||||
}
|
||||
|
||||
// Method to handle individual zone loading
|
||||
@ -36,7 +37,7 @@ class ZoneManager {
|
||||
characters: [],
|
||||
grid
|
||||
})
|
||||
console.log(`[✅] Zone ID ${zone.id} loaded`)
|
||||
logger.info(`Zone ID ${zone.id} loaded`)
|
||||
}
|
||||
|
||||
// Method to handle individual zone unloading
|
||||
@ -44,7 +45,7 @@ class ZoneManager {
|
||||
this.loadedZones = this.loadedZones.filter((loadedZone) => {
|
||||
return loadedZone.zone.id !== zoneId
|
||||
})
|
||||
console.log(`[❌] Zone ID ${zoneId} unloaded`)
|
||||
logger.info(`Zone ID ${zoneId} unloaded`)
|
||||
}
|
||||
|
||||
// Getter for loaded zones
|
@ -1,8 +1,8 @@
|
||||
// socket io jwt auth middleware
|
||||
import { verify } from 'jsonwebtoken'
|
||||
import { TSocket } from '../utilities/Types'
|
||||
import config from '../utilities/Config'
|
||||
import UserRepository from '../repositories/UserRepository'
|
||||
import { TSocket } from '../utilities/types'
|
||||
import config from '../utilities/config'
|
||||
import UserRepository from '../repositories/userRepository'
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
export async function Authentication(socket: TSocket, next: any) {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Character } from '@prisma/client'
|
||||
|
||||
class CharacterRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Object } from '@prisma/client'
|
||||
|
||||
class ObjectRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Sprite, SpriteAction } from '@prisma/client'
|
||||
|
||||
class SpriteRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { Tile } from '@prisma/client'
|
||||
|
||||
class TileRepository {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
class UserRepository {
|
@ -1,5 +1,5 @@
|
||||
import { Zone } from '@prisma/client'
|
||||
import prisma from '../utilities/Prisma' // Import the global Prisma instance
|
||||
import prisma from '../utilities/prisma' // Import the global Prisma instance
|
||||
|
||||
class ZoneRepository {
|
||||
async getFirst(): Promise<Zone | null> {
|
@ -1,22 +1,24 @@
|
||||
import fs from 'fs'
|
||||
import path from 'path'
|
||||
import express, { Application } from 'express'
|
||||
import { createServer as httpServer } from 'http'
|
||||
import { addHttpRoutes } from './utilities/Http'
|
||||
import { createServer as httpServer, Server as HTTPServer } from 'http'
|
||||
import { addHttpRoutes } from './utilities/http'
|
||||
import cors from 'cors'
|
||||
import { Server as SocketServer } from 'socket.io'
|
||||
import { TSocket } from './utilities/Types'
|
||||
import config from './utilities/Config'
|
||||
import prisma from './utilities/Prisma'
|
||||
import ZoneManager from './managers/ZoneManager'
|
||||
import UserManager from './managers/UserManager'
|
||||
import { Authentication } from './middleware/Authentication'
|
||||
import CommandManager from './managers/CommandManager'
|
||||
import { TSocket } from './utilities/types'
|
||||
import config from './utilities/config'
|
||||
import prisma from './utilities/prisma'
|
||||
import ZoneManager from './managers/zoneManager'
|
||||
import UserManager from './managers/userManager'
|
||||
import { Authentication } from './middleware/authentication'
|
||||
// import CommandManager from './managers/CommandManager'
|
||||
import { Dirent } from 'node:fs'
|
||||
import logger from './utilities/logger'
|
||||
|
||||
|
||||
export class Server {
|
||||
private readonly app: Application
|
||||
private readonly http: any
|
||||
private readonly http: HTTPServer
|
||||
private readonly io: SocketServer
|
||||
|
||||
/**
|
||||
@ -39,17 +41,17 @@ export class Server {
|
||||
// Check prisma connection
|
||||
try {
|
||||
await prisma.$connect()
|
||||
console.log('[✅] Database connected')
|
||||
logger.info('Database connected')
|
||||
} catch (error: any) {
|
||||
throw new Error(`[❌] Database connection failed: ${error.message}`)
|
||||
logger.error(`Database connection failed: ${error.message}`)
|
||||
}
|
||||
|
||||
// Start the server
|
||||
try {
|
||||
await this.http.listen(config.PORT, config.HOST)
|
||||
console.log('[✅] Socket.IO running on port', config.PORT)
|
||||
logger.info(`Socket.IO running on port ${config.PORT}`)
|
||||
} catch (error: any) {
|
||||
throw new Error(`[❌] Socket.IO failed to start: ${error.message}`)
|
||||
logger.error(`Socket.IO failed to start: ${error.message}`)
|
||||
}
|
||||
|
||||
// Add http API routes
|
||||
@ -78,7 +80,7 @@ export class Server {
|
||||
try {
|
||||
await this.loadEventHandlers(eventsPath, socket)
|
||||
} catch (error: any) {
|
||||
throw new Error('[❌] Failed to load event handlers: ' + error.message)
|
||||
logger.error(`Failed to load event handlers: ${error.message}`)
|
||||
}
|
||||
}
|
||||
|
||||
@ -101,3 +103,5 @@ export class Server {
|
||||
// Start the server
|
||||
const server = new Server()
|
||||
server.start()
|
||||
|
||||
console.log('Server started')
|
@ -1,6 +1,6 @@
|
||||
import bcrypt from 'bcryptjs'
|
||||
import UserRepository from '../repositories/UserRepository'
|
||||
import prisma from '../utilities/Prisma'
|
||||
import UserRepository from '../repositories/userRepository'
|
||||
import prisma from '../utilities/prisma'
|
||||
import { User } from '@prisma/client'
|
||||
|
||||
class UserService {
|
@ -1,4 +1,4 @@
|
||||
import prisma from '../utilities/Prisma'
|
||||
import prisma from '../utilities/prisma'
|
||||
|
||||
class ZoneService {
|
||||
async createDemoZone(): Promise<boolean> {
|
@ -1,14 +1,15 @@
|
||||
import { Application, Request, Response } from 'express'
|
||||
import UserService from '../services/UserService'
|
||||
import UserService from '../services/userService'
|
||||
import jwt from 'jsonwebtoken'
|
||||
import config from './Config'
|
||||
import { loginAccountSchema, registerAccountSchema } from './ZodTypes'
|
||||
import config from './config'
|
||||
import { loginAccountSchema, registerAccountSchema } from './zodTypes'
|
||||
import path from 'path'
|
||||
import { TAsset } from './Types'
|
||||
import tileRepository from '../repositories/TileRepository'
|
||||
import objectRepository from '../repositories/ObjectRepository'
|
||||
import spriteRepository from '../repositories/SpriteRepository'
|
||||
import { TAsset } from './types'
|
||||
import tileRepository from '../repositories/tileRepository'
|
||||
import objectRepository from '../repositories/objectRepository'
|
||||
import spriteRepository from '../repositories/spriteRepository'
|
||||
import fs from 'fs'
|
||||
import logger from './logger'
|
||||
|
||||
async function addHttpRoutes(app: Application) {
|
||||
app.get('/assets', async (req: Request, res: Response) => {
|
||||
@ -60,8 +61,6 @@ async function addHttpRoutes(app: Application) {
|
||||
assetPath = path.join(process.cwd(), 'public', assetType, fileName)
|
||||
}
|
||||
|
||||
console.log(`Attempting to serve: ${assetPath}`)
|
||||
|
||||
if (!fs.existsSync(assetPath)) {
|
||||
console.error(`File not found: ${assetPath}`)
|
||||
return res.status(404).send('Asset not found')
|
||||
@ -114,7 +113,7 @@ async function addHttpRoutes(app: Application) {
|
||||
return res.status(400).json({ message: 'Failed to register user' })
|
||||
})
|
||||
|
||||
console.log('[✅] Web routes added')
|
||||
logger.info('Web routes added')
|
||||
}
|
||||
|
||||
export { addHttpRoutes }
|
20
src/utilities/logger.ts
Normal file
20
src/utilities/logger.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import pino from 'pino'
|
||||
|
||||
const logger = pino({
|
||||
level: process.env.LOG_LEVEL || 'debug',
|
||||
transport: {
|
||||
target: 'pino/file',
|
||||
options: {
|
||||
destination: './logs/app.log',
|
||||
mkdir: true
|
||||
}
|
||||
},
|
||||
formatters: {
|
||||
level: (label) => {
|
||||
return { level: label.toUpperCase() }
|
||||
},
|
||||
},
|
||||
timestamp: pino.stdTimeFunctions.isoTime
|
||||
})
|
||||
|
||||
export default logger
|
Loading…
x
Reference in New Issue
Block a user