diff --git a/package.json b/package.json index c2f3628..3820ad3 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "datadrop", - "version": "1.11.1", + "version": "1.11.2", "type": "module", "main": "./build/index.js", "scripts": { @@ -27,12 +27,12 @@ "@hunteroi/discord-verification": "^1.5.0", "discord.js": "^14.16.2", "dotenv": "^16.4.5", - "ts-postgres": "1.3.0" "nodemailer": "^6.9.1", + "ts-postgres": "1.3.0" }, "devDependencies": { "@types/node": "^20.12.7", - "@types/nodemailer": "^6.4.7", + "@types/nodemailer": "^6.4.7", "@typescript-eslint/eslint-plugin": "^7.6.0", "@typescript-eslint/parser": "^7.6.0", "eslint": "^9.0.0", diff --git a/src/datadrop.ts b/src/datadrop.ts index 7c40cb3..b83eb24 100644 --- a/src/datadrop.ts +++ b/src/datadrop.ts @@ -5,12 +5,10 @@ import { LogEventLevel, DefaultLogger, ConsoleLogger } from '@hunteroi/advanced- import { InteractionsSelfRoleManager, RoleToEmojiData, SelfRoleManagerEvents } from '@hunteroi/discord-selfrole'; import { ChildChannelData, ParentChannelData, TempChannelsManager, TempChannelsManagerEvents } from '@hunteroi/discord-temp-channels'; import { VerificationManager, VerificationManagerEvents } from '@hunteroi/discord-verification'; -import { SendGridService } from '@hunteroi/discord-verification/lib/services/SendGridService'; -import * as path from 'path'; import { PostgresDatabaseService, SMTPService } from './services/index.js'; import { getErrorMessage, readFilesFrom } from './helpers.js'; -import { Configuration, User, IDatabaseService } from './models/index.js'; +import { Configuration, IDatabaseService, User } from './models/index.js'; import { readConfig } from './config.js'; export class DatadropClient extends Client { diff --git a/src/events/error.ts b/src/events/error.ts index cff785f..a81d0e8 100644 --- a/src/events/error.ts +++ b/src/events/error.ts @@ -1,5 +1,5 @@ -import { DatadropClient } from '../datadrop'; +import { DatadropClient } from '../datadrop.js'; -module.exports = async (client: DatadropClient, error: Error) => { +export default async function error(client: DatadropClient, error: Error) { client.logger.error(`${error.name}: ${error.message}\n${error.cause}\n${error.stack}`); -}; +} diff --git a/src/events/interactionCreate.ts b/src/events/interactionCreate.ts index 1c24af2..75a29b3 100644 --- a/src/events/interactionCreate.ts +++ b/src/events/interactionCreate.ts @@ -1,6 +1,6 @@ import { ActionRowBuilder, ButtonBuilder, ButtonInteraction, ButtonStyle, Interaction, italic, ModalBuilder, ModalSubmitInteraction, RepliableInteraction, TextInputBuilder, TextInputStyle } from 'discord.js'; -import { DatadropClient } from 'src/datadrop.js'; +import { DatadropClient } from '../datadrop.js'; export default async function interactionCreate(client: DatadropClient, interaction: Interaction) { if (isVerificationButton(interaction)) { diff --git a/src/events/messageCreate.ts b/src/events/messageCreate.ts index acc791c..d391f1a 100644 --- a/src/events/messageCreate.ts +++ b/src/events/messageCreate.ts @@ -1,4 +1,5 @@ import { ChannelType, Message } from 'discord.js'; + import { DatadropClient } from '../datadrop.js'; const escapeRegex = (str: string | null | undefined) => str?.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); diff --git a/src/models/Configuration.ts b/src/models/Configuration.ts index 912f86d..3a2cff0 100644 --- a/src/models/Configuration.ts +++ b/src/models/Configuration.ts @@ -1,7 +1,5 @@ import { Snowflake } from 'discord.js'; -import { SendGridOptions } from '@hunteroi/discord-verification/lib/services/SendGridService.js'; - import { SMTPServiceOptions } from '../services/SMTPService.js'; export interface SpecialRoleConfiguration { diff --git a/src/models/index.ts b/src/models/index.ts index 0329ba4..18ba038 100644 --- a/src/models/index.ts +++ b/src/models/index.ts @@ -1,3 +1,5 @@ -export * from './Configuration'; -export * from './IDatabaseService'; -export * from './User'; +import { Configuration } from './Configuration.js'; +import { IDatabaseService } from './IDatabaseService.js'; +import { User } from './User.js'; + +export { Configuration, IDatabaseService, User }; diff --git a/src/services/PostgresDatabaseService.ts b/src/services/PostgresDatabaseService.ts index 6ff8afc..e741c7f 100644 --- a/src/services/PostgresDatabaseService.ts +++ b/src/services/PostgresDatabaseService.ts @@ -3,8 +3,7 @@ import { Client, DatabaseError, PreparedStatement, Value } from 'ts-postgres'; import { ConsoleLogger } from '@hunteroi/advanced-logger'; -import { User } from '../models/User.js'; -import { IDatabaseService } from '../models/IDatabaseService.js'; +import { User, IDatabaseService } from '../models/index.js'; export default class PostgresDatabaseService implements IDatabaseService { #logger: ConsoleLogger; diff --git a/src/services/SMTPService.ts b/src/services/SMTPService.ts index 47f8f3a..94145fa 100644 --- a/src/services/SMTPService.ts +++ b/src/services/SMTPService.ts @@ -1,7 +1,8 @@ -import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; import { createTransport } from 'nodemailer'; import SMTPTransport from 'nodemailer/lib/smtp-transport'; +import { ISenderAPI, SenderAPIData } from '@hunteroi/discord-verification'; + export type SMTPServiceOptions = SMTPTransport.Options; export default class SMTPService implements ISenderAPI { diff --git a/src/services/index.ts b/src/services/index.ts index 0f19454..eb24101 100644 --- a/src/services/index.ts +++ b/src/services/index.ts @@ -1,4 +1,4 @@ -import PostgresDatabaseService from './PostgresDatabaseService'; -import SMTPService from './SMTPService'; +import PostgresDatabaseService from './PostgresDatabaseService.js'; +import SMTPService from './SMTPService.js'; export { PostgresDatabaseService, SMTPService }; diff --git a/yarn.lock b/yarn.lock index bba3d14..01195d3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -192,29 +192,6 @@ resolved "https://registry.yarnpkg.com/@sapphire/snowflake/-/snowflake-3.5.3.tgz#0c102aa2ec5b34f806e9bc8625fc6a5e1d0a0c6a" integrity sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ== -"@sendgrid/client@^8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-8.1.3.tgz#51fd4a318627c4b615ff98e35609e98486a3bd6f" - integrity sha512-mRwTticRZIdUTsnyzvlK6dMu3jni9ci9J+dW/6fMMFpGRAJdCJlivFVYQvqk8kRS3RnFzS7sf6BSmhLl1ldDhA== - dependencies: - "@sendgrid/helpers" "^8.0.0" - axios "^1.6.8" - -"@sendgrid/helpers@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@sendgrid/helpers/-/helpers-8.0.0.tgz#f74bf9743bacafe4c8573be46166130c604c0fc1" - integrity sha512-Ze7WuW2Xzy5GT5WRx+yEv89fsg/pgy3T1E3FS0QEx0/VvRmigMZ5qyVGhJz4SxomegDkzXv/i0aFPpHKN8qdAA== - dependencies: - deepmerge "^4.2.2" - -"@sendgrid/mail@8.1.3": - version "8.1.3" - resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-8.1.3.tgz#d371cbddcd2e8ca9469a68d1ed0c6b3a5c365e5e" - integrity sha512-Wg5iKSUOER83/cfY6rbPa+o3ChnYzWwv1OcsR8gCV8SKi+sUPIMroildimlnb72DBkQxcbylxng1W7f0RIX7MQ== - dependencies: - "@sendgrid/client" "^8.1.3" - "@sendgrid/helpers" "^8.0.0" - "@types/node@*": version "22.5.5" resolved "https://registry.yarnpkg.com/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" @@ -229,6 +206,13 @@ dependencies: undici-types "~6.19.2" +"@types/nodemailer@^6.4.7": + version "6.4.16" + resolved "https://registry.yarnpkg.com/@types/nodemailer/-/nodemailer-6.4.16.tgz#db006abcb1e1c8e6ea2fb53b27fefec3c03eaa6c" + integrity sha512-uz6hN6Pp0upXMcilM61CoKyjT7sskBoOWpptkjjJp8jIMlTdc3xG01U7proKkXzruMS4hS0zqtHNkNPFB20rKQ== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.10": version "8.5.12" resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" @@ -364,20 +348,6 @@ array-union@^2.1.0: resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -axios@^1.6.8: - version "1.7.7" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" - integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - balanced-match@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" @@ -438,13 +408,6 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" @@ -471,16 +434,6 @@ deep-is@^0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -685,20 +638,6 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== -follow-redirects@^1.15.6: - version "1.15.9" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" - integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - glob-parent@^5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -862,18 +801,6 @@ micromatch@^4.0.4: braces "^3.0.3" picomatch "^2.3.1" -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" @@ -903,6 +830,11 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== +nodemailer@^6.9.1: + version "6.9.15" + resolved "https://registry.yarnpkg.com/nodemailer/-/nodemailer-6.9.15.tgz#57b79dc522be27e0e47ac16cc860aa0673e62e04" + integrity sha512-AHf04ySLC6CIfuRtRiEYtGEXgRfa6INgWGluDhnxTZhHSKvrBu7lc1VVchQ0d8nPc4cFaZoPq8vkyNoZr0TpGQ== + optionator@^0.9.3: version "0.9.4" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" @@ -961,11 +893,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"