From 7d7d609248eef155caa899a67604f76e71bc7107 Mon Sep 17 00:00:00 2001 From: Matthew Meredith Date: Mon, 27 Oct 2025 15:14:10 -0400 Subject: [PATCH 1/4] Use the existing email configuration instead of pulling in extra gmail configuration --- src/pieces/tasks.ts | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/pieces/tasks.ts b/src/pieces/tasks.ts index 0e6bb04c..23c9665d 100644 --- a/src/pieces/tasks.ts +++ b/src/pieces/tasks.ts @@ -4,7 +4,7 @@ import { BOT, CHANNELS, DB, - GMAIL, + EMAIL, MAP_KEY } from '@root/config'; import { @@ -310,9 +310,9 @@ async function listJobs( ? `, Min: ${formattedSalaryMin}, Max: ${formattedSalaryMax}` : formattedAvgSalary; - jobList += `${i + 1}. **${jobForm[2][i].title}** - \t\t* **Salary Average:** ${formattedAvgSalary}${salaryDetails} - \t\t* **Location:** ${jobForm[2][i].location} + jobList += `${i + 1}. **${jobForm[2][i].title}** + \t\t* **Salary Average:** ${formattedAvgSalary}${salaryDetails} + \t\t* **Location:** ${jobForm[2][i].location} \t\t* **Date Posted:** ${new Date( jobForm[2][i].created ).toDateString()} at ${new Date( @@ -320,7 +320,7 @@ async function listJobs( ).toLocaleTimeString('en-US', { hour: '2-digit', minute: '2-digit' })} \t\t* **Apply here:** [read more about the job and apply here](${ jobForm[2][i].link -}) +}) \t\t* **Distance:** ${formattedDistance} ${i !== jobForm[2].length - 1 ? '\n' : ''}`; } @@ -425,8 +425,8 @@ export function stripMarkdown(message: string, owner: string): string { } export function headerMessage(owner: string, filterBy: string): string { - return `## Hey <@${owner}>! - ### **__Please read this disclaimer before reading your list of jobs/internships__:** + return `## Hey <@${owner}>! + ### **__Please read this disclaimer before reading your list of jobs/internships__:** -# Please be aware that the job listings displayed are retrieved from a third-party API. \ While we strive to provide accurate information, we cannot guarantee the legitimacy or security \ of all postings. Exercise caution when sharing personal information, submitting resumes, or registering \ @@ -451,11 +451,8 @@ async function sendEmailNotification(reminder: Reminder): Promise { // Create Gmail transporter using credentials from config const mailer = nodemailer.createTransport({ - service: 'gmail', - auth: { - user: GMAIL.USER, - pass: GMAIL.APP_PASSWORD - } + host: 'mail.udel.edu', + port: 25 }); try { @@ -489,7 +486,8 @@ async function sendEmailNotification(reminder: Reminder): Promise { // Send the email await mailer.sendMail({ - from: GMAIL.USER, + from: EMAIL.SENDER, + replyTo: EMAIL.REPLY_TO, to: reminder.emailAddress, subject: subject, html: htmlContent @@ -533,7 +531,7 @@ async function checkReminders(bot: Client): Promise { user.send(message).catch((err) => { console.log('ERROR:', err); pubChan.send( - `<@${reminder.owner}>, I tried to send you a DM about your private reminder but it looks like you have DMs closed. Please enable DMs in the future if + `<@${reminder.owner}>, I tried to send you a DM about your private reminder but it looks like you have DMs closed. Please enable DMs in the future if you'd like to get private reminders.` ); }); From 182b1b4cdb09a79f4bbc3d108f2e50dfa7fa77fe Mon Sep 17 00:00:00 2001 From: Matthew Meredith Date: Mon, 27 Oct 2025 15:22:56 -0400 Subject: [PATCH 2/4] fix bad naming of config vars --- src/commands/jobs/histogram.ts | 4 ++-- src/commands/jobs/jobs.ts | 4 ++-- src/lib/utils/jobUtils/Adzuna_job_search.ts | 7 +++---- src/pieces/tasks.ts | 10 +++++----- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/commands/jobs/histogram.ts b/src/commands/jobs/histogram.ts index 12475050..ce6ffcf6 100644 --- a/src/commands/jobs/histogram.ts +++ b/src/commands/jobs/histogram.ts @@ -1,4 +1,4 @@ -import { APP_ID, APP_KEY } from '@root/config'; +import { ADZUNA_APP_ID, ADZUNA_APP_KEY } from '@root/config'; import { Command } from '@root/src/lib/types/Command'; import axios from 'axios'; import { ApplicationCommandOptionData, ApplicationCommandOptionType, ChatInputCommandInteraction, InteractionResponse } from 'discord.js'; @@ -24,7 +24,7 @@ export default class extends Command { const jobTitle = interaction.options.getString('job'); const encodedJobTitle = encodeURIComponent(jobTitle); // Encode the job title for the URL - const URL_BASE = `https://api.adzuna.com/v1/api/jobs/us/histogram?app_id=${APP_ID}&app_key=${APP_KEY}&what=${encodedJobTitle}`; + const URL_BASE = `https://api.adzuna.com/v1/api/jobs/us/histogram?app_id=${ADZUNA_APP_ID}&app_key=${ADZUNA_APP_KEY}&what=${encodedJobTitle}`; const response = await axios.get(URL_BASE); const data = Object.entries(response.data.histogram).map(([value, frequency]: [string, number]) => ({ diff --git a/src/commands/jobs/jobs.ts b/src/commands/jobs/jobs.ts index e19b7f7f..3dff16e0 100644 --- a/src/commands/jobs/jobs.ts +++ b/src/commands/jobs/jobs.ts @@ -26,7 +26,7 @@ import { JobResult } from '@root/src/lib/types/JobResult'; import { Interest } from '@root/src/lib/types/Interest'; import { JobData } from '@root/src/lib/types/JobData'; import { Command } from '@lib/types/Command'; -import { DB, BOT, MAP_KEY } from '@root/config'; +import { DB, BOT, GOOGLE_MAPS_KEY } from '@root/config'; import { MongoClient } from 'mongodb'; import axios from 'axios'; import { JobPreferences } from '@root/src/lib/types/JobPreferences'; @@ -577,7 +577,7 @@ export default class extends Command { async queryCoordinates(location: string): Promise<{ lat: number; lng: number }> { const preferredCity = encodeURIComponent(location); - const baseURL = `https://maps.googleapis.com/maps/api/geocode/json?address=${preferredCity}&components=country:US&key=${MAP_KEY}`; + const baseURL = `https://maps.googleapis.com/maps/api/geocode/json?address=${preferredCity}&components=country:US&key=${GOOGLE_MAPS_KEY}`; const response = await axios.get(baseURL); return { lat: response.data.results[0].geometry.location.lat, diff --git a/src/lib/utils/jobUtils/Adzuna_job_search.ts b/src/lib/utils/jobUtils/Adzuna_job_search.ts index 82fb2b54..46abf51b 100644 --- a/src/lib/utils/jobUtils/Adzuna_job_search.ts +++ b/src/lib/utils/jobUtils/Adzuna_job_search.ts @@ -1,5 +1,5 @@ import axios from 'axios'; -import { APP_ID, APP_KEY } from '@root/config'; +import { ADZUNA_APP_ID, ADZUNA_APP_KEY } from '@root/config'; import { JobData } from '../../types/JobData'; import { Interest } from '../../types/Interest'; import { JobListing } from '../../types/JobListing'; @@ -57,8 +57,8 @@ export default async function fetchJobListings(jobData: JobData, interests?: Int 'Media', 'Radiologist', 'Producer', 'examiner', 'Physician', 'Medical', 'Cardiovascular', 'Purificiation', 'Residential']; const URL_BASE - = `https://api.adzuna.com/v1/api/jobs/us/search/1?app_id=${APP_ID}` + - `&app_key=${APP_KEY}` + + = `https://api.adzuna.com/v1/api/jobs/us/search/1?app_id=${ADZUNA_APP_ID}` + + `&app_key=${ADZUNA_APP_KEY}` + `&results_per_page=10` + `&what=${JOB_TYPE}` + `&what_or=${encodedWhatOr}` + @@ -90,4 +90,3 @@ export default async function fetchJobListings(jobData: JobData, interests?: Int throw error; } } - diff --git a/src/pieces/tasks.ts b/src/pieces/tasks.ts index 23c9665d..6834a769 100644 --- a/src/pieces/tasks.ts +++ b/src/pieces/tasks.ts @@ -1,11 +1,11 @@ import { - APP_ID, - APP_KEY, + ADZUNA_APP_ID, + ADZUNA_APP_KEY, BOT, CHANNELS, DB, EMAIL, - MAP_KEY + GOOGLE_MAPS_KEY } from '@root/config'; import { ActionRowBuilder, @@ -221,7 +221,7 @@ async function queryCoordinates( ): Promise<{ lat: number; lng: number }> { const preferredCity = encodeURIComponent(location); - const baseURL = `https://maps.google.com/maps/api/geocode/json?address=${preferredCity}&components=country:US&key=${MAP_KEY}`; + const baseURL = `https://maps.google.com/maps/api/geocode/json?address=${preferredCity}&components=country:US&key=${GOOGLE_MAPS_KEY}`; const response = await axios.get(baseURL); const coordinates: { lat: number; lng: number } = { lat: response.data.results[0].geometry.location.lat, @@ -724,7 +724,7 @@ export async function generateJobPDF( ]; const jobTitle = encodeURIComponent(job.title); - const URL_BASE = `https://api.adzuna.com/v1/api/jobs/us/histogram?app_id=${APP_ID}&app_key=${APP_KEY}&what=${jobTitle}`; + const URL_BASE = `https://api.adzuna.com/v1/api/jobs/us/histogram?app_id=${ADZUNA_APP_ID}&app_key=${ADZUNA_APP_KEY}&what=${jobTitle}`; const response = await axios.get(URL_BASE); const data = Object.entries(response.data.histogram).map( From 1dbcab99d3eb718910189345b8908ed42ddb5ab1 Mon Sep 17 00:00:00 2001 From: Matthew Meredith Date: Mon, 27 Oct 2025 15:23:17 -0400 Subject: [PATCH 3/4] remove build info from vcs --- build/config.gypi | 514 ---------------------------------------------- 1 file changed, 514 deletions(-) delete mode 100644 build/config.gypi diff --git a/build/config.gypi b/build/config.gypi deleted file mode 100644 index b03c9a66..00000000 --- a/build/config.gypi +++ /dev/null @@ -1,514 +0,0 @@ -# Do not edit. File was generated by node-gyp's "configure" step -{ - "target_defaults": { - "cflags": [], - "configurations": { - "Debug": { - "v8_enable_v8_checks": 0, - "variables": {} - }, - "Release": { - "v8_enable_v8_checks": 1, - "variables": {} - } - }, - "default_configuration": "Release", - "defines": [], - "include_dirs": [], - "libraries": [], - "msvs_configuration_platform": "ARM64", - "xcode_configuration_platform": "arm64" - }, - "variables": { - "arm_fpu": "neon", - "asan": 0, - "clang": 1, - "control_flow_guard": "false", - "coverage": "false", - "dcheck_always_on": 0, - "debug_nghttp2": "false", - "debug_node": "false", - "enable_lto": "false", - "enable_pgo_generate": "false", - "enable_pgo_use": "false", - "error_on_warn": "false", - "force_dynamic_crt": 0, - "host_arch": "arm64", - "icu_data_in": "../../deps/icu-tmp/icudt76l.dat", - "icu_endianness": "l", - "icu_gyp_path": "tools/icu/icu-generic.gyp", - "icu_path": "deps/icu-small", - "icu_small": "false", - "icu_ver_major": "76", - "libdir": "lib", - "llvm_version": "16.0", - "napi_build_version": "0", - "node_builtin_shareable_builtins": [ - "deps/cjs-module-lexer/lexer.js", - "deps/cjs-module-lexer/dist/lexer.js", - "deps/undici/undici.js", - "deps/amaro/dist/index.js" - ], - "node_byteorder": "little", - "node_cctest_sources": [ - "src/node_snapshot_stub.cc", - "test/cctest/inspector/test_node_protocol.cc", - "test/cctest/node_test_fixture.cc", - "test/cctest/test_aliased_buffer.cc", - "test/cctest/test_base64.cc", - "test/cctest/test_base_object_ptr.cc", - "test/cctest/test_cppgc.cc", - "test/cctest/test_crypto_clienthello.cc", - "test/cctest/test_dataqueue.cc", - "test/cctest/test_environment.cc", - "test/cctest/test_inspector_socket.cc", - "test/cctest/test_inspector_socket_server.cc", - "test/cctest/test_json_utils.cc", - "test/cctest/test_linked_binding.cc", - "test/cctest/test_node_api.cc", - "test/cctest/test_node_crypto.cc", - "test/cctest/test_node_crypto_env.cc", - "test/cctest/test_node_postmortem_metadata.cc", - "test/cctest/test_node_task_runner.cc", - "test/cctest/test_path.cc", - "test/cctest/test_per_process.cc", - "test/cctest/test_platform.cc", - "test/cctest/test_quic_cid.cc", - "test/cctest/test_quic_error.cc", - "test/cctest/test_quic_tokens.cc", - "test/cctest/test_report.cc", - "test/cctest/test_sockaddr.cc", - "test/cctest/test_traced_value.cc", - "test/cctest/test_util.cc", - "test/cctest/node_test_fixture.h" - ], - "node_debug_lib": "false", - "node_enable_d8": "false", - "node_enable_v8_vtunejit": "false", - "node_fipsinstall": "false", - "node_install_corepack": "true", - "node_install_npm": "true", - "node_library_files": [ - "lib/_http_agent.js", - "lib/_http_client.js", - "lib/_http_common.js", - "lib/_http_incoming.js", - "lib/_http_outgoing.js", - "lib/_http_server.js", - "lib/_stream_duplex.js", - "lib/_stream_passthrough.js", - "lib/_stream_readable.js", - "lib/_stream_transform.js", - "lib/_stream_wrap.js", - "lib/_stream_writable.js", - "lib/_tls_common.js", - "lib/_tls_wrap.js", - "lib/assert.js", - "lib/assert/strict.js", - "lib/async_hooks.js", - "lib/buffer.js", - "lib/child_process.js", - "lib/cluster.js", - "lib/console.js", - "lib/constants.js", - "lib/crypto.js", - "lib/dgram.js", - "lib/diagnostics_channel.js", - "lib/dns.js", - "lib/dns/promises.js", - "lib/domain.js", - "lib/events.js", - "lib/fs.js", - "lib/fs/promises.js", - "lib/http.js", - "lib/http2.js", - "lib/https.js", - "lib/inspector.js", - "lib/inspector/promises.js", - "lib/internal/abort_controller.js", - "lib/internal/assert.js", - "lib/internal/assert/assertion_error.js", - "lib/internal/assert/calltracker.js", - "lib/internal/assert/myers_diff.js", - "lib/internal/assert/utils.js", - "lib/internal/async_context_frame.js", - "lib/internal/async_hooks.js", - "lib/internal/async_local_storage/async_context_frame.js", - "lib/internal/async_local_storage/async_hooks.js", - "lib/internal/blob.js", - "lib/internal/blocklist.js", - "lib/internal/bootstrap/node.js", - "lib/internal/bootstrap/realm.js", - "lib/internal/bootstrap/shadow_realm.js", - "lib/internal/bootstrap/switches/does_not_own_process_state.js", - "lib/internal/bootstrap/switches/does_own_process_state.js", - "lib/internal/bootstrap/switches/is_main_thread.js", - "lib/internal/bootstrap/switches/is_not_main_thread.js", - "lib/internal/bootstrap/web/exposed-wildcard.js", - "lib/internal/bootstrap/web/exposed-window-or-worker.js", - "lib/internal/buffer.js", - "lib/internal/child_process.js", - "lib/internal/child_process/serialization.js", - "lib/internal/cli_table.js", - "lib/internal/cluster/child.js", - "lib/internal/cluster/primary.js", - "lib/internal/cluster/round_robin_handle.js", - "lib/internal/cluster/shared_handle.js", - "lib/internal/cluster/utils.js", - "lib/internal/cluster/worker.js", - "lib/internal/console/constructor.js", - "lib/internal/console/global.js", - "lib/internal/constants.js", - "lib/internal/crypto/aes.js", - "lib/internal/crypto/certificate.js", - "lib/internal/crypto/cfrg.js", - "lib/internal/crypto/cipher.js", - "lib/internal/crypto/diffiehellman.js", - "lib/internal/crypto/ec.js", - "lib/internal/crypto/hash.js", - "lib/internal/crypto/hashnames.js", - "lib/internal/crypto/hkdf.js", - "lib/internal/crypto/keygen.js", - "lib/internal/crypto/keys.js", - "lib/internal/crypto/mac.js", - "lib/internal/crypto/pbkdf2.js", - "lib/internal/crypto/random.js", - "lib/internal/crypto/rsa.js", - "lib/internal/crypto/scrypt.js", - "lib/internal/crypto/sig.js", - "lib/internal/crypto/util.js", - "lib/internal/crypto/webcrypto.js", - "lib/internal/crypto/webidl.js", - "lib/internal/crypto/x509.js", - "lib/internal/data_url.js", - "lib/internal/debugger/inspect.js", - "lib/internal/debugger/inspect_client.js", - "lib/internal/debugger/inspect_repl.js", - "lib/internal/dgram.js", - "lib/internal/dns/callback_resolver.js", - "lib/internal/dns/promises.js", - "lib/internal/dns/utils.js", - "lib/internal/encoding.js", - "lib/internal/error_serdes.js", - "lib/internal/errors.js", - "lib/internal/event_target.js", - "lib/internal/events/abort_listener.js", - "lib/internal/events/symbols.js", - "lib/internal/file.js", - "lib/internal/fixed_queue.js", - "lib/internal/freelist.js", - "lib/internal/freeze_intrinsics.js", - "lib/internal/fs/cp/cp-sync.js", - "lib/internal/fs/cp/cp.js", - "lib/internal/fs/dir.js", - "lib/internal/fs/glob.js", - "lib/internal/fs/promises.js", - "lib/internal/fs/read/context.js", - "lib/internal/fs/recursive_watch.js", - "lib/internal/fs/rimraf.js", - "lib/internal/fs/streams.js", - "lib/internal/fs/sync_write_stream.js", - "lib/internal/fs/utils.js", - "lib/internal/fs/watchers.js", - "lib/internal/heap_utils.js", - "lib/internal/histogram.js", - "lib/internal/http.js", - "lib/internal/http2/compat.js", - "lib/internal/http2/core.js", - "lib/internal/http2/util.js", - "lib/internal/inspector/network.js", - "lib/internal/inspector/network_http.js", - "lib/internal/inspector/network_undici.js", - "lib/internal/inspector_async_hook.js", - "lib/internal/inspector_network_tracking.js", - "lib/internal/js_stream_socket.js", - "lib/internal/legacy/processbinding.js", - "lib/internal/linkedlist.js", - "lib/internal/main/check_syntax.js", - "lib/internal/main/embedding.js", - "lib/internal/main/eval_stdin.js", - "lib/internal/main/eval_string.js", - "lib/internal/main/inspect.js", - "lib/internal/main/mksnapshot.js", - "lib/internal/main/print_help.js", - "lib/internal/main/prof_process.js", - "lib/internal/main/repl.js", - "lib/internal/main/run_main_module.js", - "lib/internal/main/test_runner.js", - "lib/internal/main/watch_mode.js", - "lib/internal/main/worker_thread.js", - "lib/internal/mime.js", - "lib/internal/modules/cjs/loader.js", - "lib/internal/modules/customization_hooks.js", - "lib/internal/modules/esm/assert.js", - "lib/internal/modules/esm/create_dynamic_module.js", - "lib/internal/modules/esm/formats.js", - "lib/internal/modules/esm/get_format.js", - "lib/internal/modules/esm/hooks.js", - "lib/internal/modules/esm/initialize_import_meta.js", - "lib/internal/modules/esm/load.js", - "lib/internal/modules/esm/loader.js", - "lib/internal/modules/esm/module_job.js", - "lib/internal/modules/esm/module_map.js", - "lib/internal/modules/esm/resolve.js", - "lib/internal/modules/esm/shared_constants.js", - "lib/internal/modules/esm/translators.js", - "lib/internal/modules/esm/utils.js", - "lib/internal/modules/esm/worker.js", - "lib/internal/modules/helpers.js", - "lib/internal/modules/package_json_reader.js", - "lib/internal/modules/run_main.js", - "lib/internal/modules/typescript.js", - "lib/internal/navigator.js", - "lib/internal/net.js", - "lib/internal/options.js", - "lib/internal/per_context/domexception.js", - "lib/internal/per_context/messageport.js", - "lib/internal/per_context/primordials.js", - "lib/internal/perf/event_loop_delay.js", - "lib/internal/perf/event_loop_utilization.js", - "lib/internal/perf/nodetiming.js", - "lib/internal/perf/observe.js", - "lib/internal/perf/performance.js", - "lib/internal/perf/performance_entry.js", - "lib/internal/perf/resource_timing.js", - "lib/internal/perf/timerify.js", - "lib/internal/perf/usertiming.js", - "lib/internal/perf/utils.js", - "lib/internal/priority_queue.js", - "lib/internal/process/execution.js", - "lib/internal/process/finalization.js", - "lib/internal/process/per_thread.js", - "lib/internal/process/permission.js", - "lib/internal/process/pre_execution.js", - "lib/internal/process/promises.js", - "lib/internal/process/report.js", - "lib/internal/process/signal.js", - "lib/internal/process/task_queues.js", - "lib/internal/process/warning.js", - "lib/internal/process/worker_thread_only.js", - "lib/internal/promise_hooks.js", - "lib/internal/querystring.js", - "lib/internal/quic/quic.js", - "lib/internal/quic/state.js", - "lib/internal/quic/stats.js", - "lib/internal/quic/symbols.js", - "lib/internal/readline/callbacks.js", - "lib/internal/readline/emitKeypressEvents.js", - "lib/internal/readline/interface.js", - "lib/internal/readline/promises.js", - "lib/internal/readline/utils.js", - "lib/internal/repl.js", - "lib/internal/repl/await.js", - "lib/internal/repl/history.js", - "lib/internal/repl/utils.js", - "lib/internal/socket_list.js", - "lib/internal/socketaddress.js", - "lib/internal/source_map/prepare_stack_trace.js", - "lib/internal/source_map/source_map.js", - "lib/internal/source_map/source_map_cache.js", - "lib/internal/source_map/source_map_cache_map.js", - "lib/internal/stream_base_commons.js", - "lib/internal/streams/add-abort-signal.js", - "lib/internal/streams/compose.js", - "lib/internal/streams/destroy.js", - "lib/internal/streams/duplex.js", - "lib/internal/streams/duplexify.js", - "lib/internal/streams/duplexpair.js", - "lib/internal/streams/end-of-stream.js", - "lib/internal/streams/from.js", - "lib/internal/streams/lazy_transform.js", - "lib/internal/streams/legacy.js", - "lib/internal/streams/operators.js", - "lib/internal/streams/passthrough.js", - "lib/internal/streams/pipeline.js", - "lib/internal/streams/readable.js", - "lib/internal/streams/state.js", - "lib/internal/streams/transform.js", - "lib/internal/streams/utils.js", - "lib/internal/streams/writable.js", - "lib/internal/test/binding.js", - "lib/internal/test/transfer.js", - "lib/internal/test_runner/assert.js", - "lib/internal/test_runner/coverage.js", - "lib/internal/test_runner/harness.js", - "lib/internal/test_runner/mock/loader.js", - "lib/internal/test_runner/mock/mock.js", - "lib/internal/test_runner/mock/mock_timers.js", - "lib/internal/test_runner/reporter/dot.js", - "lib/internal/test_runner/reporter/junit.js", - "lib/internal/test_runner/reporter/lcov.js", - "lib/internal/test_runner/reporter/spec.js", - "lib/internal/test_runner/reporter/tap.js", - "lib/internal/test_runner/reporter/utils.js", - "lib/internal/test_runner/reporter/v8-serializer.js", - "lib/internal/test_runner/runner.js", - "lib/internal/test_runner/snapshot.js", - "lib/internal/test_runner/test.js", - "lib/internal/test_runner/tests_stream.js", - "lib/internal/test_runner/utils.js", - "lib/internal/timers.js", - "lib/internal/tls/secure-context.js", - "lib/internal/tls/secure-pair.js", - "lib/internal/trace_events_async_hooks.js", - "lib/internal/tty.js", - "lib/internal/url.js", - "lib/internal/util.js", - "lib/internal/util/colors.js", - "lib/internal/util/comparisons.js", - "lib/internal/util/debuglog.js", - "lib/internal/util/diff.js", - "lib/internal/util/inspect.js", - "lib/internal/util/inspector.js", - "lib/internal/util/parse_args/parse_args.js", - "lib/internal/util/parse_args/utils.js", - "lib/internal/util/types.js", - "lib/internal/v8/startup_snapshot.js", - "lib/internal/v8_prof_polyfill.js", - "lib/internal/v8_prof_processor.js", - "lib/internal/validators.js", - "lib/internal/vm.js", - "lib/internal/vm/module.js", - "lib/internal/wasm_web_api.js", - "lib/internal/watch_mode/files_watcher.js", - "lib/internal/watchdog.js", - "lib/internal/webidl.js", - "lib/internal/webstorage.js", - "lib/internal/webstreams/adapters.js", - "lib/internal/webstreams/compression.js", - "lib/internal/webstreams/encoding.js", - "lib/internal/webstreams/queuingstrategies.js", - "lib/internal/webstreams/readablestream.js", - "lib/internal/webstreams/transfer.js", - "lib/internal/webstreams/transformstream.js", - "lib/internal/webstreams/util.js", - "lib/internal/webstreams/writablestream.js", - "lib/internal/worker.js", - "lib/internal/worker/io.js", - "lib/internal/worker/js_transferable.js", - "lib/internal/worker/messaging.js", - "lib/module.js", - "lib/net.js", - "lib/os.js", - "lib/path.js", - "lib/path/posix.js", - "lib/path/win32.js", - "lib/perf_hooks.js", - "lib/process.js", - "lib/punycode.js", - "lib/querystring.js", - "lib/quic.js", - "lib/readline.js", - "lib/readline/promises.js", - "lib/repl.js", - "lib/sea.js", - "lib/sqlite.js", - "lib/stream.js", - "lib/stream/consumers.js", - "lib/stream/promises.js", - "lib/stream/web.js", - "lib/string_decoder.js", - "lib/sys.js", - "lib/test.js", - "lib/test/reporters.js", - "lib/timers.js", - "lib/timers/promises.js", - "lib/tls.js", - "lib/trace_events.js", - "lib/tty.js", - "lib/url.js", - "lib/util.js", - "lib/util/types.js", - "lib/v8.js", - "lib/vm.js", - "lib/wasi.js", - "lib/worker_threads.js", - "lib/zlib.js" - ], - "node_module_version": 131, - "node_no_browser_globals": "false", - "node_prefix": "/", - "node_quic": "false", - "node_release_urlbase": "https://nodejs.org/download/release/", - "node_shared": "false", - "node_shared_ada": "false", - "node_shared_brotli": "false", - "node_shared_cares": "false", - "node_shared_http_parser": "false", - "node_shared_libuv": "false", - "node_shared_nghttp2": "false", - "node_shared_nghttp3": "false", - "node_shared_ngtcp2": "false", - "node_shared_openssl": "false", - "node_shared_simdjson": "false", - "node_shared_simdutf": "false", - "node_shared_sqlite": "false", - "node_shared_uvwasi": "false", - "node_shared_zlib": "false", - "node_shared_zstd": "false", - "node_tag": "", - "node_target_type": "executable", - "node_use_amaro": "true", - "node_use_bundled_v8": "true", - "node_use_node_code_cache": "true", - "node_use_node_snapshot": "true", - "node_use_openssl": "true", - "node_use_v8_platform": "true", - "node_with_ltcg": "false", - "node_without_node_options": "false", - "node_write_snapshot_as_array_literals": "false", - "openssl_is_fips": "false", - "openssl_quic": "false", - "ossfuzz": "false", - "shlib_suffix": "131.dylib", - "single_executable_application": "true", - "suppress_all_error_on_warn": "false", - "target_arch": "arm64", - "ubsan": 0, - "use_ccache_win": 0, - "use_prefix_to_find_headers": "false", - "v8_enable_31bit_smis_on_64bit_arch": 0, - "v8_enable_extensible_ro_snapshot": 0, - "v8_enable_gdbjit": 0, - "v8_enable_hugepage": 0, - "v8_enable_i18n_support": 1, - "v8_enable_inspector": 1, - "v8_enable_javascript_promise_hooks": 1, - "v8_enable_lite_mode": 0, - "v8_enable_maglev": 1, - "v8_enable_object_print": 1, - "v8_enable_pointer_compression": 0, - "v8_enable_sandbox": 0, - "v8_enable_shared_ro_heap": 1, - "v8_enable_webassembly": 1, - "v8_optimized_debug": 1, - "v8_promise_internal_field_count": 1, - "v8_random_seed": 0, - "v8_trace_maps": 0, - "v8_use_siphash": 1, - "want_separate_host_toolset": 0, - "xcode_version": "16.0", - "nodedir": "/Users/Larissa/Library/Caches/node-gyp/23.11.0", - "python": "/Applications/Xcode.app/Contents/Developer/usr/bin/python3", - "standalone_static_library": 1, - "fallback_to_build": "true", - "build_from_source": "true", - "module": "/Users/Larissa/Documents/GitHub/SageTeamY/lib/binding/your_module.node", - "module_name": "your_module", - "module_path": "/Users/Larissa/Documents/GitHub/SageTeamY/lib/binding", - "napi_version": "10", - "node_abi_napi": "napi", - "node_napi_label": "node-v131", - "global_prefix": "/usr/local", - "local_prefix": "/Users/Larissa/Documents/GitHub/SageTeamY", - "globalconfig": "/usr/local/etc/npmrc", - "engine_strict": "true", - "userconfig": "/Users/Larissa/.npmrc", - "init_module": "/Users/Larissa/.npm-init.js", - "npm_version": "11.1.0", - "node_gyp": "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js", - "cache": "/Users/Larissa/.npm", - "user_agent": "npm/11.1.0 node/v22.14.0 darwin arm64 workspaces/false", - "prefix": "/usr/local" - } -} From 67d33fb1f54c076fadef2aaa1a13f59f7b19b5b0 Mon Sep 17 00:00:00 2001 From: Matthew Meredith Date: Thu, 30 Oct 2025 11:11:15 -0400 Subject: [PATCH 4/4] update config.example.ts --- config.example.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/config.example.ts b/config.example.ts index 0efb6091..ed453cfa 100644 --- a/config.example.ts +++ b/config.example.ts @@ -1,7 +1,7 @@ interface Config { - APP_ID: string; - APP_KEY: string; - MAP_KEY: string; + ADZUNA_APP_ID: string; + ADZUNA_APP_KEY: string; + GOOGLE_MAPS_KEY: string; DB_CONNECTION: string; BOT_NAME: string; BOT_TOKEN: string; @@ -58,9 +58,9 @@ function getEnvVar(name: keyof Config): string { } export const config: Config = { - APP_ID: getEnvVar('APP_ID'), - APP_KEY: getEnvVar('APP_KEY'), - MAP_KEY: getEnvVar('MAP_KEY'), + ADZUNA_APP_ID: getEnvVar('ADZUNA_APP_ID'), + ADZUNA_APP_KEY: getEnvVar('ADZUNA_APP_KEY'), + GOOGLE_MAPS_KEY: getEnvVar('GOOGLE_MAPS_KEY'), DB_CONNECTION: getEnvVar('DB_CONNECTION'), BOT_NAME: getEnvVar('BOT_NAME'), BOT_TOKEN: getEnvVar('BOT_TOKEN'), @@ -220,9 +220,8 @@ export const PREFIX = config.PREFIX; export const BLACKLIST = [config.BLACKLIST]; export const GITHUB_TOKEN = config.ENV_GITHUB_TOKEN; -export const { APP_ID } = config; -export const { APP_KEY } = config; -export const { MAP_KEY } = config; +export const { ADZUNA_APP_ID, ADZUNA_APP_KEY } = config; +export const { GOOGLE_MAPS_KEY } = config; // eslint-disable-next-line prefer-destructuring export const MONGO = config.MONGO;