Skip to content

Commit e15e136

Browse files
author
xyzjesper
committed
Added part one of the new ticket system v2. Moved to new Database ORM
1 parent 214f26f commit e15e136

File tree

117 files changed

+7778
-6031
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

117 files changed

+7778
-6031
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,5 @@ config.yml
77
/.VSCodeCounter/
88
/src/generated/prisma
99
/generated/prisma
10-
.sentryclirc
10+
.sentryclirc
11+
/docs/

bun.lock

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"topgg-autoposter": "^2.0.2",
5151
"ts-node": "^10.9.2",
5252
"tsc-alias": "^1.8.16",
53+
"typedoc": "^0.28.9",
5354
"undici": "^7.11.0",
5455
"uuid": "^11.1.0",
5556
"winston": "^3.17.0",
@@ -159,6 +160,8 @@
159160

160161
"@fastify/busboy": ["@fastify/[email protected]", "", {}, "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA=="],
161162

163+
"@gerrit0/mini-shiki": ["@gerrit0/[email protected]", "", { "dependencies": { "@shikijs/engine-oniguruma": "^3.9.1", "@shikijs/langs": "^3.9.1", "@shikijs/themes": "^3.9.1", "@shikijs/types": "^3.9.1", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-quvtbDhNf528BkMHQQd8xGJMpmA5taDZuex/JDF8ETEjS2iypXzr1hnEUVh+lTUyffFJ0JCxysUsiuUoEGIz/Q=="],
164+
162165
"@isaacs/cliui": ["@isaacs/[email protected]", "", { "dependencies": { "string-width": "^5.1.2", "string-width-cjs": "npm:string-width@^4.2.0", "strip-ansi": "^7.0.1", "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", "wrap-ansi": "^8.1.0", "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" } }, "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA=="],
163166

164167
"@isaacs/fs-minipass": ["@isaacs/[email protected]", "", { "dependencies": { "minipass": "^7.0.4" } }, "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w=="],
@@ -377,6 +380,16 @@
377380

378381
"@sentry/opentelemetry": ["@sentry/[email protected]", "", { "dependencies": { "@sentry/core": "9.38.0" }, "peerDependencies": { "@opentelemetry/api": "^1.9.0", "@opentelemetry/context-async-hooks": "^1.30.1 || ^2.0.0", "@opentelemetry/core": "^1.30.1 || ^2.0.0", "@opentelemetry/instrumentation": "^0.57.1 || ^0.202.0", "@opentelemetry/sdk-trace-base": "^1.30.1 || ^2.0.0", "@opentelemetry/semantic-conventions": "^1.34.0" } }, "sha512-Oa0kk4EiBMwCvHS5ZI50M/SMNfGM9ztsmedFEfpS+mZz8y9C5Artd0ukGK4OAYcSBggNVQkhmmhWbwpNnRNQiw=="],
379382

383+
"@shikijs/engine-oniguruma": ["@shikijs/[email protected]", "", { "dependencies": { "@shikijs/types": "3.9.1", "@shikijs/vscode-textmate": "^10.0.2" } }, "sha512-WPlL/xqviwS3te4unSGGGfflKsuHLMI6tPdNYvgz/IygcBT6UiwDFSzjBKyebwi5GGSlXsjjdoJLIBnAplmEZw=="],
384+
385+
"@shikijs/langs": ["@shikijs/[email protected]", "", { "dependencies": { "@shikijs/types": "3.9.1" } }, "sha512-Vyy2Yv9PP3Veh3VSsIvNncOR+O93wFsNYgN2B6cCCJlS7H9SKFYc55edsqernsg8WT/zam1cfB6llJsQWLnVhA=="],
386+
387+
"@shikijs/themes": ["@shikijs/[email protected]", "", { "dependencies": { "@shikijs/types": "3.9.1" } }, "sha512-zAykkGECNICCMXpKeVvq04yqwaSuAIvrf8MjsU5bzskfg4XreU+O0B5wdNCYRixoB9snd3YlZ373WV5E/g5T9A=="],
388+
389+
"@shikijs/types": ["@shikijs/[email protected]", "", { "dependencies": { "@shikijs/vscode-textmate": "^10.0.2", "@types/hast": "^3.0.4" } }, "sha512-rqM3T7a0iM1oPKz9iaH/cVgNX9Vz1HERcUcXJ94/fulgVdwqfnhXzGxO4bLrAnh/o5CPLy3IcYedogfV+Ns0Qg=="],
390+
391+
"@shikijs/vscode-textmate": ["@shikijs/[email protected]", "", {}, "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg=="],
392+
380393
"@shuding/opentype.js": ["@shuding/[email protected]", "", { "dependencies": { "fflate": "^0.7.3", "string.prototype.codepointat": "^0.2.1" }, "bin": { "ot": "bin/ot" } }, "sha512-3NgmNyH3l/Hv6EvsWJbsvpcpUba6R8IREQ83nH83cyakCw7uM1arZKNfHwv1Wz6jgqrF/j4x5ELvR6PnK9nTcA=="],
381394

382395
"@sindresorhus/is": ["@sindresorhus/[email protected]", "", {}, "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="],
@@ -425,6 +438,8 @@
425438

426439
"@types/express-serve-static-core": ["@types/[email protected]", "", { "dependencies": { "@types/node": "*", "@types/qs": "*", "@types/range-parser": "*", "@types/send": "*" } }, "sha512-3xhRnjJPkULekpSzgtoNYYcTWgEZkp4myc+Saevii5JPnHNvHMRlBSHDbs7Bh1iPPoVTERHEZXyhyLbMEsExsA=="],
427440

441+
"@types/hast": ["@types/[email protected]", "", { "dependencies": { "@types/unist": "*" } }, "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ=="],
442+
428443
"@types/http-cache-semantics": ["@types/[email protected]", "", {}, "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA=="],
429444

430445
"@types/http-errors": ["@types/[email protected]", "", {}, "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg=="],
@@ -465,6 +480,8 @@
465480

466481
"@types/triple-beam": ["@types/[email protected]", "", {}, "sha512-6WaYesThRMCl19iryMYP7/x2OVgCtbIVflDGFpWnb9irXI3UjYE4AzmYuiUKY1AJstGijoY+MgUszMgRxIYTYw=="],
467482

483+
"@types/unist": ["@types/[email protected]", "", {}, "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q=="],
484+
468485
"@types/uuid": ["@types/[email protected]", "", {}, "sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ=="],
469486

470487
"@types/webidl-conversions": ["@types/[email protected]", "", {}, "sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA=="],
@@ -507,6 +524,8 @@
507524

508525
"arg": ["[email protected]", "", {}, "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA=="],
509526

527+
"argparse": ["[email protected]", "", {}, "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="],
528+
510529
"array-flatten": ["[email protected]", "", {}, "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="],
511530

512531
"array-union": ["[email protected]", "", {}, "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw=="],
@@ -907,6 +926,8 @@
907926

908927
"linebreak": ["[email protected]", "", { "dependencies": { "base64-js": "0.0.8", "unicode-trie": "^2.0.0" } }, "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ=="],
909928

929+
"linkify-it": ["[email protected]", "", { "dependencies": { "uc.micro": "^2.0.0" } }, "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ=="],
930+
910931
"lodash": ["[email protected]", "", {}, "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="],
911932

912933
"lodash.clonedeep": ["[email protected]", "", {}, "sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ=="],
@@ -921,6 +942,8 @@
921942

922943
"lru-cache": ["[email protected]", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="],
923944

945+
"lunr": ["[email protected]", "", {}, "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="],
946+
924947
"magic-bytes.js": ["[email protected]", "", {}, "sha512-ThQLOhN86ZkJ7qemtVRGYM+gRgR8GEXNli9H/PMvpnZsE44Xfh3wx9kGJaldg314v85m+bFW6WBMaVHJc/c3zA=="],
925948

926949
"make-dir": ["[email protected]", "", { "dependencies": { "semver": "^6.0.0" } }, "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw=="],
@@ -929,10 +952,14 @@
929952

930953
"make-fetch-happen": ["[email protected]", "", { "dependencies": { "@npmcli/agent": "^3.0.0", "cacache": "^19.0.1", "http-cache-semantics": "^4.1.1", "minipass": "^7.0.2", "minipass-fetch": "^4.0.0", "minipass-flush": "^1.0.5", "minipass-pipeline": "^1.2.4", "negotiator": "^1.0.0", "proc-log": "^5.0.0", "promise-retry": "^2.0.1", "ssri": "^12.0.0" } }, "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ=="],
931954

955+
"markdown-it": ["[email protected]", "", { "dependencies": { "argparse": "^2.0.1", "entities": "^4.4.0", "linkify-it": "^5.0.0", "mdurl": "^2.0.0", "punycode.js": "^2.3.1", "uc.micro": "^2.1.0" }, "bin": { "markdown-it": "bin/markdown-it.mjs" } }, "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg=="],
956+
932957
"marked": ["[email protected]", "", { "bin": { "marked": "bin/marked.js" } }, "sha512-MUKMXDjsD/eptB7GPzxo4xcnLS6oo7/RHimUMHEDRhUooPwmN9BEpMl7AEOJv3bmso169wHI2wUF9VQgL7zfmA=="],
933958

934959
"math-intrinsics": ["[email protected]", "", {}, "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="],
935960

961+
"mdurl": ["[email protected]", "", {}, "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w=="],
962+
936963
"media-typer": ["[email protected]", "", {}, "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw=="],
937964

938965
"memory-pager": ["[email protected]", "", {}, "sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg=="],
@@ -1119,6 +1146,8 @@
11191146

11201147
"punycode": ["[email protected]", "", {}, "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg=="],
11211148

1149+
"punycode.js": ["[email protected]", "", {}, "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA=="],
1150+
11221151
"qs": ["[email protected]", "", { "dependencies": { "side-channel": "^1.1.0" } }, "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w=="],
11231152

11241153
"queue-lit": ["[email protected]", "", {}, "sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw=="],
@@ -1327,10 +1356,14 @@
13271356

13281357
"typedarray": ["[email protected]", "", {}, "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="],
13291358

1359+
"typedoc": ["[email protected]", "", { "dependencies": { "@gerrit0/mini-shiki": "^3.9.0", "lunr": "^2.3.9", "markdown-it": "^14.1.0", "minimatch": "^9.0.5", "yaml": "^2.8.0" }, "peerDependencies": { "typescript": "5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x" }, "bin": { "typedoc": "bin/typedoc" } }, "sha512-aw45vwtwOl3QkUAmWCnLV9QW1xY+FSX2zzlit4MAfE99wX+Jij4ycnpbAWgBXsRrxmfs9LaYktg/eX5Bpthd3g=="],
1360+
13301361
"typescript": ["[email protected]", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ=="],
13311362

13321363
"typescript-transform-paths": ["[email protected]", "", { "dependencies": { "minimatch": "^9.0.5" }, "peerDependencies": { "typescript": ">=3.6.5" } }, "sha512-RMK86wKe/4+ad+3kMT9SKAs3K0tUHLe7hF+MLbD6VpC9VUmFuKorhf3pHz+qO5GdS4mUp2ncNUo14j6ws9UvBQ=="],
13331364

1365+
"uc.micro": ["[email protected]", "", {}, "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A=="],
1366+
13341367
"undefsafe": ["[email protected]", "", {}, "sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="],
13351368

13361369
"undici": ["[email protected]", "", {}, "sha512-heTSIac3iLhsmZhUCjyS3JQEkZELateufzZuBaVM5RHXdSBMb1LPMQf5x+FH7qjsZYDP0ttAc3nnVpUB+wYbOg=="],
@@ -1533,6 +1566,8 @@
15331566

15341567
"make-dir/semver": ["[email protected]", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA=="],
15351568

1569+
"markdown-it/entities": ["[email protected]", "", {}, "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw=="],
1570+
15361571
"micromatch/picomatch": ["[email protected]", "", {}, "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="],
15371572

15381573
"minipass-flush/minipass": ["[email protected]", "", { "dependencies": { "yallist": "^4.0.0" } }, "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw=="],

package.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
"customerdev": "bun run build && node ./.build/src/main/startup.js",
99
"disbotdev": "bun run build && node ./.build/src/main/startup.js",
1010
"build": "tsc && bun run setup:prisma",
11+
"typedoc": "bun x typedoc --entryPointStrategy Expand src",
1112
"setup:prisma": "copyfiles -u 1 \"src/prisma/**/*\" .build/src",
1213
"sentry:sourcemaps": "sentry-cli sourcemaps inject --org nexocrew --project disbot-client ./.build && sentry-cli sourcemaps upload --org nexocrew --project disbot-client ./.build"
1314
},
@@ -65,6 +66,7 @@
6566
"topgg-autoposter": "^2.0.2",
6667
"ts-node": "^10.9.2",
6768
"tsc-alias": "^1.8.16",
69+
"typedoc": "^0.28.9",
6870
"undici": "^7.11.0",
6971
"uuid": "^11.1.0",
7072
"winston": "^3.17.0",

prisma/schema.prisma

Lines changed: 74 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -357,34 +357,37 @@ model Tags {
357357
}
358358

359359
model TicketSetups {
360-
id String @id @default(auto()) @map("_id") @db.ObjectId
360+
id String @id @default(auto()) @map("_id") @db.ObjectId
361361
CategoryId String?
362-
Handlers String[]
363-
HandlerWithShadowPing String[]
364-
CustomId String @unique
365-
TicketChannelName String?
366362
ChannelType Int?
367-
MessageTempleateId String?
368-
TicketBlacklistRoles String[]
369-
TranscriptChannelId String?
363+
TicketPermissions TicketPermissions[]
364+
CustomId String @unique
365+
TicketChannelName String?
366+
EnableTicketsOnlyFromTime String?
367+
MessageTemplateId String?
368+
TicketBlacklistRoles String[] // DONE!
369+
TranscriptChannelId String? // TRANSFER
370370
HasModal Boolean?
371-
UserDMWhenCloseMessageTemplateId String?
372-
ModalOptions TicketModalData[]
373-
TicketLimit Int?
374-
WithTicketFeedback Boolean?
375-
TicketFeedbackChannelId String?
376371
ModalTitle String?
377-
TicketCreationCooldownPerUser Int?
378-
AutoCloseAfterInactivity Int?
379-
AutoAssignHandler String?
380-
AutoReplyMessageTemplateId String?
381-
RequiredRoles String[]
382-
OpenTicketWithCommand Boolean?
383-
SlashCommandId String?
384-
TextCommandName String?
385-
SendTranscriptToUser Boolean?
372+
ModalOptions TicketModalData[]
373+
OnlyClaimMode Boolean? // DONE
374+
TicketLimit Int? //DONE
375+
UserDMWhenCloseMessageTemplateId String? // DONE
376+
WithTicketFeedback Boolean? // DONE
377+
TicketFeedbackChannelId String? // DONE
378+
TicketCreationCooldownPerUser Int? // DONE
379+
AutoCloseAfterInactivity Int? // DONE
380+
AutoCloseAfterTime Int? // DONE
381+
AutoAssignHandler String? // DONE
382+
AutoReplyMessageTemplateId String? // DONE
383+
AutoCloseAction String[] // DONE // LOOK (THREAD), ARCHIVE (BOTH), MOVE_TO_OLD_CHANNEL (Channel), DELETE (BOTH), WITH_CONFIRM (BOTH), TRANSCRIPT (BOTH), REASON (BOTH), REMOVE_USER_FROM_TICKET (BOTH) - !!! SUGGEST MORE !!!
384+
OldTicketCategoryId String? // DONE
385+
RequiredRoles String[] // DONE
386+
SlashCommandId String? // DONE
387+
TextCommandName String? // DONE
388+
SendTranscriptToUser Boolean? // DONE
386389
GuildId String
387-
Guilds Guilds @relation(fields: [GuildId], references: [GuildId])
390+
Guilds Guilds @relation(fields: [GuildId], references: [GuildId])
388391
Tickets Tickets[]
389392
390393
// TODO: API Support
@@ -395,47 +398,68 @@ model TicketSetups {
395398

396399
model TicketModalData {
397400
id String @id @default(auto()) @map("_id") @db.ObjectId
401+
UUID String @unique
398402
Name String
399-
Placeholder String
403+
Placeholder String?
400404
Type Int
405+
MinLength Int?
406+
MaxLength Int?
407+
Required Boolean
401408
TicketSetupId String
402409
TicketSetup TicketSetups @relation(fields: [TicketSetupId], references: [CustomId])
403410
}
404411

405-
model TicketHandlers {
406-
id String @id @default(auto()) @map("_id") @db.ObjectId
407-
DiscordRoleId String
408-
TicketPermission String?
409-
AddedDiscordPermission String[]
410-
RemovedDiscordPermission String[]
412+
model TicketPermissions {
413+
id String @id @default(auto()) @map("_id") @db.ObjectId
414+
UUID String @unique
415+
DiscordUserId String?
416+
DiscordRoleId String?
417+
HasShadowPing Boolean?
418+
IsHandler Boolean @default(false)
419+
TicketPermissions String[]
420+
AllowedDiscordPermissions BigInt?
421+
DeniedDiscordPermissions BigInt?
422+
TicketSetupId String
423+
TicketSetup TicketSetups @relation(fields: [TicketSetupId], references: [CustomId])
411424
}
412425

413426
model Tickets {
414-
id String @id @default(auto()) @map("_id") @db.ObjectId
415-
TicketId String @unique
416-
GuildId String
417-
ChannelId String?
418-
ThreadId String?
419-
IsClaimed Boolean?
420-
IsArchived Boolean?
421-
ArchiveMessageId String?
422-
UserWhoHasClaimedId String?
423-
IsLooked Boolean?
424-
TicketOwnerId String
425-
AddedMemberIds String[]
426-
Handlers String[]
427-
TranscriptChannelId String
428-
TranscriptHTML String?
429-
TicketNotes String[]
430-
TicketSetupId String
431-
TicketSetup TicketSetups @relation(fields: [TicketSetupId], references: [CustomId])
432-
TicketFeedback TicketFeedback?
427+
id String @id @default(auto()) @map("_id") @db.ObjectId
428+
TicketId String @unique
429+
CreatedAt DateTime
430+
ClosedAt DateTime?
431+
GuildId String
432+
ChannelType Int
433+
ChannelId String?
434+
ThreadId String?
435+
IsClaimed Boolean?
436+
IsArchived Boolean?
437+
ArchiveMessageId String?
438+
UserWhoHasClaimedId String?
439+
IsLooked Boolean?
440+
TicketOwnerId String
441+
AddedMemberIds String[]
442+
TranscriptChannelId String?
443+
TranscriptHTML String?
444+
TicketNotes String[]
445+
SendTranscriptToUser Boolean?
446+
OldTicketCategoryId String?
447+
AutoCloseAction String[]
448+
AutoReplyMessageTemplateId String?
449+
AutoAssignHandler String?
450+
TicketFeedbackChannelId String?
451+
WithTicketFeedback Boolean?
452+
UserDMWhenCloseMessageTemplateId String?
453+
OnlyClaimMode Boolean?
454+
TicketSetupId String
455+
TicketSetup TicketSetups @relation(fields: [TicketSetupId], references: [CustomId])
456+
TicketFeedback TicketFeedback?
433457
}
434458

435459
model TicketFeedback {
436460
id String @id @default(auto()) @map("_id") @db.ObjectId
437461
TicketId String @unique
438-
Rating Int // 1–5 oder 1–10 Skala
462+
Rating Int // 1–5
439463
Comment String?
440464
SubmittedAt DateTime @default(now())
441465
Ticket Tickets @relation(fields: [TicketId], references: [TicketId])

src/api/services/app.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,6 @@ export async function app(client: ExtendedClient) {
352352
});
353353
if (data && data.CustomId === req.params.uuid) {
354354
const guild = client.guilds.cache.get(data.GuildId as string);
355-
const role = guild?.roles.cache.get(data.Handlers[0] as string);
356355

357356
const transcripts = guild?.channels.cache.get(
358357
data.TranscriptChannelId as string

0 commit comments

Comments
 (0)