@stouder-io/adonis-abuseipdb
Version:
AbuseIPDB provider for AdonisJS
46 lines (42 loc) • 1.19 kB
JavaScript
import {
E_MISSING_API_KEY,
errors_exports
} from "./chunk-5FQ2GVVG.js";
import "./chunk-6C3VEZWH.js";
// stubs/main.ts
import { getDirname } from "@poppinss/utils";
var stubsRoot = getDirname(import.meta.url);
// configure.ts
async function configure(command) {
const codemods = await command.createCodemods();
await codemods.makeUsingStub(stubsRoot, "config.stub", {});
await codemods.updateRcFile((transformer) => {
transformer.addProvider("@stouder-io/adonis-abuseipdb/provider");
});
await codemods.defineEnvVariables({ ABUSEIPDB_API_KEY: "" });
await codemods.defineEnvValidations({
leadingComment: "Define the API key for the AbuseIPDB service",
variables: {
ABUSEIPDB_API_KEY: "Env.schema.string()"
}
});
}
// src/define_config.ts
import { configProvider } from "@adonisjs/core";
function defineConfig(config) {
return configProvider.create(async (_app) => {
if (!config.apiKey) {
throw new E_MISSING_API_KEY();
}
return {
apiKey: config.apiKey,
baseUrl: config.baseUrl ?? "https://api.abuseipdb.com/api/v2"
};
});
}
export {
configure,
defineConfig,
errors_exports as errors,
stubsRoot
};