pkgs: change invoice fetcher script to bash
This commit is contained in:
parent
01c0b30a98
commit
fc71a1c816
13
flake.nix
13
flake.nix
|
@ -60,6 +60,7 @@
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
inputs.nixos-flake.flakeModule
|
inputs.nixos-flake.flakeModule
|
||||||
|
inputs.flake-parts.flakeModules.easyOverlay
|
||||||
./public-keys.nix
|
./public-keys.nix
|
||||||
./theme.nix
|
./theme.nix
|
||||||
./lib
|
./lib
|
||||||
|
@ -72,18 +73,20 @@
|
||||||
perSystem = args @ {
|
perSystem = args @ {
|
||||||
system,
|
system,
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
|
||||||
config,
|
config,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
|
packages = import ./pkgs args;
|
||||||
|
overlayAttrs = config.packages;
|
||||||
|
|
||||||
_module.args = {
|
_module.args = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
pkgs = import inputs.nixpkgs {
|
pkgs = import inputs.nixpkgs {
|
||||||
inherit system;
|
inherit system;
|
||||||
overlays = with inputs; [
|
overlays = [
|
||||||
agenix.overlays.default
|
inputs.agenix.overlays.default
|
||||||
nixd.overlays.default
|
inputs.nixd.overlays.default
|
||||||
invoiceplane-template.overlays.default
|
inputs.invoiceplane-template.overlays.default
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -29,7 +29,6 @@ in {
|
||||||
pub-solar.terminal-life.full = true;
|
pub-solar.terminal-life.full = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
drone-docker-runner
|
|
||||||
stdenv.cc.cc.lib
|
stdenv.cc.cc.lib
|
||||||
hplip
|
hplip
|
||||||
uhk-agent
|
uhk-agent
|
||||||
|
|
|
@ -12,6 +12,8 @@
|
||||||
inputs.invoiceplane-template.overlays.default
|
inputs.invoiceplane-template.overlays.default
|
||||||
inputs.mezza-biz.overlays.default
|
inputs.mezza-biz.overlays.default
|
||||||
|
|
||||||
|
(final: prev: (import ../pkgs { pkgs = final; }))
|
||||||
|
|
||||||
(final: prev: let
|
(final: prev: let
|
||||||
unstable = import inputs.nixpkgs-unstable {system = prev.system;};
|
unstable = import inputs.nixpkgs-unstable {system = prev.system;};
|
||||||
master = import inputs.nixpkgs-master {system = prev.system;};
|
master = import inputs.nixpkgs-master {system = prev.system;};
|
||||||
|
@ -42,8 +44,6 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
(import ./element-desktop.nix)
|
(import ./element-desktop.nix)
|
||||||
(import ../pkgs)
|
|
||||||
# (import ./blesh.nix)
|
|
||||||
(import ./rnix-lsp.nix)
|
(import ./rnix-lsp.nix)
|
||||||
(import ./neovim-plugins.nix)
|
(import ./neovim-plugins.nix)
|
||||||
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
self:
|
|
||||||
with self; let
|
|
||||||
pname = "concourse";
|
|
||||||
version = "7.9.1";
|
|
||||||
tarfile = "${pname}-${version}-linux-amd64.tgz";
|
|
||||||
in
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
inherit pname version;
|
|
||||||
|
|
||||||
src = builtins.fetchTarball {
|
|
||||||
url = "https://github.com/concourse/concourse/releases/download/v${version}/${tarfile}";
|
|
||||||
sha256 = "sha256:0w3q4bj9wxw0w7jrk9r8va5ipz26k2szsfx34ss9hh2bbpp7mryw";
|
|
||||||
};
|
|
||||||
|
|
||||||
phases = ["installPhase"];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
cp -r $src/* $out/
|
|
||||||
'';
|
|
||||||
}
|
|
|
@ -1,32 +1,28 @@
|
||||||
final: prev:
|
{ pkgs, ... }: {
|
||||||
with prev; {
|
|
||||||
# keep sources this first
|
# keep sources this first
|
||||||
sources = callPackage (import ./_sources/generated.nix) {};
|
sources = pkgs.callPackage (import ./_sources/generated.nix) {};
|
||||||
# then, call packages with `final.callPackage`
|
# then, call packages with `pkgs.callPackage`
|
||||||
check-battery = writeShellScriptBin "check-battery" (import ./check-battery.nix final);
|
check-battery = pkgs.writeShellScriptBin "check-battery" (import ./check-battery.nix pkgs);
|
||||||
concourse = import ./concourse.nix final;
|
element-b12f = pkgs.writeShellScriptBin "element-b12f" (import ./element-desktop.nix {
|
||||||
element-b12f = writeShellScriptBin "element-b12f" (import ./element-desktop.nix {
|
inherit pkgs;
|
||||||
inherit final;
|
|
||||||
profile = "b12f";
|
profile = "b12f";
|
||||||
});
|
});
|
||||||
element-mezza = writeShellScriptBin "element-mezza" (import ./element-desktop.nix {
|
element-mezza = pkgs.writeShellScriptBin "element-mezza" (import ./element-desktop.nix {
|
||||||
inherit final;
|
inherit pkgs;
|
||||||
profile = "mezza";
|
profile = "mezza";
|
||||||
});
|
});
|
||||||
fetch-hostingde-invoices = import ./fetch-hostingde-invoices final;
|
fetch-hostingde-invoices = pkgs.writeShellScriptBin "fetch-hostingde-invoices" (import ./fetch-hostingde-invoices.nix pkgs);
|
||||||
import-gtk-settings = writeShellScriptBin "import-gtk-settings" (import ./import-gtk-settings.nix final);
|
import-gtk-settings = pkgs.writeShellScriptBin "import-gtk-settings" (import ./import-gtk-settings.nix pkgs);
|
||||||
lgcl = writeShellScriptBin "lgcl" (import ./lgcl.nix final);
|
lgcl = pkgs.writeShellScriptBin "lgcl" (import ./lgcl.nix pkgs);
|
||||||
mailto-mutt = writeShellScriptBin "mailto-mutt" (import ./mailto-mutt.nix final);
|
mailto-mutt = pkgs.writeShellScriptBin "mailto-mutt" (import ./mailto-mutt.nix pkgs);
|
||||||
mopidy-jellyfin = import ./mopidy-jellyfin.nix final;
|
mopidy-jellyfin = import ./mopidy-jellyfin.nix pkgs;
|
||||||
mu = writeShellScriptBin "mu" (import ./mu.nix final);
|
p = pkgs.writeShellScriptBin "p" (import ./p.nix pkgs);
|
||||||
p = writeShellScriptBin "p" (import ./p.nix final);
|
present-md = pkgs.writeShellScriptBin "present-md" (import ./present-md.nix pkgs);
|
||||||
present-md = writeShellScriptBin "present-md" (import ./present-md.nix final);
|
s = pkgs.writeShellScriptBin "s" (import ./s.nix pkgs);
|
||||||
s = writeShellScriptBin "s" (import ./s.nix final);
|
sway-launcher = pkgs.writeScriptBin "sway-launcher" (import ./sway-launcher.nix pkgs);
|
||||||
sway-launcher = writeScriptBin "sway-launcher" (import ./sway-launcher.nix final);
|
sway-service = pkgs.writeShellScriptBin "sway-service" (import ./sway-service.nix pkgs);
|
||||||
sway-service = writeShellScriptBin "sway-service" (import ./sway-service.nix final);
|
swaylock-bg = pkgs.writeShellScriptBin "swaylock-bg" (import ./swaylock-bg.nix pkgs);
|
||||||
swaylock-bg = writeShellScriptBin "swaylock-bg" (import ./swaylock-bg.nix final);
|
toggle-kbd-layout = pkgs.writeShellScriptBin "toggle-kbd-layout" (import ./toggle-kbd-layout.nix pkgs);
|
||||||
toggle-kbd-layout = writeShellScriptBin "toggle-kbd-layout" (import ./toggle-kbd-layout.nix final);
|
wcwd = pkgs.writeShellScriptBin "wcwd" (import ./wcwd.nix pkgs);
|
||||||
wcwd = writeShellScriptBin "wcwd" (import ./wcwd.nix final);
|
record-screen = pkgs.writeShellScriptBin "record-screen" (import ./record-screen.nix pkgs);
|
||||||
drone-docker-runner = writeShellScriptBin "drone-docker-runner" (import ./drone-docker-runner.nix final);
|
|
||||||
record-screen = writeShellScriptBin "record-screen" (import ./record-screen.nix final);
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,33 +0,0 @@
|
||||||
self:
|
|
||||||
with self; ''
|
|
||||||
case $1 in
|
|
||||||
start)
|
|
||||||
${self.docker}/bin/docker run --detach \
|
|
||||||
--volume=/var/run/docker.sock:/var/run/docker.sock \
|
|
||||||
--env=DRONE_RPC_PROTO=$DRONE_RPC_PROTO \
|
|
||||||
--env=DRONE_RPC_HOST=$DRONE_RPC_HOST \
|
|
||||||
--env=DRONE_RPC_SECRET=$(${self.libsecret}/bin/secret-tool lookup drone rpc-secret) \
|
|
||||||
--env=DRONE_RUNNER_CAPACITY=8 \
|
|
||||||
--env=DRONE_RUNNER_NAME=$(${self.inetutils}/bin/hostname) \
|
|
||||||
--publish=30010:30010 \
|
|
||||||
--restart=always \
|
|
||||||
--name=drone-runner \
|
|
||||||
drone/drone-runner-docker:1
|
|
||||||
;;
|
|
||||||
|
|
||||||
stop)
|
|
||||||
${self.docker}/bin/docker stop drone-runner
|
|
||||||
${self.docker}/bin/docker rm drone-runner
|
|
||||||
;;
|
|
||||||
|
|
||||||
logs)
|
|
||||||
${self.docker}/bin/docker logs drone-runner
|
|
||||||
;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo "Usage: drone-docker-runner <start|stop|logs>"
|
|
||||||
exit 1;
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
''
|
|
|
@ -1,7 +1,6 @@
|
||||||
{
|
{
|
||||||
final,
|
pkgs,
|
||||||
profile,
|
profile,
|
||||||
}:
|
}: ''
|
||||||
with final; ''
|
${pkgs.element-desktop}/bin/element-desktop --profile=${profile}
|
||||||
${element-desktop}/bin/element-desktop --profile=${profile}
|
|
||||||
''
|
''
|
||||||
|
|
38
pkgs/fetch-hostingde-invoices.nix
Normal file
38
pkgs/fetch-hostingde-invoices.nix
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
self:
|
||||||
|
with self; ''
|
||||||
|
set -e
|
||||||
|
|
||||||
|
PATH="$PATH:${jq}/bin:${curl}/bin"
|
||||||
|
|
||||||
|
SECRET_FILE=$1
|
||||||
|
OUT_DIR=$2
|
||||||
|
|
||||||
|
AUTH_TOKEN=$(cat $SECRET_FILE)
|
||||||
|
|
||||||
|
CURL_BODY=$(cat <<EOF
|
||||||
|
{
|
||||||
|
"limit": 10,
|
||||||
|
"sort": {
|
||||||
|
"field": "documentDate",
|
||||||
|
"order": "DESC"
|
||||||
|
},
|
||||||
|
"authToken": "$AUTH_TOKEN"
|
||||||
|
}
|
||||||
|
EOF)
|
||||||
|
CURL_URL="https://secure.hosting.de/api/billing/v1/json/documentsFind"
|
||||||
|
echo "fetching $CURL_URL";
|
||||||
|
documents=$(curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d "$CURL_BODY" "$CURL_URL" | jq '.response.data.[].documentId' -rc)
|
||||||
|
|
||||||
|
for doc in $documents; do
|
||||||
|
CURL_BODY=$(cat <<EOF
|
||||||
|
{
|
||||||
|
"id": "$doc",
|
||||||
|
"authToken": "$AUTH_TOKEN"
|
||||||
|
}
|
||||||
|
EOF)
|
||||||
|
CURL_URL="https://secure.hosting.de/api/billing/v1/json/accountingDocumentPdfGet"
|
||||||
|
echo "fetching $doc";
|
||||||
|
url=$(curl -X POST -H "Content-Type: application/json" -H "Accept: application/json" -d "$CURL_BODY" "$CURL_URL" | jq '.response' -rc)
|
||||||
|
curl $url >> "$OUT_DIR/$doc.pdf"
|
||||||
|
done
|
||||||
|
''
|
|
@ -1,16 +0,0 @@
|
||||||
self:
|
|
||||||
self.deno2nix.mkExecutable {
|
|
||||||
pname = "fetch-hostingde-invoices";
|
|
||||||
version = "0.1.0";
|
|
||||||
|
|
||||||
src = ./.;
|
|
||||||
bin = "fetch-hostingde-invoices";
|
|
||||||
|
|
||||||
entrypoint = "./main.ts";
|
|
||||||
lockfile = "./deno.lock";
|
|
||||||
config = "./deno.json";
|
|
||||||
|
|
||||||
allow = {
|
|
||||||
all = true;
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
{
|
|
||||||
"tasks": {
|
|
||||||
"dev": "deno run --watch main.ts"
|
|
||||||
},
|
|
||||||
"importMap": "./import_map.json"
|
|
||||||
}
|
|
|
@ -1,85 +0,0 @@
|
||||||
{
|
|
||||||
"version": "3",
|
|
||||||
"remote": {
|
|
||||||
"https://deno.land/std@0.218.2/assert/assert.ts": "bec068b2fccdd434c138a555b19a2c2393b71dfaada02b7d568a01541e67cdc5",
|
|
||||||
"https://deno.land/std@0.218.2/assert/assertion_error.ts": "9f689a101ee586c4ce92f52fa7ddd362e86434ffdf1f848e45987dc7689976b8",
|
|
||||||
"https://deno.land/std@0.218.2/cli/parse_args.ts": "df284f03f8ef4c581c17ca12db41cc17bcf0fa2ab6a8e09dbb72fa05916d4427",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/assert_path.ts": "dbdd757a465b690b2cc72fc5fb7698c51507dec6bfafce4ca500c46b76ff7bd8",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/basename.ts": "569744855bc8445f3a56087fd2aed56bdad39da971a8d92b138c9913aecc5fa2",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/common.ts": "6157c7ec1f4db2b4a9a187efd6ce76dcaf1e61cfd49f87e40d4ea102818df031",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/constants.ts": "dc5f8057159f4b48cd304eb3027e42f1148cf4df1fb4240774d3492b5d12ac0c",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/dirname.ts": "684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/format.ts": "92500e91ea5de21c97f5fe91e178bae62af524b72d5fcd246d6d60ae4bcada8b",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/from_file_url.ts": "d672bdeebc11bf80e99bf266f886c70963107bdd31134c4e249eef51133ceccf",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/glob_to_reg_exp.ts": "6cac16d5c2dc23af7d66348a7ce430e5de4e70b0eede074bdbcf4903f4374d8d",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/normalize.ts": "684df4aa71a04bbcc346c692c8485594fc8a90b9408dfbc26ff32cf3e0c98cc8",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/normalize_string.ts": "dfdf657a1b1a7db7999f7c575ee7e6b0551d9c20f19486c6c3f5ff428384c965",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/relative.ts": "faa2753d9b32320ed4ada0733261e3357c186e5705678d9dd08b97527deae607",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/strip_trailing_separators.ts": "7024a93447efcdcfeaa9339a98fa63ef9d53de363f1fbe9858970f1bba02655a",
|
|
||||||
"https://deno.land/std@0.218.2/path/_common/to_file_url.ts": "7f76adbc83ece1bba173e6e98a27c647712cab773d3f8cbe0398b74afc817883",
|
|
||||||
"https://deno.land/std@0.218.2/path/_interface.ts": "a1419fcf45c0ceb8acdccc94394e3e94f99e18cfd32d509aab514c8841799600",
|
|
||||||
"https://deno.land/std@0.218.2/path/_os.ts": "8fb9b90fb6b753bd8c77cfd8a33c2ff6c5f5bc185f50de8ca4ac6a05710b2c15",
|
|
||||||
"https://deno.land/std@0.218.2/path/basename.ts": "5d341aadb7ada266e2280561692c165771d071c98746fcb66da928870cd47668",
|
|
||||||
"https://deno.land/std@0.218.2/path/common.ts": "03e52e22882402c986fe97ca3b5bb4263c2aa811c515ce84584b23bac4cc2643",
|
|
||||||
"https://deno.land/std@0.218.2/path/constants.ts": "0c206169ca104938ede9da48ac952de288f23343304a1c3cb6ec7625e7325f36",
|
|
||||||
"https://deno.land/std@0.218.2/path/dirname.ts": "85bd955bf31d62c9aafdd7ff561c4b5fb587d11a9a5a45e2b01aedffa4238a7c",
|
|
||||||
"https://deno.land/std@0.218.2/path/extname.ts": "593303db8ae8c865cbd9ceec6e55d4b9ac5410c1e276bfd3131916591b954441",
|
|
||||||
"https://deno.land/std@0.218.2/path/format.ts": "42a2f3201343df77061207e6aaf78c95bafce7f711dcb7fe1e5840311c505778",
|
|
||||||
"https://deno.land/std@0.218.2/path/from_file_url.ts": "911833ae4fd10a1c84f6271f36151ab785955849117dc48c6e43b929504ee069",
|
|
||||||
"https://deno.land/std@0.218.2/path/glob_to_regexp.ts": "7f30f0a21439cadfdae1be1bf370880b415e676097fda584a63ce319053b5972",
|
|
||||||
"https://deno.land/std@0.218.2/path/is_absolute.ts": "4791afc8bfd0c87f0526eaa616b0d16e7b3ab6a65b62942e50eac68de4ef67d7",
|
|
||||||
"https://deno.land/std@0.218.2/path/is_glob.ts": "a65f6195d3058c3050ab905705891b412ff942a292bcbaa1a807a74439a14141",
|
|
||||||
"https://deno.land/std@0.218.2/path/join.ts": "ae2ec5ca44c7e84a235fd532e4a0116bfb1f2368b394db1c4fb75e3c0f26a33a",
|
|
||||||
"https://deno.land/std@0.218.2/path/join_globs.ts": "5b3bf248b93247194f94fa6947b612ab9d3abd571ca8386cf7789038545e54a0",
|
|
||||||
"https://deno.land/std@0.218.2/path/mod.ts": "2821a1bb3a4148a0ffe79c92aa41aa9319fef73c6d6f5178f52b2c720d3eb02d",
|
|
||||||
"https://deno.land/std@0.218.2/path/normalize.ts": "4155743ccceeed319b350c1e62e931600272fad8ad00c417b91df093867a8352",
|
|
||||||
"https://deno.land/std@0.218.2/path/normalize_glob.ts": "cc89a77a7d3b1d01053b9dcd59462b75482b11e9068ae6c754b5cf5d794b374f",
|
|
||||||
"https://deno.land/std@0.218.2/path/parse.ts": "65e8e285f1a63b714e19ef24b68f56e76934c3df0b6e65fd440d3991f4f8aefb",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/_util.ts": "1e3937da30f080bfc99fe45d7ed23c47dd8585c5e473b2d771380d3a6937cf9d",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/basename.ts": "39ee27a29f1f35935d3603ccf01d53f3d6e0c5d4d0f84421e65bd1afeff42843",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/common.ts": "26f60ccc8b2cac3e1613000c23ac5a7d392715d479e5be413473a37903a2b5d4",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/constants.ts": "93481efb98cdffa4c719c22a0182b994e5a6aed3047e1962f6c2c75b7592bef1",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/dirname.ts": "6535d2bdd566118963537b9dda8867ba9e2a361015540dc91f5afbb65c0cce8b",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/extname.ts": "8d36ae0082063c5e1191639699e6f77d3acf501600a3d87b74943f0ae5327427",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/format.ts": "185e9ee2091a42dd39e2a3b8e4925370ee8407572cee1ae52838aed96310c5c1",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/from_file_url.ts": "951aee3a2c46fd0ed488899d024c6352b59154c70552e90885ed0c2ab699bc40",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/glob_to_regexp.ts": "76f012fcdb22c04b633f536c0b9644d100861bea36e9da56a94b9c589a742e8f",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/is_absolute.ts": "cebe561ad0ae294f0ce0365a1879dcfca8abd872821519b4fcc8d8967f888ede",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/is_glob.ts": "8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/join.ts": "744fadcbee7047688696455c7cbb368a9625ffde67fc3058a61c98948fcd04de",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/join_globs.ts": "a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/mod.ts": "2301fc1c54a28b349e20656f68a85f75befa0ee9b6cd75bfac3da5aca9c3f604",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/normalize.ts": "baeb49816a8299f90a0237d214cef46f00ba3e95c0d2ceb74205a6a584b58a91",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/normalize_glob.ts": "9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/parse.ts": "0b1fc4cb890dbb699ec1d2c232d274843b4a7142e1ad976b69fe51c954eb6080",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/relative.ts": "3907d6eda41f0ff723d336125a1ad4349112cd4d48f693859980314d5b9da31c",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/resolve.ts": "08b699cfeee10cb6857ccab38fa4b2ec703b0ea33e8e69964f29d02a2d5257cf",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/to_file_url.ts": "7aa752ba66a35049e0e4a4be5a0a31ac6b645257d2e031142abb1854de250aaf",
|
|
||||||
"https://deno.land/std@0.218.2/path/posix/to_namespaced_path.ts": "28b216b3c76f892a4dca9734ff1cc0045d135532bfd9c435ae4858bfa5a2ebf0",
|
|
||||||
"https://deno.land/std@0.218.2/path/relative.ts": "ab739d727180ed8727e34ed71d976912461d98e2b76de3d3de834c1066667add",
|
|
||||||
"https://deno.land/std@0.218.2/path/resolve.ts": "a6f977bdb4272e79d8d0ed4333e3d71367cc3926acf15ac271f1d059c8494d8d",
|
|
||||||
"https://deno.land/std@0.218.2/path/to_file_url.ts": "88f049b769bce411e2d2db5bd9e6fd9a185a5fbd6b9f5ad8f52bef517c4ece1b",
|
|
||||||
"https://deno.land/std@0.218.2/path/to_namespaced_path.ts": "b706a4103b104cfadc09600a5f838c2ba94dbcdb642344557122dda444526e40",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/_util.ts": "d5f47363e5293fced22c984550d5e70e98e266cc3f31769e1710511803d04808",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/basename.ts": "e2dbf31d1d6385bfab1ce38c333aa290b6d7ae9e0ecb8234a654e583cf22f8fe",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/common.ts": "26f60ccc8b2cac3e1613000c23ac5a7d392715d479e5be413473a37903a2b5d4",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/constants.ts": "5afaac0a1f67b68b0a380a4ef391bf59feb55856aa8c60dfc01bd3b6abb813f5",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/dirname.ts": "33e421be5a5558a1346a48e74c330b8e560be7424ed7684ea03c12c21b627bc9",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/extname.ts": "165a61b00d781257fda1e9606a48c78b06815385e7d703232548dbfc95346bef",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/format.ts": "bbb5ecf379305b472b1082cd2fdc010e44a0020030414974d6029be9ad52aeb6",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/from_file_url.ts": "ced2d587b6dff18f963f269d745c4a599cf82b0c4007356bd957cb4cb52efc01",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/glob_to_regexp.ts": "e45f1f89bf3fc36f94ab7b3b9d0026729829fabc486c77f414caebef3b7304f8",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/is_absolute.ts": "4a8f6853f8598cf91a835f41abed42112cebab09478b072e4beb00ec81f8ca8a",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/is_glob.ts": "8a8b08c08bf731acf2c1232218f1f45a11131bc01de81e5f803450a5914434b9",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/join.ts": "8d03530ab89195185103b7da9dfc6327af13eabdcd44c7c63e42e27808f50ecf",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/join_globs.ts": "a9475b44645feddceb484ee0498e456f4add112e181cb94042cdc6d47d1cdd25",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/mod.ts": "2301fc1c54a28b349e20656f68a85f75befa0ee9b6cd75bfac3da5aca9c3f604",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/normalize.ts": "78126170ab917f0ca355a9af9e65ad6bfa5be14d574c5fb09bb1920f52577780",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/normalize_glob.ts": "9c87a829b6c0f445d03b3ecadc14492e2864c3ebb966f4cea41e98326e4435c6",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/parse.ts": "dbdfe2bc6db482d755b5f63f7207cd019240fcac02ad2efa582adf67ff10553a",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/relative.ts": "3e1abc7977ee6cc0db2730d1f9cb38be87b0ce4806759d271a70e4997fc638d7",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/resolve.ts": "8dae1dadfed9d46ff46cc337c9525c0c7d959fb400a6308f34595c45bdca1972",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/to_file_url.ts": "40e560ee4854fe5a3d4d12976cef2f4e8914125c81b11f1108e127934ced502e",
|
|
||||||
"https://deno.land/std@0.218.2/path/windows/to_namespaced_path.ts": "4ffa4fb6fae321448d5fe810b3ca741d84df4d7897e61ee29be961a6aac89a4c"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,5 +0,0 @@
|
||||||
{
|
|
||||||
"imports": {
|
|
||||||
"std/": "https://deno.land/std@0.218.2/"
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,59 +0,0 @@
|
||||||
import { normalize, join } from "std/path/mod.ts";
|
|
||||||
|
|
||||||
const secretFile = normalize(Deno.args[0]);
|
|
||||||
const outDir = normalize(Deno.args[1]);
|
|
||||||
|
|
||||||
const decoder = new TextDecoder("utf-8");
|
|
||||||
const authToken = decoder.decode(await Deno.readFile(secretFile)).trim();
|
|
||||||
|
|
||||||
const getFromAPI = (url: string, body: Record<string, any>) => fetch(
|
|
||||||
url,
|
|
||||||
{
|
|
||||||
method: 'POST',
|
|
||||||
headers: new Headers({
|
|
||||||
'Content-Type': 'application/json',
|
|
||||||
'Accept': 'application/json',
|
|
||||||
}),
|
|
||||||
body: JSON.stringify({ authToken, ...body }),
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
const response = await getFromAPI(
|
|
||||||
"https://secure.hosting.de/api/billing/v1/json/documentsFind",
|
|
||||||
{ limit: 50, sort: { field: 'documentDate', order: 'DESC' }},
|
|
||||||
);
|
|
||||||
|
|
||||||
const body = await response.json();
|
|
||||||
|
|
||||||
if (body.status !== "success") {
|
|
||||||
console.error(body.errors);
|
|
||||||
throw new Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
interface InvoiceDocument {
|
|
||||||
documentId: string;
|
|
||||||
}
|
|
||||||
|
|
||||||
const documents = body.response.data as InvoiceDocument[];
|
|
||||||
|
|
||||||
await Promise.all(documents.map(async (doc) => {
|
|
||||||
const pdfResponse = await getFromAPI(
|
|
||||||
"https://secure.hosting.de/api/billing/v1/json/accountingDocumentPdfGet",
|
|
||||||
{ id: doc.documentId },
|
|
||||||
);
|
|
||||||
|
|
||||||
const fileBody = await pdfResponse.json();
|
|
||||||
if (body.status !== "success") {
|
|
||||||
console.error(body.errors);
|
|
||||||
throw new Error();
|
|
||||||
}
|
|
||||||
|
|
||||||
const url = fileBody.response;
|
|
||||||
const fileResponse = await fetch(url);
|
|
||||||
console.log(fileResponse);
|
|
||||||
const fileContents = await fileResponse.blob();
|
|
||||||
const fileNameHeader = fileResponse.headers.get('content-disposition') || '';
|
|
||||||
const fileName = fileNameHeader.split('=')[1];
|
|
||||||
|
|
||||||
await Deno.writeFile(join(outDir, fileName), fileContents.stream());
|
|
||||||
}));
|
|
|
@ -1,4 +0,0 @@
|
||||||
self:
|
|
||||||
with self; ''
|
|
||||||
exec ${alacritty}/bin/alacritty --class mu_vimpc --option dimensions.columns=120 --option dimensions.lines=80 -e vimpc -- "$@"
|
|
||||||
''
|
|
|
@ -1,12 +0,0 @@
|
||||||
|
|
||||||
terraform {
|
|
||||||
backend "http" {
|
|
||||||
address = "http://localhost:6061/?type=git&repository=gitea@git.pub.solar:b12f/terraform-state.git&ref=main&state=b12f.json"
|
|
||||||
lock_address = "http://localhost:6061/?type=git&repository=gitea@git.pub.solar:b12f/terraform-state.git&ref=main&state=b12f.json"
|
|
||||||
unlock_address = "http://localhost:6061/?type=git&repository=gitea@git.pub.solar:b12f/terraform-state.git&ref=main&state=b12f.json"
|
|
||||||
skip_cert_verification = false
|
|
||||||
username = ""
|
|
||||||
password = ""
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
Loading…
Reference in a new issue