Futilities/v0.6/clade/Apps/dba/InReq/DoExport/@code/2025/10/07

From WoozleCodes
Jump to navigation Jump to search
2025/10/06 2025/10/07 2025/10/08
interface iDoExport extends BaseIface {}
class cDoExport extends BaseClass implements iDoExport {
    use DFmtTrait;
    use RFmtTrait;

    // ++ CONFIG ++ //

    // CEMENT
    protected function EngScExportRequestClass() : string { return SchmExpClass::class; } // DEFAULT

    // -- CONFIG -- //
    // ++ INPUT ++ //

    // CEMENT (I think)
    protected function ParseInputString(string $s) : void {
        // main input is name of dbconn to export
        $this->SaveAsEngConnName($s);
    }
    protected function ParseInputArgs(array $ar) {} // no additional args expected

    // -- INPUT -- //
    // ++ OUTPUT ++ //

    public function Describe() : string {
        $osConnSlug = $this->OAUserInput()->QDbConnSlug();
        if ($osConnSlug->HasIt()) {
            $sConnSlug = $osConnSlug->GetIt();
            $sRtn = "export all schemas from the '$sConnSlug' db connection";
            // set the engine slug
            $osConnSlug->SetIt($sConnSlug);
        } else {
            $sRtn = "export all schemas from a db connection (not yet specified)".$this->ListHosts();
        }
        return $sRtn;
    }

    // -- OUTPUT -- //
}