Futilities/v0.6/clade/Sys/dba/InReq: Difference between revisions

From Woozle Writes Code
< Futilities‎ | v0.6‎ | clade‎ | Sys‎ | dba
Jump to navigation Jump to search
No edit summary
m (fixed template usage)
Line 27: Line 27:
{{!}} '''Kiosk'''* [e] {{!!}} {{l/ver/clade/full|p=futilities|Sys\dba|Kiosk}}
{{!}} '''Kiosk'''* [e] {{!!}} {{l/ver/clade/full|p=futilities|Sys\dba|Kiosk}}
{{!}}-
{{!}}-
{{!}} '''InData'''* [t] {{!!}} {{l/ver/clade/full|Sys\dba|InRqData}}
{{!}} '''InData'''* [t] {{!!}} {{l/ver/clade/full|p=futilities|Sys\dba|InRqData}}
{{!}}-
{{!}}-
{{!}} '''QObj'''* [c,i] {{!!}} [WFe]{{l/ver/clade/full|p=ferreteria|Data\Mem\QVar|Obj}}
{{!}} '''QObj'''* [c,i] {{!!}} [WFe]{{l/ver/clade/full|p=ferreteria|Data\Mem\QVar|Obj}}

Revision as of 01:42, 24 October 2025

clade: Sys\dba\InReq
Clade Family

[WFe]RqActor [t]
(base)InReq

InReq

DoExport
DoImport
DoList
DoSetup
DoTest
SetFile
SetFolder
Value

Clade Aliases
Alias Clade
Array* [i] [WFe]Sys\Data\Things\Array
Base* [c,i] \InReq
DbStuff* [i,t] Sys\dba\InReq\infmts\DbStuff
FilePaths* [c] [WFe]Sys\Data\tplts\FileName\Config
Kiosk* [e] Sys\dba\Kiosk
InData* [t] Sys\dba\InRqData
QObj* [c,i] [WFe]Data\Mem\QVar\Obj
QStr* [i] [WFe]Data\Mem\QVar\Str
Self* [i] Sys\dba\InReq
Subpages

Purpose

Each object encapsulates a given input (request) term. Podling-clades will implement actions and provide functions to access needed values from the input, which is encapsulated by a cInRqData object which can be retrieved from function OAUserInput().

To make use of additional user arguments (after the first), InputRq podlings (aka InReq podlings) can implement function ParseInputArgs(array $ar).

Doing Stuff

  • To access input arguments, get an appropriate cInRqData object:
    • $this->OAUserInput() returns the raw input value strings (split but not parsed), one element for each term in the user input

Code

as of 2025-10-07

interface iInReq extends BaseIface, DbStuffIface {
    // OUTPUT
    function ListHosts() : string;
}
trait tInReq {
    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()->SetIt(KioskEnum::VAL_CONN->value,$s);
    }

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

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

    // -- INPUT -- //
}