Futilities/v0.6/clade/Apps/dba/InReq/@code

From WoozleCodes
Jump to navigation Jump to search
Code Snapshots & Removals
interface iInReq extends BaseIface, DbStuffIface {
    // OUTPUT
    function ListHosts() : string;
}
trait tInReq {
    use DbStuffTrait; // 2025-10-11 needed for QOFData()
    use InDataTrait;  // 2025-09-25 might create a conflict

    // ++ OBJECTS: requests ++ //

    protected function QOSchemaMeta() : QObjIface {
        // check to see if we *can* get a Schema object
        $of = FilePaths::Me()->ImportFoNode();
        $oStat = $of->IndexIt();
        echo $oStat->RenderMessages();  // any messages, error or otherwise
        if ($oStat->GetOkay()) {
            $sScSlug = $this->QSSchema()->GetIt();
            $osSchNode = $of->FindSchema($sScSlug); // TODO: possibly this should go in aux\has\tSchema
        } else {
            $osSchNode = QObjClass::AsNew();
        }
        return $osSchNode;
    }

    // -- OBJECTS -- //
    // ++ INPUTS: processing ++ //

    // CEMENT
    protected function ParseInputArgs(array $ar) {
        $nXArgs = count($ar);
        if ($nXArgs > 0) {
            $this->AmHere('TODO 2025-10-04: interpret optional additional arguments');
        }
    }

    protected function SaveAsEngConnName(string $s) {
        $this->OAUserInput()->QDbConnSlug()->SetIt($s); // 2025-10-08 Does this work? (Fix it, if not.)
    }

    // ++ INPUTS: parsed/stored ++ //

    protected function QDbConnSlug() : QStrIface {
        return $this->OAUserInput()->QDbConnSlug();
    }
    protected function QSchemaSlug() : QStrIface {
        return $this->OAUserInput()->QSchemaSlug();
    }

    // -- INPUT -- //
}