diff --git a/src/Interfaces/QueryBuilderInterface.php b/src/Interfaces/QueryBuilderInterface.php index 8df0bf9..b01c350 100644 --- a/src/Interfaces/QueryBuilderInterface.php +++ b/src/Interfaces/QueryBuilderInterface.php @@ -2,6 +2,7 @@ namespace Darksparrow\DeegraphInteractions\Interfaces; +use Darksparrow\DeegraphInteractions\QueryInstance\DeleteQuery; use Darksparrow\DeegraphInteractions\QueryInstance\GrantQuery; use Darksparrow\DeegraphInteractions\QueryInstance\InsertQuery; use Darksparrow\DeegraphInteractions\QueryInstance\PutQuery; @@ -10,5 +11,5 @@ use Darksparrow\DeegraphInteractions\QueryInstance\SelectQuery; interface QueryBuilderInterface { // public function __construct(); - public function Build(): GrantQuery|InsertQuery|PutQuery|SelectQuery; + public function Build(): DeleteQuery|GrantQuery|InsertQuery|PutQuery|SelectQuery; } diff --git a/src/QueryBuilder/QueryBuilders/DeleteQueryBuilder.php b/src/QueryBuilder/QueryBuilders/DeleteQueryBuilder.php new file mode 100644 index 0000000..7c1fe9f --- /dev/null +++ b/src/QueryBuilder/QueryBuilders/DeleteQueryBuilder.php @@ -0,0 +1,37 @@ +RelativePath != "") $builder .= $this->RelativePath; + + return new DeleteQuery(queryString: $builder); + } + + public function RelativePath(string $relativePath): DeleteQueryBuilder + { + $this->RelativePath = $relativePath; + return $this; + } +} diff --git a/src/QueryInstance/DeleteQuery.php b/src/QueryInstance/DeleteQuery.php new file mode 100644 index 0000000..dea6863 --- /dev/null +++ b/src/QueryInstance/DeleteQuery.php @@ -0,0 +1,22 @@ +RunRawRequest( + endpoint: "/api/v1/@query", + method: "POST", + body: $this->QueryString, + ); + return new DeleteQueryResponse(response: $response); + } +} diff --git a/src/QueryResponse/DeleteQueryResponse.php b/src/QueryResponse/DeleteQueryResponse.php new file mode 100644 index 0000000..6f689f4 --- /dev/null +++ b/src/QueryResponse/DeleteQueryResponse.php @@ -0,0 +1,13 @@ +