opusr-client/tasks/todo.md

1.2 KiB

OpusR-Client — Aufgaben

Phase 1: Basis (CLI + REST)

  • Projektstruktur, Cargo.toml, CLAUDE.md
  • Datenmodelle (TableInfo, ColumnInfo, QueryFilter)
  • DB2 REST Client (reqwest, Basic Auth, TLS)
  • Service-Layer (opusrTables, opusrColumns, opusrQuery)
  • CLI mit clap (tables, columns, query, test)
  • Auth-Modul (Login-Prompt, Password ohne Echo)
  • Kompilierung verifizieren (cargo build --release)
  • Unit-Tests mit wiremock
  • Integration-Test gegen echten Host

Phase 2: PassTicket Auth

  • Login-Service auf z/OS (RACF verify + IRRSGS00)
  • PTKTDATA-Profil in RACF definieren
  • PassTicketManager: obtain → cache → refresh cycle
  • Token-Refresh vor Ablauf (9 min Intervall)

Phase 3: TUI (ratatui)

  • Tabellenliste als navigierbare Liste
  • Spalten-Selektion (Checkboxen)
  • Daten-View mit horizontalem Scrollen
  • Filter-Eingabezeile
  • Line Commands (wie ISPF — Aktion pro Zeile)
  • Navigationslogik aus @D Macros (JSON-Config)

Phase 4: Produktreife

  • Client-Zertifikate als Alternative zu PassTickets
  • Config-Datei (~/.opusr/config.toml)
  • Audit-Logging (jeder REST-Call)
  • Cross-Compilation (Windows, Linux, macOS)
  • MSI/deb/rpm Installer
  • Kundenhandbuch