mirror of
https://github.com/toast-ts/Daggerbot-TS.git
synced 2024-11-18 04:40:59 -05:00
Compare commits
31 Commits
89a8bd2c4c
...
3e46906af5
Author | SHA1 | Date | |
---|---|---|---|
|
3e46906af5 | ||
|
2616b8996b | ||
|
3309da55f2 | ||
|
4a1d4e9eed | ||
|
711bb3a053 | ||
|
49dc4c2f7e | ||
|
4571cdfc7e | ||
|
6c34752c0b | ||
|
a86efd78a5 | ||
|
ca3f926cb8 | ||
|
4fbdbcf79a | ||
|
6a254e897e | ||
|
66c6dc9aa3 | ||
|
1866ac8cb7 | ||
|
29437ef5d7 | ||
|
50d12f39be | ||
|
20f2ac5656 | ||
|
e841712456 | ||
|
8e367e4c80 | ||
|
14077381ac | ||
|
424de10a8c | ||
|
cd40816e8f | ||
|
afc04047eb | ||
|
54d0db19b6 | ||
|
7ca33f1de8 | ||
|
e42b4ed857 | ||
|
890aa5292d | ||
|
827881c136 | ||
|
aaf746db5e | ||
|
8b541cbed3 | ||
|
4fb097fa70 |
10
.github/dependabot.yml
vendored
10
.github/dependabot.yml
vendored
@ -4,6 +4,12 @@
|
|||||||
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
|
||||||
|
|
||||||
version: 2
|
version: 2
|
||||||
|
registries:
|
||||||
|
toast:
|
||||||
|
type: npm-registry
|
||||||
|
url: "https://git.toast-server.net/api/packages/toast/npm/"
|
||||||
|
token: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
|
||||||
updates:
|
updates:
|
||||||
- package-ecosystem: "npm"
|
- package-ecosystem: "npm"
|
||||||
directory: "/"
|
directory: "/"
|
||||||
@ -13,7 +19,11 @@ updates:
|
|||||||
timezone: "Australia/NSW"
|
timezone: "Australia/NSW"
|
||||||
assignees:
|
assignees:
|
||||||
- "toast-ts"
|
- "toast-ts"
|
||||||
|
reviewers:
|
||||||
|
- "toast-ts"
|
||||||
labels:
|
labels:
|
||||||
- "dependencies"
|
- "dependencies"
|
||||||
open-pull-requests-limit: 8
|
open-pull-requests-limit: 8
|
||||||
rebase-strategy: auto
|
rebase-strategy: auto
|
||||||
|
registries:
|
||||||
|
- toast
|
||||||
|
476
.pnp.cjs
generated
476
.pnp.cjs
generated
@ -28,27 +28,27 @@ const RAW_RUNTIME_STATE =
|
|||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["@napi-rs/canvas", "npm:0.1.51"],\
|
["@napi-rs/canvas", "npm:0.1.51"],\
|
||||||
["@octokit/rest", "npm:20.0.2"],\
|
["@octokit/rest", "npm:20.0.2"],\
|
||||||
|
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
|
||||||
["@toast/tokenservice-client", "npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"],\
|
["@toast/tokenservice-client", "npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"],\
|
||||||
["@types/ms", "npm:0.7.34"],\
|
["@types/ms", "npm:0.7.34"],\
|
||||||
["@types/node", "npm:20.11.25"],\
|
["@types/node", "npm:20.11.28"],\
|
||||||
["@types/node-cron", "npm:3.0.11"],\
|
["@types/node-cron", "npm:3.0.11"],\
|
||||||
["@types/pg", "npm:8.11.2"],\
|
["@types/pg", "npm:8.11.2"],\
|
||||||
["@types/sequelize", "npm:4.28.20"],\
|
|
||||||
["ansi-colors", "npm:4.1.3"],\
|
["ansi-colors", "npm:4.1.3"],\
|
||||||
["dayjs", "npm:1.11.10"],\
|
["dayjs", "npm:1.11.10"],\
|
||||||
["discord.js", "npm:14.14.1"],\
|
["discord.js", "npm:14.14.1"],\
|
||||||
["fast-xml-parser", "npm:4.3.5"],\
|
["fast-xml-parser", "npm:4.3.6"],\
|
||||||
["mathjs", "npm:12.4.0"],\
|
["mathjs", "npm:12.4.1"],\
|
||||||
["ms", "npm:2.1.3"],\
|
["ms", "npm:2.1.3"],\
|
||||||
["node-cron", "npm:3.0.3"],\
|
["node-cron", "npm:3.0.3"],\
|
||||||
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
||||||
["pg-hstore", "npm:2.3.4"],\
|
["pg-hstore", "npm:2.3.4"],\
|
||||||
|
["postgres-array", "npm:3.0.2"],\
|
||||||
["redis", "npm:4.6.13"],\
|
["redis", "npm:4.6.13"],\
|
||||||
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
|
["simple-git", "npm:3.23.0"],\
|
||||||
["simple-git", "npm:3.22.0"],\
|
["systeminformation", "npm:5.22.3"],\
|
||||||
["systeminformation", "npm:5.22.0"],\
|
|
||||||
["typescript", "patch:typescript@npm%3A5.4.2#optional!builtin<compat/typescript>::version=5.4.2&hash=5adc0c"],\
|
["typescript", "patch:typescript@npm%3A5.4.2#optional!builtin<compat/typescript>::version=5.4.2&hash=5adc0c"],\
|
||||||
["undici", "npm:6.7.1"]\
|
["undici", "npm:6.9.0"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "SOFT"\
|
"linkType": "SOFT"\
|
||||||
}]\
|
}]\
|
||||||
@ -277,6 +277,37 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["@nodelib/fs.scandir", [\
|
||||||
|
["npm:2.1.5", {\
|
||||||
|
"packageLocation": "./.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip/node_modules/@nodelib/fs.scandir/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["@nodelib/fs.scandir", "npm:2.1.5"],\
|
||||||
|
["@nodelib/fs.stat", "npm:2.0.5"],\
|
||||||
|
["run-parallel", "npm:1.2.0"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["@nodelib/fs.stat", [\
|
||||||
|
["npm:2.0.5", {\
|
||||||
|
"packageLocation": "./.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip/node_modules/@nodelib/fs.stat/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["@nodelib/fs.stat", "npm:2.0.5"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["@nodelib/fs.walk", [\
|
||||||
|
["npm:1.2.8", {\
|
||||||
|
"packageLocation": "./.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip/node_modules/@nodelib/fs.walk/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["@nodelib/fs.walk", "npm:1.2.8"],\
|
||||||
|
["@nodelib/fs.scandir", "npm:2.1.5"],\
|
||||||
|
["fastq", "npm:1.17.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["@octokit/auth-token", [\
|
["@octokit/auth-token", [\
|
||||||
["npm:4.0.0", {\
|
["npm:4.0.0", {\
|
||||||
"packageLocation": "./.yarn/cache/@octokit-auth-token-npm-4.0.0-9ad78a752f-60e42701e3.zip/node_modules/@octokit/auth-token/",\
|
"packageLocation": "./.yarn/cache/@octokit-auth-token-npm-4.0.0-9ad78a752f-60e42701e3.zip/node_modules/@octokit/auth-token/",\
|
||||||
@ -608,6 +639,75 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["@sequelize/core", [\
|
||||||
|
["npm:7.0.0-alpha.37", {\
|
||||||
|
"packageLocation": "./.yarn/cache/@sequelize-core-npm-7.0.0-alpha.37-1b326b1eb8-dcaadb079b.zip/node_modules/@sequelize/core/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["@sequelize/core", "npm:7.0.0-alpha.37"]\
|
||||||
|
],\
|
||||||
|
"linkType": "SOFT"\
|
||||||
|
}],\
|
||||||
|
["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37", {\
|
||||||
|
"packageLocation": "./.yarn/__virtual__/@sequelize-core-virtual-e750a028ee/0/cache/@sequelize-core-npm-7.0.0-alpha.37-1b326b1eb8-dcaadb079b.zip/node_modules/@sequelize/core/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
|
||||||
|
["@types/debug", "npm:4.1.12"],\
|
||||||
|
["@types/ibm_db", null],\
|
||||||
|
["@types/mariadb", null],\
|
||||||
|
["@types/mysql2", null],\
|
||||||
|
["@types/odbc", null],\
|
||||||
|
["@types/pg", "npm:8.11.2"],\
|
||||||
|
["@types/snowflake-sdk", null],\
|
||||||
|
["@types/sqlite3", null],\
|
||||||
|
["@types/tedious", null],\
|
||||||
|
["@types/validator", "npm:13.11.9"],\
|
||||||
|
["bnf-parser", "npm:3.1.6"],\
|
||||||
|
["dayjs", "npm:1.11.10"],\
|
||||||
|
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"],\
|
||||||
|
["dottie", "npm:2.0.6"],\
|
||||||
|
["fast-glob", "npm:3.3.2"],\
|
||||||
|
["ibm_db", null],\
|
||||||
|
["inflection", "npm:3.0.0"],\
|
||||||
|
["lodash", "npm:4.17.21"],\
|
||||||
|
["mariadb", null],\
|
||||||
|
["mysql2", null],\
|
||||||
|
["odbc", null],\
|
||||||
|
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
||||||
|
["pg-connection-string", "npm:2.6.2"],\
|
||||||
|
["pg-hstore", "npm:2.3.4"],\
|
||||||
|
["retry-as-promised", "npm:7.0.4"],\
|
||||||
|
["semver", "npm:7.6.0"],\
|
||||||
|
["sequelize-pool", "npm:8.0.0"],\
|
||||||
|
["snowflake-sdk", null],\
|
||||||
|
["sqlite3", null],\
|
||||||
|
["tedious", null],\
|
||||||
|
["toposort-class", "npm:1.0.1"],\
|
||||||
|
["type-fest", "npm:3.13.1"],\
|
||||||
|
["uuid", "npm:9.0.1"],\
|
||||||
|
["validator", "npm:13.11.0"],\
|
||||||
|
["wkx", "npm:0.5.0"]\
|
||||||
|
],\
|
||||||
|
"packagePeers": [\
|
||||||
|
"@types/ibm_db",\
|
||||||
|
"@types/mariadb",\
|
||||||
|
"@types/mysql2",\
|
||||||
|
"@types/odbc",\
|
||||||
|
"@types/pg",\
|
||||||
|
"@types/snowflake-sdk",\
|
||||||
|
"@types/sqlite3",\
|
||||||
|
"@types/tedious",\
|
||||||
|
"ibm_db",\
|
||||||
|
"mariadb",\
|
||||||
|
"mysql2",\
|
||||||
|
"odbc",\
|
||||||
|
"pg",\
|
||||||
|
"snowflake-sdk",\
|
||||||
|
"sqlite3",\
|
||||||
|
"tedious"\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["@toast/tokenservice-client", [\
|
["@toast/tokenservice-client", [\
|
||||||
["npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz", {\
|
["npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz", {\
|
||||||
"packageLocation": "./.yarn/cache/@toast-tokenservice-client-npm-1.0.16-de708ec9ce-a946df28f2.zip/node_modules/@toast/tokenservice-client/",\
|
"packageLocation": "./.yarn/cache/@toast-tokenservice-client-npm-1.0.16-de708ec9ce-a946df28f2.zip/node_modules/@toast/tokenservice-client/",\
|
||||||
@ -618,25 +718,6 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["@types/bluebird", [\
|
|
||||||
["npm:3.5.42", {\
|
|
||||||
"packageLocation": "./.yarn/cache/@types-bluebird-npm-3.5.42-15f353048c-09ad60b083.zip/node_modules/@types/bluebird/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["@types/bluebird", "npm:3.5.42"]\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["@types/continuation-local-storage", [\
|
|
||||||
["npm:3.2.7", {\
|
|
||||||
"packageLocation": "./.yarn/cache/@types-continuation-local-storage-npm-3.2.7-763e4dc12b-1f272b53bc.zip/node_modules/@types/continuation-local-storage/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["@types/continuation-local-storage", "npm:3.2.7"],\
|
|
||||||
["@types/node", "npm:20.11.25"]\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["@types/debug", [\
|
["@types/debug", [\
|
||||||
["npm:4.1.12", {\
|
["npm:4.1.12", {\
|
||||||
"packageLocation": "./.yarn/cache/@types-debug-npm-4.1.12-82a3fc4905-47876a852d.zip/node_modules/@types/debug/",\
|
"packageLocation": "./.yarn/cache/@types-debug-npm-4.1.12-82a3fc4905-47876a852d.zip/node_modules/@types/debug/",\
|
||||||
@ -647,15 +728,6 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["@types/lodash", [\
|
|
||||||
["npm:4.14.202", {\
|
|
||||||
"packageLocation": "./.yarn/cache/@types-lodash-npm-4.14.202-76de3e302b-1bb9760a5b.zip/node_modules/@types/lodash/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["@types/lodash", "npm:4.14.202"]\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["@types/ms", [\
|
["@types/ms", [\
|
||||||
["npm:0.7.34", {\
|
["npm:0.7.34", {\
|
||||||
"packageLocation": "./.yarn/cache/@types-ms-npm-0.7.34-46f5141bfd-f38d36e7b6.zip/node_modules/@types/ms/",\
|
"packageLocation": "./.yarn/cache/@types-ms-npm-0.7.34-46f5141bfd-f38d36e7b6.zip/node_modules/@types/ms/",\
|
||||||
@ -666,10 +738,10 @@ const RAW_RUNTIME_STATE =
|
|||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["@types/node", [\
|
["@types/node", [\
|
||||||
["npm:20.11.25", {\
|
["npm:20.11.28", {\
|
||||||
"packageLocation": "./.yarn/cache/@types-node-npm-20.11.25-b6ac39dd46-861265f1bb.zip/node_modules/@types/node/",\
|
"packageLocation": "./.yarn/cache/@types-node-npm-20.11.28-6be967407c-b03f69213a.zip/node_modules/@types/node/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["@types/node", "npm:20.11.25"],\
|
["@types/node", "npm:20.11.28"],\
|
||||||
["undici-types", "npm:5.26.5"]\
|
["undici-types", "npm:5.26.5"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
@ -689,26 +761,13 @@ const RAW_RUNTIME_STATE =
|
|||||||
"packageLocation": "./.yarn/cache/@types-pg-npm-8.11.2-bdf321bea4-7c05cf63be.zip/node_modules/@types/pg/",\
|
"packageLocation": "./.yarn/cache/@types-pg-npm-8.11.2-bdf321bea4-7c05cf63be.zip/node_modules/@types/pg/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["@types/pg", "npm:8.11.2"],\
|
["@types/pg", "npm:8.11.2"],\
|
||||||
["@types/node", "npm:20.11.25"],\
|
["@types/node", "npm:20.11.28"],\
|
||||||
["pg-protocol", "npm:1.6.0"],\
|
["pg-protocol", "npm:1.6.0"],\
|
||||||
["pg-types", "npm:4.0.2"]\
|
["pg-types", "npm:4.0.2"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["@types/sequelize", [\
|
|
||||||
["npm:4.28.20", {\
|
|
||||||
"packageLocation": "./.yarn/cache/@types-sequelize-npm-4.28.20-a712a5ea90-8b3faec2e6.zip/node_modules/@types/sequelize/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["@types/sequelize", "npm:4.28.20"],\
|
|
||||||
["@types/bluebird", "npm:3.5.42"],\
|
|
||||||
["@types/continuation-local-storage", "npm:3.2.7"],\
|
|
||||||
["@types/lodash", "npm:4.14.202"],\
|
|
||||||
["@types/validator", "npm:13.11.9"]\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["@types/validator", [\
|
["@types/validator", [\
|
||||||
["npm:13.11.9", {\
|
["npm:13.11.9", {\
|
||||||
"packageLocation": "./.yarn/cache/@types-validator-npm-13.11.9-ac3f0e748e-2d397c6929.zip/node_modules/@types/validator/",\
|
"packageLocation": "./.yarn/cache/@types-validator-npm-13.11.9-ac3f0e748e-2d397c6929.zip/node_modules/@types/validator/",\
|
||||||
@ -723,7 +782,7 @@ const RAW_RUNTIME_STATE =
|
|||||||
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.10-a877a38f71-9b414dc5e0.zip/node_modules/@types/ws/",\
|
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.10-a877a38f71-9b414dc5e0.zip/node_modules/@types/ws/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["@types/ws", "npm:8.5.10"],\
|
["@types/ws", "npm:8.5.10"],\
|
||||||
["@types/node", "npm:20.11.25"]\
|
["@types/node", "npm:20.11.28"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}],\
|
}],\
|
||||||
@ -731,7 +790,7 @@ const RAW_RUNTIME_STATE =
|
|||||||
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.9-91d1b2ab07-7cf66383b8.zip/node_modules/@types/ws/",\
|
"packageLocation": "./.yarn/cache/@types-ws-npm-8.5.9-91d1b2ab07-7cf66383b8.zip/node_modules/@types/ws/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["@types/ws", "npm:8.5.9"],\
|
["@types/ws", "npm:8.5.9"],\
|
||||||
["@types/node", "npm:20.11.25"]\
|
["@types/node", "npm:20.11.28"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
@ -763,6 +822,25 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["bnf-parser", [\
|
||||||
|
["npm:3.1.6", {\
|
||||||
|
"packageLocation": "./.yarn/cache/bnf-parser-npm-3.1.6-40bea7c0c7-caaf7078e2.zip/node_modules/bnf-parser/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["bnf-parser", "npm:3.1.6"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["braces", [\
|
||||||
|
["npm:3.0.2", {\
|
||||||
|
"packageLocation": "./.yarn/cache/braces-npm-3.0.2-782240b28a-966b1fb48d.zip/node_modules/braces/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["braces", "npm:3.0.2"],\
|
||||||
|
["fill-range", "npm:7.0.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["buffer-writer", [\
|
["buffer-writer", [\
|
||||||
["npm:2.0.0", {\
|
["npm:2.0.0", {\
|
||||||
"packageLocation": "./.yarn/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-fdca8e28c5.zip/node_modules/buffer-writer/",\
|
"packageLocation": "./.yarn/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-fdca8e28c5.zip/node_modules/buffer-writer/",\
|
||||||
@ -797,27 +875,27 @@ const RAW_RUNTIME_STATE =
|
|||||||
["daggerbot-ts", "workspace:."],\
|
["daggerbot-ts", "workspace:."],\
|
||||||
["@napi-rs/canvas", "npm:0.1.51"],\
|
["@napi-rs/canvas", "npm:0.1.51"],\
|
||||||
["@octokit/rest", "npm:20.0.2"],\
|
["@octokit/rest", "npm:20.0.2"],\
|
||||||
|
["@sequelize/core", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:7.0.0-alpha.37"],\
|
||||||
["@toast/tokenservice-client", "npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"],\
|
["@toast/tokenservice-client", "npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"],\
|
||||||
["@types/ms", "npm:0.7.34"],\
|
["@types/ms", "npm:0.7.34"],\
|
||||||
["@types/node", "npm:20.11.25"],\
|
["@types/node", "npm:20.11.28"],\
|
||||||
["@types/node-cron", "npm:3.0.11"],\
|
["@types/node-cron", "npm:3.0.11"],\
|
||||||
["@types/pg", "npm:8.11.2"],\
|
["@types/pg", "npm:8.11.2"],\
|
||||||
["@types/sequelize", "npm:4.28.20"],\
|
|
||||||
["ansi-colors", "npm:4.1.3"],\
|
["ansi-colors", "npm:4.1.3"],\
|
||||||
["dayjs", "npm:1.11.10"],\
|
["dayjs", "npm:1.11.10"],\
|
||||||
["discord.js", "npm:14.14.1"],\
|
["discord.js", "npm:14.14.1"],\
|
||||||
["fast-xml-parser", "npm:4.3.5"],\
|
["fast-xml-parser", "npm:4.3.6"],\
|
||||||
["mathjs", "npm:12.4.0"],\
|
["mathjs", "npm:12.4.1"],\
|
||||||
["ms", "npm:2.1.3"],\
|
["ms", "npm:2.1.3"],\
|
||||||
["node-cron", "npm:3.0.3"],\
|
["node-cron", "npm:3.0.3"],\
|
||||||
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
||||||
["pg-hstore", "npm:2.3.4"],\
|
["pg-hstore", "npm:2.3.4"],\
|
||||||
|
["postgres-array", "npm:3.0.2"],\
|
||||||
["redis", "npm:4.6.13"],\
|
["redis", "npm:4.6.13"],\
|
||||||
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
|
["simple-git", "npm:3.23.0"],\
|
||||||
["simple-git", "npm:3.22.0"],\
|
["systeminformation", "npm:5.22.3"],\
|
||||||
["systeminformation", "npm:5.22.0"],\
|
|
||||||
["typescript", "patch:typescript@npm%3A5.4.2#optional!builtin<compat/typescript>::version=5.4.2&hash=5adc0c"],\
|
["typescript", "patch:typescript@npm%3A5.4.2#optional!builtin<compat/typescript>::version=5.4.2&hash=5adc0c"],\
|
||||||
["undici", "npm:6.7.1"]\
|
["undici", "npm:6.9.0"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "SOFT"\
|
"linkType": "SOFT"\
|
||||||
}]\
|
}]\
|
||||||
@ -931,16 +1009,50 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["fast-xml-parser", [\
|
["fast-glob", [\
|
||||||
["npm:4.3.5", {\
|
["npm:3.3.2", {\
|
||||||
"packageLocation": "./.yarn/cache/fast-xml-parser-npm-4.3.5-3cd12e5b84-ccfd943e4e.zip/node_modules/fast-xml-parser/",\
|
"packageLocation": "./.yarn/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-222512e931.zip/node_modules/fast-glob/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["fast-xml-parser", "npm:4.3.5"],\
|
["fast-glob", "npm:3.3.2"],\
|
||||||
|
["@nodelib/fs.stat", "npm:2.0.5"],\
|
||||||
|
["@nodelib/fs.walk", "npm:1.2.8"],\
|
||||||
|
["glob-parent", "npm:5.1.2"],\
|
||||||
|
["merge2", "npm:1.4.1"],\
|
||||||
|
["micromatch", "npm:4.0.5"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["fast-xml-parser", [\
|
||||||
|
["npm:4.3.6", {\
|
||||||
|
"packageLocation": "./.yarn/cache/fast-xml-parser-npm-4.3.6-b71efbeb6c-3e431e5949.zip/node_modules/fast-xml-parser/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["fast-xml-parser", "npm:4.3.6"],\
|
||||||
["strnum", "npm:1.0.5"]\
|
["strnum", "npm:1.0.5"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["fastq", [\
|
||||||
|
["npm:1.17.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/fastq-npm-1.17.1-56d4554993-a443180068.zip/node_modules/fastq/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["fastq", "npm:1.17.1"],\
|
||||||
|
["reusify", "npm:1.0.4"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["fill-range", [\
|
||||||
|
["npm:7.0.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/fill-range-npm-7.0.1-b8b1817caa-e260f7592f.zip/node_modules/fill-range/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["fill-range", "npm:7.0.1"],\
|
||||||
|
["to-regex-range", "npm:5.0.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["fraction.js", [\
|
["fraction.js", [\
|
||||||
["npm:4.3.4", {\
|
["npm:4.3.4", {\
|
||||||
"packageLocation": "./.yarn/cache/fraction.js-npm-4.3.4-ce148a1f45-3a1e6b2680.zip/node_modules/fraction.js/",\
|
"packageLocation": "./.yarn/cache/fraction.js-npm-4.3.4-ce148a1f45-3a1e6b2680.zip/node_modules/fraction.js/",\
|
||||||
@ -959,11 +1071,49 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["inflection", [\
|
["glob-parent", [\
|
||||||
["npm:1.13.4", {\
|
["npm:5.1.2", {\
|
||||||
"packageLocation": "./.yarn/cache/inflection-npm-1.13.4-102169ecb5-a0cc1b105c.zip/node_modules/inflection/",\
|
"packageLocation": "./.yarn/cache/glob-parent-npm-5.1.2-021ab32634-32cd106ce8.zip/node_modules/glob-parent/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["inflection", "npm:1.13.4"]\
|
["glob-parent", "npm:5.1.2"],\
|
||||||
|
["is-glob", "npm:4.0.3"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["inflection", [\
|
||||||
|
["npm:3.0.0", {\
|
||||||
|
"packageLocation": "./.yarn/cache/inflection-npm-3.0.0-1581c4d576-e8aae6abb8.zip/node_modules/inflection/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["inflection", "npm:3.0.0"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["is-extglob", [\
|
||||||
|
["npm:2.1.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip/node_modules/is-extglob/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["is-extglob", "npm:2.1.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["is-glob", [\
|
||||||
|
["npm:4.0.3", {\
|
||||||
|
"packageLocation": "./.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip/node_modules/is-glob/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["is-glob", "npm:4.0.3"],\
|
||||||
|
["is-extglob", "npm:2.1.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["is-number", [\
|
||||||
|
["npm:7.0.0", {\
|
||||||
|
"packageLocation": "./.yarn/cache/is-number-npm-7.0.0-060086935c-6a6c3383f6.zip/node_modules/is-number/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["is-number", "npm:7.0.0"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
@ -1015,10 +1165,10 @@ const RAW_RUNTIME_STATE =
|
|||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["mathjs", [\
|
["mathjs", [\
|
||||||
["npm:12.4.0", {\
|
["npm:12.4.1", {\
|
||||||
"packageLocation": "./.yarn/cache/mathjs-npm-12.4.0-4e73cebf2f-ee168a7e4b.zip/node_modules/mathjs/",\
|
"packageLocation": "./.yarn/cache/mathjs-npm-12.4.1-ca45bb0559-171cdf4b6a.zip/node_modules/mathjs/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["mathjs", "npm:12.4.0"],\
|
["mathjs", "npm:12.4.1"],\
|
||||||
["@babel/runtime", "npm:7.24.0"],\
|
["@babel/runtime", "npm:7.24.0"],\
|
||||||
["complex.js", "npm:2.1.1"],\
|
["complex.js", "npm:2.1.1"],\
|
||||||
["decimal.js", "npm:10.4.3"],\
|
["decimal.js", "npm:10.4.3"],\
|
||||||
@ -1032,21 +1182,22 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["moment", [\
|
["merge2", [\
|
||||||
["npm:2.30.1", {\
|
["npm:1.4.1", {\
|
||||||
"packageLocation": "./.yarn/cache/moment-npm-2.30.1-1c51a5c631-ae42d876d4.zip/node_modules/moment/",\
|
"packageLocation": "./.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip/node_modules/merge2/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["moment", "npm:2.30.1"]\
|
["merge2", "npm:1.4.1"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["moment-timezone", [\
|
["micromatch", [\
|
||||||
["npm:0.5.45", {\
|
["npm:4.0.5", {\
|
||||||
"packageLocation": "./.yarn/cache/moment-timezone-npm-0.5.45-2df3ad72a4-45e3793d44.zip/node_modules/moment-timezone/",\
|
"packageLocation": "./.yarn/cache/micromatch-npm-4.0.5-cfab5d7669-a749888789.zip/node_modules/micromatch/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["moment-timezone", "npm:0.5.45"],\
|
["micromatch", "npm:4.0.5"],\
|
||||||
["moment", "npm:2.30.1"]\
|
["braces", "npm:3.0.2"],\
|
||||||
|
["picomatch", "npm:2.3.1"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
@ -1250,6 +1401,15 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["picomatch", [\
|
||||||
|
["npm:2.3.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip/node_modules/picomatch/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["picomatch", "npm:2.3.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["postgres-array", [\
|
["postgres-array", [\
|
||||||
["npm:2.0.0", {\
|
["npm:2.0.0", {\
|
||||||
"packageLocation": "./.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-aff99e7971.zip/node_modules/postgres-array/",\
|
"packageLocation": "./.yarn/cache/postgres-array-npm-2.0.0-4f49dc1389-aff99e7971.zip/node_modules/postgres-array/",\
|
||||||
@ -1325,6 +1485,15 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["queue-microtask", [\
|
||||||
|
["npm:1.2.3", {\
|
||||||
|
"packageLocation": "./.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip/node_modules/queue-microtask/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["queue-microtask", "npm:1.2.3"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["redis", [\
|
["redis", [\
|
||||||
["npm:4.6.13", {\
|
["npm:4.6.13", {\
|
||||||
"packageLocation": "./.yarn/cache/redis-npm-4.6.13-68c7e2be72-cc66182b8f.zip/node_modules/redis/",\
|
"packageLocation": "./.yarn/cache/redis-npm-4.6.13-68c7e2be72-cc66182b8f.zip/node_modules/redis/",\
|
||||||
@ -1358,6 +1527,25 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["reusify", [\
|
||||||
|
["npm:1.0.4", {\
|
||||||
|
"packageLocation": "./.yarn/cache/reusify-npm-1.0.4-95ac4aec11-14222c9e1d.zip/node_modules/reusify/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["reusify", "npm:1.0.4"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
|
["run-parallel", [\
|
||||||
|
["npm:1.2.0", {\
|
||||||
|
"packageLocation": "./.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip/node_modules/run-parallel/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["run-parallel", "npm:1.2.0"],\
|
||||||
|
["queue-microtask", "npm:1.2.3"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["seedrandom", [\
|
["seedrandom", [\
|
||||||
["npm:3.0.5", {\
|
["npm:3.0.5", {\
|
||||||
"packageLocation": "./.yarn/cache/seedrandom-npm-3.0.5-6946e8f8db-acad5e516c.zip/node_modules/seedrandom/",\
|
"packageLocation": "./.yarn/cache/seedrandom-npm-3.0.5-6946e8f8db-acad5e516c.zip/node_modules/seedrandom/",\
|
||||||
@ -1377,90 +1565,20 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["sequelize", [\
|
|
||||||
["npm:6.37.1", {\
|
|
||||||
"packageLocation": "./.yarn/cache/sequelize-npm-6.37.1-894f242817-05be9a1e67.zip/node_modules/sequelize/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["sequelize", "npm:6.37.1"]\
|
|
||||||
],\
|
|
||||||
"linkType": "SOFT"\
|
|
||||||
}],\
|
|
||||||
["virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1", {\
|
|
||||||
"packageLocation": "./.yarn/__virtual__/sequelize-virtual-cdd2f8787e/0/cache/sequelize-npm-6.37.1-894f242817-05be9a1e67.zip/node_modules/sequelize/",\
|
|
||||||
"packageDependencies": [\
|
|
||||||
["sequelize", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:6.37.1"],\
|
|
||||||
["@types/debug", "npm:4.1.12"],\
|
|
||||||
["@types/ibm_db", null],\
|
|
||||||
["@types/mariadb", null],\
|
|
||||||
["@types/mysql2", null],\
|
|
||||||
["@types/oracledb", null],\
|
|
||||||
["@types/pg", "npm:8.11.2"],\
|
|
||||||
["@types/pg-hstore", null],\
|
|
||||||
["@types/snowflake-sdk", null],\
|
|
||||||
["@types/sqlite3", null],\
|
|
||||||
["@types/tedious", null],\
|
|
||||||
["@types/validator", "npm:13.11.9"],\
|
|
||||||
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"],\
|
|
||||||
["dottie", "npm:2.0.6"],\
|
|
||||||
["ibm_db", null],\
|
|
||||||
["inflection", "npm:1.13.4"],\
|
|
||||||
["lodash", "npm:4.17.21"],\
|
|
||||||
["mariadb", null],\
|
|
||||||
["moment", "npm:2.30.1"],\
|
|
||||||
["moment-timezone", "npm:0.5.45"],\
|
|
||||||
["mysql2", null],\
|
|
||||||
["oracledb", null],\
|
|
||||||
["pg", "virtual:20c353e2d6536e37339997f03975c6a660f4d296e664d291bd43620c6162cca8eb5ef90b0998dc9db75ff6862e5da587d0530bae26805f5fadc8f17aaa4ff794#npm:8.11.3"],\
|
|
||||||
["pg-connection-string", "npm:2.6.2"],\
|
|
||||||
["pg-hstore", "npm:2.3.4"],\
|
|
||||||
["retry-as-promised", "npm:7.0.4"],\
|
|
||||||
["semver", "npm:7.6.0"],\
|
|
||||||
["sequelize-pool", "npm:7.1.0"],\
|
|
||||||
["snowflake-sdk", null],\
|
|
||||||
["sqlite3", null],\
|
|
||||||
["tedious", null],\
|
|
||||||
["toposort-class", "npm:1.0.1"],\
|
|
||||||
["uuid", "npm:8.3.2"],\
|
|
||||||
["validator", "npm:13.11.0"],\
|
|
||||||
["wkx", "npm:0.5.0"]\
|
|
||||||
],\
|
|
||||||
"packagePeers": [\
|
|
||||||
"@types/ibm_db",\
|
|
||||||
"@types/mariadb",\
|
|
||||||
"@types/mysql2",\
|
|
||||||
"@types/oracledb",\
|
|
||||||
"@types/pg-hstore",\
|
|
||||||
"@types/pg",\
|
|
||||||
"@types/snowflake-sdk",\
|
|
||||||
"@types/sqlite3",\
|
|
||||||
"@types/tedious",\
|
|
||||||
"ibm_db",\
|
|
||||||
"mariadb",\
|
|
||||||
"mysql2",\
|
|
||||||
"oracledb",\
|
|
||||||
"pg-hstore",\
|
|
||||||
"pg",\
|
|
||||||
"snowflake-sdk",\
|
|
||||||
"sqlite3",\
|
|
||||||
"tedious"\
|
|
||||||
],\
|
|
||||||
"linkType": "HARD"\
|
|
||||||
}]\
|
|
||||||
]],\
|
|
||||||
["sequelize-pool", [\
|
["sequelize-pool", [\
|
||||||
["npm:7.1.0", {\
|
["npm:8.0.0", {\
|
||||||
"packageLocation": "./.yarn/cache/sequelize-pool-npm-7.1.0-670df81ecb-eeb0837451.zip/node_modules/sequelize-pool/",\
|
"packageLocation": "./.yarn/cache/sequelize-pool-npm-8.0.0-e96de3b702-c449ec2f34.zip/node_modules/sequelize-pool/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["sequelize-pool", "npm:7.1.0"]\
|
["sequelize-pool", "npm:8.0.0"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["simple-git", [\
|
["simple-git", [\
|
||||||
["npm:3.22.0", {\
|
["npm:3.23.0", {\
|
||||||
"packageLocation": "./.yarn/cache/simple-git-npm-3.22.0-42ea3caec2-309e7f0b73.zip/node_modules/simple-git/",\
|
"packageLocation": "./.yarn/cache/simple-git-npm-3.23.0-a7d8879afb-08ddfcbc31.zip/node_modules/simple-git/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["simple-git", "npm:3.22.0"],\
|
["simple-git", "npm:3.23.0"],\
|
||||||
["@kwsites/file-exists", "npm:1.1.1"],\
|
["@kwsites/file-exists", "npm:1.1.1"],\
|
||||||
["@kwsites/promise-deferred", "npm:1.1.1"],\
|
["@kwsites/promise-deferred", "npm:1.1.1"],\
|
||||||
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"]\
|
["debug", "virtual:8dde907e274d6cda4b3be6cd808e5a16421eab0e2ce2f6110b97323dbadda969b2dab36e690fd106d5bd3c87e0525cade2b2ba6fb4fb0c0e439212e4cf5c851b#npm:4.3.4"]\
|
||||||
@ -1487,10 +1605,10 @@ const RAW_RUNTIME_STATE =
|
|||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["systeminformation", [\
|
["systeminformation", [\
|
||||||
["npm:5.22.0", {\
|
["npm:5.22.3", {\
|
||||||
"packageLocation": "./.yarn/unplugged/systeminformation-npm-5.22.0-ae815bb44c/node_modules/systeminformation/",\
|
"packageLocation": "./.yarn/unplugged/systeminformation-npm-5.22.3-b08524e9a7/node_modules/systeminformation/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["systeminformation", "npm:5.22.0"]\
|
["systeminformation", "npm:5.22.3"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
@ -1504,6 +1622,16 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["to-regex-range", [\
|
||||||
|
["npm:5.0.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-10dda13571.zip/node_modules/to-regex-range/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["to-regex-range", "npm:5.0.1"],\
|
||||||
|
["is-number", "npm:7.0.0"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["toposort-class", [\
|
["toposort-class", [\
|
||||||
["npm:1.0.1", {\
|
["npm:1.0.1", {\
|
||||||
"packageLocation": "./.yarn/cache/toposort-class-npm-1.0.1-aefabde69e-166cb89ecb.zip/node_modules/toposort-class/",\
|
"packageLocation": "./.yarn/cache/toposort-class-npm-1.0.1-aefabde69e-166cb89ecb.zip/node_modules/toposort-class/",\
|
||||||
@ -1531,6 +1659,15 @@ const RAW_RUNTIME_STATE =
|
|||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
|
["type-fest", [\
|
||||||
|
["npm:3.13.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/type-fest-npm-3.13.1-4bd562882d-9a8a2359ad.zip/node_modules/type-fest/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["type-fest", "npm:3.13.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
|
}]\
|
||||||
|
]],\
|
||||||
["typed-function", [\
|
["typed-function", [\
|
||||||
["npm:4.1.1", {\
|
["npm:4.1.1", {\
|
||||||
"packageLocation": "./.yarn/cache/typed-function-npm-4.1.1-d09696d7f2-0ef538d5f0.zip/node_modules/typed-function/",\
|
"packageLocation": "./.yarn/cache/typed-function-npm-4.1.1-d09696d7f2-0ef538d5f0.zip/node_modules/typed-function/",\
|
||||||
@ -1575,10 +1712,10 @@ const RAW_RUNTIME_STATE =
|
|||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}],\
|
}],\
|
||||||
["npm:6.7.1", {\
|
["npm:6.9.0", {\
|
||||||
"packageLocation": "./.yarn/cache/undici-npm-6.7.1-cc741edc29-7e66eb7fb6.zip/node_modules/undici/",\
|
"packageLocation": "./.yarn/cache/undici-npm-6.9.0-9cc1c4dd88-ee22751758.zip/node_modules/undici/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["undici", "npm:6.7.1"]\
|
["undici", "npm:6.9.0"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
@ -1608,6 +1745,13 @@ const RAW_RUNTIME_STATE =
|
|||||||
["uuid", "npm:8.3.2"]\
|
["uuid", "npm:8.3.2"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
|
}],\
|
||||||
|
["npm:9.0.1", {\
|
||||||
|
"packageLocation": "./.yarn/cache/uuid-npm-9.0.1-39a8442bc6-9d0b6adb72.zip/node_modules/uuid/",\
|
||||||
|
"packageDependencies": [\
|
||||||
|
["uuid", "npm:9.0.1"]\
|
||||||
|
],\
|
||||||
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
]],\
|
]],\
|
||||||
["validator", [\
|
["validator", [\
|
||||||
@ -1624,7 +1768,7 @@ const RAW_RUNTIME_STATE =
|
|||||||
"packageLocation": "./.yarn/cache/wkx-npm-0.5.0-fca5152cd8-b8975e33f9.zip/node_modules/wkx/",\
|
"packageLocation": "./.yarn/cache/wkx-npm-0.5.0-fca5152cd8-b8975e33f9.zip/node_modules/wkx/",\
|
||||||
"packageDependencies": [\
|
"packageDependencies": [\
|
||||||
["wkx", "npm:0.5.0"],\
|
["wkx", "npm:0.5.0"],\
|
||||||
["@types/node", "npm:20.11.25"]\
|
["@types/node", "npm:20.11.28"]\
|
||||||
],\
|
],\
|
||||||
"linkType": "HARD"\
|
"linkType": "HARD"\
|
||||||
}]\
|
}]\
|
||||||
|
16
package.json
16
package.json
@ -29,28 +29,28 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@napi-rs/canvas": "0.1.51",
|
"@napi-rs/canvas": "0.1.51",
|
||||||
"@octokit/rest": "20.0.2",
|
"@octokit/rest": "20.0.2",
|
||||||
|
"@sequelize/core": "7.0.0-alpha.37",
|
||||||
"@toast/tokenservice-client": "1.0.16",
|
"@toast/tokenservice-client": "1.0.16",
|
||||||
"ansi-colors": "4.1.3",
|
"ansi-colors": "4.1.3",
|
||||||
"dayjs": "1.11.10",
|
"dayjs": "1.11.10",
|
||||||
"discord.js": "14.14.1",
|
"discord.js": "14.14.1",
|
||||||
"fast-xml-parser": "4.3.5",
|
"fast-xml-parser": "4.3.6",
|
||||||
"mathjs": "12.4.0",
|
"mathjs": "12.4.1",
|
||||||
"ms": "2.1.3",
|
"ms": "2.1.3",
|
||||||
"node-cron": "3.0.3",
|
"node-cron": "3.0.3",
|
||||||
"pg": "8.11.3",
|
"pg": "8.11.3",
|
||||||
"pg-hstore": "2.3.4",
|
"pg-hstore": "2.3.4",
|
||||||
|
"postgres-array": "3.0.2",
|
||||||
"redis": "4.6.13",
|
"redis": "4.6.13",
|
||||||
"sequelize": "6.37.1",
|
"simple-git": "3.23.0",
|
||||||
"simple-git": "3.22.0",
|
"systeminformation": "5.22.3",
|
||||||
"systeminformation": "5.22.0",
|
"undici": "6.9.0"
|
||||||
"undici": "6.7.1"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/ms": "0.7.34",
|
"@types/ms": "0.7.34",
|
||||||
"@types/node": "20.11.25",
|
"@types/node": "20.11.28",
|
||||||
"@types/node-cron": "3.0.11",
|
"@types/node-cron": "3.0.11",
|
||||||
"@types/pg": "8.11.2",
|
"@types/pg": "8.11.2",
|
||||||
"@types/sequelize": "4.28.20",
|
|
||||||
"typescript": "5.4.2"
|
"typescript": "5.4.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -25,16 +25,16 @@ export default class Case {
|
|||||||
update: async()=>{
|
update: async()=>{
|
||||||
const reason = interaction.options.getString('reason');
|
const reason = interaction.options.getString('reason');
|
||||||
await client.punishments.updateReason(caseId, reason);
|
await client.punishments.updateReason(caseId, reason);
|
||||||
if (client.punishments.findCase(caseId)) {
|
if (client.punishments.findCaseOrCancels('case_id', caseId)) {
|
||||||
await this.updateEntry(client, caseId, reason);
|
await this.updateEntry(client, caseId, reason);
|
||||||
await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorGreen).setTitle('Case updated').setDescription(`Case #${caseId} has been successfully updated with new reason:\n\`${reason}\``)]});
|
await interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorGreen).setTitle('Case updated').setDescription(`Case #${caseId} has been successfully updated with new reason:\n\`${reason}\``)]});
|
||||||
} else interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorRed).setTitle('Case not updated').setDescription(`Case #${caseId} is not found in database, not updating the reason.`)]});
|
} else interaction.reply({embeds: [new client.embed().setColor(client.config.embedColorRed).setTitle('Case not updated').setDescription(`Case #${caseId} is not found in database, not updating the reason.`)]});
|
||||||
},
|
},
|
||||||
view: async()=>{
|
view: async()=>{
|
||||||
const punishment = await client.punishments.findCase(caseId);
|
const punishment = await client.punishments.findCaseOrCancels('case_id', caseId);
|
||||||
if (!punishment) return interaction.reply('Case ID is not found in database.');
|
if (!punishment) return interaction.reply('Case ID is not found in database.');
|
||||||
const cancelledBy = punishment.dataValues.expired ? await client.punishments.findByCancels(punishment.dataValues.case_id) : null;
|
const cancelledBy = punishment.dataValues.expired ? await client.punishments.findCaseOrCancels('cancels', punishment.dataValues.case_id) : null;
|
||||||
const cancels = punishment.dataValues.cancels ? await client.punishments.findCase(punishment.dataValues.cancels) : null;
|
const cancels = punishment.dataValues.cancels ? await client.punishments.findCaseOrCancels('case_id', punishment.dataValues.cancels) : null;
|
||||||
const embed = new client.embed().setColor(client.config.embedColor).setTimestamp(Number(punishment.dataValues.time)).setTitle(`${punishment.dataValues.type[0].toUpperCase()+punishment.dataValues.type.slice(1)} | Case #${punishment.dataValues.case_id}`).addFields(
|
const embed = new client.embed().setColor(client.config.embedColor).setTimestamp(Number(punishment.dataValues.time)).setTitle(`${punishment.dataValues.type[0].toUpperCase()+punishment.dataValues.type.slice(1)} | Case #${punishment.dataValues.case_id}`).addFields(
|
||||||
{name: 'User', value: `${punishment.member_name}\n${MessageTool.formatMention(punishment.dataValues.member, 'user')}\n\`${punishment.dataValues.member}\``, inline: true},
|
{name: 'User', value: `${punishment.member_name}\n${MessageTool.formatMention(punishment.dataValues.member, 'user')}\n\`${punishment.dataValues.member}\``, inline: true},
|
||||||
{name: 'Moderator', value: `${client.users.resolve(punishment.moderator).tag}\n${MessageTool.formatMention(punishment.dataValues.moderator, 'user')}\n\`${punishment.dataValues.moderator}\``, inline: true},
|
{name: 'Moderator', value: `${client.users.resolve(punishment.moderator).tag}\n${MessageTool.formatMention(punishment.dataValues.moderator, 'user')}\n\`${punishment.dataValues.moderator}\``, inline: true},
|
||||||
|
@ -5,7 +5,7 @@ import MessageTool from '../helpers/MessageTool.js';
|
|||||||
export default class Unpunish {
|
export default class Unpunish {
|
||||||
static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
|
static async run(client: TClient, interaction: Discord.ChatInputCommandInteraction<'cached'>){
|
||||||
if (!MessageTool.isModerator(interaction.member as Discord.GuildMember)) return MessageTool.youNeedRole(interaction, 'dcmod');
|
if (!MessageTool.isModerator(interaction.member as Discord.GuildMember)) return MessageTool.youNeedRole(interaction, 'dcmod');
|
||||||
const punishment = await client.punishments.findCase(interaction.options.getInteger('case_id', true));
|
const punishment = await client.punishments.findCaseOrCancels('case_id', interaction.options.getInteger('case_id', true));
|
||||||
if (!punishment) return interaction.reply({content: 'Case ID is not found in database.', ephemeral: true});
|
if (!punishment) return interaction.reply({content: 'Case ID is not found in database.', ephemeral: true});
|
||||||
if (['unban', 'unmute', 'punishmentOverride'].includes(punishment.dataValues.type)) return interaction.reply({content: 'This case ID is immutable. (Informative case)', ephemeral: true});
|
if (['unban', 'unmute', 'punishmentOverride'].includes(punishment.dataValues.type)) return interaction.reply({content: 'This case ID is immutable. (Informative case)', ephemeral: true});
|
||||||
if (punishment.dataValues.expired) return interaction.reply({content: 'This case ID is already expired.', ephemeral: true});
|
if (punishment.dataValues.expired) return interaction.reply({content: 'This case ID is already expired.', ephemeral: true});
|
||||||
|
@ -29,6 +29,7 @@ export default class CacheServer {
|
|||||||
if (jsonMode) return await RedisClient.json.set(key, '.', value);
|
if (jsonMode) return await RedisClient.json.set(key, '.', value);
|
||||||
else return await RedisClient.set(key, JSON.stringify(value));
|
else return await RedisClient.set(key, JSON.stringify(value));
|
||||||
}
|
}
|
||||||
|
/** @param time Cache expiration in seconds */
|
||||||
public static expiry = async(key:any, time:number)=>await RedisClient.expire(key, time); // NOTE: time is in seconds, not milliseconds -- you know what you did wrong
|
public static expiry = async(key:any, time:number)=>await RedisClient.expire(key, time); // NOTE: time is in seconds, not milliseconds -- you know what you did wrong
|
||||||
public static delete = async(key:any)=>await RedisClient.del(key);
|
public static delete = async(key:any)=>await RedisClient.del(key);
|
||||||
public static init() {
|
public static init() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import {Sequelize} from 'sequelize';
|
import {Sequelize} from '@sequelize/core';
|
||||||
import Logger from '../helpers/Logger.js';
|
import Logger from '../helpers/Logger.js';
|
||||||
import TSClient from '../helpers/TSClient.js';
|
import TSClient from '../helpers/TSClient.js';
|
||||||
|
|
||||||
|
@ -2,6 +2,7 @@ import Discord from 'discord.js';
|
|||||||
import TClient from '../client.js';
|
import TClient from '../client.js';
|
||||||
import Logger from '../helpers/Logger.js';
|
import Logger from '../helpers/Logger.js';
|
||||||
import MessageTool from '../helpers/MessageTool.js';
|
import MessageTool from '../helpers/MessageTool.js';
|
||||||
|
import CacheServer from '../components/CacheServer.js';
|
||||||
const logPrefix = 'Interaction';
|
const logPrefix = 'Interaction';
|
||||||
export default class InteractionCreate {
|
export default class InteractionCreate {
|
||||||
static async run(client:TClient, interaction:Discord.BaseInteraction){
|
static async run(client:TClient, interaction:Discord.BaseInteraction){
|
||||||
@ -41,17 +42,24 @@ export default class InteractionCreate {
|
|||||||
return console.log('An error occurred while running autocomplete:\n', error)
|
return console.log('An error occurred while running autocomplete:\n', error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
static handleButton(client:TClient, interaction:Discord.ButtonInteraction<'cached'>) {
|
static async handleButton(client:TClient, interaction:Discord.ButtonInteraction<'cached'>) {
|
||||||
|
const time = Date.now();
|
||||||
if (interaction.customId.startsWith('reaction-') && client.config.botSwitches.buttonRoles){
|
if (interaction.customId.startsWith('reaction-') && client.config.botSwitches.buttonRoles){
|
||||||
const RoleID = interaction.customId.replace('reaction-','');
|
const RoleID = interaction.customId.replace('reaction-','');
|
||||||
|
|
||||||
|
let key = `${interaction.user.id}:role_room`;
|
||||||
|
const isRatelimited = await CacheServer.get(key, false);
|
||||||
|
const timeDiff = time - isRatelimited;
|
||||||
|
if (timeDiff < 5000) return interaction.reply({content: 'You are on **__cooldown__**, please avoid spam-clicking next time.\n\n*This system is put in place due to selfbots.. I\'m sorry!*', ephemeral: true});
|
||||||
|
|
||||||
const MFFarm1 = '1149139369433776269';
|
const MFFarm1 = '1149139369433776269';
|
||||||
const MFFarm2 = '1149139583729160325';
|
const MFFarm2 = '1149139583729160325';
|
||||||
|
|
||||||
if (interaction.member.roles.cache.has(RoleID)) interaction.member.roles.remove(RoleID, 'Button Role').then(()=>interaction.reply({content: `You have been removed from <@&${RoleID}>`, ephemeral: true}));
|
if (interaction.member.roles.cache.has(RoleID)) interaction.member.roles.remove(RoleID, 'Button Role').then(()=>interaction.reply({content: `You have been removed from <@&${RoleID}>`, ephemeral: true}));
|
||||||
else interaction.member.roles.add(RoleID, 'Button Role').then(()=>{
|
else interaction.member.roles.add(RoleID, 'Button Role').then(async()=>{
|
||||||
this.roleConflictHandler(interaction, MFFarm1, MFFarm2, RoleID);
|
this.roleConflictHandler(interaction, MFFarm1, MFFarm2, RoleID);
|
||||||
interaction.reply({content: `You have been added to <@&${RoleID}>`, ephemeral: true, fetchReply: true})
|
await interaction.reply({content: `You have been added to <@&${RoleID}>`, ephemeral: true, fetchReply: true});
|
||||||
|
CacheServer.set(key, time, false).then(()=>CacheServer.expiry(key, 10));
|
||||||
});
|
});
|
||||||
} else if (interaction.customId.includes('deleteEvalEmbed')) {
|
} else if (interaction.customId.includes('deleteEvalEmbed')) {
|
||||||
if (!client.config.whitelist.includes(interaction.user.id)) return interaction.reply({content: 'You are not whitelisted, therefore you cannot delete this message.', ephemeral: true});
|
if (!client.config.whitelist.includes(interaction.user.id)) return interaction.reply({content: 'You are not whitelisted, therefore you cannot delete this message.', ephemeral: true});
|
||||||
|
@ -66,7 +66,10 @@ setInterval(async()=>{
|
|||||||
if (!dailyMsgs.find(x=>x.dataValues.day === formattedDate)) {
|
if (!dailyMsgs.find(x=>x.dataValues.day === formattedDate)) {
|
||||||
let total = (await client.userLevels.fetchEveryone()).reduce((a,b)=>a + b.messages, 0); // Sum of all users
|
let total = (await client.userLevels.fetchEveryone()).reduce((a,b)=>a + b.messages, 0); // Sum of all users
|
||||||
const yesterday = dailyMsgs.find(x=>x.day === formattedDate - 1)
|
const yesterday = dailyMsgs.find(x=>x.day === formattedDate - 1)
|
||||||
if (total < yesterday?.total) total = yesterday.total; // Messages went down.
|
if (yesterday && total < yesterday.total) Logger.console('log', 'DailyMsgs', `Total messages for day ${formattedDate} is less than total messages for day ${formattedDate - 1}.`);
|
||||||
|
// Update total if it's the same as yesterday's total
|
||||||
|
if (yesterday && total === yesterday.total) total = (await client.userLevels.fetchEveryone()).reduce((a,b)=>a + b.messages, 0); // Recalculate total
|
||||||
|
|
||||||
await client.dailyMsgs.newDay(formattedDate, total);
|
await client.dailyMsgs.newDay(formattedDate, total);
|
||||||
Logger.console('log', 'DailyMsgs', `Pushed [${formattedDate}, ${total}]`)
|
Logger.console('log', 'DailyMsgs', `Pushed [${formattedDate}, ${total}]`)
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
import CacheServer from '../components/CacheServer.js';
|
import CacheServer from '../components/CacheServer.js';
|
||||||
|
|
||||||
class MPServer extends Model {
|
class MPServer extends Model {
|
||||||
@ -57,58 +57,45 @@ export class MPServerSvc {
|
|||||||
}
|
}
|
||||||
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
||||||
async fetchPlayerData(serverName:string) {
|
async fetchPlayerData(serverName:string) {
|
||||||
const findServerByName = await this.model.findOne({where: {serverName: serverName}});
|
const server = await this.model.findOne({where: {serverName: serverName}});
|
||||||
if (findServerByName) return findServerByName.dataValues.playerData;
|
return server ? server.dataValues.playerData : [];
|
||||||
else return [];
|
|
||||||
}
|
}
|
||||||
async addServer(serverName:string, ip:string, code:string) {
|
async addServer(serverName:string, ip:string, code:string) {
|
||||||
const findServerByName = await this.model.findOne({where: {serverName: serverName}});
|
await this.model.upsert({
|
||||||
if (findServerByName) {
|
serverName,
|
||||||
(await findServerByName.update({serverName: serverName, ip: ip, code: code})).save();
|
isActive: true,
|
||||||
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
ip,
|
||||||
} else {
|
code,
|
||||||
await this.model.create({
|
playerData: []
|
||||||
serverName: serverName,
|
});
|
||||||
isActive: true,
|
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
||||||
ip: ip,
|
|
||||||
code: code,
|
|
||||||
playerData: []
|
|
||||||
});
|
|
||||||
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
async removeServer(serverName:string) {
|
async removeServer(serverName:string) {
|
||||||
const findServerByName = await this.model.findOne({where: {serverName: serverName}});
|
await this.model.destroy({where: {serverName}});
|
||||||
if (findServerByName) {
|
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
||||||
await this.model.destroy({where: {serverName: serverName}});
|
|
||||||
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
async toggleServerUsability(serverName:string, isActive:boolean) {
|
async toggleServerUsability(serverName:string, isActive:boolean) {
|
||||||
const findServerByName = await this.model.findOne({where: {serverName: serverName}});
|
const [updated] = await this.model.update({isActive}, {where: {serverName}});
|
||||||
if (findServerByName) {
|
if (updated) {
|
||||||
this.model.update({isActive: isActive}, {where: {serverName: serverName}}).then(async flagUpdated=>{
|
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
||||||
if (flagUpdated) {
|
return true;
|
||||||
await CacheServer.delete(cacheKey).then(async()=>await this.findInCache());
|
}
|
||||||
return true;
|
return false;
|
||||||
}
|
|
||||||
});
|
|
||||||
} else return false;
|
|
||||||
}
|
}
|
||||||
async incrementPlayerCount(serverName:string, playerCount:number) {
|
async incrementPlayerCount(serverName:string, playerCount:number) {
|
||||||
const findServerByName = await this.model.findOne({where: {serverName: serverName}});
|
const server = await this.model.findOne({where: {serverName}});
|
||||||
if (findServerByName) {
|
if (server) {
|
||||||
let PD = findServerByName.dataValues.playerData;
|
let PD = server.dataValues.playerData;
|
||||||
if (PD.length > 1920) PD = []; //Selfnote: 86400/45 = 1920, where 86400 is seconds in a day and 45 is the MPModule's refresh interval.
|
if (PD.length > 1920) PD = []; //Selfnote: 86400/45 = 1920, where 86400 is seconds in a day and 45 is the MPModule's refresh interval.
|
||||||
PD.push(playerCount);
|
PD.push(playerCount);
|
||||||
const updatePD = await this.model.update({playerData: PD}, {where: {serverName: serverName}});
|
await this.model.update({playerData: PD}, {where: {serverName}});
|
||||||
if (updatePD) true;
|
return true;
|
||||||
else return false;
|
}
|
||||||
} else return false;
|
return false;
|
||||||
}
|
}
|
||||||
async findInCache(): Promise<IServer[]> {
|
async findInCache(): Promise<IServer[]> {
|
||||||
const cachedResult = await CacheServer.get(cacheKey, true);
|
const cachedResult = await CacheServer.get(cacheKey, true);
|
||||||
let result;
|
let result:IServer[];
|
||||||
if (cachedResult) result = cachedResult;
|
if (cachedResult) result = cachedResult;
|
||||||
else {
|
else {
|
||||||
result = await this.model.findAll();
|
result = await this.model.findAll();
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
|
import Logger from '../helpers/Logger.js';
|
||||||
|
|
||||||
class dailyMsgs extends Model {
|
class dailyMsgs extends Model {
|
||||||
declare public day: number;
|
declare public day: number;
|
||||||
@ -26,18 +27,20 @@ export class DailyMsgsSvc {
|
|||||||
tableName: 'dailymsgs',
|
tableName: 'dailymsgs',
|
||||||
createdAt: false,
|
createdAt: false,
|
||||||
updatedAt: false,
|
updatedAt: false,
|
||||||
|
indexes: [
|
||||||
|
{name: 'day_index', fields: ['day'], unique: true}
|
||||||
|
],
|
||||||
sequelize: DatabaseServer.seq
|
sequelize: DatabaseServer.seq
|
||||||
})
|
})
|
||||||
this.model.sync();
|
this.model.sync();
|
||||||
}
|
}
|
||||||
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
||||||
nukeDays = async()=>await this.model.destroy({truncate: true});
|
nukeDays = async()=>await this.model.destroy();
|
||||||
fetchDays = async()=>await this.model.findAll();
|
fetchDays = async()=>await this.model.findAll();
|
||||||
async newDay(formattedDate:number, total:number) {
|
async newDay(formattedDate:number, total:number) {
|
||||||
if (await this.model.findOne({where: {day: formattedDate}})) return console.log('This day already exists!')
|
const [instance, created] = await this.model.findOrCreate({where: {day: formattedDate}, defaults: {total}});
|
||||||
return await this.model.create({day: formattedDate, total: total});
|
if (!created) return Logger.console('log', 'DailyMsgs', 'This day already exists!');
|
||||||
|
return instance
|
||||||
// Save previous day's total messages into database when a new day starts.
|
// Save previous day's total messages into database when a new day starts.
|
||||||
}
|
}
|
||||||
updateDay = async(formattedDate:number, total:number)=>await this.model.update({total: total}, {where: {day: formattedDate}});
|
|
||||||
// THIS IS FOR DEVELOPMENT PURPOSES ONLY, NOT TO BE USED IN LIVE ENVIRONMENT!
|
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
|
|
||||||
class prohibitedWords extends Model {
|
class prohibitedWords extends Model {
|
||||||
declare public word: string;
|
declare public word: string;
|
||||||
|
@ -1,12 +1,24 @@
|
|||||||
import Discord from 'discord.js';
|
import Discord from 'discord.js';
|
||||||
import TClient from '../client.js';
|
import TClient from '../client.js';
|
||||||
import ms from 'ms';
|
import ms from 'ms';
|
||||||
|
import Logger from '../helpers/Logger.js';
|
||||||
import {Punishment} from 'src/interfaces';
|
import {Punishment} from 'src/interfaces';
|
||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
import CacheServer from '../components/CacheServer.js';
|
import CacheServer from '../components/CacheServer.js';
|
||||||
import Formatters from '../helpers/Formatters.js';
|
import Formatters from '../helpers/Formatters.js';
|
||||||
|
|
||||||
|
const PAST_TENSE_MAPPING = {
|
||||||
|
ban: 'banned',
|
||||||
|
softban: 'softbanned',
|
||||||
|
kick: 'kicked',
|
||||||
|
mute: 'muted',
|
||||||
|
warn: 'warned',
|
||||||
|
remind: 'reminded'
|
||||||
|
};
|
||||||
|
|
||||||
|
const TRANSACTION_FAILED = 'An error occurred while updating the database. See console for more details.';
|
||||||
|
|
||||||
class punishments extends Model {
|
class punishments extends Model {
|
||||||
declare public case_id: number;
|
declare public case_id: number;
|
||||||
declare public type: string;
|
declare public type: string;
|
||||||
@ -84,20 +96,20 @@ export class PunishmentsSvc {
|
|||||||
}
|
}
|
||||||
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
||||||
async updateReason(caseId:number, reason:string) {
|
async updateReason(caseId:number, reason:string) {
|
||||||
const findCase = this.findCase(caseId);
|
const findCase = this.findCaseOrCancels('case_id', caseId);
|
||||||
if (findCase) return this.model.update({reason: reason}, {where: {case_id: caseId}});
|
if (findCase) return this.model.update({reason}, {where: {case_id: caseId}});
|
||||||
}
|
}
|
||||||
findCase =(caseId:number)=>this.model.findOne({where: {case_id: caseId}});
|
findCaseOrCancels = (column:'case_id'|'cancels', id:number)=>this.model.findOne({where: {[column]: id}});
|
||||||
findByCancels =(caseId:number)=>this.model.findOne({where: {cancels: caseId}})
|
|
||||||
getAllCases =()=>this.model.findAll();
|
getAllCases =()=>this.model.findAll();
|
||||||
async generateCaseId() {
|
async generateCaseId() {
|
||||||
const result = await this.model.findAll();
|
const result = await this.model.max('case_id');
|
||||||
return Math.max(...result.map((x:Punishment)=>x.case_id), 0) + 1;
|
if (typeof result === 'number') return result + 1;
|
||||||
|
else return 0;
|
||||||
}
|
}
|
||||||
async findInCache():Promise<any> {
|
async findInCache():Promise<Punishment[]> {
|
||||||
const cacheKey = 'punishments';
|
const cacheKey = 'punishments';
|
||||||
const cachedResult = await CacheServer.get(cacheKey, true);
|
const cachedResult = await CacheServer.get(cacheKey, true);
|
||||||
let result:any;
|
let result:Punishment[];
|
||||||
if (cachedResult) result = cachedResult;
|
if (cachedResult) result = cachedResult;
|
||||||
else {
|
else {
|
||||||
result = await this.model.findAll();
|
result = await this.model.findAll();
|
||||||
@ -132,16 +144,7 @@ export class PunishmentsSvc {
|
|||||||
}
|
}
|
||||||
(this.client.channels.cache.get(channel) as Discord.TextChannel).send({embeds: [embed]});
|
(this.client.channels.cache.get(channel) as Discord.TextChannel).send({embeds: [embed]});
|
||||||
}
|
}
|
||||||
getPastTense(type:string) {
|
getPastTense =(type:string)=>PAST_TENSE_MAPPING[type];
|
||||||
return {
|
|
||||||
ban: 'banned',
|
|
||||||
softban: 'softbanned',
|
|
||||||
kick: 'kicked',
|
|
||||||
mute: 'muted',
|
|
||||||
warn: 'warned',
|
|
||||||
remind: 'reminded'
|
|
||||||
}[type];
|
|
||||||
}
|
|
||||||
async punishmentAdd(type:string, options:{time?:string, interaction?:Discord.ChatInputCommandInteraction}, moderator:string, reason: string, user:Discord.User, guildUser?:Discord.GuildMember) {
|
async punishmentAdd(type:string, options:{time?:string, interaction?:Discord.ChatInputCommandInteraction}, moderator:string, reason: string, user:Discord.User, guildUser?:Discord.GuildMember) {
|
||||||
const {time, interaction} = options;
|
const {time, interaction} = options;
|
||||||
const now = Date.now();
|
const now = Date.now();
|
||||||
@ -165,14 +168,22 @@ export class PunishmentsSvc {
|
|||||||
|
|
||||||
if (guildUser) await guildUser.send(`You've been ${this.getPastTense(type)} ${inOrFromBoolean} **${guild.name}**${durText}\n\`${reason}\` (Case #${punishment.case_id})`).catch(()=>embed.setFooter({text: 'Unable to DM a member'}));
|
if (guildUser) await guildUser.send(`You've been ${this.getPastTense(type)} ${inOrFromBoolean} **${guild.name}**${durText}\n\`${reason}\` (Case #${punishment.case_id})`).catch(()=>embed.setFooter({text: 'Unable to DM a member'}));
|
||||||
|
|
||||||
if (['ban', 'softban'].includes(type)) {
|
switch (type) {
|
||||||
const alreadyBanned = await guild.bans.fetch(user.id).catch(()=>null); // 172800 seconds is 48 hours, just for future reference
|
case 'ban':
|
||||||
if (!alreadyBanned) punishmentResult = await guild.bans.create(user.id, {reason: auditLogReason, deleteMessageSeconds: 172800}).catch((err:Error)=>err.message);
|
case 'softban': {
|
||||||
else punishmentResult = `This user already exists in the guild\'s ban list.\nReason: \`${alreadyBanned?.reason}\``;
|
const alreadyBanned = await guild.bans.fetch(user.id).catch(()=>null); // 172800 seconds is 48 hours, just for future reference
|
||||||
} else if (type === 'kick') punishmentResult = await guildUser?.kick(auditLogReason).catch((err:Error)=>err.message);
|
if (alreadyBanned) punishmentResult = `This user already exists in the guild\'s ban list.\nReason: \`${alreadyBanned?.reason}\``;
|
||||||
else if (type === 'mute') punishmentResult = await guildUser?.timeout(millisecondTime, auditLogReason).catch((err:Error)=>err.message);
|
else punishmentResult = await guild.bans.create(user.id, {reason: auditLogReason, deleteMessageSeconds: 172800}).catch((err:Error)=>err.message);
|
||||||
|
if (type === 'softban' && typeof punishmentResult !== 'string') punishmentResult = await guild.bans.remove(user.id, auditLogReason).catch((err:Error)=>err.message);
|
||||||
if (type === 'softban' && typeof punishmentResult !== 'string') punishmentResult = await guild.bans.remove(user.id, auditLogReason).catch((err:Error)=>err.message);
|
break;
|
||||||
|
}
|
||||||
|
case 'kick':
|
||||||
|
punishmentResult = await guildUser?.kick(auditLogReason).catch((err:Error)=>err.message);
|
||||||
|
break;
|
||||||
|
case 'mute':
|
||||||
|
punishmentResult = await guildUser?.timeout(millisecondTime, auditLogReason).catch((err:Error)=>err.message);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (millisecondTime && ['ban', 'mute'].includes(type)) {
|
if (millisecondTime && ['ban', 'mute'].includes(type)) {
|
||||||
punishment.endTime = now + millisecondTime;
|
punishment.endTime = now + millisecondTime;
|
||||||
@ -183,22 +194,28 @@ export class PunishmentsSvc {
|
|||||||
if (interaction) return interaction.editReply(punishmentResult);
|
if (interaction) return interaction.editReply(punishmentResult);
|
||||||
else return punishmentResult;
|
else return punishmentResult;
|
||||||
} else {
|
} else {
|
||||||
const checkIfExists = await this.model.findOne({where: {case_id: punishment.case_id}});
|
try { // https://sequelize.org/docs/v7/querying/transactions/
|
||||||
if (checkIfExists) this.model.update({expired: punishment.expired, time: punishment.time, endTime: punishment.endTime}, {where: {case_id: punishment.case_id}})
|
await this.model.sequelize.transaction(async transaction=>{
|
||||||
else await this.model.create({
|
await this.model.upsert({
|
||||||
case_id: punishment.case_id,
|
case_id: punishment.case_id,
|
||||||
type: punishment.type,
|
type: punishment.type,
|
||||||
member_name: punishment.member_name,
|
member_name: punishment.member_name,
|
||||||
member: punishment.member,
|
member: punishment.member,
|
||||||
moderator: punishment.moderator,
|
moderator: punishment.moderator,
|
||||||
expired: punishment.expired,
|
expired: punishment.expired,
|
||||||
time: punishment.time,
|
time: punishment.time,
|
||||||
reason: punishment.reason,
|
reason: punishment.reason,
|
||||||
endTime: punishment.endTime,
|
endTime: punishment.endTime,
|
||||||
cancels: punishment.cancels,
|
cancels: punishment.cancels,
|
||||||
duration: punishment.duration
|
duration: punishment.duration
|
||||||
});
|
}, {transaction});
|
||||||
await this.createModlog(punishment);
|
await this.createModlog(punishment);
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
Logger.console('error', 'Punishment', err);
|
||||||
|
Logger.console('log', 'Punishment:Transaction', TRANSACTION_FAILED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (interaction) return interaction.editReply({embeds: [embed]});
|
if (interaction) return interaction.editReply({embeds: [embed]});
|
||||||
else return punishmentResult;
|
else return punishmentResult;
|
||||||
@ -217,34 +234,48 @@ export class PunishmentsSvc {
|
|||||||
let removePunishmentData:Punishment = {type: `un${punishment.type}`, case_id: ID, cancels: punishment.case_id, member_name: punishment.member_name, member: punishment.member, reason, moderator, time: now};
|
let removePunishmentData:Punishment = {type: `un${punishment.type}`, case_id: ID, cancels: punishment.case_id, member_name: punishment.member_name, member: punishment.member, reason, moderator, time: now};
|
||||||
let removePunishmentResult:any;
|
let removePunishmentResult:any;
|
||||||
|
|
||||||
if (punishment.type === 'ban') removePunishmentResult = await guild.bans.remove(punishment.member, auditLogReason).catch((err:Error)=>err.message);
|
switch (punishment.type) {
|
||||||
else if (punishment.type === 'mute') {
|
case 'ban':
|
||||||
if (guildUser) {
|
removePunishmentResult = await guild.bans.remove(punishment.member, auditLogReason).catch((err:Error)=>err.message);
|
||||||
removePunishmentResult = await guildUser.timeout(null, auditLogReason).catch((err:Error)=>err.message);
|
break;
|
||||||
guildUser.send(`You've been unmuted in **${guild.name}**.`).catch(()=>null);
|
case 'mute':
|
||||||
} else this.model.update({expired: true}, {where: {case_id: caseId}});
|
if (guildUser) {
|
||||||
} else removePunishmentData.type = 'punishmentOverride';
|
removePunishmentResult = await guildUser.timeout(null, auditLogReason).catch((err:Error)=>err.message);
|
||||||
|
guildUser.send(`You've been unmuted in **${guild.name}**.`).catch(()=>null);
|
||||||
|
} else this.model.update({expired: true}, {where: {case_id: caseId}});
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
removePunishmentData.type = 'punishmentOverride';
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof removePunishmentResult === 'string') {// Punishment was unsuccessful
|
if (typeof removePunishmentResult === 'string') {// Punishment was unsuccessful
|
||||||
if (interaction) return interaction.editReply(removePunishmentResult);
|
if (interaction) return interaction.editReply(removePunishmentResult);
|
||||||
else return removePunishmentResult;
|
else return removePunishmentResult;
|
||||||
} else {
|
} else {
|
||||||
this.model.update({expired: true}, {where: {case_id: caseId}}).then(()=>
|
try { // https://sequelize.org/docs/v7/querying/transactions/
|
||||||
this.model.create({
|
await this.model.sequelize.transaction(async transaction=>{
|
||||||
case_id: removePunishmentData.case_id,
|
await this.model.update({expired: true}, {where: {case_id: caseId}, transaction})
|
||||||
type: removePunishmentData.type,
|
await this.model.upsert({
|
||||||
member_name: removePunishmentData.member_name,
|
case_id: removePunishmentData.case_id,
|
||||||
member: removePunishmentData.member,
|
type: removePunishmentData.type,
|
||||||
moderator: removePunishmentData.moderator,
|
member_name: removePunishmentData.member_name,
|
||||||
expired: removePunishmentData.expired,
|
member: removePunishmentData.member,
|
||||||
time: removePunishmentData.time,
|
moderator: removePunishmentData.moderator,
|
||||||
reason: removePunishmentData.reason,
|
expired: removePunishmentData.expired,
|
||||||
endTime: removePunishmentData.endTime,
|
time: removePunishmentData.time,
|
||||||
cancels: removePunishmentData.cancels,
|
reason: removePunishmentData.reason,
|
||||||
duration: removePunishmentData.duration
|
endTime: removePunishmentData.endTime,
|
||||||
})
|
cancels: removePunishmentData.cancels,
|
||||||
);
|
duration: removePunishmentData.duration
|
||||||
await this.createModlog(removePunishmentData);
|
}, {transaction});
|
||||||
|
await this.createModlog(removePunishmentData);
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
Logger.console('error', 'Punishment', err);
|
||||||
|
Logger.console('log', 'Punishment:Transaction', TRANSACTION_FAILED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
if (interaction) return interaction.reply({embeds: [new this.client.embed()
|
if (interaction) return interaction.reply({embeds: [new this.client.embed()
|
||||||
.setColor(this.client.config.embedColor)
|
.setColor(this.client.config.embedColor)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
|
|
||||||
class suggestions extends Model {
|
class suggestions extends Model {
|
||||||
declare public id: number;
|
declare public id: number;
|
||||||
|
@ -2,7 +2,7 @@ import TClient from '../client.js';
|
|||||||
import MessageTool from '../helpers/MessageTool.js';
|
import MessageTool from '../helpers/MessageTool.js';
|
||||||
import CacheServer from '../components/CacheServer.js';
|
import CacheServer from '../components/CacheServer.js';
|
||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
import {ChatInputCommandInteraction, Snowflake} from 'discord.js';
|
import {ChatInputCommandInteraction, Snowflake} from 'discord.js';
|
||||||
|
|
||||||
class tagsystem extends Model {
|
class tagsystem extends Model {
|
||||||
@ -79,7 +79,7 @@ export class TagSystemSvc {
|
|||||||
async findInCache(): Promise<Tags[]> {
|
async findInCache(): Promise<Tags[]> {
|
||||||
const cacheKey = 'tags';
|
const cacheKey = 'tags';
|
||||||
const cachedResult = await CacheServer.get(cacheKey, true);
|
const cachedResult = await CacheServer.get(cacheKey, true);
|
||||||
let result;
|
let result:Tags[];
|
||||||
if (cachedResult) result = cachedResult;
|
if (cachedResult) result = cachedResult;
|
||||||
else {
|
else {
|
||||||
result = await this.model.findAll();
|
result = await this.model.findAll();
|
||||||
|
@ -2,7 +2,7 @@ import Discord from 'discord.js';
|
|||||||
import TClient from '../client.js';
|
import TClient from '../client.js';
|
||||||
import MessageTool from '../helpers/MessageTool.js';
|
import MessageTool from '../helpers/MessageTool.js';
|
||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
import {writeFileSync} from 'node:fs';
|
import {writeFileSync} from 'node:fs';
|
||||||
import cron from 'node-cron';
|
import cron from 'node-cron';
|
||||||
import Logger from '../helpers/Logger.js';
|
import Logger from '../helpers/Logger.js';
|
||||||
@ -61,9 +61,9 @@ export class UserLevelsSvc {
|
|||||||
fetchEveryone = async()=>await this.model.findAll();
|
fetchEveryone = async()=>await this.model.findAll();
|
||||||
fetchUser = async(userId:string)=>await this.model.findByPk(userId);
|
fetchUser = async(userId:string)=>await this.model.findByPk(userId);
|
||||||
deleteUser = async(userId:string)=>await this.model.destroy({where: {id: userId}});
|
deleteUser = async(userId:string)=>await this.model.destroy({where: {id: userId}});
|
||||||
async modifyUser(userId:string, updatedMessages:number) {
|
async modifyUser(userId:string, messages:number) {
|
||||||
await this.model.update({messages: updatedMessages}, {where: {id: userId}});
|
const [_, [updatedUser]] = await this.model.update({messages}, {where: {id: userId}, returning: true});
|
||||||
return (await this.model.findByPk(userId)).dataValues;
|
return updatedUser.dataValues;
|
||||||
}
|
}
|
||||||
async blockUser(userId:string, duration:number):Promise<boolean> {
|
async blockUser(userId:string, duration:number):Promise<boolean> {
|
||||||
const data = await this.model.findByPk(userId);
|
const data = await this.model.findByPk(userId);
|
||||||
@ -74,8 +74,8 @@ export class UserLevelsSvc {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
async getActiveUsers() {
|
async getActiveUsers() {
|
||||||
const members = (await this.model.findAll()).sort((a,b)=>b.dataValues.messages-a.dataValues.messages);
|
const members = await this.model.findAll({order: [['messages', 'DESC']], limit: 5});
|
||||||
return members.slice(0, 5);
|
return members;
|
||||||
}
|
}
|
||||||
async messageIncremental(userId:string) {
|
async messageIncremental(userId:string) {
|
||||||
const data = await this.model.findByPk(userId);
|
const data = await this.model.findByPk(userId);
|
||||||
@ -119,7 +119,7 @@ export class UserLevelsSvc {
|
|||||||
|
|
||||||
Logger.console('log', 'Cron:resetAllData', `Counted ${performCountBeforeReset.toLocaleString()} members before reset`);
|
Logger.console('log', 'Cron:resetAllData', `Counted ${performCountBeforeReset.toLocaleString()} members before reset`);
|
||||||
await this.client.dailyMsgs.nukeDays();
|
await this.client.dailyMsgs.nukeDays();
|
||||||
await this.model.drop().then(async()=>await this.model.sync());
|
await this.model.truncate();
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Send notification to dcServer's logs channel after cronjob is complete.
|
// Send notification to dcServer's logs channel after cronjob is complete.
|
||||||
@ -139,16 +139,12 @@ export class UserLevelsSvc {
|
|||||||
|
|
||||||
// Reset LRSstart to current Epoch and save it to config file
|
// Reset LRSstart to current Epoch and save it to config file
|
||||||
const newEpoch = new Date().getTime();
|
const newEpoch = new Date().getTime();
|
||||||
this.client.config.LRSstart = newEpoch;
|
if (this.client.config.LRSstart !== newEpoch) {
|
||||||
const logText = `Resetting LRSstart to \`${newEpoch}\`, saved to config file`;
|
this.client.config.LRSstart = newEpoch;
|
||||||
Logger.console('log', 'DailyMsgs', logText);
|
Logger.console('log', 'Cron:resetAllData', `Resetting LRSstart to \`${newEpoch}\`, saved to config file`);
|
||||||
(this.client.channels.resolve(this.client.config.dcServer.channels.bot_log) as Discord.TextChannel).send({embeds: [new this.client.embed()
|
writeFileSync('src/config.json', JSON.stringify(this.client.config, null, 2));
|
||||||
.setColor(this.client.config.embedColorXmas)
|
Logger.console('log', 'Cron:resetAllData', 'Job completed');
|
||||||
.setTitle('Happy New Years! Level System is clean!')
|
}
|
||||||
.setDescription(logText)
|
|
||||||
]}).catch(err=>console.log(err));
|
|
||||||
writeFileSync('src/config.json', JSON.stringify(this.client.config, null, 2));
|
|
||||||
Logger.console('log', 'Cron:resetAllData', 'Job completed');
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
algorithm = (level:number)=>level*level*15;
|
algorithm = (level:number)=>level*level*15;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import DatabaseServer from '../components/DatabaseServer.js';
|
import DatabaseServer from '../components/DatabaseServer.js';
|
||||||
import {Model, DataTypes} from 'sequelize';
|
import {Model, DataTypes} from '@sequelize/core';
|
||||||
|
|
||||||
class youtubeChannels extends Model {
|
class youtubeChannels extends Model {
|
||||||
declare public ytchannel: string;
|
declare public ytchannel: string;
|
||||||
@ -36,9 +36,8 @@ export class YouTubeChannelsSvc {
|
|||||||
}
|
}
|
||||||
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
query = async(pattern:string)=>await this.model.sequelize.query(pattern);
|
||||||
async addChannel(YTChannelID:string, DCChannelID:string, DCRole:string) {
|
async addChannel(YTChannelID:string, DCChannelID:string, DCRole:string) {
|
||||||
if (await this.model.findOne({where: {ytchannel: YTChannelID}})) return false;
|
const [_, created] = await this.model.findOrCreate({where: {ytchannel: YTChannelID}, defaults: {dcchannel: DCChannelID, dcrole: DCRole}});
|
||||||
await this.model.create({ytchannel: YTChannelID, dcchannel: DCChannelID, dcrole: DCRole});
|
return created;
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
delChannel = async(YTChannelID:string)=>await this.model.destroy({where: {ytchannel: YTChannelID}});
|
delChannel = async(YTChannelID:string)=>await this.model.destroy({where: {ytchannel: YTChannelID}});
|
||||||
getChannels = async()=>await this.model.findAll();
|
getChannels = async()=>await this.model.findAll();
|
||||||
|
@ -8,7 +8,6 @@ import {IServer} from '../models/MPServer.js';
|
|||||||
import {XMLParser} from 'fast-xml-parser';
|
import {XMLParser} from 'fast-xml-parser';
|
||||||
import {FSPlayer, FSData, FSCareerSavegame} from 'src/interfaces';
|
import {FSPlayer, FSData, FSCareerSavegame} from 'src/interfaces';
|
||||||
|
|
||||||
let failedAttempts:number = 0;
|
|
||||||
let loggingPrefix:string = 'MPModule';
|
let loggingPrefix:string = 'MPModule';
|
||||||
let dataUnavailable:string = 'Unavailable';
|
let dataUnavailable:string = 'Unavailable';
|
||||||
export let refreshTimerSecs:number = 45000;
|
export let refreshTimerSecs:number = 45000;
|
||||||
@ -17,6 +16,10 @@ let refreshIntrvlTxt:string = `Refreshes every ${refreshTimerSecs/1000} seconds.
|
|||||||
let offlineStatus:string = 'Server is offline';
|
let offlineStatus:string = 'Server is offline';
|
||||||
let unavailableStatus:string = 'Server didn\'t respond';
|
let unavailableStatus:string = 'Server didn\'t respond';
|
||||||
|
|
||||||
|
interface IServerExt extends IServer {
|
||||||
|
failureCount?:number;
|
||||||
|
}
|
||||||
|
|
||||||
export default async(client:TClient)=>{
|
export default async(client:TClient)=>{
|
||||||
const message = await (client.channels.resolve(isBotInDevMode ? '1091300529696673792' : '543494084363288637') as Discord.TextChannel).messages.fetch(isBotInDevMode ? '1104563309451161742' : '1149141188079779900');
|
const message = await (client.channels.resolve(isBotInDevMode ? '1091300529696673792' : '543494084363288637') as Discord.TextChannel).messages.fetch(isBotInDevMode ? '1104563309451161742' : '1149141188079779900');
|
||||||
if (!client.config.botSwitches.mpSys) return message.edit({content: null, embeds: [mpModuleDisabled(client)]});
|
if (!client.config.botSwitches.mpSys) return message.edit({content: null, embeds: [mpModuleDisabled(client)]});
|
||||||
@ -123,25 +126,34 @@ async function multifarmWebhook(client:TClient, server:IServer, webhookId:string
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export async function requestServerData(client:TClient, server:IServer):Promise<{dss:FSData, csg:FSCareerSavegame}|undefined>{
|
export async function requestServerData(client:TClient, server:IServerExt):Promise<{dss:FSData, csg:FSCareerSavegame}|undefined>{
|
||||||
async function retryReqs(url:string) {
|
async function retryReqs(url:string) {
|
||||||
// Attempt to reduce the failure rate of the requests before giving up and retrying in next refresh.
|
// Attempt to reduce the failure rate of the requests before giving up and retrying in next refresh.
|
||||||
let maxRetries:number = 3;
|
let maxRetries:number = 4;
|
||||||
|
let delay:number = 500;
|
||||||
|
|
||||||
for (let i = 0; i < maxRetries; i++) {
|
for (let i = 0; i < maxRetries; i++) {
|
||||||
try {
|
try {
|
||||||
const data = await Undici.fetch(url, {keepalive: true, signal: AbortSignal.timeout(12000), headers: {'User-Agent': `${client.user.username} - MPModule/undici`}});
|
const data = await Undici.fetch(url, {keepalive: true, signal: AbortSignal.timeout(12000), headers: {'User-Agent': `${client.user.username} - MPModule/undici`}});
|
||||||
if (data.status === 200 ?? 204) return data;
|
if (data.status === 200 ?? 204) {
|
||||||
else if (data.status === 404) Logger.console('log', loggingPrefix, `(${i+1}/${maxRetries}) ${server.serverName} responded with an error (404), API is disabled or mismatched code`)
|
server.failureCount = 0;
|
||||||
|
delay = 500;
|
||||||
|
return data
|
||||||
|
} else if (data.status === 404) Logger.console('log', loggingPrefix, `(${i+1}/${maxRetries}) ${server.serverName} responded with an error (404), API is disabled or mismatched code`);
|
||||||
|
else if (data.status === 400) Logger.console('log', loggingPrefix, `(${i+1}/${maxRetries}) ${server.serverName} responded with an error (400), bad endpoint or ratelimited`); // Seems to be taking L's left and right hourly...
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
Logger.console('log', loggingPrefix, `Couldn't get data for ${server.serverName}: ${err.message}`);
|
Logger.console('log', loggingPrefix, `Couldn't get data for ${server.serverName}: ${err.message}`);
|
||||||
failedAttempts++;
|
server.failureCount++;
|
||||||
if (failedAttempts >= 5 && server.isActive) {
|
if (server.failureCount >= 6 && server.isActive) {
|
||||||
Logger.console('log', loggingPrefix, `Maximum failed requests (${failedAttempts}) reached for ${server.serverName}, silenced server for 10 minutes`);
|
Logger.console('log', loggingPrefix, `Maximum failed requests (${server.failureCount}) reached for ${server.serverName}, silenced server for 10 minutes`);
|
||||||
silenceServer(client, server, 600000);
|
silenceServer(client, server, 600000);
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
await new Promise(resolve=>setTimeout(resolve, 500))
|
await new Promise(resolve=>setTimeout(resolve, delay));
|
||||||
|
delay *= 2;
|
||||||
|
Logger.console('log', loggingPrefix, `Request delayed by ${delay} for ${server.serverName}`);
|
||||||
|
// Workaround for the API ratelimit (seen by panel responding with HTTP 400 apparently...)
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
@ -189,8 +201,8 @@ function convertPlayerUptime(playTime:number) {
|
|||||||
return (Days > 0 ? Days+' d ':'')+(Hours > 0 ? Hours+' h ':'')+(Minutes > 0 ? Minutes+' m':'')
|
return (Days > 0 ? Days+' d ':'')+(Hours > 0 ? Hours+' h ':'')+(Minutes > 0 ? Minutes+' m':'')
|
||||||
}
|
}
|
||||||
|
|
||||||
function silenceServer(client:TClient, server:IServer, time:number):void {
|
function silenceServer(client:TClient, server:IServerExt, time:number):void {
|
||||||
client.MPServer.toggleServerUsability(server.serverName, false);
|
client.MPServer.toggleServerUsability(server.serverName, false);
|
||||||
setTimeout(()=>client.MPServer.toggleServerUsability(server.serverName, true), time)
|
setTimeout(()=>client.MPServer.toggleServerUsability(server.serverName, true), time)
|
||||||
failedAttempts = 0;
|
server.failureCount = 0;
|
||||||
}
|
}
|
||||||
|
426
yarn.lock
426
yarn.lock
@ -5,7 +5,7 @@ __metadata:
|
|||||||
version: 8
|
version: 8
|
||||||
cacheKey: 10
|
cacheKey: 10
|
||||||
|
|
||||||
"@babel/runtime@npm:^7.23.9":
|
"@babel/runtime@npm:^7.24.0":
|
||||||
version: 7.24.0
|
version: 7.24.0
|
||||||
resolution: "@babel/runtime@npm:7.24.0"
|
resolution: "@babel/runtime@npm:7.24.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -215,6 +215,33 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@nodelib/fs.scandir@npm:2.1.5":
|
||||||
|
version: 2.1.5
|
||||||
|
resolution: "@nodelib/fs.scandir@npm:2.1.5"
|
||||||
|
dependencies:
|
||||||
|
"@nodelib/fs.stat": "npm:2.0.5"
|
||||||
|
run-parallel: "npm:^1.1.9"
|
||||||
|
checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
|
||||||
|
version: 2.0.5
|
||||||
|
resolution: "@nodelib/fs.stat@npm:2.0.5"
|
||||||
|
checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"@nodelib/fs.walk@npm:^1.2.3":
|
||||||
|
version: 1.2.8
|
||||||
|
resolution: "@nodelib/fs.walk@npm:1.2.8"
|
||||||
|
dependencies:
|
||||||
|
"@nodelib/fs.scandir": "npm:2.1.5"
|
||||||
|
fastq: "npm:^1.6.0"
|
||||||
|
checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@octokit/auth-token@npm:^4.0.0":
|
"@octokit/auth-token@npm:^4.0.0":
|
||||||
version: 4.0.0
|
version: 4.0.0
|
||||||
resolution: "@octokit/auth-token@npm:4.0.0"
|
resolution: "@octokit/auth-token@npm:4.0.0"
|
||||||
@ -427,6 +454,50 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"@sequelize/core@npm:7.0.0-alpha.37":
|
||||||
|
version: 7.0.0-alpha.37
|
||||||
|
resolution: "@sequelize/core@npm:7.0.0-alpha.37"
|
||||||
|
dependencies:
|
||||||
|
"@types/debug": "npm:^4.1.7"
|
||||||
|
"@types/validator": "npm:^13.7.5"
|
||||||
|
bnf-parser: "npm:3.1.6"
|
||||||
|
dayjs: "npm:^1.11.5"
|
||||||
|
debug: "npm:^4.3.4"
|
||||||
|
dottie: "npm:^2.0.2"
|
||||||
|
fast-glob: "npm:^3.2.12"
|
||||||
|
inflection: "npm:^3.0.0"
|
||||||
|
lodash: "npm:^4.17.21"
|
||||||
|
pg-connection-string: "npm:^2.5.0"
|
||||||
|
pg-hstore: "npm:^2.3.4"
|
||||||
|
retry-as-promised: "npm:^7.0.3"
|
||||||
|
semver: "npm:^7.3.7"
|
||||||
|
sequelize-pool: "npm:^8.0.0"
|
||||||
|
toposort-class: "npm:^1.0.1"
|
||||||
|
type-fest: "npm:^3.0.0"
|
||||||
|
uuid: "npm:^9.0.0"
|
||||||
|
validator: "npm:^13.7.0"
|
||||||
|
wkx: "npm:^0.5.0"
|
||||||
|
peerDependenciesMeta:
|
||||||
|
ibm_db:
|
||||||
|
optional: true
|
||||||
|
mariadb:
|
||||||
|
optional: true
|
||||||
|
mysql2:
|
||||||
|
optional: true
|
||||||
|
odbc:
|
||||||
|
optional: true
|
||||||
|
pg:
|
||||||
|
optional: true
|
||||||
|
snowflake-sdk:
|
||||||
|
optional: true
|
||||||
|
sqlite3:
|
||||||
|
optional: true
|
||||||
|
tedious:
|
||||||
|
optional: true
|
||||||
|
checksum: 10/dcaadb079bc5fcc505efbfff18ca8165dae4a24ad9c9f9f99e91474343e27986ceef702a69db0ab5406988b151dfa76f05e536425c08b29e80e10da70bb437fd
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"@toast/tokenservice-client@npm:1.0.16":
|
"@toast/tokenservice-client@npm:1.0.16":
|
||||||
version: 1.0.16
|
version: 1.0.16
|
||||||
resolution: "@toast/tokenservice-client@npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"
|
resolution: "@toast/tokenservice-client@npm:1.0.16::__archiveUrl=https%3A%2F%2Fgit.toast-server.net%2Fapi%2Fpackages%2Ftoast%2Fnpm%2F%2540toast%252Ftokenservice-client%2F-%2F1.0.16%2Ftokenservice-client-1.0.16.tgz"
|
||||||
@ -436,23 +507,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/bluebird@npm:*":
|
"@types/debug@npm:^4.1.7":
|
||||||
version: 3.5.42
|
|
||||||
resolution: "@types/bluebird@npm:3.5.42"
|
|
||||||
checksum: 10/09ad60b083f916c7611936d3c70986df8f2eae11e46768ab7901d86bee5b1ca6b00cd9ef8cc0d3761256e2bc4ada3388e5529f71745a6b3d7602e868e3530310
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@types/continuation-local-storage@npm:*":
|
|
||||||
version: 3.2.7
|
|
||||||
resolution: "@types/continuation-local-storage@npm:3.2.7"
|
|
||||||
dependencies:
|
|
||||||
"@types/node": "npm:*"
|
|
||||||
checksum: 10/1f272b53bc56774773b7cbd6019ae26843599fb9073cb70c3dda13f8bfac5eabb6c8bf33f548a37be9c6d772eb9a4ab4399bc7d25bc82588655f51f572df79f3
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@types/debug@npm:^4.1.8":
|
|
||||||
version: 4.1.12
|
version: 4.1.12
|
||||||
resolution: "@types/debug@npm:4.1.12"
|
resolution: "@types/debug@npm:4.1.12"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -461,13 +516,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/lodash@npm:*":
|
|
||||||
version: 4.14.202
|
|
||||||
resolution: "@types/lodash@npm:4.14.202"
|
|
||||||
checksum: 10/1bb9760a5b1dda120132c4b987330d67979c95dbc22612678682cd61b00302e190f4207228f3728580059cdab5582362262e3819aea59960c1017bd2b9fb26f6
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@types/ms@npm:*, @types/ms@npm:0.7.34":
|
"@types/ms@npm:*, @types/ms@npm:0.7.34":
|
||||||
version: 0.7.34
|
version: 0.7.34
|
||||||
resolution: "@types/ms@npm:0.7.34"
|
resolution: "@types/ms@npm:0.7.34"
|
||||||
@ -482,12 +530,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/node@npm:*, @types/node@npm:20.11.25":
|
"@types/node@npm:*, @types/node@npm:20.11.28":
|
||||||
version: 20.11.25
|
version: 20.11.28
|
||||||
resolution: "@types/node@npm:20.11.25"
|
resolution: "@types/node@npm:20.11.28"
|
||||||
dependencies:
|
dependencies:
|
||||||
undici-types: "npm:~5.26.4"
|
undici-types: "npm:~5.26.4"
|
||||||
checksum: 10/861265f1bbb151404bd8842b595f027a4ff067c61ecff9a37b9f7f53922c18dd532c8e795e8e7675dd8dba056645623fd2b9848d5ef72863ec3609096cd2923e
|
checksum: 10/b03f69213ac6e7cd5f7efa86139f24e23ff70a12fed04adeac5413b62d6982343ce94906f74c401c5afefda48d36ae0efd6a575240996b15a5cf80b456ab4221
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -502,19 +550,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"@types/sequelize@npm:4.28.20":
|
"@types/validator@npm:^13.7.5":
|
||||||
version: 4.28.20
|
|
||||||
resolution: "@types/sequelize@npm:4.28.20"
|
|
||||||
dependencies:
|
|
||||||
"@types/bluebird": "npm:*"
|
|
||||||
"@types/continuation-local-storage": "npm:*"
|
|
||||||
"@types/lodash": "npm:*"
|
|
||||||
"@types/validator": "npm:*"
|
|
||||||
checksum: 10/8b3faec2e650ee299ae8a8a06bab7bd928131938ba34c7faa1d5c099682d6649e7aa68b0540a3e4883db7e3bc10d043ae3f23624d11b42a60f6bcbd40800ffac
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"@types/validator@npm:*, @types/validator@npm:^13.7.17":
|
|
||||||
version: 13.11.9
|
version: 13.11.9
|
||||||
resolution: "@types/validator@npm:13.11.9"
|
resolution: "@types/validator@npm:13.11.9"
|
||||||
checksum: 10/2d397c69293cc726e0cf1b4c74c563ca4e459b00f216f3ff0ac184c9648103be27169e8c67f85be9c6e7a3fcbb149c6add66a2547b185a1b25aa79e4b61261bd
|
checksum: 10/2d397c69293cc726e0cf1b4c74c563ca4e459b00f216f3ff0ac184c9648103be27169e8c67f85be9c6e7a3fcbb149c6add66a2547b185a1b25aa79e4b61261bd
|
||||||
@ -560,6 +596,22 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"bnf-parser@npm:3.1.6":
|
||||||
|
version: 3.1.6
|
||||||
|
resolution: "bnf-parser@npm:3.1.6"
|
||||||
|
checksum: 10/caaf7078e2a5a9ab97f7f0b65eb1d034b5f5b9f80b189fee9ff3b9aa36dad79820b12f978eb079a7c8b3da37a7bd65b763313deee5058fc76c5d6900d2e3b981
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"braces@npm:^3.0.2":
|
||||||
|
version: 3.0.2
|
||||||
|
resolution: "braces@npm:3.0.2"
|
||||||
|
dependencies:
|
||||||
|
fill-range: "npm:^7.0.1"
|
||||||
|
checksum: 10/966b1fb48d193b9d155f810e5efd1790962f2c4e0829f8440b8ad236ba009222c501f70185ef732fef17a4c490bb33a03b90dab0631feafbdf447da91e8165b1
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"buffer-writer@npm:2.0.0":
|
"buffer-writer@npm:2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "buffer-writer@npm:2.0.0"
|
resolution: "buffer-writer@npm:2.0.0"
|
||||||
@ -587,31 +639,31 @@ __metadata:
|
|||||||
dependencies:
|
dependencies:
|
||||||
"@napi-rs/canvas": "npm:0.1.51"
|
"@napi-rs/canvas": "npm:0.1.51"
|
||||||
"@octokit/rest": "npm:20.0.2"
|
"@octokit/rest": "npm:20.0.2"
|
||||||
|
"@sequelize/core": "npm:7.0.0-alpha.37"
|
||||||
"@toast/tokenservice-client": "npm:1.0.16"
|
"@toast/tokenservice-client": "npm:1.0.16"
|
||||||
"@types/ms": "npm:0.7.34"
|
"@types/ms": "npm:0.7.34"
|
||||||
"@types/node": "npm:20.11.25"
|
"@types/node": "npm:20.11.28"
|
||||||
"@types/node-cron": "npm:3.0.11"
|
"@types/node-cron": "npm:3.0.11"
|
||||||
"@types/pg": "npm:8.11.2"
|
"@types/pg": "npm:8.11.2"
|
||||||
"@types/sequelize": "npm:4.28.20"
|
|
||||||
ansi-colors: "npm:4.1.3"
|
ansi-colors: "npm:4.1.3"
|
||||||
dayjs: "npm:1.11.10"
|
dayjs: "npm:1.11.10"
|
||||||
discord.js: "npm:14.14.1"
|
discord.js: "npm:14.14.1"
|
||||||
fast-xml-parser: "npm:4.3.5"
|
fast-xml-parser: "npm:4.3.6"
|
||||||
mathjs: "npm:12.4.0"
|
mathjs: "npm:12.4.1"
|
||||||
ms: "npm:2.1.3"
|
ms: "npm:2.1.3"
|
||||||
node-cron: "npm:3.0.3"
|
node-cron: "npm:3.0.3"
|
||||||
pg: "npm:8.11.3"
|
pg: "npm:8.11.3"
|
||||||
pg-hstore: "npm:2.3.4"
|
pg-hstore: "npm:2.3.4"
|
||||||
|
postgres-array: "npm:3.0.2"
|
||||||
redis: "npm:4.6.13"
|
redis: "npm:4.6.13"
|
||||||
sequelize: "npm:6.37.1"
|
simple-git: "npm:3.23.0"
|
||||||
simple-git: "npm:3.22.0"
|
systeminformation: "npm:5.22.3"
|
||||||
systeminformation: "npm:5.22.0"
|
|
||||||
typescript: "npm:5.4.2"
|
typescript: "npm:5.4.2"
|
||||||
undici: "npm:6.7.1"
|
undici: "npm:6.9.0"
|
||||||
languageName: unknown
|
languageName: unknown
|
||||||
linkType: soft
|
linkType: soft
|
||||||
|
|
||||||
"dayjs@npm:1.11.10":
|
"dayjs@npm:1.11.10, dayjs@npm:^1.11.5":
|
||||||
version: 1.11.10
|
version: 1.11.10
|
||||||
resolution: "dayjs@npm:1.11.10"
|
resolution: "dayjs@npm:1.11.10"
|
||||||
checksum: 10/27e8f5bc01c0a76f36c656e62ab7f08c2e7b040b09e613cd4844abf03fb258e0350f0a83b02c887b84d771c1f11e092deda0beef8c6df2a1afbc3f6c1fade279
|
checksum: 10/27e8f5bc01c0a76f36c656e62ab7f08c2e7b040b09e613cd4844abf03fb258e0350f0a83b02c887b84d771c1f11e092deda0beef8c6df2a1afbc3f6c1fade279
|
||||||
@ -673,7 +725,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"dottie@npm:^2.0.6":
|
"dottie@npm:^2.0.2":
|
||||||
version: 2.0.6
|
version: 2.0.6
|
||||||
resolution: "dottie@npm:2.0.6"
|
resolution: "dottie@npm:2.0.6"
|
||||||
checksum: 10/698731cfa2c1b530ba3491fa864dc572678a2a6de801f25912e2e4d7d4669ae013b696711786016bf41c7b6f98057c678503f14550bb171b3f70cdadffb9218f
|
checksum: 10/698731cfa2c1b530ba3491fa864dc572678a2a6de801f25912e2e4d7d4669ae013b696711786016bf41c7b6f98057c678503f14550bb171b3f70cdadffb9218f
|
||||||
@ -694,14 +746,45 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"fast-xml-parser@npm:4.3.5":
|
"fast-glob@npm:^3.2.12":
|
||||||
version: 4.3.5
|
version: 3.3.2
|
||||||
resolution: "fast-xml-parser@npm:4.3.5"
|
resolution: "fast-glob@npm:3.3.2"
|
||||||
|
dependencies:
|
||||||
|
"@nodelib/fs.stat": "npm:^2.0.2"
|
||||||
|
"@nodelib/fs.walk": "npm:^1.2.3"
|
||||||
|
glob-parent: "npm:^5.1.2"
|
||||||
|
merge2: "npm:^1.3.0"
|
||||||
|
micromatch: "npm:^4.0.4"
|
||||||
|
checksum: 10/222512e9315a0efca1276af9adb2127f02105d7288fa746145bf45e2716383fb79eb983c89601a72a399a56b7c18d38ce70457c5466218c5f13fad957cee16df
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"fast-xml-parser@npm:4.3.6":
|
||||||
|
version: 4.3.6
|
||||||
|
resolution: "fast-xml-parser@npm:4.3.6"
|
||||||
dependencies:
|
dependencies:
|
||||||
strnum: "npm:^1.0.5"
|
strnum: "npm:^1.0.5"
|
||||||
bin:
|
bin:
|
||||||
fxparser: src/cli/cli.js
|
fxparser: src/cli/cli.js
|
||||||
checksum: 10/ccfd943e4ed400bf3acd4b6fcba9a15ec992a4a76c9a0cf825fc06f2b35a79a6d1de477b9a73c23633597c4f2a35838550ec3013a056f2591aa8cb3989d1f242
|
checksum: 10/3e431e594960f04996e60a01fb51d8f4346138a7ba60d97244bf7866a3072eaf2f6dc73008d7b07871b98b606a8d7db955efdeae787992f685dd0e5bcc67c36a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"fastq@npm:^1.6.0":
|
||||||
|
version: 1.17.1
|
||||||
|
resolution: "fastq@npm:1.17.1"
|
||||||
|
dependencies:
|
||||||
|
reusify: "npm:^1.0.4"
|
||||||
|
checksum: 10/a443180068b527dd7b3a63dc7f2a47ceca2f3e97b9c00a1efe5538757e6cc4056a3526df94308075d7727561baf09ebaa5b67da8dcbddb913a021c5ae69d1f69
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"fill-range@npm:^7.0.1":
|
||||||
|
version: 7.0.1
|
||||||
|
resolution: "fill-range@npm:7.0.1"
|
||||||
|
dependencies:
|
||||||
|
to-regex-range: "npm:^5.0.1"
|
||||||
|
checksum: 10/e260f7592fd196b4421504d3597cc76f4a1ca7a9488260d533b611fc3cefd61e9a9be1417cb82d3b01ad9f9c0ff2dbf258e1026d2445e26b0cf5148ff4250429
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -719,10 +802,42 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"inflection@npm:^1.13.4":
|
"glob-parent@npm:^5.1.2":
|
||||||
version: 1.13.4
|
version: 5.1.2
|
||||||
resolution: "inflection@npm:1.13.4"
|
resolution: "glob-parent@npm:5.1.2"
|
||||||
checksum: 10/a0cc1b105ccbda9607b5d1610b5c7aa35456ca06b7f3573a47c677e1f829052859cacc36601c3c07de89cb756616a440814ef2d190a6ae70398e6aa6efc2a547
|
dependencies:
|
||||||
|
is-glob: "npm:^4.0.1"
|
||||||
|
checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"inflection@npm:^3.0.0":
|
||||||
|
version: 3.0.0
|
||||||
|
resolution: "inflection@npm:3.0.0"
|
||||||
|
checksum: 10/e8aae6abb872a8aa19184a1b84470fff7120806329c78011befcf50bce04a7b0d65012ac373f2cc5caeaaf241874c7ae20a26038ff7dbe0cdae0b863f25b5e02
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"is-extglob@npm:^2.1.1":
|
||||||
|
version: 2.1.1
|
||||||
|
resolution: "is-extglob@npm:2.1.1"
|
||||||
|
checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"is-glob@npm:^4.0.1":
|
||||||
|
version: 4.0.3
|
||||||
|
resolution: "is-glob@npm:4.0.3"
|
||||||
|
dependencies:
|
||||||
|
is-extglob: "npm:^2.1.1"
|
||||||
|
checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"is-number@npm:^7.0.0":
|
||||||
|
version: 7.0.0
|
||||||
|
resolution: "is-number@npm:7.0.0"
|
||||||
|
checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -763,11 +878,11 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"mathjs@npm:12.4.0":
|
"mathjs@npm:12.4.1":
|
||||||
version: 12.4.0
|
version: 12.4.1
|
||||||
resolution: "mathjs@npm:12.4.0"
|
resolution: "mathjs@npm:12.4.1"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime": "npm:^7.23.9"
|
"@babel/runtime": "npm:^7.24.0"
|
||||||
complex.js: "npm:^2.1.1"
|
complex.js: "npm:^2.1.1"
|
||||||
decimal.js: "npm:^10.4.3"
|
decimal.js: "npm:^10.4.3"
|
||||||
escape-latex: "npm:^1.2.0"
|
escape-latex: "npm:^1.2.0"
|
||||||
@ -778,23 +893,24 @@ __metadata:
|
|||||||
typed-function: "npm:^4.1.1"
|
typed-function: "npm:^4.1.1"
|
||||||
bin:
|
bin:
|
||||||
mathjs: bin/cli.js
|
mathjs: bin/cli.js
|
||||||
checksum: 10/ee168a7e4be0bebe9fbd69292462f162d6aae973500e00dbf00f44392ccf80f4de86883819576df2434e9b3e4d6c222a14613e2c0450db8316c373f130bee2b6
|
checksum: 10/171cdf4b6ad4786f902d112d4208a2e5b02381cd08a2b974d957b56d0102808064ddfcc7b953bef6022ad0302f3181b7f6146b3be6b54a240579a36b90c463ff
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"moment-timezone@npm:^0.5.43":
|
"merge2@npm:^1.3.0":
|
||||||
version: 0.5.45
|
version: 1.4.1
|
||||||
resolution: "moment-timezone@npm:0.5.45"
|
resolution: "merge2@npm:1.4.1"
|
||||||
|
checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"micromatch@npm:^4.0.4":
|
||||||
|
version: 4.0.5
|
||||||
|
resolution: "micromatch@npm:4.0.5"
|
||||||
dependencies:
|
dependencies:
|
||||||
moment: "npm:^2.29.4"
|
braces: "npm:^3.0.2"
|
||||||
checksum: 10/45e3793d44bea8e826c934a335ebf0b92c6d6dae562fdb59d8c45a16d5c11de4d6692b5fa7eebca969881f06b81b55f8535883bfbc727b597d601709fa5a2bb2
|
picomatch: "npm:^2.3.1"
|
||||||
languageName: node
|
checksum: 10/a749888789fc15cac0e03273844dbd749f9f8e8d64e70c564bcf06a033129554c789bb9e30d7566d7ff6596611a08e58ac12cf2a05f6e3c9c47c50c4c7e12fa2
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"moment@npm:^2.29.4":
|
|
||||||
version: 2.30.1
|
|
||||||
resolution: "moment@npm:2.30.1"
|
|
||||||
checksum: 10/ae42d876d4ec831ef66110bdc302c0657c664991e45cf2afffc4b0f6cd6d251dde11375c982a5c0564ccc0fa593fc564576ddceb8c8845e87c15f58aa6baca69
|
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -851,14 +967,14 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg-connection-string@npm:^2.6.1, pg-connection-string@npm:^2.6.2":
|
"pg-connection-string@npm:^2.5.0, pg-connection-string@npm:^2.6.2":
|
||||||
version: 2.6.2
|
version: 2.6.2
|
||||||
resolution: "pg-connection-string@npm:2.6.2"
|
resolution: "pg-connection-string@npm:2.6.2"
|
||||||
checksum: 10/22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5
|
checksum: 10/22265882c3b6f2320785378d0760b051294a684989163d5a1cde4009e64e84448d7bf67d9a7b9e7f69440c3ee9e2212f9aa10dd17ad6773f6143c6020cebbcb5
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"pg-hstore@npm:2.3.4":
|
"pg-hstore@npm:2.3.4, pg-hstore@npm:^2.3.4":
|
||||||
version: 2.3.4
|
version: 2.3.4
|
||||||
resolution: "pg-hstore@npm:2.3.4"
|
resolution: "pg-hstore@npm:2.3.4"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -958,6 +1074,20 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"picomatch@npm:^2.3.1":
|
||||||
|
version: 2.3.1
|
||||||
|
resolution: "picomatch@npm:2.3.1"
|
||||||
|
checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"postgres-array@npm:3.0.2, postgres-array@npm:~3.0.1":
|
||||||
|
version: 3.0.2
|
||||||
|
resolution: "postgres-array@npm:3.0.2"
|
||||||
|
checksum: 10/0159517e4e5f263bf9e324f0c4d3c10244a294021f2b5980abc8c23afdb965370a7fc0c82012fce4d28e83186ad089b6476b05fcef6c88f8e43e37a3a2fa0ad5
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"postgres-array@npm:~2.0.0":
|
"postgres-array@npm:~2.0.0":
|
||||||
version: 2.0.0
|
version: 2.0.0
|
||||||
resolution: "postgres-array@npm:2.0.0"
|
resolution: "postgres-array@npm:2.0.0"
|
||||||
@ -965,13 +1095,6 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"postgres-array@npm:~3.0.1":
|
|
||||||
version: 3.0.2
|
|
||||||
resolution: "postgres-array@npm:3.0.2"
|
|
||||||
checksum: 10/0159517e4e5f263bf9e324f0c4d3c10244a294021f2b5980abc8c23afdb965370a7fc0c82012fce4d28e83186ad089b6476b05fcef6c88f8e43e37a3a2fa0ad5
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"postgres-bytea@npm:~1.0.0":
|
"postgres-bytea@npm:~1.0.0":
|
||||||
version: 1.0.0
|
version: 1.0.0
|
||||||
resolution: "postgres-bytea@npm:1.0.0"
|
resolution: "postgres-bytea@npm:1.0.0"
|
||||||
@ -1025,6 +1148,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"queue-microtask@npm:^1.2.2":
|
||||||
|
version: 1.2.3
|
||||||
|
resolution: "queue-microtask@npm:1.2.3"
|
||||||
|
checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"redis@npm:4.6.13":
|
"redis@npm:4.6.13":
|
||||||
version: 4.6.13
|
version: 4.6.13
|
||||||
resolution: "redis@npm:4.6.13"
|
resolution: "redis@npm:4.6.13"
|
||||||
@ -1046,13 +1176,29 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"retry-as-promised@npm:^7.0.4":
|
"retry-as-promised@npm:^7.0.3":
|
||||||
version: 7.0.4
|
version: 7.0.4
|
||||||
resolution: "retry-as-promised@npm:7.0.4"
|
resolution: "retry-as-promised@npm:7.0.4"
|
||||||
checksum: 10/cd9fd20e990c6980a2979348fbc198aa4a065f03242c1cd7782372da7054253927e0803291c843db07255a38d255936cc0f9da55bf826c9f75443a9dedb8bf4b
|
checksum: 10/cd9fd20e990c6980a2979348fbc198aa4a065f03242c1cd7782372da7054253927e0803291c843db07255a38d255936cc0f9da55bf826c9f75443a9dedb8bf4b
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"reusify@npm:^1.0.4":
|
||||||
|
version: 1.0.4
|
||||||
|
resolution: "reusify@npm:1.0.4"
|
||||||
|
checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"run-parallel@npm:^1.1.9":
|
||||||
|
version: 1.2.0
|
||||||
|
resolution: "run-parallel@npm:1.2.0"
|
||||||
|
dependencies:
|
||||||
|
queue-microtask: "npm:^1.2.2"
|
||||||
|
checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"seedrandom@npm:^3.0.5":
|
"seedrandom@npm:^3.0.5":
|
||||||
version: 3.0.5
|
version: 3.0.5
|
||||||
resolution: "seedrandom@npm:3.0.5"
|
resolution: "seedrandom@npm:3.0.5"
|
||||||
@ -1060,7 +1206,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"semver@npm:^7.5.4":
|
"semver@npm:^7.3.7":
|
||||||
version: 7.6.0
|
version: 7.6.0
|
||||||
resolution: "semver@npm:7.6.0"
|
resolution: "semver@npm:7.6.0"
|
||||||
dependencies:
|
dependencies:
|
||||||
@ -1071,64 +1217,21 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"sequelize-pool@npm:^7.1.0":
|
"sequelize-pool@npm:^8.0.0":
|
||||||
version: 7.1.0
|
version: 8.0.0
|
||||||
resolution: "sequelize-pool@npm:7.1.0"
|
resolution: "sequelize-pool@npm:8.0.0"
|
||||||
checksum: 10/eeb0837451afb245cf3aece5d93c50ef051bd7f4397c4e578f8cbf41ebf485e0acd887c1aa3f4394b80dc874229a32ce5aafeaa2f00ec3ecc5dfcc518bd7bf7e
|
checksum: 10/c449ec2f3444f75372fde505bf26a22724ee7336192fd7937e546759bca19256fefd39970230b4eb11f1dcb106607dae7085e14e3dc8e3c1a90d30f7874de204
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"sequelize@npm:6.37.1":
|
"simple-git@npm:3.23.0":
|
||||||
version: 6.37.1
|
version: 3.23.0
|
||||||
resolution: "sequelize@npm:6.37.1"
|
resolution: "simple-git@npm:3.23.0"
|
||||||
dependencies:
|
|
||||||
"@types/debug": "npm:^4.1.8"
|
|
||||||
"@types/validator": "npm:^13.7.17"
|
|
||||||
debug: "npm:^4.3.4"
|
|
||||||
dottie: "npm:^2.0.6"
|
|
||||||
inflection: "npm:^1.13.4"
|
|
||||||
lodash: "npm:^4.17.21"
|
|
||||||
moment: "npm:^2.29.4"
|
|
||||||
moment-timezone: "npm:^0.5.43"
|
|
||||||
pg-connection-string: "npm:^2.6.1"
|
|
||||||
retry-as-promised: "npm:^7.0.4"
|
|
||||||
semver: "npm:^7.5.4"
|
|
||||||
sequelize-pool: "npm:^7.1.0"
|
|
||||||
toposort-class: "npm:^1.0.1"
|
|
||||||
uuid: "npm:^8.3.2"
|
|
||||||
validator: "npm:^13.9.0"
|
|
||||||
wkx: "npm:^0.5.0"
|
|
||||||
peerDependenciesMeta:
|
|
||||||
ibm_db:
|
|
||||||
optional: true
|
|
||||||
mariadb:
|
|
||||||
optional: true
|
|
||||||
mysql2:
|
|
||||||
optional: true
|
|
||||||
oracledb:
|
|
||||||
optional: true
|
|
||||||
pg:
|
|
||||||
optional: true
|
|
||||||
pg-hstore:
|
|
||||||
optional: true
|
|
||||||
snowflake-sdk:
|
|
||||||
optional: true
|
|
||||||
sqlite3:
|
|
||||||
optional: true
|
|
||||||
tedious:
|
|
||||||
optional: true
|
|
||||||
checksum: 10/05be9a1e67c444a0a9c2951cd9b0fd7ac08ed2b81671307ca631b4c7597f357b53a26cdff3a3e39a3cd0a927abfce18afc7a472957fcb17b4e26aa5caca97e3c
|
|
||||||
languageName: node
|
|
||||||
linkType: hard
|
|
||||||
|
|
||||||
"simple-git@npm:3.22.0":
|
|
||||||
version: 3.22.0
|
|
||||||
resolution: "simple-git@npm:3.22.0"
|
|
||||||
dependencies:
|
dependencies:
|
||||||
"@kwsites/file-exists": "npm:^1.1.1"
|
"@kwsites/file-exists": "npm:^1.1.1"
|
||||||
"@kwsites/promise-deferred": "npm:^1.1.1"
|
"@kwsites/promise-deferred": "npm:^1.1.1"
|
||||||
debug: "npm:^4.3.4"
|
debug: "npm:^4.3.4"
|
||||||
checksum: 10/309e7f0b73550f99949c0c6cfd4b4799ec0452fc4835dc440f89ec9351fe553c979c4e2bf7a772308e608697d3a27512281fbc64df0328a73607641f389b0aaf
|
checksum: 10/08ddfcbc310bfeaba066ef7b0d178967d9984aa1bc5e29f0360d166b0ccf820a3e5bb67d02036fca40fde6cdfc998f2b5fb2db9a8bbbad29b4feb4c1391f39e0
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1146,12 +1249,12 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"systeminformation@npm:5.22.0":
|
"systeminformation@npm:5.22.3":
|
||||||
version: 5.22.0
|
version: 5.22.3
|
||||||
resolution: "systeminformation@npm:5.22.0"
|
resolution: "systeminformation@npm:5.22.3"
|
||||||
bin:
|
bin:
|
||||||
systeminformation: lib/cli.js
|
systeminformation: lib/cli.js
|
||||||
checksum: 10/a739041bf0ef572eaebd06819ed54bb5f4a785793e3d542f16f39914ae5bbbf7d44b204ec936dcf560056709e97e2e55c11ee3ceda7b9585e778979f63ab7e3b
|
checksum: 10/a4b0bf49e5319424c828aff805a7cf158235ec79407039acfa13133e9dcfe2b6121aaafeffec94cae45dc85899dd91fd00583a4bc018ed507d38a4aea7ae6459
|
||||||
conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android)
|
conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android)
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
@ -1163,6 +1266,15 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"to-regex-range@npm:^5.0.1":
|
||||||
|
version: 5.0.1
|
||||||
|
resolution: "to-regex-range@npm:5.0.1"
|
||||||
|
dependencies:
|
||||||
|
is-number: "npm:^7.0.0"
|
||||||
|
checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"toposort-class@npm:^1.0.1":
|
"toposort-class@npm:^1.0.1":
|
||||||
version: 1.0.1
|
version: 1.0.1
|
||||||
resolution: "toposort-class@npm:1.0.1"
|
resolution: "toposort-class@npm:1.0.1"
|
||||||
@ -1184,6 +1296,13 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
|
"type-fest@npm:^3.0.0":
|
||||||
|
version: 3.13.1
|
||||||
|
resolution: "type-fest@npm:3.13.1"
|
||||||
|
checksum: 10/9a8a2359ada34c9b3affcaf3a8f73ee14c52779e89950db337ce66fb74c3399776c697c99f2532e9b16e10e61cfdba3b1c19daffb93b338b742f0acd0117ce12
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
"typed-function@npm:^4.1.1":
|
"typed-function@npm:^4.1.1":
|
||||||
version: 4.1.1
|
version: 4.1.1
|
||||||
resolution: "typed-function@npm:4.1.1"
|
resolution: "typed-function@npm:4.1.1"
|
||||||
@ -1243,10 +1362,10 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"undici@npm:6.7.1":
|
"undici@npm:6.9.0":
|
||||||
version: 6.7.1
|
version: 6.9.0
|
||||||
resolution: "undici@npm:6.7.1"
|
resolution: "undici@npm:6.9.0"
|
||||||
checksum: 10/7e66eb7fb6b3641efc9381b335334a7fe0d69d4b8004147b2a7658f279adfd392fb908acf71627e2cd1f863d9ab4d5b1470139364468d486ab69aee43a8246e5
|
checksum: 10/ee227517586f96b73db3b7a24387f101d191df6a6395ec0199688d6e56195dbe8c9d3456be2fa4a70af30fb1a9a905142826f9bf89c328dec842f00b55e9e5c2
|
||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
@ -1257,7 +1376,7 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"uuid@npm:8.3.2, uuid@npm:^8.3.2":
|
"uuid@npm:8.3.2":
|
||||||
version: 8.3.2
|
version: 8.3.2
|
||||||
resolution: "uuid@npm:8.3.2"
|
resolution: "uuid@npm:8.3.2"
|
||||||
bin:
|
bin:
|
||||||
@ -1266,7 +1385,16 @@ __metadata:
|
|||||||
languageName: node
|
languageName: node
|
||||||
linkType: hard
|
linkType: hard
|
||||||
|
|
||||||
"validator@npm:^13.9.0":
|
"uuid@npm:^9.0.0":
|
||||||
|
version: 9.0.1
|
||||||
|
resolution: "uuid@npm:9.0.1"
|
||||||
|
bin:
|
||||||
|
uuid: dist/bin/uuid
|
||||||
|
checksum: 10/9d0b6adb72b736e36f2b1b53da0d559125ba3e39d913b6072f6f033e0c87835b414f0836b45bcfaf2bdf698f92297fea1c3cc19b0b258bc182c9c43cc0fab9f2
|
||||||
|
languageName: node
|
||||||
|
linkType: hard
|
||||||
|
|
||||||
|
"validator@npm:^13.7.0":
|
||||||
version: 13.11.0
|
version: 13.11.0
|
||||||
resolution: "validator@npm:13.11.0"
|
resolution: "validator@npm:13.11.0"
|
||||||
checksum: 10/4bf094641eb71729c06a42d669840e7189597ba655a8264adabac9bf03f95cd6fde5fbc894b0a13ee861bd4a852f56d2afdc9391aeaeb3fc0f9633a974140e12
|
checksum: 10/4bf094641eb71729c06a42d669840e7189597ba655a8264adabac9bf03f95cd6fde5fbc894b0a13ee861bd4a852f56d2afdc9391aeaeb3fc0f9633a974140e12
|
||||||
|
Loading…
Reference in New Issue
Block a user