services
This commit is contained in:
52
scripts/getSteuer.js
Normal file
52
scripts/getSteuer.js
Normal file
@@ -0,0 +1,52 @@
|
||||
import React from 'react';
|
||||
import { render, Box, Text, useApp, useInput } from 'ink';
|
||||
import chalk from 'chalk';
|
||||
import { getSteuer } from '../src/services/misc/getSteuer.js';
|
||||
import { closePool } from '../src/db/mssqlClient.js';
|
||||
|
||||
import '../src/config/env.js';
|
||||
|
||||
const e = React.createElement;
|
||||
|
||||
function SteuerTable({ steuerklassen }) {
|
||||
return e(Box, { flexDirection: 'column' },
|
||||
e(Text, null, chalk.cyan.bold('=== Steuerklassen ===')),
|
||||
e(Box, { marginTop: 1, flexDirection: 'column' },
|
||||
e(Text, { dimColor: true }, ' ID Rate Name'),
|
||||
...steuerklassen.map((row) =>
|
||||
e(Text, { key: row.kSteuerklasse },
|
||||
' ',
|
||||
chalk.white(String(row.kSteuerklasse).padEnd(4)),
|
||||
chalk.yellow(`${String(row.fSteuersatz).padStart(3)}%`.padEnd(8)),
|
||||
row.cName ?? '—',
|
||||
row.nStandard === 1 ? chalk.gray(' (standard)') : ''
|
||||
)
|
||||
)
|
||||
),
|
||||
e(Box, { marginTop: 1 }, e(Text, null, chalk.gray('Press any key to exit')))
|
||||
);
|
||||
}
|
||||
|
||||
const App = ({ steuerklassen }) => {
|
||||
const { exit } = useApp();
|
||||
|
||||
useInput(() => {
|
||||
closePool()
|
||||
.catch(() => {})
|
||||
.finally(() => {
|
||||
exit();
|
||||
process.exit(0);
|
||||
});
|
||||
});
|
||||
|
||||
return e(SteuerTable, { steuerklassen });
|
||||
};
|
||||
|
||||
try {
|
||||
const { steuerklassen } = await getSteuer();
|
||||
render(e(App, { steuerklassen }));
|
||||
} catch (error) {
|
||||
console.error(chalk.red(`Error: ${error.message}`));
|
||||
await closePool().catch(() => {});
|
||||
process.exit(1);
|
||||
}
|
||||
Reference in New Issue
Block a user