Geräte-Agent für lokale Scan-Aufträge anlegen
This commit is contained in:
15
agents/fedeo-device-agent/src/print/cups.ts
Normal file
15
agents/fedeo-device-agent/src/print/cups.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { commandExists, runCommand } from "../commands.js"
|
||||
|
||||
export const hasCups = () => commandExists("lpstat")
|
||||
|
||||
export const listPrinters = async () => {
|
||||
if (!await hasCups()) return []
|
||||
|
||||
const result = await runCommand("lpstat", ["-p"], { timeoutMs: 10_000 })
|
||||
if (result.code !== 0) return []
|
||||
|
||||
return result.stdout
|
||||
.split(/\r?\n/)
|
||||
.map((line) => line.match(/^printer\s+(\S+)/)?.[1])
|
||||
.filter((printer): printer is string => Boolean(printer))
|
||||
}
|
||||
Reference in New Issue
Block a user